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

Analysis Run

019be3d8-3ae4-7210-9784-c559a0c79016

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
41338 artifact.fetch complete 1 / 3 2 months ago
41339 proxy.resolve complete 1 / 3 2 months ago
41340 tool.cast_disasm complete 1 / 3 2 months ago
41341 analysis.bundle complete 1 / 3 2 months ago
41342 capability.graph complete 1 / 3 2 months ago
41343 detector.run complete 1 / 3 2 months ago
41344 validation.fork complete 1 / 3 2 months ago
41465 report.consolidate complete 1 / 6 2 months ago
41466 tool.slither failed 2 / 2 2 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 500 Server Error: Internal Server Error for url: https://tripwire.topgun.bot/internal/jobs/41466/complete
Attempts
2 / 2
Findings
0
Solc
View stderr
Traceback (most recent call last):
  File "/var/www/tripwire/worker/worker.py", line 199, in main
    laravel_client.complete_job(job_id, payload if payload else None)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/worker/laravel_client.py", line 27, in complete_job
    return self._post(f"/internal/jobs/{job_id}/complete", payload=payload)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/var/www/tripwire/worker/laravel_client.py", line 17, in _post
    response.raise_for_status()
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/var/www/tripwire/.venv/lib/python3.13/site-packages/requests/models.py", line 1026, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 500 Server Error: Internal Server Error for url: https://tripwire.topgun.bot/internal/jobs/41466/complete

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
0
No findings?
yes
Summary
Reviewed first-party contracts in AUDIT_BUNDLE.txt for the requested classes; no exploitable issues found.
View stdout
{"no_findings":true,"summary":"Reviewed first-party contracts in AUDIT_BUNDLE.txt for the requested classes; no exploitable issues found.","findings":[]}
View stderr
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-ufkoyq_t
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be4cf-ca77-71a0-afd5-c899039da8f6
--------
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
**Planning audit content review**

I'm preparing to read the AUDIT_BUNDLE.txt file using a simple command to understand its contents for the audit.
exec
/bin/bash -lc 'cat /tmp/codex-ufkoyq_t/AUDIT_BUNDLE.txt' in /tmp/codex-ufkoyq_t succeeded in 7ms:
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: src/L1/L2OutputOracle.sol
================================================================================
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
import { ISemver } from "src/universal/ISemver.sol";
import { Types } from "src/libraries/Types.sol";
import { Constants } from "src/libraries/Constants.sol";

/// @custom:proxied
/// @title L2OutputOracle
/// @notice The L2OutputOracle contains an array of L2 state outputs, where each output is a
///         commitment to the state of the L2 chain. Other contracts like the OptimismPortal use
///         these outputs to verify information about the state of L2.
contract L2OutputOracle is Initializable, ISemver {

thinking
**Planning focused security scan**

I'm preparing to scan first-party code within the AUDIT_BUNDLE for vulnerabilities like reentrancy and unsafe delegatecalls, using targeted searches while ignoring dependencies. Next, I'll list relevant files and inspect key contracts in the OptimismPortal area.
exec
/bin/bash -lc 'rg --files /tmp/codex-ufkoyq_t' in /tmp/codex-ufkoyq_t succeeded in 14ms:
/tmp/codex-ufkoyq_t/codex-output-schema.json
/tmp/codex-ufkoyq_t/AUDIT_BUNDLE.txt
/tmp/codex-ufkoyq_t/src/universal/ISemver.sol
/tmp/codex-ufkoyq_t/src/L2/L1Block.sol
/tmp/codex-ufkoyq_t/src/libraries/GasPayingToken.sol
/tmp/codex-ufkoyq_t/src/vendor/AddressAliasHelper.sol
/tmp/codex-ufkoyq_t/src/libraries/Types.sol
/tmp/codex-ufkoyq_t/src/libraries/Predeploys.sol
/tmp/codex-ufkoyq_t/src/libraries/Encoding.sol
/tmp/codex-ufkoyq_t/src/libraries/PortalErrors.sol
/tmp/codex-ufkoyq_t/src/libraries/SafeCall.sol
/tmp/codex-ufkoyq_t/src/libraries/Storage.sol
/tmp/codex-ufkoyq_t/src/libraries/L1BlockErrors.sol
/tmp/codex-ufkoyq_t/src/libraries/Bytes.sol
/tmp/codex-ufkoyq_t/src/libraries/Burn.sol
/tmp/codex-ufkoyq_t/src/libraries/Constants.sol
/tmp/codex-ufkoyq_t/lib/solady/src/utils/LibString.sol
/tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol
/tmp/codex-ufkoyq_t/src/L1/ResourceMetering.sol
/tmp/codex-ufkoyq_t/src/L1/L2OutputOracle.sol

thinking
**Identifying key contract functions**

Planning to examine main contracts like OptimismPortal, focusing on critical functions such as finalizeWithdrawalTransaction by opening files partially and using search tools to target relevant code sections.
exec
/bin/bash -lc 'rg -n "contract OptimismPortal|function finalize|withdraw|prove|deposit|reenter|delegatecall|call" /tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol' in /tmp/codex-ufkoyq_t succeeded in 9ms:
27:contract OptimismPortal is Initializable, ResourceMetering, ISemver {
31:    /// @notice Represents a proven withdrawal.
32:    /// @custom:field outputRoot    Root of the L2 output this was proven against.
33:    /// @custom:field timestamp     Timestamp at whcih the withdrawal was proven.
34:    /// @custom:field l2OutputIndex Index of the output this was proven against.
41:    /// @notice Version of the deposit event.
44:    /// @notice The L2 gas limit set when eth is deposited using the receive() function.
47:    /// @notice The L2 gas limit for system deposit transactions that are initiated from L1.
50:    /// @notice Address of the L2 account which initiated a withdrawal in this transaction.
52:    ///         a call to finalizeWithdrawalTransaction.
55:    /// @notice A list of withdrawal hashes which have been successfully finalized.
58:    /// @notice A mapping of withdrawal hashes to `ProvenWithdrawal` data.
59:    mapping(bytes32 => ProvenWithdrawal) public provenWithdrawals;
81:    /// @custom:spacer provenWithdrawals
99:    ///         without triggering a deposit transaction. It also is used to prevent
104:    /// @notice Emitted when a transaction is deposited from L1 to L2.
105:    ///         The parameters of this event are read by the rollup node and used to derive deposit
107:    /// @param from       Address that triggered the deposit transaction.
108:    /// @param to         Address that the deposit transaction is directed to.
109:    /// @param version    Version of this deposit transaction event.

thinking
**Opening relevant transaction sections**
exec
/bin/bash -lc "sed -n '200,520p' /tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol" in /tmp/codex-ufkoyq_t succeeded in 25ms:

    /// @notice Accepts value so that users can send ETH directly to this contract and have the
    ///         funds be deposited to their address on L2. This is intended as a convenience
    ///         function for EOAs. Contracts should call the depositTransaction() function directly
    ///         otherwise any deposited funds will be lost due to address aliasing.
    receive() external payable {
        depositTransaction(msg.sender, msg.value, RECEIVE_DEFAULT_GAS_LIMIT, false, bytes(""));
    }

    /// @notice Accepts ETH value without triggering a deposit to L2.
    ///         This function mainly exists for the sake of the migration between the legacy
    ///         Optimism system and Bedrock.
    function donateETH() external payable {
        // Intentionally empty.
    }

    /// @notice Returns the gas paying token and its decimals.
    function gasPayingToken() internal view returns (address addr_, uint8 decimals_) {
        (addr_, decimals_) = systemConfig.gasPayingToken();
    }
exec
/bin/bash -lc "sed -n '520,900p' /tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol" in /tmp/codex-ufkoyq_t succeeded in 8ms:
    /// @param _data       Data to trigger the recipient with.
    function _depositTransaction(
        address _to,
        uint256 _mint,
        uint256 _value,
        uint64 _gasLimit,
        bool _isCreation,
        bytes memory _data
    )
        internal
    {
        // Just to be safe, make sure that people specify address(0) as the target when doing
        // contract creations.
        if (_isCreation && _to != address(0)) revert BadTarget();

        // Prevent depositing transactions that have too small of a gas limit. Users should pay
        // more for more resource usage.
        if (_gasLimit < minimumGasLimit(uint64(_data.length))) revert SmallGasLimit();

        // Prevent the creation of deposit transactions that have too much calldata. This gives an

thinking
**Inspecting SystemConfig contract**
exec
/bin/bash -lc "sed -n '1,240p' /tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol" in /tmp/codex-ufkoyq_t succeeded in 8ms:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import { ISemver } from "src/universal/ISemver.sol";
import { ResourceMetering } from "src/L1/ResourceMetering.sol";
import { Storage } from "src/libraries/Storage.sol";
import { Constants } from "src/libraries/Constants.sol";
import { OptimismPortal } from "src/L1/OptimismPortal.sol";
import { GasPayingToken, IGasToken } from "src/libraries/GasPayingToken.sol";
import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol";

/// @title SystemConfig
/// @notice The SystemConfig contract is used to manage configuration of an Optimism network.
///         All configuration is stored on L1 and picked up by L2 as part of the derviation of
///         the L2 chain.
contract SystemConfig is OwnableUpgradeable, ISemver, IGasToken {
    /// @notice Enum representing different types of updates.
    /// @custom:value BATCHER              Represents an update to the batcher hash.
    /// @custom:value GAS_CONFIG           Represents an update to txn fee config on L2.
exec
/bin/bash -lc "sed -n '240,520p' /tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol" in /tmp/codex-ufkoyq_t succeeded in 8ms:
        addr_ = Storage.getAddress(UNSAFE_BLOCK_SIGNER_SLOT);
    }

    /// @notice Getter for the L1CrossDomainMessenger address.
    function l1CrossDomainMessenger() external view returns (address addr_) {
        addr_ = Storage.getAddress(L1_CROSS_DOMAIN_MESSENGER_SLOT);
    }

    /// @notice Getter for the L1ERC721Bridge address.
    function l1ERC721Bridge() external view returns (address addr_) {
        addr_ = Storage.getAddress(L1_ERC_721_BRIDGE_SLOT);
    }

    /// @notice Getter for the L1StandardBridge address.
    function l1StandardBridge() external view returns (address addr_) {
        addr_ = Storage.getAddress(L1_STANDARD_BRIDGE_SLOT);
    }

    /// @notice Getter for the DisputeGameFactory address.
    function disputeGameFactory() external view returns (address addr_) {

thinking
**Checking for SuperchainConfig**
exec
/bin/bash -lc "sed -n '1,240p' /tmp/codex-ufkoyq_t/src/L1/SuperchainConfig.sol" in /tmp/codex-ufkoyq_t succeeded in 6ms:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
import { ISemver } from "src/universal/ISemver.sol";
import { Storage } from "src/libraries/Storage.sol";

/// @custom:audit none This contracts is not yet audited.
/// @title SuperchainConfig
/// @notice The SuperchainConfig contract is used to manage configuration of global superchain values.
contract SuperchainConfig is Initializable, ISemver {
    /// @notice Enum representing different types of updates.
    /// @custom:value GUARDIAN            Represents an update to the guardian.
    enum UpdateType {
        GUARDIAN
    }

    /// @notice Whether or not the Superchain is paused.
    bytes32 public constant PAUSED_SLOT = bytes32(uint256(keccak256("superchainConfig.paused")) - 1);


thinking
**Noting pause/unpause logic lacks idempotency checks**
exec
/bin/bash -lc "sed -n '1,260p' /tmp/codex-ufkoyq_t/src/L1/ResourceMetering.sol" in /tmp/codex-ufkoyq_t succeeded in 5ms:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
import { Math } from "@openzeppelin/contracts/utils/math/Math.sol";
import { Burn } from "src/libraries/Burn.sol";
import { Arithmetic } from "src/libraries/Arithmetic.sol";

/// @custom:upgradeable
/// @title ResourceMetering
/// @notice ResourceMetering implements an EIP-1559 style resource metering system where pricing
///         updates automatically based on current demand.
abstract contract ResourceMetering is Initializable {
    /// @notice Error returned when too much gas resource is consumed.
    error OutOfGas();

    /// @notice Represents the various parameters that control the way in which resources are
    ///         metered. Corresponds to the EIP-1559 resource metering system.
    /// @custom:field prevBaseFee   Base fee from the previous block(s).
    /// @custom:field prevBoughtGas Amount of gas bought so far in the current block.

thinking
**Scanning L1Block usage**
exec
/bin/bash -lc "sed -n '1,240p' /tmp/codex-ufkoyq_t/src/L2/L1Block.sol" in /tmp/codex-ufkoyq_t succeeded in 6ms:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

import { ISemver } from "src/universal/ISemver.sol";
import { Constants } from "src/libraries/Constants.sol";
import { GasPayingToken, IGasToken } from "src/libraries/GasPayingToken.sol";
import "src/libraries/L1BlockErrors.sol";

/// @custom:proxied
/// @custom:predeploy 0x4200000000000000000000000000000000000015
/// @title L1Block
/// @notice The L1Block predeploy gives users access to information about the last known L1 block.
///         Values within this contract are updated once per epoch (every L1 block) and can only be
///         set by the "depositor" account, a special system address. Depositor account transactions
///         are created by the protocol whenever we move to a new epoch.
contract L1Block is ISemver, IGasToken {
    /// @notice Event emitted when the gas paying token is set.
    event GasPayingTokenSet(address indexed token, uint8 indexed decimals, bytes32 name, bytes32 symbol);

    /// @notice Address of the special depositor account.

thinking
**Assessing key vulnerabilities**

I'm focusing on critical issues like reentrancy, access control, upgradeability, and delegatecall usage, especially since Optimism contracts and libraries like SafeCall might involve risky patterns; next I'll scan the source for delegatecall occurrences.
exec
/bin/bash -lc 'rg -n "delegatecall" /tmp/codex-ufkoyq_t/src' in /tmp/codex-ufkoyq_t exited 1 in 17ms:


thinking
**Inspecting external call patterns**

I'm focusing on the SafeCall library and related first-party contracts to verify if any external calls use risky patterns like delegatecall or incorrect call, aiming to assess potential issues or misuse.
exec
/bin/bash -lc "sed -n '1,240p' /tmp/codex-ufkoyq_t/src/libraries/SafeCall.sol" in /tmp/codex-ufkoyq_t succeeded in 6ms:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

/// @title SafeCall
/// @notice Perform low level safe calls
library SafeCall {
    /// @notice Performs a low level call without copying any returndata.
    /// @dev Passes no calldata to the call context.
    /// @param _target   Address to call
    /// @param _gas      Amount of gas to pass to the call
    /// @param _value    Amount of value to pass to the call
    function send(address _target, uint256 _gas, uint256 _value) internal returns (bool success_) {
        assembly {
            success_ :=
                call(
                    _gas, // gas
                    _target, // recipient
                    _value, // ether value
                    0, // inloc
                    0, // inlen

thinking
**Searching for signature and ecrecover usage**

I'm confirming uses of signature handling and ecrecover to assess hashing and type safety next.
exec
/bin/bash -lc 'rg -n "ecrecover|signature|sig|recover" /tmp/codex-ufkoyq_t/src' in /tmp/codex-ufkoyq_t succeeded in 9ms:
/tmp/codex-ufkoyq_t/src/libraries/Constants.sol:15:    ///         use address(1) because it's the ecrecover precompile and therefore guaranteed to
/tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol:297:        // Designate the withdrawalHash as proven by storing the `outputRoot`, `timestamp`, and
/tmp/codex-ufkoyq_t/src/libraries/trie/MerkleTrie.sol:150:                    // Our Merkle Trie is designed specifically for the purposes of the Ethereum
/tmp/codex-ufkoyq_t/src/L1/ResourceMetering.sol:31:    ///         maxResourceLimit / elasticityMultiplier. This struct was designed to fit within a
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:22:    /// @custom:value UNSAFE_BLOCK_SIGNER  Represents an update to the signer key for unsafe
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:47:    /// @notice Storage slot that the unsafe block signer is stored at.
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:55:    bytes32 public constant UNSAFE_BLOCK_SIGNER_SLOT = keccak256("systemconfig.unsafeblocksigner");
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:97:    ///         The most significant byte is used to determine the version since the
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:174:    /// @param _unsafeBlockSigner Initial unsafe block signer address.
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:235:    /// @notice High level getter for the unsafe block signer address.
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:236:    ///         Unsafe blocks can be propagated across the p2p network if they are signed by the
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:238:    /// @return addr_ Address of the unsafe block signer.
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:329:    /// @notice Updates the unsafe block signer address. Can only be called by the owner.
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:330:    /// @param _unsafeBlockSigner New unsafe block signer address.
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:335:    /// @notice Updates the unsafe block signer address.
/tmp/codex-ufkoyq_t/src/L1/SystemConfig.sol:336:    /// @param _unsafeBlockSigner New unsafe block signer address.


thinking
**Identifying potential reentrancy risk in ERC20 deposits**

The depositERC20Transaction function calls external safeTransferFrom without a reentrancy guard, which could allow malicious token contracts to reenter the contract and exploit it; finalizeWithdrawalTransaction uses l2Sender as a guard, but depositERC20Transaction lacks such protection.
thinking
**Analyzing reentrancy impact on internal balance during ERC20 deposits**

The internal _balance increments before the external safeTransferFrom call in depositERC20Transaction, so a reentrant call could manipulate _balance state mid-execution; this raises concerns about possible inconsistencies or exploits tied to _balance usage, warranting further investigation.
exec
/bin/bash -lc 'rg -n "_balance" /tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol' in /tmp/codex-ufkoyq_t succeeded in 6ms:
102:    uint256 internal _balance;
172:            return _balance;
392:                _balance -= _tx.value;
458:        _balance += _mint;
exec
/bin/bash -lc "sed -n '150,210p' /tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol" in /tmp/codex-ufkoyq_t succeeded in 7ms:
        L2OutputOracle _l2Oracle,
        SystemConfig _systemConfig,
        SuperchainConfig _superchainConfig
    )
        public
        initializer
    {
        l2Oracle = _l2Oracle;
        systemConfig = _systemConfig;
        superchainConfig = _superchainConfig;
        if (l2Sender == address(0)) {
            l2Sender = Constants.DEFAULT_L2_SENDER;
        }
        __ResourceMetering_init();
    }

    /// @notice Getter for the balance of the contract.
    function balance() public view returns (uint256) {
        (address token,) = gasPayingToken();
        if (token == Constants.ETHER) {


thinking
**Analyzing internal balance tracking and trust in ERC20 compliance**

The _balance variable internally tracks L2 minted tokens to prevent overflow and assist reporting, but reliance on ERC20.balanceOf for verifying transfers is risky since tokens might misreport or enable reentrancy. The contract comments highlight this trust issue, especially for custom gas tokens, indicating a need to consider how to safely handle potentially non-compliant tokens despite current checks.
thinking
**Reviewing upgradeable patterns and access controls**

The constructor calling initialize in the implementation is safe due to proxy behavior and OZ's Initializable handling. Access controls in key contracts like OptimismPortal and SystemConfig appear sound, with setters properly restricted or internal-only. Some potential edge cases exist—like public functions that revert on invalid inputs or guardian set to zero disabling pausing—but none pose clear vulnerabilities. Next focus is inspecting core libraries for subtle issues.
exec
/bin/bash -lc "sed -n '1,260p' /tmp/codex-ufkoyq_t/src/libraries/Hashing.sol" in /tmp/codex-ufkoyq_t succeeded in 6ms:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import { Types } from "src/libraries/Types.sol";
import { Encoding } from "src/libraries/Encoding.sol";

/// @title Hashing
/// @notice Hashing handles Optimism's various different hashing schemes.
library Hashing {
    /// @notice Computes the hash of the RLP encoded L2 transaction that would be generated when a
    ///         given deposit is sent to the L2 system. Useful for searching for a deposit in the L2
    ///         system.
    /// @param _tx User deposit transaction to hash.
    /// @return Hash of the RLP encoded L2 deposit transaction.
    function hashDepositTransaction(Types.UserDepositTransaction memory _tx) internal pure returns (bytes32) {
        return keccak256(Encoding.encodeDepositTransaction(_tx));
    }

    /// @notice Computes the deposit transaction's "source hash", a value that guarantees the hash
    ///         of the L2 transaction that corresponds to a deposit is unique and is

thinking
**Checking types for issues**
exec
/bin/bash -lc "sed -n '1,240p' /tmp/codex-ufkoyq_t/src/libraries/Types.sol" in /tmp/codex-ufkoyq_t succeeded in 5ms:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

/// @title Types
/// @notice Contains various types used throughout the Optimism contract system.
library Types {
    /// @notice OutputProposal represents a commitment to the L2 state. The timestamp is the L1
    ///         timestamp that the output root is posted. This timestamp is used to verify that the
    ///         finalization period has passed since the output root was submitted.
    /// @custom:field outputRoot    Hash of the L2 output.
    /// @custom:field timestamp     Timestamp of the L1 block that the output root was submitted in.
    /// @custom:field l2BlockNumber L2 block number that the output corresponds to.
    struct OutputProposal {
        bytes32 outputRoot;
        uint128 timestamp;
        uint128 l2BlockNumber;
    }

    /// @notice Struct representing the elements that are hashed together to generate an output root
    ///         which itself represents a snapshot of the L2 state.


thinking
**Analyzing upgradeable contract initialization**

The contracts use constructors calling initialize functions with default values, which can risk leaving the implementation initialized but still not disabling further initialization attempts. This could raise concerns about proper disabling of initializers on implementation contracts to prevent takeover, though current patterns suggest the implementation is already initialized, blocking re-initialization.
thinking
**Identifying subtle risks in initialization and state updates**

Noted missing onlyInitializing checks in some initializers and absent zero-address validation for key dependencies, which could enable misconfiguration but not direct exploits. Observed potential for bypass in blockhash validation if future block numbers are passed. Found careful overflow checks in ResourceMetering math and proper bounds in array length changes. Reentrancy concerns flagged around updating balances before external calls in withdrawal finalization, warranting deeper inspection of token interactions.
exec
/bin/bash -lc "sed -n '1,260p' /tmp/codex-ufkoyq_t/src/libraries/GasPayingToken.sol" in /tmp/codex-ufkoyq_t succeeded in 5ms:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import { Storage } from "src/libraries/Storage.sol";
import { Constants } from "src/libraries/Constants.sol";
import { LibString } from "@solady/utils/LibString.sol";

/// @title IGasToken
/// @notice Implemented by contracts that are aware of the custom gas token used
///         by the L2 network.
interface IGasToken {
    /// @notice Getter for the ERC20 token address that is used to pay for gas and its decimals.
    function gasPayingToken() external view returns (address, uint8);
    /// @notice Returns the gas token name.
    function gasPayingTokenName() external view returns (string memory);
    /// @notice Returns the gas token symbol.
    function gasPayingTokenSymbol() external view returns (string memory);
    /// @notice Returns true if the network uses a custom gas token.
    function isCustomGasToken() external view returns (bool);
}

thinking
**Flagging potential storage library issue**
exec
/bin/bash -lc "sed -n '1,240p' /tmp/codex-ufkoyq_t/src/libraries/Storage.sol" in /tmp/codex-ufkoyq_t succeeded in 6ms:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

/// @title Storage
/// @notice Storage handles reading and writing to arbitary storage locations
library Storage {
    /// @notice Returns an address stored in an arbitrary storage slot.
    ///         These storage slots decouple the storage layout from
    ///         solc's automation.
    /// @param _slot The storage slot to retrieve the address from.
    function getAddress(bytes32 _slot) internal view returns (address addr_) {
        assembly {
            addr_ := sload(_slot)
        }
    }

    /// @notice Stores an address in an arbitrary storage slot, `_slot`.
    /// @param _slot The storage slot to store the address in.
    /// @param _address The protocol version to store
    /// @dev WARNING! This function must be used cautiously, as it allows for overwriting addresses

thinking
**Investigating reentrancy and gas logic**

I'm focusing on OptimismPortal's deposit path and its interaction with SafeERC20, noting that reentrancy guards only apply on finalize, not deposit. Next, I'll inspect Burn.sol to understand the gas metering mechanism in use.
exec
/bin/bash -lc "sed -n '1,200p' /tmp/codex-ufkoyq_t/src/libraries/Burn.sol" in /tmp/codex-ufkoyq_t succeeded in 11ms:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

/// @title Burn
/// @notice Utilities for burning stuff.
library Burn {
    /// @notice Burns a given amount of ETH.
    /// @param _amount Amount of ETH to burn.
    function eth(uint256 _amount) internal {
        new Burner{ value: _amount }();
    }

    /// @notice Burns a given amount of gas.
    /// @param _amount Amount of gas to burn.
    function gas(uint256 _amount) internal view {
        uint256 i = 0;
        uint256 initialGas = gasleft();
        while (initialGas - gasleft() < _amount) {
            ++i;
        }


thinking
**Analyzing gas burn and reentrancy risks**

The burn gas logic includes safeguards against excessive gas amounts via max resource limits, preventing DoS from large _amount values. FinalizeWithdrawalTransaction uses a reentrancy guard, but depositTransaction and proveWithdrawalTransaction lack explicit reentrancy protection, possibly allowing nested calls during finalization.
thinking
**Validating aliasing and pause controls**

Address aliasing in deposit flows appears consistent, correctly handling contract versus user calls. Pause functionality is enforced via whenNotPaused modifiers on key functions like proofs and finalization; next, I'll confirm where whenNotPaused is defined to ensure proper access control.
exec
/bin/bash -lc 'rg -n "whenNotPaused" /tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol' in /tmp/codex-ufkoyq_t succeeded in 6ms:
125:    modifier whenNotPaused() {
241:        whenNotPaused
312:    function finalizeWithdrawalTransaction(Types.WithdrawalTransaction memory _tx) external whenNotPaused {
exec
/bin/bash -lc "sed -n '110,160p' /tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol" in /tmp/codex-ufkoyq_t succeeded in 6ms:
    /// @param opaqueData ABI encoded deposit data to be parsed off-chain.
    event TransactionDeposited(address indexed from, address indexed to, uint256 indexed version, bytes opaqueData);

    /// @notice Emitted when a withdrawal transaction is proven.
    /// @param withdrawalHash Hash of the withdrawal transaction.
    /// @param from           Address that triggered the withdrawal transaction.
    /// @param to             Address that the withdrawal transaction is directed to.
    event WithdrawalProven(bytes32 indexed withdrawalHash, address indexed from, address indexed to);

    /// @notice Emitted when a withdrawal transaction is finalized.
    /// @param withdrawalHash Hash of the withdrawal transaction.
    /// @param success        Whether the withdrawal transaction was successful.
    event WithdrawalFinalized(bytes32 indexed withdrawalHash, bool success);

    /// @notice Reverts when paused.
    modifier whenNotPaused() {
        if (paused()) revert CallPaused();
        _;
    }



thinking
**Analyzing upgradeability and pause logic**

I've identified a potential concern with pause checking using storage slots differently and noted that constructors call initialize in upgradeable contracts, which is an anti-pattern but likely not a vulnerability here. Initialization of implementation contracts might remain possible but doesn't impact proxies. There's also a subtlety in token deposit logic when using custom gas tokens, where minted amounts and transferred values may differ, highlighting potential edge cases in value handling.
thinking
**Identifying potential token minting and balance edge cases**

I've spotted a scenario where custom gas tokens may enable L2 value transfers without minting tokens, which could affect L2 behavior but may not be a vulnerability. Also, finalizeWithdrawalTransaction relies on internal balance tracking without explicit on-chain checks but will revert safely on underflows. The L2OutputOracle's deletion logic prevents removal if finalization period is zero, ensuring safety. Some boundary checks in output index querying are strict but safe. Next, I'll inspect encoding and arithmetic libraries for subtle issues.
exec
/bin/bash -lc "sed -n '1,240p' /tmp/codex-ufkoyq_t/src/libraries/Arithmetic.sol" in /tmp/codex-ufkoyq_t succeeded in 5ms:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import { SignedMath } from "@openzeppelin/contracts/utils/math/SignedMath.sol";
import { FixedPointMathLib } from "@rari-capital/solmate/src/utils/FixedPointMathLib.sol";

/// @title Arithmetic
/// @notice Even more math than before.
library Arithmetic {
    /// @notice Clamps a value between a minimum and maximum.
    /// @param _value The value to clamp.
    /// @param _min   The minimum value.
    /// @param _max   The maximum value.
    /// @return The clamped value.
    function clamp(int256 _value, int256 _min, int256 _max) internal pure returns (int256) {
        return SignedMath.min(SignedMath.max(_value, _min), _max);
    }

    /// @notice (c)oefficient (d)enominator (exp)onentiation function.
    ///         Returns the result of: c * (1 - 1/d)^exp.

thinking
**Checking arithmetic overflow**

Noticed the arithmetic uses powWad from solmate, which might raise overflow concerns, but it appears safe; next I'll verify encoding details.
exec
/bin/bash -lc "sed -n '1,240p' /tmp/codex-ufkoyq_t/src/libraries/Encoding.sol" in /tmp/codex-ufkoyq_t succeeded in 6ms:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import { Types } from "src/libraries/Types.sol";
import { Hashing } from "src/libraries/Hashing.sol";
import { RLPWriter } from "src/libraries/rlp/RLPWriter.sol";

/// @title Encoding
/// @notice Encoding handles Optimism's various different encoding schemes.
library Encoding {
    /// @notice RLP encodes the L2 transaction that would be generated when a given deposit is sent
    ///         to the L2 system. Useful for searching for a deposit in the L2 system. The
    ///         transaction is prefixed with 0x7e to identify its EIP-2718 type.
    /// @param _tx User deposit transaction to encode.
    /// @return RLP encoded L2 deposit transaction.
    function encodeDepositTransaction(Types.UserDepositTransaction memory _tx) internal pure returns (bytes memory) {
        bytes32 source = Hashing.hashDepositSource(_tx.l1BlockHash, _tx.logIndex);
        bytes[] memory raw = new bytes[](8);
        raw[0] = RLPWriter.writeBytes(abi.encodePacked(source));
        raw[1] = RLPWriter.writeAddress(_tx.from);


thinking
**Identifying potential reentrancy risk in depositERC20Transaction**

I found that depositERC20Transaction calls an external token transfer which could allow reentrancy before the resource metering modifier runs, potentially letting nested calls bypass metering checks.
thinking
**Eliminating reentrancy bypass and vulnerabilities**

Reentrancy during depositERC20Transaction doesn't bypass resource metering since nested calls each run the metered modifier and update usage correctly. Other examined paths show no critical vulnerabilities, with proper guards, assumptions about tokens, and sane initialization protecting key logic.
exec
/bin/bash -lc "sed -n '1,140p' /tmp/codex-ufkoyq_t/src/L1/OptimismPortal.sol" in /tmp/codex-ufkoyq_t succeeded in 7ms:
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
import { SafeCall } from "src/libraries/SafeCall.sol";
import { L2OutputOracle } from "src/L1/L2OutputOracle.sol";
import { SystemConfig } from "src/L1/SystemConfig.sol";
import { SuperchainConfig } from "src/L1/SuperchainConfig.sol";
import { Constants } from "src/libraries/Constants.sol";
import { Types } from "src/libraries/Types.sol";
import { Hashing } from "src/libraries/Hashing.sol";
import { SecureMerkleTrie } from "src/libraries/trie/SecureMerkleTrie.sol";
import { AddressAliasHelper } from "src/vendor/AddressAliasHelper.sol";
import { ResourceMetering } from "src/L1/ResourceMetering.sol";
import { ISemver } from "src/universal/ISemver.sol";
import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import { L1Block } from "src/L2/L1Block.sol";
import { Predeploys } from "src/libraries/Predeploys.sol";
import "src/libraries/PortalErrors.sol";


thinking
**Assessing potential vulnerabilities**

Reviewed key spots for common issues like improper SafeERC20 use, deposit function misuse with ETH vs. ERC20 tokens, and time comparisons in finalization logic; found no exploitable vulnerabilities or misuse, concluding no findings for now.
thinking
**Reviewing access control and input sanitation**

Verified pause/unpause guardian logic and token parameter acceptance, finding no risks given depositor controls. Noted no explicit check on L2 block number bounds but logic implies safety. Planning to search usage of potentially unchecked `SafeCall.send` for further inspection.
exec
/bin/bash -lc "rg -n \"SafeCall\\.send\" /tmp/codex-ufkoyq_t/src" in /tmp/codex-ufkoyq_t exited 1 in 11ms:



thinking
**Evaluating low-level calls and state checks**

I examined low-level `.call(` usage and found no clear issues; considered upgradeability and proxy pattern storage gaps but found none concerning. I confirmed certain underflow reverts in L2OutputOracle are expected per documentation and not vulnerabilities while noting a potential timing check vulnerability in `proposeL2Output`.
thinking
**Identifying no exploitable issues**

I thoroughly evaluated initialization, reentrancy, external calls, and token interactions finding no exploitable vulnerabilities, only expected behaviors and trust assumptions. I'll produce a final JSON marking no findings with a concise summary.
codex
{"no_findings":true,"summary":"Reviewed first-party contracts in AUDIT_BUNDLE.txt for the requested classes; no exploitable issues found.","findings":[]}
tokens used
61,178
Metadata
{
    "codex": {
        "ran_at": "2026-01-22T08:31:28.726548+00:00",
        "returncode": 0
    },
    "project": {
        "mode": "source",
        "file_count": 42,
        "import_count": 45,
        "first_party_contracts_count": 26
    },
    "summary": "Reviewed first-party contracts in AUDIT_BUNDLE.txt for the requested classes; no exploitable issues found.",
    "raw_final": {
        "summary": "Reviewed first-party contracts in AUDIT_BUNDLE.txt for the requested classes; no exploitable issues found.",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
16
EXT*/BALANCE
3
Total opcodes
9958
Flags
call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0163
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x8c3152e9
00000019: GT
0000001a: PUSH2 0x00c0
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xb69ef8a8
00000024: GT
00000025: PUSH2 0x0074
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xcff0ab96
0000002f: GT
00000030: PUSH2 0x0059
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xcff0ab96
0000003a: EQ
0000003b: PUSH2 0x0444
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xe965084c
00000045: EQ
00000046: PUSH2 0x04e5
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xe9e05c42
00000050: EQ
00000051: PUSH2 0x0571
00000054: JUMPI
00000055: PUSH1 0x00
00000057: DUP1
00000058: REVERT
00000059: JUMPDEST
0000005a: DUP1
0000005b: PUSH4 0xb69ef8a8
00000060: EQ
00000061: PUSH2 0x0401
00000064: JUMPI
00000065: DUP1
00000066: PUSH4 0xc0c53b8b
0000006b: EQ
0000006c: PUSH2 0x0424
0000006f: JUMPI
00000070: PUSH1 0x00
00000072: DUP1
00000073: REVERT
00000074: JUMPDEST
00000075: DUP1
00000076: PUSH4 0x9bf62d82
0000007b: GT
0000007c: PUSH2 0x00a5
0000007f: JUMPI
00000080: DUP1
00000081: PUSH4 0x9bf62d82
00000086: EQ
00000087: PUSH2 0x036b
0000008a: JUMPI
0000008b: DUP1
0000008c: PUSH4 0xa14238e7
00000091: EQ
00000092: PUSH2 0x0398
00000095: JUMPI
00000096: DUP1
00000097: PUSH4 0xa35d99df
0000009c: EQ
0000009d: PUSH2 0x03c8
000000a0: JUMPI
000000a1: PUSH1 0x00
000000a3: DUP1
000000a4: REVERT
000000a5: JUMPDEST
000000a6: DUP1
000000a7: PUSH4 0x8c3152e9
000000ac: EQ
000000ad: PUSH2 0x031e
000000b0: JUMPI
000000b1: DUP1
000000b2: PUSH4 0x9b5f694a
000000b7: EQ
000000b8: PUSH2 0x033e
000000bb: JUMPI
000000bc: PUSH1 0x00
000000be: DUP1
000000bf: REVERT
000000c0: JUMPDEST
000000c1: DUP1
000000c2: PUSH4 0x54fd4d50
000000c7: GT
000000c8: PUSH2 0x0117
000000cb: JUMPI
000000cc: DUP1
000000cd: PUSH4 0x6dbffb78
000000d2: GT
000000d3: PUSH2 0x00fc
000000d6: JUMPI
000000d7: DUP1
000000d8: PUSH4 0x6dbffb78
000000dd: EQ
000000de: PUSH2 0x02de
000000e1: JUMPI
000000e2: DUP1
000000e3: PUSH4 0x71cfaa3f
000000e8: EQ
000000e9: PUSH2 0x02fe
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0x8b4c40b0
000000f3: EQ
000000f4: PUSH2 0x0188
000000f7: JUMPI
000000f8: PUSH1 0x00
000000fa: DUP1
000000fb: REVERT
000000fc: JUMPDEST
000000fd: DUP1
000000fe: PUSH4 0x54fd4d50
00000103: EQ
00000104: PUSH2 0x026d
00000107: JUMPI
00000108: DUP1
00000109: PUSH4 0x5c975abb
0000010e: EQ
0000010f: PUSH2 0x02b9
00000112: JUMPI
00000113: PUSH1 0x00
00000115: DUP1
00000116: REVERT
00000117: JUMPDEST
00000118: DUP1
00000119: PUSH4 0x35e80ab3
0000011e: GT
0000011f: PUSH2 0x0148
00000122: JUMPI
00000123: DUP1
00000124: PUSH4 0x35e80ab3
00000129: EQ
0000012a: PUSH2 0x0206
0000012d: JUMPI
0000012e: DUP1
0000012f: PUSH4 0x452a9320
00000134: EQ
00000135: PUSH2 0x0238
00000138: JUMPI
00000139: DUP1
0000013a: PUSH4 0x4870496f
0000013f: EQ
00000140: PUSH2 0x024d
00000143: JUMPI
00000144: PUSH1 0x00
00000146: DUP1
00000147: REVERT
00000148: JUMPDEST
00000149: DUP1
0000014a: PUSH4 0x149f2f22
0000014f: EQ
00000150: PUSH2 0x018f
00000153: JUMPI
00000154: DUP1
00000155: PUSH4 0x33d7e2bd
0000015a: EQ
0000015b: PUSH2 0x01af
0000015e: JUMPI
0000015f: PUSH1 0x00
00000161: DUP1
00000162: REVERT
00000163: JUMPDEST
00000164: CALLDATASIZE
00000165: PUSH2 0x018a
00000168: JUMPI
00000169: PUSH2 0x0188
0000016c: CALLER
0000016d: CALLVALUE
0000016e: PUSH3 0x0186a0
00000172: PUSH1 0x00
00000174: PUSH1 0x40
00000176: MLOAD
00000177: DUP1
00000178: PUSH1 0x20
0000017a: ADD
0000017b: PUSH1 0x40
0000017d: MSTORE
0000017e: DUP1
0000017f: PUSH1 0x00
00000181: DUP2
00000182: MSTORE
00000183: POP
00000184: PUSH2 0x057f
00000187: JUMP
00000188: JUMPDEST
00000189: STOP
0000018a: JUMPDEST
0000018b: PUSH1 0x00
0000018d: DUP1
0000018e: REVERT
0000018f: JUMPDEST
00000190: CALLVALUE
00000191: DUP1
00000192: ISZERO
00000193: PUSH2 0x019b
00000196: JUMPI
00000197: PUSH1 0x00
00000199: DUP1
0000019a: REVERT
0000019b: JUMPDEST
0000019c: POP
0000019d: PUSH2 0x0188
000001a0: PUSH2 0x01aa
000001a3: CALLDATASIZE
000001a4: PUSH1 0x04
000001a6: PUSH2 0x4b97
000001a9: JUMP
000001aa: JUMPDEST
000001ab: PUSH2 0x0624
000001ae: JUMP
000001af: JUMPDEST
000001b0: CALLVALUE
000001b1: DUP1
000001b2: ISZERO
000001b3: PUSH2 0x01bb
000001b6: JUMPI
000001b7: PUSH1 0x00
000001b9: DUP1
000001ba: REVERT
000001bb: JUMPDEST
000001bc: POP
000001bd: PUSH1 0x37
000001bf: SLOAD
000001c0: PUSH2 0x01dc
000001c3: SWAP1
000001c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001d9: AND
000001da: DUP2
000001db: JUMP
000001dc: JUMPDEST
000001dd: PUSH1 0x40
000001df: MLOAD
000001e0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000001f5: SWAP1
000001f6: SWAP2
000001f7: AND
000001f8: DUP2
000001f9: MSTORE
000001fa: PUSH1 0x20
000001fc: ADD
000001fd: JUMPDEST
000001fe: PUSH1 0x40
00000200: MLOAD
00000201: DUP1
00000202: SWAP2
00000203: SUB
00000204: SWAP1
00000205: RETURN
00000206: JUMPDEST
00000207: CALLVALUE
00000208: DUP1
00000209: ISZERO
0000020a: PUSH2 0x0212
0000020d: JUMPI
0000020e: PUSH1 0x00
00000210: DUP1
00000211: REVERT
00000212: JUMPDEST
00000213: POP
00000214: PUSH1 0x35
00000216: SLOAD
00000217: PUSH2 0x01dc
0000021a: SWAP1
0000021b: PUSH2 0x0100
0000021e: SWAP1
0000021f: DIV
00000220: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000235: AND
00000236: DUP2
00000237: JUMP
00000238: JUMPDEST
00000239: CALLVALUE
0000023a: DUP1
0000023b: ISZERO
0000023c: PUSH2 0x0244
0000023f: JUMPI
00000240: PUSH1 0x00
00000242: DUP1
00000243: REVERT
00000244: JUMPDEST
00000245: POP
00000246: PUSH2 0x01dc
00000249: PUSH2 0x0865
0000024c: JUMP
0000024d: JUMPDEST
0000024e: CALLVALUE
0000024f: DUP1
00000250: ISZERO
00000251: PUSH2 0x0259
00000254: JUMPI
00000255: PUSH1 0x00
00000257: DUP1
00000258: REVERT
00000259: JUMPDEST
0000025a: POP
0000025b: PUSH2 0x0188
0000025e: PUSH2 0x0268
00000261: CALLDATASIZE
00000262: PUSH1 0x04
00000264: PUSH2 0x4ccb
00000267: JUMP
00000268: JUMPDEST
00000269: PUSH2 0x08fd
0000026c: JUMP
0000026d: JUMPDEST
0000026e: CALLVALUE
0000026f: DUP1
00000270: ISZERO
00000271: PUSH2 0x0279
00000274: JUMPI
00000275: PUSH1 0x00
00000277: DUP1
00000278: REVERT
00000279: JUMPDEST
0000027a: POP
0000027b: PUSH1 0x40
0000027d: DUP1
0000027e: MLOAD
0000027f: DUP1
00000280: DUP3
00000281: ADD
00000282: DUP3
00000283: MSTORE
00000284: PUSH1 0x0c
00000286: DUP2
00000287: MSTORE
00000288: PUSH32 0x322e382e312d626574612e310000000000000000000000000000000000000000
000002a9: PUSH1 0x20
000002ab: DUP3
000002ac: ADD
000002ad: MSTORE
000002ae: SWAP1
000002af: MLOAD
000002b0: PUSH2 0x01fd
000002b3: SWAP2
000002b4: SWAP1
000002b5: PUSH2 0x4e1d
000002b8: JUMP
000002b9: JUMPDEST
000002ba: CALLVALUE
000002bb: DUP1
000002bc: ISZERO
000002bd: PUSH2 0x02c5
000002c0: JUMPI
000002c1: PUSH1 0x00
000002c3: DUP1
000002c4: REVERT
000002c5: JUMPDEST
000002c6: POP
000002c7: PUSH2 0x02ce
000002ca: PUSH2 0x0eaa
000002cd: JUMP
000002ce: JUMPDEST
000002cf: PUSH1 0x40
000002d1: MLOAD
000002d2: SWAP1
000002d3: ISZERO
000002d4: ISZERO
000002d5: DUP2
000002d6: MSTORE
000002d7: PUSH1 0x20
000002d9: ADD
000002da: PUSH2 0x01fd
000002dd: JUMP
000002de: JUMPDEST
000002df: CALLVALUE
000002e0: DUP1
000002e1: ISZERO
000002e2: PUSH2 0x02ea
000002e5: JUMPI
000002e6: PUSH1 0x00
000002e8: DUP1
000002e9: REVERT
000002ea: JUMPDEST
000002eb: POP
000002ec: PUSH2 0x02ce
000002ef: PUSH2 0x02f9
000002f2: CALLDATASIZE
000002f3: PUSH1 0x04
000002f5: PUSH2 0x4e30
000002f8: JUMP
000002f9: JUMPDEST
000002fa: PUSH2 0x0f3d
000002fd: JUMP
000002fe: JUMPDEST
000002ff: CALLVALUE
00000300: DUP1
00000301: ISZERO
00000302: PUSH2 0x030a
00000305: JUMPI
00000306: PUSH1 0x00
00000308: DUP1
00000309: REVERT
0000030a: JUMPDEST
0000030b: POP
0000030c: PUSH2 0x0188
0000030f: PUSH2 0x0319
00000312: CALLDATASIZE
00000313: PUSH1 0x04
00000315: PUSH2 0x4e58
00000318: JUMP
00000319: JUMPDEST
0000031a: PUSH2 0x0ff8
0000031d: JUMP
0000031e: JUMPDEST
0000031f: CALLVALUE
00000320: DUP1
00000321: ISZERO
00000322: PUSH2 0x032a
00000325: JUMPI
00000326: PUSH1 0x00
00000328: DUP1
00000329: REVERT
0000032a: JUMPDEST
0000032b: POP
0000032c: PUSH2 0x0188
0000032f: PUSH2 0x0339
00000332: CALLDATASIZE
00000333: PUSH1 0x04
00000335: PUSH2 0x4e9e
00000338: JUMP
00000339: JUMPDEST
0000033a: PUSH2 0x11ba
0000033d: JUMP
0000033e: JUMPDEST
0000033f: CALLVALUE
00000340: DUP1
00000341: ISZERO
00000342: PUSH2 0x034a
00000345: JUMPI
00000346: PUSH1 0x00
00000348: DUP1
00000349: REVERT
0000034a: JUMPDEST
0000034b: POP
0000034c: PUSH1 0x36
0000034e: SLOAD
0000034f: PUSH2 0x01dc
00000352: SWAP1
00000353: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000368: AND
00000369: DUP2
0000036a: JUMP
0000036b: JUMPDEST
0000036c: CALLVALUE
0000036d: DUP1
0000036e: ISZERO
0000036f: PUSH2 0x0377
00000372: JUMPI
00000373: PUSH1 0x00
00000375: DUP1
00000376: REVERT
00000377: JUMPDEST
00000378: POP
00000379: PUSH1 0x32
0000037b: SLOAD
0000037c: PUSH2 0x01dc
0000037f: SWAP1
00000380: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000395: AND
00000396: DUP2
00000397: JUMP
00000398: JUMPDEST
00000399: CALLVALUE
0000039a: DUP1
0000039b: ISZERO
0000039c: PUSH2 0x03a4
0000039f: JUMPI
000003a0: PUSH1 0x00
000003a2: DUP1
000003a3: REVERT
000003a4: JUMPDEST
000003a5: POP
000003a6: PUSH2 0x02ce
000003a9: PUSH2 0x03b3
000003ac: CALLDATASIZE
000003ad: PUSH1 0x04
000003af: PUSH2 0x4e30
000003b2: JUMP
000003b3: JUMPDEST
000003b4: PUSH1 0x33
000003b6: PUSH1 0x20
000003b8: MSTORE
000003b9: PUSH1 0x00
000003bb: SWAP1
000003bc: DUP2
000003bd: MSTORE
000003be: PUSH1 0x40
000003c0: SWAP1
000003c1: KECCAK256
000003c2: SLOAD
000003c3: PUSH1 0xff
000003c5: AND
000003c6: DUP2
000003c7: JUMP
000003c8: JUMPDEST
000003c9: CALLVALUE
000003ca: DUP1
000003cb: ISZERO
000003cc: PUSH2 0x03d4
000003cf: JUMPI
000003d0: PUSH1 0x00
000003d2: DUP1
000003d3: REVERT
000003d4: JUMPDEST
000003d5: POP
000003d6: PUSH2 0x03e8
000003d9: PUSH2 0x03e3
000003dc: CALLDATASIZE
000003dd: PUSH1 0x04
000003df: PUSH2 0x4edb
000003e2: JUMP
000003e3: JUMPDEST
000003e4: PUSH2 0x1c3c
000003e7: JUMP
000003e8: JUMPDEST
000003e9: PUSH1 0x40
000003eb: MLOAD
000003ec: PUSH8 0xffffffffffffffff
000003f5: SWAP1
000003f6: SWAP2
000003f7: AND
000003f8: DUP2
000003f9: MSTORE
000003fa: PUSH1 0x20
000003fc: ADD
000003fd: PUSH2 0x01fd
00000400: JUMP
00000401: JUMPDEST
00000402: CALLVALUE
00000403: DUP1
00000404: ISZERO
00000405: PUSH2 0x040d
00000408: JUMPI
00000409: PUSH1 0x00
0000040b: DUP1
0000040c: REVERT
0000040d: JUMPDEST
0000040e: POP
0000040f: PUSH2 0x0416
00000412: PUSH2 0x1c55
00000415: JUMP
00000416: JUMPDEST
00000417: PUSH1 0x40
00000419: MLOAD
0000041a: SWAP1
0000041b: DUP2
0000041c: MSTORE
0000041d: PUSH1 0x20
0000041f: ADD
00000420: PUSH2 0x01fd
00000423: JUMP
00000424: JUMPDEST
00000425: CALLVALUE
00000426: DUP1
00000427: ISZERO
00000428: PUSH2 0x0430
0000042b: JUMPI
0000042c: PUSH1 0x00
0000042e: DUP1
0000042f: REVERT
00000430: JUMPDEST
00000431: POP
00000432: PUSH2 0x0188
00000435: PUSH2 0x043f
00000438: CALLDATASIZE
00000439: PUSH1 0x04
0000043b: PUSH2 0x4ef6
0000043e: JUMP
0000043f: JUMPDEST
00000440: PUSH2 0x1caf
00000443: JUMP
00000444: JUMPDEST
00000445: CALLVALUE
00000446: DUP1
00000447: ISZERO
00000448: PUSH2 0x0450
0000044b: JUMPI
0000044c: PUSH1 0x00
0000044e: DUP1
0000044f: REVERT
00000450: JUMPDEST
00000451: POP
00000452: PUSH1 0x01
00000454: SLOAD
00000455: PUSH2 0x04ac
00000458: SWAP1
00000459: PUSH16 0xffffffffffffffffffffffffffffffff
0000046a: DUP2
0000046b: AND
0000046c: SWAP1
0000046d: PUSH8 0xffffffffffffffff
00000476: PUSH17 0x0100000000000000000000000000000000
00000488: DUP3
00000489: DIV
0000048a: DUP2
0000048b: AND
0000048c: SWAP2
0000048d: PUSH25 0x01000000000000000000000000000000000000000000000000
000004a7: SWAP1
000004a8: DIV
000004a9: AND
000004aa: DUP4
000004ab: JUMP
000004ac: JUMPDEST
000004ad: PUSH1 0x40
000004af: DUP1
000004b0: MLOAD
000004b1: PUSH16 0xffffffffffffffffffffffffffffffff
000004c2: SWAP1
000004c3: SWAP5
000004c4: AND
000004c5: DUP5
000004c6: MSTORE
000004c7: PUSH8 0xffffffffffffffff
000004d0: SWAP3
000004d1: DUP4
000004d2: AND
000004d3: PUSH1 0x20
000004d5: DUP6
000004d6: ADD
000004d7: MSTORE
000004d8: SWAP2
000004d9: AND
000004da: SWAP1
000004db: DUP3
000004dc: ADD
000004dd: MSTORE
000004de: PUSH1 0x60
000004e0: ADD
000004e1: PUSH2 0x01fd
000004e4: JUMP
000004e5: JUMPDEST
000004e6: CALLVALUE
000004e7: DUP1
000004e8: ISZERO
000004e9: PUSH2 0x04f1
000004ec: JUMPI
000004ed: PUSH1 0x00
000004ef: DUP1
000004f0: REVERT
000004f1: JUMPDEST
000004f2: POP
000004f3: PUSH2 0x0543
000004f6: PUSH2 0x0500
000004f9: CALLDATASIZE
000004fa: PUSH1 0x04
000004fc: PUSH2 0x4e30
000004ff: JUMP
00000500: JUMPDEST
00000501: PUSH1 0x34
00000503: PUSH1 0x20
00000505: MSTORE
00000506: PUSH1 0x00
00000508: SWAP1
00000509: DUP2
0000050a: MSTORE
0000050b: PUSH1 0x40
0000050d: SWAP1
0000050e: KECCAK256
0000050f: DUP1
00000510: SLOAD
00000511: PUSH1 0x01
00000513: SWAP1
00000514: SWAP2
00000515: ADD
00000516: SLOAD
00000517: PUSH16 0xffffffffffffffffffffffffffffffff
00000528: DUP1
00000529: DUP3
0000052a: AND
0000052b: SWAP2
0000052c: PUSH17 0x0100000000000000000000000000000000
0000053e: SWAP1
0000053f: DIV
00000540: AND
00000541: DUP4
00000542: JUMP
00000543: JUMPDEST
00000544: PUSH1 0x40
00000546: DUP1
00000547: MLOAD
00000548: SWAP4
00000549: DUP5
0000054a: MSTORE
0000054b: PUSH16 0xffffffffffffffffffffffffffffffff
0000055c: SWAP3
0000055d: DUP4
0000055e: AND
0000055f: PUSH1 0x20
00000561: DUP6
00000562: ADD
00000563: MSTORE
00000564: SWAP2
00000565: AND
00000566: SWAP1
00000567: DUP3
00000568: ADD
00000569: MSTORE
0000056a: PUSH1 0x60
0000056c: ADD
0000056d: PUSH2 0x01fd
00000570: JUMP
00000571: JUMPDEST
00000572: PUSH2 0x0188
00000575: PUSH2 0x057f
00000578: CALLDATASIZE
00000579: PUSH1 0x04
0000057b: PUSH2 0x4f41
0000057e: JUMP
0000057f: JUMPDEST
00000580: DUP3
00000581: PUSH1 0x00
00000583: GAS
00000584: SWAP1
00000585: POP
00000586: PUSH1 0x00
00000588: PUSH2 0x058f
0000058b: PUSH2 0x1f19
0000058e: JUMP
0000058f: JUMPDEST
00000590: POP
00000591: SWAP1
00000592: POP
00000593: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005a8: DUP2
000005a9: AND
000005aa: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
000005bf: EQ
000005c0: DUP1
000005c1: ISZERO
000005c2: SWAP1
000005c3: PUSH2 0x05cb
000005c6: JUMPI
000005c7: POP
000005c8: CALLVALUE
000005c9: ISZERO
000005ca: ISZERO
000005cb: JUMPDEST
000005cc: ISZERO
000005cd: PUSH2 0x0602
000005d0: JUMPI
000005d1: PUSH1 0x40
000005d3: MLOAD
000005d4: PUSH32 0xf2365b5b00000000000000000000000000000000000000000000000000000000
000005f5: DUP2
000005f6: MSTORE
000005f7: PUSH1 0x04
000005f9: ADD
000005fa: PUSH1 0x40
000005fc: MLOAD
000005fd: DUP1
000005fe: SWAP2
000005ff: SUB
00000600: SWAP1
00000601: REVERT
00000602: JUMPDEST
00000603: PUSH2 0x0610
00000606: DUP9
00000607: CALLVALUE
00000608: DUP10
00000609: DUP10
0000060a: DUP10
0000060b: DUP10
0000060c: PUSH2 0x1fb6
0000060f: JUMP
00000610: JUMPDEST
00000611: POP
00000612: PUSH2 0x061b
00000615: DUP3
00000616: DUP3
00000617: PUSH2 0x2162
0000061a: JUMP
0000061b: JUMPDEST
0000061c: POP
0000061d: POP
0000061e: POP
0000061f: POP
00000620: POP
00000621: POP
00000622: POP
00000623: JUMP
00000624: JUMPDEST
00000625: DUP3
00000626: PUSH1 0x00
00000628: GAS
00000629: SWAP1
0000062a: POP
0000062b: PUSH1 0x00
0000062d: PUSH2 0x0634
00000630: PUSH2 0x1f19
00000633: JUMP
00000634: JUMPDEST
00000635: POP
00000636: SWAP1
00000637: POP
00000638: PUSH32 0xffffffffffffffffffffffff1111111111111111111111111111111111111112
00000659: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000066e: DUP3
0000066f: AND
00000670: ADD
00000671: PUSH2 0x06a6
00000674: JUMPI
00000675: PUSH1 0x40
00000677: MLOAD
00000678: PUSH32 0x0eaf3c0f00000000000000000000000000000000000000000000000000000000
00000699: DUP2
0000069a: MSTORE
0000069b: PUSH1 0x04
0000069d: ADD
0000069e: PUSH1 0x40
000006a0: MLOAD
000006a1: DUP1
000006a2: SWAP2
000006a3: SUB
000006a4: SWAP1
000006a5: REVERT
000006a6: JUMPDEST
000006a7: DUP8
000006a8: PUSH1 0x3d
000006aa: PUSH1 0x00
000006ac: DUP3
000006ad: DUP3
000006ae: SLOAD
000006af: PUSH2 0x06b8
000006b2: SWAP2
000006b3: SWAP1
000006b4: PUSH2 0x4fed
000006b7: JUMP
000006b8: JUMPDEST
000006b9: SWAP1
000006ba: SWAP2
000006bb: SSTORE
000006bc: POP
000006bd: POP
000006be: PUSH1 0x40
000006c0: MLOAD
000006c1: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
000006e2: DUP2
000006e3: MSTORE
000006e4: ADDRESS
000006e5: PUSH1 0x04
000006e7: DUP3
000006e8: ADD
000006e9: MSTORE
000006ea: PUSH1 0x00
000006ec: SWAP1
000006ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000702: DUP4
00000703: AND
00000704: SWAP1
00000705: PUSH4 0x70a08231
0000070a: SWAP1
0000070b: PUSH1 0x24
0000070d: ADD
0000070e: PUSH1 0x20
00000710: PUSH1 0x40
00000712: MLOAD
00000713: DUP1
00000714: DUP4
00000715: SUB
00000716: DUP2
00000717: DUP7
00000718: GAS
00000719: STATICCALL
0000071a: ISZERO
0000071b: DUP1
0000071c: ISZERO
0000071d: PUSH2 0x072a
00000720: JUMPI
00000721: RETURNDATASIZE
00000722: PUSH1 0x00
00000724: DUP1
00000725: RETURNDATACOPY
00000726: RETURNDATASIZE
00000727: PUSH1 0x00
00000729: REVERT
0000072a: JUMPDEST
0000072b: POP
0000072c: POP
0000072d: POP
0000072e: POP
0000072f: PUSH1 0x40
00000731: MLOAD
00000732: RETURNDATASIZE
00000733: PUSH1 0x1f
00000735: NOT
00000736: PUSH1 0x1f
00000738: DUP3
00000739: ADD
0000073a: AND
0000073b: DUP3
0000073c: ADD
0000073d: DUP1
0000073e: PUSH1 0x40
00000740: MSTORE
00000741: POP
00000742: DUP2
00000743: ADD
00000744: SWAP1
00000745: PUSH2 0x074e
00000748: SWAP2
00000749: SWAP1
0000074a: PUSH2 0x5005
0000074d: JUMP
0000074e: JUMPDEST
0000074f: SWAP1
00000750: POP
00000751: PUSH2 0x0772
00000754: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000769: DUP4
0000076a: AND
0000076b: CALLER
0000076c: ADDRESS
0000076d: DUP13
0000076e: PUSH2 0x242f
00000771: JUMP
00000772: JUMPDEST
00000773: PUSH2 0x077c
00000776: DUP10
00000777: DUP3
00000778: PUSH2 0x4fed
0000077b: JUMP
0000077c: JUMPDEST
0000077d: PUSH1 0x40
0000077f: MLOAD
00000780: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
000007a1: DUP2
000007a2: MSTORE
000007a3: ADDRESS
000007a4: PUSH1 0x04
000007a6: DUP3
000007a7: ADD
000007a8: MSTORE
000007a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007be: DUP5
000007bf: AND
000007c0: SWAP1
000007c1: PUSH4 0x70a08231
000007c6: SWAP1
000007c7: PUSH1 0x24
000007c9: ADD
000007ca: PUSH1 0x20
000007cc: PUSH1 0x40
000007ce: MLOAD
000007cf: DUP1
000007d0: DUP4
000007d1: SUB
000007d2: DUP2
000007d3: DUP7
000007d4: GAS
000007d5: STATICCALL
000007d6: ISZERO
000007d7: DUP1
000007d8: ISZERO
000007d9: PUSH2 0x07e6
000007dc: JUMPI
000007dd: RETURNDATASIZE
000007de: PUSH1 0x00
000007e0: DUP1
000007e1: RETURNDATACOPY
000007e2: RETURNDATASIZE
000007e3: PUSH1 0x00
000007e5: REVERT
000007e6: JUMPDEST
000007e7: POP
000007e8: POP
000007e9: POP
000007ea: POP
000007eb: PUSH1 0x40
000007ed: MLOAD
000007ee: RETURNDATASIZE
000007ef: PUSH1 0x1f
000007f1: NOT
000007f2: PUSH1 0x1f
000007f4: DUP3
000007f5: ADD
000007f6: AND
000007f7: DUP3
000007f8: ADD
000007f9: DUP1
000007fa: PUSH1 0x40
000007fc: MSTORE
000007fd: POP
000007fe: DUP2
000007ff: ADD
00000800: SWAP1
00000801: PUSH2 0x080a
00000804: SWAP2
00000805: SWAP1
00000806: PUSH2 0x5005
00000809: JUMP
0000080a: JUMPDEST
0000080b: EQ
0000080c: PUSH2 0x0841
0000080f: JUMPI
00000810: PUSH1 0x40
00000812: MLOAD
00000813: PUSH32 0x90b8ec1800000000000000000000000000000000000000000000000000000000
00000834: DUP2
00000835: MSTORE
00000836: PUSH1 0x04
00000838: ADD
00000839: PUSH1 0x40
0000083b: MLOAD
0000083c: DUP1
0000083d: SWAP2
0000083e: SUB
0000083f: SWAP1
00000840: REVERT
00000841: JUMPDEST
00000842: PUSH2 0x084f
00000845: DUP11
00000846: DUP11
00000847: DUP11
00000848: DUP11
00000849: DUP11
0000084a: DUP11
0000084b: PUSH2 0x1fb6
0000084e: JUMP
0000084f: JUMPDEST
00000850: POP
00000851: POP
00000852: PUSH2 0x085b
00000855: DUP3
00000856: DUP3
00000857: PUSH2 0x2162
0000085a: JUMP
0000085b: JUMPDEST
0000085c: POP
0000085d: POP
0000085e: POP
0000085f: POP
00000860: POP
00000861: POP
00000862: POP
00000863: POP
00000864: JUMP
00000865: JUMPDEST
00000866: PUSH1 0x00
00000868: PUSH1 0x35
0000086a: PUSH1 0x01
0000086c: SWAP1
0000086d: SLOAD
0000086e: SWAP1
0000086f: PUSH2 0x0100
00000872: EXP
00000873: SWAP1
00000874: DIV
00000875: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000088a: AND
0000088b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000008a0: AND
000008a1: PUSH4 0x452a9320
000008a6: PUSH1 0x40
000008a8: MLOAD
000008a9: DUP2
000008aa: PUSH4 0xffffffff
000008af: AND
000008b0: PUSH1 0xe0
000008b2: SHL
000008b3: DUP2
000008b4: MSTORE
000008b5: PUSH1 0x04
000008b7: ADD
000008b8: PUSH1 0x20
000008ba: PUSH1 0x40
000008bc: MLOAD
000008bd: DUP1
000008be: DUP4
000008bf: SUB
000008c0: DUP2
000008c1: DUP7
000008c2: GAS
000008c3: STATICCALL
000008c4: ISZERO
000008c5: DUP1
000008c6: ISZERO
000008c7: PUSH2 0x08d4
000008ca: JUMPI
000008cb: RETURNDATASIZE
000008cc: PUSH1 0x00
000008ce: DUP1
000008cf: RETURNDATACOPY
000008d0: RETURNDATASIZE
000008d1: PUSH1 0x00
000008d3: REVERT
000008d4: JUMPDEST
000008d5: POP
000008d6: POP
000008d7: POP
000008d8: POP
000008d9: PUSH1 0x40
000008db: MLOAD
000008dc: RETURNDATASIZE
000008dd: PUSH1 0x1f
000008df: NOT
000008e0: PUSH1 0x1f
000008e2: DUP3
000008e3: ADD
000008e4: AND
000008e5: DUP3
000008e6: ADD
000008e7: DUP1
000008e8: PUSH1 0x40
000008ea: MSTORE
000008eb: POP
000008ec: DUP2
000008ed: ADD
000008ee: SWAP1
000008ef: PUSH2 0x08f8
000008f2: SWAP2
000008f3: SWAP1
000008f4: PUSH2 0x501e
000008f7: JUMP
000008f8: JUMPDEST
000008f9: SWAP1
000008fa: POP
000008fb: SWAP1
000008fc: JUMP
000008fd: JUMPDEST
000008fe: PUSH2 0x0905
00000901: PUSH2 0x0eaa
00000904: JUMP
00000905: JUMPDEST
00000906: ISZERO
00000907: PUSH2 0x093c
0000090a: JUMPI
0000090b: PUSH1 0x40
0000090d: MLOAD
0000090e: PUSH32 0xf480973e00000000000000000000000000000000000000000000000000000000
0000092f: DUP2
00000930: MSTORE
00000931: PUSH1 0x04
00000933: ADD
00000934: PUSH1 0x40
00000936: MLOAD
00000937: DUP1
00000938: SWAP2
00000939: SUB
0000093a: SWAP1
0000093b: REVERT
0000093c: JUMPDEST
0000093d: ADDRESS
0000093e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000953: AND
00000954: DUP6
00000955: PUSH1 0x40
00000957: ADD
00000958: MLOAD
00000959: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000096e: AND
0000096f: SUB
00000970: PUSH2 0x09a5
00000973: JUMPI
00000974: PUSH1 0x40
00000976: MLOAD
00000977: PUSH32 0x13496fda00000000000000000000000000000000000000000000000000000000
00000998: DUP2
00000999: MSTORE
0000099a: PUSH1 0x04
0000099c: ADD
0000099d: PUSH1 0x40
0000099f: MLOAD
000009a0: DUP1
000009a1: SWAP2
000009a2: SUB
000009a3: SWAP1
000009a4: REVERT
000009a5: JUMPDEST
000009a6: PUSH1 0x36
000009a8: SLOAD
000009a9: PUSH1 0x40
000009ab: MLOAD
000009ac: PUSH32 0xa25ae55700000000000000000000000000000000000000000000000000000000
000009cd: DUP2
000009ce: MSTORE
000009cf: PUSH1 0x04
000009d1: DUP2
000009d2: ADD
000009d3: DUP7
000009d4: SWAP1
000009d5: MSTORE
000009d6: PUSH1 0x00
000009d8: SWAP2
000009d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009ee: AND
000009ef: SWAP1
000009f0: PUSH4 0xa25ae557
000009f5: SWAP1
000009f6: PUSH1 0x24
000009f8: ADD
000009f9: PUSH1 0x60
000009fb: PUSH1 0x40
000009fd: MLOAD
000009fe: DUP1
000009ff: DUP4
00000a00: SUB
00000a01: DUP2
00000a02: DUP7
00000a03: GAS
00000a04: STATICCALL
00000a05: ISZERO
00000a06: DUP1
00000a07: ISZERO
00000a08: PUSH2 0x0a15
00000a0b: JUMPI
00000a0c: RETURNDATASIZE
00000a0d: PUSH1 0x00
00000a0f: DUP1
00000a10: RETURNDATACOPY
00000a11: RETURNDATASIZE
00000a12: PUSH1 0x00
00000a14: REVERT
00000a15: JUMPDEST
00000a16: POP
00000a17: POP
00000a18: POP
00000a19: POP
00000a1a: PUSH1 0x40
00000a1c: MLOAD
00000a1d: RETURNDATASIZE
00000a1e: PUSH1 0x1f
00000a20: NOT
00000a21: PUSH1 0x1f
00000a23: DUP3
00000a24: ADD
00000a25: AND
00000a26: DUP3
00000a27: ADD
00000a28: DUP1
00000a29: PUSH1 0x40
00000a2b: MSTORE
00000a2c: POP
00000a2d: DUP2
00000a2e: ADD
00000a2f: SWAP1
00000a30: PUSH2 0x0a39
00000a33: SWAP2
00000a34: SWAP1
00000a35: PUSH2 0x505b
00000a38: JUMP
00000a39: JUMPDEST
00000a3a: MLOAD
00000a3b: SWAP1
00000a3c: POP
00000a3d: PUSH2 0x0a53
00000a40: PUSH2 0x0a4e
00000a43: CALLDATASIZE
00000a44: DUP7
00000a45: SWAP1
00000a46: SUB
00000a47: DUP7
00000a48: ADD
00000a49: DUP7
00000a4a: PUSH2 0x50c0
00000a4d: JUMP
00000a4e: JUMPDEST
00000a4f: PUSH2 0x250b
00000a52: JUMP
00000a53: JUMPDEST
00000a54: DUP2
00000a55: EQ
00000a56: PUSH2 0x0ae6
00000a59: JUMPI
00000a5a: PUSH1 0x40
00000a5c: MLOAD
00000a5d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000a7e: DUP2
00000a7f: MSTORE
00000a80: PUSH1 0x20
00000a82: PUSH1 0x04
00000a84: DUP3
00000a85: ADD
00000a86: MSTORE
00000a87: PUSH1 0x29
00000a89: PUSH1 0x24
00000a8b: DUP3
00000a8c: ADD
00000a8d: MSTORE
00000a8e: PUSH32 0x4f7074696d69736d506f7274616c3a20696e76616c6964206f75747075742072
00000aaf: PUSH1 0x44
00000ab1: DUP3
00000ab2: ADD
00000ab3: MSTORE
00000ab4: PUSH32 0x6f6f742070726f6f660000000000000000000000000000000000000000000000
00000ad5: PUSH1 0x64
00000ad7: DUP3
00000ad8: ADD
00000ad9: MSTORE
00000ada: PUSH1 0x84
00000adc: ADD
00000add: JUMPDEST
00000ade: PUSH1 0x40
00000ae0: MLOAD
00000ae1: DUP1
00000ae2: SWAP2
00000ae3: SUB
00000ae4: SWAP1
00000ae5: REVERT
00000ae6: JUMPDEST
00000ae7: PUSH1 0x00
00000ae9: PUSH2 0x0af1
00000aec: DUP8
00000aed: PUSH2 0x2567
00000af0: JUMP
00000af1: JUMPDEST
00000af2: PUSH1 0x00
00000af4: DUP2
00000af5: DUP2
00000af6: MSTORE
00000af7: PUSH1 0x34
00000af9: PUSH1 0x20
00000afb: SWAP1
00000afc: DUP2
00000afd: MSTORE
00000afe: PUSH1 0x40
00000b00: SWAP2
00000b01: DUP3
00000b02: SWAP1
00000b03: KECCAK256
00000b04: DUP3
00000b05: MLOAD
00000b06: PUSH1 0x60
00000b08: DUP2
00000b09: ADD
00000b0a: DUP5
00000b0b: MSTORE
00000b0c: DUP2
00000b0d: SLOAD
00000b0e: DUP2
00000b0f: MSTORE
00000b10: PUSH1 0x01
00000b12: SWAP1
00000b13: SWAP2
00000b14: ADD
00000b15: SLOAD
00000b16: PUSH16 0xffffffffffffffffffffffffffffffff
00000b27: DUP1
00000b28: DUP3
00000b29: AND
00000b2a: SWAP4
00000b2b: DUP4
00000b2c: ADD
00000b2d: DUP5
00000b2e: SWAP1
00000b2f: MSTORE
00000b30: PUSH17 0x0100000000000000000000000000000000
00000b42: SWAP1
00000b43: SWAP2
00000b44: DIV
00000b45: AND
00000b46: SWAP3
00000b47: DUP2
00000b48: ADD
00000b49: SWAP3
00000b4a: SWAP1
00000b4b: SWAP3
00000b4c: MSTORE
00000b4d: SWAP2
00000b4e: SWAP3
00000b4f: POP
00000b50: SWAP1
00000b51: ISZERO
00000b52: DUP1
00000b53: PUSH2 0x0c07
00000b56: JUMPI
00000b57: POP
00000b58: DUP1
00000b59: MLOAD
00000b5a: PUSH1 0x36
00000b5c: SLOAD
00000b5d: PUSH1 0x40
00000b5f: DUP1
00000b60: DUP5
00000b61: ADD
00000b62: MLOAD
00000b63: SWAP1
00000b64: MLOAD
00000b65: PUSH32 0xa25ae55700000000000000000000000000000000000000000000000000000000
00000b86: DUP2
00000b87: MSTORE
00000b88: PUSH16 0xffffffffffffffffffffffffffffffff
00000b99: SWAP1
00000b9a: SWAP2
00000b9b: AND
00000b9c: PUSH1 0x04
00000b9e: DUP3
00000b9f: ADD
00000ba0: MSTORE
00000ba1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bb6: SWAP1
00000bb7: SWAP2
00000bb8: AND
00000bb9: SWAP1
00000bba: PUSH4 0xa25ae557
00000bbf: SWAP1
00000bc0: PUSH1 0x24
00000bc2: ADD
00000bc3: PUSH1 0x60
00000bc5: PUSH1 0x40
00000bc7: MLOAD
00000bc8: DUP1
00000bc9: DUP4
00000bca: SUB
00000bcb: DUP2
00000bcc: DUP7
00000bcd: GAS
00000bce: STATICCALL
00000bcf: ISZERO
00000bd0: DUP1
00000bd1: ISZERO
00000bd2: PUSH2 0x0bdf
00000bd5: JUMPI
00000bd6: RETURNDATASIZE
00000bd7: PUSH1 0x00
00000bd9: DUP1
00000bda: RETURNDATACOPY
00000bdb: RETURNDATASIZE
00000bdc: PUSH1 0x00
00000bde: REVERT
00000bdf: JUMPDEST
00000be0: POP
00000be1: POP
00000be2: POP
00000be3: POP
00000be4: PUSH1 0x40
00000be6: MLOAD
00000be7: RETURNDATASIZE
00000be8: PUSH1 0x1f
00000bea: NOT
00000beb: PUSH1 0x1f
00000bed: DUP3
00000bee: ADD
00000bef: AND
00000bf0: DUP3
00000bf1: ADD
00000bf2: DUP1
00000bf3: PUSH1 0x40
00000bf5: MSTORE
00000bf6: POP
00000bf7: DUP2
00000bf8: ADD
00000bf9: SWAP1
00000bfa: PUSH2 0x0c03
00000bfd: SWAP2
00000bfe: SWAP1
00000bff: PUSH2 0x505b
00000c02: JUMP
00000c03: JUMPDEST
00000c04: MLOAD
00000c05: EQ
00000c06: ISZERO
00000c07: JUMPDEST
00000c08: PUSH2 0x0c93
00000c0b: JUMPI
00000c0c: PUSH1 0x40
00000c0e: MLOAD
00000c0f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000c30: DUP2
00000c31: MSTORE
00000c32: PUSH1 0x20
00000c34: PUSH1 0x04
00000c36: DUP3
00000c37: ADD
00000c38: MSTORE
00000c39: PUSH1 0x37
00000c3b: PUSH1 0x24
00000c3d: DUP3
00000c3e: ADD
00000c3f: MSTORE
00000c40: PUSH32 0x4f7074696d69736d506f7274616c3a207769746864726177616c206861736820
00000c61: PUSH1 0x44
00000c63: DUP3
00000c64: ADD
00000c65: MSTORE
00000c66: PUSH32 0x68617320616c7265616479206265656e2070726f76656e000000000000000000
00000c87: PUSH1 0x64
00000c89: DUP3
00000c8a: ADD
00000c8b: MSTORE
00000c8c: PUSH1 0x84
00000c8e: ADD
00000c8f: PUSH2 0x0add
00000c92: JUMP
00000c93: JUMPDEST
00000c94: PUSH1 0x40
00000c96: DUP1
00000c97: MLOAD
00000c98: PUSH1 0x20
00000c9a: DUP2
00000c9b: ADD
00000c9c: DUP5
00000c9d: SWAP1
00000c9e: MSTORE
00000c9f: PUSH1 0x00
00000ca1: SWAP2
00000ca2: DUP2
00000ca3: ADD
00000ca4: DUP3
00000ca5: SWAP1
00000ca6: MSTORE
00000ca7: PUSH1 0x60
00000ca9: ADD
00000caa: PUSH1 0x40
00000cac: DUP1
00000cad: MLOAD
00000cae: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00000ccf: DUP2
00000cd0: DUP5
00000cd1: SUB
00000cd2: ADD
00000cd3: DUP2
00000cd4: MSTORE
00000cd5: DUP3
00000cd6: DUP3
00000cd7: MSTORE
00000cd8: DUP1
00000cd9: MLOAD
00000cda: PUSH1 0x20
00000cdc: SWAP2
00000cdd: DUP3
00000cde: ADD
00000cdf: KECCAK256
00000ce0: SWAP1
00000ce1: DUP4
00000ce2: ADD
00000ce3: DUP2
00000ce4: SWAP1
00000ce5: MSTORE
00000ce6: SWAP3
00000ce7: POP
00000ce8: PUSH2 0x0d5c
00000ceb: SWAP2
00000cec: ADD
00000ced: PUSH1 0x40
00000cef: DUP1
00000cf0: MLOAD
00000cf1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00000d12: DUP2
00000d13: DUP5
00000d14: SUB
00000d15: ADD
00000d16: DUP2
00000d17: MSTORE
00000d18: DUP3
00000d19: DUP3
00000d1a: ADD
00000d1b: SWAP1
00000d1c: SWAP2
00000d1d: MSTORE
00000d1e: PUSH1 0x01
00000d20: DUP3
00000d21: MSTORE
00000d22: PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000
00000d43: PUSH1 0x20
00000d45: DUP4
00000d46: ADD
00000d47: MSTORE
00000d48: SWAP1
00000d49: PUSH2 0x0d52
00000d4c: DUP9
00000d4d: DUP11
00000d4e: PUSH2 0x5126
00000d51: JUMP
00000d52: JUMPDEST
00000d53: DUP11
00000d54: PUSH1 0x40
00000d56: ADD
00000d57: CALLDATALOAD
00000d58: PUSH2 0x2597
00000d5b: JUMP
00000d5c: JUMPDEST
00000d5d: PUSH2 0x0de8
00000d60: JUMPI
00000d61: PUSH1 0x40
00000d63: MLOAD
00000d64: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000d85: DUP2
00000d86: MSTORE
00000d87: PUSH1 0x20
00000d89: PUSH1 0x04
00000d8b: DUP3
00000d8c: ADD
00000d8d: MSTORE
00000d8e: PUSH1 0x32
00000d90: PUSH1 0x24
00000d92: DUP3
00000d93: ADD
00000d94: MSTORE
00000d95: PUSH32 0x4f7074696d69736d506f7274616c3a20696e76616c6964207769746864726177
00000db6: PUSH1 0x44
00000db8: DUP3
00000db9: ADD
00000dba: MSTORE
00000dbb: PUSH32 0x616c20696e636c7573696f6e2070726f6f660000000000000000000000000000
00000ddc: PUSH1 0x64
00000dde: DUP3
00000ddf: ADD
00000de0: MSTORE
00000de1: PUSH1 0x84
00000de3: ADD
00000de4: PUSH2 0x0add
00000de7: JUMP
00000de8: JUMPDEST
00000de9: PUSH1 0x40
00000deb: DUP1
00000dec: MLOAD
00000ded: PUSH1 0x60
00000def: DUP2
00000df0: ADD
00000df1: DUP3
00000df2: MSTORE
00000df3: DUP6
00000df4: DUP2
00000df5: MSTORE
00000df6: PUSH16 0xffffffffffffffffffffffffffffffff
00000e07: TIMESTAMP
00000e08: DUP2
00000e09: AND
00000e0a: PUSH1 0x20
00000e0c: DUP1
00000e0d: DUP5
00000e0e: ADD
00000e0f: SWAP2
00000e10: DUP3
00000e11: MSTORE
00000e12: DUP13
00000e13: DUP4
00000e14: AND
00000e15: DUP5
00000e16: DUP7
00000e17: ADD
00000e18: SWAP1
00000e19: DUP2
00000e1a: MSTORE
00000e1b: PUSH1 0x00
00000e1d: DUP10
00000e1e: DUP2
00000e1f: MSTORE
00000e20: PUSH1 0x34
00000e22: DUP4
00000e23: MSTORE
00000e24: DUP7
00000e25: DUP2
00000e26: KECCAK256
00000e27: SWAP6
00000e28: MLOAD
00000e29: DUP7
00000e2a: SSTORE
00000e2b: SWAP3
00000e2c: MLOAD
00000e2d: SWAP1
00000e2e: MLOAD
00000e2f: DUP5
00000e30: AND
00000e31: PUSH17 0x0100000000000000000000000000000000
00000e43: MUL
00000e44: SWAP4
00000e45: AND
00000e46: SWAP3
00000e47: SWAP1
00000e48: SWAP3
00000e49: OR
00000e4a: PUSH1 0x01
00000e4c: SWAP1
00000e4d: SWAP4
00000e4e: ADD
00000e4f: SWAP3
00000e50: SWAP1
00000e51: SWAP3
00000e52: SSTORE
00000e53: DUP12
00000e54: DUP4
00000e55: ADD
00000e56: MLOAD
00000e57: SWAP1
00000e58: DUP13
00000e59: ADD
00000e5a: MLOAD
00000e5b: SWAP3
00000e5c: MLOAD
00000e5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e72: SWAP2
00000e73: DUP3
00000e74: AND
00000e75: SWAP4
00000e76: SWAP1
00000e77: SWAP2
00000e78: AND
00000e79: SWAP2
00000e7a: DUP7
00000e7b: SWAP2
00000e7c: PUSH32 0x67a6208cfcc0801d50f6cbe764733f4fddf66ac0b04442061a8a8c0cb6b63f62
00000e9d: SWAP2
00000e9e: SWAP1
00000e9f: LOG4
00000ea0: POP
00000ea1: POP
00000ea2: POP
00000ea3: POP
00000ea4: POP
00000ea5: POP
00000ea6: POP
00000ea7: POP
00000ea8: POP
00000ea9: JUMP
00000eaa: JUMPDEST
00000eab: PUSH1 0x00
00000ead: PUSH1 0x35
00000eaf: PUSH1 0x01
00000eb1: SWAP1
00000eb2: SLOAD
00000eb3: SWAP1
00000eb4: PUSH2 0x0100
00000eb7: EXP
00000eb8: SWAP1
00000eb9: DIV
00000eba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ecf: AND
00000ed0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ee5: AND
00000ee6: PUSH4 0x5c975abb
00000eeb: PUSH1 0x40
00000eed: MLOAD
00000eee: DUP2
00000eef: PUSH4 0xffffffff
00000ef4: AND
00000ef5: PUSH1 0xe0
00000ef7: SHL
00000ef8: DUP2
00000ef9: MSTORE
00000efa: PUSH1 0x04
00000efc: ADD
00000efd: PUSH1 0x20
00000eff: PUSH1 0x40
00000f01: MLOAD
00000f02: DUP1
00000f03: DUP4
00000f04: SUB
00000f05: DUP2
00000f06: DUP7
00000f07: GAS
00000f08: STATICCALL
00000f09: ISZERO
00000f0a: DUP1
00000f0b: ISZERO
00000f0c: PUSH2 0x0f19
00000f0f: JUMPI
00000f10: RETURNDATASIZE
00000f11: PUSH1 0x00
00000f13: DUP1
00000f14: RETURNDATACOPY
00000f15: RETURNDATASIZE
00000f16: PUSH1 0x00
00000f18: REVERT
00000f19: JUMPDEST
00000f1a: POP
00000f1b: POP
00000f1c: POP
00000f1d: POP
00000f1e: PUSH1 0x40
00000f20: MLOAD
00000f21: RETURNDATASIZE
00000f22: PUSH1 0x1f
00000f24: NOT
00000f25: PUSH1 0x1f
00000f27: DUP3
00000f28: ADD
00000f29: AND
00000f2a: DUP3
00000f2b: ADD
00000f2c: DUP1
00000f2d: PUSH1 0x40
00000f2f: MSTORE
00000f30: POP
00000f31: DUP2
00000f32: ADD
00000f33: SWAP1
00000f34: PUSH2 0x08f8
00000f37: SWAP2
00000f38: SWAP1
00000f39: PUSH2 0x51aa
00000f3c: JUMP
00000f3d: JUMPDEST
00000f3e: PUSH1 0x36
00000f40: SLOAD
00000f41: PUSH1 0x40
00000f43: MLOAD
00000f44: PUSH32 0xa25ae55700000000000000000000000000000000000000000000000000000000
00000f65: DUP2
00000f66: MSTORE
00000f67: PUSH1 0x04
00000f69: DUP2
00000f6a: ADD
00000f6b: DUP4
00000f6c: SWAP1
00000f6d: MSTORE
00000f6e: PUSH1 0x00
00000f70: SWAP2
00000f71: PUSH2 0x0ff2
00000f74: SWAP2
00000f75: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f8a: SWAP1
00000f8b: SWAP2
00000f8c: AND
00000f8d: SWAP1
00000f8e: PUSH4 0xa25ae557
00000f93: SWAP1
00000f94: PUSH1 0x24
00000f96: ADD
00000f97: PUSH1 0x60
00000f99: PUSH1 0x40
00000f9b: MLOAD
00000f9c: DUP1
00000f9d: DUP4
00000f9e: SUB
00000f9f: DUP2
00000fa0: DUP7
00000fa1: GAS
00000fa2: STATICCALL
00000fa3: ISZERO
00000fa4: DUP1
00000fa5: ISZERO
00000fa6: PUSH2 0x0fb3
00000fa9: JUMPI
00000faa: RETURNDATASIZE
00000fab: PUSH1 0x00
00000fad: DUP1
00000fae: RETURNDATACOPY
00000faf: RETURNDATASIZE
00000fb0: PUSH1 0x00
00000fb2: REVERT
00000fb3: JUMPDEST
00000fb4: POP
00000fb5: POP
00000fb6: POP
00000fb7: POP
00000fb8: PUSH1 0x40
00000fba: MLOAD
00000fbb: RETURNDATASIZE
00000fbc: PUSH1 0x1f
00000fbe: NOT
00000fbf: PUSH1 0x1f
00000fc1: DUP3
00000fc2: ADD
00000fc3: AND
00000fc4: DUP3
00000fc5: ADD
00000fc6: DUP1
00000fc7: PUSH1 0x40
00000fc9: MSTORE
00000fca: POP
00000fcb: DUP2
00000fcc: ADD
00000fcd: SWAP1
00000fce: PUSH2 0x0fd7
00000fd1: SWAP2
00000fd2: SWAP1
00000fd3: PUSH2 0x505b
00000fd6: JUMP
00000fd7: JUMPDEST
00000fd8: PUSH1 0x20
00000fda: ADD
00000fdb: MLOAD
00000fdc: PUSH16 0xffffffffffffffffffffffffffffffff
00000fed: AND
00000fee: PUSH2 0x25bb
00000ff1: JUMP
00000ff2: JUMPDEST
00000ff3: SWAP3
00000ff4: SWAP2
00000ff5: POP
00000ff6: POP
00000ff7: JUMP
00000ff8: JUMPDEST
00000ff9: PUSH1 0x37
00000ffb: SLOAD
00000ffc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001011: AND
00001012: CALLER
00001013: EQ
00001014: PUSH2 0x1049
00001017: JUMPI
00001018: PUSH1 0x40
0000101a: MLOAD
0000101b: PUSH32 0x82b4290000000000000000000000000000000000000000000000000000000000
0000103c: DUP2
0000103d: MSTORE
0000103e: PUSH1 0x04
00001040: ADD
00001041: PUSH1 0x40
00001043: MLOAD
00001044: DUP1
00001045: SWAP2
00001046: SUB
00001047: SWAP1
00001048: REVERT
00001049: JUMPDEST
0000104a: PUSH2 0x1055
0000104d: PUSH3 0x030d40
00001051: PUSH2 0x2661
00001054: JUMP
00001055: JUMPDEST
00001056: PUSH1 0x40
00001058: MLOAD
00001059: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000106e: DUP6
0000106f: AND
00001070: PUSH1 0x24
00001072: DUP3
00001073: ADD
00001074: MSTORE
00001075: PUSH1 0xff
00001077: DUP5
00001078: AND
00001079: PUSH1 0x44
0000107b: DUP3
0000107c: ADD
0000107d: MSTORE
0000107e: PUSH1 0x64
00001080: DUP2
00001081: ADD
00001082: DUP4
00001083: SWAP1
00001084: MSTORE
00001085: PUSH1 0x84
00001087: DUP2
00001088: ADD
00001089: DUP3
0000108a: SWAP1
0000108b: MSTORE
0000108c: PUSH1 0x00
0000108e: SWAP1
0000108f: PUSH20 0x4200000000000000000000000000000000000015
000010a4: SWAP1
000010a5: PUSH20 0xdeaddeaddeaddeaddeaddeaddeaddeaddead0001
000010ba: SWAP1
000010bb: PUSH32 0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32
000010dc: SWAP1
000010dd: DUP5
000010de: SWAP1
000010df: DUP2
000010e0: SWAP1
000010e1: PUSH3 0x030d40
000010e5: SWAP1
000010e6: DUP3
000010e7: SWAP1
000010e8: PUSH1 0xa4
000010ea: ADD
000010eb: PUSH1 0x40
000010ed: DUP1
000010ee: MLOAD
000010ef: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001110: DUP2
00001111: DUP5
00001112: SUB
00001113: ADD
00001114: DUP2
00001115: MSTORE
00001116: SWAP2
00001117: DUP2
00001118: MSTORE
00001119: PUSH1 0x20
0000111b: DUP1
0000111c: DUP4
0000111d: ADD
0000111e: DUP1
0000111f: MLOAD
00001120: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000113d: AND
0000113e: PUSH32 0x71cfaa3f00000000000000000000000000000000000000000000000000000000
0000115f: OR
00001160: SWAP1
00001161: MSTORE
00001162: SWAP1
00001163: MLOAD
00001164: PUSH2 0x1172
00001167: SWAP7
00001168: SWAP6
00001169: SWAP5
0000116a: SWAP4
0000116b: SWAP3
0000116c: SWAP2
0000116d: ADD
0000116e: PUSH2 0x51c7
00001171: JUMP
00001172: JUMPDEST
00001173: PUSH1 0x40
00001175: DUP1
00001176: MLOAD
00001177: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00001198: DUP2
00001199: DUP5
0000119a: SUB
0000119b: ADD
0000119c: DUP2
0000119d: MSTORE
0000119e: SWAP1
0000119f: DUP3
000011a0: SWAP1
000011a1: MSTORE
000011a2: PUSH2 0x11aa
000011a5: SWAP2
000011a6: PUSH2 0x4e1d
000011a9: JUMP
000011aa: JUMPDEST
000011ab: PUSH1 0x40
000011ad: MLOAD
000011ae: DUP1
000011af: SWAP2
000011b0: SUB
000011b1: SWAP1
000011b2: LOG4
000011b3: POP
000011b4: POP
000011b5: POP
000011b6: POP
000011b7: JUMP
000011b8: JUMPDEST
000011b9: JUMP
000011ba: JUMPDEST
000011bb: PUSH2 0x11c2
000011be: PUSH2 0x0eaa
000011c1: JUMP
000011c2: JUMPDEST
000011c3: ISZERO
000011c4: PUSH2 0x11f9
000011c7: JUMPI
000011c8: PUSH1 0x40
000011ca: MLOAD
000011cb: PUSH32 0xf480973e00000000000000000000000000000000000000000000000000000000
000011ec: DUP2
000011ed: MSTORE
000011ee: PUSH1 0x04
000011f0: ADD
000011f1: PUSH1 0x40
000011f3: MLOAD
000011f4: DUP1
000011f5: SWAP2
000011f6: SUB
000011f7: SWAP1
000011f8: REVERT
000011f9: JUMPDEST
000011fa: PUSH1 0x32
000011fc: SLOAD
000011fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001212: AND
00001213: PUSH2 0xdead
00001216: EQ
00001217: PUSH2 0x124c
0000121a: JUMPI
0000121b: PUSH1 0x40
0000121d: MLOAD
0000121e: PUSH32 0x9396d15600000000000000000000000000000000000000000000000000000000
0000123f: DUP2
00001240: MSTORE
00001241: PUSH1 0x04
00001243: ADD
00001244: PUSH1 0x40
00001246: MLOAD
00001247: DUP1
00001248: SWAP2
00001249: SUB
0000124a: SWAP1
0000124b: REVERT
0000124c: JUMPDEST
0000124d: PUSH1 0x00
0000124f: PUSH2 0x1257
00001252: DUP3
00001253: PUSH2 0x2567
00001256: JUMP
00001257: JUMPDEST
00001258: PUSH1 0x00
0000125a: DUP2
0000125b: DUP2
0000125c: MSTORE
0000125d: PUSH1 0x34
0000125f: PUSH1 0x20
00001261: SWAP1
00001262: DUP2
00001263: MSTORE
00001264: PUSH1 0x40
00001266: DUP1
00001267: DUP4
00001268: KECCAK256
00001269: DUP2
0000126a: MLOAD
0000126b: PUSH1 0x60
0000126d: DUP2
0000126e: ADD
0000126f: DUP4
00001270: MSTORE
00001271: DUP2
00001272: SLOAD
00001273: DUP2
00001274: MSTORE
00001275: PUSH1 0x01
00001277: SWAP1
00001278: SWAP2
00001279: ADD
0000127a: SLOAD
0000127b: PUSH16 0xffffffffffffffffffffffffffffffff
0000128c: DUP1
0000128d: DUP3
0000128e: AND
0000128f: SWAP5
00001290: DUP4
00001291: ADD
00001292: DUP6
00001293: SWAP1
00001294: MSTORE
00001295: PUSH17 0x0100000000000000000000000000000000
000012a7: SWAP1
000012a8: SWAP2
000012a9: DIV
000012aa: AND
000012ab: SWAP2
000012ac: DUP2
000012ad: ADD
000012ae: SWAP2
000012af: SWAP1
000012b0: SWAP2
000012b1: MSTORE
000012b2: SWAP3
000012b3: SWAP4
000012b4: POP
000012b5: SWAP1
000012b6: SUB
000012b7: PUSH2 0x1342
000012ba: JUMPI
000012bb: PUSH1 0x40
000012bd: MLOAD
000012be: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000012df: DUP2
000012e0: MSTORE
000012e1: PUSH1 0x20
000012e3: PUSH1 0x04
000012e5: DUP3
000012e6: ADD
000012e7: MSTORE
000012e8: PUSH1 0x32
000012ea: PUSH1 0x24
000012ec: DUP3
000012ed: ADD
000012ee: MSTORE
000012ef: PUSH32 0x4f7074696d69736d506f7274616c3a207769746864726177616c20686173206e
00001310: PUSH1 0x44
00001312: DUP3
00001313: ADD
00001314: MSTORE
00001315: PUSH32 0x6f74206265656e2070726f76656e207965740000000000000000000000000000
00001336: PUSH1 0x64
00001338: DUP3
00001339: ADD
0000133a: MSTORE
0000133b: PUSH1 0x84
0000133d: ADD
0000133e: PUSH2 0x0add
00001341: JUMP
00001342: JUMPDEST
00001343: PUSH1 0x36
00001345: PUSH1 0x00
00001347: SWAP1
00001348: SLOAD
00001349: SWAP1
0000134a: PUSH2 0x0100
0000134d: EXP
0000134e: SWAP1
0000134f: DIV
00001350: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001365: AND
00001366: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000137b: AND
0000137c: PUSH4 0x88786272
00001381: PUSH1 0x40
00001383: MLOAD
00001384: DUP2
00001385: PUSH4 0xffffffff
0000138a: AND
0000138b: PUSH1 0xe0
0000138d: SHL
0000138e: DUP2
0000138f: MSTORE
00001390: PUSH1 0x04
00001392: ADD
00001393: PUSH1 0x20
00001395: PUSH1 0x40
00001397: MLOAD
00001398: DUP1
00001399: DUP4
0000139a: SUB
0000139b: DUP2
0000139c: DUP7
0000139d: GAS
0000139e: STATICCALL
0000139f: ISZERO
000013a0: DUP1
000013a1: ISZERO
000013a2: PUSH2 0x13af
000013a5: JUMPI
000013a6: RETURNDATASIZE
000013a7: PUSH1 0x00
000013a9: DUP1
000013aa: RETURNDATACOPY
000013ab: RETURNDATASIZE
000013ac: PUSH1 0x00
000013ae: REVERT
000013af: JUMPDEST
000013b0: POP
000013b1: POP
000013b2: POP
000013b3: POP
000013b4: PUSH1 0x40
000013b6: MLOAD
000013b7: RETURNDATASIZE
000013b8: PUSH1 0x1f
000013ba: NOT
000013bb: PUSH1 0x1f
000013bd: DUP3
000013be: ADD
000013bf: AND
000013c0: DUP3
000013c1: ADD
000013c2: DUP1
000013c3: PUSH1 0x40
000013c5: MSTORE
000013c6: POP
000013c7: DUP2
000013c8: ADD
000013c9: SWAP1
000013ca: PUSH2 0x13d3
000013cd: SWAP2
000013ce: SWAP1
000013cf: PUSH2 0x5005
000013d2: JUMP
000013d3: JUMPDEST
000013d4: DUP2
000013d5: PUSH1 0x20
000013d7: ADD
000013d8: MLOAD
000013d9: PUSH16 0xffffffffffffffffffffffffffffffff
000013ea: AND
000013eb: LT
000013ec: ISZERO
000013ed: PUSH2 0x149e
000013f0: JUMPI
000013f1: PUSH1 0x40
000013f3: MLOAD
000013f4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001415: DUP2
00001416: MSTORE
00001417: PUSH1 0x20
00001419: PUSH1 0x04
0000141b: DUP3
0000141c: ADD
0000141d: MSTORE
0000141e: PUSH1 0x4b
00001420: PUSH1 0x24
00001422: DUP3
00001423: ADD
00001424: MSTORE
00001425: PUSH32 0x4f7074696d69736d506f7274616c3a207769746864726177616c2074696d6573
00001446: PUSH1 0x44
00001448: DUP3
00001449: ADD
0000144a: MSTORE
0000144b: PUSH32 0x74616d70206c657373207468616e204c32204f7261636c65207374617274696e
0000146c: PUSH1 0x64
0000146e: DUP3
0000146f: ADD
00001470: MSTORE
00001471: PUSH32 0x672074696d657374616d70000000000000000000000000000000000000000000
00001492: PUSH1 0x84
00001494: DUP3
00001495: ADD
00001496: MSTORE
00001497: PUSH1 0xa4
00001499: ADD
0000149a: PUSH2 0x0add
0000149d: JUMP
0000149e: JUMPDEST
0000149f: PUSH2 0x14bd
000014a2: DUP2
000014a3: PUSH1 0x20
000014a5: ADD
000014a6: MLOAD
000014a7: PUSH16 0xffffffffffffffffffffffffffffffff
000014b8: AND
000014b9: PUSH2 0x25bb
000014bc: JUMP
000014bd: JUMPDEST
000014be: PUSH2 0x156f
000014c1: JUMPI
000014c2: PUSH1 0x40
000014c4: MLOAD
000014c5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000014e6: DUP2
000014e7: MSTORE
000014e8: PUSH1 0x20
000014ea: PUSH1 0x04
000014ec: DUP3
000014ed: ADD
000014ee: MSTORE
000014ef: PUSH1 0x45
000014f1: PUSH1 0x24
000014f3: DUP3
000014f4: ADD
000014f5: MSTORE
000014f6: PUSH32 0x4f7074696d69736d506f7274616c3a2070726f76656e20776974686472617761
00001517: PUSH1 0x44
00001519: DUP3
0000151a: ADD
0000151b: MSTORE
0000151c: PUSH32 0x6c2066696e616c697a6174696f6e20706572696f6420686173206e6f7420656c
0000153d: PUSH1 0x64
0000153f: DUP3
00001540: ADD
00001541: MSTORE
00001542: PUSH32 0x6170736564000000000000000000000000000000000000000000000000000000
00001563: PUSH1 0x84
00001565: DUP3
00001566: ADD
00001567: MSTORE
00001568: PUSH1 0xa4
0000156a: ADD
0000156b: PUSH2 0x0add
0000156e: JUMP
0000156f: JUMPDEST
00001570: PUSH1 0x36
00001572: SLOAD
00001573: PUSH1 0x40
00001575: DUP3
00001576: DUP2
00001577: ADD
00001578: MLOAD
00001579: SWAP1
0000157a: MLOAD
0000157b: PUSH32 0xa25ae55700000000000000000000000000000000000000000000000000000000
0000159c: DUP2
0000159d: MSTORE
0000159e: PUSH16 0xffffffffffffffffffffffffffffffff
000015af: SWAP1
000015b0: SWAP2
000015b1: AND
000015b2: PUSH1 0x04
000015b4: DUP3
000015b5: ADD
000015b6: MSTORE
000015b7: PUSH1 0x00
000015b9: SWAP2
000015ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000015cf: AND
000015d0: SWAP1
000015d1: PUSH4 0xa25ae557
000015d6: SWAP1
000015d7: PUSH1 0x24
000015d9: ADD
000015da: PUSH1 0x60
000015dc: PUSH1 0x40
000015de: MLOAD
000015df: DUP1
000015e0: DUP4
000015e1: SUB
000015e2: DUP2
000015e3: DUP7
000015e4: GAS
000015e5: STATICCALL
000015e6: ISZERO
000015e7: DUP1
000015e8: ISZERO
000015e9: PUSH2 0x15f6
000015ec: JUMPI
000015ed: RETURNDATASIZE
000015ee: PUSH1 0x00
000015f0: DUP1
000015f1: RETURNDATACOPY
000015f2: RETURNDATASIZE
000015f3: PUSH1 0x00
000015f5: REVERT
000015f6: JUMPDEST
000015f7: POP
000015f8: POP
000015f9: POP
000015fa: POP
000015fb: PUSH1 0x40
000015fd: MLOAD
000015fe: RETURNDATASIZE
000015ff: PUSH1 0x1f
00001601: NOT
00001602: PUSH1 0x1f
00001604: DUP3
00001605: ADD
00001606: AND
00001607: DUP3
00001608: ADD
00001609: DUP1
0000160a: PUSH1 0x40
0000160c: MSTORE
0000160d: POP
0000160e: DUP2
0000160f: ADD
00001610: SWAP1
00001611: PUSH2 0x161a
00001614: SWAP2
00001615: SWAP1
00001616: PUSH2 0x505b
00001619: JUMP
0000161a: JUMPDEST
0000161b: DUP3
0000161c: MLOAD
0000161d: DUP2
0000161e: MLOAD
0000161f: SWAP2
00001620: SWAP3
00001621: POP
00001622: EQ
00001623: PUSH2 0x16d4
00001626: JUMPI
00001627: PUSH1 0x40
00001629: MLOAD
0000162a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000164b: DUP2
0000164c: MSTORE
0000164d: PUSH1 0x20
0000164f: PUSH1 0x04
00001651: DUP3
00001652: ADD
00001653: MSTORE
00001654: PUSH1 0x49
00001656: PUSH1 0x24
00001658: DUP3
00001659: ADD
0000165a: MSTORE
0000165b: PUSH32 0x4f7074696d69736d506f7274616c3a206f757470757420726f6f742070726f76
0000167c: PUSH1 0x44
0000167e: DUP3
0000167f: ADD
00001680: MSTORE
00001681: PUSH32 0x656e206973206e6f74207468652073616d652061732063757272656e74206f75
000016a2: PUSH1 0x64
000016a4: DUP3
000016a5: ADD
000016a6: MSTORE
000016a7: PUSH32 0x7470757420726f6f740000000000000000000000000000000000000000000000
000016c8: PUSH1 0x84
000016ca: DUP3
000016cb: ADD
000016cc: MSTORE
000016cd: PUSH1 0xa4
000016cf: ADD
000016d0: PUSH2 0x0add
000016d3: JUMP
000016d4: JUMPDEST
000016d5: PUSH2 0x16f3
000016d8: DUP2
000016d9: PUSH1 0x20
000016db: ADD
000016dc: MLOAD
000016dd: PUSH16 0xffffffffffffffffffffffffffffffff
000016ee: AND
000016ef: PUSH2 0x25bb
000016f2: JUMP
000016f3: JUMPDEST
000016f4: PUSH2 0x17a5
000016f7: JUMPI
000016f8: PUSH1 0x40
000016fa: MLOAD
000016fb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000171c: DUP2
0000171d: MSTORE
0000171e: PUSH1 0x20
00001720: PUSH1 0x04
00001722: DUP3
00001723: ADD
00001724: MSTORE
00001725: PUSH1 0x43
00001727: PUSH1 0x24
00001729: DUP3
0000172a: ADD
0000172b: MSTORE
0000172c: PUSH32 0x4f7074696d69736d506f7274616c3a206f75747075742070726f706f73616c20
0000174d: PUSH1 0x44
0000174f: DUP3
00001750: ADD
00001751: MSTORE
00001752: PUSH32 0x66696e616c697a6174696f6e20706572696f6420686173206e6f7420656c6170
00001773: PUSH1 0x64
00001775: DUP3
00001776: ADD
00001777: MSTORE
00001778: PUSH32 0x7365640000000000000000000000000000000000000000000000000000000000
00001799: PUSH1 0x84
0000179b: DUP3
0000179c: ADD
0000179d: MSTORE
0000179e: PUSH1 0xa4
000017a0: ADD
000017a1: PUSH2 0x0add
000017a4: JUMP
000017a5: JUMPDEST
000017a6: PUSH1 0x00
000017a8: DUP4
000017a9: DUP2
000017aa: MSTORE
000017ab: PUSH1 0x33
000017ad: PUSH1 0x20
000017af: MSTORE
000017b0: PUSH1 0x40
000017b2: SWAP1
000017b3: KECCAK256
000017b4: SLOAD
000017b5: PUSH1 0xff
000017b7: AND
000017b8: ISZERO
000017b9: PUSH2 0x1844
000017bc: JUMPI
000017bd: PUSH1 0x40
000017bf: MLOAD
000017c0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000017e1: DUP2
000017e2: MSTORE
000017e3: PUSH1 0x20
000017e5: PUSH1 0x04
000017e7: DUP3
000017e8: ADD
000017e9: MSTORE
000017ea: PUSH1 0x35
000017ec: PUSH1 0x24
000017ee: DUP3
000017ef: ADD
000017f0: MSTORE
000017f1: PUSH32 0x4f7074696d69736d506f7274616c3a207769746864726177616c206861732061
00001812: PUSH1 0x44
00001814: DUP3
00001815: ADD
00001816: MSTORE
00001817: PUSH32 0x6c7265616479206265656e2066696e616c697a65640000000000000000000000
00001838: PUSH1 0x64
0000183a: DUP3
0000183b: ADD
0000183c: MSTORE
0000183d: PUSH1 0x84
0000183f: ADD
00001840: PUSH2 0x0add
00001843: JUMP
00001844: JUMPDEST
00001845: PUSH1 0x00
00001847: DUP4
00001848: DUP2
00001849: MSTORE
0000184a: PUSH1 0x33
0000184c: PUSH1 0x20
0000184e: SWAP1
0000184f: DUP2
00001850: MSTORE
00001851: PUSH1 0x40
00001853: DUP3
00001854: KECCAK256
00001855: DUP1
00001856: SLOAD
00001857: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00001878: AND
00001879: PUSH1 0x01
0000187b: OR
0000187c: SWAP1
0000187d: SSTORE
0000187e: DUP6
0000187f: ADD
00001880: MLOAD
00001881: PUSH1 0x32
00001883: DUP1
00001884: SLOAD
00001885: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000189a: SWAP1
0000189b: SWAP3
0000189c: AND
0000189d: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000018be: SWAP1
000018bf: SWAP3
000018c0: AND
000018c1: SWAP2
000018c2: SWAP1
000018c3: SWAP2
000018c4: OR
000018c5: SWAP1
000018c6: SSTORE
000018c7: DUP1
000018c8: PUSH2 0x18cf
000018cb: PUSH2 0x1f19
000018ce: JUMP
000018cf: JUMPDEST
000018d0: POP
000018d1: SWAP1
000018d2: POP
000018d3: PUSH32 0xffffffffffffffffffffffff1111111111111111111111111111111111111112
000018f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001909: DUP3
0000190a: AND
0000190b: ADD
0000190c: PUSH2 0x1932
0000190f: JUMPI
00001910: PUSH2 0x192b
00001913: DUP7
00001914: PUSH1 0x40
00001916: ADD
00001917: MLOAD
00001918: DUP8
00001919: PUSH1 0x80
0000191b: ADD
0000191c: MLOAD
0000191d: DUP9
0000191e: PUSH1 0x60
00001920: ADD
00001921: MLOAD
00001922: DUP10
00001923: PUSH1 0xa0
00001925: ADD
00001926: MLOAD
00001927: PUSH2 0x26c3
0000192a: JUMP
0000192b: JUMPDEST
0000192c: SWAP2
0000192d: POP
0000192e: PUSH2 0x1b85
00001931: JUMP
00001932: JUMPDEST
00001933: DUP1
00001934: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001949: AND
0000194a: DUP7
0000194b: PUSH1 0x40
0000194d: ADD
0000194e: MLOAD
0000194f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001964: AND
00001965: SUB
00001966: PUSH2 0x199b
00001969: JUMPI
0000196a: PUSH1 0x40
0000196c: MLOAD
0000196d: PUSH32 0x13496fda00000000000000000000000000000000000000000000000000000000
0000198e: DUP2
0000198f: MSTORE
00001990: PUSH1 0x04
00001992: ADD
00001993: PUSH1 0x40
00001995: MLOAD
00001996: DUP1
00001997: SWAP2
00001998: SUB
00001999: SWAP1
0000199a: REVERT
0000199b: JUMPDEST
0000199c: PUSH1 0x60
0000199e: DUP7
0000199f: ADD
000019a0: MLOAD
000019a1: ISZERO
000019a2: PUSH2 0x1b5c
000019a5: JUMPI
000019a6: DUP6
000019a7: PUSH1 0x60
000019a9: ADD
000019aa: MLOAD
000019ab: PUSH1 0x3d
000019ad: PUSH1 0x00
000019af: DUP3
000019b0: DUP3
000019b1: SLOAD
000019b2: PUSH2 0x19bb
000019b5: SWAP2
000019b6: SWAP1
000019b7: PUSH2 0x522c
000019ba: JUMP
000019bb: JUMPDEST
000019bc: SWAP1
000019bd: SWAP2
000019be: SSTORE
000019bf: POP
000019c0: POP
000019c1: PUSH1 0x40
000019c3: MLOAD
000019c4: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
000019e5: DUP2
000019e6: MSTORE
000019e7: ADDRESS
000019e8: PUSH1 0x04
000019ea: DUP3
000019eb: ADD
000019ec: MSTORE
000019ed: PUSH1 0x00
000019ef: SWAP1
000019f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a05: DUP4
00001a06: AND
00001a07: SWAP1
00001a08: PUSH4 0x70a08231
00001a0d: SWAP1
00001a0e: PUSH1 0x24
00001a10: ADD
00001a11: PUSH1 0x20
00001a13: PUSH1 0x40
00001a15: MLOAD
00001a16: DUP1
00001a17: DUP4
00001a18: SUB
00001a19: DUP2
00001a1a: DUP7
00001a1b: GAS
00001a1c: STATICCALL
00001a1d: ISZERO
00001a1e: DUP1
00001a1f: ISZERO
00001a20: PUSH2 0x1a2d
00001a23: JUMPI
00001a24: RETURNDATASIZE
00001a25: PUSH1 0x00
00001a27: DUP1
00001a28: RETURNDATACOPY
00001a29: RETURNDATASIZE
00001a2a: PUSH1 0x00
00001a2c: REVERT
00001a2d: JUMPDEST
00001a2e: POP
00001a2f: POP
00001a30: POP
00001a31: POP
00001a32: PUSH1 0x40
00001a34: MLOAD
00001a35: RETURNDATASIZE
00001a36: PUSH1 0x1f
00001a38: NOT
00001a39: PUSH1 0x1f
00001a3b: DUP3
00001a3c: ADD
00001a3d: AND
00001a3e: DUP3
00001a3f: ADD
00001a40: DUP1
00001a41: PUSH1 0x40
00001a43: MSTORE
00001a44: POP
00001a45: DUP2
00001a46: ADD
00001a47: SWAP1
00001a48: PUSH2 0x1a51
00001a4b: SWAP2
00001a4c: SWAP1
00001a4d: PUSH2 0x5005
00001a50: JUMP
00001a51: JUMPDEST
00001a52: SWAP1
00001a53: POP
00001a54: PUSH2 0x1a86
00001a57: DUP8
00001a58: PUSH1 0x40
00001a5a: ADD
00001a5b: MLOAD
00001a5c: DUP9
00001a5d: PUSH1 0x60
00001a5f: ADD
00001a60: MLOAD
00001a61: DUP5
00001a62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a77: AND
00001a78: PUSH2 0x2721
00001a7b: SWAP1
00001a7c: SWAP3
00001a7d: SWAP2
00001a7e: SWAP1
00001a7f: PUSH4 0xffffffff
00001a84: AND
00001a85: JUMP
00001a86: JUMPDEST
00001a87: PUSH1 0x60
00001a89: DUP8
00001a8a: ADD
00001a8b: MLOAD
00001a8c: PUSH2 0x1a95
00001a8f: SWAP1
00001a90: DUP3
00001a91: PUSH2 0x522c
00001a94: JUMP
00001a95: JUMPDEST
00001a96: PUSH1 0x40
00001a98: MLOAD
00001a99: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00001aba: DUP2
00001abb: MSTORE
00001abc: ADDRESS
00001abd: PUSH1 0x04
00001abf: DUP3
00001ac0: ADD
00001ac1: MSTORE
00001ac2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ad7: DUP5
00001ad8: AND
00001ad9: SWAP1
00001ada: PUSH4 0x70a08231
00001adf: SWAP1
00001ae0: PUSH1 0x24
00001ae2: ADD
00001ae3: PUSH1 0x20
00001ae5: PUSH1 0x40
00001ae7: MLOAD
00001ae8: DUP1
00001ae9: DUP4
00001aea: SUB
00001aeb: DUP2
00001aec: DUP7
00001aed: GAS
00001aee: STATICCALL
00001aef: ISZERO
00001af0: DUP1
00001af1: ISZERO
00001af2: PUSH2 0x1aff
00001af5: JUMPI
00001af6: RETURNDATASIZE
00001af7: PUSH1 0x00
00001af9: DUP1
00001afa: RETURNDATACOPY
00001afb: RETURNDATASIZE
00001afc: PUSH1 0x00
00001afe: REVERT
00001aff: JUMPDEST
00001b00: POP
00001b01: POP
00001b02: POP
00001b03: POP
00001b04: PUSH1 0x40
00001b06: MLOAD
00001b07: RETURNDATASIZE
00001b08: PUSH1 0x1f
00001b0a: NOT
00001b0b: PUSH1 0x1f
00001b0d: DUP3
00001b0e: ADD
00001b0f: AND
00001b10: DUP3
00001b11: ADD
00001b12: DUP1
00001b13: PUSH1 0x40
00001b15: MSTORE
00001b16: POP
00001b17: DUP2
00001b18: ADD
00001b19: SWAP1
00001b1a: PUSH2 0x1b23
00001b1d: SWAP2
00001b1e: SWAP1
00001b1f: PUSH2 0x5005
00001b22: JUMP
00001b23: JUMPDEST
00001b24: EQ
00001b25: PUSH2 0x1b5a
00001b28: JUMPI
00001b29: PUSH1 0x40
00001b2b: MLOAD
00001b2c: PUSH32 0x90b8ec1800000000000000000000000000000000000000000000000000000000
00001b4d: DUP2
00001b4e: MSTORE
00001b4f: PUSH1 0x04
00001b51: ADD
00001b52: PUSH1 0x40
00001b54: MLOAD
00001b55: DUP1
00001b56: SWAP2
00001b57: SUB
00001b58: SWAP1
00001b59: REVERT
00001b5a: JUMPDEST
00001b5b: POP
00001b5c: JUMPDEST
00001b5d: PUSH1 0xa0
00001b5f: DUP7
00001b60: ADD
00001b61: MLOAD
00001b62: MLOAD
00001b63: ISZERO
00001b64: PUSH2 0x1b80
00001b67: JUMPI
00001b68: PUSH2 0x192b
00001b6b: DUP7
00001b6c: PUSH1 0x40
00001b6e: ADD
00001b6f: MLOAD
00001b70: DUP8
00001b71: PUSH1 0x80
00001b73: ADD
00001b74: MLOAD
00001b75: PUSH1 0x00
00001b77: DUP10
00001b78: PUSH1 0xa0
00001b7a: ADD
00001b7b: MLOAD
00001b7c: PUSH2 0x26c3
00001b7f: JUMP
00001b80: JUMPDEST
00001b81: PUSH1 0x01
00001b83: SWAP2
00001b84: POP
00001b85: JUMPDEST
00001b86: PUSH1 0x32
00001b88: DUP1
00001b89: SLOAD
00001b8a: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00001bab: AND
00001bac: PUSH2 0xdead
00001baf: OR
00001bb0: SWAP1
00001bb1: SSTORE
00001bb2: PUSH1 0x40
00001bb4: MLOAD
00001bb5: DUP6
00001bb6: SWAP1
00001bb7: PUSH32 0xdb5c7652857aa163daadd670e116628fb42e869d8ac4251ef8971d9e5727df1b
00001bd8: SWAP1
00001bd9: PUSH2 0x1be7
00001bdc: SWAP1
00001bdd: DUP6
00001bde: ISZERO
00001bdf: ISZERO
00001be0: DUP2
00001be1: MSTORE
00001be2: PUSH1 0x20
00001be4: ADD
00001be5: SWAP1
00001be6: JUMP
00001be7: JUMPDEST
00001be8: PUSH1 0x40
00001bea: MLOAD
00001beb: DUP1
00001bec: SWAP2
00001bed: SUB
00001bee: SWAP1
00001bef: LOG2
00001bf0: DUP2
00001bf1: ISZERO
00001bf2: DUP1
00001bf3: ISZERO
00001bf4: PUSH2 0x1bfd
00001bf7: JUMPI
00001bf8: POP
00001bf9: ORIGIN
00001bfa: PUSH1 0x01
00001bfc: EQ
00001bfd: JUMPDEST
00001bfe: ISZERO
00001bff: PUSH2 0x1c34
00001c02: JUMPI
00001c03: PUSH1 0x40
00001c05: MLOAD
00001c06: PUSH32 0xeeae4ed300000000000000000000000000000000000000000000000000000000
00001c27: DUP2
00001c28: MSTORE
00001c29: PUSH1 0x04
00001c2b: ADD
00001c2c: PUSH1 0x40
00001c2e: MLOAD
00001c2f: DUP1
00001c30: SWAP2
00001c31: SUB
00001c32: SWAP1
00001c33: REVERT
00001c34: JUMPDEST
00001c35: POP
00001c36: POP
00001c37: POP
00001c38: POP
00001c39: POP
00001c3a: POP
00001c3b: JUMP
00001c3c: JUMPDEST
00001c3d: PUSH1 0x00
00001c3f: PUSH2 0x1c49
00001c42: DUP3
00001c43: PUSH1 0x10
00001c45: PUSH2 0x5243
00001c48: JUMP
00001c49: JUMPDEST
00001c4a: PUSH2 0x0ff2
00001c4d: SWAP1
00001c4e: PUSH2 0x5208
00001c51: PUSH2 0x5273
00001c54: JUMP
00001c55: JUMPDEST
00001c56: PUSH1 0x00
00001c58: DUP1
00001c59: PUSH2 0x1c60
00001c5c: PUSH2 0x1f19
00001c5f: JUMP
00001c60: JUMPDEST
00001c61: POP
00001c62: SWAP1
00001c63: POP
00001c64: PUSH32 0xffffffffffffffffffffffff1111111111111111111111111111111111111112
00001c85: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c9a: DUP3
00001c9b: AND
00001c9c: ADD
00001c9d: PUSH2 0x1ca7
00001ca0: JUMPI
00001ca1: SELFBALANCE
00001ca2: SWAP2
00001ca3: POP
00001ca4: POP
00001ca5: SWAP1
00001ca6: JUMP
00001ca7: JUMPDEST
00001ca8: POP
00001ca9: POP
00001caa: PUSH1 0x3d
00001cac: SLOAD
00001cad: SWAP1
00001cae: JUMP
00001caf: JUMPDEST
00001cb0: PUSH1 0x00
00001cb2: SLOAD
00001cb3: PUSH2 0x0100
00001cb6: SWAP1
00001cb7: DIV
00001cb8: PUSH1 0xff
00001cba: AND
00001cbb: ISZERO
00001cbc: DUP1
00001cbd: DUP1
00001cbe: ISZERO
00001cbf: PUSH2 0x1ccf
00001cc2: JUMPI
00001cc3: POP
00001cc4: PUSH1 0x00
00001cc6: SLOAD
00001cc7: PUSH1 0x01
00001cc9: PUSH1 0xff
00001ccb: SWAP1
00001ccc: SWAP2
00001ccd: AND
00001cce: LT
00001ccf: JUMPDEST
00001cd0: DUP1
00001cd1: PUSH2 0x1ce9
00001cd4: JUMPI
00001cd5: POP
00001cd6: ADDRESS
00001cd7: EXTCODESIZE
00001cd8: ISZERO
00001cd9: DUP1
00001cda: ISZERO
00001cdb: PUSH2 0x1ce9
00001cde: JUMPI
00001cdf: POP
00001ce0: PUSH1 0x00
00001ce2: SLOAD
00001ce3: PUSH1 0xff
00001ce5: AND
00001ce6: PUSH1 0x01
00001ce8: EQ
00001ce9: JUMPDEST
00001cea: PUSH2 0x1d75
00001ced: JUMPI
00001cee: PUSH1 0x40
00001cf0: MLOAD
00001cf1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001d12: DUP2
00001d13: MSTORE
00001d14: PUSH1 0x20
00001d16: PUSH1 0x04
00001d18: DUP3
00001d19: ADD
00001d1a: MSTORE
00001d1b: PUSH1 0x2e
00001d1d: PUSH1 0x24
00001d1f: DUP3
00001d20: ADD
00001d21: MSTORE
00001d22: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
00001d43: PUSH1 0x44
00001d45: DUP3
00001d46: ADD
00001d47: MSTORE
00001d48: PUSH32 0x647920696e697469616c697a6564000000000000000000000000000000000000
00001d69: PUSH1 0x64
00001d6b: DUP3
00001d6c: ADD
00001d6d: MSTORE
00001d6e: PUSH1 0x84
00001d70: ADD
00001d71: PUSH2 0x0add
00001d74: JUMP
00001d75: JUMPDEST
00001d76: PUSH1 0x00
00001d78: DUP1
00001d79: SLOAD
00001d7a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00001d9b: AND
00001d9c: PUSH1 0x01
00001d9e: OR
00001d9f: SWAP1
00001da0: SSTORE
00001da1: DUP1
00001da2: ISZERO
00001da3: PUSH2 0x1dd3
00001da6: JUMPI
00001da7: PUSH1 0x00
00001da9: DUP1
00001daa: SLOAD
00001dab: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
00001dcc: AND
00001dcd: PUSH2 0x0100
00001dd0: OR
00001dd1: SWAP1
00001dd2: SSTORE
00001dd3: JUMPDEST
00001dd4: PUSH1 0x36
00001dd6: DUP1
00001dd7: SLOAD
00001dd8: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00001df9: SWAP1
00001dfa: DUP2
00001dfb: AND
00001dfc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e11: DUP8
00001e12: DUP2
00001e13: AND
00001e14: SWAP2
00001e15: SWAP1
00001e16: SWAP2
00001e17: OR
00001e18: SWAP1
00001e19: SWAP3
00001e1a: SSTORE
00001e1b: PUSH1 0x37
00001e1d: DUP1
00001e1e: SLOAD
00001e1f: SWAP1
00001e20: SWAP2
00001e21: AND
00001e22: DUP6
00001e23: DUP4
00001e24: AND
00001e25: OR
00001e26: SWAP1
00001e27: SSTORE
00001e28: PUSH1 0x35
00001e2a: DUP1
00001e2b: SLOAD
00001e2c: PUSH32 0xffffffffffffffffffffff0000000000000000000000000000000000000000ff
00001e4d: AND
00001e4e: PUSH2 0x0100
00001e51: DUP6
00001e52: DUP5
00001e53: AND
00001e54: MUL
00001e55: OR
00001e56: SWAP1
00001e57: SSTORE
00001e58: PUSH1 0x32
00001e5a: SLOAD
00001e5b: AND
00001e5c: PUSH2 0x1e8c
00001e5f: JUMPI
00001e60: PUSH1 0x32
00001e62: DUP1
00001e63: SLOAD
00001e64: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00001e85: AND
00001e86: PUSH2 0xdead
00001e89: OR
00001e8a: SWAP1
00001e8b: SSTORE
00001e8c: JUMPDEST
00001e8d: PUSH2 0x1e94
00001e90: PUSH2 0x277c
00001e93: JUMP
00001e94: JUMPDEST
00001e95: DUP1
00001e96: ISZERO
00001e97: PUSH2 0x1ef7
00001e9a: JUMPI
00001e9b: PUSH1 0x00
00001e9d: DUP1
00001e9e: SLOAD
00001e9f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
00001ec0: AND
00001ec1: SWAP1
00001ec2: SSTORE
00001ec3: PUSH1 0x40
00001ec5: MLOAD
00001ec6: PUSH1 0x01
00001ec8: DUP2
00001ec9: MSTORE
00001eca: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
00001eeb: SWAP1
00001eec: PUSH1 0x20
00001eee: ADD
00001eef: PUSH1 0x40
00001ef1: MLOAD
00001ef2: DUP1
00001ef3: SWAP2
00001ef4: SUB
00001ef5: SWAP1
00001ef6: LOG1
00001ef7: JUMPDEST
00001ef8: POP
00001ef9: POP
00001efa: POP
00001efb: POP
00001efc: JUMP
00001efd: JUMPDEST
00001efe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f13: AND
00001f14: EXTCODESIZE
00001f15: ISZERO
00001f16: ISZERO
00001f17: SWAP1
00001f18: JUMP
00001f19: JUMPDEST
00001f1a: PUSH1 0x37
00001f1c: SLOAD
00001f1d: PUSH1 0x40
00001f1f: DUP1
00001f20: MLOAD
00001f21: PUSH32 0x4397dfef00000000000000000000000000000000000000000000000000000000
00001f42: DUP2
00001f43: MSTORE
00001f44: DUP2
00001f45: MLOAD
00001f46: PUSH1 0x00
00001f48: SWAP4
00001f49: DUP5
00001f4a: SWAP4
00001f4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f60: SWAP1
00001f61: SWAP2
00001f62: AND
00001f63: SWAP3
00001f64: PUSH4 0x4397dfef
00001f69: SWAP3
00001f6a: PUSH1 0x04
00001f6c: DUP1
00001f6d: DUP4
00001f6e: ADD
00001f6f: SWAP4
00001f70: SWAP3
00001f71: DUP3
00001f72: SWAP1
00001f73: SUB
00001f74: ADD
00001f75: DUP2
00001f76: DUP7
00001f77: GAS
00001f78: STATICCALL
00001f79: ISZERO
00001f7a: DUP1
00001f7b: ISZERO
00001f7c: PUSH2 0x1f89
00001f7f: JUMPI
00001f80: RETURNDATASIZE
00001f81: PUSH1 0x00
00001f83: DUP1
00001f84: RETURNDATACOPY
00001f85: RETURNDATASIZE
00001f86: PUSH1 0x00
00001f88: REVERT
00001f89: JUMPDEST
00001f8a: POP
00001f8b: POP
00001f8c: POP
00001f8d: POP
00001f8e: PUSH1 0x40
00001f90: MLOAD
00001f91: RETURNDATASIZE
00001f92: PUSH1 0x1f
00001f94: NOT
00001f95: PUSH1 0x1f
00001f97: DUP3
00001f98: ADD
00001f99: AND
00001f9a: DUP3
00001f9b: ADD
00001f9c: DUP1
00001f9d: PUSH1 0x40
00001f9f: MSTORE
00001fa0: POP
00001fa1: DUP2
00001fa2: ADD
00001fa3: SWAP1
00001fa4: PUSH2 0x1fad
00001fa7: SWAP2
00001fa8: SWAP1
00001fa9: PUSH2 0x529f
00001fac: JUMP
00001fad: JUMPDEST
00001fae: SWAP1
00001faf: SWAP4
00001fb0: SWAP1
00001fb1: SWAP3
00001fb2: POP
00001fb3: SWAP1
00001fb4: POP
00001fb5: JUMP
00001fb6: JUMPDEST
00001fb7: DUP2
00001fb8: DUP1
00001fb9: ISZERO
00001fba: PUSH2 0x1fd8
00001fbd: JUMPI
00001fbe: POP
00001fbf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fd4: DUP7
00001fd5: AND
00001fd6: ISZERO
00001fd7: ISZERO
00001fd8: JUMPDEST
00001fd9: ISZERO
00001fda: PUSH2 0x200f
00001fdd: JUMPI
00001fde: PUSH1 0x40
00001fe0: MLOAD
00001fe1: PUSH32 0x13496fda00000000000000000000000000000000000000000000000000000000
00002002: DUP2
00002003: MSTORE
00002004: PUSH1 0x04
00002006: ADD
00002007: PUSH1 0x40
00002009: MLOAD
0000200a: DUP1
0000200b: SWAP2
0000200c: SUB
0000200d: SWAP1
0000200e: REVERT
0000200f: JUMPDEST
00002010: PUSH2 0x2019
00002013: DUP2
00002014: MLOAD
00002015: PUSH2 0x1c3c
00002018: JUMP
00002019: JUMPDEST
0000201a: PUSH8 0xffffffffffffffff
00002023: AND
00002024: DUP4
00002025: PUSH8 0xffffffffffffffff
0000202e: AND
0000202f: LT
00002030: ISZERO
00002031: PUSH2 0x2066
00002034: JUMPI
00002035: PUSH1 0x40
00002037: MLOAD
00002038: PUSH32 0x4929b80800000000000000000000000000000000000000000000000000000000
00002059: DUP2
0000205a: MSTORE
0000205b: PUSH1 0x04
0000205d: ADD
0000205e: PUSH1 0x40
00002060: MLOAD
00002061: DUP1
00002062: SWAP2
00002063: SUB
00002064: SWAP1
00002065: REVERT
00002066: JUMPDEST
00002067: PUSH3 0x01d4c0
0000206b: DUP2
0000206c: MLOAD
0000206d: GT
0000206e: ISZERO
0000206f: PUSH2 0x20a4
00002072: JUMPI
00002073: PUSH1 0x40
00002075: MLOAD
00002076: PUSH32 0x73052b0f00000000000000000000000000000000000000000000000000000000
00002097: DUP2
00002098: MSTORE
00002099: PUSH1 0x04
0000209b: ADD
0000209c: PUSH1 0x40
0000209e: MLOAD
0000209f: DUP1
000020a0: SWAP2
000020a1: SUB
000020a2: SWAP1
000020a3: REVERT
000020a4: JUMPDEST
000020a5: CALLER
000020a6: ORIGIN
000020a7: DUP2
000020a8: EQ
000020a9: PUSH2 0x20c5
000020ac: JUMPI
000020ad: POP
000020ae: CALLER
000020af: PUSH20 0x1111000000000000000000000000000000001111
000020c4: ADD
000020c5: JUMPDEST
000020c6: PUSH1 0x00
000020c8: DUP7
000020c9: DUP7
000020ca: DUP7
000020cb: DUP7
000020cc: DUP7
000020cd: PUSH1 0x40
000020cf: MLOAD
000020d0: PUSH1 0x20
000020d2: ADD
000020d3: PUSH2 0x20e0
000020d6: SWAP6
000020d7: SWAP5
000020d8: SWAP4
000020d9: SWAP3
000020da: SWAP2
000020db: SWAP1
000020dc: PUSH2 0x51c7
000020df: JUMP
000020e0: JUMPDEST
000020e1: PUSH1 0x40
000020e3: MLOAD
000020e4: PUSH1 0x20
000020e6: DUP2
000020e7: DUP4
000020e8: SUB
000020e9: SUB
000020ea: DUP2
000020eb: MSTORE
000020ec: SWAP1
000020ed: PUSH1 0x40
000020ef: MSTORE
000020f0: SWAP1
000020f1: POP
000020f2: PUSH1 0x00
000020f4: DUP9
000020f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000210a: AND
0000210b: DUP4
0000210c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002121: AND
00002122: PUSH32 0xb3813568d9991fc951961fcb4c784893574240a28925604d09fc577c55bb7c32
00002143: DUP5
00002144: PUSH1 0x40
00002146: MLOAD
00002147: PUSH2 0x2150
0000214a: SWAP2
0000214b: SWAP1
0000214c: PUSH2 0x4e1d
0000214f: JUMP
00002150: JUMPDEST
00002151: PUSH1 0x40
00002153: MLOAD
00002154: DUP1
00002155: SWAP2
00002156: SUB
00002157: SWAP1
00002158: LOG4
00002159: POP
0000215a: POP
0000215b: POP
0000215c: POP
0000215d: POP
0000215e: POP
0000215f: POP
00002160: POP
00002161: JUMP
00002162: JUMPDEST
00002163: PUSH1 0x01
00002165: SLOAD
00002166: PUSH1 0x00
00002168: SWAP1
00002169: PUSH2 0x2198
0000216c: SWAP1
0000216d: PUSH25 0x01000000000000000000000000000000000000000000000000
00002187: SWAP1
00002188: DIV
00002189: PUSH8 0xffffffffffffffff
00002192: AND
00002193: NUMBER
00002194: PUSH2 0x522c
00002197: JUMP
00002198: JUMPDEST
00002199: SWAP1
0000219a: POP
0000219b: PUSH1 0x00
0000219d: PUSH2 0x21a4
000021a0: PUSH2 0x288f
000021a3: JUMP
000021a4: JUMPDEST
000021a5: SWAP1
000021a6: POP
000021a7: PUSH1 0x00
000021a9: DUP2
000021aa: PUSH1 0x20
000021ac: ADD
000021ad: MLOAD
000021ae: PUSH1 0xff
000021b0: AND
000021b1: DUP3
000021b2: PUSH1 0x00
000021b4: ADD
000021b5: MLOAD
000021b6: PUSH4 0xffffffff
000021bb: AND
000021bc: PUSH2 0x21c5
000021bf: SWAP2
000021c0: SWAP1
000021c1: PUSH2 0x5308
000021c4: JUMP
000021c5: JUMPDEST
000021c6: SWAP1
000021c7: POP
000021c8: DUP3
000021c9: ISZERO
000021ca: PUSH2 0x22fc
000021cd: JUMPI
000021ce: PUSH1 0x01
000021d0: SLOAD
000021d1: PUSH1 0x00
000021d3: SWAP1
000021d4: PUSH2 0x21fc
000021d7: SWAP1
000021d8: DUP4
000021d9: SWAP1
000021da: PUSH17 0x0100000000000000000000000000000000
000021ec: SWAP1
000021ed: DIV
000021ee: PUSH8 0xffffffffffffffff
000021f7: AND
000021f8: PUSH2 0x5370
000021fb: JUMP
000021fc: JUMPDEST
000021fd: SWAP1
000021fe: POP
000021ff: PUSH1 0x00
00002201: DUP4
00002202: PUSH1 0x40
00002204: ADD
00002205: MLOAD
00002206: PUSH1 0xff
00002208: AND
00002209: DUP4
0000220a: PUSH2 0x2213
0000220d: SWAP2
0000220e: SWAP1
0000220f: PUSH2 0x53e4
00002212: JUMP
00002213: JUMPDEST
00002214: PUSH1 0x01
00002216: SLOAD
00002217: PUSH2 0x2233
0000221a: SWAP1
0000221b: DUP5
0000221c: SWAP1
0000221d: PUSH16 0xffffffffffffffffffffffffffffffff
0000222e: AND
0000222f: PUSH2 0x53e4
00002232: JUMP
00002233: JUMPDEST
00002234: PUSH2 0x223d
00002237: SWAP2
00002238: SWAP1
00002239: PUSH2 0x5308
0000223c: JUMP
0000223d: JUMPDEST
0000223e: PUSH1 0x01
00002240: SLOAD
00002241: SWAP1
00002242: SWAP2
00002243: POP
00002244: PUSH1 0x00
00002246: SWAP1
00002247: PUSH2 0x228e
0000224a: SWAP1
0000224b: PUSH2 0x2267
0000224e: SWAP1
0000224f: DUP5
00002250: SWAP1
00002251: PUSH16 0xffffffffffffffffffffffffffffffff
00002262: AND
00002263: PUSH2 0x54a0
00002266: JUMP
00002267: JUMPDEST
00002268: DUP7
00002269: PUSH1 0x60
0000226b: ADD
0000226c: MLOAD
0000226d: PUSH4 0xffffffff
00002272: AND
00002273: DUP8
00002274: PUSH1 0xa0
00002276: ADD
00002277: MLOAD
00002278: PUSH16 0xffffffffffffffffffffffffffffffff
00002289: AND
0000228a: PUSH2 0x2950
0000228d: JUMP
0000228e: JUMPDEST
0000228f: SWAP1
00002290: POP
00002291: PUSH1 0x01
00002293: DUP7
00002294: GT
00002295: ISZERO
00002296: PUSH2 0x22bd
00002299: JUMPI
0000229a: PUSH2 0x22ba
0000229d: PUSH2 0x2267
000022a0: DUP3
000022a1: DUP8
000022a2: PUSH1 0x40
000022a4: ADD
000022a5: MLOAD
000022a6: PUSH1 0xff
000022a8: AND
000022a9: PUSH1 0x01
000022ab: DUP11
000022ac: PUSH2 0x22b5
000022af: SWAP2
000022b0: SWAP1
000022b1: PUSH2 0x522c
000022b4: JUMP
000022b5: JUMPDEST
000022b6: PUSH2 0x296f
000022b9: JUMP
000022ba: JUMPDEST
000022bb: SWAP1
000022bc: POP
000022bd: JUMPDEST
000022be: PUSH16 0xffffffffffffffffffffffffffffffff
000022cf: AND
000022d0: PUSH25 0x01000000000000000000000000000000000000000000000000
000022ea: PUSH8 0xffffffffffffffff
000022f3: NUMBER
000022f4: AND
000022f5: MUL
000022f6: OR
000022f7: PUSH1 0x01
000022f9: SSTORE
000022fa: POP
000022fb: POP
000022fc: JUMPDEST
000022fd: PUSH1 0x01
000022ff: DUP1
00002300: SLOAD
00002301: DUP7
00002302: SWAP2
00002303: SWAP1
00002304: PUSH1 0x10
00002306: SWAP1
00002307: PUSH2 0x232f
0000230a: SWAP1
0000230b: DUP5
0000230c: SWAP1
0000230d: PUSH17 0x0100000000000000000000000000000000
0000231f: SWAP1
00002320: DIV
00002321: PUSH8 0xffffffffffffffff
0000232a: AND
0000232b: PUSH2 0x5273
0000232e: JUMP
0000232f: JUMPDEST
00002330: SWAP3
00002331: POP
00002332: PUSH2 0x0100
00002335: EXP
00002336: DUP2
00002337: SLOAD
00002338: DUP2
00002339: PUSH8 0xffffffffffffffff
00002342: MUL
00002343: NOT
00002344: AND
00002345: SWAP1
00002346: DUP4
00002347: PUSH8 0xffffffffffffffff
00002350: AND
00002351: MUL
00002352: OR
00002353: SWAP1
00002354: SSTORE
00002355: POP
00002356: DUP2
00002357: PUSH1 0x00
00002359: ADD
0000235a: MLOAD
0000235b: PUSH4 0xffffffff
00002360: AND
00002361: PUSH1 0x01
00002363: PUSH1 0x00
00002365: ADD
00002366: PUSH1 0x10
00002368: SWAP1
00002369: SLOAD
0000236a: SWAP1
0000236b: PUSH2 0x0100
0000236e: EXP
0000236f: SWAP1
00002370: DIV
00002371: PUSH8 0xffffffffffffffff
0000237a: AND
0000237b: PUSH8 0xffffffffffffffff
00002384: AND
00002385: SGT
00002386: ISZERO
00002387: PUSH2 0x23bc
0000238a: JUMPI
0000238b: PUSH1 0x40
0000238d: MLOAD
0000238e: PUSH32 0x77ebef4d00000000000000000000000000000000000000000000000000000000
000023af: DUP2
000023b0: MSTORE
000023b1: PUSH1 0x04
000023b3: ADD
000023b4: PUSH1 0x40
000023b6: MLOAD
000023b7: DUP1
000023b8: SWAP2
000023b9: SUB
000023ba: SWAP1
000023bb: REVERT
000023bc: JUMPDEST
000023bd: PUSH1 0x01
000023bf: SLOAD
000023c0: PUSH1 0x00
000023c2: SWAP1
000023c3: PUSH2 0x23e8
000023c6: SWAP1
000023c7: PUSH16 0xffffffffffffffffffffffffffffffff
000023d8: AND
000023d9: PUSH8 0xffffffffffffffff
000023e2: DUP9
000023e3: AND
000023e4: PUSH2 0x5514
000023e7: JUMP
000023e8: JUMPDEST
000023e9: SWAP1
000023ea: POP
000023eb: PUSH1 0x00
000023ed: PUSH2 0x23fa
000023f0: BASEFEE
000023f1: PUSH4 0x3b9aca00
000023f6: PUSH2 0x29c4
000023f9: JUMP
000023fa: JUMPDEST
000023fb: PUSH2 0x2404
000023fe: SWAP1
000023ff: DUP4
00002400: PUSH2 0x5551
00002403: JUMP
00002404: JUMPDEST
00002405: SWAP1
00002406: POP
00002407: PUSH1 0x00
00002409: GAS
0000240a: PUSH2 0x2413
0000240d: SWAP1
0000240e: DUP9
0000240f: PUSH2 0x522c
00002412: JUMP
00002413: JUMPDEST
00002414: SWAP1
00002415: POP
00002416: DUP1
00002417: DUP3
00002418: GT
00002419: ISZERO
0000241a: PUSH2 0x085b
0000241d: JUMPI
0000241e: PUSH2 0x085b
00002421: PUSH2 0x242a
00002424: DUP3
00002425: DUP5
00002426: PUSH2 0x522c
00002429: JUMP
0000242a: JUMPDEST
0000242b: PUSH2 0x29db
0000242e: JUMP
0000242f: JUMPDEST
00002430: PUSH1 0x40
00002432: MLOAD
00002433: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002448: DUP1
00002449: DUP6
0000244a: AND
0000244b: PUSH1 0x24
0000244d: DUP4
0000244e: ADD
0000244f: MSTORE
00002450: DUP4
00002451: AND
00002452: PUSH1 0x44
00002454: DUP3
00002455: ADD
00002456: MSTORE
00002457: PUSH1 0x64
00002459: DUP2
0000245a: ADD
0000245b: DUP3
0000245c: SWAP1
0000245d: MSTORE
0000245e: PUSH2 0x1ef7
00002461: SWAP1
00002462: DUP6
00002463: SWAP1
00002464: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00002485: SWAP1
00002486: PUSH1 0x84
00002488: ADD
00002489: JUMPDEST
0000248a: PUSH1 0x40
0000248c: DUP1
0000248d: MLOAD
0000248e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000024af: DUP2
000024b0: DUP5
000024b1: SUB
000024b2: ADD
000024b3: DUP2
000024b4: MSTORE
000024b5: SWAP2
000024b6: SWAP1
000024b7: MSTORE
000024b8: PUSH1 0x20
000024ba: DUP2
000024bb: ADD
000024bc: DUP1
000024bd: MLOAD
000024be: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000024db: AND
000024dc: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000024fd: SWAP1
000024fe: SWAP4
000024ff: AND
00002500: SWAP3
00002501: SWAP1
00002502: SWAP3
00002503: OR
00002504: SWAP1
00002505: SWAP2
00002506: MSTORE
00002507: PUSH2 0x2a04
0000250a: JUMP
0000250b: JUMPDEST
0000250c: PUSH1 0x00
0000250e: DUP2
0000250f: PUSH1 0x00
00002511: ADD
00002512: MLOAD
00002513: DUP3
00002514: PUSH1 0x20
00002516: ADD
00002517: MLOAD
00002518: DUP4
00002519: PUSH1 0x40
0000251b: ADD
0000251c: MLOAD
0000251d: DUP5
0000251e: PUSH1 0x60
00002520: ADD
00002521: MLOAD
00002522: PUSH1 0x40
00002524: MLOAD
00002525: PUSH1 0x20
00002527: ADD
00002528: PUSH2 0x254a
0000252b: SWAP5
0000252c: SWAP4
0000252d: SWAP3
0000252e: SWAP2
0000252f: SWAP1
00002530: SWAP4
00002531: DUP5
00002532: MSTORE
00002533: PUSH1 0x20
00002535: DUP5
00002536: ADD
00002537: SWAP3
00002538: SWAP1
00002539: SWAP3
0000253a: MSTORE
0000253b: PUSH1 0x40
0000253d: DUP4
0000253e: ADD
0000253f: MSTORE
00002540: PUSH1 0x60
00002542: DUP3
00002543: ADD
00002544: MSTORE
00002545: PUSH1 0x80
00002547: ADD
00002548: SWAP1
00002549: JUMP
0000254a: JUMPDEST
0000254b: PUSH1 0x40
0000254d: MLOAD
0000254e: PUSH1 0x20
00002550: DUP2
00002551: DUP4
00002552: SUB
00002553: SUB
00002554: DUP2
00002555: MSTORE
00002556: SWAP1
00002557: PUSH1 0x40
00002559: MSTORE
0000255a: DUP1
0000255b: MLOAD
0000255c: SWAP1
0000255d: PUSH1 0x20
0000255f: ADD
00002560: KECCAK256
00002561: SWAP1
00002562: POP
00002563: SWAP2
00002564: SWAP1
00002565: POP
00002566: JUMP
00002567: JUMPDEST
00002568: DUP1
00002569: MLOAD
0000256a: PUSH1 0x20
0000256c: DUP1
0000256d: DUP4
0000256e: ADD
0000256f: MLOAD
00002570: PUSH1 0x40
00002572: DUP1
00002573: DUP6
00002574: ADD
00002575: MLOAD
00002576: PUSH1 0x60
00002578: DUP7
00002579: ADD
0000257a: MLOAD
0000257b: PUSH1 0x80
0000257d: DUP8
0000257e: ADD
0000257f: MLOAD
00002580: PUSH1 0xa0
00002582: DUP9
00002583: ADD
00002584: MLOAD
00002585: SWAP4
00002586: MLOAD
00002587: PUSH1 0x00
00002589: SWAP8
0000258a: PUSH2 0x254a
0000258d: SWAP8
0000258e: SWAP1
0000258f: SWAP7
00002590: SWAP6
00002591: SWAP2
00002592: ADD
00002593: PUSH2 0x5565
00002596: JUMP
00002597: JUMPDEST
00002598: PUSH1 0x00
0000259a: DUP1
0000259b: PUSH2 0x25a3
0000259e: DUP7
0000259f: PUSH2 0x2b10
000025a2: JUMP
000025a3: JUMPDEST
000025a4: SWAP1
000025a5: POP
000025a6: PUSH2 0x25b1
000025a9: DUP2
000025aa: DUP7
000025ab: DUP7
000025ac: DUP7
000025ad: PUSH2 0x2b42
000025b0: JUMP
000025b1: JUMPDEST
000025b2: SWAP7
000025b3: SWAP6
000025b4: POP
000025b5: POP
000025b6: POP
000025b7: POP
000025b8: POP
000025b9: POP
000025ba: JUMP
000025bb: JUMPDEST
000025bc: PUSH1 0x36
000025be: SLOAD
000025bf: PUSH1 0x40
000025c1: DUP1
000025c2: MLOAD
000025c3: PUSH32 0xf4daa29100000000000000000000000000000000000000000000000000000000
000025e4: DUP2
000025e5: MSTORE
000025e6: SWAP1
000025e7: MLOAD
000025e8: PUSH1 0x00
000025ea: SWAP3
000025eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002600: AND
00002601: SWAP2
00002602: PUSH4 0xf4daa291
00002607: SWAP2
00002608: PUSH1 0x04
0000260a: DUP1
0000260b: DUP4
0000260c: ADD
0000260d: SWAP3
0000260e: PUSH1 0x20
00002610: SWAP3
00002611: SWAP2
00002612: SWAP1
00002613: DUP3
00002614: SWAP1
00002615: SUB
00002616: ADD
00002617: DUP2
00002618: DUP7
00002619: GAS
0000261a: STATICCALL
0000261b: ISZERO
0000261c: DUP1
0000261d: ISZERO
0000261e: PUSH2 0x262b
00002621: JUMPI
00002622: RETURNDATASIZE
00002623: PUSH1 0x00
00002625: DUP1
00002626: RETURNDATACOPY
00002627: RETURNDATASIZE
00002628: PUSH1 0x00
0000262a: REVERT
0000262b: JUMPDEST
0000262c: POP
0000262d: POP
0000262e: POP
0000262f: POP
00002630: PUSH1 0x40
00002632: MLOAD
00002633: RETURNDATASIZE
00002634: PUSH1 0x1f
00002636: NOT
00002637: PUSH1 0x1f
00002639: DUP3
0000263a: ADD
0000263b: AND
0000263c: DUP3
0000263d: ADD
0000263e: DUP1
0000263f: PUSH1 0x40
00002641: MSTORE
00002642: POP
00002643: DUP2
00002644: ADD
00002645: SWAP1
00002646: PUSH2 0x264f
00002649: SWAP2
0000264a: SWAP1
0000264b: PUSH2 0x5005
0000264e: JUMP
0000264f: JUMPDEST
00002650: PUSH2 0x2659
00002653: SWAP1
00002654: DUP4
00002655: PUSH2 0x4fed
00002658: JUMP
00002659: JUMPDEST
0000265a: TIMESTAMP
0000265b: GT
0000265c: SWAP3
0000265d: SWAP2
0000265e: POP
0000265f: POP
00002660: JUMP
00002661: JUMPDEST
00002662: PUSH1 0x01
00002664: DUP1
00002665: SLOAD
00002666: PUSH4 0xffffffff
0000266b: DUP4
0000266c: AND
0000266d: SWAP2
0000266e: SWAP1
0000266f: PUSH1 0x10
00002671: SWAP1
00002672: PUSH2 0x269a
00002675: SWAP1
00002676: DUP5
00002677: SWAP1
00002678: PUSH17 0x0100000000000000000000000000000000
0000268a: SWAP1
0000268b: DIV
0000268c: PUSH8 0xffffffffffffffff
00002695: AND
00002696: PUSH2 0x5273
00002699: JUMP
0000269a: JUMPDEST
0000269b: SWAP3
0000269c: POP
0000269d: PUSH2 0x0100
000026a0: EXP
000026a1: DUP2
000026a2: SLOAD
000026a3: DUP2
000026a4: PUSH8 0xffffffffffffffff
000026ad: MUL
000026ae: NOT
000026af: AND
000026b0: SWAP1
000026b1: DUP4
000026b2: PUSH8 0xffffffffffffffff
000026bb: AND
000026bc: MUL
000026bd: OR
000026be: SWAP1
000026bf: SSTORE
000026c0: POP
000026c1: POP
000026c2: JUMP
000026c3: JUMPDEST
000026c4: PUSH1 0x00
000026c6: DUP1
000026c7: PUSH1 0x00
000026c9: PUSH2 0x26d3
000026cc: DUP7
000026cd: PUSH1 0x00
000026cf: PUSH2 0x2b72
000026d2: JUMP
000026d3: JUMPDEST
000026d4: SWAP1
000026d5: POP
000026d6: DUP1
000026d7: PUSH2 0x2709
000026da: JUMPI
000026db: PUSH4 0x08c379a0
000026e0: PUSH1 0x00
000026e2: MSTORE
000026e3: PUSH1 0x20
000026e5: DUP1
000026e6: MSTORE
000026e7: PUSH25 0x185361666543616c6c3a204e6f7420656e6f75676820676173
00002701: PUSH1 0x58
00002703: MSTORE
00002704: PUSH1 0x64
00002706: PUSH1 0x1c
00002708: REVERT
00002709: JUMPDEST
0000270a: PUSH1 0x00
0000270c: DUP1
0000270d: DUP6
0000270e: MLOAD
0000270f: PUSH1 0x20
00002711: DUP8
00002712: ADD
00002713: DUP9
00002714: DUP12
00002715: GAS
00002716: CALL
00002717: SWAP8
00002718: SWAP7
00002719: POP
0000271a: POP
0000271b: POP
0000271c: POP
0000271d: POP
0000271e: POP
0000271f: POP
00002720: JUMP
00002721: JUMPDEST
00002722: PUSH1 0x40
00002724: MLOAD
00002725: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000273a: DUP4
0000273b: AND
0000273c: PUSH1 0x24
0000273e: DUP3
0000273f: ADD
00002740: MSTORE
00002741: PUSH1 0x44
00002743: DUP2
00002744: ADD
00002745: DUP3
00002746: SWAP1
00002747: MSTORE
00002748: PUSH2 0x2777
0000274b: SWAP1
0000274c: DUP5
0000274d: SWAP1
0000274e: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
0000276f: SWAP1
00002770: PUSH1 0x64
00002772: ADD
00002773: PUSH2 0x2489
00002776: JUMP
00002777: JUMPDEST
00002778: POP
00002779: POP
0000277a: POP
0000277b: JUMP
0000277c: JUMPDEST
0000277d: PUSH1 0x00
0000277f: SLOAD
00002780: PUSH2 0x0100
00002783: SWAP1
00002784: DIV
00002785: PUSH1 0xff
00002787: AND
00002788: PUSH2 0x2813
0000278b: JUMPI
0000278c: PUSH1 0x40
0000278e: MLOAD
0000278f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000027b0: DUP2
000027b1: MSTORE
000027b2: PUSH1 0x20
000027b4: PUSH1 0x04
000027b6: DUP3
000027b7: ADD
000027b8: MSTORE
000027b9: PUSH1 0x2b
000027bb: PUSH1 0x24
000027bd: DUP3
000027be: ADD
000027bf: MSTORE
000027c0: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
000027e1: PUSH1 0x44
000027e3: DUP3
000027e4: ADD
000027e5: MSTORE
000027e6: PUSH32 0x6e697469616c697a696e67000000000000000000000000000000000000000000
00002807: PUSH1 0x64
00002809: DUP3
0000280a: ADD
0000280b: MSTORE
0000280c: PUSH1 0x84
0000280e: ADD
0000280f: PUSH2 0x0add
00002812: JUMP
00002813: JUMPDEST
00002814: PUSH1 0x01
00002816: SLOAD
00002817: PUSH25 0x01000000000000000000000000000000000000000000000000
00002831: SWAP1
00002832: DIV
00002833: PUSH8 0xffffffffffffffff
0000283c: AND
0000283d: PUSH1 0x00
0000283f: SUB
00002840: PUSH2 0x11b8
00002843: JUMPI
00002844: PUSH1 0x40
00002846: DUP1
00002847: MLOAD
00002848: PUSH1 0x60
0000284a: DUP2
0000284b: ADD
0000284c: DUP3
0000284d: MSTORE
0000284e: PUSH4 0x3b9aca00
00002853: DUP1
00002854: DUP3
00002855: MSTORE
00002856: PUSH1 0x00
00002858: PUSH1 0x20
0000285a: DUP4
0000285b: ADD
0000285c: MSTORE
0000285d: NUMBER
0000285e: PUSH8 0xffffffffffffffff
00002867: AND
00002868: SWAP2
00002869: SWAP1
0000286a: SWAP3
0000286b: ADD
0000286c: DUP2
0000286d: SWAP1
0000286e: MSTORE
0000286f: PUSH25 0x01000000000000000000000000000000000000000000000000
00002889: MUL
0000288a: OR
0000288b: PUSH1 0x01
0000288d: SSTORE
0000288e: JUMP
0000288f: JUMPDEST
00002890: PUSH1 0x40
00002892: DUP1
00002893: MLOAD
00002894: PUSH1 0xc0
00002896: DUP1
00002897: DUP3
00002898: ADD
00002899: DUP4
0000289a: MSTORE
0000289b: PUSH1 0x00
0000289d: DUP1
0000289e: DUP4
0000289f: MSTORE
000028a0: PUSH1 0x20
000028a2: DUP4
000028a3: ADD
000028a4: DUP2
000028a5: SWAP1
000028a6: MSTORE
000028a7: DUP3
000028a8: DUP5
000028a9: ADD
000028aa: DUP2
000028ab: SWAP1
000028ac: MSTORE
000028ad: PUSH1 0x60
000028af: DUP4
000028b0: ADD
000028b1: DUP2
000028b2: SWAP1
000028b3: MSTORE
000028b4: PUSH1 0x80
000028b6: DUP4
000028b7: ADD
000028b8: DUP2
000028b9: SWAP1
000028ba: MSTORE
000028bb: PUSH1 0xa0
000028bd: DUP4
000028be: ADD
000028bf: MSTORE
000028c0: PUSH1 0x37
000028c2: SLOAD
000028c3: DUP4
000028c4: MLOAD
000028c5: PUSH32 0xcc731b0200000000000000000000000000000000000000000000000000000000
000028e6: DUP2
000028e7: MSTORE
000028e8: SWAP4
000028e9: MLOAD
000028ea: SWAP3
000028eb: SWAP4
000028ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002901: SWAP1
00002902: SWAP2
00002903: AND
00002904: SWAP3
00002905: PUSH4 0xcc731b02
0000290a: SWAP3
0000290b: PUSH1 0x04
0000290d: DUP1
0000290e: DUP5
0000290f: ADD
00002910: SWAP4
00002911: SWAP2
00002912: SWAP3
00002913: SWAP2
00002914: DUP3
00002915: SWAP1
00002916: SUB
00002917: ADD
00002918: DUP2
00002919: DUP7
0000291a: GAS
0000291b: STATICCALL
0000291c: ISZERO
0000291d: DUP1
0000291e: ISZERO
0000291f: PUSH2 0x292c
00002922: JUMPI
00002923: RETURNDATASIZE
00002924: PUSH1 0x00
00002926: DUP1
00002927: RETURNDATACOPY
00002928: RETURNDATASIZE
00002929: PUSH1 0x00
0000292b: REVERT
0000292c: JUMPDEST
0000292d: POP
0000292e: POP
0000292f: POP
00002930: POP
00002931: PUSH1 0x40
00002933: MLOAD
00002934: RETURNDATASIZE
00002935: PUSH1 0x1f
00002937: NOT
00002938: PUSH1 0x1f
0000293a: DUP3
0000293b: ADD
0000293c: AND
0000293d: DUP3
0000293e: ADD
0000293f: DUP1
00002940: PUSH1 0x40
00002942: MSTORE
00002943: POP
00002944: DUP2
00002945: ADD
00002946: SWAP1
00002947: PUSH2 0x08f8
0000294a: SWAP2
0000294b: SWAP1
0000294c: PUSH2 0x55d0
0000294f: JUMP
00002950: JUMPDEST
00002951: PUSH1 0x00
00002953: PUSH2 0x2965
00002956: PUSH2 0x295f
00002959: DUP6
0000295a: DUP6
0000295b: PUSH2 0x2b90
0000295e: JUMP
0000295f: JUMPDEST
00002960: DUP4
00002961: PUSH2 0x2ba0
00002964: JUMP
00002965: JUMPDEST
00002966: SWAP1
00002967: POP
00002968: JUMPDEST
00002969: SWAP4
0000296a: SWAP3
0000296b: POP
0000296c: POP
0000296d: POP
0000296e: JUMP
0000296f: JUMPDEST
00002970: PUSH1 0x00
00002972: PUSH8 0x0de0b6b3a7640000
0000297b: PUSH2 0x29b0
0000297e: PUSH2 0x2987
00002981: DUP6
00002982: DUP4
00002983: PUSH2 0x5308
00002986: JUMP
00002987: JUMPDEST
00002988: PUSH2 0x2999
0000298b: SWAP1
0000298c: PUSH8 0x0de0b6b3a7640000
00002995: PUSH2 0x5370
00002998: JUMP
00002999: JUMPDEST
0000299a: PUSH2 0x29ab
0000299d: DUP6
0000299e: PUSH8 0x0de0b6b3a7640000
000029a7: PUSH2 0x53e4
000029aa: JUMP
000029ab: JUMPDEST
000029ac: PUSH2 0x2baf
000029af: JUMP
000029b0: JUMPDEST
000029b1: PUSH2 0x29ba
000029b4: SWAP1
000029b5: DUP7
000029b6: PUSH2 0x53e4
000029b9: JUMP
000029ba: JUMPDEST
000029bb: PUSH2 0x2965
000029be: SWAP2
000029bf: SWAP1
000029c0: PUSH2 0x5308
000029c3: JUMP
000029c4: JUMPDEST
000029c5: PUSH1 0x00
000029c7: DUP2
000029c8: DUP4
000029c9: LT
000029ca: ISZERO
000029cb: PUSH2 0x29d4
000029ce: JUMPI
000029cf: DUP2
000029d0: PUSH2 0x2968
000029d3: JUMP
000029d4: JUMPDEST
000029d5: POP
000029d6: SWAP1
000029d7: SWAP2
000029d8: SWAP1
000029d9: POP
000029da: JUMP
000029db: JUMPDEST
000029dc: PUSH1 0x00
000029de: DUP1
000029df: GAS
000029e0: SWAP1
000029e1: POP
000029e2: JUMPDEST
000029e3: DUP3
000029e4: GAS
000029e5: PUSH2 0x29ee
000029e8: SWAP1
000029e9: DUP4
000029ea: PUSH2 0x522c
000029ed: JUMP
000029ee: JUMPDEST
000029ef: LT
000029f0: ISZERO
000029f1: PUSH2 0x2777
000029f4: JUMPI
000029f5: PUSH2 0x29fd
000029f8: DUP3
000029f9: PUSH2 0x5673
000029fc: JUMP
000029fd: JUMPDEST
000029fe: SWAP2
000029ff: POP
00002a00: PUSH2 0x29e2
00002a03: JUMP
00002a04: JUMPDEST
00002a05: PUSH1 0x00
00002a07: PUSH2 0x2a66
00002a0a: DUP3
00002a0b: PUSH1 0x40
00002a0d: MLOAD
00002a0e: DUP1
00002a0f: PUSH1 0x40
00002a11: ADD
00002a12: PUSH1 0x40
00002a14: MSTORE
00002a15: DUP1
00002a16: PUSH1 0x20
00002a18: DUP2
00002a19: MSTORE
00002a1a: PUSH1 0x20
00002a1c: ADD
00002a1d: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00002a3e: DUP2
00002a3f: MSTORE
00002a40: POP
00002a41: DUP6
00002a42: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a57: AND
00002a58: PUSH2 0x2be0
00002a5b: SWAP1
00002a5c: SWAP3
00002a5d: SWAP2
00002a5e: SWAP1
00002a5f: PUSH4 0xffffffff
00002a64: AND
00002a65: JUMP
00002a66: JUMPDEST
00002a67: DUP1
00002a68: MLOAD
00002a69: SWAP1
00002a6a: SWAP2
00002a6b: POP
00002a6c: ISZERO
00002a6d: PUSH2 0x2777
00002a70: JUMPI
00002a71: DUP1
00002a72: DUP1
00002a73: PUSH1 0x20
00002a75: ADD
00002a76: SWAP1
00002a77: MLOAD
00002a78: DUP2
00002a79: ADD
00002a7a: SWAP1
00002a7b: PUSH2 0x2a84
00002a7e: SWAP2
00002a7f: SWAP1
00002a80: PUSH2 0x51aa
00002a83: JUMP
00002a84: JUMPDEST
00002a85: PUSH2 0x2777
00002a88: JUMPI
00002a89: PUSH1 0x40
00002a8b: MLOAD
00002a8c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002aad: DUP2
00002aae: MSTORE
00002aaf: PUSH1 0x20
00002ab1: PUSH1 0x04
00002ab3: DUP3
00002ab4: ADD
00002ab5: MSTORE
00002ab6: PUSH1 0x2a
00002ab8: PUSH1 0x24
00002aba: DUP3
00002abb: ADD
00002abc: MSTORE
00002abd: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00002ade: PUSH1 0x44
00002ae0: DUP3
00002ae1: ADD
00002ae2: MSTORE
00002ae3: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
00002b04: PUSH1 0x64
00002b06: DUP3
00002b07: ADD
00002b08: MSTORE
00002b09: PUSH1 0x84
00002b0b: ADD
00002b0c: PUSH2 0x0add
00002b0f: JUMP
00002b10: JUMPDEST
00002b11: PUSH1 0x60
00002b13: DUP2
00002b14: DUP1
00002b15: MLOAD
00002b16: SWAP1
00002b17: PUSH1 0x20
00002b19: ADD
00002b1a: KECCAK256
00002b1b: PUSH1 0x40
00002b1d: MLOAD
00002b1e: PUSH1 0x20
00002b20: ADD
00002b21: PUSH2 0x2b2c
00002b24: SWAP2
00002b25: DUP2
00002b26: MSTORE
00002b27: PUSH1 0x20
00002b29: ADD
00002b2a: SWAP1
00002b2b: JUMP
00002b2c: JUMPDEST
00002b2d: PUSH1 0x40
00002b2f: MLOAD
00002b30: PUSH1 0x20
00002b32: DUP2
00002b33: DUP4
00002b34: SUB
00002b35: SUB
00002b36: DUP2
00002b37: MSTORE
00002b38: SWAP1
00002b39: PUSH1 0x40
00002b3b: MSTORE
00002b3c: SWAP1
00002b3d: POP
00002b3e: SWAP2
00002b3f: SWAP1
00002b40: POP
00002b41: JUMP
00002b42: JUMPDEST
00002b43: PUSH1 0x00
00002b45: PUSH2 0x2b69
00002b48: DUP5
00002b49: PUSH2 0x2b53
00002b4c: DUP8
00002b4d: DUP7
00002b4e: DUP7
00002b4f: PUSH2 0x2bef
00002b52: JUMP
00002b53: JUMPDEST
00002b54: DUP1
00002b55: MLOAD
00002b56: PUSH1 0x20
00002b58: SWAP2
00002b59: DUP3
00002b5a: ADD
00002b5b: KECCAK256
00002b5c: DUP3
00002b5d: MLOAD
00002b5e: SWAP3
00002b5f: SWAP1
00002b60: SWAP2
00002b61: ADD
00002b62: SWAP2
00002b63: SWAP1
00002b64: SWAP2
00002b65: KECCAK256
00002b66: EQ
00002b67: SWAP1
00002b68: JUMP
00002b69: JUMPDEST
00002b6a: SWAP6
00002b6b: SWAP5
00002b6c: POP
00002b6d: POP
00002b6e: POP
00002b6f: POP
00002b70: POP
00002b71: JUMP
00002b72: JUMPDEST
00002b73: PUSH1 0x00
00002b75: DUP1
00002b76: PUSH1 0x3f
00002b78: DUP4
00002b79: PUSH2 0x9c40
00002b7c: ADD
00002b7d: MUL
00002b7e: PUSH1 0x40
00002b80: DUP6
00002b81: MUL
00002b82: ADD
00002b83: PUSH1 0x3f
00002b85: GAS
00002b86: MUL
00002b87: LT
00002b88: ISZERO
00002b89: SWAP5
00002b8a: SWAP4
00002b8b: POP
00002b8c: POP
00002b8d: POP
00002b8e: POP
00002b8f: JUMP
00002b90: JUMPDEST
00002b91: PUSH1 0x00
00002b93: DUP2
00002b94: DUP4
00002b95: SLT
00002b96: ISZERO
00002b97: PUSH2 0x29d4
00002b9a: JUMPI
00002b9b: DUP2
00002b9c: PUSH2 0x2968
00002b9f: JUMP
00002ba0: JUMPDEST
00002ba1: PUSH1 0x00
00002ba3: DUP2
00002ba4: DUP4
00002ba5: SLT
00002ba6: PUSH2 0x29d4
00002ba9: JUMPI
00002baa: DUP2
00002bab: PUSH2 0x2968
00002bae: JUMP
00002baf: JUMPDEST
00002bb0: PUSH1 0x00
00002bb2: PUSH2 0x2968
00002bb5: PUSH8 0x0de0b6b3a7640000
00002bbe: DUP4
00002bbf: PUSH2 0x2bc7
00002bc2: DUP7
00002bc3: PUSH2 0x366d
00002bc6: JUMP
00002bc7: JUMPDEST
00002bc8: PUSH2 0x2bd1
00002bcb: SWAP2
00002bcc: SWAP1
00002bcd: PUSH2 0x53e4
00002bd0: JUMP
00002bd1: JUMPDEST
00002bd2: PUSH2 0x2bdb
00002bd5: SWAP2
00002bd6: SWAP1
00002bd7: PUSH2 0x5308
00002bda: JUMP
00002bdb: JUMPDEST
00002bdc: PUSH2 0x38b1
00002bdf: JUMP
00002be0: JUMPDEST
00002be1: PUSH1 0x60
00002be3: PUSH2 0x2965
00002be6: DUP5
00002be7: DUP5
00002be8: PUSH1 0x00
00002bea: DUP6
00002beb: PUSH2 0x3af0
00002bee: JUMP
00002bef: JUMPDEST
00002bf0: PUSH1 0x60
00002bf2: PUSH1 0x00
00002bf4: DUP5
00002bf5: MLOAD
00002bf6: GT
00002bf7: PUSH2 0x2c5c
00002bfa: JUMPI
00002bfb: PUSH1 0x40
00002bfd: MLOAD
00002bfe: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002c1f: DUP2
00002c20: MSTORE
00002c21: PUSH1 0x20
00002c23: PUSH1 0x04
00002c25: DUP3
00002c26: ADD
00002c27: MSTORE
00002c28: PUSH1 0x15
00002c2a: PUSH1 0x24
00002c2c: DUP3
00002c2d: ADD
00002c2e: MSTORE
00002c2f: PUSH32 0x4d65726b6c65547269653a20656d707479206b65790000000000000000000000
00002c50: PUSH1 0x44
00002c52: DUP3
00002c53: ADD
00002c54: MSTORE
00002c55: PUSH1 0x64
00002c57: ADD
00002c58: PUSH2 0x0add
00002c5b: JUMP
00002c5c: JUMPDEST
00002c5d: PUSH1 0x00
00002c5f: PUSH2 0x2c67
00002c62: DUP5
00002c63: PUSH2 0x3c86
00002c66: JUMP
00002c67: JUMPDEST
00002c68: SWAP1
00002c69: POP
00002c6a: PUSH1 0x00
00002c6c: PUSH2 0x2c74
00002c6f: DUP7
00002c70: PUSH2 0x3d72
00002c73: JUMP
00002c74: JUMPDEST
00002c75: SWAP1
00002c76: POP
00002c77: PUSH1 0x00
00002c79: DUP5
00002c7a: PUSH1 0x40
00002c7c: MLOAD
00002c7d: PUSH1 0x20
00002c7f: ADD
00002c80: PUSH2 0x2c8b
00002c83: SWAP2
00002c84: DUP2
00002c85: MSTORE
00002c86: PUSH1 0x20
00002c88: ADD
00002c89: SWAP1
00002c8a: JUMP
00002c8b: JUMPDEST
00002c8c: PUSH1 0x40
00002c8e: MLOAD
00002c8f: PUSH1 0x20
00002c91: DUP2
00002c92: DUP4
00002c93: SUB
00002c94: SUB
00002c95: DUP2
00002c96: MSTORE
00002c97: SWAP1
00002c98: PUSH1 0x40
00002c9a: MSTORE
00002c9b: SWAP1
00002c9c: POP
00002c9d: PUSH1 0x00
00002c9f: DUP1
00002ca0: JUMPDEST
00002ca1: DUP5
00002ca2: MLOAD
00002ca3: DUP2
00002ca4: LT
00002ca5: ISZERO
00002ca6: PUSH2 0x35e4
00002ca9: JUMPI
00002caa: PUSH1 0x00
00002cac: DUP6
00002cad: DUP3
00002cae: DUP2
00002caf: MLOAD
00002cb0: DUP2
00002cb1: LT
00002cb2: PUSH2 0x2cbd
00002cb5: JUMPI
00002cb6: PUSH2 0x2cbd
00002cb9: PUSH2 0x56ab
00002cbc: JUMP
00002cbd: JUMPDEST
00002cbe: PUSH1 0x20
00002cc0: MUL
00002cc1: PUSH1 0x20
00002cc3: ADD
00002cc4: ADD
00002cc5: MLOAD
00002cc6: SWAP1
00002cc7: POP
00002cc8: DUP5
00002cc9: MLOAD
00002cca: DUP4
00002ccb: GT
00002ccc: ISZERO
00002ccd: PUSH2 0x2d58
00002cd0: JUMPI
00002cd1: PUSH1 0x40
00002cd3: MLOAD
00002cd4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002cf5: DUP2
00002cf6: MSTORE
00002cf7: PUSH1 0x20
00002cf9: PUSH1 0x04
00002cfb: DUP3
00002cfc: ADD
00002cfd: MSTORE
00002cfe: PUSH1 0x2e
00002d00: PUSH1 0x24
00002d02: DUP3
00002d03: ADD
00002d04: MSTORE
00002d05: PUSH32 0x4d65726b6c65547269653a206b657920696e646578206578636565647320746f
00002d26: PUSH1 0x44
00002d28: DUP3
00002d29: ADD
00002d2a: MSTORE
00002d2b: PUSH32 0x74616c206b6579206c656e677468000000000000000000000000000000000000
00002d4c: PUSH1 0x64
00002d4e: DUP3
00002d4f: ADD
00002d50: MSTORE
00002d51: PUSH1 0x84
00002d53: ADD
00002d54: PUSH2 0x0add
00002d57: JUMP
00002d58: JUMPDEST
00002d59: DUP3
00002d5a: PUSH1 0x00
00002d5c: SUB
00002d5d: PUSH2 0x2e11
00002d60: JUMPI
00002d61: DUP1
00002d62: MLOAD
00002d63: DUP1
00002d64: MLOAD
00002d65: PUSH1 0x20
00002d67: SWAP2
00002d68: DUP3
00002d69: ADD
00002d6a: KECCAK256
00002d6b: PUSH1 0x40
00002d6d: MLOAD
00002d6e: PUSH2 0x2da6
00002d71: SWAP3
00002d72: PUSH2 0x2d80
00002d75: SWAP3
00002d76: SWAP2
00002d77: ADD
00002d78: SWAP1
00002d79: DUP2
00002d7a: MSTORE
00002d7b: PUSH1 0x20
00002d7d: ADD
00002d7e: SWAP1
00002d7f: JUMP
00002d80: JUMPDEST
00002d81: PUSH1 0x40
00002d83: MLOAD
00002d84: PUSH1 0x20
00002d86: DUP2
00002d87: DUP4
00002d88: SUB
00002d89: SUB
00002d8a: DUP2
00002d8b: MSTORE
00002d8c: SWAP1
00002d8d: PUSH1 0x40
00002d8f: MSTORE
00002d90: DUP6
00002d91: DUP1
00002d92: MLOAD
00002d93: PUSH1 0x20
00002d95: SWAP2
00002d96: DUP3
00002d97: ADD
00002d98: KECCAK256
00002d99: DUP3
00002d9a: MLOAD
00002d9b: SWAP3
00002d9c: SWAP1
00002d9d: SWAP2
00002d9e: ADD
00002d9f: SWAP2
00002da0: SWAP1
00002da1: SWAP2
00002da2: KECCAK256
00002da3: EQ
00002da4: SWAP1
00002da5: JUMP
00002da6: JUMPDEST
00002da7: PUSH2 0x2e0c
00002daa: JUMPI
00002dab: PUSH1 0x40
00002dad: MLOAD
00002dae: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002dcf: DUP2
00002dd0: MSTORE
00002dd1: PUSH1 0x20
00002dd3: PUSH1 0x04
00002dd5: DUP3
00002dd6: ADD
00002dd7: MSTORE
00002dd8: PUSH1 0x1d
00002dda: PUSH1 0x24
00002ddc: DUP3
00002ddd: ADD
00002dde: MSTORE
00002ddf: PUSH32 0x4d65726b6c65547269653a20696e76616c696420726f6f742068617368000000
00002e00: PUSH1 0x44
00002e02: DUP3
00002e03: ADD
00002e04: MSTORE
00002e05: PUSH1 0x64
00002e07: ADD
00002e08: PUSH2 0x0add
00002e0b: JUMP
00002e0c: JUMPDEST
00002e0d: PUSH2 0x2f68
00002e10: JUMP
00002e11: JUMPDEST
00002e12: DUP1
00002e13: MLOAD
00002e14: MLOAD
00002e15: PUSH1 0x20
00002e17: GT
00002e18: PUSH2 0x2ec7
00002e1b: JUMPI
00002e1c: DUP1
00002e1d: MLOAD
00002e1e: DUP1
00002e1f: MLOAD
00002e20: PUSH1 0x20
00002e22: SWAP2
00002e23: DUP3
00002e24: ADD
00002e25: KECCAK256
00002e26: PUSH1 0x40
00002e28: MLOAD
00002e29: PUSH2 0x2e3b
00002e2c: SWAP3
00002e2d: PUSH2 0x2d80
00002e30: SWAP3
00002e31: SWAP2
00002e32: ADD
00002e33: SWAP1
00002e34: DUP2
00002e35: MSTORE
00002e36: PUSH1 0x20
00002e38: ADD
00002e39: SWAP1
00002e3a: JUMP
00002e3b: JUMPDEST
00002e3c: PUSH2 0x2e0c
00002e3f: JUMPI
00002e40: PUSH1 0x40
00002e42: MLOAD
00002e43: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002e64: DUP2
00002e65: MSTORE
00002e66: PUSH1 0x20
00002e68: PUSH1 0x04
00002e6a: DUP3
00002e6b: ADD
00002e6c: MSTORE
00002e6d: PUSH1 0x27
00002e6f: PUSH1 0x24
00002e71: DUP3
00002e72: ADD
00002e73: MSTORE
00002e74: PUSH32 0x4d65726b6c65547269653a20696e76616c6964206c6172676520696e7465726e
00002e95: PUSH1 0x44
00002e97: DUP3
00002e98: ADD
00002e99: MSTORE
00002e9a: PUSH32 0x616c206861736800000000000000000000000000000000000000000000000000
00002ebb: PUSH1 0x64
00002ebd: DUP3
00002ebe: ADD
00002ebf: MSTORE
00002ec0: PUSH1 0x84
00002ec2: ADD
00002ec3: PUSH2 0x0add
00002ec6: JUMP
00002ec7: JUMPDEST
00002ec8: DUP1
00002ec9: MLOAD
00002eca: DUP5
00002ecb: MLOAD
00002ecc: PUSH1 0x20
00002ece: DUP1
00002ecf: DUP8
00002ed0: ADD
00002ed1: SWAP2
00002ed2: SWAP1
00002ed3: SWAP2
00002ed4: KECCAK256
00002ed5: DUP3
00002ed6: MLOAD
00002ed7: SWAP2
00002ed8: SWAP1
00002ed9: SWAP3
00002eda: ADD
00002edb: KECCAK256
00002edc: EQ
00002edd: PUSH2 0x2f68
00002ee0: JUMPI
00002ee1: PUSH1 0x40
00002ee3: MLOAD
00002ee4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002f05: DUP2
00002f06: MSTORE
00002f07: PUSH1 0x20
00002f09: PUSH1 0x04
00002f0b: DUP3
00002f0c: ADD
00002f0d: MSTORE
00002f0e: PUSH1 0x26
00002f10: PUSH1 0x24
00002f12: DUP3
00002f13: ADD
00002f14: MSTORE
00002f15: PUSH32 0x4d65726b6c65547269653a20696e76616c696420696e7465726e616c206e6f64
00002f36: PUSH1 0x44
00002f38: DUP3
00002f39: ADD
00002f3a: MSTORE
00002f3b: PUSH32 0x6520686173680000000000000000000000000000000000000000000000000000
00002f5c: PUSH1 0x64
00002f5e: DUP3
00002f5f: ADD
00002f60: MSTORE
00002f61: PUSH1 0x84
00002f63: ADD
00002f64: PUSH2 0x0add
00002f67: JUMP
00002f68: JUMPDEST
00002f69: PUSH2 0x2f74
00002f6c: PUSH1 0x10
00002f6e: PUSH1 0x01
00002f70: PUSH2 0x4fed
00002f73: JUMP
00002f74: JUMPDEST
00002f75: DUP2
00002f76: PUSH1 0x20
00002f78: ADD
00002f79: MLOAD
00002f7a: MLOAD
00002f7b: SUB
00002f7c: PUSH2 0x3150
00002f7f: JUMPI
00002f80: DUP5
00002f81: MLOAD
00002f82: DUP4
00002f83: SUB
00002f84: PUSH2 0x30e8
00002f87: JUMPI
00002f88: PUSH2 0x2fae
00002f8b: DUP2
00002f8c: PUSH1 0x20
00002f8e: ADD
00002f8f: MLOAD
00002f90: PUSH1 0x10
00002f92: DUP2
00002f93: MLOAD
00002f94: DUP2
00002f95: LT
00002f96: PUSH2 0x2fa1
00002f99: JUMPI
00002f9a: PUSH2 0x2fa1
00002f9d: PUSH2 0x56ab
00002fa0: JUMP
00002fa1: JUMPDEST
00002fa2: PUSH1 0x20
00002fa4: MUL
00002fa5: PUSH1 0x20
00002fa7: ADD
00002fa8: ADD
00002fa9: MLOAD
00002faa: PUSH2 0x3dd5
00002fad: JUMP
00002fae: JUMPDEST
00002faf: SWAP7
00002fb0: POP
00002fb1: PUSH1 0x00
00002fb3: DUP8
00002fb4: MLOAD
00002fb5: GT
00002fb6: PUSH2 0x3041
00002fb9: JUMPI
00002fba: PUSH1 0x40
00002fbc: MLOAD
00002fbd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002fde: DUP2
00002fdf: MSTORE
00002fe0: PUSH1 0x20
00002fe2: PUSH1 0x04
00002fe4: DUP3
00002fe5: ADD
00002fe6: MSTORE
00002fe7: PUSH1 0x3b
00002fe9: PUSH1 0x24
00002feb: DUP3
00002fec: ADD
00002fed: MSTORE
00002fee: PUSH32 0x4d65726b6c65547269653a2076616c7565206c656e677468206d757374206265
0000300f: PUSH1 0x44
00003011: DUP3
00003012: ADD
00003013: MSTORE
00003014: PUSH32 0x2067726561746572207468616e207a65726f20286272616e6368290000000000
00003035: PUSH1 0x64
00003037: DUP3
00003038: ADD
00003039: MSTORE
0000303a: PUSH1 0x84
0000303c: ADD
0000303d: PUSH2 0x0add
00003040: JUMP
00003041: JUMPDEST
00003042: PUSH1 0x01
00003044: DUP7
00003045: MLOAD
00003046: PUSH2 0x304f
00003049: SWAP2
0000304a: SWAP1
0000304b: PUSH2 0x522c
0000304e: JUMP
0000304f: JUMPDEST
00003050: DUP3
00003051: EQ
00003052: PUSH2 0x30dd
00003055: JUMPI
00003056: PUSH1 0x40
00003058: MLOAD
00003059: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000307a: DUP2
0000307b: MSTORE
0000307c: PUSH1 0x20
0000307e: PUSH1 0x04
00003080: DUP3
00003081: ADD
00003082: MSTORE
00003083: PUSH1 0x3a
00003085: PUSH1 0x24
00003087: DUP3
00003088: ADD
00003089: MSTORE
0000308a: PUSH32 0x4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c
000030ab: PUSH1 0x44
000030ad: DUP3
000030ae: ADD
000030af: MSTORE
000030b0: PUSH32 0x617374206e6f646520696e2070726f6f6620286272616e636829000000000000
000030d1: PUSH1 0x64
000030d3: DUP3
000030d4: ADD
000030d5: MSTORE
000030d6: PUSH1 0x84
000030d8: ADD
000030d9: PUSH2 0x0add
000030dc: JUMP
000030dd: JUMPDEST
000030de: POP
000030df: POP
000030e0: POP
000030e1: POP
000030e2: POP
000030e3: POP
000030e4: PUSH2 0x2968
000030e7: JUMP
000030e8: JUMPDEST
000030e9: PUSH1 0x00
000030eb: DUP6
000030ec: DUP5
000030ed: DUP2
000030ee: MLOAD
000030ef: DUP2
000030f0: LT
000030f1: PUSH2 0x30fc
000030f4: JUMPI
000030f5: PUSH2 0x30fc
000030f8: PUSH2 0x56ab
000030fb: JUMP
000030fc: JUMPDEST
000030fd: PUSH1 0x20
000030ff: ADD
00003100: ADD
00003101: MLOAD
00003102: PUSH1 0xf8
00003104: SHR
00003105: PUSH1 0xf8
00003107: SHL
00003108: PUSH1 0xf8
0000310a: SHR
0000310b: SWAP1
0000310c: POP
0000310d: PUSH1 0x00
0000310f: DUP3
00003110: PUSH1 0x20
00003112: ADD
00003113: MLOAD
00003114: DUP3
00003115: PUSH1 0xff
00003117: AND
00003118: DUP2
00003119: MLOAD
0000311a: DUP2
0000311b: LT
0000311c: PUSH2 0x3127
0000311f: JUMPI
00003120: PUSH2 0x3127
00003123: PUSH2 0x56ab
00003126: JUMP
00003127: JUMPDEST
00003128: PUSH1 0x20
0000312a: MUL
0000312b: PUSH1 0x20
0000312d: ADD
0000312e: ADD
0000312f: MLOAD
00003130: SWAP1
00003131: POP
00003132: PUSH2 0x313a
00003135: DUP2
00003136: PUSH2 0x3e89
00003139: JUMP
0000313a: JUMPDEST
0000313b: SWAP6
0000313c: POP
0000313d: PUSH2 0x3147
00003140: PUSH1 0x01
00003142: DUP7
00003143: PUSH2 0x4fed
00003146: JUMP
00003147: JUMPDEST
00003148: SWAP5
00003149: POP
0000314a: POP
0000314b: POP
0000314c: PUSH2 0x35d1
0000314f: JUMP
00003150: JUMPDEST
00003151: PUSH1 0x02
00003153: DUP2
00003154: PUSH1 0x20
00003156: ADD
00003157: MLOAD
00003158: MLOAD
00003159: SUB
0000315a: PUSH2 0x3549
0000315d: JUMPI
0000315e: PUSH1 0x00
00003160: PUSH2 0x3168
00003163: DUP3
00003164: PUSH2 0x3eae
00003167: JUMP
00003168: JUMPDEST
00003169: SWAP1
0000316a: POP
0000316b: PUSH1 0x00
0000316d: DUP2
0000316e: PUSH1 0x00
00003170: DUP2
00003171: MLOAD
00003172: DUP2
00003173: LT
00003174: PUSH2 0x317f
00003177: JUMPI
00003178: PUSH2 0x317f
0000317b: PUSH2 0x56ab
0000317e: JUMP
0000317f: JUMPDEST
00003180: ADD
00003181: PUSH1 0x20
00003183: ADD
00003184: MLOAD
00003185: PUSH1 0xf8
00003187: SHR
00003188: SWAP1
00003189: POP
0000318a: PUSH1 0x00
0000318c: PUSH2 0x3196
0000318f: PUSH1 0x02
00003191: DUP4
00003192: PUSH2 0x56da
00003195: JUMP
00003196: JUMPDEST
00003197: PUSH2 0x31a1
0000319a: SWAP1
0000319b: PUSH1 0x02
0000319d: PUSH2 0x56fc
000031a0: JUMP
000031a1: JUMPDEST
000031a2: SWAP1
000031a3: POP
000031a4: PUSH1 0x00
000031a6: PUSH2 0x31b2
000031a9: DUP5
000031aa: DUP4
000031ab: PUSH1 0xff
000031ad: AND
000031ae: PUSH2 0x3ed2
000031b1: JUMP
000031b2: JUMPDEST
000031b3: SWAP1
000031b4: POP
000031b5: PUSH1 0x00
000031b7: PUSH2 0x31c0
000031ba: DUP11
000031bb: DUP10
000031bc: PUSH2 0x3ed2
000031bf: JUMP
000031c0: JUMPDEST
000031c1: SWAP1
000031c2: POP
000031c3: PUSH1 0x00
000031c5: PUSH2 0x31ce
000031c8: DUP4
000031c9: DUP4
000031ca: PUSH2 0x3f08
000031cd: JUMP
000031ce: JUMPDEST
000031cf: SWAP1
000031d0: POP
000031d1: DUP1
000031d2: DUP4
000031d3: MLOAD
000031d4: EQ
000031d5: PUSH2 0x3260
000031d8: JUMPI
000031d9: PUSH1 0x40
000031db: MLOAD
000031dc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000031fd: DUP2
000031fe: MSTORE
000031ff: PUSH1 0x20
00003201: PUSH1 0x04
00003203: DUP3
00003204: ADD
00003205: MSTORE
00003206: PUSH1 0x3a
00003208: PUSH1 0x24
0000320a: DUP3
0000320b: ADD
0000320c: MSTORE
0000320d: PUSH32 0x4d65726b6c65547269653a20706174682072656d61696e646572206d75737420
0000322e: PUSH1 0x44
00003230: DUP3
00003231: ADD
00003232: MSTORE
00003233: PUSH32 0x736861726520616c6c206e6962626c65732077697468206b6579000000000000
00003254: PUSH1 0x64
00003256: DUP3
00003257: ADD
00003258: MSTORE
00003259: PUSH1 0x84
0000325b: ADD
0000325c: PUSH2 0x0add
0000325f: JUMP
00003260: JUMPDEST
00003261: PUSH1 0xff
00003263: DUP6
00003264: AND
00003265: PUSH1 0x02
00003267: EQ
00003268: DUP1
00003269: PUSH2 0x3275
0000326c: JUMPI
0000326d: POP
0000326e: PUSH1 0xff
00003270: DUP6
00003271: AND
00003272: PUSH1 0x03
00003274: EQ
00003275: JUMPDEST
00003276: ISZERO
00003277: PUSH2 0x3464
0000327a: JUMPI
0000327b: DUP1
0000327c: DUP3
0000327d: MLOAD
0000327e: EQ
0000327f: PUSH2 0x330a
00003282: JUMPI
00003283: PUSH1 0x40
00003285: MLOAD
00003286: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000032a7: DUP2
000032a8: MSTORE
000032a9: PUSH1 0x20
000032ab: PUSH1 0x04
000032ad: DUP3
000032ae: ADD
000032af: MSTORE
000032b0: PUSH1 0x3d
000032b2: PUSH1 0x24
000032b4: DUP3
000032b5: ADD
000032b6: MSTORE
000032b7: PUSH32 0x4d65726b6c65547269653a206b65792072656d61696e646572206d7573742062
000032d8: PUSH1 0x44
000032da: DUP3
000032db: ADD
000032dc: MSTORE
000032dd: PUSH32 0x65206964656e746963616c20746f20706174682072656d61696e646572000000
000032fe: PUSH1 0x64
00003300: DUP3
00003301: ADD
00003302: MSTORE
00003303: PUSH1 0x84
00003305: ADD
00003306: PUSH2 0x0add
00003309: JUMP
0000330a: JUMPDEST
0000330b: PUSH2 0x3324
0000330e: DUP8
0000330f: PUSH1 0x20
00003311: ADD
00003312: MLOAD
00003313: PUSH1 0x01
00003315: DUP2
00003316: MLOAD
00003317: DUP2
00003318: LT
00003319: PUSH2 0x2fa1
0000331c: JUMPI
0000331d: PUSH2 0x2fa1
00003320: PUSH2 0x56ab
00003323: JUMP
00003324: JUMPDEST
00003325: SWAP13
00003326: POP
00003327: PUSH1 0x00
00003329: DUP14
0000332a: MLOAD
0000332b: GT
0000332c: PUSH2 0x33b7
0000332f: JUMPI
00003330: PUSH1 0x40
00003332: MLOAD
00003333: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003354: DUP2
00003355: MSTORE
00003356: PUSH1 0x20
00003358: PUSH1 0x04
0000335a: DUP3
0000335b: ADD
0000335c: MSTORE
0000335d: PUSH1 0x39
0000335f: PUSH1 0x24
00003361: DUP3
00003362: ADD
00003363: MSTORE
00003364: PUSH32 0x4d65726b6c65547269653a2076616c7565206c656e677468206d757374206265
00003385: PUSH1 0x44
00003387: DUP3
00003388: ADD
00003389: MSTORE
0000338a: PUSH32 0x2067726561746572207468616e207a65726f20286c6561662900000000000000
000033ab: PUSH1 0x64
000033ad: DUP3
000033ae: ADD
000033af: MSTORE
000033b0: PUSH1 0x84
000033b2: ADD
000033b3: PUSH2 0x0add
000033b6: JUMP
000033b7: JUMPDEST
000033b8: PUSH1 0x01
000033ba: DUP13
000033bb: MLOAD
000033bc: PUSH2 0x33c5
000033bf: SWAP2
000033c0: SWAP1
000033c1: PUSH2 0x522c
000033c4: JUMP
000033c5: JUMPDEST
000033c6: DUP9
000033c7: EQ
000033c8: PUSH2 0x3453
000033cb: JUMPI
000033cc: PUSH1 0x40
000033ce: MLOAD
000033cf: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000033f0: DUP2
000033f1: MSTORE
000033f2: PUSH1 0x20
000033f4: PUSH1 0x04
000033f6: DUP3
000033f7: ADD
000033f8: MSTORE
000033f9: PUSH1 0x38
000033fb: PUSH1 0x24
000033fd: DUP3
000033fe: ADD
000033ff: MSTORE
00003400: PUSH32 0x4d65726b6c65547269653a2076616c7565206e6f6465206d757374206265206c
00003421: PUSH1 0x44
00003423: DUP3
00003424: ADD
00003425: MSTORE
00003426: PUSH32 0x617374206e6f646520696e2070726f6f6620286c656166290000000000000000
00003447: PUSH1 0x64
00003449: DUP3
0000344a: ADD
0000344b: MSTORE
0000344c: PUSH1 0x84
0000344e: ADD
0000344f: PUSH2 0x0add
00003452: JUMP
00003453: JUMPDEST
00003454: POP
00003455: POP
00003456: POP
00003457: POP
00003458: POP
00003459: POP
0000345a: POP
0000345b: POP
0000345c: POP
0000345d: POP
0000345e: POP
0000345f: POP
00003460: PUSH2 0x2968
00003463: JUMP
00003464: JUMPDEST
00003465: PUSH1 0xff
00003467: DUP6
00003468: AND
00003469: ISZERO
0000346a: DUP1
0000346b: PUSH2 0x3477
0000346e: JUMPI
0000346f: POP
00003470: PUSH1 0xff
00003472: DUP6
00003473: AND
00003474: PUSH1 0x01
00003476: EQ
00003477: JUMPDEST
00003478: ISZERO
00003479: PUSH2 0x34b6
0000347c: JUMPI
0000347d: PUSH2 0x34a3
00003480: DUP8
00003481: PUSH1 0x20
00003483: ADD
00003484: MLOAD
00003485: PUSH1 0x01
00003487: DUP2
00003488: MLOAD
00003489: DUP2
0000348a: LT
0000348b: PUSH2 0x3496
0000348e: JUMPI
0000348f: PUSH2 0x3496
00003492: PUSH2 0x56ab
00003495: JUMP
00003496: JUMPDEST
00003497: PUSH1 0x20
00003499: MUL
0000349a: PUSH1 0x20
0000349c: ADD
0000349d: ADD
0000349e: MLOAD
0000349f: PUSH2 0x3e89
000034a2: JUMP
000034a3: JUMPDEST
000034a4: SWAP10
000034a5: POP
000034a6: PUSH2 0x34af
000034a9: DUP2
000034aa: DUP11
000034ab: PUSH2 0x4fed
000034ae: JUMP
000034af: JUMPDEST
000034b0: SWAP9
000034b1: POP
000034b2: PUSH2 0x353e
000034b5: JUMP
000034b6: JUMPDEST
000034b7: PUSH1 0x40
000034b9: MLOAD
000034ba: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000034db: DUP2
000034dc: MSTORE
000034dd: PUSH1 0x20
000034df: PUSH1 0x04
000034e1: DUP3
000034e2: ADD
000034e3: MSTORE
000034e4: PUSH1 0x32
000034e6: PUSH1 0x24
000034e8: DUP3
000034e9: ADD
000034ea: MSTORE
000034eb: PUSH32 0x4d65726b6c65547269653a2072656365697665642061206e6f64652077697468
0000350c: PUSH1 0x44
0000350e: DUP3
0000350f: ADD
00003510: MSTORE
00003511: PUSH32 0x20616e20756e6b6e6f776e207072656669780000000000000000000000000000
00003532: PUSH1 0x64
00003534: DUP3
00003535: ADD
00003536: MSTORE
00003537: PUSH1 0x84
00003539: ADD
0000353a: PUSH2 0x0add
0000353d: JUMP
0000353e: JUMPDEST
0000353f: POP
00003540: POP
00003541: POP
00003542: POP
00003543: POP
00003544: POP
00003545: PUSH2 0x35d1
00003548: JUMP
00003549: JUMPDEST
0000354a: PUSH1 0x40
0000354c: MLOAD
0000354d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000356e: DUP2
0000356f: MSTORE
00003570: PUSH1 0x20
00003572: PUSH1 0x04
00003574: DUP3
00003575: ADD
00003576: MSTORE
00003577: PUSH1 0x28
00003579: PUSH1 0x24
0000357b: DUP3
0000357c: ADD
0000357d: MSTORE
0000357e: PUSH32 0x4d65726b6c65547269653a20726563656976656420616e20756e706172736561
0000359f: PUSH1 0x44
000035a1: DUP3
000035a2: ADD
000035a3: MSTORE
000035a4: PUSH32 0x626c65206e6f6465000000000000000000000000000000000000000000000000
000035c5: PUSH1 0x64
000035c7: DUP3
000035c8: ADD
000035c9: MSTORE
000035ca: PUSH1 0x84
000035cc: ADD
000035cd: PUSH2 0x0add
000035d0: JUMP
000035d1: JUMPDEST
000035d2: POP
000035d3: DUP1
000035d4: PUSH2 0x35dc
000035d7: DUP2
000035d8: PUSH2 0x5673
000035db: JUMP
000035dc: JUMPDEST
000035dd: SWAP2
000035de: POP
000035df: POP
000035e0: PUSH2 0x2ca0
000035e3: JUMP
000035e4: JUMPDEST
000035e5: POP
000035e6: PUSH1 0x40
000035e8: MLOAD
000035e9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000360a: DUP2
0000360b: MSTORE
0000360c: PUSH1 0x20
0000360e: PUSH1 0x04
00003610: DUP3
00003611: ADD
00003612: MSTORE
00003613: PUSH1 0x25
00003615: PUSH1 0x24
00003617: DUP3
00003618: ADD
00003619: MSTORE
0000361a: PUSH32 0x4d65726b6c65547269653a2072616e206f7574206f662070726f6f6620656c65
0000363b: PUSH1 0x44
0000363d: DUP3
0000363e: ADD
0000363f: MSTORE
00003640: PUSH32 0x6d656e7473000000000000000000000000000000000000000000000000000000
00003661: PUSH1 0x64
00003663: DUP3
00003664: ADD
00003665: MSTORE
00003666: PUSH1 0x84
00003668: ADD
00003669: PUSH2 0x0add
0000366c: JUMP
0000366d: JUMPDEST
0000366e: PUSH1 0x00
00003670: DUP1
00003671: DUP3
00003672: SGT
00003673: PUSH2 0x36d8
00003676: JUMPI
00003677: PUSH1 0x40
00003679: MLOAD
0000367a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000369b: DUP2
0000369c: MSTORE
0000369d: PUSH1 0x20
0000369f: PUSH1 0x04
000036a1: DUP3
000036a2: ADD
000036a3: MSTORE
000036a4: PUSH1 0x09
000036a6: PUSH1 0x24
000036a8: DUP3
000036a9: ADD
000036aa: MSTORE
000036ab: PUSH32 0x554e444546494e45440000000000000000000000000000000000000000000000
000036cc: PUSH1 0x44
000036ce: DUP3
000036cf: ADD
000036d0: MSTORE
000036d1: PUSH1 0x64
000036d3: ADD
000036d4: PUSH2 0x0add
000036d7: JUMP
000036d8: JUMPDEST
000036d9: PUSH1 0x00
000036db: PUSH1 0x60
000036dd: PUSH2 0x36e5
000036e0: DUP5
000036e1: PUSH2 0x3fbc
000036e4: JUMP
000036e5: JUMPDEST
000036e6: SUB
000036e7: PUSH1 0x9f
000036e9: DUP2
000036ea: DUP2
000036eb: SUB
000036ec: SWAP5
000036ed: SWAP1
000036ee: SWAP5
000036ef: SHL
000036f0: SWAP1
000036f1: SWAP4
000036f2: SHR
000036f3: PUSH13 0x465772b2bbbb5f824b15207a30
00003701: DUP2
00003702: ADD
00003703: DUP2
00003704: MUL
00003705: PUSH1 0x60
00003707: SWAP1
00003708: DUP2
00003709: SAR
0000370a: PUSH14 0x0388eaa27412d5aca026815d636e
00003719: ADD
0000371a: DUP3
0000371b: MUL
0000371c: DUP2
0000371d: SAR
0000371e: PUSH14 0x0df99ac502031bf953eff472fdcc
0000372d: ADD
0000372e: DUP3
0000372f: MUL
00003730: DUP2
00003731: SAR
00003732: PUSH14 0x13cdffb29d51d99322bdff5f2211
00003741: ADD
00003742: DUP3
00003743: MUL
00003744: DUP2
00003745: SAR
00003746: PUSH14 0x0a0f742023def783a307a986912e
00003755: ADD
00003756: DUP3
00003757: MUL
00003758: DUP2
00003759: SAR
0000375a: PUSH14 0x01920d8043ca89b5239253284e42
00003769: ADD
0000376a: DUP3
0000376b: MUL
0000376c: DUP2
0000376d: SAR
0000376e: PUSH13 0x0b7a86d7375468fac667a0a527
0000377c: ADD
0000377d: PUSH13 0x29508e458543d8aa4df2abee78
0000378b: DUP4
0000378c: ADD
0000378d: DUP4
0000378e: MUL
0000378f: DUP3
00003790: SAR
00003791: PUSH14 0x0139601a2efabe717e604cbb4894
000037a0: ADD
000037a1: DUP4
000037a2: MUL
000037a3: DUP3
000037a4: SAR
000037a5: PUSH14 0x02247f7a7b6594320649aa03aba1
000037b4: ADD
000037b5: DUP4
000037b6: MUL
000037b7: DUP3
000037b8: SAR
000037b9: PUSH32 0xffffffffffffffffffffffffffffffffffffff73c0c716a594e00d54e3c4cbc9
000037da: ADD
000037db: DUP4
000037dc: MUL
000037dd: DUP3
000037de: SAR
000037df: PUSH32 0xfffffffffffffffffffffffffffffffffffffdc7b88c420e53a9890533129f6f
00003800: ADD
00003801: DUP4
00003802: MUL
00003803: SWAP1
00003804: SWAP2
00003805: SAR
00003806: PUSH32 0xffffffffffffffffffffffffffffffffffffff465fda27eb4d63ded474e5f832
00003827: ADD
00003828: SWAP1
00003829: SWAP2
0000382a: MUL
0000382b: PUSH32 0xfffffffffffffff5f6af8f7b3396644f18e15796000000000000000000000000
0000384c: ADD
0000384d: SDIV
0000384e: PUSH18 0x1340daa0d5f769dba1915cef59f0815a5506
00003861: MUL
00003862: PUSH30 0x0267a36c0c95b3975ab3ee5b203a7614a3f75373f047d803ae7b6687f2b3
00003881: SWAP4
00003882: SWAP1
00003883: SWAP4
00003884: MUL
00003885: SWAP3
00003886: SWAP1
00003887: SWAP3
00003888: ADD
00003889: PUSH30 0x57115e47018c7177eebf7cd370a3356a1b7863008a5ae8028c72b8864284
000038a8: ADD
000038a9: PUSH1 0xae
000038ab: SAR
000038ac: SWAP3
000038ad: SWAP2
000038ae: POP
000038af: POP
000038b0: JUMP
000038b1: JUMPDEST
000038b2: PUSH1 0x00
000038b4: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffdb731c958f34d94c1
000038d5: DUP3
000038d6: SGT
000038d7: PUSH2 0x38e2
000038da: JUMPI
000038db: POP
000038dc: PUSH1 0x00
000038de: SWAP2
000038df: SWAP1
000038e0: POP
000038e1: JUMP
000038e2: JUMPDEST
000038e3: PUSH9 0x0755bf798b4a1bf1e5
000038ed: DUP3
000038ee: SLT
000038ef: PUSH2 0x3954
000038f2: JUMPI
000038f3: PUSH1 0x40
000038f5: MLOAD
000038f6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003917: DUP2
00003918: MSTORE
00003919: PUSH1 0x20
0000391b: PUSH1 0x04
0000391d: DUP3
0000391e: ADD
0000391f: MSTORE
00003920: PUSH1 0x0c
00003922: PUSH1 0x24
00003924: DUP3
00003925: ADD
00003926: MSTORE
00003927: PUSH32 0x4558505f4f564552464c4f570000000000000000000000000000000000000000
00003948: PUSH1 0x44
0000394a: DUP3
0000394b: ADD
0000394c: MSTORE
0000394d: PUSH1 0x64
0000394f: ADD
00003950: PUSH2 0x0add
00003953: JUMP
00003954: JUMPDEST
00003955: PUSH6 0x03782dace9d9
0000395c: PUSH1 0x4e
0000395e: DUP4
0000395f: SWAP1
00003960: SHL
00003961: SDIV
00003962: SWAP2
00003963: POP
00003964: PUSH1 0x00
00003966: PUSH1 0x60
00003968: PUSH12 0xb17217f7d1cf79abc9e3b398
00003975: DUP5
00003976: DUP3
00003977: SHL
00003978: SDIV
00003979: PUSH12 0x800000000000000000000000
00003986: ADD
00003987: SWAP1
00003988: SAR
00003989: PUSH12 0xb17217f7d1cf79abc9e3b398
00003996: DUP2
00003997: MUL
00003998: SWAP1
00003999: SWAP4
0000399a: SUB
0000399b: PUSH32 0xffffffffffffffffffffffffffffffffffffffdbf3ccf1604d263450f02a5504
000039bc: DUP2
000039bd: ADD
000039be: DUP2
000039bf: MUL
000039c0: PUSH1 0x60
000039c2: SWAP1
000039c3: DUP2
000039c4: SAR
000039c5: PUSH14 0x0277594991cfc85f6e2461837cd9
000039d4: ADD
000039d5: DUP3
000039d6: MUL
000039d7: DUP2
000039d8: SAR
000039d9: PUSH32 0xffffffffffffffffffffffffffffffffffffe5adedaa1cb095af9e4da10e363c
000039fa: ADD
000039fb: DUP3
000039fc: MUL
000039fd: DUP2
000039fe: SAR
000039ff: PUSH14 0xb1bbb201f443cf962f1a1d3db4a5
00003a0e: ADD
00003a0f: DUP3
00003a10: MUL
00003a11: DUP2
00003a12: SAR
00003a13: PUSH32 0xfffffffffffffffffffffffffffffffffffd38dc772608b0ae56cce01296c0eb
00003a34: ADD
00003a35: DUP3
00003a36: MUL
00003a37: DUP2
00003a38: SAR
00003a39: PUSH15 0x05180bb14799ab47a8a8cb2a527d57
00003a49: ADD
00003a4a: PUSH14 0x02d16720577bd19bf614176fe9ea
00003a59: PUSH13 0x10fe68e7fd37d0007b713f7650
00003a67: DUP5
00003a68: ADD
00003a69: DUP5
00003a6a: MUL
00003a6b: DUP4
00003a6c: SAR
00003a6d: SWAP1
00003a6e: DUP2
00003a6f: ADD
00003a70: SWAP1
00003a71: DUP5
00003a72: ADD
00003a73: PUSH32 0xfffffffffffffffffffffffffffffffffffffe2c69812cf03b0763fd454a8f7e
00003a94: ADD
00003a95: MUL
00003a96: SWAP1
00003a97: SWAP2
00003a98: SAR
00003a99: PUSH15 0x0587f503bb6ea29d25fcb740196450
00003aa9: ADD
00003aaa: SWAP1
00003aab: SWAP2
00003aac: MUL
00003aad: PUSH26 0xd835ebba824c98fb31b83b2ca45c000000000000000000000000
00003ac8: ADD
00003ac9: SDIV
00003aca: PUSH21 0x029d9dc38563c32e5c2f6dc192ee70ef65f9978af3
00003ae0: MUL
00003ae1: PUSH1 0xc3
00003ae3: SWAP4
00003ae4: SWAP1
00003ae5: SWAP4
00003ae6: SUB
00003ae7: SWAP3
00003ae8: SWAP1
00003ae9: SWAP3
00003aea: SHR
00003aeb: SWAP3
00003aec: SWAP2
00003aed: POP
00003aee: POP
00003aef: JUMP
00003af0: JUMPDEST
00003af1: PUSH1 0x60
00003af3: DUP3
00003af4: SELFBALANCE
00003af5: LT
00003af6: ISZERO
00003af7: PUSH2 0x3b82
00003afa: JUMPI
00003afb: PUSH1 0x40
00003afd: MLOAD
00003afe: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003b1f: DUP2
00003b20: MSTORE
00003b21: PUSH1 0x20
00003b23: PUSH1 0x04
00003b25: DUP3
00003b26: ADD
00003b27: MSTORE
00003b28: PUSH1 0x26
00003b2a: PUSH1 0x24
00003b2c: DUP3
00003b2d: ADD
00003b2e: MSTORE
00003b2f: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f
00003b50: PUSH1 0x44
00003b52: DUP3
00003b53: ADD
00003b54: MSTORE
00003b55: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000
00003b76: PUSH1 0x64
00003b78: DUP3
00003b79: ADD
00003b7a: MSTORE
00003b7b: PUSH1 0x84
00003b7d: ADD
00003b7e: PUSH2 0x0add
00003b81: JUMP
00003b82: JUMPDEST
00003b83: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003b98: DUP6
00003b99: AND
00003b9a: EXTCODESIZE
00003b9b: PUSH2 0x3c00
00003b9e: JUMPI
00003b9f: PUSH1 0x40
00003ba1: MLOAD
00003ba2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003bc3: DUP2
00003bc4: MSTORE
00003bc5: PUSH1 0x20
00003bc7: PUSH1 0x04
00003bc9: DUP3
00003bca: ADD
00003bcb: MSTORE
00003bcc: PUSH1 0x1d
00003bce: PUSH1 0x24
00003bd0: DUP3
00003bd1: ADD
00003bd2: MSTORE
00003bd3: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00003bf4: PUSH1 0x44
00003bf6: DUP3
00003bf7: ADD
00003bf8: MSTORE
00003bf9: PUSH1 0x64
00003bfb: ADD
00003bfc: PUSH2 0x0add
00003bff: JUMP
00003c00: JUMPDEST
00003c01: PUSH1 0x00
00003c03: DUP1
00003c04: DUP7
00003c05: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003c1a: AND
00003c1b: DUP6
00003c1c: DUP8
00003c1d: PUSH1 0x40
00003c1f: MLOAD
00003c20: PUSH2 0x3c29
00003c23: SWAP2
00003c24: SWAP1
00003c25: PUSH2 0x571f
00003c28: JUMP
00003c29: JUMPDEST
00003c2a: PUSH1 0x00
00003c2c: PUSH1 0x40
00003c2e: MLOAD
00003c2f: DUP1
00003c30: DUP4
00003c31: SUB
00003c32: DUP2
00003c33: DUP6
00003c34: DUP8
00003c35: GAS
00003c36: CALL
00003c37: SWAP3
00003c38: POP
00003c39: POP
00003c3a: POP
00003c3b: RETURNDATASIZE
00003c3c: DUP1
00003c3d: PUSH1 0x00
00003c3f: DUP2
00003c40: EQ
00003c41: PUSH2 0x3c66
00003c44: JUMPI
00003c45: PUSH1 0x40
00003c47: MLOAD
00003c48: SWAP2
00003c49: POP
00003c4a: PUSH1 0x1f
00003c4c: NOT
00003c4d: PUSH1 0x3f
00003c4f: RETURNDATASIZE
00003c50: ADD
00003c51: AND
00003c52: DUP3
00003c53: ADD
00003c54: PUSH1 0x40
00003c56: MSTORE
00003c57: RETURNDATASIZE
00003c58: DUP3
00003c59: MSTORE
00003c5a: RETURNDATASIZE
00003c5b: PUSH1 0x00
00003c5d: PUSH1 0x20
00003c5f: DUP5
00003c60: ADD
00003c61: RETURNDATACOPY
00003c62: PUSH2 0x3c6b
00003c65: JUMP
00003c66: JUMPDEST
00003c67: PUSH1 0x60
00003c69: SWAP2
00003c6a: POP
00003c6b: JUMPDEST
00003c6c: POP
00003c6d: SWAP2
00003c6e: POP
00003c6f: SWAP2
00003c70: POP
00003c71: PUSH2 0x3c7b
00003c74: DUP3
00003c75: DUP3
00003c76: DUP7
00003c77: PUSH2 0x4092
00003c7a: JUMP
00003c7b: JUMPDEST
00003c7c: SWAP8
00003c7d: SWAP7
00003c7e: POP
00003c7f: POP
00003c80: POP
00003c81: POP
00003c82: POP
00003c83: POP
00003c84: POP
00003c85: JUMP
00003c86: JUMPDEST
00003c87: DUP1
00003c88: MLOAD
00003c89: PUSH1 0x60
00003c8b: SWAP1
00003c8c: DUP1
00003c8d: PUSH8 0xffffffffffffffff
00003c96: DUP2
00003c97: GT
00003c98: ISZERO
00003c99: PUSH2 0x3ca4
00003c9c: JUMPI
00003c9d: PUSH2 0x3ca4
00003ca0: PUSH2 0x4a8b
00003ca3: JUMP
00003ca4: JUMPDEST
00003ca5: PUSH1 0x40
00003ca7: MLOAD
00003ca8: SWAP1
00003ca9: DUP1
00003caa: DUP3
00003cab: MSTORE
00003cac: DUP1
00003cad: PUSH1 0x20
00003caf: MUL
00003cb0: PUSH1 0x20
00003cb2: ADD
00003cb3: DUP3
00003cb4: ADD
00003cb5: PUSH1 0x40
00003cb7: MSTORE
00003cb8: DUP1
00003cb9: ISZERO
00003cba: PUSH2 0x3ce9
00003cbd: JUMPI
00003cbe: DUP2
00003cbf: PUSH1 0x20
00003cc1: ADD
00003cc2: JUMPDEST
00003cc3: PUSH1 0x40
00003cc5: DUP1
00003cc6: MLOAD
00003cc7: DUP1
00003cc8: DUP3
00003cc9: ADD
00003cca: SWAP1
00003ccb: SWAP2
00003ccc: MSTORE
00003ccd: PUSH1 0x60
00003ccf: DUP1
00003cd0: DUP3
00003cd1: MSTORE
00003cd2: PUSH1 0x20
00003cd4: DUP3
00003cd5: ADD
00003cd6: MSTORE
00003cd7: DUP2
00003cd8: MSTORE
00003cd9: PUSH1 0x20
00003cdb: ADD
00003cdc: SWAP1
00003cdd: PUSH1 0x01
00003cdf: SWAP1
00003ce0: SUB
00003ce1: SWAP1
00003ce2: DUP2
00003ce3: PUSH2 0x3cc2
00003ce6: JUMPI
00003ce7: SWAP1
00003ce8: POP
00003ce9: JUMPDEST
00003cea: POP
00003ceb: SWAP2
00003cec: POP
00003ced: PUSH1 0x00
00003cef: JUMPDEST
00003cf0: DUP2
00003cf1: DUP2
00003cf2: LT
00003cf3: ISZERO
00003cf4: PUSH2 0x3d6b
00003cf7: JUMPI
00003cf8: PUSH1 0x40
00003cfa: MLOAD
00003cfb: DUP1
00003cfc: PUSH1 0x40
00003cfe: ADD
00003cff: PUSH1 0x40
00003d01: MSTORE
00003d02: DUP1
00003d03: DUP6
00003d04: DUP4
00003d05: DUP2
00003d06: MLOAD
00003d07: DUP2
00003d08: LT
00003d09: PUSH2 0x3d14
00003d0c: JUMPI
00003d0d: PUSH2 0x3d14
00003d10: PUSH2 0x56ab
00003d13: JUMP
00003d14: JUMPDEST
00003d15: PUSH1 0x20
00003d17: MUL
00003d18: PUSH1 0x20
00003d1a: ADD
00003d1b: ADD
00003d1c: MLOAD
00003d1d: DUP2
00003d1e: MSTORE
00003d1f: PUSH1 0x20
00003d21: ADD
00003d22: PUSH2 0x3d43
00003d25: DUP7
00003d26: DUP5
00003d27: DUP2
00003d28: MLOAD
00003d29: DUP2
00003d2a: LT
00003d2b: PUSH2 0x3d36
00003d2e: JUMPI
00003d2f: PUSH2 0x3d36
00003d32: PUSH2 0x56ab
00003d35: JUMP
00003d36: JUMPDEST
00003d37: PUSH1 0x20
00003d39: MUL
00003d3a: PUSH1 0x20
00003d3c: ADD
00003d3d: ADD
00003d3e: MLOAD
00003d3f: PUSH2 0x40e5
00003d42: JUMP
00003d43: JUMPDEST
00003d44: DUP2
00003d45: MSTORE
00003d46: POP
00003d47: DUP4
00003d48: DUP3
00003d49: DUP2
00003d4a: MLOAD
00003d4b: DUP2
00003d4c: LT
00003d4d: PUSH2 0x3d58
00003d50: JUMPI
00003d51: PUSH2 0x3d58
00003d54: PUSH2 0x56ab
00003d57: JUMP
00003d58: JUMPDEST
00003d59: PUSH1 0x20
00003d5b: SWAP1
00003d5c: DUP2
00003d5d: MUL
00003d5e: SWAP2
00003d5f: SWAP1
00003d60: SWAP2
00003d61: ADD
00003d62: ADD
00003d63: MSTORE
00003d64: PUSH1 0x01
00003d66: ADD
00003d67: PUSH2 0x3cef
00003d6a: JUMP
00003d6b: JUMPDEST
00003d6c: POP
00003d6d: POP
00003d6e: SWAP2
00003d6f: SWAP1
00003d70: POP
00003d71: JUMP
00003d72: JUMPDEST
00003d73: PUSH1 0x60
00003d75: DUP1
00003d76: PUSH1 0x40
00003d78: MLOAD
00003d79: SWAP1
00003d7a: POP
00003d7b: DUP3
00003d7c: MLOAD
00003d7d: DUP1
00003d7e: PUSH1 0x01
00003d80: SHL
00003d81: PUSH1 0x3f
00003d83: DUP2
00003d84: ADD
00003d85: PUSH1 0x1f
00003d87: NOT
00003d88: AND
00003d89: DUP4
00003d8a: ADD
00003d8b: PUSH1 0x40
00003d8d: MSTORE
00003d8e: DUP1
00003d8f: DUP4
00003d90: MSTORE
00003d91: POP
00003d92: PUSH1 0x20
00003d94: DUP5
00003d95: ADD
00003d96: PUSH1 0x20
00003d98: DUP4
00003d99: ADD
00003d9a: PUSH1 0x00
00003d9c: JUMPDEST
00003d9d: DUP4
00003d9e: DUP2
00003d9f: LT
00003da0: ISZERO
00003da1: PUSH2 0x3dca
00003da4: JUMPI
00003da5: DUP1
00003da6: PUSH1 0x01
00003da8: SHL
00003da9: DUP3
00003daa: ADD
00003dab: DUP2
00003dac: DUP5
00003dad: ADD
00003dae: MLOAD
00003daf: PUSH1 0x00
00003db1: BYTE
00003db2: DUP1
00003db3: PUSH1 0x04
00003db5: SHR
00003db6: DUP3
00003db7: MSTORE8
00003db8: PUSH1 0x0f
00003dba: DUP2
00003dbb: AND
00003dbc: PUSH1 0x01
00003dbe: DUP4
00003dbf: ADD
00003dc0: MSTORE8
00003dc1: POP
00003dc2: POP
00003dc3: PUSH1 0x01
00003dc5: ADD
00003dc6: PUSH2 0x3d9c
00003dc9: JUMP
00003dca: JUMPDEST
00003dcb: POP
00003dcc: SWAP3
00003dcd: SWAP6
00003dce: SWAP5
00003dcf: POP
00003dd0: POP
00003dd1: POP
00003dd2: POP
00003dd3: POP
00003dd4: JUMP
00003dd5: JUMPDEST
00003dd6: PUSH1 0x60
00003dd8: PUSH1 0x00
00003dda: DUP1
00003ddb: PUSH1 0x00
00003ddd: PUSH2 0x3de5
00003de0: DUP6
00003de1: PUSH2 0x40f8
00003de4: JUMP
00003de5: JUMPDEST
00003de6: SWAP2
00003de7: SWAP5
00003de8: POP
00003de9: SWAP3
00003dea: POP
00003deb: SWAP1
00003dec: POP
00003ded: PUSH1 0x00
00003def: DUP2
00003df0: PUSH1 0x01
00003df2: DUP2
00003df3: GT
00003df4: ISZERO
00003df5: PUSH2 0x3e00
00003df8: JUMPI
00003df9: PUSH2 0x3e00
00003dfc: PUSH2 0x573b
00003dff: JUMP
00003e00: JUMPDEST
00003e01: EQ
00003e02: PUSH2 0x3e37
00003e05: JUMPI
00003e06: PUSH1 0x40
00003e08: MLOAD
00003e09: PUSH32 0x1ff9b2e400000000000000000000000000000000000000000000000000000000
00003e2a: DUP2
00003e2b: MSTORE
00003e2c: PUSH1 0x04
00003e2e: ADD
00003e2f: PUSH1 0x40
00003e31: MLOAD
00003e32: DUP1
00003e33: SWAP2
00003e34: SUB
00003e35: SWAP1
00003e36: REVERT
00003e37: JUMPDEST
00003e38: PUSH2 0x3e41
00003e3b: DUP3
00003e3c: DUP5
00003e3d: PUSH2 0x4fed
00003e40: JUMP
00003e41: JUMPDEST
00003e42: DUP6
00003e43: MLOAD
00003e44: EQ
00003e45: PUSH2 0x3e7a
00003e48: JUMPI
00003e49: PUSH1 0x40
00003e4b: MLOAD
00003e4c: PUSH32 0x5c5537b800000000000000000000000000000000000000000000000000000000
00003e6d: DUP2
00003e6e: MSTORE
00003e6f: PUSH1 0x04
00003e71: ADD
00003e72: PUSH1 0x40
00003e74: MLOAD
00003e75: DUP1
00003e76: SWAP2
00003e77: SUB
00003e78: SWAP1
00003e79: REVERT
00003e7a: JUMPDEST
00003e7b: PUSH2 0x2b69
00003e7e: DUP6
00003e7f: PUSH1 0x20
00003e81: ADD
00003e82: MLOAD
00003e83: DUP5
00003e84: DUP5
00003e85: PUSH2 0x4596
00003e88: JUMP
00003e89: JUMPDEST
00003e8a: PUSH1 0x60
00003e8c: PUSH1 0x20
00003e8e: DUP3
00003e8f: PUSH1 0x00
00003e91: ADD
00003e92: MLOAD
00003e93: LT
00003e94: PUSH2 0x3ea5
00003e97: JUMPI
00003e98: PUSH2 0x3ea0
00003e9b: DUP3
00003e9c: PUSH2 0x3dd5
00003e9f: JUMP
00003ea0: JUMPDEST
00003ea1: PUSH2 0x0ff2
00003ea4: JUMP
00003ea5: JUMPDEST
00003ea6: PUSH2 0x0ff2
00003ea9: DUP3
00003eaa: PUSH2 0x462a
00003ead: JUMP
00003eae: JUMPDEST
00003eaf: PUSH1 0x60
00003eb1: PUSH2 0x0ff2
00003eb4: PUSH2 0x3ecd
00003eb7: DUP4
00003eb8: PUSH1 0x20
00003eba: ADD
00003ebb: MLOAD
00003ebc: PUSH1 0x00
00003ebe: DUP2
00003ebf: MLOAD
00003ec0: DUP2
00003ec1: LT
00003ec2: PUSH2 0x2fa1
00003ec5: JUMPI
00003ec6: PUSH2 0x2fa1
00003ec9: PUSH2 0x56ab
00003ecc: JUMP
00003ecd: JUMPDEST
00003ece: PUSH2 0x3d72
00003ed1: JUMP
00003ed2: JUMPDEST
00003ed3: PUSH1 0x60
00003ed5: DUP3
00003ed6: MLOAD
00003ed7: DUP3
00003ed8: LT
00003ed9: PUSH2 0x3ef1
00003edc: JUMPI
00003edd: POP
00003ede: PUSH1 0x40
00003ee0: DUP1
00003ee1: MLOAD
00003ee2: PUSH1 0x20
00003ee4: DUP2
00003ee5: ADD
00003ee6: SWAP1
00003ee7: SWAP2
00003ee8: MSTORE
00003ee9: PUSH1 0x00
00003eeb: DUP2
00003eec: MSTORE
00003eed: PUSH2 0x0ff2
00003ef0: JUMP
00003ef1: JUMPDEST
00003ef2: PUSH2 0x2968
00003ef5: DUP4
00003ef6: DUP4
00003ef7: DUP5
00003ef8: DUP7
00003ef9: MLOAD
00003efa: PUSH2 0x3f03
00003efd: SWAP2
00003efe: SWAP1
00003eff: PUSH2 0x522c
00003f02: JUMP
00003f03: JUMPDEST
00003f04: PUSH2 0x4640
00003f07: JUMP
00003f08: JUMPDEST
00003f09: PUSH1 0x00
00003f0b: DUP1
00003f0c: DUP3
00003f0d: MLOAD
00003f0e: DUP5
00003f0f: MLOAD
00003f10: LT
00003f11: PUSH2 0x3f1b
00003f14: JUMPI
00003f15: DUP3
00003f16: MLOAD
00003f17: PUSH2 0x3f1e
00003f1a: JUMP
00003f1b: JUMPDEST
00003f1c: DUP4
00003f1d: MLOAD
00003f1e: JUMPDEST
00003f1f: SWAP1
00003f20: POP
00003f21: JUMPDEST
00003f22: DUP1
00003f23: DUP3
00003f24: LT
00003f25: DUP1
00003f26: ISZERO
00003f27: PUSH2 0x3fa5
00003f2a: JUMPI
00003f2b: POP
00003f2c: DUP3
00003f2d: DUP3
00003f2e: DUP2
00003f2f: MLOAD
00003f30: DUP2
00003f31: LT
00003f32: PUSH2 0x3f3d
00003f35: JUMPI
00003f36: PUSH2 0x3f3d
00003f39: PUSH2 0x56ab
00003f3c: JUMP
00003f3d: JUMPDEST
00003f3e: PUSH1 0x20
00003f40: ADD
00003f41: ADD
00003f42: MLOAD
00003f43: PUSH1 0xf8
00003f45: SHR
00003f46: PUSH1 0xf8
00003f48: SHL
00003f49: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003f69: NOT
00003f6a: AND
00003f6b: DUP5
00003f6c: DUP4
00003f6d: DUP2
00003f6e: MLOAD
00003f6f: DUP2
00003f70: LT
00003f71: PUSH2 0x3f7c
00003f74: JUMPI
00003f75: PUSH2 0x3f7c
00003f78: PUSH2 0x56ab
00003f7b: JUMP
00003f7c: JUMPDEST
00003f7d: ADD
00003f7e: PUSH1 0x20
00003f80: ADD
00003f81: MLOAD
00003f82: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000
00003fa3: AND
00003fa4: EQ
00003fa5: JUMPDEST
00003fa6: ISZERO
00003fa7: PUSH2 0x3fb5
00003faa: JUMPI
00003fab: DUP2
00003fac: PUSH1 0x01
00003fae: ADD
00003faf: SWAP2
00003fb0: POP
00003fb1: PUSH2 0x3f21
00003fb4: JUMP
00003fb5: JUMPDEST
00003fb6: POP
00003fb7: SWAP3
00003fb8: SWAP2
00003fb9: POP
00003fba: POP
00003fbb: JUMP
00003fbc: JUMPDEST
00003fbd: PUSH1 0x00
00003fbf: DUP1
00003fc0: DUP3
00003fc1: GT
00003fc2: PUSH2 0x4027
00003fc5: JUMPI
00003fc6: PUSH1 0x40
00003fc8: MLOAD
00003fc9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003fea: DUP2
00003feb: MSTORE
00003fec: PUSH1 0x20
00003fee: PUSH1 0x04
00003ff0: DUP3
00003ff1: ADD
00003ff2: MSTORE
00003ff3: PUSH1 0x09
00003ff5: PUSH1 0x24
00003ff7: DUP3
00003ff8: ADD
00003ff9: MSTORE
00003ffa: PUSH32 0x554e444546494e45440000000000000000000000000000000000000000000000
0000401b: PUSH1 0x44
0000401d: DUP3
0000401e: ADD
0000401f: MSTORE
00004020: PUSH1 0x64
00004022: ADD
00004023: PUSH2 0x0add
00004026: JUMP
00004027: JUMPDEST
00004028: POP
00004029: PUSH1 0x01
0000402b: PUSH16 0xffffffffffffffffffffffffffffffff
0000403c: DUP3
0000403d: GT
0000403e: PUSH1 0x07
00004040: SHL
00004041: DUP3
00004042: DUP2
00004043: SHR
00004044: PUSH8 0xffffffffffffffff
0000404d: LT
0000404e: PUSH1 0x06
00004050: SHL
00004051: OR
00004052: DUP3
00004053: DUP2
00004054: SHR
00004055: PUSH4 0xffffffff
0000405a: LT
0000405b: PUSH1 0x05
0000405d: SHL
0000405e: OR
0000405f: DUP3
00004060: DUP2
00004061: SHR
00004062: PUSH2 0xffff
00004065: LT
00004066: PUSH1 0x04
00004068: SHL
00004069: OR
0000406a: DUP3
0000406b: DUP2
0000406c: SHR
0000406d: PUSH1 0xff
0000406f: LT
00004070: PUSH1 0x03
00004072: SWAP1
00004073: DUP2
00004074: SHL
00004075: SWAP1
00004076: SWAP2
00004077: OR
00004078: DUP4
00004079: DUP2
0000407a: SHR
0000407b: PUSH1 0x0f
0000407d: LT
0000407e: PUSH1 0x02
00004080: SHL
00004081: OR
00004082: DUP4
00004083: DUP2
00004084: SHR
00004085: SWAP1
00004086: SWAP2
00004087: LT
00004088: DUP3
00004089: SHL
0000408a: OR
0000408b: SWAP2
0000408c: DUP3
0000408d: SHR
0000408e: GT
0000408f: OR
00004090: SWAP1
00004091: JUMP
00004092: JUMPDEST
00004093: PUSH1 0x60
00004095: DUP4
00004096: ISZERO
00004097: PUSH2 0x40a1
0000409a: JUMPI
0000409b: POP
0000409c: DUP2
0000409d: PUSH2 0x2968
000040a0: JUMP
000040a1: JUMPDEST
000040a2: DUP3
000040a3: MLOAD
000040a4: ISZERO
000040a5: PUSH2 0x40b1
000040a8: JUMPI
000040a9: DUP3
000040aa: MLOAD
000040ab: DUP1
000040ac: DUP5
000040ad: PUSH1 0x20
000040af: ADD
000040b0: REVERT
000040b1: JUMPDEST
000040b2: DUP2
000040b3: PUSH1 0x40
000040b5: MLOAD
000040b6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000040d7: DUP2
000040d8: MSTORE
000040d9: PUSH1 0x04
000040db: ADD
000040dc: PUSH2 0x0add
000040df: SWAP2
000040e0: SWAP1
000040e1: PUSH2 0x4e1d
000040e4: JUMP
000040e5: JUMPDEST
000040e6: PUSH1 0x60
000040e8: PUSH2 0x0ff2
000040eb: PUSH2 0x40f3
000040ee: DUP4
000040ef: PUSH2 0x4818
000040f2: JUMP
000040f3: JUMPDEST
000040f4: PUSH2 0x4885
000040f7: JUMP
000040f8: JUMPDEST
000040f9: PUSH1 0x00
000040fb: DUP1
000040fc: PUSH1 0x00
000040fe: DUP4
000040ff: PUSH1 0x00
00004101: ADD
00004102: MLOAD
00004103: PUSH1 0x00
00004105: SUB
00004106: PUSH2 0x413b
00004109: JUMPI
0000410a: PUSH1 0x40
0000410c: MLOAD
0000410d: PUSH32 0x5ab458fb00000000000000000000000000000000000000000000000000000000
0000412e: DUP2
0000412f: MSTORE
00004130: PUSH1 0x04
00004132: ADD
00004133: PUSH1 0x40
00004135: MLOAD
00004136: DUP1
00004137: SWAP2
00004138: SUB
00004139: SWAP1
0000413a: REVERT
0000413b: JUMPDEST
0000413c: PUSH1 0x20
0000413e: DUP5
0000413f: ADD
00004140: MLOAD
00004141: DUP1
00004142: MLOAD
00004143: PUSH1 0x00
00004145: BYTE
00004146: PUSH1 0x7f
00004148: DUP2
00004149: GT
0000414a: PUSH2 0x4160
0000414d: JUMPI
0000414e: PUSH1 0x00
00004150: PUSH1 0x01
00004152: PUSH1 0x00
00004154: SWAP5
00004155: POP
00004156: SWAP5
00004157: POP
00004158: SWAP5
00004159: POP
0000415a: POP
0000415b: POP
0000415c: PUSH2 0x458f
0000415f: JUMP
00004160: JUMPDEST
00004161: PUSH1 0xb7
00004163: DUP2
00004164: GT
00004165: PUSH2 0x4276
00004168: JUMPI
00004169: PUSH1 0x00
0000416b: PUSH2 0x4175
0000416e: PUSH1 0x80
00004170: DUP4
00004171: PUSH2 0x522c
00004174: JUMP
00004175: JUMPDEST
00004176: SWAP1
00004177: POP
00004178: DUP1
00004179: DUP8
0000417a: PUSH1 0x00
0000417c: ADD
0000417d: MLOAD
0000417e: GT
0000417f: PUSH2 0x41b4
00004182: JUMPI
00004183: PUSH1 0x40
00004185: MLOAD
00004186: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000
000041a7: DUP2
000041a8: MSTORE
000041a9: PUSH1 0x04
000041ab: ADD
000041ac: PUSH1 0x40
000041ae: MLOAD
000041af: DUP1
000041b0: SWAP2
000041b1: SUB
000041b2: SWAP1
000041b3: REVERT
000041b4: JUMPDEST
000041b5: PUSH1 0x01
000041b7: DUP4
000041b8: DUP2
000041b9: ADD
000041ba: MLOAD
000041bb: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000
000041dc: AND
000041dd: SWAP1
000041de: DUP3
000041df: EQ
000041e0: DUP1
000041e1: ISZERO
000041e2: PUSH2 0x422c
000041e5: JUMPI
000041e6: POP
000041e7: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000
00004208: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000
00004229: DUP3
0000422a: AND
0000422b: LT
0000422c: JUMPDEST
0000422d: ISZERO
0000422e: PUSH2 0x4263
00004231: JUMPI
00004232: PUSH1 0x40
00004234: MLOAD
00004235: PUSH32 0xbabb01dd00000000000000000000000000000000000000000000000000000000
00004256: DUP2
00004257: MSTORE
00004258: PUSH1 0x04
0000425a: ADD
0000425b: PUSH1 0x40
0000425d: MLOAD
0000425e: DUP1
0000425f: SWAP2
00004260: SUB
00004261: SWAP1
00004262: REVERT
00004263: JUMPDEST
00004264: POP
00004265: PUSH1 0x01
00004267: SWAP6
00004268: POP
00004269: SWAP4
0000426a: POP
0000426b: PUSH1 0x00
0000426d: SWAP3
0000426e: POP
0000426f: PUSH2 0x458f
00004272: SWAP2
00004273: POP
00004274: POP
00004275: JUMP
00004276: JUMPDEST
00004277: PUSH1 0xbf
00004279: DUP2
0000427a: GT
0000427b: PUSH2 0x43d4
0000427e: JUMPI
0000427f: PUSH1 0x00
00004281: PUSH2 0x428b
00004284: PUSH1 0xb7
00004286: DUP4
00004287: PUSH2 0x522c
0000428a: JUMP
0000428b: JUMPDEST
0000428c: SWAP1
0000428d: POP
0000428e: DUP1
0000428f: DUP8
00004290: PUSH1 0x00
00004292: ADD
00004293: MLOAD
00004294: GT
00004295: PUSH2 0x42ca
00004298: JUMPI
00004299: PUSH1 0x40
0000429b: MLOAD
0000429c: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000
000042bd: DUP2
000042be: MSTORE
000042bf: PUSH1 0x04
000042c1: ADD
000042c2: PUSH1 0x40
000042c4: MLOAD
000042c5: DUP1
000042c6: SWAP2
000042c7: SUB
000042c8: SWAP1
000042c9: REVERT
000042ca: JUMPDEST
000042cb: PUSH1 0x01
000042cd: DUP4
000042ce: ADD
000042cf: MLOAD
000042d0: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000
000042f1: AND
000042f2: PUSH1 0x00
000042f4: DUP2
000042f5: SWAP1
000042f6: SUB
000042f7: PUSH2 0x432c
000042fa: JUMPI
000042fb: PUSH1 0x40
000042fd: MLOAD
000042fe: PUSH32 0xbabb01dd00000000000000000000000000000000000000000000000000000000
0000431f: DUP2
00004320: MSTORE
00004321: PUSH1 0x04
00004323: ADD
00004324: PUSH1 0x40
00004326: MLOAD
00004327: DUP1
00004328: SWAP2
00004329: SUB
0000432a: SWAP1
0000432b: REVERT
0000432c: JUMPDEST
0000432d: PUSH1 0x01
0000432f: DUP5
00004330: ADD
00004331: MLOAD
00004332: PUSH1 0x08
00004334: DUP4
00004335: MUL
00004336: PUSH2 0x0100
00004339: SUB
0000433a: SHR
0000433b: PUSH1 0x37
0000433d: DUP2
0000433e: GT
0000433f: PUSH2 0x4374
00004342: JUMPI
00004343: PUSH1 0x40
00004345: MLOAD
00004346: PUSH32 0xbabb01dd00000000000000000000000000000000000000000000000000000000
00004367: DUP2
00004368: MSTORE
00004369: PUSH1 0x04
0000436b: ADD
0000436c: PUSH1 0x40
0000436e: MLOAD
0000436f: DUP1
00004370: SWAP2
00004371: SUB
00004372: SWAP1
00004373: REVERT
00004374: JUMPDEST
00004375: PUSH2 0x437e
00004378: DUP2
00004379: DUP5
0000437a: PUSH2 0x4fed
0000437d: JUMP
0000437e: JUMPDEST
0000437f: DUP10
00004380: MLOAD
00004381: GT
00004382: PUSH2 0x43b7
00004385: JUMPI
00004386: PUSH1 0x40
00004388: MLOAD
00004389: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000
000043aa: DUP2
000043ab: MSTORE
000043ac: PUSH1 0x04
000043ae: ADD
000043af: PUSH1 0x40
000043b1: MLOAD
000043b2: DUP1
000043b3: SWAP2
000043b4: SUB
000043b5: SWAP1
000043b6: REVERT
000043b7: JUMPDEST
000043b8: PUSH2 0x43c2
000043bb: DUP4
000043bc: PUSH1 0x01
000043be: PUSH2 0x4fed
000043c1: JUMP
000043c2: JUMPDEST
000043c3: SWAP8
000043c4: POP
000043c5: SWAP6
000043c6: POP
000043c7: PUSH1 0x00
000043c9: SWAP5
000043ca: POP
000043cb: PUSH2 0x458f
000043ce: SWAP4
000043cf: POP
000043d0: POP
000043d1: POP
000043d2: POP
000043d3: JUMP
000043d4: JUMPDEST
000043d5: PUSH1 0xf7
000043d7: DUP2
000043d8: GT
000043d9: PUSH2 0x4439
000043dc: JUMPI
000043dd: PUSH1 0x00
000043df: PUSH2 0x43e9
000043e2: PUSH1 0xc0
000043e4: DUP4
000043e5: PUSH2 0x522c
000043e8: JUMP
000043e9: JUMPDEST
000043ea: SWAP1
000043eb: POP
000043ec: DUP1
000043ed: DUP8
000043ee: PUSH1 0x00
000043f0: ADD
000043f1: MLOAD
000043f2: GT
000043f3: PUSH2 0x4428
000043f6: JUMPI
000043f7: PUSH1 0x40
000043f9: MLOAD
000043fa: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000
0000441b: DUP2
0000441c: MSTORE
0000441d: PUSH1 0x04
0000441f: ADD
00004420: PUSH1 0x40
00004422: MLOAD
00004423: DUP1
00004424: SWAP2
00004425: SUB
00004426: SWAP1
00004427: REVERT
00004428: JUMPDEST
00004429: PUSH1 0x01
0000442b: SWAP6
0000442c: POP
0000442d: SWAP4
0000442e: POP
0000442f: DUP5
00004430: SWAP3
00004431: POP
00004432: PUSH2 0x458f
00004435: SWAP2
00004436: POP
00004437: POP
00004438: JUMP
00004439: JUMPDEST
0000443a: PUSH1 0x00
0000443c: PUSH2 0x4446
0000443f: PUSH1 0xf7
00004441: DUP4
00004442: PUSH2 0x522c
00004445: JUMP
00004446: JUMPDEST
00004447: SWAP1
00004448: POP
00004449: DUP1
0000444a: DUP8
0000444b: PUSH1 0x00
0000444d: ADD
0000444e: MLOAD
0000444f: GT
00004450: PUSH2 0x4485
00004453: JUMPI
00004454: PUSH1 0x40
00004456: MLOAD
00004457: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000
00004478: DUP2
00004479: MSTORE
0000447a: PUSH1 0x04
0000447c: ADD
0000447d: PUSH1 0x40
0000447f: MLOAD
00004480: DUP1
00004481: SWAP2
00004482: SUB
00004483: SWAP1
00004484: REVERT
00004485: JUMPDEST
00004486: PUSH1 0x01
00004488: DUP4
00004489: ADD
0000448a: MLOAD
0000448b: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000
000044ac: AND
000044ad: PUSH1 0x00
000044af: DUP2
000044b0: SWAP1
000044b1: SUB
000044b2: PUSH2 0x44e7
000044b5: JUMPI
000044b6: PUSH1 0x40
000044b8: MLOAD
000044b9: PUSH32 0xbabb01dd00000000000000000000000000000000000000000000000000000000
000044da: DUP2
000044db: MSTORE
000044dc: PUSH1 0x04
000044de: ADD
000044df: PUSH1 0x40
000044e1: MLOAD
000044e2: DUP1
000044e3: SWAP2
000044e4: SUB
000044e5: SWAP1
000044e6: REVERT
000044e7: JUMPDEST
000044e8: PUSH1 0x01
000044ea: DUP5
000044eb: ADD
000044ec: MLOAD
000044ed: PUSH1 0x08
000044ef: DUP4
000044f0: MUL
000044f1: PUSH2 0x0100
000044f4: SUB
000044f5: SHR
000044f6: PUSH1 0x37
000044f8: DUP2
000044f9: GT
000044fa: PUSH2 0x452f
000044fd: JUMPI
000044fe: PUSH1 0x40
00004500: MLOAD
00004501: PUSH32 0xbabb01dd00000000000000000000000000000000000000000000000000000000
00004522: DUP2
00004523: MSTORE
00004524: PUSH1 0x04
00004526: ADD
00004527: PUSH1 0x40
00004529: MLOAD
0000452a: DUP1
0000452b: SWAP2
0000452c: SUB
0000452d: SWAP1
0000452e: REVERT
0000452f: JUMPDEST
00004530: PUSH2 0x4539
00004533: DUP2
00004534: DUP5
00004535: PUSH2 0x4fed
00004538: JUMP
00004539: JUMPDEST
0000453a: DUP10
0000453b: MLOAD
0000453c: GT
0000453d: PUSH2 0x4572
00004540: JUMPI
00004541: PUSH1 0x40
00004543: MLOAD
00004544: PUSH32 0x66c9448500000000000000000000000000000000000000000000000000000000
00004565: DUP2
00004566: MSTORE
00004567: PUSH1 0x04
00004569: ADD
0000456a: PUSH1 0x40
0000456c: MLOAD
0000456d: DUP1
0000456e: SWAP2
0000456f: SUB
00004570: SWAP1
00004571: REVERT
00004572: JUMPDEST
00004573: PUSH2 0x457d
00004576: DUP4
00004577: PUSH1 0x01
00004579: PUSH2 0x4fed
0000457c: JUMP
0000457d: JUMPDEST
0000457e: SWAP8
0000457f: POP
00004580: SWAP6
00004581: POP
00004582: PUSH1 0x01
00004584: SWAP5
00004585: POP
00004586: PUSH2 0x458f
00004589: SWAP4
0000458a: POP
0000458b: POP
0000458c: POP
0000458d: POP
0000458e: JUMP
0000458f: JUMPDEST
00004590: SWAP2
00004591: SWAP4
00004592: SWAP1
00004593: SWAP3
00004594: POP
00004595: JUMP
00004596: JUMPDEST
00004597: PUSH1 0x60
00004599: DUP2
0000459a: PUSH8 0xffffffffffffffff
000045a3: DUP2
000045a4: GT
000045a5: ISZERO
000045a6: PUSH2 0x45b1
000045a9: JUMPI
000045aa: PUSH2 0x45b1
000045ad: PUSH2 0x4a8b
000045b0: JUMP
000045b1: JUMPDEST
000045b2: PUSH1 0x40
000045b4: MLOAD
000045b5: SWAP1
000045b6: DUP1
000045b7: DUP3
000045b8: MSTORE
000045b9: DUP1
000045ba: PUSH1 0x1f
000045bc: ADD
000045bd: PUSH1 0x1f
000045bf: NOT
000045c0: AND
000045c1: PUSH1 0x20
000045c3: ADD
000045c4: DUP3
000045c5: ADD
000045c6: PUSH1 0x40
000045c8: MSTORE
000045c9: DUP1
000045ca: ISZERO
000045cb: PUSH2 0x45db
000045ce: JUMPI
000045cf: PUSH1 0x20
000045d1: DUP3
000045d2: ADD
000045d3: DUP2
000045d4: DUP1
000045d5: CALLDATASIZE
000045d6: DUP4
000045d7: CALLDATACOPY
000045d8: ADD
000045d9: SWAP1
000045da: POP
000045db: JUMPDEST
000045dc: POP
000045dd: SWAP1
000045de: POP
000045df: DUP2
000045e0: ISZERO
000045e1: PUSH2 0x2968
000045e4: JUMPI
000045e5: PUSH1 0x00
000045e7: PUSH2 0x45f0
000045ea: DUP5
000045eb: DUP7
000045ec: PUSH2 0x4fed
000045ef: JUMP
000045f0: JUMPDEST
000045f1: SWAP1
000045f2: POP
000045f3: PUSH1 0x20
000045f5: DUP3
000045f6: ADD
000045f7: PUSH1 0x00
000045f9: JUMPDEST
000045fa: DUP5
000045fb: DUP2
000045fc: LT
000045fd: ISZERO
000045fe: PUSH2 0x4611
00004601: JUMPI
00004602: DUP3
00004603: DUP2
00004604: ADD
00004605: MLOAD
00004606: DUP3
00004607: DUP3
00004608: ADD
00004609: MSTORE
0000460a: PUSH1 0x20
0000460c: ADD
0000460d: PUSH2 0x45f9
00004610: JUMP
00004611: JUMPDEST
00004612: DUP5
00004613: DUP2
00004614: GT
00004615: ISZERO
00004616: PUSH2 0x4620
00004619: JUMPI
0000461a: PUSH1 0x00
0000461c: DUP6
0000461d: DUP4
0000461e: ADD
0000461f: MSTORE
00004620: JUMPDEST
00004621: POP
00004622: POP
00004623: POP
00004624: SWAP4
00004625: SWAP3
00004626: POP
00004627: POP
00004628: POP
00004629: JUMP
0000462a: JUMPDEST
0000462b: PUSH1 0x60
0000462d: PUSH2 0x0ff2
00004630: DUP3
00004631: PUSH1 0x20
00004633: ADD
00004634: MLOAD
00004635: PUSH1 0x00
00004637: DUP5
00004638: PUSH1 0x00
0000463a: ADD
0000463b: MLOAD
0000463c: PUSH2 0x4596
0000463f: JUMP
00004640: JUMPDEST
00004641: PUSH1 0x60
00004643: DUP2
00004644: DUP3
00004645: PUSH1 0x1f
00004647: ADD
00004648: LT
00004649: ISZERO
0000464a: PUSH2 0x46af
0000464d: JUMPI
0000464e: PUSH1 0x40
00004650: MLOAD
00004651: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004672: DUP2
00004673: MSTORE
00004674: PUSH1 0x20
00004676: PUSH1 0x04
00004678: DUP3
00004679: ADD
0000467a: MSTORE
0000467b: PUSH1 0x0e
0000467d: PUSH1 0x24
0000467f: DUP3
00004680: ADD
00004681: MSTORE
00004682: PUSH32 0x736c6963655f6f766572666c6f77000000000000000000000000000000000000
000046a3: PUSH1 0x44
000046a5: DUP3
000046a6: ADD
000046a7: MSTORE
000046a8: PUSH1 0x64
000046aa: ADD
000046ab: PUSH2 0x0add
000046ae: JUMP
000046af: JUMPDEST
000046b0: DUP3
000046b1: DUP3
000046b2: DUP5
000046b3: ADD
000046b4: LT
000046b5: ISZERO
000046b6: PUSH2 0x471b
000046b9: JUMPI
000046ba: PUSH1 0x40
000046bc: MLOAD
000046bd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000046de: DUP2
000046df: MSTORE
000046e0: PUSH1 0x20
000046e2: PUSH1 0x04
000046e4: DUP3
000046e5: ADD
000046e6: MSTORE
000046e7: PUSH1 0x0e
000046e9: PUSH1 0x24
000046eb: DUP3
000046ec: ADD
000046ed: MSTORE
000046ee: PUSH32 0x736c6963655f6f766572666c6f77000000000000000000000000000000000000
0000470f: PUSH1 0x44
00004711: DUP3
00004712: ADD
00004713: MSTORE
00004714: PUSH1 0x64
00004716: ADD
00004717: PUSH2 0x0add
0000471a: JUMP
0000471b: JUMPDEST
0000471c: DUP2
0000471d: DUP4
0000471e: ADD
0000471f: DUP5
00004720: MLOAD
00004721: LT
00004722: ISZERO
00004723: PUSH2 0x4788
00004726: JUMPI
00004727: PUSH1 0x40
00004729: MLOAD
0000472a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000474b: DUP2
0000474c: MSTORE
0000474d: PUSH1 0x20
0000474f: PUSH1 0x04
00004751: DUP3
00004752: ADD
00004753: MSTORE
00004754: PUSH1 0x11
00004756: PUSH1 0x24
00004758: DUP3
00004759: ADD
0000475a: MSTORE
0000475b: PUSH32 0x736c6963655f6f75744f66426f756e6473000000000000000000000000000000
0000477c: PUSH1 0x44
0000477e: DUP3
0000477f: ADD
00004780: MSTORE
00004781: PUSH1 0x64
00004783: ADD
00004784: PUSH2 0x0add
00004787: JUMP
00004788: JUMPDEST
00004789: PUSH1 0x60
0000478b: DUP3
0000478c: ISZERO
0000478d: DUP1
0000478e: ISZERO
0000478f: PUSH2 0x47a7
00004792: JUMPI
00004793: PUSH1 0x40
00004795: MLOAD
00004796: SWAP2
00004797: POP
00004798: PUSH1 0x00
0000479a: DUP3
0000479b: MSTORE
0000479c: PUSH1 0x20
0000479e: DUP3
0000479f: ADD
000047a0: PUSH1 0x40
000047a2: MSTORE
000047a3: PUSH2 0x480f
000047a6: JUMP
000047a7: JUMPDEST
000047a8: PUSH1 0x40
000047aa: MLOAD
000047ab: SWAP2
000047ac: POP
000047ad: PUSH1 0x1f
000047af: DUP5
000047b0: AND
000047b1: DUP1
000047b2: ISZERO
000047b3: PUSH1 0x20
000047b5: MUL
000047b6: DUP2
000047b7: DUP5
000047b8: ADD
000047b9: ADD
000047ba: DUP6
000047bb: DUP2
000047bc: ADD
000047bd: DUP8
000047be: DUP4
000047bf: ISZERO
000047c0: PUSH1 0x20
000047c2: MUL
000047c3: DUP5
000047c4: DUP12
000047c5: ADD
000047c6: ADD
000047c7: ADD
000047c8: JUMPDEST
000047c9: DUP2
000047ca: DUP4
000047cb: LT
000047cc: ISZERO
000047cd: PUSH2 0x47e0
000047d0: JUMPI
000047d1: DUP1
000047d2: MLOAD
000047d3: DUP4
000047d4: MSTORE
000047d5: PUSH1 0x20
000047d7: SWAP3
000047d8: DUP4
000047d9: ADD
000047da: SWAP3
000047db: ADD
000047dc: PUSH2 0x47c8
000047df: JUMP
000047e0: JUMPDEST
000047e1: POP
000047e2: POP
000047e3: DUP6
000047e4: DUP5
000047e5: MSTORE
000047e6: PUSH1 0x1f
000047e8: ADD
000047e9: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000480a: AND
0000480b: PUSH1 0x40
0000480d: MSTORE
0000480e: POP
0000480f: JUMPDEST
00004810: POP
00004811: SWAP5
00004812: SWAP4
00004813: POP
00004814: POP
00004815: POP
00004816: POP
00004817: JUMP
00004818: JUMPDEST
00004819: PUSH1 0x40
0000481b: DUP1
0000481c: MLOAD
0000481d: DUP1
0000481e: DUP3
0000481f: ADD
00004820: SWAP1
00004821: SWAP2
00004822: MSTORE
00004823: PUSH1 0x00
00004825: DUP1
00004826: DUP3
00004827: MSTORE
00004828: PUSH1 0x20
0000482a: DUP3
0000482b: ADD
0000482c: MSTORE
0000482d: DUP2
0000482e: MLOAD
0000482f: PUSH1 0x00
00004831: SUB
00004832: PUSH2 0x4867
00004835: JUMPI
00004836: PUSH1 0x40
00004838: MLOAD
00004839: PUSH32 0x5ab458fb00000000000000000000000000000000000000000000000000000000
0000485a: DUP2
0000485b: MSTORE
0000485c: PUSH1 0x04
0000485e: ADD
0000485f: PUSH1 0x40
00004861: MLOAD
00004862: DUP1
00004863: SWAP2
00004864: SUB
00004865: SWAP1
00004866: REVERT
00004867: JUMPDEST
00004868: POP
00004869: PUSH1 0x40
0000486b: DUP1
0000486c: MLOAD
0000486d: DUP1
0000486e: DUP3
0000486f: ADD
00004870: SWAP1
00004871: SWAP2
00004872: MSTORE
00004873: DUP2
00004874: MLOAD
00004875: DUP2
00004876: MSTORE
00004877: PUSH1 0x20
00004879: SWAP2
0000487a: DUP3
0000487b: ADD
0000487c: SWAP2
0000487d: DUP2
0000487e: ADD
0000487f: SWAP2
00004880: SWAP1
00004881: SWAP2
00004882: MSTORE
00004883: SWAP1
00004884: JUMP
00004885: JUMPDEST
00004886: PUSH1 0x60
00004888: PUSH1 0x00
0000488a: DUP1
0000488b: PUSH1 0x00
0000488d: PUSH2 0x4895
00004890: DUP6
00004891: PUSH2 0x40f8
00004894: JUMP
00004895: JUMPDEST
00004896: SWAP2
00004897: SWAP5
00004898: POP
00004899: SWAP3
0000489a: POP
0000489b: SWAP1
0000489c: POP
0000489d: PUSH1 0x01
0000489f: DUP2
000048a0: PUSH1 0x01
000048a2: DUP2
000048a3: GT
000048a4: ISZERO
000048a5: PUSH2 0x48b0
000048a8: JUMPI
000048a9: PUSH2 0x48b0
000048ac: PUSH2 0x573b
000048af: JUMP
000048b0: JUMPDEST
000048b1: EQ
000048b2: PUSH2 0x48e7
000048b5: JUMPI
000048b6: PUSH1 0x40
000048b8: MLOAD
000048b9: PUSH32 0x4b9c6abe00000000000000000000000000000000000000000000000000000000
000048da: DUP2
000048db: MSTORE
000048dc: PUSH1 0x04
000048de: ADD
000048df: PUSH1 0x40
000048e1: MLOAD
000048e2: DUP1
000048e3: SWAP2
000048e4: SUB
000048e5: SWAP1
000048e6: REVERT
000048e7: JUMPDEST
000048e8: DUP5
000048e9: MLOAD
000048ea: PUSH2 0x48f3
000048ed: DUP4
000048ee: DUP6
000048ef: PUSH2 0x4fed
000048f2: JUMP
000048f3: JUMPDEST
000048f4: EQ
000048f5: PUSH2 0x492a
000048f8: JUMPI
000048f9: PUSH1 0x40
000048fb: MLOAD
000048fc: PUSH32 0x5c5537b800000000000000000000000000000000000000000000000000000000
0000491d: DUP2
0000491e: MSTORE
0000491f: PUSH1 0x04
00004921: ADD
00004922: PUSH1 0x40
00004924: MLOAD
00004925: DUP1
00004926: SWAP2
00004927: SUB
00004928: SWAP1
00004929: REVERT
0000492a: JUMPDEST
0000492b: PUSH1 0x40
0000492d: DUP1
0000492e: MLOAD
0000492f: PUSH1 0x20
00004931: DUP1
00004932: DUP3
00004933: MSTORE
00004934: PUSH2 0x0420
00004937: DUP3
00004938: ADD
00004939: SWAP1
0000493a: SWAP3
0000493b: MSTORE
0000493c: SWAP1
0000493d: DUP2
0000493e: PUSH1 0x20
00004940: ADD
00004941: JUMPDEST
00004942: PUSH1 0x40
00004944: DUP1
00004945: MLOAD
00004946: DUP1
00004947: DUP3
00004948: ADD
00004949: SWAP1
0000494a: SWAP2
0000494b: MSTORE
0000494c: PUSH1 0x00
0000494e: DUP1
0000494f: DUP3
00004950: MSTORE
00004951: PUSH1 0x20
00004953: DUP3
00004954: ADD
00004955: MSTORE
00004956: DUP2
00004957: MSTORE
00004958: PUSH1 0x20
0000495a: ADD
0000495b: SWAP1
0000495c: PUSH1 0x01
0000495e: SWAP1
0000495f: SUB
00004960: SWAP1
00004961: DUP2
00004962: PUSH2 0x4941
00004965: JUMPI
00004966: SWAP1
00004967: POP
00004968: POP
00004969: SWAP4
0000496a: POP
0000496b: PUSH1 0x00
0000496d: DUP4
0000496e: JUMPDEST
0000496f: DUP7
00004970: MLOAD
00004971: DUP2
00004972: LT
00004973: ISZERO
00004974: PUSH2 0x4a2f
00004977: JUMPI
00004978: PUSH1 0x00
0000497a: DUP1
0000497b: PUSH2 0x49b4
0000497e: PUSH1 0x40
00004980: MLOAD
00004981: DUP1
00004982: PUSH1 0x40
00004984: ADD
00004985: PUSH1 0x40
00004987: MSTORE
00004988: DUP1
00004989: DUP6
0000498a: DUP13
0000498b: PUSH1 0x00
0000498d: ADD
0000498e: MLOAD
0000498f: PUSH2 0x4998
00004992: SWAP2
00004993: SWAP1
00004994: PUSH2 0x522c
00004997: JUMP
00004998: JUMPDEST
00004999: DUP2
0000499a: MSTORE
0000499b: PUSH1 0x20
0000499d: ADD
0000499e: DUP6
0000499f: DUP13
000049a0: PUSH1 0x20
000049a2: ADD
000049a3: MLOAD
000049a4: PUSH2 0x49ad
000049a7: SWAP2
000049a8: SWAP1
000049a9: PUSH2 0x4fed
000049ac: JUMP
000049ad: JUMPDEST
000049ae: SWAP1
000049af: MSTORE
000049b0: PUSH2 0x40f8
000049b3: JUMP
000049b4: JUMPDEST
000049b5: POP
000049b6: SWAP2
000049b7: POP
000049b8: SWAP2
000049b9: POP
000049ba: PUSH1 0x40
000049bc: MLOAD
000049bd: DUP1
000049be: PUSH1 0x40
000049c0: ADD
000049c1: PUSH1 0x40
000049c3: MSTORE
000049c4: DUP1
000049c5: DUP4
000049c6: DUP4
000049c7: PUSH2 0x49d0
000049ca: SWAP2
000049cb: SWAP1
000049cc: PUSH2 0x4fed
000049cf: JUMP
000049d0: JUMPDEST
000049d1: DUP2
000049d2: MSTORE
000049d3: PUSH1 0x20
000049d5: ADD
000049d6: DUP5
000049d7: DUP12
000049d8: PUSH1 0x20
000049da: ADD
000049db: MLOAD
000049dc: PUSH2 0x49e5
000049df: SWAP2
000049e0: SWAP1
000049e1: PUSH2 0x4fed
000049e4: JUMP
000049e5: JUMPDEST
000049e6: DUP2
000049e7: MSTORE
000049e8: POP
000049e9: DUP9
000049ea: DUP6
000049eb: DUP2
000049ec: MLOAD
000049ed: DUP2
000049ee: LT
000049ef: PUSH2 0x49fa
000049f2: JUMPI
000049f3: PUSH2 0x49fa
000049f6: PUSH2 0x56ab
000049f9: JUMP
000049fa: JUMPDEST
000049fb: PUSH1 0x20
000049fd: SWAP1
000049fe: DUP2
000049ff: MUL
00004a00: SWAP2
00004a01: SWAP1
00004a02: SWAP2
00004a03: ADD
00004a04: ADD
00004a05: MSTORE
00004a06: PUSH2 0x4a10
00004a09: PUSH1 0x01
00004a0b: DUP6
00004a0c: PUSH2 0x4fed
00004a0f: JUMP
00004a10: JUMPDEST
00004a11: SWAP4
00004a12: POP
00004a13: PUSH2 0x4a1c
00004a16: DUP2
00004a17: DUP4
00004a18: PUSH2 0x4fed
00004a1b: JUMP
00004a1c: JUMPDEST
00004a1d: PUSH2 0x4a26
00004a20: SWAP1
00004a21: DUP5
00004a22: PUSH2 0x4fed
00004a25: JUMP
00004a26: JUMPDEST
00004a27: SWAP3
00004a28: POP
00004a29: POP
00004a2a: POP
00004a2b: PUSH2 0x496e
00004a2e: JUMP
00004a2f: JUMPDEST
00004a30: POP
00004a31: DUP5
00004a32: MSTORE
00004a33: POP
00004a34: SWAP2
00004a35: SWAP4
00004a36: SWAP3
00004a37: POP
00004a38: POP
00004a39: POP
00004a3a: JUMP
00004a3b: JUMPDEST
00004a3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004a51: DUP2
00004a52: AND
00004a53: DUP2
00004a54: EQ
00004a55: PUSH2 0x4a5d
00004a58: JUMPI
00004a59: PUSH1 0x00
00004a5b: DUP1
00004a5c: REVERT
00004a5d: JUMPDEST
00004a5e: POP
00004a5f: JUMP
00004a60: JUMPDEST
00004a61: DUP1
00004a62: CALLDATALOAD
00004a63: PUSH8 0xffffffffffffffff
00004a6c: DUP2
00004a6d: AND
00004a6e: DUP2
00004a6f: EQ
00004a70: PUSH2 0x4a78
00004a73: JUMPI
00004a74: PUSH1 0x00
00004a76: DUP1
00004a77: REVERT
00004a78: JUMPDEST
00004a79: SWAP2
00004a7a: SWAP1
00004a7b: POP
00004a7c: JUMP
00004a7d: JUMPDEST
00004a7e: DUP1
00004a7f: ISZERO
00004a80: ISZERO
00004a81: DUP2
00004a82: EQ
00004a83: PUSH2 0x4a5d
00004a86: JUMPI
00004a87: PUSH1 0x00
00004a89: DUP1
00004a8a: REVERT
00004a8b: JUMPDEST
00004a8c: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004aad: PUSH1 0x00
00004aaf: MSTORE
00004ab0: PUSH1 0x41
00004ab2: PUSH1 0x04
00004ab4: MSTORE
00004ab5: PUSH1 0x24
00004ab7: PUSH1 0x00
00004ab9: REVERT
00004aba: JUMPDEST
00004abb: PUSH1 0x40
00004abd: MLOAD
00004abe: PUSH1 0x1f
00004ac0: DUP3
00004ac1: ADD
00004ac2: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00004ae3: AND
00004ae4: DUP2
00004ae5: ADD
00004ae6: PUSH8 0xffffffffffffffff
00004aef: DUP2
00004af0: GT
00004af1: DUP3
00004af2: DUP3
00004af3: LT
00004af4: OR
00004af5: ISZERO
00004af6: PUSH2 0x4b01
00004af9: JUMPI
00004afa: PUSH2 0x4b01
00004afd: PUSH2 0x4a8b
00004b00: JUMP
00004b01: JUMPDEST
00004b02: PUSH1 0x40
00004b04: MSTORE
00004b05: SWAP2
00004b06: SWAP1
00004b07: POP
00004b08: JUMP
00004b09: JUMPDEST
00004b0a: PUSH1 0x00
00004b0c: DUP3
00004b0d: PUSH1 0x1f
00004b0f: DUP4
00004b10: ADD
00004b11: SLT
00004b12: PUSH2 0x4b1a
00004b15: JUMPI
00004b16: PUSH1 0x00
00004b18: DUP1
00004b19: REVERT
00004b1a: JUMPDEST
00004b1b: DUP2
00004b1c: CALLDATALOAD
00004b1d: PUSH8 0xffffffffffffffff
00004b26: DUP2
00004b27: GT
00004b28: ISZERO
00004b29: PUSH2 0x4b34
00004b2c: JUMPI
00004b2d: PUSH2 0x4b34
00004b30: PUSH2 0x4a8b
00004b33: JUMP
00004b34: JUMPDEST
00004b35: PUSH2 0x4b65
00004b38: PUSH1 0x20
00004b3a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00004b5b: PUSH1 0x1f
00004b5d: DUP5
00004b5e: ADD
00004b5f: AND
00004b60: ADD
00004b61: PUSH2 0x4aba
00004b64: JUMP
00004b65: JUMPDEST
00004b66: DUP2
00004b67: DUP2
00004b68: MSTORE
00004b69: DUP5
00004b6a: PUSH1 0x20
00004b6c: DUP4
00004b6d: DUP7
00004b6e: ADD
00004b6f: ADD
00004b70: GT
00004b71: ISZERO
00004b72: PUSH2 0x4b7a
00004b75: JUMPI
00004b76: PUSH1 0x00
00004b78: DUP1
00004b79: REVERT
00004b7a: JUMPDEST
00004b7b: DUP2
00004b7c: PUSH1 0x20
00004b7e: DUP6
00004b7f: ADD
00004b80: PUSH1 0x20
00004b82: DUP4
00004b83: ADD
00004b84: CALLDATACOPY
00004b85: PUSH1 0x00
00004b87: SWAP2
00004b88: DUP2
00004b89: ADD
00004b8a: PUSH1 0x20
00004b8c: ADD
00004b8d: SWAP2
00004b8e: SWAP1
00004b8f: SWAP2
00004b90: MSTORE
00004b91: SWAP4
00004b92: SWAP3
00004b93: POP
00004b94: POP
00004b95: POP
00004b96: JUMP
00004b97: JUMPDEST
00004b98: PUSH1 0x00
00004b9a: DUP1
00004b9b: PUSH1 0x00
00004b9d: DUP1
00004b9e: PUSH1 0x00
00004ba0: DUP1
00004ba1: PUSH1 0xc0
00004ba3: DUP8
00004ba4: DUP10
00004ba5: SUB
00004ba6: SLT
00004ba7: ISZERO
00004ba8: PUSH2 0x4bb0
00004bab: JUMPI
00004bac: PUSH1 0x00
00004bae: DUP1
00004baf: REVERT
00004bb0: JUMPDEST
00004bb1: DUP7
00004bb2: CALLDATALOAD
00004bb3: PUSH2 0x4bbb
00004bb6: DUP2
00004bb7: PUSH2 0x4a3b
00004bba: JUMP
00004bbb: JUMPDEST
00004bbc: SWAP6
00004bbd: POP
00004bbe: PUSH1 0x20
00004bc0: DUP8
00004bc1: ADD
00004bc2: CALLDATALOAD
00004bc3: SWAP5
00004bc4: POP
00004bc5: PUSH1 0x40
00004bc7: DUP8
00004bc8: ADD
00004bc9: CALLDATALOAD
00004bca: SWAP4
00004bcb: POP
00004bcc: PUSH2 0x4bd7
00004bcf: PUSH1 0x60
00004bd1: DUP9
00004bd2: ADD
00004bd3: PUSH2 0x4a60
00004bd6: JUMP
00004bd7: JUMPDEST
00004bd8: SWAP3
00004bd9: POP
00004bda: PUSH1 0x80
00004bdc: DUP8
00004bdd: ADD
00004bde: CALLDATALOAD
00004bdf: PUSH2 0x4be7
00004be2: DUP2
00004be3: PUSH2 0x4a7d
00004be6: JUMP
00004be7: JUMPDEST
00004be8: SWAP2
00004be9: POP
00004bea: PUSH1 0xa0
00004bec: DUP8
00004bed: ADD
00004bee: CALLDATALOAD
00004bef: PUSH8 0xffffffffffffffff
00004bf8: DUP2
00004bf9: GT
00004bfa: ISZERO
00004bfb: PUSH2 0x4c03
00004bfe: JUMPI
00004bff: PUSH1 0x00
00004c01: DUP1
00004c02: REVERT
00004c03: JUMPDEST
00004c04: PUSH2 0x4c0f
00004c07: DUP10
00004c08: DUP3
00004c09: DUP11
00004c0a: ADD
00004c0b: PUSH2 0x4b09
00004c0e: JUMP
00004c0f: JUMPDEST
00004c10: SWAP2
00004c11: POP
00004c12: POP
00004c13: SWAP3
00004c14: SWAP6
00004c15: POP
00004c16: SWAP3
00004c17: SWAP6
00004c18: POP
00004c19: SWAP3
00004c1a: SWAP6
00004c1b: JUMP
00004c1c: JUMPDEST
00004c1d: PUSH1 0x00
00004c1f: PUSH1 0xc0
00004c21: DUP3
00004c22: DUP5
00004c23: SUB
00004c24: SLT
00004c25: ISZERO
00004c26: PUSH2 0x4c2e
00004c29: JUMPI
00004c2a: PUSH1 0x00
00004c2c: DUP1
00004c2d: REVERT
00004c2e: JUMPDEST
00004c2f: PUSH1 0x40
00004c31: MLOAD
00004c32: PUSH1 0xc0
00004c34: DUP2
00004c35: ADD
00004c36: PUSH8 0xffffffffffffffff
00004c3f: DUP3
00004c40: DUP3
00004c41: LT
00004c42: DUP2
00004c43: DUP4
00004c44: GT
00004c45: OR
00004c46: ISZERO
00004c47: PUSH2 0x4c52
00004c4a: JUMPI
00004c4b: PUSH2 0x4c52
00004c4e: PUSH2 0x4a8b
00004c51: JUMP
00004c52: JUMPDEST
00004c53: DUP2
00004c54: PUSH1 0x40
00004c56: MSTORE
00004c57: DUP3
00004c58: SWAP4
00004c59: POP
00004c5a: DUP5
00004c5b: CALLDATALOAD
00004c5c: DUP4
00004c5d: MSTORE
00004c5e: PUSH1 0x20
00004c60: DUP6
00004c61: ADD
00004c62: CALLDATALOAD
00004c63: SWAP2
00004c64: POP
00004c65: PUSH2 0x4c6d
00004c68: DUP3
00004c69: PUSH2 0x4a3b
00004c6c: JUMP
00004c6d: JUMPDEST
00004c6e: DUP2
00004c6f: PUSH1 0x20
00004c71: DUP5
00004c72: ADD
00004c73: MSTORE
00004c74: PUSH1 0x40
00004c76: DUP6
00004c77: ADD
00004c78: CALLDATALOAD
00004c79: SWAP2
00004c7a: POP
00004c7b: PUSH2 0x4c83
00004c7e: DUP3
00004c7f: PUSH2 0x4a3b
00004c82: JUMP
00004c83: JUMPDEST
00004c84: DUP2
00004c85: PUSH1 0x40
00004c87: DUP5
00004c88: ADD
00004c89: MSTORE
00004c8a: PUSH1 0x60
00004c8c: DUP6
00004c8d: ADD
00004c8e: CALLDATALOAD
00004c8f: PUSH1 0x60
00004c91: DUP5
00004c92: ADD
00004c93: MSTORE
00004c94: PUSH1 0x80
00004c96: DUP6
00004c97: ADD
00004c98: CALLDATALOAD
00004c99: PUSH1 0x80
00004c9b: DUP5
00004c9c: ADD
00004c9d: MSTORE
00004c9e: PUSH1 0xa0
00004ca0: DUP6
00004ca1: ADD
00004ca2: CALLDATALOAD
00004ca3: SWAP2
00004ca4: POP
00004ca5: DUP1
00004ca6: DUP3
00004ca7: GT
00004ca8: ISZERO
00004ca9: PUSH2 0x4cb1
00004cac: JUMPI
00004cad: PUSH1 0x00
00004caf: DUP1
00004cb0: REVERT
00004cb1: JUMPDEST
00004cb2: POP
00004cb3: PUSH2 0x4cbe
00004cb6: DUP6
00004cb7: DUP3
00004cb8: DUP7
00004cb9: ADD
00004cba: PUSH2 0x4b09
00004cbd: JUMP
00004cbe: JUMPDEST
00004cbf: PUSH1 0xa0
00004cc1: DUP4
00004cc2: ADD
00004cc3: MSTORE
00004cc4: POP
00004cc5: POP
00004cc6: SWAP3
00004cc7: SWAP2
00004cc8: POP
00004cc9: POP
00004cca: JUMP
00004ccb: JUMPDEST
00004ccc: PUSH1 0x00
00004cce: DUP1
00004ccf: PUSH1 0x00
00004cd1: DUP1
00004cd2: PUSH1 0x00
00004cd4: DUP6
00004cd5: DUP8
00004cd6: SUB
00004cd7: PUSH1 0xe0
00004cd9: DUP2
00004cda: SLT
00004cdb: ISZERO
00004cdc: PUSH2 0x4ce4
00004cdf: JUMPI
00004ce0: PUSH1 0x00
00004ce2: DUP1
00004ce3: REVERT
00004ce4: JUMPDEST
00004ce5: DUP7
00004ce6: CALLDATALOAD
00004ce7: PUSH8 0xffffffffffffffff
00004cf0: DUP1
00004cf1: DUP3
00004cf2: GT
00004cf3: ISZERO
00004cf4: PUSH2 0x4cfc
00004cf7: JUMPI
00004cf8: PUSH1 0x00
00004cfa: DUP1
00004cfb: REVERT
00004cfc: JUMPDEST
00004cfd: PUSH2 0x4d08
00004d00: DUP11
00004d01: DUP4
00004d02: DUP12
00004d03: ADD
00004d04: PUSH2 0x4c1c
00004d07: JUMP
00004d08: JUMPDEST
00004d09: SWAP8
00004d0a: POP
00004d0b: PUSH1 0x20
00004d0d: DUP10
00004d0e: ADD
00004d0f: CALLDATALOAD
00004d10: SWAP7
00004d11: POP
00004d12: PUSH1 0x80
00004d14: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0
00004d35: DUP5
00004d36: ADD
00004d37: SLT
00004d38: ISZERO
00004d39: PUSH2 0x4d41
00004d3c: JUMPI
00004d3d: PUSH1 0x00
00004d3f: DUP1
00004d40: REVERT
00004d41: JUMPDEST
00004d42: PUSH1 0x40
00004d44: DUP10
00004d45: ADD
00004d46: SWAP6
00004d47: POP
00004d48: PUSH1 0xc0
00004d4a: DUP10
00004d4b: ADD
00004d4c: CALLDATALOAD
00004d4d: SWAP3
00004d4e: POP
00004d4f: DUP1
00004d50: DUP4
00004d51: GT
00004d52: ISZERO
00004d53: PUSH2 0x4d5b
00004d56: JUMPI
00004d57: PUSH1 0x00
00004d59: DUP1
00004d5a: REVERT
00004d5b: JUMPDEST
00004d5c: DUP3
00004d5d: DUP10
00004d5e: ADD
00004d5f: SWAP3
00004d60: POP
00004d61: DUP10
00004d62: PUSH1 0x1f
00004d64: DUP5
00004d65: ADD
00004d66: SLT
00004d67: PUSH2 0x4d6f
00004d6a: JUMPI
00004d6b: PUSH1 0x00
00004d6d: DUP1
00004d6e: REVERT
00004d6f: JUMPDEST
00004d70: DUP3
00004d71: CALLDATALOAD
00004d72: SWAP2
00004d73: POP
00004d74: DUP1
00004d75: DUP3
00004d76: GT
00004d77: ISZERO
00004d78: PUSH2 0x4d80
00004d7b: JUMPI
00004d7c: PUSH1 0x00
00004d7e: DUP1
00004d7f: REVERT
00004d80: JUMPDEST
00004d81: POP
00004d82: DUP9
00004d83: PUSH1 0x20
00004d85: DUP3
00004d86: PUSH1 0x05
00004d88: SHL
00004d89: DUP5
00004d8a: ADD
00004d8b: ADD
00004d8c: GT
00004d8d: ISZERO
00004d8e: PUSH2 0x4d96
00004d91: JUMPI
00004d92: PUSH1 0x00
00004d94: DUP1
00004d95: REVERT
00004d96: JUMPDEST
00004d97: SWAP6
00004d98: SWAP9
00004d99: SWAP5
00004d9a: SWAP8
00004d9b: POP
00004d9c: SWAP3
00004d9d: SWAP6
00004d9e: POP
00004d9f: POP
00004da0: POP
00004da1: PUSH1 0x20
00004da3: ADD
00004da4: SWAP2
00004da5: SWAP1
00004da6: JUMP
00004da7: JUMPDEST
00004da8: PUSH1 0x00
00004daa: JUMPDEST
00004dab: DUP4
00004dac: DUP2
00004dad: LT
00004dae: ISZERO
00004daf: PUSH2 0x4dc2
00004db2: JUMPI
00004db3: DUP2
00004db4: DUP2
00004db5: ADD
00004db6: MLOAD
00004db7: DUP4
00004db8: DUP3
00004db9: ADD
00004dba: MSTORE
00004dbb: PUSH1 0x20
00004dbd: ADD
00004dbe: PUSH2 0x4daa
00004dc1: JUMP
00004dc2: JUMPDEST
00004dc3: DUP4
00004dc4: DUP2
00004dc5: GT
00004dc6: ISZERO
00004dc7: PUSH2 0x1ef7
00004dca: JUMPI
00004dcb: POP
00004dcc: POP
00004dcd: PUSH1 0x00
00004dcf: SWAP2
00004dd0: ADD
00004dd1: MSTORE
00004dd2: JUMP
00004dd3: JUMPDEST
00004dd4: PUSH1 0x00
00004dd6: DUP2
00004dd7: MLOAD
00004dd8: DUP1
00004dd9: DUP5
00004dda: MSTORE
00004ddb: PUSH2 0x4deb
00004dde: DUP2
00004ddf: PUSH1 0x20
00004de1: DUP7
00004de2: ADD
00004de3: PUSH1 0x20
00004de5: DUP7
00004de6: ADD
00004de7: PUSH2 0x4da7
00004dea: JUMP
00004deb: JUMPDEST
00004dec: PUSH1 0x1f
00004dee: ADD
00004def: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00004e10: AND
00004e11: SWAP3
00004e12: SWAP1
00004e13: SWAP3
00004e14: ADD
00004e15: PUSH1 0x20
00004e17: ADD
00004e18: SWAP3
00004e19: SWAP2
00004e1a: POP
00004e1b: POP
00004e1c: JUMP
00004e1d: JUMPDEST
00004e1e: PUSH1 0x20
00004e20: DUP2
00004e21: MSTORE
00004e22: PUSH1 0x00
00004e24: PUSH2 0x2968
00004e27: PUSH1 0x20
00004e29: DUP4
00004e2a: ADD
00004e2b: DUP5
00004e2c: PUSH2 0x4dd3
00004e2f: JUMP
00004e30: JUMPDEST
00004e31: PUSH1 0x00
00004e33: PUSH1 0x20
00004e35: DUP3
00004e36: DUP5
00004e37: SUB
00004e38: SLT
00004e39: ISZERO
00004e3a: PUSH2 0x4e42
00004e3d: JUMPI
00004e3e: PUSH1 0x00
00004e40: DUP1
00004e41: REVERT
00004e42: JUMPDEST
00004e43: POP
00004e44: CALLDATALOAD
00004e45: SWAP2
00004e46: SWAP1
00004e47: POP
00004e48: JUMP
00004e49: JUMPDEST
00004e4a: PUSH1 0xff
00004e4c: DUP2
00004e4d: AND
00004e4e: DUP2
00004e4f: EQ
00004e50: PUSH2 0x4a5d
00004e53: JUMPI
00004e54: PUSH1 0x00
00004e56: DUP1
00004e57: REVERT
00004e58: JUMPDEST
00004e59: PUSH1 0x00
00004e5b: DUP1
00004e5c: PUSH1 0x00
00004e5e: DUP1
00004e5f: PUSH1 0x80
00004e61: DUP6
00004e62: DUP8
00004e63: SUB
00004e64: SLT
00004e65: ISZERO
00004e66: PUSH2 0x4e6e
00004e69: JUMPI
00004e6a: PUSH1 0x00
00004e6c: DUP1
00004e6d: REVERT
00004e6e: JUMPDEST
00004e6f: DUP5
00004e70: CALLDATALOAD
00004e71: PUSH2 0x4e79
00004e74: DUP2
00004e75: PUSH2 0x4a3b
00004e78: JUMP
00004e79: JUMPDEST
00004e7a: SWAP4
00004e7b: POP
00004e7c: PUSH1 0x20
00004e7e: DUP6
00004e7f: ADD
00004e80: CALLDATALOAD
00004e81: PUSH2 0x4e89
00004e84: DUP2
00004e85: PUSH2 0x4e49
00004e88: JUMP
00004e89: JUMPDEST
00004e8a: SWAP4
00004e8b: SWAP7
00004e8c: SWAP4
00004e8d: SWAP6
00004e8e: POP
00004e8f: POP
00004e90: POP
00004e91: POP
00004e92: PUSH1 0x40
00004e94: DUP3
00004e95: ADD
00004e96: CALLDATALOAD
00004e97: SWAP2
00004e98: PUSH1 0x60
00004e9a: ADD
00004e9b: CALLDATALOAD
00004e9c: SWAP1
00004e9d: JUMP
00004e9e: JUMPDEST
00004e9f: PUSH1 0x00
00004ea1: PUSH1 0x20
00004ea3: DUP3
00004ea4: DUP5
00004ea5: SUB
00004ea6: SLT
00004ea7: ISZERO
00004ea8: PUSH2 0x4eb0
00004eab: JUMPI
00004eac: PUSH1 0x00
00004eae: DUP1
00004eaf: REVERT
00004eb0: JUMPDEST
00004eb1: DUP2
00004eb2: CALLDATALOAD
00004eb3: PUSH8 0xffffffffffffffff
00004ebc: DUP2
00004ebd: GT
00004ebe: ISZERO
00004ebf: PUSH2 0x4ec7
00004ec2: JUMPI
00004ec3: PUSH1 0x00
00004ec5: DUP1
00004ec6: REVERT
00004ec7: JUMPDEST
00004ec8: PUSH2 0x4ed3
00004ecb: DUP5
00004ecc: DUP3
00004ecd: DUP6
00004ece: ADD
00004ecf: PUSH2 0x4c1c
00004ed2: JUMP
00004ed3: JUMPDEST
00004ed4: SWAP5
00004ed5: SWAP4
00004ed6: POP
00004ed7: POP
00004ed8: POP
00004ed9: POP
00004eda: JUMP
00004edb: JUMPDEST
00004edc: PUSH1 0x00
00004ede: PUSH1 0x20
00004ee0: DUP3
00004ee1: DUP5
00004ee2: SUB
00004ee3: SLT
00004ee4: ISZERO
00004ee5: PUSH2 0x4eed
00004ee8: JUMPI
00004ee9: PUSH1 0x00
00004eeb: DUP1
00004eec: REVERT
00004eed: JUMPDEST
00004eee: PUSH2 0x2968
00004ef1: DUP3
00004ef2: PUSH2 0x4a60
00004ef5: JUMP
00004ef6: JUMPDEST
00004ef7: PUSH1 0x00
00004ef9: DUP1
00004efa: PUSH1 0x00
00004efc: PUSH1 0x60
00004efe: DUP5
00004eff: DUP7
00004f00: SUB
00004f01: SLT
00004f02: ISZERO
00004f03: PUSH2 0x4f0b
00004f06: JUMPI
00004f07: PUSH1 0x00
00004f09: DUP1
00004f0a: REVERT
00004f0b: JUMPDEST
00004f0c: DUP4
00004f0d: CALLDATALOAD
00004f0e: PUSH2 0x4f16
00004f11: DUP2
00004f12: PUSH2 0x4a3b
00004f15: JUMP
00004f16: JUMPDEST
00004f17: SWAP3
00004f18: POP
00004f19: PUSH1 0x20
00004f1b: DUP5
00004f1c: ADD
00004f1d: CALLDATALOAD
00004f1e: PUSH2 0x4f26
00004f21: DUP2
00004f22: PUSH2 0x4a3b
00004f25: JUMP
00004f26: JUMPDEST
00004f27: SWAP2
00004f28: POP
00004f29: PUSH1 0x40
00004f2b: DUP5
00004f2c: ADD
00004f2d: CALLDATALOAD
00004f2e: PUSH2 0x4f36
00004f31: DUP2
00004f32: PUSH2 0x4a3b
00004f35: JUMP
00004f36: JUMPDEST
00004f37: DUP1
00004f38: SWAP2
00004f39: POP
00004f3a: POP
00004f3b: SWAP3
00004f3c: POP
00004f3d: SWAP3
00004f3e: POP
00004f3f: SWAP3
00004f40: JUMP
00004f41: JUMPDEST
00004f42: PUSH1 0x00
00004f44: DUP1
00004f45: PUSH1 0x00
00004f47: DUP1
00004f48: PUSH1 0x00
00004f4a: PUSH1 0xa0
00004f4c: DUP7
00004f4d: DUP9
00004f4e: SUB
00004f4f: SLT
00004f50: ISZERO
00004f51: PUSH2 0x4f59
00004f54: JUMPI
00004f55: PUSH1 0x00
00004f57: DUP1
00004f58: REVERT
00004f59: JUMPDEST
00004f5a: DUP6
00004f5b: CALLDATALOAD
00004f5c: PUSH2 0x4f64
00004f5f: DUP2
00004f60: PUSH2 0x4a3b
00004f63: JUMP
00004f64: JUMPDEST
00004f65: SWAP5
00004f66: POP
00004f67: PUSH1 0x20
00004f69: DUP7
00004f6a: ADD
00004f6b: CALLDATALOAD
00004f6c: SWAP4
00004f6d: POP
00004f6e: PUSH2 0x4f79
00004f71: PUSH1 0x40
00004f73: DUP8
00004f74: ADD
00004f75: PUSH2 0x4a60
00004f78: JUMP
00004f79: JUMPDEST
00004f7a: SWAP3
00004f7b: POP
00004f7c: PUSH1 0x60
00004f7e: DUP7
00004f7f: ADD
00004f80: CALLDATALOAD
00004f81: PUSH2 0x4f89
00004f84: DUP2
00004f85: PUSH2 0x4a7d
00004f88: JUMP
00004f89: JUMPDEST
00004f8a: SWAP2
00004f8b: POP
00004f8c: PUSH1 0x80
00004f8e: DUP7
00004f8f: ADD
00004f90: CALLDATALOAD
00004f91: PUSH8 0xffffffffffffffff
00004f9a: DUP2
00004f9b: GT
00004f9c: ISZERO
00004f9d: PUSH2 0x4fa5
00004fa0: JUMPI
00004fa1: PUSH1 0x00
00004fa3: DUP1
00004fa4: REVERT
00004fa5: JUMPDEST
00004fa6: PUSH2 0x4fb1
00004fa9: DUP9
00004faa: DUP3
00004fab: DUP10
00004fac: ADD
00004fad: PUSH2 0x4b09
00004fb0: JUMP
00004fb1: JUMPDEST
00004fb2: SWAP2
00004fb3: POP
00004fb4: POP
00004fb5: SWAP3
00004fb6: SWAP6
00004fb7: POP
00004fb8: SWAP3
00004fb9: SWAP6
00004fba: SWAP1
00004fbb: SWAP4
00004fbc: POP
00004fbd: JUMP
00004fbe: JUMPDEST
00004fbf: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
00004fe0: PUSH1 0x00
00004fe2: MSTORE
00004fe3: PUSH1 0x11
00004fe5: PUSH1 0x04
00004fe7: MSTORE
00004fe8: PUSH1 0x24
00004fea: PUSH1 0x00
00004fec: REVERT
00004fed: JUMPDEST
00004fee: PUSH1 0x00
00004ff0: DUP3
00004ff1: NOT
00004ff2: DUP3
00004ff3: GT
00004ff4: ISZERO
00004ff5: PUSH2 0x5000
00004ff8: JUMPI
00004ff9: PUSH2 0x5000
00004ffc: PUSH2 0x4fbe
00004fff: JUMP
00005000: JUMPDEST
00005001: POP
00005002: ADD
00005003: SWAP1
00005004: JUMP
00005005: JUMPDEST
00005006: PUSH1 0x00
00005008: PUSH1 0x20
0000500a: DUP3
0000500b: DUP5
0000500c: SUB
0000500d: SLT
0000500e: ISZERO
0000500f: PUSH2 0x5017
00005012: JUMPI
00005013: PUSH1 0x00
00005015: DUP1
00005016: REVERT
00005017: JUMPDEST
00005018: POP
00005019: MLOAD
0000501a: SWAP2
0000501b: SWAP1
0000501c: POP
0000501d: JUMP
0000501e: JUMPDEST
0000501f: PUSH1 0x00
00005021: PUSH1 0x20
00005023: DUP3
00005024: DUP5
00005025: SUB
00005026: SLT
00005027: ISZERO
00005028: PUSH2 0x5030
0000502b: JUMPI
0000502c: PUSH1 0x00
0000502e: DUP1
0000502f: REVERT
00005030: JUMPDEST
00005031: DUP2
00005032: MLOAD
00005033: PUSH2 0x2968
00005036: DUP2
00005037: PUSH2 0x4a3b
0000503a: JUMP
0000503b: JUMPDEST
0000503c: DUP1
0000503d: MLOAD
0000503e: PUSH16 0xffffffffffffffffffffffffffffffff
0000504f: DUP2
00005050: AND
00005051: DUP2
00005052: EQ
00005053: PUSH2 0x4a78
00005056: JUMPI
00005057: PUSH1 0x00
00005059: DUP1
0000505a: REVERT
0000505b: JUMPDEST
0000505c: PUSH1 0x00
0000505e: PUSH1 0x60
00005060: DUP3
00005061: DUP5
00005062: SUB
00005063: SLT
00005064: ISZERO
00005065: PUSH2 0x506d
00005068: JUMPI
00005069: PUSH1 0x00
0000506b: DUP1
0000506c: REVERT
0000506d: JUMPDEST
0000506e: PUSH1 0x40
00005070: MLOAD
00005071: PUSH1 0x60
00005073: DUP2
00005074: ADD
00005075: DUP2
00005076: DUP2
00005077: LT
00005078: PUSH8 0xffffffffffffffff
00005081: DUP3
00005082: GT
00005083: OR
00005084: ISZERO
00005085: PUSH2 0x5090
00005088: JUMPI
00005089: PUSH2 0x5090
0000508c: PUSH2 0x4a8b
0000508f: JUMP
00005090: JUMPDEST
00005091: PUSH1 0x40
00005093: MSTORE
00005094: DUP3
00005095: MLOAD
00005096: DUP2
00005097: MSTORE
00005098: PUSH2 0x50a3
0000509b: PUSH1 0x20
0000509d: DUP5
0000509e: ADD
0000509f: PUSH2 0x503b
000050a2: JUMP
000050a3: JUMPDEST
000050a4: PUSH1 0x20
000050a6: DUP3
000050a7: ADD
000050a8: MSTORE
000050a9: PUSH2 0x50b4
000050ac: PUSH1 0x40
000050ae: DUP5
000050af: ADD
000050b0: PUSH2 0x503b
000050b3: JUMP
000050b4: JUMPDEST
000050b5: PUSH1 0x40
000050b7: DUP3
000050b8: ADD
000050b9: MSTORE
000050ba: SWAP4
000050bb: SWAP3
000050bc: POP
000050bd: POP
000050be: POP
000050bf: JUMP
000050c0: JUMPDEST
000050c1: PUSH1 0x00
000050c3: PUSH1 0x80
000050c5: DUP3
000050c6: DUP5
000050c7: SUB
000050c8: SLT
000050c9: ISZERO
000050ca: PUSH2 0x50d2
000050cd: JUMPI
000050ce: PUSH1 0x00
000050d0: DUP1
000050d1: REVERT
000050d2: JUMPDEST
000050d3: PUSH1 0x40
000050d5: MLOAD
000050d6: PUSH1 0x80
000050d8: DUP2
000050d9: ADD
000050da: DUP2
000050db: DUP2
000050dc: LT
000050dd: PUSH8 0xffffffffffffffff
000050e6: DUP3
000050e7: GT
000050e8: OR
000050e9: ISZERO
000050ea: PUSH2 0x50f5
000050ed: JUMPI
000050ee: PUSH2 0x50f5
000050f1: PUSH2 0x4a8b
000050f4: JUMP
000050f5: JUMPDEST
000050f6: DUP1
000050f7: PUSH1 0x40
000050f9: MSTORE
000050fa: POP
000050fb: DUP3
000050fc: CALLDATALOAD
000050fd: DUP2
000050fe: MSTORE
000050ff: PUSH1 0x20
00005101: DUP4
00005102: ADD
00005103: CALLDATALOAD
00005104: PUSH1 0x20
00005106: DUP3
00005107: ADD
00005108: MSTORE
00005109: PUSH1 0x40
0000510b: DUP4
0000510c: ADD
0000510d: CALLDATALOAD
0000510e: PUSH1 0x40
00005110: DUP3
00005111: ADD
00005112: MSTORE
00005113: PUSH1 0x60
00005115: DUP4
00005116: ADD
00005117: CALLDATALOAD
00005118: PUSH1 0x60
0000511a: DUP3
0000511b: ADD
0000511c: MSTORE
0000511d: DUP1
0000511e: SWAP2
0000511f: POP
00005120: POP
00005121: SWAP3
00005122: SWAP2
00005123: POP
00005124: POP
00005125: JUMP
00005126: JUMPDEST
00005127: PUSH1 0x00
00005129: PUSH8 0xffffffffffffffff
00005132: DUP1
00005133: DUP5
00005134: GT
00005135: ISZERO
00005136: PUSH2 0x5141
00005139: JUMPI
0000513a: PUSH2 0x5141
0000513d: PUSH2 0x4a8b
00005140: JUMP
00005141: JUMPDEST
00005142: DUP4
00005143: PUSH1 0x05
00005145: SHL
00005146: PUSH1 0x20
00005148: PUSH2 0x5152
0000514b: DUP2
0000514c: DUP4
0000514d: ADD
0000514e: PUSH2 0x4aba
00005151: JUMP
00005152: JUMPDEST
00005153: DUP7
00005154: DUP2
00005155: MSTORE
00005156: SWAP2
00005157: DUP6
00005158: ADD
00005159: SWAP2
0000515a: DUP2
0000515b: DUP2
0000515c: ADD
0000515d: SWAP1
0000515e: CALLDATASIZE
0000515f: DUP5
00005160: GT
00005161: ISZERO
00005162: PUSH2 0x516a
00005165: JUMPI
00005166: PUSH1 0x00
00005168: DUP1
00005169: REVERT
0000516a: JUMPDEST
0000516b: DUP7
0000516c: JUMPDEST
0000516d: DUP5
0000516e: DUP2
0000516f: LT
00005170: ISZERO
00005171: PUSH2 0x519e
00005174: JUMPI
00005175: DUP1
00005176: CALLDATALOAD
00005177: DUP7
00005178: DUP2
00005179: GT
0000517a: ISZERO
0000517b: PUSH2 0x5184
0000517e: JUMPI
0000517f: PUSH1 0x00
00005181: DUP1
00005182: DUP2
00005183: REVERT
00005184: JUMPDEST
00005185: PUSH2 0x5190
00005188: CALLDATASIZE
00005189: DUP3
0000518a: DUP12
0000518b: ADD
0000518c: PUSH2 0x4b09
0000518f: JUMP
00005190: JUMPDEST
00005191: DUP5
00005192: MSTORE
00005193: POP
00005194: SWAP2
00005195: DUP4
00005196: ADD
00005197: SWAP2
00005198: DUP4
00005199: ADD
0000519a: PUSH2 0x516c
0000519d: JUMP
0000519e: JUMPDEST
0000519f: POP
000051a0: SWAP8
000051a1: SWAP7
000051a2: POP
000051a3: POP
000051a4: POP
000051a5: POP
000051a6: POP
000051a7: POP
000051a8: POP
000051a9: JUMP
000051aa: JUMPDEST
000051ab: PUSH1 0x00
000051ad: PUSH1 0x20
000051af: DUP3
000051b0: DUP5
000051b1: SUB
000051b2: SLT
000051b3: ISZERO
000051b4: PUSH2 0x51bc
000051b7: JUMPI
000051b8: PUSH1 0x00
000051ba: DUP1
000051bb: REVERT
000051bc: JUMPDEST
000051bd: DUP2
000051be: MLOAD
000051bf: PUSH2 0x2968
000051c2: DUP2
000051c3: PUSH2 0x4a7d
000051c6: JUMP
000051c7: JUMPDEST
000051c8: DUP6
000051c9: DUP2
000051ca: MSTORE
000051cb: DUP5
000051cc: PUSH1 0x20
000051ce: DUP3
000051cf: ADD
000051d0: MSTORE
000051d1: PUSH32 0xffffffffffffffff000000000000000000000000000000000000000000000000
000051f2: DUP5
000051f3: PUSH1 0xc0
000051f5: SHL
000051f6: AND
000051f7: PUSH1 0x40
000051f9: DUP3
000051fa: ADD
000051fb: MSTORE
000051fc: DUP3
000051fd: ISZERO
000051fe: ISZERO
000051ff: PUSH1 0xf8
00005201: SHL
00005202: PUSH1 0x48
00005204: DUP3
00005205: ADD
00005206: MSTORE
00005207: PUSH1 0x00
00005209: DUP3
0000520a: MLOAD
0000520b: PUSH2 0x521b
0000520e: DUP2
0000520f: PUSH1 0x49
00005211: DUP6
00005212: ADD
00005213: PUSH1 0x20
00005215: DUP8
00005216: ADD
00005217: PUSH2 0x4da7
0000521a: JUMP
0000521b: JUMPDEST
0000521c: SWAP2
0000521d: SWAP1
0000521e: SWAP2
0000521f: ADD
00005220: PUSH1 0x49
00005222: ADD
00005223: SWAP7
00005224: SWAP6
00005225: POP
00005226: POP
00005227: POP
00005228: POP
00005229: POP
0000522a: POP
0000522b: JUMP
0000522c: JUMPDEST
0000522d: PUSH1 0x00
0000522f: DUP3
00005230: DUP3
00005231: LT
00005232: ISZERO
00005233: PUSH2 0x523e
00005236: JUMPI
00005237: PUSH2 0x523e
0000523a: PUSH2 0x4fbe
0000523d: JUMP
0000523e: JUMPDEST
0000523f: POP
00005240: SUB
00005241: SWAP1
00005242: JUMP
00005243: JUMPDEST
00005244: PUSH1 0x00
00005246: PUSH8 0xffffffffffffffff
0000524f: DUP1
00005250: DUP4
00005251: AND
00005252: DUP2
00005253: DUP6
00005254: AND
00005255: DUP2
00005256: DUP4
00005257: DIV
00005258: DUP2
00005259: GT
0000525a: DUP3
0000525b: ISZERO
0000525c: ISZERO
0000525d: AND
0000525e: ISZERO
0000525f: PUSH2 0x526a
00005262: JUMPI
00005263: PUSH2 0x526a
00005266: PUSH2 0x4fbe
00005269: JUMP
0000526a: JUMPDEST
0000526b: MUL
0000526c: SWAP5
0000526d: SWAP4
0000526e: POP
0000526f: POP
00005270: POP
00005271: POP
00005272: JUMP
00005273: JUMPDEST
00005274: PUSH1 0x00
00005276: PUSH8 0xffffffffffffffff
0000527f: DUP1
00005280: DUP4
00005281: AND
00005282: DUP2
00005283: DUP6
00005284: AND
00005285: DUP1
00005286: DUP4
00005287: SUB
00005288: DUP3
00005289: GT
0000528a: ISZERO
0000528b: PUSH2 0x5296
0000528e: JUMPI
0000528f: PUSH2 0x5296
00005292: PUSH2 0x4fbe
00005295: JUMP
00005296: JUMPDEST
00005297: ADD
00005298: SWAP5
00005299: SWAP4
0000529a: POP
0000529b: POP
0000529c: POP
0000529d: POP
0000529e: JUMP
0000529f: JUMPDEST
000052a0: PUSH1 0x00
000052a2: DUP1
000052a3: PUSH1 0x40
000052a5: DUP4
000052a6: DUP6
000052a7: SUB
000052a8: SLT
000052a9: ISZERO
000052aa: PUSH2 0x52b2
000052ad: JUMPI
000052ae: PUSH1 0x00
000052b0: DUP1
000052b1: REVERT
000052b2: JUMPDEST
000052b3: DUP3
000052b4: MLOAD
000052b5: PUSH2 0x52bd
000052b8: DUP2
000052b9: PUSH2 0x4a3b
000052bc: JUMP
000052bd: JUMPDEST
000052be: PUSH1 0x20
000052c0: DUP5
000052c1: ADD
000052c2: MLOAD
000052c3: SWAP1
000052c4: SWAP3
000052c5: POP
000052c6: PUSH2 0x52ce
000052c9: DUP2
000052ca: PUSH2 0x4e49
000052cd: JUMP
000052ce: JUMPDEST
000052cf: DUP1
000052d0: SWAP2
000052d1: POP
000052d2: POP
000052d3: SWAP3
000052d4: POP
000052d5: SWAP3
000052d6: SWAP1
000052d7: POP
000052d8: JUMP
000052d9: JUMPDEST
000052da: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000052fb: PUSH1 0x00
000052fd: MSTORE
000052fe: PUSH1 0x12
00005300: PUSH1 0x04
00005302: MSTORE
00005303: PUSH1 0x24
00005305: PUSH1 0x00
00005307: REVERT
00005308: JUMPDEST
00005309: PUSH1 0x00
0000530b: DUP3
0000530c: PUSH2 0x5317
0000530f: JUMPI
00005310: PUSH2 0x5317
00005313: PUSH2 0x52d9
00005316: JUMP
00005317: JUMPDEST
00005318: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00005339: DUP4
0000533a: EQ
0000533b: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000
0000535c: DUP4
0000535d: EQ
0000535e: AND
0000535f: ISZERO
00005360: PUSH2 0x536b
00005363: JUMPI
00005364: PUSH2 0x536b
00005367: PUSH2 0x4fbe
0000536a: JUMP
0000536b: JUMPDEST
0000536c: POP
0000536d: SDIV
0000536e: SWAP1
0000536f: JUMP
00005370: JUMPDEST
00005371: PUSH1 0x00
00005373: DUP1
00005374: DUP4
00005375: SLT
00005376: DUP4
00005377: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000
00005398: ADD
00005399: DUP4
0000539a: SLT
0000539b: DUP2
0000539c: ISZERO
0000539d: AND
0000539e: ISZERO
0000539f: PUSH2 0x53aa
000053a2: JUMPI
000053a3: PUSH2 0x53aa
000053a6: PUSH2 0x4fbe
000053a9: JUMP
000053aa: JUMPDEST
000053ab: DUP4
000053ac: PUSH32 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000053cd: ADD
000053ce: DUP4
000053cf: SGT
000053d0: DUP2
000053d1: AND
000053d2: ISZERO
000053d3: PUSH2 0x53de
000053d6: JUMPI
000053d7: PUSH2 0x53de
000053da: PUSH2 0x4fbe
000053dd: JUMP
000053de: JUMPDEST
000053df: POP
000053e0: POP
000053e1: SUB
000053e2: SWAP1
000053e3: JUMP
000053e4: JUMPDEST
000053e5: PUSH1 0x00
000053e7: PUSH32 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00005408: PUSH1 0x00
0000540a: DUP5
0000540b: SGT
0000540c: PUSH1 0x00
0000540e: DUP5
0000540f: SGT
00005410: DUP6
00005411: DUP4
00005412: DIV
00005413: DUP6
00005414: GT
00005415: DUP3
00005416: DUP3
00005417: AND
00005418: AND
00005419: ISZERO
0000541a: PUSH2 0x5425
0000541d: JUMPI
0000541e: PUSH2 0x5425
00005421: PUSH2 0x4fbe
00005424: JUMP
00005425: JUMPDEST
00005426: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000
00005447: PUSH1 0x00
00005449: DUP8
0000544a: SLT
0000544b: DUP7
0000544c: DUP3
0000544d: SDIV
0000544e: DUP9
0000544f: SLT
00005450: DUP2
00005451: DUP5
00005452: AND
00005453: AND
00005454: ISZERO
00005455: PUSH2 0x5460
00005458: JUMPI
00005459: PUSH2 0x5460
0000545c: PUSH2 0x4fbe
0000545f: JUMP
00005460: JUMPDEST
00005461: PUSH1 0x00
00005463: DUP8
00005464: SLT
00005465: SWAP3
00005466: POP
00005467: DUP8
00005468: DUP3
00005469: SDIV
0000546a: DUP8
0000546b: SLT
0000546c: DUP5
0000546d: DUP5
0000546e: AND
0000546f: AND
00005470: ISZERO
00005471: PUSH2 0x547c
00005474: JUMPI
00005475: PUSH2 0x547c
00005478: PUSH2 0x4fbe
0000547b: JUMP
0000547c: JUMPDEST
0000547d: DUP8
0000547e: DUP6
0000547f: SDIV
00005480: DUP8
00005481: SLT
00005482: DUP2
00005483: DUP5
00005484: AND
00005485: AND
00005486: ISZERO
00005487: PUSH2 0x5492
0000548a: JUMPI
0000548b: PUSH2 0x5492
0000548e: PUSH2 0x4fbe
00005491: JUMP
00005492: JUMPDEST
00005493: POP
00005494: POP
00005495: POP
00005496: SWAP3
00005497: SWAP1
00005498: SWAP4
00005499: MUL
0000549a: SWAP4
0000549b: SWAP3
0000549c: POP
0000549d: POP
0000549e: POP
0000549f: JUMP
000054a0: JUMPDEST
000054a1: PUSH1 0x00
000054a3: DUP1
000054a4: DUP3
000054a5: SLT
000054a6: DUP3
000054a7: PUSH32 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000054c8: SUB
000054c9: DUP5
000054ca: SGT
000054cb: DUP2
000054cc: ISZERO
000054cd: AND
000054ce: ISZERO
000054cf: PUSH2 0x54da
000054d2: JUMPI
000054d3: PUSH2 0x54da
000054d6: PUSH2 0x4fbe
000054d9: JUMP
000054da: JUMPDEST
000054db: DUP3
000054dc: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000
000054fd: SUB
000054fe: DUP5
000054ff: SLT
00005500: DUP2
00005501: AND
00005502: ISZERO
00005503: PUSH2 0x550e
00005506: JUMPI
00005507: PUSH2 0x550e
0000550a: PUSH2 0x4fbe
0000550d: JUMP
0000550e: JUMPDEST
0000550f: POP
00005510: POP
00005511: ADD
00005512: SWAP1
00005513: JUMP
00005514: JUMPDEST
00005515: PUSH1 0x00
00005517: DUP2
00005518: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00005539: DIV
0000553a: DUP4
0000553b: GT
0000553c: DUP3
0000553d: ISZERO
0000553e: ISZERO
0000553f: AND
00005540: ISZERO
00005541: PUSH2 0x554c
00005544: JUMPI
00005545: PUSH2 0x554c
00005548: PUSH2 0x4fbe
0000554b: JUMP
0000554c: JUMPDEST
0000554d: POP
0000554e: MUL
0000554f: SWAP1
00005550: JUMP
00005551: JUMPDEST
00005552: PUSH1 0x00
00005554: DUP3
00005555: PUSH2 0x5560
00005558: JUMPI
00005559: PUSH2 0x5560
0000555c: PUSH2 0x52d9
0000555f: JUMP
00005560: JUMPDEST
00005561: POP
00005562: DIV
00005563: SWAP1
00005564: JUMP
00005565: JUMPDEST
00005566: DUP7
00005567: DUP2
00005568: MSTORE
00005569: PUSH1 0x00
0000556b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00005580: DUP1
00005581: DUP9
00005582: AND
00005583: PUSH1 0x20
00005585: DUP5
00005586: ADD
00005587: MSTORE
00005588: DUP1
00005589: DUP8
0000558a: AND
0000558b: PUSH1 0x40
0000558d: DUP5
0000558e: ADD
0000558f: MSTORE
00005590: POP
00005591: DUP5
00005592: PUSH1 0x60
00005594: DUP4
00005595: ADD
00005596: MSTORE
00005597: DUP4
00005598: PUSH1 0x80
0000559a: DUP4
0000559b: ADD
0000559c: MSTORE
0000559d: PUSH1 0xc0
0000559f: PUSH1 0xa0
000055a1: DUP4
000055a2: ADD
000055a3: MSTORE
000055a4: PUSH2 0x55b0
000055a7: PUSH1 0xc0
000055a9: DUP4
000055aa: ADD
000055ab: DUP5
000055ac: PUSH2 0x4dd3
000055af: JUMP
000055b0: JUMPDEST
000055b1: SWAP9
000055b2: SWAP8
000055b3: POP
000055b4: POP
000055b5: POP
000055b6: POP
000055b7: POP
000055b8: POP
000055b9: POP
000055ba: POP
000055bb: JUMP
000055bc: JUMPDEST
000055bd: DUP1
000055be: MLOAD
000055bf: PUSH4 0xffffffff
000055c4: DUP2
000055c5: AND
000055c6: DUP2
000055c7: EQ
000055c8: PUSH2 0x4a78
000055cb: JUMPI
000055cc: PUSH1 0x00
000055ce: DUP1
000055cf: REVERT
000055d0: JUMPDEST
000055d1: PUSH1 0x00
000055d3: PUSH1 0xc0
000055d5: DUP3
000055d6: DUP5
000055d7: SUB
000055d8: SLT
000055d9: ISZERO
000055da: PUSH2 0x55e2
000055dd: JUMPI
000055de: PUSH1 0x00
000055e0: DUP1
000055e1: REVERT
000055e2: JUMPDEST
000055e3: PUSH1 0x40
000055e5: MLOAD
000055e6: PUSH1 0xc0
000055e8: DUP2
000055e9: ADD
000055ea: DUP2
000055eb: DUP2
000055ec: LT
000055ed: PUSH8 0xffffffffffffffff
000055f6: DUP3
000055f7: GT
000055f8: OR
000055f9: ISZERO
000055fa: PUSH2 0x5605
000055fd: JUMPI
000055fe: PUSH2 0x5605
00005601: PUSH2 0x4a8b
00005604: JUMP
00005605: JUMPDEST
00005606: PUSH1 0x40
00005608: MSTORE
00005609: PUSH2 0x5611
0000560c: DUP4
0000560d: PUSH2 0x55bc
00005610: JUMP
00005611: JUMPDEST
00005612: DUP2
00005613: MSTORE
00005614: PUSH1 0x20
00005616: DUP4
00005617: ADD
00005618: MLOAD
00005619: PUSH2 0x5621
0000561c: DUP2
0000561d: PUSH2 0x4e49
00005620: JUMP
00005621: JUMPDEST
00005622: PUSH1 0x20
00005624: DUP3
00005625: ADD
00005626: MSTORE
00005627: PUSH1 0x40
00005629: DUP4
0000562a: ADD
0000562b: MLOAD
0000562c: PUSH2 0x5634
0000562f: DUP2
00005630: PUSH2 0x4e49
00005633: JUMP
00005634: JUMPDEST
00005635: PUSH1 0x40
00005637: DUP3
00005638: ADD
00005639: MSTORE
0000563a: PUSH2 0x5645
0000563d: PUSH1 0x60
0000563f: DUP5
00005640: ADD
00005641: PUSH2 0x55bc
00005644: JUMP
00005645: JUMPDEST
00005646: PUSH1 0x60
00005648: DUP3
00005649: ADD
0000564a: MSTORE
0000564b: PUSH2 0x5656
0000564e: PUSH1 0x80
00005650: DUP5
00005651: ADD
00005652: PUSH2 0x55bc
00005655: JUMP
00005656: JUMPDEST
00005657: PUSH1 0x80
00005659: DUP3
0000565a: ADD
0000565b: MSTORE
0000565c: PUSH2 0x5667
0000565f: PUSH1 0xa0
00005661: DUP5
00005662: ADD
00005663: PUSH2 0x503b
00005666: JUMP
00005667: JUMPDEST
00005668: PUSH1 0xa0
0000566a: DUP3
0000566b: ADD
0000566c: MSTORE
0000566d: SWAP4
0000566e: SWAP3
0000566f: POP
00005670: POP
00005671: POP
00005672: JUMP
00005673: JUMPDEST
00005674: PUSH1 0x00
00005676: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00005697: DUP3
00005698: SUB
00005699: PUSH2 0x56a4
0000569c: JUMPI
0000569d: PUSH2 0x56a4
000056a0: PUSH2 0x4fbe
000056a3: JUMP
000056a4: JUMPDEST
000056a5: POP
000056a6: PUSH1 0x01
000056a8: ADD
000056a9: SWAP1
000056aa: JUMP
000056ab: JUMPDEST
000056ac: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
000056cd: PUSH1 0x00
000056cf: MSTORE
000056d0: PUSH1 0x32
000056d2: PUSH1 0x04
000056d4: MSTORE
000056d5: PUSH1 0x24
000056d7: PUSH1 0x00
000056d9: REVERT
000056da: JUMPDEST
000056db: PUSH1 0x00
000056dd: PUSH1 0xff
000056df: DUP4
000056e0: AND
000056e1: DUP1
000056e2: PUSH2 0x56ed
000056e5: JUMPI
000056e6: PUSH2 0x56ed
000056e9: PUSH2 0x52d9
000056ec: JUMP
000056ed: JUMPDEST
000056ee: DUP1
000056ef: PUSH1 0xff
000056f1: DUP5
000056f2: AND
000056f3: MOD
000056f4: SWAP2
000056f5: POP
000056f6: POP
000056f7: SWAP3
000056f8: SWAP2
000056f9: POP
000056fa: POP
000056fb: JUMP
000056fc: JUMPDEST
000056fd: PUSH1 0x00
000056ff: PUSH1 0xff
00005701: DUP3
00005702: AND
00005703: PUSH1 0xff
00005705: DUP5
00005706: AND
00005707: DUP1
00005708: DUP3
00005709: LT
0000570a: ISZERO
0000570b: PUSH2 0x5716
0000570e: JUMPI
0000570f: PUSH2 0x5716
00005712: PUSH2 0x4fbe
00005715: JUMP
00005716: JUMPDEST
00005717: SWAP1
00005718: SUB
00005719: SWAP4
0000571a: SWAP3
0000571b: POP
0000571c: POP
0000571d: POP
0000571e: JUMP
0000571f: JUMPDEST
00005720: PUSH1 0x00
00005722: DUP3
00005723: MLOAD
00005724: PUSH2 0x5731
00005727: DUP2
00005728: DUP5
00005729: PUSH1 0x20
0000572b: DUP8
0000572c: ADD
0000572d: PUSH2 0x4da7
00005730: JUMP
00005731: JUMPDEST
00005732: SWAP2
00005733: SWAP1
00005734: SWAP2
00005735: ADD
00005736: SWAP3
00005737: SWAP2
00005738: POP
00005739: POP
0000573a: JUMP
0000573b: JUMPDEST
0000573c: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000
0000575d: PUSH1 0x00
0000575f: MSTORE
00005760: PUSH1 0x21
00005762: PUSH1 0x04
00005764: MSTORE
00005765: PUSH1 0x24
00005767: PUSH1 0x00
00005769: REVERT
0000576a: INVALID
0000576b: LOG1
0000576c: PUSH5 0x736f6c6343
00005772: STOP
00005773: ADDMOD
00005774: UNKNOWN(0x0F)
00005775: STOP
00005776: EXP

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xcff0ab96",
            "selector": "0xcff0ab96",
            "calldata_variants": [
                "0xcff0ab96",
                "0xcff0ab960000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe965084c",
            "selector": "0xe965084c",
            "calldata_variants": [
                "0xe965084c",
                "0xe965084c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe9e05c42",
            "selector": "0xe9e05c42",
            "calldata_variants": [
                "0xe9e05c42",
                "0xe9e05c420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb69ef8a8",
            "selector": "0xb69ef8a8",
            "calldata_variants": [
                "0xb69ef8a8",
                "0xb69ef8a80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc0c53b8b",
            "selector": "0xc0c53b8b",
            "calldata_variants": [
                "0xc0c53b8b",
                "0xc0c53b8b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9bf62d82",
            "selector": "0x9bf62d82",
            "calldata_variants": [
                "0x9bf62d82",
                "0x9bf62d820000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa14238e7",
            "selector": "0xa14238e7",
            "calldata_variants": [
                "0xa14238e7",
                "0xa14238e70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa35d99df",
            "selector": "0xa35d99df",
            "calldata_variants": [
                "0xa35d99df",
                "0xa35d99df0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 7164,
            "type": "tx_origin_used"
        },
        {
            "pc": 8360,
            "type": "tx_origin_used"
        },
        {
            "pc": 7161,
            "type": "tx_origin_used"
        },
        {
            "pc": 8358,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0x1206e091261854ffc187d57266de87573ac12ffd96f8368dcbb83e9f07d11aad
call_targets: 0xbdd90485fcbcac869d5b5752179815a3103d8131
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x1206e091261854ffc187d57266de87573ac12ffd96f8368dcbb83e9f07d11aad",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xbdd90485fcbcac869d5b5752179815a3103d8131"
    ],
    "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": "0xcff0ab96",
            "selector": "0xcff0ab96",
            "calldata_variants": [
                "0xcff0ab96",
                "0xcff0ab960000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe965084c",
            "selector": "0xe965084c",
            "calldata_variants": [
                "0xe965084c",
                "0xe965084c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe9e05c42",
            "selector": "0xe9e05c42",
            "calldata_variants": [
                "0xe9e05c42",
                "0xe9e05c420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb69ef8a8",
            "selector": "0xb69ef8a8",
            "calldata_variants": [
                "0xb69ef8a8",
                "0xb69ef8a80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc0c53b8b",
            "selector": "0xc0c53b8b",
            "calldata_variants": [
                "0xc0c53b8b",
                "0xc0c53b8b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9bf62d82",
            "selector": "0x9bf62d82",
            "calldata_variants": [
                "0x9bf62d82",
                "0x9bf62d820000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa14238e7",
            "selector": "0xa14238e7",
            "calldata_variants": [
                "0xa14238e7",
                "0xa14238e70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa35d99df",
            "selector": "0xa35d99df",
            "calldata_variants": [
                "0xa35d99df",
                "0xa35d99df0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 10006,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 15414,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [
        {
            "pc": 7164,
            "type": "tx_origin_used"
        },
        {
            "pc": 8360,
            "type": "tx_origin_used"
        },
        {
            "pc": 7161,
            "type": "tx_origin_used"
        },
        {
            "pc": 8358,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 2
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0x1206e091261854ffc187d57266de87573ac12ffd96f8368dcbb83e9f07d11aad
call_targets: 0xbdd90485fcbcac869d5b5752179815a3103d8131
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x1206e091261854ffc187d57266de87573ac12ffd96f8368dcbb83e9f07d11aad",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xbdd90485fcbcac869d5b5752179815a3103d8131"
    ],
    "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": "0xcff0ab96",
            "selector": "0xcff0ab96",
            "calldata_variants": [
                "0xcff0ab96",
                "0xcff0ab960000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe965084c",
            "selector": "0xe965084c",
            "calldata_variants": [
                "0xe965084c",
                "0xe965084c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe9e05c42",
            "selector": "0xe9e05c42",
            "calldata_variants": [
                "0xe9e05c42",
                "0xe9e05c420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb69ef8a8",
            "selector": "0xb69ef8a8",
            "calldata_variants": [
                "0xb69ef8a8",
                "0xb69ef8a80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc0c53b8b",
            "selector": "0xc0c53b8b",
            "calldata_variants": [
                "0xc0c53b8b",
                "0xc0c53b8b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9bf62d82",
            "selector": "0x9bf62d82",
            "calldata_variants": [
                "0x9bf62d82",
                "0x9bf62d820000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa14238e7",
            "selector": "0xa14238e7",
            "calldata_variants": [
                "0xa14238e7",
                "0xa14238e70000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa35d99df",
            "selector": "0xa35d99df",
            "calldata_variants": [
                "0xa35d99df",
                "0xa35d99df0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 10006,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 15414,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": [
        {
            "pc": 7164,
            "type": "tx_origin_used"
        },
        {
            "pc": 8360,
            "type": "tx_origin_used"
        },
        {
            "pc": 7161,
            "type": "tx_origin_used"
        },
        {
            "pc": 8358,
            "type": "tx_origin_used"
        }
    ]
}
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": 16
}