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

Analysis Run

368dc22a-e2f4-4de7-b6ef-d1be70122119

complete
Chain ID
1
Address
Block Number
Created
Mon, Dec 29, 2025 11:32 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30617 report.consolidate complete 1 / 1 3 months ago
74698 artifact.fetch complete 1 / 3 1 week ago
74699 tool.cast_disasm complete 1 / 3 1 week ago
74700 analysis.bundle complete 1 / 3 1 week ago
74701 capability.graph complete 1 / 3 1 week ago
74702 detector.run complete 1 / 3 1 week ago
74703 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: yes

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
2
No findings?
no
Summary
Found 2 issues: reward/stake accounting assumes non-deflationary ERC20s, and the initializer is publicly callable if a proxy/implementation is left uninitialized.
View stderr
[codex:1000022] OpenAI Codex v0.77.0 (research preview)
[codex:1000022] --------
[codex:1000022] workdir: /tmp/codex-multi-5gmzld6c
[codex:1000022] model: gpt-5.2-codex
[codex:1000022] provider: openai
[codex:1000022] approval: never
[codex:1000022] sandbox: read-only
[codex:1000022] reasoning effort: xhigh
[codex:1000022] reasoning summaries: auto
[codex:1000022] session id: 019b6c70-3ae6-7093-9f2d-c04393be28c4
[codex:1000022] --------
[codex:1000022] user
[codex:1000022] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1000022] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1000022] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1000022] 
[codex:1000022] Scope rules:
[codex:1000022] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1000022] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1000022] 
[codex:1000022] Output MUST be valid JSON matching the provided schema.
[codex:1000022] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1000022] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1000022] 
[codex:1000022] Output constraints (IMPORTANT):
[codex:1000022] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1000022] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1000022] mcp startup: no servers
[codex:1000022] 
[codex:1000022] thinking
[codex:1000022] **Reading AUDIT_BUNDLE.txt file**
[codex:1000022] exec
[codex:1000022] /bin/bash -lc ls in /tmp/codex-multi-5gmzld6c succeeded in 7ms:
[codex:1000022] AUDIT_BUNDLE.txt
[codex:1000022] codex-output-schema.json
[codex:1000022] contracts
[codex:1000022] exec
[codex:1000022] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-5gmzld6c succeeded in 7ms:
[codex:1000022] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1000022] 
[codex:1000022] ================================================================================
[codex:1000022] FILE: contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol
[codex:1000022] ================================================================================
[codex:1000022] // SPDX-License-Identifier: MIT
[codex:1000022] // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)
[codex:1000022] 
[codex:1000022] pragma solidity ^0.8.0;
[codex:1000022] 
[codex:1000022] import "../utils/ContextUpgradeable.sol";
[codex:1000022] import "../proxy/utils/Initializable.sol";
[codex:1000022] 
[codex:1000022] /**
[codex:1000022]  * @dev Contract module which provides a basic access control mechanism, where
[codex:1000022]  * there is an account (an owner) that can be granted exclusive access to
[codex:1000022]  * specific functions.
[codex:1000022]  *
[codex:1000022]  * By default, the owner account will be the one that deploys the contract. This
[codex:1000022]  * can later be changed with {transferOwnership}.
[codex:1000022] 
[codex:1000022] 
[codex:1000022] thinking
[codex:1000022] **Analyzing reward pool vulnerabilities**
[codex:1000022] thinking
[codex:1000022] **Examining stake and reward edge cases**
[codex:1000022] 
[codex:1000022] I'm looking into potential issues with zero-amount checks and duplicate reward IDs when removing and re-adding rewards in the same block; I notice this could let privileged actors inadvertently allow extra claims, but only via special sequences requiring owner and manager actions.
[codex:1000022] exec
[codex:1000022] /bin/bash -lc "rg --files -g '*.sol' contracts/contracts" in /tmp/codex-multi-5gmzld6c succeeded in 9ms:
[codex:1000022] contracts/contracts/BIFI/infra/BeefyRewardPool.sol
[codex:1000022] 
[codex:1000022] 
[codex:1000022] thinking
[codex:1000022] **Analyzing potential contract vulnerabilities**
[codex:1000022] thinking
[codex:1000022] **Reviewing upgradeable storage and reentrancy considerations**
[codex:1000022] 
[codex:1000022] I'm checking for storage gaps typical in upgradeable contracts and thinking through possible reentrancy risks during token minting and transfers, especially around receipt tokens and ERC777 behaviors. I'm also reflecting on initialization patterns that could allow unintended ownership if the implementation contract is initialized standalone, which is a low-severity upgradeability concern.
[codex:1000022] exec
[codex:1000022] /bin/bash -lc "nl -ba contracts/contracts/BIFI/infra/BeefyRewardPool.sol | sed -n '150,260p'" in /tmp/codex-multi-5gmzld6c succeeded in 7ms:
[codex:1000022]    150	    /// @notice Withdraw all of the caller's BIFI tokens and claim rewards
[codex:1000022]    151	    /// @dev Burns all receipt tokens owned by the caller
[codex:1000022]    152	    function exit() external update(msg.sender) {
[codex:1000022]    153	        _withdraw(balanceOf(msg.sender));
[codex:1000022]    154	        _getReward();
[codex:1000022]    155	    }
[codex:1000022]    156	
[codex:1000022]    157	    /// @notice Claim all the caller's earned rewards 
[codex:1000022]    158	    function getReward() external update(msg.sender) {
[codex:1000022]    159	        _getReward();
[codex:1000022]    160	    }
[codex:1000022]    161	
[codex:1000022]    162	    /// @notice View the amount of rewards earned by the user
[codex:1000022]    163	    /// @param _user User to view the earned rewards for
[codex:1000022]    164	    /// @return rewardTokens Address array of the rewards
[codex:1000022]    165	    /// @return earnedAmounts Amounts of the user's earned rewards
[codex:1000022]    166	    function earned(address _user) external view returns (
[codex:1000022]    167	        address[] memory rewardTokens,
[codex:1000022]    168	        uint256[] memory earnedAmounts
[codex:1000022]    169	    ) {
[codex:1000022] 
[codex:1000022] thinking
[codex:1000022] **Continuing code investigation near _stake**
[codex:1000022] exec
[codex:1000022] /bin/bash -lc "nl -ba contracts/contracts/BIFI/infra/BeefyRewardPool.sol | sed -n '300,440p'" in /tmp/codex-multi-5gmzld6c succeeded in 6ms:
[codex:1000022]    300	        emit RemoveReward(_reward, _recipient);
[codex:1000022]    301	    }
[codex:1000022]    302	
[codex:1000022]    303	    /// @notice Owner function to remove unsupported tokens sent to this contract
[codex:1000022]    304	    /// @param _token Address of the token to be removed
[codex:1000022]    305	    /// @param _recipient Address of the recipient that the removed token was sent to
[codex:1000022]    306	    function rescueTokens(address _token, address _recipient) external onlyOwner {
[codex:1000022]    307	        if (_token == address(stakedToken)) revert WithdrawingStakedToken();
[codex:1000022]    308	        if (_rewardExists(_token)) revert WithdrawingRewardToken(_token);
[codex:1000022]    309	
[codex:1000022]    310	        uint256 amount = IERC20Upgradeable(_token).balanceOf(address(this));
[codex:1000022]    311	        IERC20Upgradeable(_token).safeTransfer(_recipient, amount);
[codex:1000022]    312	        emit RescueTokens(_token, _recipient);
[codex:1000022]    313	    }
[codex:1000022]    314	
[codex:1000022]    315	    /// @notice Owner function to add addresses to the whitelist
[codex:1000022]    316	    /// @param _manager Address able to call manager functions
[codex:1000022]    317	    /// @param _whitelisted Whether to add or remove from whitelist
[codex:1000022]    318	    function setWhitelist(address _manager, bool _whitelisted) external onlyOwner {
[codex:1000022]    319	        whitelisted[_manager] = _whitelisted;
[codex:1000022] 
[codex:1000022] thinking
[codex:1000022] **Identifying accounting and upgradeability issues**
[codex:1000022] exec
[codex:1000022] /bin/bash -lc "nl -ba contracts/contracts/BIFI/infra/BeefyRewardPool.sol | sed -n '240,300p'" in /tmp/codex-multi-5gmzld6c succeeded in 7ms:
[codex:1000022]    240	    /* ----------------------------------- OWNER FUNCTIONS ------------------------------------ */
[codex:1000022]    241	
[codex:1000022]    242	    /// @notice Manager function to start a reward distribution
[codex:1000022]    243	    /// @dev Must approve this contract to spend the reward amount before calling this function. 
[codex:1000022]    244	    /// New rewards will be assigned a id using their address and the block timestamp.
[codex:1000022]    245	    /// @param _reward Address of the reward
[codex:1000022]    246	    /// @param _amount Amount of reward
[codex:1000022]    247	    /// @param _duration Duration of the reward distribution in seconds
[codex:1000022]    248	    function notifyRewardAmount(
[codex:1000022]    249	        address _reward,
[codex:1000022]    250	        uint256 _amount,
[codex:1000022]    251	        uint256 _duration
[codex:1000022]    252	    ) external onlyManager update(address(0)) {
[codex:1000022]    253	        if (_reward == address(stakedToken)) revert StakedTokenIsNotAReward();
[codex:1000022]    254	        if (_duration < 1 hours) revert ShortDuration(_duration);
[codex:1000022]    255	
[codex:1000022]    256	        if (!_rewardExists(_reward)) {
[codex:1000022]    257	            _id[_reward] = keccak256(abi.encodePacked(_reward, block.timestamp));
[codex:1000022]    258	            uint256 rewardLength = rewards.length;
[codex:1000022]    259	            if (rewards.length + 1 > rewardMax) revert TooManyRewards();
[codex:1000022] 
[codex:1000022] thinking
[codex:1000022] **Locating initialization lines**
[codex:1000022] exec
[codex:1000022] /bin/bash -lc "nl -ba contracts/contracts/BIFI/infra/BeefyRewardPool.sol | sed -n '90,150p'" in /tmp/codex-multi-5gmzld6c succeeded in 6ms:
[codex:1000022]     90	    /// @dev Triggers reward updates on every user interaction
[codex:1000022]     91	    /// @param _user Address of the user making an interaction
[codex:1000022]     92	    modifier update(address _user) {
[codex:1000022]     93	        _update(_user);
[codex:1000022]     94	        _;
[codex:1000022]     95	    }
[codex:1000022]     96	
[codex:1000022]     97	    /// @dev Only a manager can call these modified functions
[codex:1000022]     98	    modifier onlyManager {
[codex:1000022]     99	        if (!whitelisted[msg.sender]) revert NotManager(msg.sender);
[codex:1000022]    100	        _;
[codex:1000022]    101	    }
[codex:1000022]    102	
[codex:1000022]    103	    /* ---------------------------------- EXTERNAL FUNCTIONS ---------------------------------- */
[codex:1000022]    104	
[codex:1000022]    105	    /// @notice Initialize the contract, callable only once
[codex:1000022]    106	    /// @param _stakedToken BIFI token address
[codex:1000022]    107	    function initialize(address _stakedToken) external initializer {
[codex:1000022]    108	        __ERC20_init("Beefy Reward Pool", "rBIFI");
[codex:1000022]    109	        __Ownable_init();
[codex:1000022] 
[codex:1000022] thinking
[codex:1000022] **Analyzing upgradeability and token accounting issues**
[codex:1000022] codex
[codex:1000022] {"no_findings":false,"summary":"Found 2 issues: reward/stake accounting assumes non-deflationary ERC20s, and the initializer is publicly callable if a proxy/implementation is left uninitialized.","findings":[{"severity":"low","category":"math","title":"Fee-on-transfer or rebasing tokens break staking/reward accounting and can zero out user rewards","exploit_scenario":"If the staked token or a reward token charges a transfer fee (or rebases), the contract records amounts using the nominal `_amount` rather than the actual received. For rewards, the rate is computed from `_amount`, but the contract may receive less, so rewards become underfunded; `_rewardTransfer` then caps to balance and zeroes the user’s earned amount, causing permanent reward loss for later claimants. For staking, receipt tokens are minted before the transfer, so fee-on-transfer staking can leave receipt supply greater than underlying, leading to insolvent withdrawals or reverts.","recommendation":"Measure actual received amounts by comparing balances before/after `safeTransferFrom`, and base minting and reward rates on the received amount. Alternatively, explicitly restrict staked/reward tokens to non-deflationary ERC20s and revert if the actual received amount is less than expected. Consider reverting (or tracking shortfalls) if reward funding is insufficient instead of zeroing earned balances.","evidence":"`_stake` mints before transferring the staked token; `notifyRewardAmount` uses `_amount` to set the reward rate without verifying actual received; `_rewardTransfer` caps payout to current balance and earned is set to zero before transfer.","locations":["contracts/contracts/BIFI/infra/BeefyRewardPool.sol:248","contracts/contracts/BIFI/infra/BeefyRewardPool.sol:342","contracts/contracts/BIFI/infra/BeefyRewardPool.sol:425"]},{"severity":"info","category":"upgradeability","title":"Initializer is publicly callable if deployed/left uninitialized","exploit_scenario":"If the proxy is deployed without an atomic initializer call, or if the implementation contract is deployed directly, anyone can call `initialize` first and become the owner. This grants control over whitelisting, reward removal, and token rescues. This is a common upgradeability footgun when initialization is not performed in the same transaction as deployment.","recommendation":"Ensure the proxy is initialized atomically at deployment. Add a constructor that calls `_disableInitializers()` on the implementation to prevent takeovers of the implementation contract itself.","evidence":"`initialize` is an external initializer without additional access control, and there is no constructor disabling initializers.","locations":["contracts/contracts/BIFI/infra/BeefyRewardPool.sol:105"]}]}
[codex:1000022] tokens used
[codex:1000022] 59,404
[codex:1000022] {"no_findings":false,"summary":"Found 2 issues: reward/stake accounting assumes non-deflationary ERC20s, and the initializer is publicly callable if a proxy/implementation is left uninitialized.","findings":[{"severity":"low","category":"math","title":"Fee-on-transfer or rebasing tokens break staking/reward accounting and can zero out user rewards","exploit_scenario":"If the staked token or a reward token charges a transfer fee (or rebases), the contract records amounts using the nominal `_amount` rather than the actual received. For rewards, the rate is computed from `_amount`, but the contract may receive less, so rewards become underfunded; `_rewardTransfer` then caps to balance and zeroes the user’s earned amount, causing permanent reward loss for later claimants. For staking, receipt tokens are minted before the transfer, so fee-on-transfer staking can leave receipt supply greater than underlying, leading to insolvent withdrawals or reverts.","recommendation":"Measure actual received amounts by comparing balances before/after `safeTransferFrom`, and base minting and reward rates on the received amount. Alternatively, explicitly restrict staked/reward tokens to non-deflationary ERC20s and revert if the actual received amount is less than expected. Consider reverting (or tracking shortfalls) if reward funding is insufficient instead of zeroing earned balances.","evidence":"`_stake` mints before transferring the staked token; `notifyRewardAmount` uses `_amount` to set the reward rate without verifying actual received; `_rewardTransfer` caps payout to current balance and earned is set to zero before transfer.","locations":["contracts/contracts/BIFI/infra/BeefyRewardPool.sol:248","contracts/contracts/BIFI/infra/BeefyRewardPool.sol:342","contracts/contracts/BIFI/infra/BeefyRewardPool.sol:425"]},{"severity":"info","category":"upgradeability","title":"Initializer is publicly callable if deployed/left uninitialized","exploit_scenario":"If the proxy is deployed without an atomic initializer call, or if the implementation contract is deployed directly, anyone can call `initialize` first and become the owner. This grants control over whitelisting, reward removal, and token rescues. This is a common upgradeability footgun when initialization is not performed in the same transaction as deployment.","recommendation":"Ensure the proxy is initialized atomically at deployment. Add a constructor that calls `_disableInitializers()` on the implementation to prevent takeovers of the implementation contract itself.","evidence":"`initialize` is an external initializer without additional access control, and there is no constructor disabling initializers.","locations":["contracts/contracts/BIFI/infra/BeefyRewardPool.sol:105"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-29T23:32:12.580018+00:00",
        "returncode": 0
    },
    "summary": "Found 2 issues: reward/stake accounting assumes non-deflationary ERC20s, and the initializer is publicly callable if a proxy/implementation is left uninitialized.",
    "raw_final": {
        "summary": "Found 2 issues: reward/stake accounting assumes non-deflationary ERC20s, and the initializer is publicly callable if a proxy/implementation is left uninitialized.",
        "findings": [
            {
                "title": "Fee-on-transfer or rebasing tokens break staking/reward accounting and can zero out user rewards",
                "category": "math",
                "evidence": "`_stake` mints before transferring the staked token; `notifyRewardAmount` uses `_amount` to set the reward rate without verifying actual received; `_rewardTransfer` caps payout to current balance and earned is set to zero before transfer.",
                "severity": "low",
                "locations": [
                    "contracts/contracts/BIFI/infra/BeefyRewardPool.sol:248",
                    "contracts/contracts/BIFI/infra/BeefyRewardPool.sol:342",
                    "contracts/contracts/BIFI/infra/BeefyRewardPool.sol:425"
                ],
                "recommendation": "Measure actual received amounts by comparing balances before/after `safeTransferFrom`, and base minting and reward rates on the received amount. Alternatively, explicitly restrict staked/reward tokens to non-deflationary ERC20s and revert if the actual received amount is less than expected. Consider reverting (or tracking shortfalls) if reward funding is insufficient instead of zeroing earned balances.",
                "exploit_scenario": "If the staked token or a reward token charges a transfer fee (or rebases), the contract records amounts using the nominal `_amount` rather than the actual received. For rewards, the rate is computed from `_amount`, but the contract may receive less, so rewards become underfunded; `_rewardTransfer` then caps to balance and zeroes the user\u2019s earned amount, causing permanent reward loss for later claimants. For staking, receipt tokens are minted before the transfer, so fee-on-transfer staking can leave receipt supply greater than underlying, leading to insolvent withdrawals or reverts."
            },
            {
                "title": "Initializer is publicly callable if deployed/left uninitialized",
                "category": "upgradeability",
                "evidence": "`initialize` is an external initializer without additional access control, and there is no constructor disabling initializers.",
                "severity": "info",
                "locations": [
                    "contracts/contracts/BIFI/infra/BeefyRewardPool.sol:105"
                ],
                "recommendation": "Ensure the proxy is initialized atomically at deployment. Add a constructor that calls `_disableInitializers()` on the implementation to prevent takeovers of the implementation contract itself.",
                "exploit_scenario": "If the proxy is deployed without an atomic initializer call, or if the implementation contract is deployed directly, anyone can call `initialize` first and become the owner. This grants control over whitelisting, reward removal, and token rescues. This is a common upgradeability footgun when initialization is not performed in the same transaction as deployment."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
5
EXT*/BALANCE
5
Total opcodes
5733
Flags
heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x01d9
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x73d6a889
00000026: GT
00000027: PUSH2 0x0104
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xa9059cbb
00000031: GT
00000032: PUSH2 0x00a2
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xdd62ed3e
0000003c: GT
0000003d: PUSH2 0x0071
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xdd62ed3e
00000047: EQ
00000048: PUSH2 0x043b
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xe9fad8ee
00000052: EQ
00000053: PUSH2 0x044e
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xf2fde38b
0000005d: EQ
0000005e: PUSH2 0x0456
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xf301af42
00000068: EQ
00000069: PUSH2 0x0469
0000006c: JUMPI
0000006d: PUSH1 0x00
0000006f: DUP1
00000070: REVERT
00000071: JUMPDEST
00000072: DUP1
00000073: PUSH4 0xa9059cbb
00000078: EQ
00000079: PUSH2 0x03df
0000007c: JUMPI
0000007d: DUP1
0000007e: PUSH4 0xc4d66de8
00000083: EQ
00000084: PUSH2 0x03f2
00000087: JUMPI
00000088: DUP1
00000089: PUSH4 0xcc7a262e
0000008e: EQ
0000008f: PUSH2 0x0405
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0xd936547e
00000099: EQ
0000009a: PUSH2 0x0418
0000009d: JUMPI
0000009e: PUSH1 0x00
000000a0: DUP1
000000a1: REVERT
000000a2: JUMPDEST
000000a3: DUP1
000000a4: PUSH4 0x95d89b41
000000a9: GT
000000aa: PUSH2 0x00de
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0x95d89b41
000000b4: EQ
000000b5: PUSH2 0x039e
000000b8: JUMPI
000000b9: DUP1
000000ba: PUSH4 0xa3cd8ac4
000000bf: EQ
000000c0: PUSH2 0x03a6
000000c3: JUMPI
000000c4: DUP1
000000c5: PUSH4 0xa457c2d7
000000ca: EQ
000000cb: PUSH2 0x03b9
000000ce: JUMPI
000000cf: DUP1
000000d0: PUSH4 0xa694fc3a
000000d5: EQ
000000d6: PUSH2 0x03cc
000000d9: JUMPI
000000da: PUSH1 0x00
000000dc: DUP1
000000dd: REVERT
000000de: JUMPDEST
000000df: DUP1
000000e0: PUSH4 0x73d6a889
000000e5: EQ
000000e6: PUSH2 0x0321
000000e9: JUMPI
000000ea: DUP1
000000eb: PUSH4 0x81a00f83
000000f0: EQ
000000f1: PUSH2 0x0334
000000f4: JUMPI
000000f5: DUP1
000000f6: PUSH4 0x8da5cb5b
000000fb: EQ
000000fc: PUSH2 0x0379
000000ff: JUMPI
00000100: PUSH1 0x00
00000102: DUP1
00000103: REVERT
00000104: JUMPDEST
00000105: DUP1
00000106: PUSH4 0x2e1a7d4d
0000010b: GT
0000010c: PUSH2 0x017c
0000010f: JUMPI
00000110: DUP1
00000111: PUSH4 0x53d6fd59
00000116: GT
00000117: PUSH2 0x014b
0000011a: JUMPI
0000011b: DUP1
0000011c: PUSH4 0x53d6fd59
00000121: EQ
00000122: PUSH2 0x02ca
00000125: JUMPI
00000126: DUP1
00000127: PUSH4 0x5431c94e
0000012c: EQ
0000012d: PUSH2 0x02dd
00000130: JUMPI
00000131: DUP1
00000132: PUSH4 0x70a08231
00000137: EQ
00000138: PUSH2 0x02f0
0000013b: JUMPI
0000013c: DUP1
0000013d: PUSH4 0x715018a6
00000142: EQ
00000143: PUSH2 0x0319
00000146: JUMPI
00000147: PUSH1 0x00
00000149: DUP1
0000014a: REVERT
0000014b: JUMPDEST
0000014c: DUP1
0000014d: PUSH4 0x2e1a7d4d
00000152: EQ
00000153: PUSH2 0x028d
00000156: JUMPI
00000157: DUP1
00000158: PUSH4 0x313ce567
0000015d: EQ
0000015e: PUSH2 0x02a0
00000161: JUMPI
00000162: DUP1
00000163: PUSH4 0x39509351
00000168: EQ
00000169: PUSH2 0x02af
0000016c: JUMPI
0000016d: DUP1
0000016e: PUSH4 0x3d18b912
00000173: EQ
00000174: PUSH2 0x02c2
00000177: JUMPI
00000178: PUSH1 0x00
0000017a: DUP1
0000017b: REVERT
0000017c: JUMPDEST
0000017d: DUP1
0000017e: PUSH4 0x165d21c9
00000183: GT
00000184: PUSH2 0x01b8
00000187: JUMPI
00000188: DUP1
00000189: PUSH4 0x165d21c9
0000018e: EQ
0000018f: PUSH2 0x0240
00000192: JUMPI
00000193: DUP1
00000194: PUSH4 0x18160ddd
00000199: EQ
0000019a: PUSH2 0x0255
0000019d: JUMPI
0000019e: DUP1
0000019f: PUSH4 0x211dc32d
000001a4: EQ
000001a5: PUSH2 0x0267
000001a8: JUMPI
000001a9: DUP1
000001aa: PUSH4 0x23b872dd
000001af: EQ
000001b0: PUSH2 0x027a
000001b3: JUMPI
000001b4: PUSH1 0x00
000001b6: DUP1
000001b7: REVERT
000001b8: JUMPDEST
000001b9: DUP1
000001ba: PUSH3 0x8cc262
000001be: EQ
000001bf: PUSH2 0x01de
000001c2: JUMPI
000001c3: DUP1
000001c4: PUSH4 0x06fdde03
000001c9: EQ
000001ca: PUSH2 0x0208
000001cd: JUMPI
000001ce: DUP1
000001cf: PUSH4 0x095ea7b3
000001d4: EQ
000001d5: PUSH2 0x021d
000001d8: JUMPI
000001d9: JUMPDEST
000001da: PUSH1 0x00
000001dc: DUP1
000001dd: REVERT
000001de: JUMPDEST
000001df: PUSH2 0x01f1
000001e2: PUSH2 0x01ec
000001e5: CALLDATASIZE
000001e6: PUSH1 0x04
000001e8: PUSH2 0x1f24
000001eb: JUMP
000001ec: JUMPDEST
000001ed: PUSH2 0x047c
000001f0: JUMP
000001f1: JUMPDEST
000001f2: PUSH1 0x40
000001f4: MLOAD
000001f5: PUSH2 0x01ff
000001f8: SWAP3
000001f9: SWAP2
000001fa: SWAP1
000001fb: PUSH2 0x1f3f
000001fe: JUMP
000001ff: JUMPDEST
00000200: PUSH1 0x40
00000202: MLOAD
00000203: DUP1
00000204: SWAP2
00000205: SUB
00000206: SWAP1
00000207: RETURN
00000208: JUMPDEST
00000209: PUSH2 0x0210
0000020c: PUSH2 0x0594
0000020f: JUMP
00000210: JUMPDEST
00000211: PUSH1 0x40
00000213: MLOAD
00000214: PUSH2 0x01ff
00000217: SWAP2
00000218: SWAP1
00000219: PUSH2 0x1fe7
0000021c: JUMP
0000021d: JUMPDEST
0000021e: PUSH2 0x0230
00000221: PUSH2 0x022b
00000224: CALLDATASIZE
00000225: PUSH1 0x04
00000227: PUSH2 0x201a
0000022a: JUMP
0000022b: JUMPDEST
0000022c: PUSH2 0x0626
0000022f: JUMP
00000230: JUMPDEST
00000231: PUSH1 0x40
00000233: MLOAD
00000234: SWAP1
00000235: ISZERO
00000236: ISZERO
00000237: DUP2
00000238: MSTORE
00000239: PUSH1 0x20
0000023b: ADD
0000023c: PUSH2 0x01ff
0000023f: JUMP
00000240: JUMPDEST
00000241: PUSH2 0x0253
00000244: PUSH2 0x024e
00000247: CALLDATASIZE
00000248: PUSH1 0x04
0000024a: PUSH2 0x2044
0000024d: JUMP
0000024e: JUMPDEST
0000024f: PUSH2 0x0640
00000252: JUMP
00000253: JUMPDEST
00000254: STOP
00000255: JUMPDEST
00000256: PUSH1 0x35
00000258: SLOAD
00000259: JUMPDEST
0000025a: PUSH1 0x40
0000025c: MLOAD
0000025d: SWAP1
0000025e: DUP2
0000025f: MSTORE
00000260: PUSH1 0x20
00000262: ADD
00000263: PUSH2 0x01ff
00000266: JUMP
00000267: JUMPDEST
00000268: PUSH2 0x0259
0000026b: PUSH2 0x0275
0000026e: CALLDATASIZE
0000026f: PUSH1 0x04
00000271: PUSH2 0x2044
00000274: JUMP
00000275: JUMPDEST
00000276: PUSH2 0x0820
00000279: JUMP
0000027a: JUMPDEST
0000027b: PUSH2 0x0230
0000027e: PUSH2 0x0288
00000281: CALLDATASIZE
00000282: PUSH1 0x04
00000284: PUSH2 0x2077
00000287: JUMP
00000288: JUMPDEST
00000289: PUSH2 0x0833
0000028c: JUMP
0000028d: JUMPDEST
0000028e: PUSH2 0x0253
00000291: PUSH2 0x029b
00000294: CALLDATASIZE
00000295: PUSH1 0x04
00000297: PUSH2 0x20b3
0000029a: JUMP
0000029b: JUMPDEST
0000029c: PUSH2 0x085a
0000029f: JUMP
000002a0: JUMPDEST
000002a1: PUSH1 0x40
000002a3: MLOAD
000002a4: PUSH1 0x12
000002a6: DUP2
000002a7: MSTORE
000002a8: PUSH1 0x20
000002aa: ADD
000002ab: PUSH2 0x01ff
000002ae: JUMP
000002af: JUMPDEST
000002b0: PUSH2 0x0230
000002b3: PUSH2 0x02bd
000002b6: CALLDATASIZE
000002b7: PUSH1 0x04
000002b9: PUSH2 0x201a
000002bc: JUMP
000002bd: JUMPDEST
000002be: PUSH2 0x0871
000002c1: JUMP
000002c2: JUMPDEST
000002c3: PUSH2 0x0253
000002c6: PUSH2 0x0893
000002c9: JUMP
000002ca: JUMPDEST
000002cb: PUSH2 0x0253
000002ce: PUSH2 0x02d8
000002d1: CALLDATASIZE
000002d2: PUSH1 0x04
000002d4: PUSH2 0x20da
000002d7: JUMP
000002d8: JUMPDEST
000002d9: PUSH2 0x08a8
000002dc: JUMP
000002dd: JUMPDEST
000002de: PUSH2 0x0253
000002e1: PUSH2 0x02eb
000002e4: CALLDATASIZE
000002e5: PUSH1 0x04
000002e7: PUSH2 0x2044
000002ea: JUMP
000002eb: JUMPDEST
000002ec: PUSH2 0x0914
000002ef: JUMP
000002f0: JUMPDEST
000002f1: PUSH2 0x0259
000002f4: PUSH2 0x02fe
000002f7: CALLDATASIZE
000002f8: PUSH1 0x04
000002fa: PUSH2 0x1f24
000002fd: JUMP
000002fe: JUMPDEST
000002ff: PUSH1 0x01
00000301: PUSH1 0x01
00000303: PUSH1 0xa0
00000305: SHL
00000306: SUB
00000307: AND
00000308: PUSH1 0x00
0000030a: SWAP1
0000030b: DUP2
0000030c: MSTORE
0000030d: PUSH1 0x33
0000030f: PUSH1 0x20
00000311: MSTORE
00000312: PUSH1 0x40
00000314: SWAP1
00000315: KECCAK256
00000316: SLOAD
00000317: SWAP1
00000318: JUMP
00000319: JUMPDEST
0000031a: PUSH2 0x0253
0000031d: PUSH2 0x0a46
00000320: JUMP
00000321: JUMPDEST
00000322: PUSH2 0x0253
00000325: PUSH2 0x032f
00000328: CALLDATASIZE
00000329: PUSH1 0x04
0000032b: PUSH2 0x2111
0000032e: JUMP
0000032f: JUMPDEST
00000330: PUSH2 0x0a5a
00000333: JUMP
00000334: JUMPDEST
00000335: PUSH2 0x0347
00000338: PUSH2 0x0342
0000033b: CALLDATASIZE
0000033c: PUSH1 0x04
0000033e: PUSH2 0x20b3
00000341: JUMP
00000342: JUMPDEST
00000343: PUSH2 0x0b01
00000346: JUMP
00000347: JUMPDEST
00000348: PUSH1 0x40
0000034a: DUP1
0000034b: MLOAD
0000034c: PUSH1 0x01
0000034e: PUSH1 0x01
00000350: PUSH1 0xa0
00000352: SHL
00000353: SUB
00000354: SWAP1
00000355: SWAP7
00000356: AND
00000357: DUP7
00000358: MSTORE
00000359: PUSH1 0x20
0000035b: DUP7
0000035c: ADD
0000035d: SWAP5
0000035e: SWAP1
0000035f: SWAP5
00000360: MSTORE
00000361: SWAP3
00000362: DUP5
00000363: ADD
00000364: SWAP2
00000365: SWAP1
00000366: SWAP2
00000367: MSTORE
00000368: PUSH1 0x60
0000036a: DUP4
0000036b: ADD
0000036c: MSTORE
0000036d: PUSH1 0x80
0000036f: DUP3
00000370: ADD
00000371: MSTORE
00000372: PUSH1 0xa0
00000374: ADD
00000375: PUSH2 0x01ff
00000378: JUMP
00000379: JUMPDEST
0000037a: PUSH1 0x65
0000037c: SLOAD
0000037d: PUSH1 0x01
0000037f: PUSH1 0x01
00000381: PUSH1 0xa0
00000383: SHL
00000384: SUB
00000385: AND
00000386: JUMPDEST
00000387: PUSH1 0x40
00000389: MLOAD
0000038a: PUSH1 0x01
0000038c: PUSH1 0x01
0000038e: PUSH1 0xa0
00000390: SHL
00000391: SUB
00000392: SWAP1
00000393: SWAP2
00000394: AND
00000395: DUP2
00000396: MSTORE
00000397: PUSH1 0x20
00000399: ADD
0000039a: PUSH2 0x01ff
0000039d: JUMP
0000039e: JUMPDEST
0000039f: PUSH2 0x0210
000003a2: PUSH2 0x0b5f
000003a5: JUMP
000003a6: JUMPDEST
000003a7: PUSH2 0x0253
000003aa: PUSH2 0x03b4
000003ad: CALLDATASIZE
000003ae: PUSH1 0x04
000003b0: PUSH2 0x2171
000003b3: JUMP
000003b4: JUMPDEST
000003b5: PUSH2 0x0b6e
000003b8: JUMP
000003b9: JUMPDEST
000003ba: PUSH2 0x0230
000003bd: PUSH2 0x03c7
000003c0: CALLDATASIZE
000003c1: PUSH1 0x04
000003c3: PUSH2 0x201a
000003c6: JUMP
000003c7: JUMPDEST
000003c8: PUSH2 0x0df9
000003cb: JUMP
000003cc: JUMPDEST
000003cd: PUSH2 0x0253
000003d0: PUSH2 0x03da
000003d3: CALLDATASIZE
000003d4: PUSH1 0x04
000003d6: PUSH2 0x20b3
000003d9: JUMP
000003da: JUMPDEST
000003db: PUSH2 0x0e7f
000003de: JUMP
000003df: JUMPDEST
000003e0: PUSH2 0x0230
000003e3: PUSH2 0x03ed
000003e6: CALLDATASIZE
000003e7: PUSH1 0x04
000003e9: PUSH2 0x201a
000003ec: JUMP
000003ed: JUMPDEST
000003ee: PUSH2 0x0e93
000003f1: JUMP
000003f2: JUMPDEST
000003f3: PUSH2 0x0253
000003f6: PUSH2 0x0400
000003f9: CALLDATASIZE
000003fa: PUSH1 0x04
000003fc: PUSH2 0x1f24
000003ff: JUMP
00000400: JUMPDEST
00000401: PUSH2 0x0eb1
00000404: JUMP
00000405: JUMPDEST
00000406: PUSH1 0x97
00000408: SLOAD
00000409: PUSH2 0x0386
0000040c: SWAP1
0000040d: PUSH1 0x01
0000040f: PUSH1 0x01
00000411: PUSH1 0xa0
00000413: SHL
00000414: SUB
00000415: AND
00000416: DUP2
00000417: JUMP
00000418: JUMPDEST
00000419: PUSH2 0x0230
0000041c: PUSH2 0x0426
0000041f: CALLDATASIZE
00000420: PUSH1 0x04
00000422: PUSH2 0x1f24
00000425: JUMP
00000426: JUMPDEST
00000427: PUSH1 0x99
00000429: PUSH1 0x20
0000042b: MSTORE
0000042c: PUSH1 0x00
0000042e: SWAP1
0000042f: DUP2
00000430: MSTORE
00000431: PUSH1 0x40
00000433: SWAP1
00000434: KECCAK256
00000435: SLOAD
00000436: PUSH1 0xff
00000438: AND
00000439: DUP2
0000043a: JUMP
0000043b: JUMPDEST
0000043c: PUSH2 0x0259
0000043f: PUSH2 0x0449
00000442: CALLDATASIZE
00000443: PUSH1 0x04
00000445: PUSH2 0x2044
00000448: JUMP
00000449: JUMPDEST
0000044a: PUSH2 0x102b
0000044d: JUMP
0000044e: JUMPDEST
0000044f: PUSH2 0x0253
00000452: PUSH2 0x1056
00000455: JUMP
00000456: JUMPDEST
00000457: PUSH2 0x0253
0000045a: PUSH2 0x0464
0000045d: CALLDATASIZE
0000045e: PUSH1 0x04
00000460: PUSH2 0x1f24
00000463: JUMP
00000464: JUMPDEST
00000465: PUSH2 0x1079
00000468: JUMP
00000469: JUMPDEST
0000046a: PUSH2 0x0386
0000046d: PUSH2 0x0477
00000470: CALLDATASIZE
00000471: PUSH1 0x04
00000473: PUSH2 0x20b3
00000476: JUMP
00000477: JUMPDEST
00000478: PUSH2 0x10ef
0000047b: JUMP
0000047c: JUMPDEST
0000047d: PUSH1 0x98
0000047f: SLOAD
00000480: PUSH1 0x60
00000482: SWAP1
00000483: DUP2
00000484: SWAP1
00000485: PUSH1 0x00
00000487: DUP2
00000488: PUSH8 0xffffffffffffffff
00000491: DUP2
00000492: GT
00000493: ISZERO
00000494: PUSH2 0x049f
00000497: JUMPI
00000498: PUSH2 0x049f
0000049b: PUSH2 0x21a4
0000049e: JUMP
0000049f: JUMPDEST
000004a0: PUSH1 0x40
000004a2: MLOAD
000004a3: SWAP1
000004a4: DUP1
000004a5: DUP3
000004a6: MSTORE
000004a7: DUP1
000004a8: PUSH1 0x20
000004aa: MUL
000004ab: PUSH1 0x20
000004ad: ADD
000004ae: DUP3
000004af: ADD
000004b0: PUSH1 0x40
000004b2: MSTORE
000004b3: DUP1
000004b4: ISZERO
000004b5: PUSH2 0x04c8
000004b8: JUMPI
000004b9: DUP2
000004ba: PUSH1 0x20
000004bc: ADD
000004bd: PUSH1 0x20
000004bf: DUP3
000004c0: MUL
000004c1: DUP1
000004c2: CALLDATASIZE
000004c3: DUP4
000004c4: CALLDATACOPY
000004c5: ADD
000004c6: SWAP1
000004c7: POP
000004c8: JUMPDEST
000004c9: POP
000004ca: SWAP1
000004cb: POP
000004cc: PUSH1 0x00
000004ce: JUMPDEST
000004cf: DUP3
000004d0: DUP2
000004d1: LT
000004d2: ISZERO
000004d3: PUSH2 0x052c
000004d6: JUMPI
000004d7: PUSH2 0x0507
000004da: DUP7
000004db: PUSH1 0x98
000004dd: DUP4
000004de: DUP2
000004df: SLOAD
000004e0: DUP2
000004e1: LT
000004e2: PUSH2 0x04ed
000004e5: JUMPI
000004e6: PUSH2 0x04ed
000004e9: PUSH2 0x21ba
000004ec: JUMP
000004ed: JUMPDEST
000004ee: PUSH1 0x00
000004f0: SWAP2
000004f1: DUP3
000004f2: MSTORE
000004f3: PUSH1 0x20
000004f5: SWAP1
000004f6: SWAP2
000004f7: KECCAK256
000004f8: ADD
000004f9: SLOAD
000004fa: PUSH1 0x01
000004fc: PUSH1 0x01
000004fe: PUSH1 0xa0
00000500: SHL
00000501: SUB
00000502: AND
00000503: PUSH2 0x1119
00000506: JUMP
00000507: JUMPDEST
00000508: DUP3
00000509: DUP3
0000050a: DUP2
0000050b: MLOAD
0000050c: DUP2
0000050d: LT
0000050e: PUSH2 0x0519
00000511: JUMPI
00000512: PUSH2 0x0519
00000515: PUSH2 0x21ba
00000518: JUMP
00000519: JUMPDEST
0000051a: PUSH1 0x20
0000051c: SWAP1
0000051d: DUP2
0000051e: MUL
0000051f: SWAP2
00000520: SWAP1
00000521: SWAP2
00000522: ADD
00000523: ADD
00000524: MSTORE
00000525: PUSH1 0x01
00000527: ADD
00000528: PUSH2 0x04ce
0000052b: JUMP
0000052c: JUMPDEST
0000052d: POP
0000052e: DUP1
0000052f: SWAP3
00000530: POP
00000531: PUSH1 0x98
00000533: DUP1
00000534: SLOAD
00000535: DUP1
00000536: PUSH1 0x20
00000538: MUL
00000539: PUSH1 0x20
0000053b: ADD
0000053c: PUSH1 0x40
0000053e: MLOAD
0000053f: SWAP1
00000540: DUP2
00000541: ADD
00000542: PUSH1 0x40
00000544: MSTORE
00000545: DUP1
00000546: SWAP3
00000547: SWAP2
00000548: SWAP1
00000549: DUP2
0000054a: DUP2
0000054b: MSTORE
0000054c: PUSH1 0x20
0000054e: ADD
0000054f: DUP3
00000550: DUP1
00000551: SLOAD
00000552: DUP1
00000553: ISZERO
00000554: PUSH2 0x0586
00000557: JUMPI
00000558: PUSH1 0x20
0000055a: MUL
0000055b: DUP3
0000055c: ADD
0000055d: SWAP2
0000055e: SWAP1
0000055f: PUSH1 0x00
00000561: MSTORE
00000562: PUSH1 0x20
00000564: PUSH1 0x00
00000566: KECCAK256
00000567: SWAP1
00000568: JUMPDEST
00000569: DUP2
0000056a: SLOAD
0000056b: PUSH1 0x01
0000056d: PUSH1 0x01
0000056f: PUSH1 0xa0
00000571: SHL
00000572: SUB
00000573: AND
00000574: DUP2
00000575: MSTORE
00000576: PUSH1 0x01
00000578: SWAP1
00000579: SWAP2
0000057a: ADD
0000057b: SWAP1
0000057c: PUSH1 0x20
0000057e: ADD
0000057f: DUP1
00000580: DUP4
00000581: GT
00000582: PUSH2 0x0568
00000585: JUMPI
00000586: JUMPDEST
00000587: POP
00000588: POP
00000589: POP
0000058a: POP
0000058b: POP
0000058c: SWAP4
0000058d: POP
0000058e: POP
0000058f: POP
00000590: SWAP2
00000591: POP
00000592: SWAP2
00000593: JUMP
00000594: JUMPDEST
00000595: PUSH1 0x60
00000597: PUSH1 0x36
00000599: DUP1
0000059a: SLOAD
0000059b: PUSH2 0x05a3
0000059e: SWAP1
0000059f: PUSH2 0x21d0
000005a2: JUMP
000005a3: JUMPDEST
000005a4: DUP1
000005a5: PUSH1 0x1f
000005a7: ADD
000005a8: PUSH1 0x20
000005aa: DUP1
000005ab: SWAP2
000005ac: DIV
000005ad: MUL
000005ae: PUSH1 0x20
000005b0: ADD
000005b1: PUSH1 0x40
000005b3: MLOAD
000005b4: SWAP1
000005b5: DUP2
000005b6: ADD
000005b7: PUSH1 0x40
000005b9: MSTORE
000005ba: DUP1
000005bb: SWAP3
000005bc: SWAP2
000005bd: SWAP1
000005be: DUP2
000005bf: DUP2
000005c0: MSTORE
000005c1: PUSH1 0x20
000005c3: ADD
000005c4: DUP3
000005c5: DUP1
000005c6: SLOAD
000005c7: PUSH2 0x05cf
000005ca: SWAP1
000005cb: PUSH2 0x21d0
000005ce: JUMP
000005cf: JUMPDEST
000005d0: DUP1
000005d1: ISZERO
000005d2: PUSH2 0x061c
000005d5: JUMPI
000005d6: DUP1
000005d7: PUSH1 0x1f
000005d9: LT
000005da: PUSH2 0x05f1
000005dd: JUMPI
000005de: PUSH2 0x0100
000005e1: DUP1
000005e2: DUP4
000005e3: SLOAD
000005e4: DIV
000005e5: MUL
000005e6: DUP4
000005e7: MSTORE
000005e8: SWAP2
000005e9: PUSH1 0x20
000005eb: ADD
000005ec: SWAP2
000005ed: PUSH2 0x061c
000005f0: JUMP
000005f1: JUMPDEST
000005f2: DUP3
000005f3: ADD
000005f4: SWAP2
000005f5: SWAP1
000005f6: PUSH1 0x00
000005f8: MSTORE
000005f9: PUSH1 0x20
000005fb: PUSH1 0x00
000005fd: KECCAK256
000005fe: SWAP1
000005ff: JUMPDEST
00000600: DUP2
00000601: SLOAD
00000602: DUP2
00000603: MSTORE
00000604: SWAP1
00000605: PUSH1 0x01
00000607: ADD
00000608: SWAP1
00000609: PUSH1 0x20
0000060b: ADD
0000060c: DUP1
0000060d: DUP4
0000060e: GT
0000060f: PUSH2 0x05ff
00000612: JUMPI
00000613: DUP3
00000614: SWAP1
00000615: SUB
00000616: PUSH1 0x1f
00000618: AND
00000619: DUP3
0000061a: ADD
0000061b: SWAP2
0000061c: JUMPDEST
0000061d: POP
0000061e: POP
0000061f: POP
00000620: POP
00000621: POP
00000622: SWAP1
00000623: POP
00000624: SWAP1
00000625: JUMP
00000626: JUMPDEST
00000627: PUSH1 0x00
00000629: CALLER
0000062a: PUSH2 0x0634
0000062d: DUP2
0000062e: DUP6
0000062f: DUP6
00000630: PUSH2 0x11b2
00000633: JUMP
00000634: JUMPDEST
00000635: PUSH1 0x01
00000637: SWAP2
00000638: POP
00000639: POP
0000063a: JUMPDEST
0000063b: SWAP3
0000063c: SWAP2
0000063d: POP
0000063e: POP
0000063f: JUMP
00000640: JUMPDEST
00000641: PUSH2 0x0648
00000644: PUSH2 0x12d6
00000647: JUMP
00000648: JUMPDEST
00000649: PUSH2 0x0651
0000064c: DUP3
0000064d: PUSH2 0x1330
00000650: JUMP
00000651: JUMPDEST
00000652: PUSH2 0x067e
00000655: JUMPI
00000656: PUSH1 0x40
00000658: MLOAD
00000659: PUSH4 0xd6e12d4d
0000065e: PUSH1 0xe0
00000660: SHL
00000661: DUP2
00000662: MSTORE
00000663: PUSH1 0x01
00000665: PUSH1 0x01
00000667: PUSH1 0xa0
00000669: SHL
0000066a: SUB
0000066b: DUP4
0000066c: AND
0000066d: PUSH1 0x04
0000066f: DUP3
00000670: ADD
00000671: MSTORE
00000672: PUSH1 0x24
00000674: ADD
00000675: JUMPDEST
00000676: PUSH1 0x40
00000678: MLOAD
00000679: DUP1
0000067a: SWAP2
0000067b: SUB
0000067c: SWAP1
0000067d: REVERT
0000067e: JUMPDEST
0000067f: PUSH1 0x01
00000681: PUSH1 0x01
00000683: PUSH1 0xa0
00000685: SHL
00000686: SUB
00000687: DUP3
00000688: AND
00000689: PUSH1 0x00
0000068b: SWAP1
0000068c: DUP2
0000068d: MSTORE
0000068e: PUSH1 0x9b
00000690: PUSH1 0x20
00000692: MSTORE
00000693: PUSH1 0x40
00000695: DUP2
00000696: KECCAK256
00000697: SLOAD
00000698: PUSH1 0x98
0000069a: DUP1
0000069b: SLOAD
0000069c: SWAP2
0000069d: SWAP3
0000069e: SWAP2
0000069f: PUSH2 0x06aa
000006a2: SWAP1
000006a3: PUSH1 0x01
000006a5: SWAP1
000006a6: PUSH2 0x221a
000006a9: JUMP
000006aa: JUMPDEST
000006ab: DUP2
000006ac: SLOAD
000006ad: DUP2
000006ae: LT
000006af: PUSH2 0x06ba
000006b2: JUMPI
000006b3: PUSH2 0x06ba
000006b6: PUSH2 0x21ba
000006b9: JUMP
000006ba: JUMPDEST
000006bb: PUSH1 0x00
000006bd: SWAP2
000006be: DUP3
000006bf: MSTORE
000006c0: PUSH1 0x20
000006c2: SWAP1
000006c3: SWAP2
000006c4: KECCAK256
000006c5: ADD
000006c6: SLOAD
000006c7: PUSH1 0x98
000006c9: DUP1
000006ca: SLOAD
000006cb: PUSH1 0x01
000006cd: PUSH1 0x01
000006cf: PUSH1 0xa0
000006d1: SHL
000006d2: SUB
000006d3: SWAP1
000006d4: SWAP3
000006d5: AND
000006d6: SWAP3
000006d7: POP
000006d8: DUP3
000006d9: SWAP2
000006da: DUP5
000006db: SWAP1
000006dc: DUP2
000006dd: LT
000006de: PUSH2 0x06e9
000006e1: JUMPI
000006e2: PUSH2 0x06e9
000006e5: PUSH2 0x21ba
000006e8: JUMP
000006e9: JUMPDEST
000006ea: PUSH1 0x00
000006ec: SWAP2
000006ed: DUP3
000006ee: MSTORE
000006ef: PUSH1 0x20
000006f1: DUP1
000006f2: DUP4
000006f3: KECCAK256
000006f4: SWAP2
000006f5: SWAP1
000006f6: SWAP2
000006f7: ADD
000006f8: DUP1
000006f9: SLOAD
000006fa: PUSH1 0x01
000006fc: PUSH1 0x01
000006fe: PUSH1 0xa0
00000700: SHL
00000701: SUB
00000702: NOT
00000703: AND
00000704: PUSH1 0x01
00000706: PUSH1 0x01
00000708: PUSH1 0xa0
0000070a: SHL
0000070b: SUB
0000070c: SWAP5
0000070d: DUP6
0000070e: AND
0000070f: OR
00000710: SWAP1
00000711: SSTORE
00000712: SWAP2
00000713: DUP4
00000714: AND
00000715: DUP2
00000716: MSTORE
00000717: PUSH1 0x9b
00000719: SWAP1
0000071a: SWAP2
0000071b: MSTORE
0000071c: PUSH1 0x40
0000071e: SWAP1
0000071f: KECCAK256
00000720: DUP3
00000721: SWAP1
00000722: SSTORE
00000723: PUSH1 0x98
00000725: DUP1
00000726: SLOAD
00000727: DUP1
00000728: PUSH2 0x0733
0000072b: JUMPI
0000072c: PUSH2 0x0733
0000072f: PUSH2 0x222d
00000732: JUMP
00000733: JUMPDEST
00000734: PUSH1 0x00
00000736: DUP3
00000737: DUP2
00000738: MSTORE
00000739: PUSH1 0x20
0000073b: DUP2
0000073c: KECCAK256
0000073d: PUSH1 0x00
0000073f: NOT
00000740: SWAP1
00000741: DUP4
00000742: ADD
00000743: DUP2
00000744: ADD
00000745: DUP1
00000746: SLOAD
00000747: PUSH1 0x01
00000749: PUSH1 0x01
0000074b: PUSH1 0xa0
0000074d: SHL
0000074e: SUB
0000074f: NOT
00000750: AND
00000751: SWAP1
00000752: SSTORE
00000753: SWAP1
00000754: SWAP2
00000755: ADD
00000756: SWAP1
00000757: SWAP2
00000758: SSTORE
00000759: PUSH1 0x40
0000075b: MLOAD
0000075c: PUSH4 0x70a08231
00000761: PUSH1 0xe0
00000763: SHL
00000764: DUP2
00000765: MSTORE
00000766: ADDRESS
00000767: PUSH1 0x04
00000769: DUP3
0000076a: ADD
0000076b: MSTORE
0000076c: PUSH1 0x01
0000076e: PUSH1 0x01
00000770: PUSH1 0xa0
00000772: SHL
00000773: SUB
00000774: DUP7
00000775: AND
00000776: SWAP1
00000777: PUSH4 0x70a08231
0000077c: SWAP1
0000077d: PUSH1 0x24
0000077f: ADD
00000780: PUSH1 0x20
00000782: PUSH1 0x40
00000784: MLOAD
00000785: DUP1
00000786: DUP4
00000787: SUB
00000788: DUP2
00000789: DUP7
0000078a: GAS
0000078b: STATICCALL
0000078c: ISZERO
0000078d: DUP1
0000078e: ISZERO
0000078f: PUSH2 0x079c
00000792: JUMPI
00000793: RETURNDATASIZE
00000794: PUSH1 0x00
00000796: DUP1
00000797: RETURNDATACOPY
00000798: RETURNDATASIZE
00000799: PUSH1 0x00
0000079b: REVERT
0000079c: JUMPDEST
0000079d: POP
0000079e: POP
0000079f: POP
000007a0: POP
000007a1: PUSH1 0x40
000007a3: MLOAD
000007a4: RETURNDATASIZE
000007a5: PUSH1 0x1f
000007a7: NOT
000007a8: PUSH1 0x1f
000007aa: DUP3
000007ab: ADD
000007ac: AND
000007ad: DUP3
000007ae: ADD
000007af: DUP1
000007b0: PUSH1 0x40
000007b2: MSTORE
000007b3: POP
000007b4: DUP2
000007b5: ADD
000007b6: SWAP1
000007b7: PUSH2 0x07c0
000007ba: SWAP2
000007bb: SWAP1
000007bc: PUSH2 0x2243
000007bf: JUMP
000007c0: JUMPDEST
000007c1: SWAP1
000007c2: POP
000007c3: PUSH2 0x07d6
000007c6: PUSH1 0x01
000007c8: PUSH1 0x01
000007ca: PUSH1 0xa0
000007cc: SHL
000007cd: SUB
000007ce: DUP7
000007cf: AND
000007d0: DUP6
000007d1: DUP4
000007d2: PUSH2 0x138b
000007d5: JUMP
000007d6: JUMPDEST
000007d7: PUSH1 0x40
000007d9: DUP1
000007da: MLOAD
000007db: PUSH1 0x01
000007dd: PUSH1 0x01
000007df: PUSH1 0xa0
000007e1: SHL
000007e2: SUB
000007e3: DUP1
000007e4: DUP9
000007e5: AND
000007e6: DUP3
000007e7: MSTORE
000007e8: DUP7
000007e9: AND
000007ea: PUSH1 0x20
000007ec: DUP3
000007ed: ADD
000007ee: MSTORE
000007ef: PUSH32 0x650580407a4a6781be5974ccbb4e76f8e86fd7da0b6a0eda265806d936bb9cc8
00000810: SWAP2
00000811: ADD
00000812: PUSH1 0x40
00000814: MLOAD
00000815: DUP1
00000816: SWAP2
00000817: SUB
00000818: SWAP1
00000819: LOG1
0000081a: POP
0000081b: POP
0000081c: POP
0000081d: POP
0000081e: POP
0000081f: JUMP
00000820: JUMPDEST
00000821: PUSH1 0x00
00000823: PUSH2 0x082c
00000826: DUP4
00000827: DUP4
00000828: PUSH2 0x1119
0000082b: JUMP
0000082c: JUMPDEST
0000082d: SWAP4
0000082e: SWAP3
0000082f: POP
00000830: POP
00000831: POP
00000832: JUMP
00000833: JUMPDEST
00000834: PUSH1 0x00
00000836: PUSH2 0x083e
00000839: DUP5
0000083a: PUSH2 0x13f3
0000083d: JUMP
0000083e: JUMPDEST
0000083f: PUSH2 0x0847
00000842: DUP4
00000843: PUSH2 0x13f3
00000846: JUMP
00000847: JUMPDEST
00000848: PUSH2 0x0852
0000084b: DUP5
0000084c: DUP5
0000084d: DUP5
0000084e: PUSH2 0x14aa
00000851: JUMP
00000852: JUMPDEST
00000853: SWAP5
00000854: SWAP4
00000855: POP
00000856: POP
00000857: POP
00000858: POP
00000859: JUMP
0000085a: JUMPDEST
0000085b: CALLER
0000085c: PUSH2 0x0864
0000085f: DUP2
00000860: PUSH2 0x13f3
00000863: JUMP
00000864: JUMPDEST
00000865: PUSH2 0x086d
00000868: DUP3
00000869: PUSH2 0x14c3
0000086c: JUMP
0000086d: JUMPDEST
0000086e: POP
0000086f: POP
00000870: JUMP
00000871: JUMPDEST
00000872: PUSH1 0x00
00000874: CALLER
00000875: PUSH2 0x0634
00000878: DUP2
00000879: DUP6
0000087a: DUP6
0000087b: PUSH2 0x0884
0000087e: DUP4
0000087f: DUP4
00000880: PUSH2 0x102b
00000883: JUMP
00000884: JUMPDEST
00000885: PUSH2 0x088e
00000888: SWAP2
00000889: SWAP1
0000088a: PUSH2 0x225c
0000088d: JUMP
0000088e: JUMPDEST
0000088f: PUSH2 0x11b2
00000892: JUMP
00000893: JUMPDEST
00000894: CALLER
00000895: PUSH2 0x089d
00000898: DUP2
00000899: PUSH2 0x13f3
0000089c: JUMP
0000089d: JUMPDEST
0000089e: PUSH2 0x08a5
000008a1: PUSH2 0x151c
000008a4: JUMP
000008a5: JUMPDEST
000008a6: POP
000008a7: JUMP
000008a8: JUMPDEST
000008a9: PUSH2 0x08b0
000008ac: PUSH2 0x12d6
000008af: JUMP
000008b0: JUMPDEST
000008b1: PUSH1 0x01
000008b3: PUSH1 0x01
000008b5: PUSH1 0xa0
000008b7: SHL
000008b8: SUB
000008b9: DUP3
000008ba: AND
000008bb: PUSH1 0x00
000008bd: DUP2
000008be: DUP2
000008bf: MSTORE
000008c0: PUSH1 0x99
000008c2: PUSH1 0x20
000008c4: SWAP1
000008c5: DUP2
000008c6: MSTORE
000008c7: PUSH1 0x40
000008c9: SWAP2
000008ca: DUP3
000008cb: SWAP1
000008cc: KECCAK256
000008cd: DUP1
000008ce: SLOAD
000008cf: PUSH1 0xff
000008d1: NOT
000008d2: AND
000008d3: DUP6
000008d4: ISZERO
000008d5: ISZERO
000008d6: SWAP1
000008d7: DUP2
000008d8: OR
000008d9: SWAP1
000008da: SWAP2
000008db: SSTORE
000008dc: DUP3
000008dd: MLOAD
000008de: SWAP4
000008df: DUP5
000008e0: MSTORE
000008e1: SWAP1
000008e2: DUP4
000008e3: ADD
000008e4: MSTORE
000008e5: PUSH32 0xf6019ec0a78d156d249a1ec7579e2321f6ac7521d6e1d2eacf90ba4a184dcceb
00000906: SWAP2
00000907: ADD
00000908: JUMPDEST
00000909: PUSH1 0x40
0000090b: MLOAD
0000090c: DUP1
0000090d: SWAP2
0000090e: SUB
0000090f: SWAP1
00000910: LOG1
00000911: POP
00000912: POP
00000913: JUMP
00000914: JUMPDEST
00000915: PUSH2 0x091c
00000918: PUSH2 0x12d6
0000091b: JUMP
0000091c: JUMPDEST
0000091d: PUSH1 0x97
0000091f: SLOAD
00000920: PUSH1 0x01
00000922: PUSH1 0x01
00000924: PUSH1 0xa0
00000926: SHL
00000927: SUB
00000928: SWAP1
00000929: DUP2
0000092a: AND
0000092b: SWAP1
0000092c: DUP4
0000092d: AND
0000092e: SUB
0000092f: PUSH2 0x094b
00000932: JUMPI
00000933: PUSH1 0x40
00000935: MLOAD
00000936: PUSH4 0x7640a2f7
0000093b: PUSH1 0xe0
0000093d: SHL
0000093e: DUP2
0000093f: MSTORE
00000940: PUSH1 0x04
00000942: ADD
00000943: PUSH1 0x40
00000945: MLOAD
00000946: DUP1
00000947: SWAP2
00000948: SUB
00000949: SWAP1
0000094a: REVERT
0000094b: JUMPDEST
0000094c: PUSH2 0x0954
0000094f: DUP3
00000950: PUSH2 0x1330
00000953: JUMP
00000954: JUMPDEST
00000955: ISZERO
00000956: PUSH2 0x097d
00000959: JUMPI
0000095a: PUSH1 0x40
0000095c: MLOAD
0000095d: PUSH4 0xb4506ab1
00000962: PUSH1 0xe0
00000964: SHL
00000965: DUP2
00000966: MSTORE
00000967: PUSH1 0x01
00000969: PUSH1 0x01
0000096b: PUSH1 0xa0
0000096d: SHL
0000096e: SUB
0000096f: DUP4
00000970: AND
00000971: PUSH1 0x04
00000973: DUP3
00000974: ADD
00000975: MSTORE
00000976: PUSH1 0x24
00000978: ADD
00000979: PUSH2 0x0675
0000097c: JUMP
0000097d: JUMPDEST
0000097e: PUSH1 0x40
00000980: MLOAD
00000981: PUSH4 0x70a08231
00000986: PUSH1 0xe0
00000988: SHL
00000989: DUP2
0000098a: MSTORE
0000098b: ADDRESS
0000098c: PUSH1 0x04
0000098e: DUP3
0000098f: ADD
00000990: MSTORE
00000991: PUSH1 0x00
00000993: SWAP1
00000994: PUSH1 0x01
00000996: PUSH1 0x01
00000998: PUSH1 0xa0
0000099a: SHL
0000099b: SUB
0000099c: DUP5
0000099d: AND
0000099e: SWAP1
0000099f: PUSH4 0x70a08231
000009a4: SWAP1
000009a5: PUSH1 0x24
000009a7: ADD
000009a8: PUSH1 0x20
000009aa: PUSH1 0x40
000009ac: MLOAD
000009ad: DUP1
000009ae: DUP4
000009af: SUB
000009b0: DUP2
000009b1: DUP7
000009b2: GAS
000009b3: STATICCALL
000009b4: ISZERO
000009b5: DUP1
000009b6: ISZERO
000009b7: PUSH2 0x09c4
000009ba: JUMPI
000009bb: RETURNDATASIZE
000009bc: PUSH1 0x00
000009be: DUP1
000009bf: RETURNDATACOPY
000009c0: RETURNDATASIZE
000009c1: PUSH1 0x00
000009c3: REVERT
000009c4: JUMPDEST
000009c5: POP
000009c6: POP
000009c7: POP
000009c8: POP
000009c9: PUSH1 0x40
000009cb: MLOAD
000009cc: RETURNDATASIZE
000009cd: PUSH1 0x1f
000009cf: NOT
000009d0: PUSH1 0x1f
000009d2: DUP3
000009d3: ADD
000009d4: AND
000009d5: DUP3
000009d6: ADD
000009d7: DUP1
000009d8: PUSH1 0x40
000009da: MSTORE
000009db: POP
000009dc: DUP2
000009dd: ADD
000009de: SWAP1
000009df: PUSH2 0x09e8
000009e2: SWAP2
000009e3: SWAP1
000009e4: PUSH2 0x2243
000009e7: JUMP
000009e8: JUMPDEST
000009e9: SWAP1
000009ea: POP
000009eb: PUSH2 0x09fe
000009ee: PUSH1 0x01
000009f0: PUSH1 0x01
000009f2: PUSH1 0xa0
000009f4: SHL
000009f5: SUB
000009f6: DUP5
000009f7: AND
000009f8: DUP4
000009f9: DUP4
000009fa: PUSH2 0x138b
000009fd: JUMP
000009fe: JUMPDEST
000009ff: PUSH1 0x40
00000a01: DUP1
00000a02: MLOAD
00000a03: PUSH1 0x01
00000a05: PUSH1 0x01
00000a07: PUSH1 0xa0
00000a09: SHL
00000a0a: SUB
00000a0b: DUP1
00000a0c: DUP7
00000a0d: AND
00000a0e: DUP3
00000a0f: MSTORE
00000a10: DUP5
00000a11: AND
00000a12: PUSH1 0x20
00000a14: DUP3
00000a15: ADD
00000a16: MSTORE
00000a17: PUSH32 0xbfad076d6a1d05fa5f54965cabe504bdca88c511c84830d3ae5e52be23632dd0
00000a38: SWAP2
00000a39: ADD
00000a3a: PUSH1 0x40
00000a3c: MLOAD
00000a3d: DUP1
00000a3e: SWAP2
00000a3f: SUB
00000a40: SWAP1
00000a41: LOG1
00000a42: POP
00000a43: POP
00000a44: POP
00000a45: JUMP
00000a46: JUMPDEST
00000a47: PUSH2 0x0a4e
00000a4a: PUSH2 0x12d6
00000a4d: JUMP
00000a4e: JUMPDEST
00000a4f: PUSH2 0x0a58
00000a52: PUSH1 0x00
00000a54: PUSH2 0x15e1
00000a57: JUMP
00000a58: JUMPDEST
00000a59: JUMP
00000a5a: JUMPDEST
00000a5b: DUP6
00000a5c: PUSH2 0x0a64
00000a5f: DUP2
00000a60: PUSH2 0x13f3
00000a63: JUMP
00000a64: JUMPDEST
00000a65: PUSH1 0x97
00000a67: SLOAD
00000a68: PUSH1 0x40
00000a6a: MLOAD
00000a6b: PUSH4 0xd505accf
00000a70: PUSH1 0xe0
00000a72: SHL
00000a73: DUP2
00000a74: MSTORE
00000a75: PUSH1 0x01
00000a77: PUSH1 0x01
00000a79: PUSH1 0xa0
00000a7b: SHL
00000a7c: SUB
00000a7d: DUP10
00000a7e: DUP2
00000a7f: AND
00000a80: PUSH1 0x04
00000a82: DUP4
00000a83: ADD
00000a84: MSTORE
00000a85: ADDRESS
00000a86: PUSH1 0x24
00000a88: DUP4
00000a89: ADD
00000a8a: MSTORE
00000a8b: PUSH1 0x44
00000a8d: DUP3
00000a8e: ADD
00000a8f: DUP10
00000a90: SWAP1
00000a91: MSTORE
00000a92: PUSH1 0x64
00000a94: DUP3
00000a95: ADD
00000a96: DUP9
00000a97: SWAP1
00000a98: MSTORE
00000a99: PUSH1 0xff
00000a9b: DUP8
00000a9c: AND
00000a9d: PUSH1 0x84
00000a9f: DUP4
00000aa0: ADD
00000aa1: MSTORE
00000aa2: PUSH1 0xa4
00000aa4: DUP3
00000aa5: ADD
00000aa6: DUP7
00000aa7: SWAP1
00000aa8: MSTORE
00000aa9: PUSH1 0xc4
00000aab: DUP3
00000aac: ADD
00000aad: DUP6
00000aae: SWAP1
00000aaf: MSTORE
00000ab0: SWAP1
00000ab1: SWAP2
00000ab2: AND
00000ab3: SWAP1
00000ab4: PUSH4 0xd505accf
00000ab9: SWAP1
00000aba: PUSH1 0xe4
00000abc: ADD
00000abd: PUSH1 0x00
00000abf: PUSH1 0x40
00000ac1: MLOAD
00000ac2: DUP1
00000ac3: DUP4
00000ac4: SUB
00000ac5: DUP2
00000ac6: PUSH1 0x00
00000ac8: DUP8
00000ac9: DUP1
00000aca: EXTCODESIZE
00000acb: ISZERO
00000acc: DUP1
00000acd: ISZERO
00000ace: PUSH2 0x0ad6
00000ad1: JUMPI
00000ad2: PUSH1 0x00
00000ad4: DUP1
00000ad5: REVERT
00000ad6: JUMPDEST
00000ad7: POP
00000ad8: GAS
00000ad9: CALL
00000ada: ISZERO
00000adb: DUP1
00000adc: ISZERO
00000add: PUSH2 0x0aea
00000ae0: JUMPI
00000ae1: RETURNDATASIZE
00000ae2: PUSH1 0x00
00000ae4: DUP1
00000ae5: RETURNDATACOPY
00000ae6: RETURNDATASIZE
00000ae7: PUSH1 0x00
00000ae9: REVERT
00000aea: JUMPDEST
00000aeb: POP
00000aec: POP
00000aed: POP
00000aee: POP
00000aef: PUSH2 0x0af8
00000af2: DUP8
00000af3: DUP8
00000af4: PUSH2 0x1633
00000af7: JUMP
00000af8: JUMPDEST
00000af9: POP
00000afa: POP
00000afb: POP
00000afc: POP
00000afd: POP
00000afe: POP
00000aff: POP
00000b00: JUMP
00000b01: JUMPDEST
00000b02: PUSH1 0x00
00000b04: DUP1
00000b05: PUSH1 0x00
00000b07: DUP1
00000b08: PUSH1 0x00
00000b0a: PUSH1 0x98
00000b0c: DUP7
00000b0d: DUP2
00000b0e: SLOAD
00000b0f: DUP2
00000b10: LT
00000b11: PUSH2 0x0b1c
00000b14: JUMPI
00000b15: PUSH2 0x0b1c
00000b18: PUSH2 0x21ba
00000b1b: JUMP
00000b1c: JUMPDEST
00000b1d: PUSH1 0x00
00000b1f: SWAP2
00000b20: DUP3
00000b21: MSTORE
00000b22: PUSH1 0x20
00000b24: DUP3
00000b25: KECCAK256
00000b26: ADD
00000b27: SLOAD
00000b28: PUSH1 0x01
00000b2a: PUSH1 0x01
00000b2c: PUSH1 0xa0
00000b2e: SHL
00000b2f: SUB
00000b30: AND
00000b31: SWAP6
00000b32: POP
00000b33: PUSH2 0x0b3b
00000b36: DUP7
00000b37: PUSH2 0x168e
00000b3a: JUMP
00000b3b: JUMPDEST
00000b3c: DUP1
00000b3d: SLOAD
00000b3e: PUSH1 0x01
00000b40: DUP3
00000b41: ADD
00000b42: SLOAD
00000b43: PUSH1 0x02
00000b45: DUP4
00000b46: ADD
00000b47: SLOAD
00000b48: PUSH1 0x03
00000b4a: SWAP1
00000b4b: SWAP4
00000b4c: ADD
00000b4d: SLOAD
00000b4e: SWAP9
00000b4f: SWAP11
00000b50: SWAP2
00000b51: SWAP10
00000b52: POP
00000b53: SWAP8
00000b54: SWAP2
00000b55: SWAP7
00000b56: POP
00000b57: SWAP1
00000b58: SWAP5
00000b59: POP
00000b5a: SWAP3
00000b5b: POP
00000b5c: POP
00000b5d: POP
00000b5e: JUMP
00000b5f: JUMPDEST
00000b60: PUSH1 0x60
00000b62: PUSH1 0x37
00000b64: DUP1
00000b65: SLOAD
00000b66: PUSH2 0x05a3
00000b69: SWAP1
00000b6a: PUSH2 0x21d0
00000b6d: JUMP
00000b6e: JUMPDEST
00000b6f: CALLER
00000b70: PUSH1 0x00
00000b72: SWAP1
00000b73: DUP2
00000b74: MSTORE
00000b75: PUSH1 0x99
00000b77: PUSH1 0x20
00000b79: MSTORE
00000b7a: PUSH1 0x40
00000b7c: SWAP1
00000b7d: KECCAK256
00000b7e: SLOAD
00000b7f: PUSH1 0xff
00000b81: AND
00000b82: PUSH2 0x0ba0
00000b85: JUMPI
00000b86: PUSH1 0x40
00000b88: MLOAD
00000b89: PUSH4 0x2a19e833
00000b8e: PUSH1 0xe0
00000b90: SHL
00000b91: DUP2
00000b92: MSTORE
00000b93: CALLER
00000b94: PUSH1 0x04
00000b96: DUP3
00000b97: ADD
00000b98: MSTORE
00000b99: PUSH1 0x24
00000b9b: ADD
00000b9c: PUSH2 0x0675
00000b9f: JUMP
00000ba0: JUMPDEST
00000ba1: PUSH1 0x00
00000ba3: PUSH2 0x0bab
00000ba6: DUP2
00000ba7: PUSH2 0x13f3
00000baa: JUMP
00000bab: JUMPDEST
00000bac: PUSH1 0x97
00000bae: SLOAD
00000baf: PUSH1 0x01
00000bb1: PUSH1 0x01
00000bb3: PUSH1 0xa0
00000bb5: SHL
00000bb6: SUB
00000bb7: SWAP1
00000bb8: DUP2
00000bb9: AND
00000bba: SWAP1
00000bbb: DUP6
00000bbc: AND
00000bbd: SUB
00000bbe: PUSH2 0x0bda
00000bc1: JUMPI
00000bc2: PUSH1 0x40
00000bc4: MLOAD
00000bc5: PUSH4 0x29ff3c3d
00000bca: PUSH1 0xe2
00000bcc: SHL
00000bcd: DUP2
00000bce: MSTORE
00000bcf: PUSH1 0x04
00000bd1: ADD
00000bd2: PUSH1 0x40
00000bd4: MLOAD
00000bd5: DUP1
00000bd6: SWAP2
00000bd7: SUB
00000bd8: SWAP1
00000bd9: REVERT
00000bda: JUMPDEST
00000bdb: PUSH2 0x0e10
00000bde: DUP3
00000bdf: LT
00000be0: ISZERO
00000be1: PUSH2 0x0c00
00000be4: JUMPI
00000be5: PUSH1 0x40
00000be7: MLOAD
00000be8: PUSH4 0x361ef673
00000bed: PUSH1 0xe2
00000bef: SHL
00000bf0: DUP2
00000bf1: MSTORE
00000bf2: PUSH1 0x04
00000bf4: DUP2
00000bf5: ADD
00000bf6: DUP4
00000bf7: SWAP1
00000bf8: MSTORE
00000bf9: PUSH1 0x24
00000bfb: ADD
00000bfc: PUSH2 0x0675
00000bff: JUMP
00000c00: JUMPDEST
00000c01: PUSH2 0x0c09
00000c04: DUP5
00000c05: PUSH2 0x1330
00000c08: JUMP
00000c09: JUMPDEST
00000c0a: PUSH2 0x0d21
00000c0d: JUMPI
00000c0e: PUSH1 0x40
00000c10: MLOAD
00000c11: PUSH12 0xffffffffffffffffffffffff
00000c1e: NOT
00000c1f: PUSH1 0x60
00000c21: DUP7
00000c22: SWAP1
00000c23: SHL
00000c24: AND
00000c25: PUSH1 0x20
00000c27: DUP3
00000c28: ADD
00000c29: MSTORE
00000c2a: TIMESTAMP
00000c2b: PUSH1 0x34
00000c2d: DUP3
00000c2e: ADD
00000c2f: MSTORE
00000c30: PUSH1 0x54
00000c32: ADD
00000c33: PUSH1 0x40
00000c35: DUP1
00000c36: MLOAD
00000c37: PUSH1 0x1f
00000c39: NOT
00000c3a: DUP2
00000c3b: DUP5
00000c3c: SUB
00000c3d: ADD
00000c3e: DUP2
00000c3f: MSTORE
00000c40: SWAP2
00000c41: DUP2
00000c42: MSTORE
00000c43: DUP2
00000c44: MLOAD
00000c45: PUSH1 0x20
00000c47: SWAP3
00000c48: DUP4
00000c49: ADD
00000c4a: KECCAK256
00000c4b: PUSH1 0x01
00000c4d: PUSH1 0x01
00000c4f: PUSH1 0xa0
00000c51: SHL
00000c52: SUB
00000c53: DUP8
00000c54: AND
00000c55: PUSH1 0x00
00000c57: SWAP1
00000c58: DUP2
00000c59: MSTORE
00000c5a: PUSH1 0x9c
00000c5c: SWAP1
00000c5d: SWAP4
00000c5e: MSTORE
00000c5f: SWAP2
00000c60: KECCAK256
00000c61: SSTORE
00000c62: PUSH1 0x98
00000c64: SLOAD
00000c65: PUSH1 0x9a
00000c67: SLOAD
00000c68: PUSH2 0x0c72
00000c6b: DUP3
00000c6c: PUSH1 0x01
00000c6e: PUSH2 0x225c
00000c71: JUMP
00000c72: JUMPDEST
00000c73: GT
00000c74: ISZERO
00000c75: PUSH2 0x0c91
00000c78: JUMPI
00000c79: PUSH1 0x40
00000c7b: MLOAD
00000c7c: PUSH4 0x428680e1
00000c81: PUSH1 0xe1
00000c83: SHL
00000c84: DUP2
00000c85: MSTORE
00000c86: PUSH1 0x04
00000c88: ADD
00000c89: PUSH1 0x40
00000c8b: MLOAD
00000c8c: DUP1
00000c8d: SWAP2
00000c8e: SUB
00000c8f: SWAP1
00000c90: REVERT
00000c91: JUMPDEST
00000c92: PUSH1 0x01
00000c94: PUSH1 0x01
00000c96: PUSH1 0xa0
00000c98: SHL
00000c99: SUB
00000c9a: DUP6
00000c9b: AND
00000c9c: PUSH1 0x00
00000c9e: DUP2
00000c9f: DUP2
00000ca0: MSTORE
00000ca1: PUSH1 0x9b
00000ca3: PUSH1 0x20
00000ca5: SWAP1
00000ca6: DUP2
00000ca7: MSTORE
00000ca8: PUSH1 0x40
00000caa: DUP1
00000cab: DUP4
00000cac: KECCAK256
00000cad: DUP6
00000cae: SWAP1
00000caf: SSTORE
00000cb0: PUSH1 0x98
00000cb2: DUP1
00000cb3: SLOAD
00000cb4: PUSH1 0x01
00000cb6: DUP2
00000cb7: ADD
00000cb8: DUP3
00000cb9: SSTORE
00000cba: SWAP4
00000cbb: MSTORE
00000cbc: PUSH32 0x2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d814
00000cdd: SWAP1
00000cde: SWAP3
00000cdf: ADD
00000ce0: DUP1
00000ce1: SLOAD
00000ce2: PUSH1 0x01
00000ce4: PUSH1 0x01
00000ce6: PUSH1 0xa0
00000ce8: SHL
00000ce9: SUB
00000cea: NOT
00000ceb: AND
00000cec: DUP5
00000ced: OR
00000cee: SWAP1
00000cef: SSTORE
00000cf0: SWAP1
00000cf1: MLOAD
00000cf2: SWAP2
00000cf3: DUP3
00000cf4: MSTORE
00000cf5: PUSH32 0x1714865bf5baa84e3439536a013c87cfe030b4cd69f344a5f2a4877de3d517ce
00000d16: SWAP2
00000d17: ADD
00000d18: PUSH1 0x40
00000d1a: MLOAD
00000d1b: DUP1
00000d1c: SWAP2
00000d1d: SUB
00000d1e: SWAP1
00000d1f: LOG1
00000d20: POP
00000d21: JUMPDEST
00000d22: PUSH2 0x0d36
00000d25: PUSH1 0x01
00000d27: PUSH1 0x01
00000d29: PUSH1 0xa0
00000d2b: SHL
00000d2c: SUB
00000d2d: DUP6
00000d2e: AND
00000d2f: CALLER
00000d30: ADDRESS
00000d31: DUP7
00000d32: PUSH2 0x16b5
00000d35: JUMP
00000d36: JUMPDEST
00000d37: PUSH1 0x00
00000d39: PUSH2 0x0d41
00000d3c: DUP6
00000d3d: PUSH2 0x168e
00000d40: JUMP
00000d41: JUMPDEST
00000d42: SWAP1
00000d43: POP
00000d44: PUSH1 0x00
00000d46: DUP2
00000d47: PUSH1 0x00
00000d49: ADD
00000d4a: SLOAD
00000d4b: TIMESTAMP
00000d4c: LT
00000d4d: ISZERO
00000d4e: PUSH2 0x0d77
00000d51: JUMPI
00000d52: DUP2
00000d53: SLOAD
00000d54: PUSH1 0x00
00000d56: SWAP1
00000d57: PUSH2 0x0d61
00000d5a: SWAP1
00000d5b: TIMESTAMP
00000d5c: SWAP1
00000d5d: PUSH2 0x221a
00000d60: JUMP
00000d61: JUMPDEST
00000d62: SWAP1
00000d63: POP
00000d64: DUP3
00000d65: PUSH1 0x03
00000d67: ADD
00000d68: SLOAD
00000d69: DUP2
00000d6a: PUSH2 0x0d73
00000d6d: SWAP2
00000d6e: SWAP1
00000d6f: PUSH2 0x226f
00000d72: JUMP
00000d73: JUMPDEST
00000d74: SWAP2
00000d75: POP
00000d76: POP
00000d77: JUMPDEST
00000d78: DUP4
00000d79: PUSH2 0x0d82
00000d7c: DUP3
00000d7d: DUP8
00000d7e: PUSH2 0x225c
00000d81: JUMP
00000d82: JUMPDEST
00000d83: PUSH2 0x0d8c
00000d86: SWAP2
00000d87: SWAP1
00000d88: PUSH2 0x2286
00000d8b: JUMP
00000d8c: JUMPDEST
00000d8d: PUSH1 0x03
00000d8f: DUP4
00000d90: ADD
00000d91: SSTORE
00000d92: TIMESTAMP
00000d93: PUSH1 0x02
00000d95: DUP4
00000d96: ADD
00000d97: DUP2
00000d98: SWAP1
00000d99: SSTORE
00000d9a: PUSH2 0x0da4
00000d9d: SWAP1
00000d9e: DUP6
00000d9f: SWAP1
00000da0: PUSH2 0x225c
00000da3: JUMP
00000da4: JUMPDEST
00000da5: DUP3
00000da6: SSTORE
00000da7: PUSH1 0x01
00000da9: DUP3
00000daa: ADD
00000dab: DUP5
00000dac: SWAP1
00000dad: SSTORE
00000dae: PUSH1 0x40
00000db0: DUP1
00000db1: MLOAD
00000db2: DUP7
00000db3: DUP2
00000db4: MSTORE
00000db5: PUSH1 0x20
00000db7: DUP2
00000db8: ADD
00000db9: DUP7
00000dba: SWAP1
00000dbb: MSTORE
00000dbc: PUSH1 0x01
00000dbe: PUSH1 0x01
00000dc0: PUSH1 0xa0
00000dc2: SHL
00000dc3: SUB
00000dc4: DUP9
00000dc5: AND
00000dc6: SWAP2
00000dc7: PUSH32 0x3c0f5c48b0ffa2c570c1a0f4fbf7b0f8982213afff9eb42cd258ead865cf3c9d
00000de8: SWAP2
00000de9: ADD
00000dea: PUSH1 0x40
00000dec: MLOAD
00000ded: DUP1
00000dee: SWAP2
00000def: SUB
00000df0: SWAP1
00000df1: LOG2
00000df2: POP
00000df3: POP
00000df4: POP
00000df5: POP
00000df6: POP
00000df7: POP
00000df8: JUMP
00000df9: JUMPDEST
00000dfa: PUSH1 0x00
00000dfc: CALLER
00000dfd: DUP2
00000dfe: PUSH2 0x0e07
00000e01: DUP3
00000e02: DUP7
00000e03: PUSH2 0x102b
00000e06: JUMP
00000e07: JUMPDEST
00000e08: SWAP1
00000e09: POP
00000e0a: DUP4
00000e0b: DUP2
00000e0c: LT
00000e0d: ISZERO
00000e0e: PUSH2 0x0e67
00000e11: JUMPI
00000e12: PUSH1 0x40
00000e14: MLOAD
00000e15: PUSH3 0x461bcd
00000e19: PUSH1 0xe5
00000e1b: SHL
00000e1c: DUP2
00000e1d: MSTORE
00000e1e: PUSH1 0x20
00000e20: PUSH1 0x04
00000e22: DUP3
00000e23: ADD
00000e24: MSTORE
00000e25: PUSH1 0x25
00000e27: PUSH1 0x24
00000e29: DUP3
00000e2a: ADD
00000e2b: MSTORE
00000e2c: PUSH32 0x45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77
00000e4d: PUSH1 0x44
00000e4f: DUP3
00000e50: ADD
00000e51: MSTORE
00000e52: PUSH5 0x207a65726f
00000e58: PUSH1 0xd8
00000e5a: SHL
00000e5b: PUSH1 0x64
00000e5d: DUP3
00000e5e: ADD
00000e5f: MSTORE
00000e60: PUSH1 0x84
00000e62: ADD
00000e63: PUSH2 0x0675
00000e66: JUMP
00000e67: JUMPDEST
00000e68: PUSH2 0x0e74
00000e6b: DUP3
00000e6c: DUP7
00000e6d: DUP7
00000e6e: DUP5
00000e6f: SUB
00000e70: PUSH2 0x11b2
00000e73: JUMP
00000e74: JUMPDEST
00000e75: POP
00000e76: PUSH1 0x01
00000e78: SWAP5
00000e79: SWAP4
00000e7a: POP
00000e7b: POP
00000e7c: POP
00000e7d: POP
00000e7e: JUMP
00000e7f: JUMPDEST
00000e80: CALLER
00000e81: PUSH2 0x0e89
00000e84: DUP2
00000e85: PUSH2 0x13f3
00000e88: JUMP
00000e89: JUMPDEST
00000e8a: PUSH2 0x086d
00000e8d: CALLER
00000e8e: DUP4
00000e8f: PUSH2 0x1633
00000e92: JUMP
00000e93: JUMPDEST
00000e94: PUSH1 0x00
00000e96: PUSH2 0x0e9e
00000e99: CALLER
00000e9a: PUSH2 0x13f3
00000e9d: JUMP
00000e9e: JUMPDEST
00000e9f: PUSH2 0x0ea7
00000ea2: DUP4
00000ea3: PUSH2 0x13f3
00000ea6: JUMP
00000ea7: JUMPDEST
00000ea8: PUSH2 0x082c
00000eab: DUP4
00000eac: DUP4
00000ead: PUSH2 0x16f3
00000eb0: JUMP
00000eb1: JUMPDEST
00000eb2: PUSH1 0x00
00000eb4: SLOAD
00000eb5: PUSH2 0x0100
00000eb8: SWAP1
00000eb9: DIV
00000eba: PUSH1 0xff
00000ebc: AND
00000ebd: ISZERO
00000ebe: DUP1
00000ebf: DUP1
00000ec0: ISZERO
00000ec1: PUSH2 0x0ed1
00000ec4: JUMPI
00000ec5: POP
00000ec6: PUSH1 0x00
00000ec8: SLOAD
00000ec9: PUSH1 0x01
00000ecb: PUSH1 0xff
00000ecd: SWAP1
00000ece: SWAP2
00000ecf: AND
00000ed0: LT
00000ed1: JUMPDEST
00000ed2: DUP1
00000ed3: PUSH2 0x0eeb
00000ed6: JUMPI
00000ed7: POP
00000ed8: ADDRESS
00000ed9: EXTCODESIZE
00000eda: ISZERO
00000edb: DUP1
00000edc: ISZERO
00000edd: PUSH2 0x0eeb
00000ee0: JUMPI
00000ee1: POP
00000ee2: PUSH1 0x00
00000ee4: SLOAD
00000ee5: PUSH1 0xff
00000ee7: AND
00000ee8: PUSH1 0x01
00000eea: EQ
00000eeb: JUMPDEST
00000eec: PUSH2 0x0f4e
00000eef: JUMPI
00000ef0: PUSH1 0x40
00000ef2: MLOAD
00000ef3: PUSH3 0x461bcd
00000ef7: PUSH1 0xe5
00000ef9: SHL
00000efa: DUP2
00000efb: MSTORE
00000efc: PUSH1 0x20
00000efe: PUSH1 0x04
00000f00: DUP3
00000f01: ADD
00000f02: MSTORE
00000f03: PUSH1 0x2e
00000f05: PUSH1 0x24
00000f07: DUP3
00000f08: ADD
00000f09: MSTORE
00000f0a: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561
00000f2b: PUSH1 0x44
00000f2d: DUP3
00000f2e: ADD
00000f2f: MSTORE
00000f30: PUSH14 0x191e481a5b9a5d1a585b1a5e9959
00000f3f: PUSH1 0x92
00000f41: SHL
00000f42: PUSH1 0x64
00000f44: DUP3
00000f45: ADD
00000f46: MSTORE
00000f47: PUSH1 0x84
00000f49: ADD
00000f4a: PUSH2 0x0675
00000f4d: JUMP
00000f4e: JUMPDEST
00000f4f: PUSH1 0x00
00000f51: DUP1
00000f52: SLOAD
00000f53: PUSH1 0xff
00000f55: NOT
00000f56: AND
00000f57: PUSH1 0x01
00000f59: OR
00000f5a: SWAP1
00000f5b: SSTORE
00000f5c: DUP1
00000f5d: ISZERO
00000f5e: PUSH2 0x0f71
00000f61: JUMPI
00000f62: PUSH1 0x00
00000f64: DUP1
00000f65: SLOAD
00000f66: PUSH2 0xff00
00000f69: NOT
00000f6a: AND
00000f6b: PUSH2 0x0100
00000f6e: OR
00000f6f: SWAP1
00000f70: SSTORE
00000f71: JUMPDEST
00000f72: PUSH2 0x0fc1
00000f75: PUSH1 0x40
00000f77: MLOAD
00000f78: DUP1
00000f79: PUSH1 0x40
00000f7b: ADD
00000f7c: PUSH1 0x40
00000f7e: MSTORE
00000f7f: DUP1
00000f80: PUSH1 0x11
00000f82: DUP2
00000f83: MSTORE
00000f84: PUSH1 0x20
00000f86: ADD
00000f87: PUSH17 0x109959599e4814995dd85c9908141bdbdb
00000f99: PUSH1 0x7a
00000f9b: SHL
00000f9c: DUP2
00000f9d: MSTORE
00000f9e: POP
00000f9f: PUSH1 0x40
00000fa1: MLOAD
00000fa2: DUP1
00000fa3: PUSH1 0x40
00000fa5: ADD
00000fa6: PUSH1 0x40
00000fa8: MSTORE
00000fa9: DUP1
00000faa: PUSH1 0x05
00000fac: DUP2
00000fad: MSTORE
00000fae: PUSH1 0x20
00000fb0: ADD
00000fb1: PUSH5 0x7242494649
00000fb7: PUSH1 0xd8
00000fb9: SHL
00000fba: DUP2
00000fbb: MSTORE
00000fbc: POP
00000fbd: PUSH2 0x1701
00000fc0: JUMP
00000fc1: JUMPDEST
00000fc2: PUSH2 0x0fc9
00000fc5: PUSH2 0x1732
00000fc8: JUMP
00000fc9: JUMPDEST
00000fca: PUSH1 0x97
00000fcc: DUP1
00000fcd: SLOAD
00000fce: PUSH1 0x01
00000fd0: PUSH1 0x01
00000fd2: PUSH1 0xa0
00000fd4: SHL
00000fd5: SUB
00000fd6: NOT
00000fd7: AND
00000fd8: PUSH1 0x01
00000fda: PUSH1 0x01
00000fdc: PUSH1 0xa0
00000fde: SHL
00000fdf: SUB
00000fe0: DUP5
00000fe1: AND
00000fe2: OR
00000fe3: SWAP1
00000fe4: SSTORE
00000fe5: PUSH1 0x64
00000fe7: PUSH1 0x9a
00000fe9: SSTORE
00000fea: DUP1
00000feb: ISZERO
00000fec: PUSH2 0x086d
00000fef: JUMPI
00000ff0: PUSH1 0x00
00000ff2: DUP1
00000ff3: SLOAD
00000ff4: PUSH2 0xff00
00000ff7: NOT
00000ff8: AND
00000ff9: SWAP1
00000ffa: SSTORE
00000ffb: PUSH1 0x40
00000ffd: MLOAD
00000ffe: PUSH1 0x01
00001000: DUP2
00001001: MSTORE
00001002: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498
00001023: SWAP1
00001024: PUSH1 0x20
00001026: ADD
00001027: PUSH2 0x0908
0000102a: JUMP
0000102b: JUMPDEST
0000102c: PUSH1 0x01
0000102e: PUSH1 0x01
00001030: PUSH1 0xa0
00001032: SHL
00001033: SUB
00001034: SWAP2
00001035: DUP3
00001036: AND
00001037: PUSH1 0x00
00001039: SWAP1
0000103a: DUP2
0000103b: MSTORE
0000103c: PUSH1 0x34
0000103e: PUSH1 0x20
00001040: SWAP1
00001041: DUP2
00001042: MSTORE
00001043: PUSH1 0x40
00001045: DUP1
00001046: DUP4
00001047: KECCAK256
00001048: SWAP4
00001049: SWAP1
0000104a: SWAP5
0000104b: AND
0000104c: DUP3
0000104d: MSTORE
0000104e: SWAP2
0000104f: SWAP1
00001050: SWAP2
00001051: MSTORE
00001052: KECCAK256
00001053: SLOAD
00001054: SWAP1
00001055: JUMP
00001056: JUMPDEST
00001057: CALLER
00001058: PUSH2 0x1060
0000105b: DUP2
0000105c: PUSH2 0x13f3
0000105f: JUMP
00001060: JUMPDEST
00001061: CALLER
00001062: PUSH1 0x00
00001064: SWAP1
00001065: DUP2
00001066: MSTORE
00001067: PUSH1 0x33
00001069: PUSH1 0x20
0000106b: MSTORE
0000106c: PUSH1 0x40
0000106e: SWAP1
0000106f: KECCAK256
00001070: SLOAD
00001071: PUSH2 0x089d
00001074: SWAP1
00001075: PUSH2 0x14c3
00001078: JUMP
00001079: JUMPDEST
0000107a: PUSH2 0x1081
0000107d: PUSH2 0x12d6
00001080: JUMP
00001081: JUMPDEST
00001082: PUSH1 0x01
00001084: PUSH1 0x01
00001086: PUSH1 0xa0
00001088: SHL
00001089: SUB
0000108a: DUP2
0000108b: AND
0000108c: PUSH2 0x10e6
0000108f: JUMPI
00001090: PUSH1 0x40
00001092: MLOAD
00001093: PUSH3 0x461bcd
00001097: PUSH1 0xe5
00001099: SHL
0000109a: DUP2
0000109b: MSTORE
0000109c: PUSH1 0x20
0000109e: PUSH1 0x04
000010a0: DUP3
000010a1: ADD
000010a2: MSTORE
000010a3: PUSH1 0x26
000010a5: PUSH1 0x24
000010a7: DUP3
000010a8: ADD
000010a9: MSTORE
000010aa: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061
000010cb: PUSH1 0x44
000010cd: DUP3
000010ce: ADD
000010cf: MSTORE
000010d0: PUSH6 0x646472657373
000010d7: PUSH1 0xd0
000010d9: SHL
000010da: PUSH1 0x64
000010dc: DUP3
000010dd: ADD
000010de: MSTORE
000010df: PUSH1 0x84
000010e1: ADD
000010e2: PUSH2 0x0675
000010e5: JUMP
000010e6: JUMPDEST
000010e7: PUSH2 0x08a5
000010ea: DUP2
000010eb: PUSH2 0x15e1
000010ee: JUMP
000010ef: JUMPDEST
000010f0: PUSH1 0x98
000010f2: DUP2
000010f3: DUP2
000010f4: SLOAD
000010f5: DUP2
000010f6: LT
000010f7: PUSH2 0x10ff
000010fa: JUMPI
000010fb: PUSH1 0x00
000010fd: DUP1
000010fe: REVERT
000010ff: JUMPDEST
00001100: PUSH1 0x00
00001102: SWAP2
00001103: DUP3
00001104: MSTORE
00001105: PUSH1 0x20
00001107: SWAP1
00001108: SWAP2
00001109: KECCAK256
0000110a: ADD
0000110b: SLOAD
0000110c: PUSH1 0x01
0000110e: PUSH1 0x01
00001110: PUSH1 0xa0
00001112: SHL
00001113: SUB
00001114: AND
00001115: SWAP1
00001116: POP
00001117: DUP2
00001118: JUMP
00001119: JUMPDEST
0000111a: PUSH1 0x00
0000111c: DUP1
0000111d: PUSH2 0x1125
00001120: DUP4
00001121: PUSH2 0x168e
00001124: JUMP
00001125: JUMPDEST
00001126: PUSH1 0x01
00001128: PUSH1 0x01
0000112a: PUSH1 0xa0
0000112c: SHL
0000112d: SUB
0000112e: DUP6
0000112f: AND
00001130: PUSH1 0x00
00001132: SWAP1
00001133: DUP2
00001134: MSTORE
00001135: PUSH1 0x05
00001137: DUP3
00001138: ADD
00001139: PUSH1 0x20
0000113b: MSTORE
0000113c: PUSH1 0x40
0000113e: SWAP1
0000113f: KECCAK256
00001140: SLOAD
00001141: SWAP1
00001142: SWAP2
00001143: POP
00001144: PUSH8 0x0de0b6b3a7640000
0000114d: SWAP1
0000114e: PUSH2 0x1156
00001151: DUP6
00001152: PUSH2 0x1761
00001155: JUMP
00001156: JUMPDEST
00001157: PUSH2 0x1160
0000115a: SWAP2
0000115b: SWAP1
0000115c: PUSH2 0x221a
0000115f: JUMP
00001160: JUMPDEST
00001161: PUSH1 0x01
00001163: PUSH1 0x01
00001165: PUSH1 0xa0
00001167: SHL
00001168: SUB
00001169: DUP7
0000116a: AND
0000116b: PUSH1 0x00
0000116d: SWAP1
0000116e: DUP2
0000116f: MSTORE
00001170: PUSH1 0x33
00001172: PUSH1 0x20
00001174: MSTORE
00001175: PUSH1 0x40
00001177: SWAP1
00001178: KECCAK256
00001179: SLOAD
0000117a: PUSH2 0x1183
0000117d: SWAP2
0000117e: SWAP1
0000117f: PUSH2 0x226f
00001182: JUMP
00001183: JUMPDEST
00001184: PUSH2 0x118d
00001187: SWAP2
00001188: SWAP1
00001189: PUSH2 0x2286
0000118c: JUMP
0000118d: JUMPDEST
0000118e: PUSH1 0x01
00001190: PUSH1 0x01
00001192: PUSH1 0xa0
00001194: SHL
00001195: SUB
00001196: DUP6
00001197: AND
00001198: PUSH1 0x00
0000119a: SWAP1
0000119b: DUP2
0000119c: MSTORE
0000119d: PUSH1 0x06
0000119f: DUP4
000011a0: ADD
000011a1: PUSH1 0x20
000011a3: MSTORE
000011a4: PUSH1 0x40
000011a6: SWAP1
000011a7: KECCAK256
000011a8: SLOAD
000011a9: PUSH2 0x0852
000011ac: SWAP2
000011ad: SWAP1
000011ae: PUSH2 0x225c
000011b1: JUMP
000011b2: JUMPDEST
000011b3: PUSH1 0x01
000011b5: PUSH1 0x01
000011b7: PUSH1 0xa0
000011b9: SHL
000011ba: SUB
000011bb: DUP4
000011bc: AND
000011bd: PUSH2 0x1214
000011c0: JUMPI
000011c1: PUSH1 0x40
000011c3: MLOAD
000011c4: PUSH3 0x461bcd
000011c8: PUSH1 0xe5
000011ca: SHL
000011cb: DUP2
000011cc: MSTORE
000011cd: PUSH1 0x20
000011cf: PUSH1 0x04
000011d1: DUP3
000011d2: ADD
000011d3: MSTORE
000011d4: PUSH1 0x24
000011d6: DUP1
000011d7: DUP3
000011d8: ADD
000011d9: MSTORE
000011da: PUSH32 0x45524332303a20617070726f76652066726f6d20746865207a65726f20616464
000011fb: PUSH1 0x44
000011fd: DUP3
000011fe: ADD
000011ff: MSTORE
00001200: PUSH4 0x72657373
00001205: PUSH1 0xe0
00001207: SHL
00001208: PUSH1 0x64
0000120a: DUP3
0000120b: ADD
0000120c: MSTORE
0000120d: PUSH1 0x84
0000120f: ADD
00001210: PUSH2 0x0675
00001213: JUMP
00001214: JUMPDEST
00001215: PUSH1 0x01
00001217: PUSH1 0x01
00001219: PUSH1 0xa0
0000121b: SHL
0000121c: SUB
0000121d: DUP3
0000121e: AND
0000121f: PUSH2 0x1275
00001222: JUMPI
00001223: PUSH1 0x40
00001225: MLOAD
00001226: PUSH3 0x461bcd
0000122a: PUSH1 0xe5
0000122c: SHL
0000122d: DUP2
0000122e: MSTORE
0000122f: PUSH1 0x20
00001231: PUSH1 0x04
00001233: DUP3
00001234: ADD
00001235: MSTORE
00001236: PUSH1 0x22
00001238: PUSH1 0x24
0000123a: DUP3
0000123b: ADD
0000123c: MSTORE
0000123d: PUSH32 0x45524332303a20617070726f766520746f20746865207a65726f206164647265
0000125e: PUSH1 0x44
00001260: DUP3
00001261: ADD
00001262: MSTORE
00001263: PUSH2 0x7373
00001266: PUSH1 0xf0
00001268: SHL
00001269: PUSH1 0x64
0000126b: DUP3
0000126c: ADD
0000126d: MSTORE
0000126e: PUSH1 0x84
00001270: ADD
00001271: PUSH2 0x0675
00001274: JUMP
00001275: JUMPDEST
00001276: PUSH1 0x01
00001278: PUSH1 0x01
0000127a: PUSH1 0xa0
0000127c: SHL
0000127d: SUB
0000127e: DUP4
0000127f: DUP2
00001280: AND
00001281: PUSH1 0x00
00001283: DUP2
00001284: DUP2
00001285: MSTORE
00001286: PUSH1 0x34
00001288: PUSH1 0x20
0000128a: SWAP1
0000128b: DUP2
0000128c: MSTORE
0000128d: PUSH1 0x40
0000128f: DUP1
00001290: DUP4
00001291: KECCAK256
00001292: SWAP5
00001293: DUP8
00001294: AND
00001295: DUP1
00001296: DUP5
00001297: MSTORE
00001298: SWAP5
00001299: DUP3
0000129a: MSTORE
0000129b: SWAP2
0000129c: DUP3
0000129d: SWAP1
0000129e: KECCAK256
0000129f: DUP6
000012a0: SWAP1
000012a1: SSTORE
000012a2: SWAP1
000012a3: MLOAD
000012a4: DUP5
000012a5: DUP2
000012a6: MSTORE
000012a7: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
000012c8: SWAP2
000012c9: ADD
000012ca: PUSH1 0x40
000012cc: MLOAD
000012cd: DUP1
000012ce: SWAP2
000012cf: SUB
000012d0: SWAP1
000012d1: LOG3
000012d2: POP
000012d3: POP
000012d4: POP
000012d5: JUMP
000012d6: JUMPDEST
000012d7: PUSH1 0x65
000012d9: SLOAD
000012da: PUSH1 0x01
000012dc: PUSH1 0x01
000012de: PUSH1 0xa0
000012e0: SHL
000012e1: SUB
000012e2: AND
000012e3: CALLER
000012e4: EQ
000012e5: PUSH2 0x0a58
000012e8: JUMPI
000012e9: PUSH1 0x40
000012eb: MLOAD
000012ec: PUSH3 0x461bcd
000012f0: PUSH1 0xe5
000012f2: SHL
000012f3: DUP2
000012f4: MSTORE
000012f5: PUSH1 0x20
000012f7: PUSH1 0x04
000012f9: DUP3
000012fa: ADD
000012fb: DUP2
000012fc: SWAP1
000012fd: MSTORE
000012fe: PUSH1 0x24
00001300: DUP3
00001301: ADD
00001302: MSTORE
00001303: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00001324: PUSH1 0x44
00001326: DUP3
00001327: ADD
00001328: MSTORE
00001329: PUSH1 0x64
0000132b: ADD
0000132c: PUSH2 0x0675
0000132f: JUMP
00001330: JUMPDEST
00001331: PUSH1 0x98
00001333: SLOAD
00001334: PUSH1 0x00
00001336: SWAP1
00001337: ISZERO
00001338: PUSH2 0x1386
0000133b: JUMPI
0000133c: PUSH1 0x01
0000133e: PUSH1 0x01
00001340: PUSH1 0xa0
00001342: SHL
00001343: SUB
00001344: DUP3
00001345: AND
00001346: PUSH1 0x00
00001348: SWAP1
00001349: DUP2
0000134a: MSTORE
0000134b: PUSH1 0x9b
0000134d: PUSH1 0x20
0000134f: MSTORE
00001350: PUSH1 0x40
00001352: SWAP1
00001353: KECCAK256
00001354: SLOAD
00001355: PUSH1 0x98
00001357: DUP1
00001358: SLOAD
00001359: SWAP1
0000135a: SWAP2
0000135b: SWAP1
0000135c: DUP2
0000135d: LT
0000135e: PUSH2 0x1369
00001361: JUMPI
00001362: PUSH2 0x1369
00001365: PUSH2 0x21ba
00001368: JUMP
00001369: JUMPDEST
0000136a: PUSH1 0x00
0000136c: SWAP2
0000136d: DUP3
0000136e: MSTORE
0000136f: PUSH1 0x20
00001371: SWAP1
00001372: SWAP2
00001373: KECCAK256
00001374: ADD
00001375: SLOAD
00001376: PUSH1 0x01
00001378: PUSH1 0x01
0000137a: PUSH1 0xa0
0000137c: SHL
0000137d: SUB
0000137e: DUP4
0000137f: DUP2
00001380: AND
00001381: SWAP2
00001382: AND
00001383: EQ
00001384: SWAP1
00001385: POP
00001386: JUMPDEST
00001387: SWAP2
00001388: SWAP1
00001389: POP
0000138a: JUMP
0000138b: JUMPDEST
0000138c: PUSH1 0x40
0000138e: MLOAD
0000138f: PUSH1 0x01
00001391: PUSH1 0x01
00001393: PUSH1 0xa0
00001395: SHL
00001396: SUB
00001397: DUP4
00001398: AND
00001399: PUSH1 0x24
0000139b: DUP3
0000139c: ADD
0000139d: MSTORE
0000139e: PUSH1 0x44
000013a0: DUP2
000013a1: ADD
000013a2: DUP3
000013a3: SWAP1
000013a4: MSTORE
000013a5: PUSH2 0x13ee
000013a8: SWAP1
000013a9: DUP5
000013aa: SWAP1
000013ab: PUSH4 0xa9059cbb
000013b0: PUSH1 0xe0
000013b2: SHL
000013b3: SWAP1
000013b4: PUSH1 0x64
000013b6: ADD
000013b7: JUMPDEST
000013b8: PUSH1 0x40
000013ba: DUP1
000013bb: MLOAD
000013bc: PUSH1 0x1f
000013be: NOT
000013bf: DUP2
000013c0: DUP5
000013c1: SUB
000013c2: ADD
000013c3: DUP2
000013c4: MSTORE
000013c5: SWAP2
000013c6: SWAP1
000013c7: MSTORE
000013c8: PUSH1 0x20
000013ca: DUP2
000013cb: ADD
000013cc: DUP1
000013cd: MLOAD
000013ce: PUSH1 0x01
000013d0: PUSH1 0x01
000013d2: PUSH1 0xe0
000013d4: SHL
000013d5: SUB
000013d6: AND
000013d7: PUSH1 0x01
000013d9: PUSH1 0x01
000013db: PUSH1 0xe0
000013dd: SHL
000013de: SUB
000013df: NOT
000013e0: SWAP1
000013e1: SWAP4
000013e2: AND
000013e3: SWAP3
000013e4: SWAP1
000013e5: SWAP3
000013e6: OR
000013e7: SWAP1
000013e8: SWAP2
000013e9: MSTORE
000013ea: PUSH2 0x17eb
000013ed: JUMP
000013ee: JUMPDEST
000013ef: POP
000013f0: POP
000013f1: POP
000013f2: JUMP
000013f3: JUMPDEST
000013f4: PUSH1 0x98
000013f6: SLOAD
000013f7: PUSH1 0x00
000013f9: JUMPDEST
000013fa: DUP2
000013fb: DUP2
000013fc: LT
000013fd: ISZERO
000013fe: PUSH2 0x13ee
00001401: JUMPI
00001402: PUSH1 0x00
00001404: PUSH1 0x98
00001406: DUP3
00001407: DUP2
00001408: SLOAD
00001409: DUP2
0000140a: LT
0000140b: PUSH2 0x1416
0000140e: JUMPI
0000140f: PUSH2 0x1416
00001412: PUSH2 0x21ba
00001415: JUMP
00001416: JUMPDEST
00001417: PUSH1 0x00
00001419: SWAP2
0000141a: DUP3
0000141b: MSTORE
0000141c: PUSH1 0x20
0000141e: DUP3
0000141f: KECCAK256
00001420: ADD
00001421: SLOAD
00001422: PUSH1 0x01
00001424: PUSH1 0x01
00001426: PUSH1 0xa0
00001428: SHL
00001429: SUB
0000142a: AND
0000142b: SWAP2
0000142c: POP
0000142d: PUSH2 0x1435
00001430: DUP3
00001431: PUSH2 0x168e
00001434: JUMP
00001435: JUMPDEST
00001436: SWAP1
00001437: POP
00001438: PUSH2 0x1440
0000143b: DUP3
0000143c: PUSH2 0x1761
0000143f: JUMP
00001440: JUMPDEST
00001441: PUSH1 0x04
00001443: DUP3
00001444: ADD
00001445: SSTORE
00001446: DUP1
00001447: SLOAD
00001448: PUSH2 0x1450
0000144b: SWAP1
0000144c: PUSH2 0x18c0
0000144f: JUMP
00001450: JUMPDEST
00001451: PUSH1 0x02
00001453: DUP3
00001454: ADD
00001455: SSTORE
00001456: PUSH1 0x01
00001458: PUSH1 0x01
0000145a: PUSH1 0xa0
0000145c: SHL
0000145d: SUB
0000145e: DUP6
0000145f: AND
00001460: ISZERO
00001461: PUSH2 0x14a0
00001464: JUMPI
00001465: PUSH2 0x146e
00001468: DUP6
00001469: DUP4
0000146a: PUSH2 0x1119
0000146d: JUMP
0000146e: JUMPDEST
0000146f: PUSH1 0x01
00001471: PUSH1 0x01
00001473: PUSH1 0xa0
00001475: SHL
00001476: SUB
00001477: DUP7
00001478: AND
00001479: PUSH1 0x00
0000147b: SWAP1
0000147c: DUP2
0000147d: MSTORE
0000147e: PUSH1 0x06
00001480: DUP4
00001481: ADD
00001482: PUSH1 0x20
00001484: SWAP1
00001485: DUP2
00001486: MSTORE
00001487: PUSH1 0x40
00001489: DUP1
0000148a: DUP4
0000148b: KECCAK256
0000148c: SWAP4
0000148d: SWAP1
0000148e: SWAP4
0000148f: SSTORE
00001490: PUSH1 0x04
00001492: DUP5
00001493: ADD
00001494: SLOAD
00001495: PUSH1 0x05
00001497: DUP6
00001498: ADD
00001499: SWAP1
0000149a: SWAP2
0000149b: MSTORE
0000149c: SWAP2
0000149d: SWAP1
0000149e: KECCAK256
0000149f: SSTORE
000014a0: JUMPDEST
000014a1: POP
000014a2: POP
000014a3: PUSH1 0x01
000014a5: ADD
000014a6: PUSH2 0x13f9
000014a9: JUMP
000014aa: JUMPDEST
000014ab: PUSH1 0x00
000014ad: CALLER
000014ae: PUSH2 0x14b8
000014b1: DUP6
000014b2: DUP3
000014b3: DUP6
000014b4: PUSH2 0x18d3
000014b7: JUMP
000014b8: JUMPDEST
000014b9: PUSH2 0x0e74
000014bc: DUP6
000014bd: DUP6
000014be: DUP6
000014bf: PUSH2 0x1947
000014c2: JUMP
000014c3: JUMPDEST
000014c4: PUSH2 0x14cd
000014c7: CALLER
000014c8: DUP3
000014c9: PUSH2 0x1af2
000014cc: JUMP
000014cd: JUMPDEST
000014ce: PUSH1 0x97
000014d0: SLOAD
000014d1: PUSH2 0x14e4
000014d4: SWAP1
000014d5: PUSH1 0x01
000014d7: PUSH1 0x01
000014d9: PUSH1 0xa0
000014db: SHL
000014dc: SUB
000014dd: AND
000014de: CALLER
000014df: DUP4
000014e0: PUSH2 0x138b
000014e3: JUMP
000014e4: JUMPDEST
000014e5: PUSH1 0x40
000014e7: MLOAD
000014e8: DUP2
000014e9: DUP2
000014ea: MSTORE
000014eb: CALLER
000014ec: SWAP1
000014ed: PUSH32 0x7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5
0000150e: SWAP1
0000150f: PUSH1 0x20
00001511: ADD
00001512: PUSH1 0x40
00001514: MLOAD
00001515: DUP1
00001516: SWAP2
00001517: SUB
00001518: SWAP1
00001519: LOG2
0000151a: POP
0000151b: JUMP
0000151c: JUMPDEST
0000151d: PUSH1 0x98
0000151f: SLOAD
00001520: PUSH1 0x00
00001522: JUMPDEST
00001523: DUP2
00001524: DUP2
00001525: LT
00001526: ISZERO
00001527: PUSH2 0x086d
0000152a: JUMPI
0000152b: PUSH1 0x00
0000152d: PUSH1 0x98
0000152f: DUP3
00001530: DUP2
00001531: SLOAD
00001532: DUP2
00001533: LT
00001534: PUSH2 0x153f
00001537: JUMPI
00001538: PUSH2 0x153f
0000153b: PUSH2 0x21ba
0000153e: JUMP
0000153f: JUMPDEST
00001540: PUSH1 0x00
00001542: SWAP2
00001543: DUP3
00001544: MSTORE
00001545: PUSH1 0x20
00001547: DUP3
00001548: KECCAK256
00001549: ADD
0000154a: SLOAD
0000154b: PUSH1 0x01
0000154d: PUSH1 0x01
0000154f: PUSH1 0xa0
00001551: SHL
00001552: SUB
00001553: AND
00001554: SWAP2
00001555: POP
00001556: PUSH2 0x155f
00001559: CALLER
0000155a: DUP4
0000155b: PUSH2 0x1119
0000155e: JUMP
0000155f: JUMPDEST
00001560: SWAP1
00001561: POP
00001562: DUP1
00001563: ISZERO
00001564: PUSH2 0x15d7
00001567: JUMPI
00001568: PUSH1 0x00
0000156a: PUSH2 0x1572
0000156d: DUP4
0000156e: PUSH2 0x168e
00001571: JUMP
00001572: JUMPDEST
00001573: CALLER
00001574: PUSH1 0x00
00001576: DUP2
00001577: DUP2
00001578: MSTORE
00001579: PUSH1 0x06
0000157b: SWAP3
0000157c: SWAP1
0000157d: SWAP3
0000157e: ADD
0000157f: PUSH1 0x20
00001581: MSTORE
00001582: PUSH1 0x40
00001584: SWAP1
00001585: SWAP2
00001586: KECCAK256
00001587: SWAP2
00001588: SWAP1
00001589: SWAP2
0000158a: SSTORE
0000158b: PUSH2 0x1596
0000158e: SWAP1
0000158f: DUP4
00001590: SWAP1
00001591: DUP4
00001592: PUSH2 0x1c26
00001595: JUMP
00001596: JUMPDEST
00001597: PUSH1 0x40
00001599: MLOAD
0000159a: DUP2
0000159b: DUP2
0000159c: MSTORE
0000159d: PUSH1 0x01
0000159f: PUSH1 0x01
000015a1: PUSH1 0xa0
000015a3: SHL
000015a4: SUB
000015a5: DUP4
000015a6: AND
000015a7: SWAP1
000015a8: CALLER
000015a9: SWAP1
000015aa: PUSH32 0x540798df468d7b23d11f156fdb954cb19ad414d150722a7b6d55ba369dea792e
000015cb: SWAP1
000015cc: PUSH1 0x20
000015ce: ADD
000015cf: PUSH1 0x40
000015d1: MLOAD
000015d2: DUP1
000015d3: SWAP2
000015d4: SUB
000015d5: SWAP1
000015d6: LOG3
000015d7: JUMPDEST
000015d8: POP
000015d9: POP
000015da: PUSH1 0x01
000015dc: ADD
000015dd: PUSH2 0x1522
000015e0: JUMP
000015e1: JUMPDEST
000015e2: PUSH1 0x65
000015e4: DUP1
000015e5: SLOAD
000015e6: PUSH1 0x01
000015e8: PUSH1 0x01
000015ea: PUSH1 0xa0
000015ec: SHL
000015ed: SUB
000015ee: DUP4
000015ef: DUP2
000015f0: AND
000015f1: PUSH1 0x01
000015f3: PUSH1 0x01
000015f5: PUSH1 0xa0
000015f7: SHL
000015f8: SUB
000015f9: NOT
000015fa: DUP4
000015fb: AND
000015fc: DUP2
000015fd: OR
000015fe: SWAP1
000015ff: SWAP4
00001600: SSTORE
00001601: PUSH1 0x40
00001603: MLOAD
00001604: SWAP2
00001605: AND
00001606: SWAP2
00001607: SWAP1
00001608: DUP3
00001609: SWAP1
0000160a: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0000162b: SWAP1
0000162c: PUSH1 0x00
0000162e: SWAP1
0000162f: LOG3
00001630: POP
00001631: POP
00001632: JUMP
00001633: JUMPDEST
00001634: PUSH2 0x163d
00001637: DUP3
00001638: DUP3
00001639: PUSH2 0x1cb9
0000163c: JUMP
0000163d: JUMPDEST
0000163e: PUSH1 0x97
00001640: SLOAD
00001641: PUSH2 0x1655
00001644: SWAP1
00001645: PUSH1 0x01
00001647: PUSH1 0x01
00001649: PUSH1 0xa0
0000164b: SHL
0000164c: SUB
0000164d: AND
0000164e: DUP4
0000164f: ADDRESS
00001650: DUP5
00001651: PUSH2 0x16b5
00001654: JUMP
00001655: JUMPDEST
00001656: PUSH1 0x40
00001658: MLOAD
00001659: DUP2
0000165a: DUP2
0000165b: MSTORE
0000165c: CALLER
0000165d: SWAP1
0000165e: PUSH32 0x9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d
0000167f: SWAP1
00001680: PUSH1 0x20
00001682: ADD
00001683: PUSH1 0x40
00001685: MLOAD
00001686: DUP1
00001687: SWAP2
00001688: SUB
00001689: SWAP1
0000168a: LOG2
0000168b: POP
0000168c: POP
0000168d: JUMP
0000168e: JUMPDEST
0000168f: PUSH1 0x01
00001691: PUSH1 0x01
00001693: PUSH1 0xa0
00001695: SHL
00001696: SUB
00001697: AND
00001698: PUSH1 0x00
0000169a: SWAP1
0000169b: DUP2
0000169c: MSTORE
0000169d: PUSH1 0x9c
0000169f: PUSH1 0x20
000016a1: SWAP1
000016a2: DUP2
000016a3: MSTORE
000016a4: PUSH1 0x40
000016a6: DUP1
000016a7: DUP4
000016a8: KECCAK256
000016a9: SLOAD
000016aa: DUP4
000016ab: MSTORE
000016ac: PUSH1 0x9d
000016ae: SWAP1
000016af: SWAP2
000016b0: MSTORE
000016b1: SWAP1
000016b2: KECCAK256
000016b3: SWAP1
000016b4: JUMP
000016b5: JUMPDEST
000016b6: PUSH1 0x40
000016b8: MLOAD
000016b9: PUSH1 0x01
000016bb: PUSH1 0x01
000016bd: PUSH1 0xa0
000016bf: SHL
000016c0: SUB
000016c1: DUP1
000016c2: DUP6
000016c3: AND
000016c4: PUSH1 0x24
000016c6: DUP4
000016c7: ADD
000016c8: MSTORE
000016c9: DUP4
000016ca: AND
000016cb: PUSH1 0x44
000016cd: DUP3
000016ce: ADD
000016cf: MSTORE
000016d0: PUSH1 0x64
000016d2: DUP2
000016d3: ADD
000016d4: DUP3
000016d5: SWAP1
000016d6: MSTORE
000016d7: PUSH2 0x16ed
000016da: SWAP1
000016db: DUP6
000016dc: SWAP1
000016dd: PUSH4 0x23b872dd
000016e2: PUSH1 0xe0
000016e4: SHL
000016e5: SWAP1
000016e6: PUSH1 0x84
000016e8: ADD
000016e9: PUSH2 0x13b7
000016ec: JUMP
000016ed: JUMPDEST
000016ee: POP
000016ef: POP
000016f0: POP
000016f1: POP
000016f2: JUMP
000016f3: JUMPDEST
000016f4: PUSH1 0x00
000016f6: CALLER
000016f7: PUSH2 0x0634
000016fa: DUP2
000016fb: DUP6
000016fc: DUP6
000016fd: PUSH2 0x1947
00001700: JUMP
00001701: JUMPDEST
00001702: PUSH1 0x00
00001704: SLOAD
00001705: PUSH2 0x0100
00001708: SWAP1
00001709: DIV
0000170a: PUSH1 0xff
0000170c: AND
0000170d: PUSH2 0x1728
00001710: JUMPI
00001711: PUSH1 0x40
00001713: MLOAD
00001714: PUSH3 0x461bcd
00001718: PUSH1 0xe5
0000171a: SHL
0000171b: DUP2
0000171c: MSTORE
0000171d: PUSH1 0x04
0000171f: ADD
00001720: PUSH2 0x0675
00001723: SWAP1
00001724: PUSH2 0x22a8
00001727: JUMP
00001728: JUMPDEST
00001729: PUSH2 0x086d
0000172c: DUP3
0000172d: DUP3
0000172e: PUSH2 0x1d7a
00001731: JUMP
00001732: JUMPDEST
00001733: PUSH1 0x00
00001735: SLOAD
00001736: PUSH2 0x0100
00001739: SWAP1
0000173a: DIV
0000173b: PUSH1 0xff
0000173d: AND
0000173e: PUSH2 0x1759
00001741: JUMPI
00001742: PUSH1 0x40
00001744: MLOAD
00001745: PUSH3 0x461bcd
00001749: PUSH1 0xe5
0000174b: SHL
0000174c: DUP2
0000174d: MSTORE
0000174e: PUSH1 0x04
00001750: ADD
00001751: PUSH2 0x0675
00001754: SWAP1
00001755: PUSH2 0x22a8
00001758: JUMP
00001759: JUMPDEST
0000175a: PUSH2 0x0a58
0000175d: PUSH2 0x1dba
00001760: JUMP
00001761: JUMPDEST
00001762: PUSH1 0x00
00001764: DUP1
00001765: PUSH2 0x176d
00001768: DUP4
00001769: PUSH2 0x168e
0000176c: JUMP
0000176d: JUMPDEST
0000176e: SWAP1
0000176f: POP
00001770: PUSH2 0x1778
00001773: PUSH1 0x35
00001775: SLOAD
00001776: SWAP1
00001777: JUMP
00001778: JUMPDEST
00001779: PUSH1 0x00
0000177b: SUB
0000177c: PUSH2 0x178b
0000177f: JUMPI
00001780: DUP1
00001781: PUSH1 0x04
00001783: ADD
00001784: SLOAD
00001785: SWAP2
00001786: POP
00001787: PUSH2 0x17e5
0000178a: JUMP
0000178b: JUMPDEST
0000178c: PUSH1 0x35
0000178e: SLOAD
0000178f: PUSH1 0x03
00001791: DUP3
00001792: ADD
00001793: SLOAD
00001794: PUSH1 0x02
00001796: DUP4
00001797: ADD
00001798: SLOAD
00001799: DUP4
0000179a: SLOAD
0000179b: PUSH2 0x17a3
0000179e: SWAP1
0000179f: PUSH2 0x18c0
000017a2: JUMP
000017a3: JUMPDEST
000017a4: PUSH2 0x17ad
000017a7: SWAP2
000017a8: SWAP1
000017a9: PUSH2 0x221a
000017ac: JUMP
000017ad: JUMPDEST
000017ae: PUSH2 0x17b7
000017b1: SWAP2
000017b2: SWAP1
000017b3: PUSH2 0x226f
000017b6: JUMP
000017b7: JUMPDEST
000017b8: PUSH2 0x17c9
000017bb: SWAP1
000017bc: PUSH8 0x0de0b6b3a7640000
000017c5: PUSH2 0x226f
000017c8: JUMP
000017c9: JUMPDEST
000017ca: PUSH2 0x17d3
000017cd: SWAP2
000017ce: SWAP1
000017cf: PUSH2 0x2286
000017d2: JUMP
000017d3: JUMPDEST
000017d4: DUP2
000017d5: PUSH1 0x04
000017d7: ADD
000017d8: SLOAD
000017d9: PUSH2 0x17e2
000017dc: SWAP2
000017dd: SWAP1
000017de: PUSH2 0x225c
000017e1: JUMP
000017e2: JUMPDEST
000017e3: SWAP2
000017e4: POP
000017e5: JUMPDEST
000017e6: POP
000017e7: SWAP2
000017e8: SWAP1
000017e9: POP
000017ea: JUMP
000017eb: JUMPDEST
000017ec: PUSH1 0x00
000017ee: PUSH2 0x1840
000017f1: DUP3
000017f2: PUSH1 0x40
000017f4: MLOAD
000017f5: DUP1
000017f6: PUSH1 0x40
000017f8: ADD
000017f9: PUSH1 0x40
000017fb: MSTORE
000017fc: DUP1
000017fd: PUSH1 0x20
000017ff: DUP2
00001800: MSTORE
00001801: PUSH1 0x20
00001803: ADD
00001804: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00001825: DUP2
00001826: MSTORE
00001827: POP
00001828: DUP6
00001829: PUSH1 0x01
0000182b: PUSH1 0x01
0000182d: PUSH1 0xa0
0000182f: SHL
00001830: SUB
00001831: AND
00001832: PUSH2 0x1dea
00001835: SWAP1
00001836: SWAP3
00001837: SWAP2
00001838: SWAP1
00001839: PUSH4 0xffffffff
0000183e: AND
0000183f: JUMP
00001840: JUMPDEST
00001841: SWAP1
00001842: POP
00001843: DUP1
00001844: MLOAD
00001845: PUSH1 0x00
00001847: EQ
00001848: DUP1
00001849: PUSH2 0x1861
0000184c: JUMPI
0000184d: POP
0000184e: DUP1
0000184f: DUP1
00001850: PUSH1 0x20
00001852: ADD
00001853: SWAP1
00001854: MLOAD
00001855: DUP2
00001856: ADD
00001857: SWAP1
00001858: PUSH2 0x1861
0000185b: SWAP2
0000185c: SWAP1
0000185d: PUSH2 0x22f3
00001860: JUMP
00001861: JUMPDEST
00001862: PUSH2 0x13ee
00001865: JUMPI
00001866: PUSH1 0x40
00001868: MLOAD
00001869: PUSH3 0x461bcd
0000186d: PUSH1 0xe5
0000186f: SHL
00001870: DUP2
00001871: MSTORE
00001872: PUSH1 0x20
00001874: PUSH1 0x04
00001876: DUP3
00001877: ADD
00001878: MSTORE
00001879: PUSH1 0x2a
0000187b: PUSH1 0x24
0000187d: DUP3
0000187e: ADD
0000187f: MSTORE
00001880: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
000018a1: PUSH1 0x44
000018a3: DUP3
000018a4: ADD
000018a5: MSTORE
000018a6: PUSH10 0x1bdd081cdd58d8d95959
000018b1: PUSH1 0xb2
000018b3: SHL
000018b4: PUSH1 0x64
000018b6: DUP3
000018b7: ADD
000018b8: MSTORE
000018b9: PUSH1 0x84
000018bb: ADD
000018bc: PUSH2 0x0675
000018bf: JUMP
000018c0: JUMPDEST
000018c1: PUSH1 0x00
000018c3: DUP2
000018c4: TIMESTAMP
000018c5: GT
000018c6: PUSH2 0x18cf
000018c9: JUMPI
000018ca: TIMESTAMP
000018cb: PUSH2 0x063a
000018ce: JUMP
000018cf: JUMPDEST
000018d0: POP
000018d1: SWAP1
000018d2: JUMP
000018d3: JUMPDEST
000018d4: PUSH1 0x00
000018d6: PUSH2 0x18df
000018d9: DUP5
000018da: DUP5
000018db: PUSH2 0x102b
000018de: JUMP
000018df: JUMPDEST
000018e0: SWAP1
000018e1: POP
000018e2: PUSH1 0x00
000018e4: NOT
000018e5: DUP2
000018e6: EQ
000018e7: PUSH2 0x16ed
000018ea: JUMPI
000018eb: DUP2
000018ec: DUP2
000018ed: LT
000018ee: ISZERO
000018ef: PUSH2 0x193a
000018f2: JUMPI
000018f3: PUSH1 0x40
000018f5: MLOAD
000018f6: PUSH3 0x461bcd
000018fa: PUSH1 0xe5
000018fc: SHL
000018fd: DUP2
000018fe: MSTORE
000018ff: PUSH1 0x20
00001901: PUSH1 0x04
00001903: DUP3
00001904: ADD
00001905: MSTORE
00001906: PUSH1 0x1d
00001908: PUSH1 0x24
0000190a: DUP3
0000190b: ADD
0000190c: MSTORE
0000190d: PUSH32 0x45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000
0000192e: PUSH1 0x44
00001930: DUP3
00001931: ADD
00001932: MSTORE
00001933: PUSH1 0x64
00001935: ADD
00001936: PUSH2 0x0675
00001939: JUMP
0000193a: JUMPDEST
0000193b: PUSH2 0x16ed
0000193e: DUP5
0000193f: DUP5
00001940: DUP5
00001941: DUP5
00001942: SUB
00001943: PUSH2 0x11b2
00001946: JUMP
00001947: JUMPDEST
00001948: PUSH1 0x01
0000194a: PUSH1 0x01
0000194c: PUSH1 0xa0
0000194e: SHL
0000194f: SUB
00001950: DUP4
00001951: AND
00001952: PUSH2 0x19ab
00001955: JUMPI
00001956: PUSH1 0x40
00001958: MLOAD
00001959: PUSH3 0x461bcd
0000195d: PUSH1 0xe5
0000195f: SHL
00001960: DUP2
00001961: MSTORE
00001962: PUSH1 0x20
00001964: PUSH1 0x04
00001966: DUP3
00001967: ADD
00001968: MSTORE
00001969: PUSH1 0x25
0000196b: PUSH1 0x24
0000196d: DUP3
0000196e: ADD
0000196f: MSTORE
00001970: PUSH32 0x45524332303a207472616e736665722066726f6d20746865207a65726f206164
00001991: PUSH1 0x44
00001993: DUP3
00001994: ADD
00001995: MSTORE
00001996: PUSH5 0x6472657373
0000199c: PUSH1 0xd8
0000199e: SHL
0000199f: PUSH1 0x64
000019a1: DUP3
000019a2: ADD
000019a3: MSTORE
000019a4: PUSH1 0x84
000019a6: ADD
000019a7: PUSH2 0x0675
000019aa: JUMP
000019ab: JUMPDEST
000019ac: PUSH1 0x01
000019ae: PUSH1 0x01
000019b0: PUSH1 0xa0
000019b2: SHL
000019b3: SUB
000019b4: DUP3
000019b5: AND
000019b6: PUSH2 0x1a0d
000019b9: JUMPI
000019ba: PUSH1 0x40
000019bc: MLOAD
000019bd: PUSH3 0x461bcd
000019c1: PUSH1 0xe5
000019c3: SHL
000019c4: DUP2
000019c5: MSTORE
000019c6: PUSH1 0x20
000019c8: PUSH1 0x04
000019ca: DUP3
000019cb: ADD
000019cc: MSTORE
000019cd: PUSH1 0x23
000019cf: PUSH1 0x24
000019d1: DUP3
000019d2: ADD
000019d3: MSTORE
000019d4: PUSH32 0x45524332303a207472616e7366657220746f20746865207a65726f2061646472
000019f5: PUSH1 0x44
000019f7: DUP3
000019f8: ADD
000019f9: MSTORE
000019fa: PUSH3 0x657373
000019fe: PUSH1 0xe8
00001a00: SHL
00001a01: PUSH1 0x64
00001a03: DUP3
00001a04: ADD
00001a05: MSTORE
00001a06: PUSH1 0x84
00001a08: ADD
00001a09: PUSH2 0x0675
00001a0c: JUMP
00001a0d: JUMPDEST
00001a0e: PUSH1 0x01
00001a10: PUSH1 0x01
00001a12: PUSH1 0xa0
00001a14: SHL
00001a15: SUB
00001a16: DUP4
00001a17: AND
00001a18: PUSH1 0x00
00001a1a: SWAP1
00001a1b: DUP2
00001a1c: MSTORE
00001a1d: PUSH1 0x33
00001a1f: PUSH1 0x20
00001a21: MSTORE
00001a22: PUSH1 0x40
00001a24: SWAP1
00001a25: KECCAK256
00001a26: SLOAD
00001a27: DUP2
00001a28: DUP2
00001a29: LT
00001a2a: ISZERO
00001a2b: PUSH2 0x1a85
00001a2e: JUMPI
00001a2f: PUSH1 0x40
00001a31: MLOAD
00001a32: PUSH3 0x461bcd
00001a36: PUSH1 0xe5
00001a38: SHL
00001a39: DUP2
00001a3a: MSTORE
00001a3b: PUSH1 0x20
00001a3d: PUSH1 0x04
00001a3f: DUP3
00001a40: ADD
00001a41: MSTORE
00001a42: PUSH1 0x26
00001a44: PUSH1 0x24
00001a46: DUP3
00001a47: ADD
00001a48: MSTORE
00001a49: PUSH32 0x45524332303a207472616e7366657220616d6f756e7420657863656564732062
00001a6a: PUSH1 0x44
00001a6c: DUP3
00001a6d: ADD
00001a6e: MSTORE
00001a6f: PUSH6 0x616c616e6365
00001a76: PUSH1 0xd0
00001a78: SHL
00001a79: PUSH1 0x64
00001a7b: DUP3
00001a7c: ADD
00001a7d: MSTORE
00001a7e: PUSH1 0x84
00001a80: ADD
00001a81: PUSH2 0x0675
00001a84: JUMP
00001a85: JUMPDEST
00001a86: PUSH1 0x01
00001a88: PUSH1 0x01
00001a8a: PUSH1 0xa0
00001a8c: SHL
00001a8d: SUB
00001a8e: DUP1
00001a8f: DUP6
00001a90: AND
00001a91: PUSH1 0x00
00001a93: DUP2
00001a94: DUP2
00001a95: MSTORE
00001a96: PUSH1 0x33
00001a98: PUSH1 0x20
00001a9a: MSTORE
00001a9b: PUSH1 0x40
00001a9d: DUP1
00001a9e: DUP3
00001a9f: KECCAK256
00001aa0: DUP7
00001aa1: DUP7
00001aa2: SUB
00001aa3: SWAP1
00001aa4: SSTORE
00001aa5: SWAP3
00001aa6: DUP7
00001aa7: AND
00001aa8: DUP1
00001aa9: DUP3
00001aaa: MSTORE
00001aab: SWAP1
00001aac: DUP4
00001aad: SWAP1
00001aae: KECCAK256
00001aaf: DUP1
00001ab0: SLOAD
00001ab1: DUP7
00001ab2: ADD
00001ab3: SWAP1
00001ab4: SSTORE
00001ab5: SWAP2
00001ab6: MLOAD
00001ab7: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00001ad8: SWAP1
00001ad9: PUSH2 0x1ae5
00001adc: SWAP1
00001add: DUP7
00001ade: DUP2
00001adf: MSTORE
00001ae0: PUSH1 0x20
00001ae2: ADD
00001ae3: SWAP1
00001ae4: JUMP
00001ae5: JUMPDEST
00001ae6: PUSH1 0x40
00001ae8: MLOAD
00001ae9: DUP1
00001aea: SWAP2
00001aeb: SUB
00001aec: SWAP1
00001aed: LOG3
00001aee: PUSH2 0x16ed
00001af1: JUMP
00001af2: JUMPDEST
00001af3: PUSH1 0x01
00001af5: PUSH1 0x01
00001af7: PUSH1 0xa0
00001af9: SHL
00001afa: SUB
00001afb: DUP3
00001afc: AND
00001afd: PUSH2 0x1b52
00001b00: JUMPI
00001b01: PUSH1 0x40
00001b03: MLOAD
00001b04: PUSH3 0x461bcd
00001b08: PUSH1 0xe5
00001b0a: SHL
00001b0b: DUP2
00001b0c: MSTORE
00001b0d: PUSH1 0x20
00001b0f: PUSH1 0x04
00001b11: DUP3
00001b12: ADD
00001b13: MSTORE
00001b14: PUSH1 0x21
00001b16: PUSH1 0x24
00001b18: DUP3
00001b19: ADD
00001b1a: MSTORE
00001b1b: PUSH32 0x45524332303a206275726e2066726f6d20746865207a65726f20616464726573
00001b3c: PUSH1 0x44
00001b3e: DUP3
00001b3f: ADD
00001b40: MSTORE
00001b41: PUSH1 0x73
00001b43: PUSH1 0xf8
00001b45: SHL
00001b46: PUSH1 0x64
00001b48: DUP3
00001b49: ADD
00001b4a: MSTORE
00001b4b: PUSH1 0x84
00001b4d: ADD
00001b4e: PUSH2 0x0675
00001b51: JUMP
00001b52: JUMPDEST
00001b53: PUSH1 0x01
00001b55: PUSH1 0x01
00001b57: PUSH1 0xa0
00001b59: SHL
00001b5a: SUB
00001b5b: DUP3
00001b5c: AND
00001b5d: PUSH1 0x00
00001b5f: SWAP1
00001b60: DUP2
00001b61: MSTORE
00001b62: PUSH1 0x33
00001b64: PUSH1 0x20
00001b66: MSTORE
00001b67: PUSH1 0x40
00001b69: SWAP1
00001b6a: KECCAK256
00001b6b: SLOAD
00001b6c: DUP2
00001b6d: DUP2
00001b6e: LT
00001b6f: ISZERO
00001b70: PUSH2 0x1bc6
00001b73: JUMPI
00001b74: PUSH1 0x40
00001b76: MLOAD
00001b77: PUSH3 0x461bcd
00001b7b: PUSH1 0xe5
00001b7d: SHL
00001b7e: DUP2
00001b7f: MSTORE
00001b80: PUSH1 0x20
00001b82: PUSH1 0x04
00001b84: DUP3
00001b85: ADD
00001b86: MSTORE
00001b87: PUSH1 0x22
00001b89: PUSH1 0x24
00001b8b: DUP3
00001b8c: ADD
00001b8d: MSTORE
00001b8e: PUSH32 0x45524332303a206275726e20616d6f756e7420657863656564732062616c616e
00001baf: PUSH1 0x44
00001bb1: DUP3
00001bb2: ADD
00001bb3: MSTORE
00001bb4: PUSH2 0x6365
00001bb7: PUSH1 0xf0
00001bb9: SHL
00001bba: PUSH1 0x64
00001bbc: DUP3
00001bbd: ADD
00001bbe: MSTORE
00001bbf: PUSH1 0x84
00001bc1: ADD
00001bc2: PUSH2 0x0675
00001bc5: JUMP
00001bc6: JUMPDEST
00001bc7: PUSH1 0x01
00001bc9: PUSH1 0x01
00001bcb: PUSH1 0xa0
00001bcd: SHL
00001bce: SUB
00001bcf: DUP4
00001bd0: AND
00001bd1: PUSH1 0x00
00001bd3: DUP2
00001bd4: DUP2
00001bd5: MSTORE
00001bd6: PUSH1 0x33
00001bd8: PUSH1 0x20
00001bda: SWAP1
00001bdb: DUP2
00001bdc: MSTORE
00001bdd: PUSH1 0x40
00001bdf: DUP1
00001be0: DUP4
00001be1: KECCAK256
00001be2: DUP7
00001be3: DUP7
00001be4: SUB
00001be5: SWAP1
00001be6: SSTORE
00001be7: PUSH1 0x35
00001be9: DUP1
00001bea: SLOAD
00001beb: DUP8
00001bec: SWAP1
00001bed: SUB
00001bee: SWAP1
00001bef: SSTORE
00001bf0: MLOAD
00001bf1: DUP6
00001bf2: DUP2
00001bf3: MSTORE
00001bf4: SWAP2
00001bf5: SWAP3
00001bf6: SWAP2
00001bf7: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00001c18: SWAP2
00001c19: ADD
00001c1a: PUSH1 0x40
00001c1c: MLOAD
00001c1d: DUP1
00001c1e: SWAP2
00001c1f: SUB
00001c20: SWAP1
00001c21: LOG3
00001c22: POP
00001c23: POP
00001c24: POP
00001c25: JUMP
00001c26: JUMPDEST
00001c27: PUSH1 0x40
00001c29: MLOAD
00001c2a: PUSH4 0x70a08231
00001c2f: PUSH1 0xe0
00001c31: SHL
00001c32: DUP2
00001c33: MSTORE
00001c34: ADDRESS
00001c35: PUSH1 0x04
00001c37: DUP3
00001c38: ADD
00001c39: MSTORE
00001c3a: PUSH1 0x00
00001c3c: SWAP1
00001c3d: PUSH1 0x01
00001c3f: PUSH1 0x01
00001c41: PUSH1 0xa0
00001c43: SHL
00001c44: SUB
00001c45: DUP6
00001c46: AND
00001c47: SWAP1
00001c48: PUSH4 0x70a08231
00001c4d: SWAP1
00001c4e: PUSH1 0x24
00001c50: ADD
00001c51: PUSH1 0x20
00001c53: PUSH1 0x40
00001c55: MLOAD
00001c56: DUP1
00001c57: DUP4
00001c58: SUB
00001c59: DUP2
00001c5a: DUP7
00001c5b: GAS
00001c5c: STATICCALL
00001c5d: ISZERO
00001c5e: DUP1
00001c5f: ISZERO
00001c60: PUSH2 0x1c6d
00001c63: JUMPI
00001c64: RETURNDATASIZE
00001c65: PUSH1 0x00
00001c67: DUP1
00001c68: RETURNDATACOPY
00001c69: RETURNDATASIZE
00001c6a: PUSH1 0x00
00001c6c: REVERT
00001c6d: JUMPDEST
00001c6e: POP
00001c6f: POP
00001c70: POP
00001c71: POP
00001c72: PUSH1 0x40
00001c74: MLOAD
00001c75: RETURNDATASIZE
00001c76: PUSH1 0x1f
00001c78: NOT
00001c79: PUSH1 0x1f
00001c7b: DUP3
00001c7c: ADD
00001c7d: AND
00001c7e: DUP3
00001c7f: ADD
00001c80: DUP1
00001c81: PUSH1 0x40
00001c83: MSTORE
00001c84: POP
00001c85: DUP2
00001c86: ADD
00001c87: SWAP1
00001c88: PUSH2 0x1c91
00001c8b: SWAP2
00001c8c: SWAP1
00001c8d: PUSH2 0x2243
00001c90: JUMP
00001c91: JUMPDEST
00001c92: SWAP1
00001c93: POP
00001c94: DUP1
00001c95: DUP3
00001c96: GT
00001c97: ISZERO
00001c98: PUSH2 0x1c9f
00001c9b: JUMPI
00001c9c: DUP1
00001c9d: SWAP2
00001c9e: POP
00001c9f: JUMPDEST
00001ca0: DUP2
00001ca1: ISZERO
00001ca2: PUSH2 0x16ed
00001ca5: JUMPI
00001ca6: PUSH2 0x16ed
00001ca9: PUSH1 0x01
00001cab: PUSH1 0x01
00001cad: PUSH1 0xa0
00001caf: SHL
00001cb0: SUB
00001cb1: DUP6
00001cb2: AND
00001cb3: DUP5
00001cb4: DUP5
00001cb5: PUSH2 0x138b
00001cb8: JUMP
00001cb9: JUMPDEST
00001cba: PUSH1 0x01
00001cbc: PUSH1 0x01
00001cbe: PUSH1 0xa0
00001cc0: SHL
00001cc1: SUB
00001cc2: DUP3
00001cc3: AND
00001cc4: PUSH2 0x1d0f
00001cc7: JUMPI
00001cc8: PUSH1 0x40
00001cca: MLOAD
00001ccb: PUSH3 0x461bcd
00001ccf: PUSH1 0xe5
00001cd1: SHL
00001cd2: DUP2
00001cd3: MSTORE
00001cd4: PUSH1 0x20
00001cd6: PUSH1 0x04
00001cd8: DUP3
00001cd9: ADD
00001cda: MSTORE
00001cdb: PUSH1 0x1f
00001cdd: PUSH1 0x24
00001cdf: DUP3
00001ce0: ADD
00001ce1: MSTORE
00001ce2: PUSH32 0x45524332303a206d696e7420746f20746865207a65726f206164647265737300
00001d03: PUSH1 0x44
00001d05: DUP3
00001d06: ADD
00001d07: MSTORE
00001d08: PUSH1 0x64
00001d0a: ADD
00001d0b: PUSH2 0x0675
00001d0e: JUMP
00001d0f: JUMPDEST
00001d10: DUP1
00001d11: PUSH1 0x35
00001d13: PUSH1 0x00
00001d15: DUP3
00001d16: DUP3
00001d17: SLOAD
00001d18: PUSH2 0x1d21
00001d1b: SWAP2
00001d1c: SWAP1
00001d1d: PUSH2 0x225c
00001d20: JUMP
00001d21: JUMPDEST
00001d22: SWAP1
00001d23: SWAP2
00001d24: SSTORE
00001d25: POP
00001d26: POP
00001d27: PUSH1 0x01
00001d29: PUSH1 0x01
00001d2b: PUSH1 0xa0
00001d2d: SHL
00001d2e: SUB
00001d2f: DUP3
00001d30: AND
00001d31: PUSH1 0x00
00001d33: DUP2
00001d34: DUP2
00001d35: MSTORE
00001d36: PUSH1 0x33
00001d38: PUSH1 0x20
00001d3a: SWAP1
00001d3b: DUP2
00001d3c: MSTORE
00001d3d: PUSH1 0x40
00001d3f: DUP1
00001d40: DUP4
00001d41: KECCAK256
00001d42: DUP1
00001d43: SLOAD
00001d44: DUP7
00001d45: ADD
00001d46: SWAP1
00001d47: SSTORE
00001d48: MLOAD
00001d49: DUP5
00001d4a: DUP2
00001d4b: MSTORE
00001d4c: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00001d6d: SWAP2
00001d6e: ADD
00001d6f: PUSH1 0x40
00001d71: MLOAD
00001d72: DUP1
00001d73: SWAP2
00001d74: SUB
00001d75: SWAP1
00001d76: LOG3
00001d77: POP
00001d78: POP
00001d79: JUMP
00001d7a: JUMPDEST
00001d7b: PUSH1 0x00
00001d7d: SLOAD
00001d7e: PUSH2 0x0100
00001d81: SWAP1
00001d82: DIV
00001d83: PUSH1 0xff
00001d85: AND
00001d86: PUSH2 0x1da1
00001d89: JUMPI
00001d8a: PUSH1 0x40
00001d8c: MLOAD
00001d8d: PUSH3 0x461bcd
00001d91: PUSH1 0xe5
00001d93: SHL
00001d94: DUP2
00001d95: MSTORE
00001d96: PUSH1 0x04
00001d98: ADD
00001d99: PUSH2 0x0675
00001d9c: SWAP1
00001d9d: PUSH2 0x22a8
00001da0: JUMP
00001da1: JUMPDEST
00001da2: PUSH1 0x36
00001da4: PUSH2 0x1dad
00001da7: DUP4
00001da8: DUP3
00001da9: PUSH2 0x235e
00001dac: JUMP
00001dad: JUMPDEST
00001dae: POP
00001daf: PUSH1 0x37
00001db1: PUSH2 0x13ee
00001db4: DUP3
00001db5: DUP3
00001db6: PUSH2 0x235e
00001db9: JUMP
00001dba: JUMPDEST
00001dbb: PUSH1 0x00
00001dbd: SLOAD
00001dbe: PUSH2 0x0100
00001dc1: SWAP1
00001dc2: DIV
00001dc3: PUSH1 0xff
00001dc5: AND
00001dc6: PUSH2 0x1de1
00001dc9: JUMPI
00001dca: PUSH1 0x40
00001dcc: MLOAD
00001dcd: PUSH3 0x461bcd
00001dd1: PUSH1 0xe5
00001dd3: SHL
00001dd4: DUP2
00001dd5: MSTORE
00001dd6: PUSH1 0x04
00001dd8: ADD
00001dd9: PUSH2 0x0675
00001ddc: SWAP1
00001ddd: PUSH2 0x22a8
00001de0: JUMP
00001de1: JUMPDEST
00001de2: PUSH2 0x0a58
00001de5: CALLER
00001de6: PUSH2 0x15e1
00001de9: JUMP
00001dea: JUMPDEST
00001deb: PUSH1 0x60
00001ded: PUSH2 0x0852
00001df0: DUP5
00001df1: DUP5
00001df2: PUSH1 0x00
00001df4: DUP6
00001df5: DUP6
00001df6: PUSH1 0x00
00001df8: DUP1
00001df9: DUP7
00001dfa: PUSH1 0x01
00001dfc: PUSH1 0x01
00001dfe: PUSH1 0xa0
00001e00: SHL
00001e01: SUB
00001e02: AND
00001e03: DUP6
00001e04: DUP8
00001e05: PUSH1 0x40
00001e07: MLOAD
00001e08: PUSH2 0x1e11
00001e0b: SWAP2
00001e0c: SWAP1
00001e0d: PUSH2 0x241e
00001e10: JUMP
00001e11: JUMPDEST
00001e12: PUSH1 0x00
00001e14: PUSH1 0x40
00001e16: MLOAD
00001e17: DUP1
00001e18: DUP4
00001e19: SUB
00001e1a: DUP2
00001e1b: DUP6
00001e1c: DUP8
00001e1d: GAS
00001e1e: CALL
00001e1f: SWAP3
00001e20: POP
00001e21: POP
00001e22: POP
00001e23: RETURNDATASIZE
00001e24: DUP1
00001e25: PUSH1 0x00
00001e27: DUP2
00001e28: EQ
00001e29: PUSH2 0x1e4e
00001e2c: JUMPI
00001e2d: PUSH1 0x40
00001e2f: MLOAD
00001e30: SWAP2
00001e31: POP
00001e32: PUSH1 0x1f
00001e34: NOT
00001e35: PUSH1 0x3f
00001e37: RETURNDATASIZE
00001e38: ADD
00001e39: AND
00001e3a: DUP3
00001e3b: ADD
00001e3c: PUSH1 0x40
00001e3e: MSTORE
00001e3f: RETURNDATASIZE
00001e40: DUP3
00001e41: MSTORE
00001e42: RETURNDATASIZE
00001e43: PUSH1 0x00
00001e45: PUSH1 0x20
00001e47: DUP5
00001e48: ADD
00001e49: RETURNDATACOPY
00001e4a: PUSH2 0x1e53
00001e4d: JUMP
00001e4e: JUMPDEST
00001e4f: PUSH1 0x60
00001e51: SWAP2
00001e52: POP
00001e53: JUMPDEST
00001e54: POP
00001e55: SWAP2
00001e56: POP
00001e57: SWAP2
00001e58: POP
00001e59: PUSH2 0x1e64
00001e5c: DUP8
00001e5d: DUP4
00001e5e: DUP4
00001e5f: DUP8
00001e60: PUSH2 0x1e6f
00001e63: JUMP
00001e64: JUMPDEST
00001e65: SWAP8
00001e66: SWAP7
00001e67: POP
00001e68: POP
00001e69: POP
00001e6a: POP
00001e6b: POP
00001e6c: POP
00001e6d: POP
00001e6e: JUMP
00001e6f: JUMPDEST
00001e70: PUSH1 0x60
00001e72: DUP4
00001e73: ISZERO
00001e74: PUSH2 0x1ede
00001e77: JUMPI
00001e78: DUP3
00001e79: MLOAD
00001e7a: PUSH1 0x00
00001e7c: SUB
00001e7d: PUSH2 0x1ed7
00001e80: JUMPI
00001e81: PUSH1 0x01
00001e83: PUSH1 0x01
00001e85: PUSH1 0xa0
00001e87: SHL
00001e88: SUB
00001e89: DUP6
00001e8a: AND
00001e8b: EXTCODESIZE
00001e8c: PUSH2 0x1ed7
00001e8f: JUMPI
00001e90: PUSH1 0x40
00001e92: MLOAD
00001e93: PUSH3 0x461bcd
00001e97: PUSH1 0xe5
00001e99: SHL
00001e9a: DUP2
00001e9b: MSTORE
00001e9c: PUSH1 0x20
00001e9e: PUSH1 0x04
00001ea0: DUP3
00001ea1: ADD
00001ea2: MSTORE
00001ea3: PUSH1 0x1d
00001ea5: PUSH1 0x24
00001ea7: DUP3
00001ea8: ADD
00001ea9: MSTORE
00001eaa: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00001ecb: PUSH1 0x44
00001ecd: DUP3
00001ece: ADD
00001ecf: MSTORE
00001ed0: PUSH1 0x64
00001ed2: ADD
00001ed3: PUSH2 0x0675
00001ed6: JUMP
00001ed7: JUMPDEST
00001ed8: POP
00001ed9: DUP2
00001eda: PUSH2 0x0852
00001edd: JUMP
00001ede: JUMPDEST
00001edf: PUSH2 0x0852
00001ee2: DUP4
00001ee3: DUP4
00001ee4: DUP2
00001ee5: MLOAD
00001ee6: ISZERO
00001ee7: PUSH2 0x1ef3
00001eea: JUMPI
00001eeb: DUP2
00001eec: MLOAD
00001eed: DUP1
00001eee: DUP4
00001eef: PUSH1 0x20
00001ef1: ADD
00001ef2: REVERT
00001ef3: JUMPDEST
00001ef4: DUP1
00001ef5: PUSH1 0x40
00001ef7: MLOAD
00001ef8: PUSH3 0x461bcd
00001efc: PUSH1 0xe5
00001efe: SHL
00001eff: DUP2
00001f00: MSTORE
00001f01: PUSH1 0x04
00001f03: ADD
00001f04: PUSH2 0x0675
00001f07: SWAP2
00001f08: SWAP1
00001f09: PUSH2 0x1fe7
00001f0c: JUMP
00001f0d: JUMPDEST
00001f0e: DUP1
00001f0f: CALLDATALOAD
00001f10: PUSH1 0x01
00001f12: PUSH1 0x01
00001f14: PUSH1 0xa0
00001f16: SHL
00001f17: SUB
00001f18: DUP2
00001f19: AND
00001f1a: DUP2
00001f1b: EQ
00001f1c: PUSH2 0x1386
00001f1f: JUMPI
00001f20: PUSH1 0x00
00001f22: DUP1
00001f23: REVERT
00001f24: JUMPDEST
00001f25: PUSH1 0x00
00001f27: PUSH1 0x20
00001f29: DUP3
00001f2a: DUP5
00001f2b: SUB
00001f2c: SLT
00001f2d: ISZERO
00001f2e: PUSH2 0x1f36
00001f31: JUMPI
00001f32: PUSH1 0x00
00001f34: DUP1
00001f35: REVERT
00001f36: JUMPDEST
00001f37: PUSH2 0x082c
00001f3a: DUP3
00001f3b: PUSH2 0x1f0d
00001f3e: JUMP
00001f3f: JUMPDEST
00001f40: PUSH1 0x40
00001f42: DUP1
00001f43: DUP3
00001f44: MSTORE
00001f45: DUP4
00001f46: MLOAD
00001f47: SWAP1
00001f48: DUP3
00001f49: ADD
00001f4a: DUP2
00001f4b: SWAP1
00001f4c: MSTORE
00001f4d: PUSH1 0x00
00001f4f: SWAP1
00001f50: PUSH1 0x20
00001f52: SWAP1
00001f53: PUSH1 0x60
00001f55: DUP5
00001f56: ADD
00001f57: SWAP1
00001f58: DUP3
00001f59: DUP8
00001f5a: ADD
00001f5b: DUP5
00001f5c: JUMPDEST
00001f5d: DUP3
00001f5e: DUP2
00001f5f: LT
00001f60: ISZERO
00001f61: PUSH2 0x1f81
00001f64: JUMPI
00001f65: DUP2
00001f66: MLOAD
00001f67: PUSH1 0x01
00001f69: PUSH1 0x01
00001f6b: PUSH1 0xa0
00001f6d: SHL
00001f6e: SUB
00001f6f: AND
00001f70: DUP5
00001f71: MSTORE
00001f72: SWAP3
00001f73: DUP5
00001f74: ADD
00001f75: SWAP3
00001f76: SWAP1
00001f77: DUP5
00001f78: ADD
00001f79: SWAP1
00001f7a: PUSH1 0x01
00001f7c: ADD
00001f7d: PUSH2 0x1f5c
00001f80: JUMP
00001f81: JUMPDEST
00001f82: POP
00001f83: POP
00001f84: POP
00001f85: DUP4
00001f86: DUP2
00001f87: SUB
00001f88: DUP3
00001f89: DUP6
00001f8a: ADD
00001f8b: MSTORE
00001f8c: DUP5
00001f8d: MLOAD
00001f8e: DUP1
00001f8f: DUP3
00001f90: MSTORE
00001f91: DUP6
00001f92: DUP4
00001f93: ADD
00001f94: SWAP2
00001f95: DUP4
00001f96: ADD
00001f97: SWAP1
00001f98: PUSH1 0x00
00001f9a: JUMPDEST
00001f9b: DUP2
00001f9c: DUP2
00001f9d: LT
00001f9e: ISZERO
00001f9f: PUSH2 0x1fb6
00001fa2: JUMPI
00001fa3: DUP4
00001fa4: MLOAD
00001fa5: DUP4
00001fa6: MSTORE
00001fa7: SWAP3
00001fa8: DUP5
00001fa9: ADD
00001faa: SWAP3
00001fab: SWAP2
00001fac: DUP5
00001fad: ADD
00001fae: SWAP2
00001faf: PUSH1 0x01
00001fb1: ADD
00001fb2: PUSH2 0x1f9a
00001fb5: JUMP
00001fb6: JUMPDEST
00001fb7: POP
00001fb8: SWAP1
00001fb9: SWAP8
00001fba: SWAP7
00001fbb: POP
00001fbc: POP
00001fbd: POP
00001fbe: POP
00001fbf: POP
00001fc0: POP
00001fc1: POP
00001fc2: JUMP
00001fc3: JUMPDEST
00001fc4: PUSH1 0x00
00001fc6: JUMPDEST
00001fc7: DUP4
00001fc8: DUP2
00001fc9: LT
00001fca: ISZERO
00001fcb: PUSH2 0x1fde
00001fce: JUMPI
00001fcf: DUP2
00001fd0: DUP2
00001fd1: ADD
00001fd2: MLOAD
00001fd3: DUP4
00001fd4: DUP3
00001fd5: ADD
00001fd6: MSTORE
00001fd7: PUSH1 0x20
00001fd9: ADD
00001fda: PUSH2 0x1fc6
00001fdd: JUMP
00001fde: JUMPDEST
00001fdf: POP
00001fe0: POP
00001fe1: PUSH1 0x00
00001fe3: SWAP2
00001fe4: ADD
00001fe5: MSTORE
00001fe6: JUMP
00001fe7: JUMPDEST
00001fe8: PUSH1 0x20
00001fea: DUP2
00001feb: MSTORE
00001fec: PUSH1 0x00
00001fee: DUP3
00001fef: MLOAD
00001ff0: DUP1
00001ff1: PUSH1 0x20
00001ff3: DUP5
00001ff4: ADD
00001ff5: MSTORE
00001ff6: PUSH2 0x2006
00001ff9: DUP2
00001ffa: PUSH1 0x40
00001ffc: DUP6
00001ffd: ADD
00001ffe: PUSH1 0x20
00002000: DUP8
00002001: ADD
00002002: PUSH2 0x1fc3
00002005: JUMP
00002006: JUMPDEST
00002007: PUSH1 0x1f
00002009: ADD
0000200a: PUSH1 0x1f
0000200c: NOT
0000200d: AND
0000200e: SWAP2
0000200f: SWAP1
00002010: SWAP2
00002011: ADD
00002012: PUSH1 0x40
00002014: ADD
00002015: SWAP3
00002016: SWAP2
00002017: POP
00002018: POP
00002019: JUMP
0000201a: JUMPDEST
0000201b: PUSH1 0x00
0000201d: DUP1
0000201e: PUSH1 0x40
00002020: DUP4
00002021: DUP6
00002022: SUB
00002023: SLT
00002024: ISZERO
00002025: PUSH2 0x202d
00002028: JUMPI
00002029: PUSH1 0x00
0000202b: DUP1
0000202c: REVERT
0000202d: JUMPDEST
0000202e: PUSH2 0x2036
00002031: DUP4
00002032: PUSH2 0x1f0d
00002035: JUMP
00002036: JUMPDEST
00002037: SWAP5
00002038: PUSH1 0x20
0000203a: SWAP4
0000203b: SWAP1
0000203c: SWAP4
0000203d: ADD
0000203e: CALLDATALOAD
0000203f: SWAP4
00002040: POP
00002041: POP
00002042: POP
00002043: JUMP
00002044: JUMPDEST
00002045: PUSH1 0x00
00002047: DUP1
00002048: PUSH1 0x40
0000204a: DUP4
0000204b: DUP6
0000204c: SUB
0000204d: SLT
0000204e: ISZERO
0000204f: PUSH2 0x2057
00002052: JUMPI
00002053: PUSH1 0x00
00002055: DUP1
00002056: REVERT
00002057: JUMPDEST
00002058: PUSH2 0x2060
0000205b: DUP4
0000205c: PUSH2 0x1f0d
0000205f: JUMP
00002060: JUMPDEST
00002061: SWAP2
00002062: POP
00002063: PUSH2 0x206e
00002066: PUSH1 0x20
00002068: DUP5
00002069: ADD
0000206a: PUSH2 0x1f0d
0000206d: JUMP
0000206e: JUMPDEST
0000206f: SWAP1
00002070: POP
00002071: SWAP3
00002072: POP
00002073: SWAP3
00002074: SWAP1
00002075: POP
00002076: JUMP
00002077: JUMPDEST
00002078: PUSH1 0x00
0000207a: DUP1
0000207b: PUSH1 0x00
0000207d: PUSH1 0x60
0000207f: DUP5
00002080: DUP7
00002081: SUB
00002082: SLT
00002083: ISZERO
00002084: PUSH2 0x208c
00002087: JUMPI
00002088: PUSH1 0x00
0000208a: DUP1
0000208b: REVERT
0000208c: JUMPDEST
0000208d: PUSH2 0x2095
00002090: DUP5
00002091: PUSH2 0x1f0d
00002094: JUMP
00002095: JUMPDEST
00002096: SWAP3
00002097: POP
00002098: PUSH2 0x20a3
0000209b: PUSH1 0x20
0000209d: DUP6
0000209e: ADD
0000209f: PUSH2 0x1f0d
000020a2: JUMP
000020a3: JUMPDEST
000020a4: SWAP2
000020a5: POP
000020a6: PUSH1 0x40
000020a8: DUP5
000020a9: ADD
000020aa: CALLDATALOAD
000020ab: SWAP1
000020ac: POP
000020ad: SWAP3
000020ae: POP
000020af: SWAP3
000020b0: POP
000020b1: SWAP3
000020b2: JUMP
000020b3: JUMPDEST
000020b4: PUSH1 0x00
000020b6: PUSH1 0x20
000020b8: DUP3
000020b9: DUP5
000020ba: SUB
000020bb: SLT
000020bc: ISZERO
000020bd: PUSH2 0x20c5
000020c0: JUMPI
000020c1: PUSH1 0x00
000020c3: DUP1
000020c4: REVERT
000020c5: JUMPDEST
000020c6: POP
000020c7: CALLDATALOAD
000020c8: SWAP2
000020c9: SWAP1
000020ca: POP
000020cb: JUMP
000020cc: JUMPDEST
000020cd: DUP1
000020ce: ISZERO
000020cf: ISZERO
000020d0: DUP2
000020d1: EQ
000020d2: PUSH2 0x08a5
000020d5: JUMPI
000020d6: PUSH1 0x00
000020d8: DUP1
000020d9: REVERT
000020da: JUMPDEST
000020db: PUSH1 0x00
000020dd: DUP1
000020de: PUSH1 0x40
000020e0: DUP4
000020e1: DUP6
000020e2: SUB
000020e3: SLT
000020e4: ISZERO
000020e5: PUSH2 0x20ed
000020e8: JUMPI
000020e9: PUSH1 0x00
000020eb: DUP1
000020ec: REVERT
000020ed: JUMPDEST
000020ee: PUSH2 0x20f6
000020f1: DUP4
000020f2: PUSH2 0x1f0d
000020f5: JUMP
000020f6: JUMPDEST
000020f7: SWAP2
000020f8: POP
000020f9: PUSH1 0x20
000020fb: DUP4
000020fc: ADD
000020fd: CALLDATALOAD
000020fe: PUSH2 0x2106
00002101: DUP2
00002102: PUSH2 0x20cc
00002105: JUMP
00002106: JUMPDEST
00002107: DUP1
00002108: SWAP2
00002109: POP
0000210a: POP
0000210b: SWAP3
0000210c: POP
0000210d: SWAP3
0000210e: SWAP1
0000210f: POP
00002110: JUMP
00002111: JUMPDEST
00002112: PUSH1 0x00
00002114: DUP1
00002115: PUSH1 0x00
00002117: DUP1
00002118: PUSH1 0x00
0000211a: DUP1
0000211b: PUSH1 0xc0
0000211d: DUP8
0000211e: DUP10
0000211f: SUB
00002120: SLT
00002121: ISZERO
00002122: PUSH2 0x212a
00002125: JUMPI
00002126: PUSH1 0x00
00002128: DUP1
00002129: REVERT
0000212a: JUMPDEST
0000212b: PUSH2 0x2133
0000212e: DUP8
0000212f: PUSH2 0x1f0d
00002132: JUMP
00002133: JUMPDEST
00002134: SWAP6
00002135: POP
00002136: PUSH1 0x20
00002138: DUP8
00002139: ADD
0000213a: CALLDATALOAD
0000213b: SWAP5
0000213c: POP
0000213d: PUSH1 0x40
0000213f: DUP8
00002140: ADD
00002141: CALLDATALOAD
00002142: SWAP4
00002143: POP
00002144: PUSH1 0x60
00002146: DUP8
00002147: ADD
00002148: CALLDATALOAD
00002149: PUSH1 0xff
0000214b: DUP2
0000214c: AND
0000214d: DUP2
0000214e: EQ
0000214f: PUSH2 0x2157
00002152: JUMPI
00002153: PUSH1 0x00
00002155: DUP1
00002156: REVERT
00002157: JUMPDEST
00002158: SWAP6
00002159: SWAP9
0000215a: SWAP5
0000215b: SWAP8
0000215c: POP
0000215d: SWAP3
0000215e: SWAP6
0000215f: PUSH1 0x80
00002161: DUP2
00002162: ADD
00002163: CALLDATALOAD
00002164: SWAP5
00002165: PUSH1 0xa0
00002167: SWAP1
00002168: SWAP2
00002169: ADD
0000216a: CALLDATALOAD
0000216b: SWAP4
0000216c: POP
0000216d: SWAP2
0000216e: POP
0000216f: POP
00002170: JUMP
00002171: JUMPDEST
00002172: PUSH1 0x00
00002174: DUP1
00002175: PUSH1 0x00
00002177: PUSH1 0x60
00002179: DUP5
0000217a: DUP7
0000217b: SUB
0000217c: SLT
0000217d: ISZERO
0000217e: PUSH2 0x2186
00002181: JUMPI
00002182: PUSH1 0x00
00002184: DUP1
00002185: REVERT
00002186: JUMPDEST
00002187: PUSH2 0x218f
0000218a: DUP5
0000218b: PUSH2 0x1f0d
0000218e: JUMP
0000218f: JUMPDEST
00002190: SWAP6
00002191: PUSH1 0x20
00002193: DUP6
00002194: ADD
00002195: CALLDATALOAD
00002196: SWAP6
00002197: POP
00002198: PUSH1 0x40
0000219a: SWAP1
0000219b: SWAP5
0000219c: ADD
0000219d: CALLDATALOAD
0000219e: SWAP4
0000219f: SWAP3
000021a0: POP
000021a1: POP
000021a2: POP
000021a3: JUMP
000021a4: JUMPDEST
000021a5: PUSH4 0x4e487b71
000021aa: PUSH1 0xe0
000021ac: SHL
000021ad: PUSH1 0x00
000021af: MSTORE
000021b0: PUSH1 0x41
000021b2: PUSH1 0x04
000021b4: MSTORE
000021b5: PUSH1 0x24
000021b7: PUSH1 0x00
000021b9: REVERT
000021ba: JUMPDEST
000021bb: PUSH4 0x4e487b71
000021c0: PUSH1 0xe0
000021c2: SHL
000021c3: PUSH1 0x00
000021c5: MSTORE
000021c6: PUSH1 0x32
000021c8: PUSH1 0x04
000021ca: MSTORE
000021cb: PUSH1 0x24
000021cd: PUSH1 0x00
000021cf: REVERT
000021d0: JUMPDEST
000021d1: PUSH1 0x01
000021d3: DUP2
000021d4: DUP2
000021d5: SHR
000021d6: SWAP1
000021d7: DUP3
000021d8: AND
000021d9: DUP1
000021da: PUSH2 0x21e4
000021dd: JUMPI
000021de: PUSH1 0x7f
000021e0: DUP3
000021e1: AND
000021e2: SWAP2
000021e3: POP
000021e4: JUMPDEST
000021e5: PUSH1 0x20
000021e7: DUP3
000021e8: LT
000021e9: DUP2
000021ea: SUB
000021eb: PUSH2 0x17e5
000021ee: JUMPI
000021ef: PUSH4 0x4e487b71
000021f4: PUSH1 0xe0
000021f6: SHL
000021f7: PUSH1 0x00
000021f9: MSTORE
000021fa: PUSH1 0x22
000021fc: PUSH1 0x04
000021fe: MSTORE
000021ff: PUSH1 0x24
00002201: PUSH1 0x00
00002203: REVERT
00002204: JUMPDEST
00002205: PUSH4 0x4e487b71
0000220a: PUSH1 0xe0
0000220c: SHL
0000220d: PUSH1 0x00
0000220f: MSTORE
00002210: PUSH1 0x11
00002212: PUSH1 0x04
00002214: MSTORE
00002215: PUSH1 0x24
00002217: PUSH1 0x00
00002219: REVERT
0000221a: JUMPDEST
0000221b: DUP2
0000221c: DUP2
0000221d: SUB
0000221e: DUP2
0000221f: DUP2
00002220: GT
00002221: ISZERO
00002222: PUSH2 0x063a
00002225: JUMPI
00002226: PUSH2 0x063a
00002229: PUSH2 0x2204
0000222c: JUMP
0000222d: JUMPDEST
0000222e: PUSH4 0x4e487b71
00002233: PUSH1 0xe0
00002235: SHL
00002236: PUSH1 0x00
00002238: MSTORE
00002239: PUSH1 0x31
0000223b: PUSH1 0x04
0000223d: MSTORE
0000223e: PUSH1 0x24
00002240: PUSH1 0x00
00002242: REVERT
00002243: JUMPDEST
00002244: PUSH1 0x00
00002246: PUSH1 0x20
00002248: DUP3
00002249: DUP5
0000224a: SUB
0000224b: SLT
0000224c: ISZERO
0000224d: PUSH2 0x2255
00002250: JUMPI
00002251: PUSH1 0x00
00002253: DUP1
00002254: REVERT
00002255: JUMPDEST
00002256: POP
00002257: MLOAD
00002258: SWAP2
00002259: SWAP1
0000225a: POP
0000225b: JUMP
0000225c: JUMPDEST
0000225d: DUP1
0000225e: DUP3
0000225f: ADD
00002260: DUP1
00002261: DUP3
00002262: GT
00002263: ISZERO
00002264: PUSH2 0x063a
00002267: JUMPI
00002268: PUSH2 0x063a
0000226b: PUSH2 0x2204
0000226e: JUMP
0000226f: JUMPDEST
00002270: DUP1
00002271: DUP3
00002272: MUL
00002273: DUP2
00002274: ISZERO
00002275: DUP3
00002276: DUP3
00002277: DIV
00002278: DUP5
00002279: EQ
0000227a: OR
0000227b: PUSH2 0x063a
0000227e: JUMPI
0000227f: PUSH2 0x063a
00002282: PUSH2 0x2204
00002285: JUMP
00002286: JUMPDEST
00002287: PUSH1 0x00
00002289: DUP3
0000228a: PUSH2 0x22a3
0000228d: JUMPI
0000228e: PUSH4 0x4e487b71
00002293: PUSH1 0xe0
00002295: SHL
00002296: PUSH1 0x00
00002298: MSTORE
00002299: PUSH1 0x12
0000229b: PUSH1 0x04
0000229d: MSTORE
0000229e: PUSH1 0x24
000022a0: PUSH1 0x00
000022a2: REVERT
000022a3: JUMPDEST
000022a4: POP
000022a5: DIV
000022a6: SWAP1
000022a7: JUMP
000022a8: JUMPDEST
000022a9: PUSH1 0x20
000022ab: DUP1
000022ac: DUP3
000022ad: MSTORE
000022ae: PUSH1 0x2b
000022b0: SWAP1
000022b1: DUP3
000022b2: ADD
000022b3: MSTORE
000022b4: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069
000022d5: PUSH1 0x40
000022d7: DUP3
000022d8: ADD
000022d9: MSTORE
000022da: PUSH11 0x6e697469616c697a696e67
000022e6: PUSH1 0xa8
000022e8: SHL
000022e9: PUSH1 0x60
000022eb: DUP3
000022ec: ADD
000022ed: MSTORE
000022ee: PUSH1 0x80
000022f0: ADD
000022f1: SWAP1
000022f2: JUMP
000022f3: JUMPDEST
000022f4: PUSH1 0x00
000022f6: PUSH1 0x20
000022f8: DUP3
000022f9: DUP5
000022fa: SUB
000022fb: SLT
000022fc: ISZERO
000022fd: PUSH2 0x2305
00002300: JUMPI
00002301: PUSH1 0x00
00002303: DUP1
00002304: REVERT
00002305: JUMPDEST
00002306: DUP2
00002307: MLOAD
00002308: PUSH2 0x082c
0000230b: DUP2
0000230c: PUSH2 0x20cc
0000230f: JUMP
00002310: JUMPDEST
00002311: PUSH1 0x1f
00002313: DUP3
00002314: GT
00002315: ISZERO
00002316: PUSH2 0x13ee
00002319: JUMPI
0000231a: PUSH1 0x00
0000231c: DUP2
0000231d: DUP2
0000231e: MSTORE
0000231f: PUSH1 0x20
00002321: DUP2
00002322: KECCAK256
00002323: PUSH1 0x1f
00002325: DUP6
00002326: ADD
00002327: PUSH1 0x05
00002329: SHR
0000232a: DUP2
0000232b: ADD
0000232c: PUSH1 0x20
0000232e: DUP7
0000232f: LT
00002330: ISZERO
00002331: PUSH2 0x2337
00002334: JUMPI
00002335: POP
00002336: DUP1
00002337: JUMPDEST
00002338: PUSH1 0x1f
0000233a: DUP6
0000233b: ADD
0000233c: PUSH1 0x05
0000233e: SHR
0000233f: DUP3
00002340: ADD
00002341: SWAP2
00002342: POP
00002343: JUMPDEST
00002344: DUP2
00002345: DUP2
00002346: LT
00002347: ISZERO
00002348: PUSH2 0x2356
0000234b: JUMPI
0000234c: DUP3
0000234d: DUP2
0000234e: SSTORE
0000234f: PUSH1 0x01
00002351: ADD
00002352: PUSH2 0x2343
00002355: JUMP
00002356: JUMPDEST
00002357: POP
00002358: POP
00002359: POP
0000235a: POP
0000235b: POP
0000235c: POP
0000235d: JUMP
0000235e: JUMPDEST
0000235f: DUP2
00002360: MLOAD
00002361: PUSH8 0xffffffffffffffff
0000236a: DUP2
0000236b: GT
0000236c: ISZERO
0000236d: PUSH2 0x2378
00002370: JUMPI
00002371: PUSH2 0x2378
00002374: PUSH2 0x21a4
00002377: JUMP
00002378: JUMPDEST
00002379: PUSH2 0x238c
0000237c: DUP2
0000237d: PUSH2 0x2386
00002380: DUP5
00002381: SLOAD
00002382: PUSH2 0x21d0
00002385: JUMP
00002386: JUMPDEST
00002387: DUP5
00002388: PUSH2 0x2310
0000238b: JUMP
0000238c: JUMPDEST
0000238d: PUSH1 0x20
0000238f: DUP1
00002390: PUSH1 0x1f
00002392: DUP4
00002393: GT
00002394: PUSH1 0x01
00002396: DUP2
00002397: EQ
00002398: PUSH2 0x23c1
0000239b: JUMPI
0000239c: PUSH1 0x00
0000239e: DUP5
0000239f: ISZERO
000023a0: PUSH2 0x23a9
000023a3: JUMPI
000023a4: POP
000023a5: DUP6
000023a6: DUP4
000023a7: ADD
000023a8: MLOAD
000023a9: JUMPDEST
000023aa: PUSH1 0x00
000023ac: NOT
000023ad: PUSH1 0x03
000023af: DUP7
000023b0: SWAP1
000023b1: SHL
000023b2: SHR
000023b3: NOT
000023b4: AND
000023b5: PUSH1 0x01
000023b7: DUP6
000023b8: SWAP1
000023b9: SHL
000023ba: OR
000023bb: DUP6
000023bc: SSTORE
000023bd: PUSH2 0x2356
000023c0: JUMP
000023c1: JUMPDEST
000023c2: PUSH1 0x00
000023c4: DUP6
000023c5: DUP2
000023c6: MSTORE
000023c7: PUSH1 0x20
000023c9: DUP2
000023ca: KECCAK256
000023cb: PUSH1 0x1f
000023cd: NOT
000023ce: DUP7
000023cf: AND
000023d0: SWAP2
000023d1: JUMPDEST
000023d2: DUP3
000023d3: DUP2
000023d4: LT
000023d5: ISZERO
000023d6: PUSH2 0x23f0
000023d9: JUMPI
000023da: DUP9
000023db: DUP7
000023dc: ADD
000023dd: MLOAD
000023de: DUP3
000023df: SSTORE
000023e0: SWAP5
000023e1: DUP5
000023e2: ADD
000023e3: SWAP5
000023e4: PUSH1 0x01
000023e6: SWAP1
000023e7: SWAP2
000023e8: ADD
000023e9: SWAP1
000023ea: DUP5
000023eb: ADD
000023ec: PUSH2 0x23d1
000023ef: JUMP
000023f0: JUMPDEST
000023f1: POP
000023f2: DUP6
000023f3: DUP3
000023f4: LT
000023f5: ISZERO
000023f6: PUSH2 0x240e
000023f9: JUMPI
000023fa: DUP8
000023fb: DUP6
000023fc: ADD
000023fd: MLOAD
000023fe: PUSH1 0x00
00002400: NOT
00002401: PUSH1 0x03
00002403: DUP9
00002404: SWAP1
00002405: SHL
00002406: PUSH1 0xf8
00002408: AND
00002409: SHR
0000240a: NOT
0000240b: AND
0000240c: DUP2
0000240d: SSTORE
0000240e: JUMPDEST
0000240f: POP
00002410: POP
00002411: POP
00002412: POP
00002413: POP
00002414: PUSH1 0x01
00002416: SWAP1
00002417: DUP2
00002418: SHL
00002419: ADD
0000241a: SWAP1
0000241b: SSTORE
0000241c: POP
0000241d: JUMP
0000241e: JUMPDEST
0000241f: PUSH1 0x00
00002421: DUP3
00002422: MLOAD
00002423: PUSH2 0x2430
00002426: DUP2
00002427: DUP5
00002428: PUSH1 0x20
0000242a: DUP8
0000242b: ADD
0000242c: PUSH2 0x1fc3
0000242f: JUMP
00002430: JUMPDEST
00002431: SWAP2
00002432: SWAP1
00002433: SWAP2
00002434: ADD
00002435: SWAP3
00002436: SWAP2
00002437: POP
00002438: POP
00002439: JUMP
0000243a: INVALID
0000243b: LOG2
0000243c: PUSH5 0x6970667358
00002442: UNKNOWN(0x22)
00002443: SLT
00002444: KECCAK256
00002445: MOD
00002446: SWAP12
00002447: UNKNOWN(0x2A)
00002448: EXTCODEHASH
00002449: UNKNOWN(0xD9)
0000244a: DIV
0000244b: DUP13
0000244c: PUSH4 0xd9d6e3db
00002451: UNKNOWN(0x4D)
00002452: UNKNOWN(0x2C)
00002453: SLT
00002454: UNKNOWN(0xDD)
00002455: ISZERO
00002456: UNKNOWN(0xD5)
00002457: BYTE
00002458: SWAP12
00002459: UNKNOWN(0xFB)
0000245a: EXTCODESIZE
0000245b: TSTORE
0000245c: UNKNOWN(0xAB)
0000245d: UNKNOWN(0xA5)
0000245e: PUSH25

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x75a64bee1e3778845a53d830531c32d61d7fa8b62e22dd0d738aa594c3202d5e
call_targets: 0xb1f131437e314614313aab3a3016fa05c1b0e087
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x75a64bee1e3778845a53d830531c32d61d7fa8b62e22dd0d738aa594c3202d5e",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb1f131437e314614313aab3a3016fa05c1b0e087"
    ],
    "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": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe9fad8ee",
            "selector": "0xe9fad8ee",
            "calldata_variants": [
                "0xe9fad8ee",
                "0xe9fad8ee0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf301af42",
            "selector": "0xf301af42",
            "calldata_variants": [
                "0xf301af42",
                "0xf301af420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc4d66de8",
            "selector": "0xc4d66de8",
            "calldata_variants": [
                "0xc4d66de8",
                "0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcc7a262e",
            "selector": "0xcc7a262e",
            "calldata_variants": [
                "0xcc7a262e",
                "0xcc7a262e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd936547e",
            "selector": "0xd936547e",
            "calldata_variants": [
                "0xd936547e",
                "0xd936547e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2777,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7710,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 2,
    "guards_detected": [],
    "untrusted_call_count": 2
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x75a64bee1e3778845a53d830531c32d61d7fa8b62e22dd0d738aa594c3202d5e
call_targets: 0xb1f131437e314614313aab3a3016fa05c1b0e087
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x75a64bee1e3778845a53d830531c32d61d7fa8b62e22dd0d738aa594c3202d5e",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xb1f131437e314614313aab3a3016fa05c1b0e087"
    ],
    "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": "0xdd62ed3e",
            "selector": "0xdd62ed3e",
            "calldata_variants": [
                "0xdd62ed3e",
                "0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe9fad8ee",
            "selector": "0xe9fad8ee",
            "calldata_variants": [
                "0xe9fad8ee",
                "0xe9fad8ee0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf301af42",
            "selector": "0xf301af42",
            "calldata_variants": [
                "0xf301af42",
                "0xf301af420000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa9059cbb",
            "selector": "0xa9059cbb",
            "calldata_variants": [
                "0xa9059cbb",
                "0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc4d66de8",
            "selector": "0xc4d66de8",
            "calldata_variants": [
                "0xc4d66de8",
                "0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xcc7a262e",
            "selector": "0xcc7a262e",
            "calldata_variants": [
                "0xcc7a262e",
                "0xcc7a262e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd936547e",
            "selector": "0xd936547e",
            "calldata_variants": [
                "0xd936547e",
                "0xd936547e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2777,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7710,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 2,
    "guards_detected": []
}
low math codex Fee-on-transfer or rebasing tokens break staking/reward accounting and can zero out user rewards 65 no
view
evidence_json
{
    "evidence": "`_stake` mints before transferring the staked token; `notifyRewardAmount` uses `_amount` to set the reward rate without verifying actual received; `_rewardTransfer` caps payout to current balance and earned is set to zero before transfer.",
    "locations": [
        "contracts/contracts/BIFI/infra/BeefyRewardPool.sol:248",
        "contracts/contracts/BIFI/infra/BeefyRewardPool.sol:342",
        "contracts/contracts/BIFI/infra/BeefyRewardPool.sol:425"
    ],
    "recommendation": "Measure actual received amounts by comparing balances before/after `safeTransferFrom`, and base minting and reward rates on the received amount. Alternatively, explicitly restrict staked/reward tokens to non-deflationary ERC20s and revert if the actual received amount is less than expected. Consider reverting (or tracking shortfalls) if reward funding is insufficient instead of zeroing earned balances.",
    "exploit_scenario": "If the staked token or a reward token charges a transfer fee (or rebases), the contract records amounts using the nominal `_amount` rather than the actual received. For rewards, the rate is computed from `_amount`, but the contract may receive less, so rewards become underfunded; `_rewardTransfer` then caps to balance and zeroes the user\u2019s earned amount, causing permanent reward loss for later claimants. For staking, receipt tokens are minted before the transfer, so fee-on-transfer staking can leave receipt supply greater than underlying, leading to insolvent withdrawals or reverts."
}
info upgradeability codex Initializer is publicly callable if deployed/left uninitialized 60 no
view
evidence_json
{
    "evidence": "`initialize` is an external initializer without additional access control, and there is no constructor disabling initializers.",
    "locations": [
        "contracts/contracts/BIFI/infra/BeefyRewardPool.sol:105"
    ],
    "recommendation": "Ensure the proxy is initialized atomically at deployment. Add a constructor that calls `_disableInitializers()` on the implementation to prevent takeovers of the implementation contract itself.",
    "exploit_scenario": "If the proxy is deployed without an atomic initializer call, or if the implementation contract is deployed directly, anyone can call `initialize` first and become the owner. This grants control over whitelisting, reward removal, and token rescues. This is a common upgradeability footgun when initialization is not performed in the same transaction as deployment."
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 5
}