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

Analysis Run

46cff257-db03-4435-9677-6bd04c33af53

complete
Chain ID
1
Address
Block Number
Created
Tue, Dec 30, 2025 1:38 AM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Untrusted DELEGATECALL target 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
30649 report.consolidate complete 1 / 1 3 months ago
74890 artifact.fetch complete 1 / 3 1 week ago
74891 tool.cast_disasm complete 1 / 3 1 week ago
74892 analysis.bundle complete 1 / 3 1 week ago
74893 capability.graph complete 1 / 3 1 week ago
74894 detector.run complete 1 / 3 1 week ago
74895 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
1
No findings?
no
Summary
Found a medium-severity accounting issue: fee-on-transfer or rebasing tokens can inflate shares and make the vault insolvent for that token.
View stderr
[codex:540616] OpenAI Codex v0.77.0 (research preview)
[codex:540616] --------
[codex:540616] workdir: /tmp/codex-multi-m4661tdw
[codex:540616] model: gpt-5.2-codex
[codex:540616] provider: openai
[codex:540616] approval: never
[codex:540616] sandbox: read-only
[codex:540616] reasoning effort: xhigh
[codex:540616] reasoning summaries: auto
[codex:540616] session id: 019b6cdf-80bb-7f42-8074-fc93b3057c12
[codex:540616] --------
[codex:540616] user
[codex:540616] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:540616] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:540616] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:540616] 
[codex:540616] Scope rules:
[codex:540616] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:540616] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:540616] 
[codex:540616] Output MUST be valid JSON matching the provided schema.
[codex:540616] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:540616] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:540616] 
[codex:540616] Output constraints (IMPORTANT):
[codex:540616] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:540616] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:540616] mcp startup: no servers
[codex:540616] 
[codex:540616] thinking
[codex:540616] **Preparing to audit skills and read instructions**
[codex:540616] exec
[codex:540616] /bin/bash -lc ls in /tmp/codex-multi-m4661tdw succeeded in 5ms:
[codex:540616] AUDIT_BUNDLE.txt
[codex:540616] codex-output-schema.json
[codex:540616] contracts
[codex:540616] 
[codex:540616] thinking
[codex:540616] **Reading AUDIT_BUNDLE.txt**
[codex:540616] exec
[codex:540616] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-m4661tdw succeeded in 6ms:
[codex:540616] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:540616] 
[codex:540616] ================================================================================
[codex:540616] FILE: contracts/Contract.sol
[codex:540616] ================================================================================
[codex:540616] // SPDX-License-Identifier: UNLICENSED
[codex:540616] // The BentoBox
[codex:540616] 
[codex:540616] //  ▄▄▄▄· ▄▄▄ . ▐ ▄ ▄▄▄▄▄      ▄▄▄▄·       ▐▄• ▄
[codex:540616] //  ▐█ ▀█▪▀▄.▀·█▌▐█•██  ▪     ▐█ ▀█▪▪      █▌█▌▪
[codex:540616] //  ▐█▀▀█▄▐▀▀▪▄▐█▐▐▌ ▐█.▪ ▄█▀▄ ▐█▀▀█▄ ▄█▀▄  ·██·
[codex:540616] //  ██▄▪▐█▐█▄▄▌██▐█▌ ▐█▌·▐█▌.▐▌██▄▪▐█▐█▌.▐▌▪▐█·█▌
[codex:540616] //  ·▀▀▀▀  ▀▀▀ ▀▀ █▪ ▀▀▀  ▀█▄▀▪·▀▀▀▀  ▀█▄▀▪•▀▀ ▀▀
[codex:540616] 
[codex:540616] // This contract stores funds, handles their transfers, supports flash loans and strategies.
[codex:540616] 
[codex:540616] // Copyright (c) 2021 BoringCrypto - All rights reserved
[codex:540616] // Twitter: @Boring_Crypto
[codex:540616] 
[codex:540616] // Special thanks to Keno for all his hard work and support
[codex:540616] 
[codex:540616] thinking
[codex:540616] **Preparing to fully read large audit file**
[codex:540616] 
[codex:540616] I need to ensure I capture the entire AUDIT_BUNDLE.txt since it likely contains multiple contracts and the previous output was truncated. I'll plan to read the file in segments using commands like `sed` or `wc` to get line counts and fully review all relevant parts for a thorough vulnerability analysis.
[codex:540616] exec
[codex:540616] /bin/bash -lc 'wc -l AUDIT_BUNDLE.txt' in /tmp/codex-multi-m4661tdw succeeded in 5ms:
[codex:540616] 1159 AUDIT_BUNDLE.txt
[codex:540616] 
[codex:540616] thinking
[codex:540616] **Planning to review file in segments**
[codex:540616] exec
[codex:540616] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-m4661tdw succeeded in 6ms:
[codex:540616] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:540616] 
[codex:540616] ================================================================================
[codex:540616] FILE: contracts/Contract.sol
[codex:540616] ================================================================================
[codex:540616] // SPDX-License-Identifier: UNLICENSED
[codex:540616] // The BentoBox
[codex:540616] 
[codex:540616] //  ▄▄▄▄· ▄▄▄ . ▐ ▄ ▄▄▄▄▄      ▄▄▄▄·       ▐▄• ▄
[codex:540616] //  ▐█ ▀█▪▀▄.▀·█▌▐█•██  ▪     ▐█ ▀█▪▪      █▌█▌▪
[codex:540616] //  ▐█▀▀█▄▐▀▀▪▄▐█▐▐▌ ▐█.▪ ▄█▀▄ ▐█▀▀█▄ ▄█▀▄  ·██·
[codex:540616] //  ██▄▪▐█▐█▄▄▌██▐█▌ ▐█▌·▐█▌.▐▌██▄▪▐█▐█▌.▐▌▪▐█·█▌
[codex:540616] //  ·▀▀▀▀  ▀▀▀ ▀▀ █▪ ▀▀▀  ▀█▄▀▪·▀▀▀▀  ▀█▄▀▪•▀▀ ▀▀
[codex:540616] 
[codex:540616] // This contract stores funds, handles their transfers, supports flash loans and strategies.
[codex:540616] 
[codex:540616] // Copyright (c) 2021 BoringCrypto - All rights reserved
[codex:540616] // Twitter: @Boring_Crypto
[codex:540616] 
[codex:540616] // Special thanks to Keno for all his hard work and support
[codex:540616] 
[codex:540616] thinking
[codex:540616] **Continuing current task**
[codex:540616] exec
[codex:540616] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-m4661tdw succeeded in 7ms:
[codex:540616]         c = uint32(a);
[codex:540616]     }
[codex:540616] }
[codex:540616] 
[codex:540616] /// @notice A library for performing overflow-/underflow-safe addition and subtraction on uint128.
[codex:540616] library BoringMath128 {
[codex:540616]     function add(uint128 a, uint128 b) internal pure returns (uint128 c) {
[codex:540616]         require((c = a + b) >= b, "BoringMath: Add Overflow");
[codex:540616]     }
[codex:540616] 
[codex:540616]     function sub(uint128 a, uint128 b) internal pure returns (uint128 c) {
[codex:540616]         require((c = a - b) <= a, "BoringMath: Underflow");
[codex:540616]     }
[codex:540616] }
[codex:540616] 
[codex:540616] /// @notice A library for performing overflow-/underflow-safe addition and subtraction on uint64.
[codex:540616] library BoringMath64 {
[codex:540616]     function add(uint64 a, uint64 b) internal pure returns (uint64 c) {
[codex:540616]         require((c = a + b) >= b, "BoringMath: Add Overflow");
[codex:540616]     }
[codex:540616] 
[codex:540616] thinking
[codex:540616] **Continuing exploration**
[codex:540616] exec
[codex:540616] /bin/bash -lc "sed -n '400,600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-m4661tdw succeeded in 6ms:
[codex:540616]     }
[codex:540616] 
[codex:540616]     /// @notice Only allows the `owner` to execute the function.
[codex:540616]     modifier onlyOwner() {
[codex:540616]         require(msg.sender == owner, "Ownable: caller is not the owner");
[codex:540616]         _;
[codex:540616]     }
[codex:540616] }
[codex:540616] 
[codex:540616] // File @boringcrypto/boring-solidity/contracts/interfaces/IMasterContract.sol@v1.2.0
[codex:540616] // License-Identifier: MIT
[codex:540616] 
[codex:540616] interface IMasterContract {
[codex:540616]     /// @notice Init function that gets called from `BoringFactory.deploy`.
[codex:540616]     /// Also kown as the constructor for cloned contracts.
[codex:540616]     /// Any ETH send to `BoringFactory.deploy` ends up here.
[codex:540616]     /// @param data Can be abi encoded arguments or anything else.
[codex:540616]     function init(bytes calldata data) external payable;
[codex:540616] }
[codex:540616] 
[codex:540616] 
[codex:540616] thinking
[codex:540616] **Continuing analysis**
[codex:540616] exec
[codex:540616] /bin/bash -lc "sed -n '600,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-m4661tdw succeeded in 5ms:
[codex:540616]     }
[codex:540616] }
[codex:540616] 
[codex:540616] // File @boringcrypto/boring-solidity/contracts/BoringBatchable.sol@v1.2.0
[codex:540616] // License-Identifier: MIT
[codex:540616] 
[codex:540616] contract BaseBoringBatchable {
[codex:540616]     /// @dev Helper function to extract a useful revert message from a failed call.
[codex:540616]     /// If the returned data is malformed or not correctly abi encoded then this call can fail itself.
[codex:540616]     function _getRevertMsg(bytes memory _returnData) internal pure returns (string memory) {
[codex:540616]         // If the _res length is less than 68, then the transaction failed silently (without a revert message)
[codex:540616]         if (_returnData.length < 68) return "Transaction reverted silently";
[codex:540616] 
[codex:540616]         assembly {
[codex:540616]             // Slice the sighash.
[codex:540616]             _returnData := add(_returnData, 0x04)
[codex:540616]         }
[codex:540616]         return abi.decode(_returnData, (string)); // All that remains is the revert string
[codex:540616]     }
[codex:540616] 
[codex:540616] 
[codex:540616] thinking
[codex:540616] **Continuing inspection**
[codex:540616] exec
[codex:540616] /bin/bash -lc "sed -n '800,1000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-m4661tdw succeeded in 6ms:
[codex:540616]     /// @notice Deposit an amount of `token` represented in either `amount` or `share`.
[codex:540616]     /// @param token_ The ERC-20 token to deposit.
[codex:540616]     /// @param from which account to pull the tokens.
[codex:540616]     /// @param to which account to push the tokens.
[codex:540616]     /// @param amount Token amount in native representation to deposit.
[codex:540616]     /// @param share Token amount represented in shares to deposit. Takes precedence over `amount`.
[codex:540616]     /// @return amountOut The amount deposited.
[codex:540616]     /// @return shareOut The deposited amount repesented in shares.
[codex:540616]     function deposit(
[codex:540616]         IERC20 token_,
[codex:540616]         address from,
[codex:540616]         address to,
[codex:540616]         uint256 amount,
[codex:540616]         uint256 share
[codex:540616]     ) public payable allowed(from) returns (uint256 amountOut, uint256 shareOut) {
[codex:540616]         // Checks
[codex:540616]         require(to != address(0), "BentoBox: to not set"); // To avoid a bad UI from burning funds
[codex:540616] 
[codex:540616]         // Effects
[codex:540616]         IERC20 token = token_ == USE_ETHEREUM ? wethToken : token_;
[codex:540616] 
[codex:540616] thinking
[codex:540616] **Continuing exploration**
[codex:540616] exec
[codex:540616] /bin/bash -lc "sed -n '1000,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-m4661tdw succeeded in 5ms:
[codex:540616]     // F5 - Checks-Effects-Interactions pattern followed? (SWC-107)
[codex:540616]     // F5: Not possible to follow this here, reentrancy has been reviewed
[codex:540616]     // F6 - Check for front-running possibilities, such as the approve function (SWC-114)
[codex:540616]     // F6: Slight grieving possible by withdrawing an amount before someone tries to flashloan close to the full amount.
[codex:540616]     function batchFlashLoan(
[codex:540616]         IBatchFlashBorrower borrower,
[codex:540616]         address[] calldata receivers,
[codex:540616]         IERC20[] calldata tokens,
[codex:540616]         uint256[] calldata amounts,
[codex:540616]         bytes calldata data
[codex:540616]     ) public {
[codex:540616]         uint256[] memory fees = new uint256[](tokens.length);
[codex:540616] 
[codex:540616]         uint256 len = tokens.length;
[codex:540616]         for (uint256 i = 0; i < len; i++) {
[codex:540616]             uint256 amount = amounts[i];
[codex:540616]             fees[i] = amount.mul(FLASH_LOAN_FEE) / FLASH_LOAN_FEE_PRECISION;
[codex:540616] 
[codex:540616]             tokens[i].safeTransfer(receivers[i], amounts[i]);
[codex:540616]         }
[codex:540616] 
[codex:540616] 
[codex:540616] 
[codex:540616] 
[codex:540616] 
[codex:540616] 
[codex:540616] thinking
[codex:540616] **Reviewing contract vulnerabilities and design nuances**
[codex:540616] thinking
[codex:540616] **Identifying subtle bugs and token risks**
[codex:540616] 
[codex:540616] I’m noting medium-severity risks with deflationary or rebasing tokens causing accounting mismatches and share inflation. I’m also spotting minor unchecked input length issues and some batch and reentrancy patterns that seem safe but are worth highlighting. The batch delegatecall preserves msg.value, which might allow tricky reuses in certain cases. Overall, I’m gathering a thorough list of nuanced findings about strategy handling, approvals, and external calls that could impact contract behavior in edge cases.
[codex:540616] thinking
[codex:540616] **Examining edge cases and approval design risks**
[codex:540616] 
[codex:540616] I’m exploring unusual behaviors like calls to address(0) that succeed but lose ETH, reentrancy possibilities during strategy switching, and subtle signature verification details. I’m also digging into the approval system where users grant rights to master contracts, but clones can be deployed by anyone with arbitrary initialization—this could let malicious clones act under approved master contracts. These insights highlight important nuances in contract design and access control assumptions.
[codex:540616] thinking
[codex:540616] **Analyzing flashloan logic and token handling risks**
[codex:540616] 
[codex:540616] I'm unpacking how flashloans handle fees and repayments, spotting that tokens accidentally sent (untracked) can be taken by paying only fees due to how totals.elastic is used. I’m also considering risks with deflationary tokens skewing accounting, potential manipulation via strategy-reported profits, and nuances in approval and signature handling under various conditions. These connect to how BentoBox manages token balances and permissions, revealing some subtle design trade-offs.
[codex:540616] thinking
[codex:540616] **Evaluating subtle design trade-offs and edge cases**
[codex:540616] 
[codex:540616] I’m weighing nuanced points around reentrancy, unchecked validations, and token behavior—especially deflationary tokens causing accounting mismatches and the implications of flashloan use with untracked tokens. I also consider minor issues like input length checks, delegatecall safety, and how external calls might allow reentrancy or stale state updates, while noting most risks stem from design assumptions or trusted components rather than outright vulnerabilities.
[codex:540616] thinking
[codex:540616] **Reviewing numeric safety and token interaction edge cases**
[codex:540616] 
[codex:540616] I’m analyzing integer overflow protections from BoringMath, reentrancy risks in ETH withdrawals, and nuanced access controls involving `address(this)` shares and skimming. I’m also considering signature handling, safeTransfer behaviors with unusual tokens, and implications of delegatecall usage and unchecked external calls, while preparing to identify relevant source code line numbers for specific findings.
[codex:540616] exec
[codex:540616] /bin/bash -lc "nl -ba AUDIT_BUNDLE.txt | sed -n '820,940p'" in /tmp/codex-multi-m4661tdw succeeded in 9ms:
[codex:540616]    820	        Rebase memory total = totals[token];
[codex:540616]    821	
[codex:540616]    822	        // If a new token gets added, the tokenSupply call checks that this is a deployed contract. Needed for security.
[codex:540616]    823	        require(total.elastic != 0 || token.totalSupply() > 0, "BentoBox: No tokens");
[codex:540616]    824	        if (share == 0) {
[codex:540616]    825	            // value of the share may be lower than the amount due to rounding, that's ok
[codex:540616]    826	            share = total.toBase(amount, false);
[codex:540616]    827	            // Any deposit should lead to at least the minimum share balance, otherwise it's ignored (no amount taken)
[codex:540616]    828	            if (total.base.add(share.to128()) < MINIMUM_SHARE_BALANCE) {
[codex:540616]    829	                return (0, 0);
[codex:540616]    830	            }
[codex:540616]    831	        } else {
[codex:540616]    832	            // amount may be lower than the value of share due to rounding, in that case, add 1 to amount (Always round up)
[codex:540616]    833	            amount = total.toElastic(share, true);
[codex:540616]    834	        }
[codex:540616]    835	
[codex:540616]    836	        // In case of skimming, check that only the skimmable amount is taken.
[codex:540616]    837	        // For ETH, the full balance is available, so no need to check.
[codex:540616]    838	        // During flashloans the _tokenBalanceOf is lower than 'reality', so skimming deposits will mostly fail during a flashloan.
[codex:540616]    839	        require(
[codex:540616] 
[codex:540616] 
[codex:540616] thinking
[codex:540616] **Identifying token accounting and reentrancy risks**
[codex:540616] thinking
[codex:540616] **Analyzing ERC777 reentrancy and token handling nuances**
[codex:540616] 
[codex:540616] This part explores how ERC777 tokens' hooks could enable reentrancy during deposit calls since state updates precede external transfers. I’m carefully tracing whether this leads to fund loss or share misaccounting. The scenario reveals that while the attacker can reenter and withdraw tokens before transfer completes, the token balance and share state ultimately balance out, preventing immediate theft but possibly leaving unaccounted tokens that could confuse accounting. I also consider whether reentrancy could affect other tokens or shares but find no direct exploit. Alongside, I note design nuances around strategy calls, batch delegatecalls, and master contract approval processes, but these appear low risk or out of scope. Overall, I’m narrowing in on fee-on-transfer/rebasing token issues as the primary meaningful finding, alongside a potential reentrancy pattern with ERC777 tokens that merits mention given BentoBox’s openness to token types.
[codex:540616] exec
[codex:540616] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '780,920p'" in /tmp/codex-multi-m4661tdw succeeded in 6ms:
[codex:540616]    780	    }
[codex:540616]    781	
[codex:540616]    782	    /// @dev Helper function represent shares back into the `token` amount.
[codex:540616]    783	    /// @param token The ERC-20 token.
[codex:540616]    784	    /// @param share The amount of shares.
[codex:540616]    785	    /// @param roundUp If the result should be rounded up.
[codex:540616]    786	    /// @return amount The share amount back into native representation.
[codex:540616]    787	    function toAmount(
[codex:540616]    788	        IERC20 token,
[codex:540616]    789	        uint256 share,
[codex:540616]    790	        bool roundUp
[codex:540616]    791	    ) external view returns (uint256 amount) {
[codex:540616]    792	        amount = totals[token].toElastic(share, roundUp);
[codex:540616]    793	    }
[codex:540616]    794	
[codex:540616]    795	    /// @notice Deposit an amount of `token` represented in either `amount` or `share`.
[codex:540616]    796	    /// @param token_ The ERC-20 token to deposit.
[codex:540616]    797	    /// @param from which account to pull the tokens.
[codex:540616]    798	    /// @param to which account to push the tokens.
[codex:540616]    799	    /// @param amount Token amount in native representation to deposit.
[codex:540616] 
[codex:540616] thinking
[codex:540616] **Preparing security findings JSON**
[codex:540616] codex
[codex:540616] {"no_findings":false,"summary":"Found a medium-severity accounting issue: fee-on-transfer or rebasing tokens can inflate shares and make the vault insolvent for that token.","findings":[{"severity":"medium","category":"math","title":"Fee-on-transfer/rebasing tokens break share accounting","exploit_scenario":"An attacker deposits a deflationary or rebasing token. The vault credits shares based on the requested `amount`, but the actual received balance is lower (fee-on-transfer) or later changes (rebases). The attacker can then withdraw based on inflated shares, draining other depositors of the same token or causing insolvency for that token pool.","recommendation":"Calculate deposits based on actual balance delta (pre/post `transferFrom`) and update totals with the real received amount. Consider enforcing a token allowlist or explicit checks to reject rebasing/fee-on-transfer tokens, or document and prevent their use at the integration layer.","evidence":"`deposit()` updates `total.elastic` using the user-supplied `amount` before calling `token.safeTransferFrom` and never reconciles the actual received amount; `withdraw()` likewise debits totals based on `amount` without accounting for transfer fees.","locations":["contracts/Contract.sol:803","contracts/Contract.sol:866"]}]}
[codex:540616] tokens used
[codex:540616] 62,775
[codex:540616] {"no_findings":false,"summary":"Found a medium-severity accounting issue: fee-on-transfer or rebasing tokens can inflate shares and make the vault insolvent for that token.","findings":[{"severity":"medium","category":"math","title":"Fee-on-transfer/rebasing tokens break share accounting","exploit_scenario":"An attacker deposits a deflationary or rebasing token. The vault credits shares based on the requested `amount`, but the actual received balance is lower (fee-on-transfer) or later changes (rebases). The attacker can then withdraw based on inflated shares, draining other depositors of the same token or causing insolvency for that token pool.","recommendation":"Calculate deposits based on actual balance delta (pre/post `transferFrom`) and update totals with the real received amount. Consider enforcing a token allowlist or explicit checks to reject rebasing/fee-on-transfer tokens, or document and prevent their use at the integration layer.","evidence":"`deposit()` updates `total.elastic` using the user-supplied `amount` before calling `token.safeTransferFrom` and never reconciles the actual received amount; `withdraw()` likewise debits totals based on `amount` without accounting for transfer fees.","locations":["contracts/Contract.sol:803","contracts/Contract.sol:866"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-30T01:38:22.333413+00:00",
        "returncode": 0
    },
    "summary": "Found a medium-severity accounting issue: fee-on-transfer or rebasing tokens can inflate shares and make the vault insolvent for that token.",
    "raw_final": {
        "summary": "Found a medium-severity accounting issue: fee-on-transfer or rebasing tokens can inflate shares and make the vault insolvent for that token.",
        "findings": [
            {
                "title": "Fee-on-transfer/rebasing tokens break share accounting",
                "category": "math",
                "evidence": "`deposit()` updates `total.elastic` using the user-supplied `amount` before calling `token.safeTransferFrom` and never reconciles the actual received amount; `withdraw()` likewise debits totals based on `amount` without accounting for transfer fees.",
                "severity": "medium",
                "locations": [
                    "contracts/Contract.sol:803",
                    "contracts/Contract.sol:866"
                ],
                "recommendation": "Calculate deposits based on actual balance delta (pre/post `transferFrom`) and update totals with the real received amount. Consider enforcing a token allowlist or explicit checks to reject rebasing/fee-on-transfer tokens, or document and prevent their use at the integration layer.",
                "exploit_scenario": "An attacker deposits a deflationary or rebasing token. The vault credits shares based on the requested `amount`, but the actual received balance is lower (fee-on-transfer) or later changes (rebases). The attacker can then withdraw based on inflated shares, draining other depositors of the same token or causing insolvency for that token pool."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
1
Selfdestruct
0
CREATE2
1
CALL-family (heavy)
16
EXT*/BALANCE
12
Total opcodes
10402
Flags
delegatecall_present create_opcodes_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x01dc
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x7c516e94
00000019: GT
0000001a: PUSH2 0x0102
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xd2423b51
00000024: GT
00000025: PUSH2 0x0095
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xf1676d37
0000002f: GT
00000030: PUSH2 0x0064
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xf1676d37
0000003a: EQ
0000003b: PUSH2 0x0555
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf18d03cc
00000045: EQ
00000046: PUSH2 0x0575
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf483b3da
00000050: EQ
00000051: PUSH2 0x0595
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf7888aec
0000005b: EQ
0000005c: PUSH2 0x05b5
0000005f: JUMPI
00000060: PUSH2 0x01e3
00000063: JUMP
00000064: JUMPDEST
00000065: DUP1
00000066: PUSH4 0xd2423b51
0000006b: EQ
0000006c: PUSH2 0x04d0
0000006f: JUMPI
00000070: DUP1
00000071: PUSH4 0xda5139ca
00000076: EQ
00000077: PUSH2 0x04f1
0000007a: JUMPI
0000007b: DUP1
0000007c: PUSH4 0xdf23b45b
00000081: EQ
00000082: PUSH2 0x0511
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xe30c3978
0000008c: EQ
0000008d: PUSH2 0x0540
00000090: JUMPI
00000091: PUSH2 0x01e3
00000094: JUMP
00000095: JUMPDEST
00000096: DUP1
00000097: PUSH4 0x97da6d30
0000009c: GT
0000009d: PUSH2 0x00d1
000000a0: JUMPI
000000a1: DUP1
000000a2: PUSH4 0x97da6d30
000000a7: EQ
000000a8: PUSH2 0x045b
000000ab: JUMPI
000000ac: DUP1
000000ad: PUSH4 0xaee4d1b2
000000b2: EQ
000000b3: PUSH2 0x047b
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xbafe4f14
000000bd: EQ
000000be: PUSH2 0x0490
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0xc0a47c93
000000c8: EQ
000000c9: PUSH2 0x04b0
000000cc: JUMPI
000000cd: PUSH2 0x01e3
000000d0: JUMP
000000d1: JUMPDEST
000000d2: DUP1
000000d3: PUSH4 0x7c516e94
000000d8: EQ
000000d9: PUSH2 0x03e6
000000dc: JUMPI
000000dd: DUP1
000000de: PUSH4 0x7ecebe00
000000e3: EQ
000000e4: PUSH2 0x0406
000000e7: JUMPI
000000e8: DUP1
000000e9: PUSH4 0x8da5cb5b
000000ee: EQ
000000ef: PUSH2 0x0426
000000f2: JUMPI
000000f3: DUP1
000000f4: PUSH4 0x91e0eab5
000000f9: EQ
000000fa: PUSH2 0x043b
000000fd: JUMPI
000000fe: PUSH2 0x01e3
00000101: JUMP
00000102: JUMPDEST
00000103: DUP1
00000104: PUSH4 0x3e2a9d4e
00000109: GT
0000010a: PUSH2 0x017a
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x56623118
00000114: GT
00000115: PUSH2 0x0149
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0x56623118
0000011f: EQ
00000120: PUSH2 0x0366
00000123: JUMPI
00000124: DUP1
00000125: PUSH4 0x66c6bb0b
0000012a: EQ
0000012b: PUSH2 0x0386
0000012e: JUMPI
0000012f: DUP1
00000130: PUSH4 0x72cb5d97
00000135: EQ
00000136: PUSH2 0x03a6
00000139: JUMPI
0000013a: DUP1
0000013b: PUSH4 0x733a9d7c
00000140: EQ
00000141: PUSH2 0x03c6
00000144: JUMPI
00000145: PUSH2 0x01e3
00000148: JUMP
00000149: JUMPDEST
0000014a: DUP1
0000014b: PUSH4 0x3e2a9d4e
00000150: EQ
00000151: PUSH2 0x02e3
00000154: JUMPI
00000155: DUP1
00000156: PUSH4 0x4e71e0c8
0000015b: EQ
0000015c: PUSH2 0x0303
0000015f: JUMPI
00000160: DUP1
00000161: PUSH4 0x4ffe34db
00000166: EQ
00000167: PUSH2 0x0318
0000016a: JUMPI
0000016b: DUP1
0000016c: PUSH4 0x5108a558
00000171: EQ
00000172: PUSH2 0x0346
00000175: JUMPI
00000176: PUSH2 0x01e3
00000179: JUMP
0000017a: JUMPDEST
0000017b: DUP1
0000017c: PUSH4 0x12a90c8a
00000181: GT
00000182: PUSH2 0x01b6
00000185: JUMPI
00000186: DUP1
00000187: PUSH4 0x12a90c8a
0000018c: EQ
0000018d: PUSH2 0x0254
00000190: JUMPI
00000191: DUP1
00000192: PUSH4 0x1f54245b
00000197: EQ
00000198: PUSH2 0x0281
0000019b: JUMPI
0000019c: DUP1
0000019d: PUSH4 0x228bfd9f
000001a2: EQ
000001a3: PUSH2 0x02a1
000001a6: JUMPI
000001a7: DUP1
000001a8: PUSH4 0x3644e515
000001ad: EQ
000001ae: PUSH2 0x02c1
000001b1: JUMPI
000001b2: PUSH2 0x01e3
000001b5: JUMP
000001b6: JUMPDEST
000001b7: DUP1
000001b8: PUSH4 0x02b9446c
000001bd: EQ
000001be: PUSH2 0x01e8
000001c1: JUMPI
000001c2: DUP1
000001c3: PUSH4 0x078dfbe7
000001c8: EQ
000001c9: PUSH2 0x0212
000001cc: JUMPI
000001cd: DUP1
000001ce: PUSH4 0x0fca8843
000001d3: EQ
000001d4: PUSH2 0x0234
000001d7: JUMPI
000001d8: PUSH2 0x01e3
000001db: JUMP
000001dc: JUMPDEST
000001dd: CALLDATASIZE
000001de: PUSH2 0x01e3
000001e1: JUMPI
000001e2: STOP
000001e3: JUMPDEST
000001e4: PUSH1 0x00
000001e6: DUP1
000001e7: REVERT
000001e8: JUMPDEST
000001e9: PUSH2 0x01fb
000001ec: PUSH2 0x01f6
000001ef: CALLDATASIZE
000001f0: PUSH1 0x04
000001f2: PUSH2 0x492e
000001f5: JUMP
000001f6: JUMPDEST
000001f7: PUSH2 0x05d5
000001fa: JUMP
000001fb: JUMPDEST
000001fc: PUSH1 0x40
000001fe: MLOAD
000001ff: PUSH2 0x0209
00000202: SWAP3
00000203: SWAP2
00000204: SWAP1
00000205: PUSH2 0x57dc
00000208: JUMP
00000209: JUMPDEST
0000020a: PUSH1 0x40
0000020c: MLOAD
0000020d: DUP1
0000020e: SWAP2
0000020f: SUB
00000210: SWAP1
00000211: RETURN
00000212: JUMPDEST
00000213: CALLVALUE
00000214: DUP1
00000215: ISZERO
00000216: PUSH2 0x021e
00000219: JUMPI
0000021a: PUSH1 0x00
0000021c: DUP1
0000021d: REVERT
0000021e: JUMPDEST
0000021f: POP
00000220: PUSH2 0x0232
00000223: PUSH2 0x022d
00000226: CALLDATASIZE
00000227: PUSH1 0x04
00000229: PUSH2 0x46e2
0000022c: JUMP
0000022d: JUMPDEST
0000022e: PUSH2 0x0c8c
00000231: JUMP
00000232: JUMPDEST
00000233: STOP
00000234: JUMPDEST
00000235: CALLVALUE
00000236: DUP1
00000237: ISZERO
00000238: PUSH2 0x0240
0000023b: JUMPI
0000023c: PUSH1 0x00
0000023e: DUP1
0000023f: REVERT
00000240: JUMPDEST
00000241: POP
00000242: PUSH2 0x0232
00000245: PUSH2 0x024f
00000248: CALLDATASIZE
00000249: PUSH1 0x04
0000024b: PUSH2 0x4a09
0000024e: JUMP
0000024f: JUMPDEST
00000250: PUSH2 0x0e17
00000253: JUMP
00000254: JUMPDEST
00000255: CALLVALUE
00000256: DUP1
00000257: ISZERO
00000258: PUSH2 0x0260
0000025b: JUMPI
0000025c: PUSH1 0x00
0000025e: DUP1
0000025f: REVERT
00000260: JUMPDEST
00000261: POP
00000262: PUSH2 0x0274
00000265: PUSH2 0x026f
00000268: CALLDATASIZE
00000269: PUSH1 0x04
0000026b: PUSH2 0x45f5
0000026e: JUMP
0000026f: JUMPDEST
00000270: PUSH2 0x11d9
00000273: JUMP
00000274: JUMPDEST
00000275: PUSH1 0x40
00000277: MLOAD
00000278: PUSH2 0x0209
0000027b: SWAP2
0000027c: SWAP1
0000027d: PUSH2 0x5068
00000280: JUMP
00000281: JUMPDEST
00000282: PUSH2 0x0294
00000285: PUSH2 0x028f
00000288: CALLDATASIZE
00000289: PUSH1 0x04
0000028b: PUSH2 0x472c
0000028e: JUMP
0000028f: JUMPDEST
00000290: PUSH2 0x11ee
00000293: JUMP
00000294: JUMPDEST
00000295: PUSH1 0x40
00000297: MLOAD
00000298: PUSH2 0x0209
0000029b: SWAP2
0000029c: SWAP1
0000029d: PUSH2 0x4dcc
000002a0: JUMP
000002a1: JUMPDEST
000002a2: CALLVALUE
000002a3: DUP1
000002a4: ISZERO
000002a5: PUSH2 0x02ad
000002a8: JUMPI
000002a9: PUSH1 0x00
000002ab: DUP1
000002ac: REVERT
000002ad: JUMPDEST
000002ae: POP
000002af: PUSH2 0x0294
000002b2: PUSH2 0x02bc
000002b5: CALLDATASIZE
000002b6: PUSH1 0x04
000002b8: PUSH2 0x45f5
000002bb: JUMP
000002bc: JUMPDEST
000002bd: PUSH2 0x1457
000002c0: JUMP
000002c1: JUMPDEST
000002c2: CALLVALUE
000002c3: DUP1
000002c4: ISZERO
000002c5: PUSH2 0x02cd
000002c8: JUMPI
000002c9: PUSH1 0x00
000002cb: DUP1
000002cc: REVERT
000002cd: JUMPDEST
000002ce: POP
000002cf: PUSH2 0x02d6
000002d2: PUSH2 0x147f
000002d5: JUMP
000002d6: JUMPDEST
000002d7: PUSH1 0x40
000002d9: MLOAD
000002da: PUSH2 0x0209
000002dd: SWAP2
000002de: SWAP1
000002df: PUSH2 0x5073
000002e2: JUMP
000002e3: JUMPDEST
000002e4: CALLVALUE
000002e5: DUP1
000002e6: ISZERO
000002e7: PUSH2 0x02ef
000002ea: JUMPI
000002eb: PUSH1 0x00
000002ed: DUP1
000002ee: REVERT
000002ef: JUMPDEST
000002f0: POP
000002f1: PUSH2 0x0232
000002f4: PUSH2 0x02fe
000002f7: CALLDATASIZE
000002f8: PUSH1 0x04
000002fa: PUSH2 0x4b11
000002fd: JUMP
000002fe: JUMPDEST
000002ff: PUSH2 0x14df
00000302: JUMP
00000303: JUMPDEST
00000304: CALLVALUE
00000305: DUP1
00000306: ISZERO
00000307: PUSH2 0x030f
0000030a: JUMPI
0000030b: PUSH1 0x00
0000030d: DUP1
0000030e: REVERT
0000030f: JUMPDEST
00000310: POP
00000311: PUSH2 0x0232
00000314: PUSH2 0x1613
00000317: JUMP
00000318: JUMPDEST
00000319: CALLVALUE
0000031a: DUP1
0000031b: ISZERO
0000031c: PUSH2 0x0324
0000031f: JUMPI
00000320: PUSH1 0x00
00000322: DUP1
00000323: REVERT
00000324: JUMPDEST
00000325: POP
00000326: PUSH2 0x0338
00000329: PUSH2 0x0333
0000032c: CALLDATASIZE
0000032d: PUSH1 0x04
0000032f: PUSH2 0x45f5
00000332: JUMP
00000333: JUMPDEST
00000334: PUSH2 0x16f9
00000337: JUMP
00000338: JUMPDEST
00000339: PUSH1 0x40
0000033b: MLOAD
0000033c: PUSH2 0x0209
0000033f: SWAP3
00000340: SWAP2
00000341: SWAP1
00000342: PUSH2 0x57b9
00000345: JUMP
00000346: JUMPDEST
00000347: CALLVALUE
00000348: DUP1
00000349: ISZERO
0000034a: PUSH2 0x0352
0000034d: JUMPI
0000034e: PUSH1 0x00
00000350: DUP1
00000351: REVERT
00000352: JUMPDEST
00000353: POP
00000354: PUSH2 0x0294
00000357: PUSH2 0x0361
0000035a: CALLDATASIZE
0000035b: PUSH1 0x04
0000035d: PUSH2 0x45f5
00000360: JUMP
00000361: JUMPDEST
00000362: PUSH2 0x1735
00000365: JUMP
00000366: JUMPDEST
00000367: CALLVALUE
00000368: DUP1
00000369: ISZERO
0000036a: PUSH2 0x0372
0000036d: JUMPI
0000036e: PUSH1 0x00
00000370: DUP1
00000371: REVERT
00000372: JUMPDEST
00000373: POP
00000374: PUSH2 0x02d6
00000377: PUSH2 0x0381
0000037a: CALLDATASIZE
0000037b: PUSH1 0x04
0000037d: PUSH2 0x4adb
00000380: JUMP
00000381: JUMPDEST
00000382: PUSH2 0x175d
00000385: JUMP
00000386: JUMPDEST
00000387: CALLVALUE
00000388: DUP1
00000389: ISZERO
0000038a: PUSH2 0x0392
0000038d: JUMPI
0000038e: PUSH1 0x00
00000390: DUP1
00000391: REVERT
00000392: JUMPDEST
00000393: POP
00000394: PUSH2 0x0232
00000397: PUSH2 0x03a1
0000039a: CALLDATASIZE
0000039b: PUSH1 0x04
0000039d: PUSH2 0x4a9b
000003a0: JUMP
000003a1: JUMPDEST
000003a2: PUSH2 0x17d4
000003a5: JUMP
000003a6: JUMPDEST
000003a7: CALLVALUE
000003a8: DUP1
000003a9: ISZERO
000003aa: PUSH2 0x03b2
000003ad: JUMPI
000003ae: PUSH1 0x00
000003b0: DUP1
000003b1: REVERT
000003b2: JUMPDEST
000003b3: POP
000003b4: PUSH2 0x0232
000003b7: PUSH2 0x03c1
000003ba: CALLDATASIZE
000003bb: PUSH1 0x04
000003bd: PUSH2 0x48cc
000003c0: JUMP
000003c1: JUMPDEST
000003c2: PUSH2 0x1f89
000003c5: JUMP
000003c6: JUMPDEST
000003c7: CALLVALUE
000003c8: DUP1
000003c9: ISZERO
000003ca: PUSH2 0x03d2
000003cd: JUMPI
000003ce: PUSH1 0x00
000003d0: DUP1
000003d1: REVERT
000003d2: JUMPDEST
000003d3: POP
000003d4: PUSH2 0x0232
000003d7: PUSH2 0x03e1
000003da: CALLDATASIZE
000003db: PUSH1 0x04
000003dd: PUSH2 0x46b5
000003e0: JUMP
000003e1: JUMPDEST
000003e2: PUSH2 0x258d
000003e5: JUMP
000003e6: JUMPDEST
000003e7: CALLVALUE
000003e8: DUP1
000003e9: ISZERO
000003ea: PUSH2 0x03f2
000003ed: JUMPI
000003ee: PUSH1 0x00
000003f0: DUP1
000003f1: REVERT
000003f2: JUMPDEST
000003f3: POP
000003f4: PUSH2 0x0232
000003f7: PUSH2 0x0401
000003fa: CALLDATASIZE
000003fb: PUSH1 0x04
000003fd: PUSH2 0x4988
00000400: JUMP
00000401: JUMPDEST
00000402: PUSH2 0x26aa
00000405: JUMP
00000406: JUMPDEST
00000407: CALLVALUE
00000408: DUP1
00000409: ISZERO
0000040a: PUSH2 0x0412
0000040d: JUMPI
0000040e: PUSH1 0x00
00000410: DUP1
00000411: REVERT
00000412: JUMPDEST
00000413: POP
00000414: PUSH2 0x02d6
00000417: PUSH2 0x0421
0000041a: CALLDATASIZE
0000041b: PUSH1 0x04
0000041d: PUSH2 0x45f5
00000420: JUMP
00000421: JUMPDEST
00000422: PUSH2 0x2744
00000425: JUMP
00000426: JUMPDEST
00000427: CALLVALUE
00000428: DUP1
00000429: ISZERO
0000042a: PUSH2 0x0432
0000042d: JUMPI
0000042e: PUSH1 0x00
00000430: DUP1
00000431: REVERT
00000432: JUMPDEST
00000433: POP
00000434: PUSH2 0x0294
00000437: PUSH2 0x2756
0000043a: JUMP
0000043b: JUMPDEST
0000043c: CALLVALUE
0000043d: DUP1
0000043e: ISZERO
0000043f: PUSH2 0x0447
00000442: JUMPI
00000443: PUSH1 0x00
00000445: DUP1
00000446: REVERT
00000447: JUMPDEST
00000448: POP
00000449: PUSH2 0x0274
0000044c: PUSH2 0x0456
0000044f: CALLDATASIZE
00000450: PUSH1 0x04
00000452: PUSH2 0x4611
00000455: JUMP
00000456: JUMPDEST
00000457: PUSH2 0x2772
0000045a: JUMP
0000045b: JUMPDEST
0000045c: CALLVALUE
0000045d: DUP1
0000045e: ISZERO
0000045f: PUSH2 0x0467
00000462: JUMPI
00000463: PUSH1 0x00
00000465: DUP1
00000466: REVERT
00000467: JUMPDEST
00000468: POP
00000469: PUSH2 0x01fb
0000046c: PUSH2 0x0476
0000046f: CALLDATASIZE
00000470: PUSH1 0x04
00000472: PUSH2 0x492e
00000475: JUMP
00000476: JUMPDEST
00000477: PUSH2 0x2792
0000047a: JUMP
0000047b: JUMPDEST
0000047c: CALLVALUE
0000047d: DUP1
0000047e: ISZERO
0000047f: PUSH2 0x0487
00000482: JUMPI
00000483: PUSH1 0x00
00000485: DUP1
00000486: REVERT
00000487: JUMPDEST
00000488: POP
00000489: PUSH2 0x0232
0000048c: PUSH2 0x2d82
0000048f: JUMP
00000490: JUMPDEST
00000491: CALLVALUE
00000492: DUP1
00000493: ISZERO
00000494: PUSH2 0x049c
00000497: JUMPI
00000498: PUSH1 0x00
0000049a: DUP1
0000049b: REVERT
0000049c: JUMPDEST
0000049d: POP
0000049e: PUSH2 0x0294
000004a1: PUSH2 0x04ab
000004a4: CALLDATASIZE
000004a5: PUSH1 0x04
000004a7: PUSH2 0x45f5
000004aa: JUMP
000004ab: JUMPDEST
000004ac: PUSH2 0x2de1
000004af: JUMP
000004b0: JUMPDEST
000004b1: CALLVALUE
000004b2: DUP1
000004b3: ISZERO
000004b4: PUSH2 0x04bc
000004b7: JUMPI
000004b8: PUSH1 0x00
000004ba: DUP1
000004bb: REVERT
000004bc: JUMPDEST
000004bd: POP
000004be: PUSH2 0x0232
000004c1: PUSH2 0x04cb
000004c4: CALLDATASIZE
000004c5: PUSH1 0x04
000004c7: PUSH2 0x4649
000004ca: JUMP
000004cb: JUMPDEST
000004cc: PUSH2 0x2e09
000004cf: JUMP
000004d0: JUMPDEST
000004d1: PUSH2 0x04e3
000004d4: PUSH2 0x04de
000004d7: CALLDATASIZE
000004d8: PUSH1 0x04
000004da: PUSH2 0x4792
000004dd: JUMP
000004de: JUMPDEST
000004df: PUSH2 0x3262
000004e2: JUMP
000004e3: JUMPDEST
000004e4: PUSH1 0x40
000004e6: MLOAD
000004e7: PUSH2 0x0209
000004ea: SWAP3
000004eb: SWAP2
000004ec: SWAP1
000004ed: PUSH2 0x4fce
000004f0: JUMP
000004f1: JUMPDEST
000004f2: CALLVALUE
000004f3: DUP1
000004f4: ISZERO
000004f5: PUSH2 0x04fd
000004f8: JUMPI
000004f9: PUSH1 0x00
000004fb: DUP1
000004fc: REVERT
000004fd: JUMPDEST
000004fe: POP
000004ff: PUSH2 0x02d6
00000502: PUSH2 0x050c
00000505: CALLDATASIZE
00000506: PUSH1 0x04
00000508: PUSH2 0x4adb
0000050b: JUMP
0000050c: JUMPDEST
0000050d: PUSH2 0x340e
00000510: JUMP
00000511: JUMPDEST
00000512: CALLVALUE
00000513: DUP1
00000514: ISZERO
00000515: PUSH2 0x051d
00000518: JUMPI
00000519: PUSH1 0x00
0000051b: DUP1
0000051c: REVERT
0000051d: JUMPDEST
0000051e: POP
0000051f: PUSH2 0x0531
00000522: PUSH2 0x052c
00000525: CALLDATASIZE
00000526: PUSH1 0x04
00000528: PUSH2 0x45f5
0000052b: JUMP
0000052c: JUMPDEST
0000052d: PUSH2 0x347d
00000530: JUMP
00000531: JUMPDEST
00000532: PUSH1 0x40
00000534: MLOAD
00000535: PUSH2 0x0209
00000538: SWAP4
00000539: SWAP3
0000053a: SWAP2
0000053b: SWAP1
0000053c: PUSH2 0x57ff
0000053f: JUMP
00000540: JUMPDEST
00000541: CALLVALUE
00000542: DUP1
00000543: ISZERO
00000544: PUSH2 0x054c
00000547: JUMPI
00000548: PUSH1 0x00
0000054a: DUP1
0000054b: REVERT
0000054c: JUMPDEST
0000054d: POP
0000054e: PUSH2 0x0294
00000551: PUSH2 0x34d2
00000554: JUMP
00000555: JUMPDEST
00000556: CALLVALUE
00000557: DUP1
00000558: ISZERO
00000559: PUSH2 0x0561
0000055c: JUMPI
0000055d: PUSH1 0x00
0000055f: DUP1
00000560: REVERT
00000561: JUMPDEST
00000562: POP
00000563: PUSH2 0x0232
00000566: PUSH2 0x0570
00000569: CALLDATASIZE
0000056a: PUSH1 0x04
0000056c: PUSH2 0x4b4a
0000056f: JUMP
00000570: JUMPDEST
00000571: PUSH2 0x34ee
00000574: JUMP
00000575: JUMPDEST
00000576: CALLVALUE
00000577: DUP1
00000578: ISZERO
00000579: PUSH2 0x0581
0000057c: JUMPI
0000057d: PUSH1 0x00
0000057f: DUP1
00000580: REVERT
00000581: JUMPDEST
00000582: POP
00000583: PUSH2 0x0232
00000586: PUSH2 0x0590
00000589: CALLDATASIZE
0000058a: PUSH1 0x04
0000058c: PUSH2 0x48de
0000058f: JUMP
00000590: JUMPDEST
00000591: PUSH2 0x36c9
00000594: JUMP
00000595: JUMPDEST
00000596: CALLVALUE
00000597: DUP1
00000598: ISZERO
00000599: PUSH2 0x05a1
0000059c: JUMPI
0000059d: PUSH1 0x00
0000059f: DUP1
000005a0: REVERT
000005a1: JUMPDEST
000005a2: POP
000005a3: PUSH2 0x0232
000005a6: PUSH2 0x05b0
000005a9: CALLDATASIZE
000005aa: PUSH1 0x04
000005ac: PUSH2 0x47f8
000005af: JUMP
000005b0: JUMPDEST
000005b1: PUSH2 0x3923
000005b4: JUMP
000005b5: JUMPDEST
000005b6: CALLVALUE
000005b7: DUP1
000005b8: ISZERO
000005b9: PUSH2 0x05c1
000005bc: JUMPI
000005bd: PUSH1 0x00
000005bf: DUP1
000005c0: REVERT
000005c1: JUMPDEST
000005c2: POP
000005c3: PUSH2 0x02d6
000005c6: PUSH2 0x05d0
000005c9: CALLDATASIZE
000005ca: PUSH1 0x04
000005cc: PUSH2 0x48cc
000005cf: JUMP
000005d0: JUMPDEST
000005d1: PUSH2 0x3c6e
000005d4: JUMP
000005d5: JUMPDEST
000005d6: PUSH1 0x00
000005d8: DUP1
000005d9: DUP6
000005da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000005ef: DUP2
000005f0: AND
000005f1: CALLER
000005f2: EQ
000005f3: DUP1
000005f4: ISZERO
000005f5: SWAP1
000005f6: PUSH2 0x0615
000005f9: JUMPI
000005fa: POP
000005fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000610: DUP2
00000611: AND
00000612: ADDRESS
00000613: EQ
00000614: ISZERO
00000615: JUMPDEST
00000616: ISZERO
00000617: PUSH2 0x06ee
0000061a: JUMPI
0000061b: CALLER
0000061c: PUSH1 0x00
0000061e: SWAP1
0000061f: DUP2
00000620: MSTORE
00000621: PUSH1 0x02
00000623: PUSH1 0x20
00000625: MSTORE
00000626: PUSH1 0x40
00000628: SWAP1
00000629: KECCAK256
0000062a: SLOAD
0000062b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000640: AND
00000641: DUP1
00000642: PUSH2 0x0680
00000645: JUMPI
00000646: PUSH1 0x40
00000648: MLOAD
00000649: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000066a: DUP2
0000066b: MSTORE
0000066c: PUSH1 0x04
0000066e: ADD
0000066f: PUSH2 0x0677
00000672: SWAP1
00000673: PUSH2 0x55b0
00000676: JUMP
00000677: JUMPDEST
00000678: PUSH1 0x40
0000067a: MLOAD
0000067b: DUP1
0000067c: SWAP2
0000067d: SUB
0000067e: SWAP1
0000067f: REVERT
00000680: JUMPDEST
00000681: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000696: DUP1
00000697: DUP3
00000698: AND
00000699: PUSH1 0x00
0000069b: SWAP1
0000069c: DUP2
0000069d: MSTORE
0000069e: PUSH1 0x03
000006a0: PUSH1 0x20
000006a2: SWAP1
000006a3: DUP2
000006a4: MSTORE
000006a5: PUSH1 0x40
000006a7: DUP1
000006a8: DUP4
000006a9: KECCAK256
000006aa: SWAP4
000006ab: DUP7
000006ac: AND
000006ad: DUP4
000006ae: MSTORE
000006af: SWAP3
000006b0: SWAP1
000006b1: MSTORE
000006b2: KECCAK256
000006b3: SLOAD
000006b4: PUSH1 0xff
000006b6: AND
000006b7: PUSH2 0x06ec
000006ba: JUMPI
000006bb: PUSH1 0x40
000006bd: MLOAD
000006be: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000006df: DUP2
000006e0: MSTORE
000006e1: PUSH1 0x04
000006e3: ADD
000006e4: PUSH2 0x0677
000006e7: SWAP1
000006e8: PUSH2 0x5433
000006eb: JUMP
000006ec: JUMPDEST
000006ed: POP
000006ee: JUMPDEST
000006ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000704: DUP7
00000705: AND
00000706: PUSH2 0x073b
00000709: JUMPI
0000070a: PUSH1 0x40
0000070c: MLOAD
0000070d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000072e: DUP2
0000072f: MSTORE
00000730: PUSH1 0x04
00000732: ADD
00000733: PUSH2 0x0677
00000736: SWAP1
00000737: PUSH2 0x5390
0000073a: JUMP
0000073b: JUMPDEST
0000073c: PUSH1 0x00
0000073e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000753: DUP10
00000754: AND
00000755: ISZERO
00000756: PUSH2 0x075f
00000759: JUMPI
0000075a: DUP9
0000075b: PUSH2 0x0781
0000075e: JUMP
0000075f: JUMPDEST
00000760: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000781: JUMPDEST
00000782: SWAP1
00000783: POP
00000784: PUSH2 0x078b
00000787: PUSH2 0x4519
0000078a: JUMP
0000078b: JUMPDEST
0000078c: POP
0000078d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000007a2: DUP2
000007a3: AND
000007a4: PUSH1 0x00
000007a6: SWAP1
000007a7: DUP2
000007a8: MSTORE
000007a9: PUSH1 0x07
000007ab: PUSH1 0x20
000007ad: SWAP1
000007ae: DUP2
000007af: MSTORE
000007b0: PUSH1 0x40
000007b2: SWAP2
000007b3: DUP3
000007b4: SWAP1
000007b5: KECCAK256
000007b6: DUP3
000007b7: MLOAD
000007b8: DUP1
000007b9: DUP5
000007ba: ADD
000007bb: SWAP1
000007bc: SWAP4
000007bd: MSTORE
000007be: SLOAD
000007bf: PUSH16 0xffffffffffffffffffffffffffffffff
000007d0: DUP1
000007d1: DUP3
000007d2: AND
000007d3: DUP1
000007d4: DUP6
000007d5: MSTORE
000007d6: PUSH17 0x0100000000000000000000000000000000
000007e8: SWAP1
000007e9: SWAP3
000007ea: DIV
000007eb: AND
000007ec: SWAP2
000007ed: DUP4
000007ee: ADD
000007ef: SWAP2
000007f0: SWAP1
000007f1: SWAP2
000007f2: MSTORE
000007f3: ISZERO
000007f4: ISZERO
000007f5: DUP1
000007f6: PUSH2 0x087c
000007f9: JUMPI
000007fa: POP
000007fb: PUSH1 0x00
000007fd: DUP3
000007fe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000813: AND
00000814: PUSH4 0x18160ddd
00000819: PUSH1 0x40
0000081b: MLOAD
0000081c: DUP2
0000081d: PUSH4 0xffffffff
00000822: AND
00000823: PUSH1 0xe0
00000825: SHL
00000826: DUP2
00000827: MSTORE
00000828: PUSH1 0x04
0000082a: ADD
0000082b: PUSH1 0x20
0000082d: PUSH1 0x40
0000082f: MLOAD
00000830: DUP1
00000831: DUP4
00000832: SUB
00000833: DUP2
00000834: DUP7
00000835: DUP1
00000836: EXTCODESIZE
00000837: ISZERO
00000838: DUP1
00000839: ISZERO
0000083a: PUSH2 0x0842
0000083d: JUMPI
0000083e: PUSH1 0x00
00000840: DUP1
00000841: REVERT
00000842: JUMPDEST
00000843: POP
00000844: GAS
00000845: STATICCALL
00000846: ISZERO
00000847: DUP1
00000848: ISZERO
00000849: PUSH2 0x0856
0000084c: JUMPI
0000084d: RETURNDATASIZE
0000084e: PUSH1 0x00
00000850: DUP1
00000851: RETURNDATACOPY
00000852: RETURNDATASIZE
00000853: PUSH1 0x00
00000855: REVERT
00000856: JUMPDEST
00000857: POP
00000858: POP
00000859: POP
0000085a: POP
0000085b: PUSH1 0x40
0000085d: MLOAD
0000085e: RETURNDATASIZE
0000085f: PUSH1 0x1f
00000861: NOT
00000862: PUSH1 0x1f
00000864: DUP3
00000865: ADD
00000866: AND
00000867: DUP3
00000868: ADD
00000869: DUP1
0000086a: PUSH1 0x40
0000086c: MSTORE
0000086d: POP
0000086e: DUP2
0000086f: ADD
00000870: SWAP1
00000871: PUSH2 0x087a
00000874: SWAP2
00000875: SWAP1
00000876: PUSH2 0x4bbb
00000879: JUMP
0000087a: JUMPDEST
0000087b: GT
0000087c: JUMPDEST
0000087d: PUSH2 0x08b2
00000880: JUMPI
00000881: PUSH1 0x40
00000883: MLOAD
00000884: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000008a5: DUP2
000008a6: MSTORE
000008a7: PUSH1 0x04
000008a9: ADD
000008aa: PUSH2 0x0677
000008ad: SWAP1
000008ae: PUSH2 0x52b4
000008b1: JUMP
000008b2: JUMPDEST
000008b3: DUP6
000008b4: PUSH2 0x091c
000008b7: JUMPI
000008b8: PUSH2 0x08c3
000008bb: DUP2
000008bc: DUP9
000008bd: PUSH1 0x00
000008bf: PUSH2 0x3c8b
000008c2: JUMP
000008c3: JUMPDEST
000008c4: SWAP6
000008c5: POP
000008c6: PUSH2 0x03e8
000008c9: PUSH2 0x08f1
000008cc: PUSH2 0x08d4
000008cf: DUP9
000008d0: PUSH2 0x3d49
000008d3: JUMP
000008d4: JUMPDEST
000008d5: PUSH1 0x20
000008d7: DUP5
000008d8: ADD
000008d9: MLOAD
000008da: PUSH16 0xffffffffffffffffffffffffffffffff
000008eb: AND
000008ec: SWAP1
000008ed: PUSH2 0x3d99
000008f0: JUMP
000008f1: JUMPDEST
000008f2: PUSH16 0xffffffffffffffffffffffffffffffff
00000903: AND
00000904: LT
00000905: ISZERO
00000906: PUSH2 0x0917
00000909: JUMPI
0000090a: PUSH1 0x00
0000090c: DUP1
0000090d: SWAP5
0000090e: POP
0000090f: SWAP5
00000910: POP
00000911: POP
00000912: POP
00000913: PUSH2 0x0c81
00000916: JUMP
00000917: JUMPDEST
00000918: PUSH2 0x092b
0000091b: JUMP
0000091c: JUMPDEST
0000091d: PUSH2 0x0928
00000920: DUP2
00000921: DUP8
00000922: PUSH1 0x01
00000924: PUSH2 0x3df1
00000927: JUMP
00000928: JUMPDEST
00000929: SWAP7
0000092a: POP
0000092b: JUMPDEST
0000092c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000941: DUP10
00000942: AND
00000943: ADDRESS
00000944: EQ
00000945: ISZERO
00000946: DUP1
00000947: PUSH2 0x0964
0000094a: JUMPI
0000094b: POP
0000094c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000961: DUP11
00000962: AND
00000963: ISZERO
00000964: JUMPDEST
00000965: DUP1
00000966: PUSH2 0x0995
00000969: JUMPI
0000096a: POP
0000096b: DUP1
0000096c: MLOAD
0000096d: PUSH2 0x0991
00000970: SWAP1
00000971: PUSH16 0xffffffffffffffffffffffffffffffff
00000982: AND
00000983: PUSH2 0x098b
00000986: DUP5
00000987: PUSH2 0x3e94
0000098a: JUMP
0000098b: JUMPDEST
0000098c: SWAP1
0000098d: PUSH2 0x3f78
00000990: JUMP
00000991: JUMPDEST
00000992: DUP8
00000993: GT
00000994: ISZERO
00000995: JUMPDEST
00000996: PUSH2 0x09cb
00000999: JUMPI
0000099a: PUSH1 0x40
0000099c: MLOAD
0000099d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000009be: DUP2
000009bf: MSTORE
000009c0: PUSH1 0x04
000009c2: ADD
000009c3: PUSH2 0x0677
000009c6: SWAP1
000009c7: PUSH2 0x516a
000009ca: JUMP
000009cb: JUMPDEST
000009cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000009e1: DUP1
000009e2: DUP4
000009e3: AND
000009e4: PUSH1 0x00
000009e6: SWAP1
000009e7: DUP2
000009e8: MSTORE
000009e9: PUSH1 0x06
000009eb: PUSH1 0x20
000009ed: SWAP1
000009ee: DUP2
000009ef: MSTORE
000009f0: PUSH1 0x40
000009f2: DUP1
000009f3: DUP4
000009f4: KECCAK256
000009f5: SWAP4
000009f6: DUP13
000009f7: AND
000009f8: DUP4
000009f9: MSTORE
000009fa: SWAP3
000009fb: SWAP1
000009fc: MSTORE
000009fd: KECCAK256
000009fe: SLOAD
000009ff: PUSH2 0x0a08
00000a02: SWAP1
00000a03: DUP8
00000a04: PUSH2 0x3fb5
00000a07: JUMP
00000a08: JUMPDEST
00000a09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a1e: DUP1
00000a1f: DUP5
00000a20: AND
00000a21: PUSH1 0x00
00000a23: SWAP1
00000a24: DUP2
00000a25: MSTORE
00000a26: PUSH1 0x06
00000a28: PUSH1 0x20
00000a2a: SWAP1
00000a2b: DUP2
00000a2c: MSTORE
00000a2d: PUSH1 0x40
00000a2f: DUP1
00000a30: DUP4
00000a31: KECCAK256
00000a32: SWAP4
00000a33: DUP14
00000a34: AND
00000a35: DUP4
00000a36: MSTORE
00000a37: SWAP3
00000a38: SWAP1
00000a39: MSTORE
00000a3a: KECCAK256
00000a3b: SSTORE
00000a3c: PUSH2 0x0a64
00000a3f: PUSH2 0x0a47
00000a42: DUP8
00000a43: PUSH2 0x3d49
00000a46: JUMP
00000a47: JUMPDEST
00000a48: PUSH1 0x20
00000a4a: DUP4
00000a4b: ADD
00000a4c: MLOAD
00000a4d: PUSH16 0xffffffffffffffffffffffffffffffff
00000a5e: AND
00000a5f: SWAP1
00000a60: PUSH2 0x3d99
00000a63: JUMP
00000a64: JUMPDEST
00000a65: PUSH16 0xffffffffffffffffffffffffffffffff
00000a76: AND
00000a77: PUSH1 0x20
00000a79: DUP3
00000a7a: ADD
00000a7b: MSTORE
00000a7c: PUSH2 0x0aa1
00000a7f: PUSH2 0x0a87
00000a82: DUP9
00000a83: PUSH2 0x3d49
00000a86: JUMP
00000a87: JUMPDEST
00000a88: DUP3
00000a89: MLOAD
00000a8a: PUSH16 0xffffffffffffffffffffffffffffffff
00000a9b: AND
00000a9c: SWAP1
00000a9d: PUSH2 0x3d99
00000aa0: JUMP
00000aa1: JUMPDEST
00000aa2: PUSH16 0xffffffffffffffffffffffffffffffff
00000ab3: SWAP1
00000ab4: DUP2
00000ab5: AND
00000ab6: DUP3
00000ab7: MSTORE
00000ab8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000acd: DUP1
00000ace: DUP5
00000acf: AND
00000ad0: PUSH1 0x00
00000ad2: SWAP1
00000ad3: DUP2
00000ad4: MSTORE
00000ad5: PUSH1 0x07
00000ad7: PUSH1 0x20
00000ad9: SWAP1
00000ada: DUP2
00000adb: MSTORE
00000adc: PUSH1 0x40
00000ade: SWAP1
00000adf: SWAP2
00000ae0: KECCAK256
00000ae1: DUP5
00000ae2: MLOAD
00000ae3: DUP2
00000ae4: SLOAD
00000ae5: SWAP3
00000ae6: DUP7
00000ae7: ADD
00000ae8: MLOAD
00000ae9: DUP6
00000aea: AND
00000aeb: PUSH17 0x0100000000000000000000000000000000
00000afd: MUL
00000afe: SWAP1
00000aff: DUP6
00000b00: AND
00000b01: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00000b22: SWAP1
00000b23: SWAP4
00000b24: AND
00000b25: SWAP3
00000b26: SWAP1
00000b27: SWAP3
00000b28: OR
00000b29: SWAP1
00000b2a: SWAP4
00000b2b: AND
00000b2c: OR
00000b2d: SWAP1
00000b2e: SWAP2
00000b2f: SSTORE
00000b30: DUP11
00000b31: AND
00000b32: PUSH2 0x0bbb
00000b35: JUMPI
00000b36: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000b57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b6c: AND
00000b6d: PUSH4 0xd0e30db0
00000b72: DUP9
00000b73: PUSH1 0x40
00000b75: MLOAD
00000b76: DUP3
00000b77: PUSH4 0xffffffff
00000b7c: AND
00000b7d: PUSH1 0xe0
00000b7f: SHL
00000b80: DUP2
00000b81: MSTORE
00000b82: PUSH1 0x04
00000b84: ADD
00000b85: PUSH1 0x00
00000b87: PUSH1 0x40
00000b89: MLOAD
00000b8a: DUP1
00000b8b: DUP4
00000b8c: SUB
00000b8d: DUP2
00000b8e: DUP6
00000b8f: DUP9
00000b90: DUP1
00000b91: EXTCODESIZE
00000b92: ISZERO
00000b93: DUP1
00000b94: ISZERO
00000b95: PUSH2 0x0b9d
00000b98: JUMPI
00000b99: PUSH1 0x00
00000b9b: DUP1
00000b9c: REVERT
00000b9d: JUMPDEST
00000b9e: POP
00000b9f: GAS
00000ba0: CALL
00000ba1: ISZERO
00000ba2: DUP1
00000ba3: ISZERO
00000ba4: PUSH2 0x0bb1
00000ba7: JUMPI
00000ba8: RETURNDATASIZE
00000ba9: PUSH1 0x00
00000bab: DUP1
00000bac: RETURNDATACOPY
00000bad: RETURNDATASIZE
00000bae: PUSH1 0x00
00000bb0: REVERT
00000bb1: JUMPDEST
00000bb2: POP
00000bb3: POP
00000bb4: POP
00000bb5: POP
00000bb6: POP
00000bb7: PUSH2 0x0bfa
00000bba: JUMP
00000bbb: JUMPDEST
00000bbc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bd1: DUP10
00000bd2: AND
00000bd3: ADDRESS
00000bd4: EQ
00000bd5: PUSH2 0x0bfa
00000bd8: JUMPI
00000bd9: PUSH2 0x0bfa
00000bdc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000bf1: DUP4
00000bf2: AND
00000bf3: DUP11
00000bf4: ADDRESS
00000bf5: DUP11
00000bf6: PUSH2 0x3ff2
00000bf9: JUMP
00000bfa: JUMPDEST
00000bfb: DUP8
00000bfc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c11: AND
00000c12: DUP10
00000c13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c28: AND
00000c29: DUP4
00000c2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c3f: AND
00000c40: PUSH32 0xb2346165e782564f17f5b7e555c21f4fd96fbc93458572bf0113ea35a958fc55
00000c61: DUP11
00000c62: DUP11
00000c63: PUSH1 0x40
00000c65: MLOAD
00000c66: PUSH2 0x0c70
00000c69: SWAP3
00000c6a: SWAP2
00000c6b: SWAP1
00000c6c: PUSH2 0x57dc
00000c6f: JUMP
00000c70: JUMPDEST
00000c71: PUSH1 0x40
00000c73: MLOAD
00000c74: DUP1
00000c75: SWAP2
00000c76: SUB
00000c77: SWAP1
00000c78: LOG4
00000c79: DUP7
00000c7a: SWAP5
00000c7b: POP
00000c7c: DUP6
00000c7d: SWAP4
00000c7e: POP
00000c7f: POP
00000c80: POP
00000c81: JUMPDEST
00000c82: POP
00000c83: SWAP6
00000c84: POP
00000c85: SWAP6
00000c86: SWAP4
00000c87: POP
00000c88: POP
00000c89: POP
00000c8a: POP
00000c8b: JUMP
00000c8c: JUMPDEST
00000c8d: PUSH1 0x00
00000c8f: SLOAD
00000c90: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ca5: AND
00000ca6: CALLER
00000ca7: EQ
00000ca8: PUSH2 0x0cdd
00000cab: JUMPI
00000cac: PUSH1 0x40
00000cae: MLOAD
00000caf: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000cd0: DUP2
00000cd1: MSTORE
00000cd2: PUSH1 0x04
00000cd4: ADD
00000cd5: PUSH2 0x0677
00000cd8: SWAP1
00000cd9: PUSH2 0x53fe
00000cdc: JUMP
00000cdd: JUMPDEST
00000cde: DUP2
00000cdf: ISZERO
00000ce0: PUSH2 0x0dd1
00000ce3: JUMPI
00000ce4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000cf9: DUP4
00000cfa: AND
00000cfb: ISZERO
00000cfc: ISZERO
00000cfd: DUP1
00000cfe: PUSH2 0x0d04
00000d01: JUMPI
00000d02: POP
00000d03: DUP1
00000d04: JUMPDEST
00000d05: PUSH2 0x0d3a
00000d08: JUMPI
00000d09: PUSH1 0x40
00000d0b: MLOAD
00000d0c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000d2d: DUP2
00000d2e: MSTORE
00000d2f: PUSH1 0x04
00000d31: ADD
00000d32: PUSH2 0x0677
00000d35: SWAP1
00000d36: PUSH2 0x527d
00000d39: JUMP
00000d3a: JUMPDEST
00000d3b: PUSH1 0x00
00000d3d: DUP1
00000d3e: SLOAD
00000d3f: PUSH1 0x40
00000d41: MLOAD
00000d42: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d57: DUP1
00000d58: DUP8
00000d59: AND
00000d5a: SWAP4
00000d5b: SWAP3
00000d5c: AND
00000d5d: SWAP2
00000d5e: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000d7f: SWAP2
00000d80: LOG3
00000d81: PUSH1 0x00
00000d83: DUP1
00000d84: SLOAD
00000d85: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000d9a: DUP6
00000d9b: AND
00000d9c: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000dbd: SWAP2
00000dbe: DUP3
00000dbf: AND
00000dc0: OR
00000dc1: SWAP1
00000dc2: SWAP2
00000dc3: SSTORE
00000dc4: PUSH1 0x01
00000dc6: DUP1
00000dc7: SLOAD
00000dc8: SWAP1
00000dc9: SWAP2
00000dca: AND
00000dcb: SWAP1
00000dcc: SSTORE
00000dcd: PUSH2 0x0e12
00000dd0: JUMP
00000dd1: JUMPDEST
00000dd2: PUSH1 0x01
00000dd4: DUP1
00000dd5: SLOAD
00000dd6: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000df7: AND
00000df8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e0d: DUP6
00000e0e: AND
00000e0f: OR
00000e10: SWAP1
00000e11: SSTORE
00000e12: JUMPDEST
00000e13: POP
00000e14: POP
00000e15: POP
00000e16: JUMP
00000e17: JUMPDEST
00000e18: DUP5
00000e19: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e2e: DUP2
00000e2f: AND
00000e30: CALLER
00000e31: EQ
00000e32: DUP1
00000e33: ISZERO
00000e34: SWAP1
00000e35: PUSH2 0x0e54
00000e38: JUMPI
00000e39: POP
00000e3a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e4f: DUP2
00000e50: AND
00000e51: ADDRESS
00000e52: EQ
00000e53: ISZERO
00000e54: JUMPDEST
00000e55: ISZERO
00000e56: PUSH2 0x0f24
00000e59: JUMPI
00000e5a: CALLER
00000e5b: PUSH1 0x00
00000e5d: SWAP1
00000e5e: DUP2
00000e5f: MSTORE
00000e60: PUSH1 0x02
00000e62: PUSH1 0x20
00000e64: MSTORE
00000e65: PUSH1 0x40
00000e67: SWAP1
00000e68: KECCAK256
00000e69: SLOAD
00000e6a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e7f: AND
00000e80: DUP1
00000e81: PUSH2 0x0eb6
00000e84: JUMPI
00000e85: PUSH1 0x40
00000e87: MLOAD
00000e88: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000ea9: DUP2
00000eaa: MSTORE
00000eab: PUSH1 0x04
00000ead: ADD
00000eae: PUSH2 0x0677
00000eb1: SWAP1
00000eb2: PUSH2 0x55b0
00000eb5: JUMP
00000eb6: JUMPDEST
00000eb7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ecc: DUP1
00000ecd: DUP3
00000ece: AND
00000ecf: PUSH1 0x00
00000ed1: SWAP1
00000ed2: DUP2
00000ed3: MSTORE
00000ed4: PUSH1 0x03
00000ed6: PUSH1 0x20
00000ed8: SWAP1
00000ed9: DUP2
00000eda: MSTORE
00000edb: PUSH1 0x40
00000edd: DUP1
00000ede: DUP4
00000edf: KECCAK256
00000ee0: SWAP4
00000ee1: DUP7
00000ee2: AND
00000ee3: DUP4
00000ee4: MSTORE
00000ee5: SWAP3
00000ee6: SWAP1
00000ee7: MSTORE
00000ee8: KECCAK256
00000ee9: SLOAD
00000eea: PUSH1 0xff
00000eec: AND
00000eed: PUSH2 0x0f22
00000ef0: JUMPI
00000ef1: PUSH1 0x40
00000ef3: MLOAD
00000ef4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000f15: DUP2
00000f16: MSTORE
00000f17: PUSH1 0x04
00000f19: ADD
00000f1a: PUSH2 0x0677
00000f1d: SWAP1
00000f1e: PUSH2 0x5433
00000f21: JUMP
00000f22: JUMPDEST
00000f23: POP
00000f24: JUMPDEST
00000f25: PUSH1 0x00
00000f27: DUP6
00000f28: DUP6
00000f29: DUP3
00000f2a: DUP2
00000f2b: PUSH2 0x0f30
00000f2e: JUMPI
00000f2f: INVALID
00000f30: JUMPDEST
00000f31: SWAP1
00000f32: POP
00000f33: PUSH1 0x20
00000f35: MUL
00000f36: ADD
00000f37: PUSH1 0x20
00000f39: DUP2
00000f3a: ADD
00000f3b: SWAP1
00000f3c: PUSH2 0x0f45
00000f3f: SWAP2
00000f40: SWAP1
00000f41: PUSH2 0x45f5
00000f44: JUMP
00000f45: JUMPDEST
00000f46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f5b: AND
00000f5c: EQ
00000f5d: ISZERO
00000f5e: PUSH2 0x0f93
00000f61: JUMPI
00000f62: PUSH1 0x40
00000f64: MLOAD
00000f65: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00000f86: DUP2
00000f87: MSTORE
00000f88: PUSH1 0x04
00000f8a: ADD
00000f8b: PUSH2 0x0677
00000f8e: SWAP1
00000f8f: PUSH2 0x5359
00000f92: JUMP
00000f93: JUMPDEST
00000f94: PUSH1 0x00
00000f96: DUP5
00000f97: DUP2
00000f98: JUMPDEST
00000f99: DUP2
00000f9a: DUP2
00000f9b: LT
00000f9c: ISZERO
00000f9d: PUSH2 0x1157
00000fa0: JUMPI
00000fa1: PUSH1 0x00
00000fa3: DUP9
00000fa4: DUP9
00000fa5: DUP4
00000fa6: DUP2
00000fa7: DUP2
00000fa8: LT
00000fa9: PUSH2 0x0fae
00000fac: JUMPI
00000fad: INVALID
00000fae: JUMPDEST
00000faf: SWAP1
00000fb0: POP
00000fb1: PUSH1 0x20
00000fb3: MUL
00000fb4: ADD
00000fb5: PUSH1 0x20
00000fb7: DUP2
00000fb8: ADD
00000fb9: SWAP1
00000fba: PUSH2 0x0fc3
00000fbd: SWAP2
00000fbe: SWAP1
00000fbf: PUSH2 0x45f5
00000fc2: JUMP
00000fc3: JUMPDEST
00000fc4: SWAP1
00000fc5: POP
00000fc6: PUSH2 0x1066
00000fc9: DUP8
00000fca: DUP8
00000fcb: DUP5
00000fcc: DUP2
00000fcd: DUP2
00000fce: LT
00000fcf: PUSH2 0x0fd4
00000fd2: JUMPI
00000fd3: INVALID
00000fd4: JUMPDEST
00000fd5: SWAP1
00000fd6: POP
00000fd7: PUSH1 0x20
00000fd9: MUL
00000fda: ADD
00000fdb: CALLDATALOAD
00000fdc: PUSH1 0x06
00000fde: PUSH1 0x00
00000fe0: DUP15
00000fe1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ff6: AND
00000ff7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000100c: AND
0000100d: DUP2
0000100e: MSTORE
0000100f: PUSH1 0x20
00001011: ADD
00001012: SWAP1
00001013: DUP2
00001014: MSTORE
00001015: PUSH1 0x20
00001017: ADD
00001018: PUSH1 0x00
0000101a: KECCAK256
0000101b: PUSH1 0x00
0000101d: DUP5
0000101e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001033: AND
00001034: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001049: AND
0000104a: DUP2
0000104b: MSTORE
0000104c: PUSH1 0x20
0000104e: ADD
0000104f: SWAP1
00001050: DUP2
00001051: MSTORE
00001052: PUSH1 0x20
00001054: ADD
00001055: PUSH1 0x00
00001057: KECCAK256
00001058: SLOAD
00001059: PUSH2 0x3fb5
0000105c: SWAP1
0000105d: SWAP2
0000105e: SWAP1
0000105f: PUSH4 0xffffffff
00001064: AND
00001065: JUMP
00001066: JUMPDEST
00001067: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000107c: DUP1
0000107d: DUP14
0000107e: AND
0000107f: PUSH1 0x00
00001081: SWAP1
00001082: DUP2
00001083: MSTORE
00001084: PUSH1 0x06
00001086: PUSH1 0x20
00001088: SWAP1
00001089: DUP2
0000108a: MSTORE
0000108b: PUSH1 0x40
0000108d: DUP1
0000108e: DUP4
0000108f: KECCAK256
00001090: SWAP4
00001091: DUP7
00001092: AND
00001093: DUP4
00001094: MSTORE
00001095: SWAP3
00001096: SWAP1
00001097: MSTORE
00001098: KECCAK256
00001099: SSTORE
0000109a: PUSH2 0x10be
0000109d: DUP8
0000109e: DUP8
0000109f: DUP5
000010a0: DUP2
000010a1: DUP2
000010a2: LT
000010a3: PUSH2 0x10a8
000010a6: JUMPI
000010a7: INVALID
000010a8: JUMPDEST
000010a9: SWAP1
000010aa: POP
000010ab: PUSH1 0x20
000010ad: MUL
000010ae: ADD
000010af: CALLDATALOAD
000010b0: DUP6
000010b1: PUSH2 0x3fb5
000010b4: SWAP1
000010b5: SWAP2
000010b6: SWAP1
000010b7: PUSH4 0xffffffff
000010bc: AND
000010bd: JUMP
000010be: JUMPDEST
000010bf: SWAP4
000010c0: POP
000010c1: DUP1
000010c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010d7: AND
000010d8: DUP11
000010d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010ee: AND
000010ef: DUP13
000010f0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001105: AND
00001106: PUSH32 0x6eabe333476233fd382224f233210cb808a7bc4c4de64f9d76628bf63c677b1a
00001127: DUP11
00001128: DUP11
00001129: DUP8
0000112a: DUP2
0000112b: DUP2
0000112c: LT
0000112d: PUSH2 0x1132
00001130: JUMPI
00001131: INVALID
00001132: JUMPDEST
00001133: SWAP1
00001134: POP
00001135: PUSH1 0x20
00001137: MUL
00001138: ADD
00001139: CALLDATALOAD
0000113a: PUSH1 0x40
0000113c: MLOAD
0000113d: PUSH2 0x1146
00001140: SWAP2
00001141: SWAP1
00001142: PUSH2 0x5073
00001145: JUMP
00001146: JUMPDEST
00001147: PUSH1 0x40
00001149: MLOAD
0000114a: DUP1
0000114b: SWAP2
0000114c: SUB
0000114d: SWAP1
0000114e: LOG4
0000114f: POP
00001150: PUSH1 0x01
00001152: ADD
00001153: PUSH2 0x0f98
00001156: JUMP
00001157: JUMPDEST
00001158: POP
00001159: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000116e: DUP1
0000116f: DUP11
00001170: AND
00001171: PUSH1 0x00
00001173: SWAP1
00001174: DUP2
00001175: MSTORE
00001176: PUSH1 0x06
00001178: PUSH1 0x20
0000117a: SWAP1
0000117b: DUP2
0000117c: MSTORE
0000117d: PUSH1 0x40
0000117f: DUP1
00001180: DUP4
00001181: KECCAK256
00001182: SWAP4
00001183: DUP13
00001184: AND
00001185: DUP4
00001186: MSTORE
00001187: SWAP3
00001188: SWAP1
00001189: MSTORE
0000118a: KECCAK256
0000118b: SLOAD
0000118c: PUSH2 0x1195
0000118f: SWAP1
00001190: DUP4
00001191: PUSH2 0x3f78
00001194: JUMP
00001195: JUMPDEST
00001196: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011ab: SWAP10
000011ac: DUP11
000011ad: AND
000011ae: PUSH1 0x00
000011b0: SWAP1
000011b1: DUP2
000011b2: MSTORE
000011b3: PUSH1 0x06
000011b5: PUSH1 0x20
000011b7: SWAP1
000011b8: DUP2
000011b9: MSTORE
000011ba: PUSH1 0x40
000011bc: DUP1
000011bd: DUP4
000011be: KECCAK256
000011bf: SWAP12
000011c0: SWAP1
000011c1: SWAP13
000011c2: AND
000011c3: DUP3
000011c4: MSTORE
000011c5: SWAP10
000011c6: SWAP1
000011c7: SWAP10
000011c8: MSTORE
000011c9: SWAP9
000011ca: SWAP1
000011cb: SWAP8
000011cc: KECCAK256
000011cd: SWAP8
000011ce: SWAP1
000011cf: SWAP8
000011d0: SSTORE
000011d1: POP
000011d2: POP
000011d3: POP
000011d4: POP
000011d5: POP
000011d6: POP
000011d7: POP
000011d8: JUMP
000011d9: JUMPDEST
000011da: PUSH1 0x04
000011dc: PUSH1 0x20
000011de: MSTORE
000011df: PUSH1 0x00
000011e1: SWAP1
000011e2: DUP2
000011e3: MSTORE
000011e4: PUSH1 0x40
000011e6: SWAP1
000011e7: KECCAK256
000011e8: SLOAD
000011e9: PUSH1 0xff
000011eb: AND
000011ec: DUP2
000011ed: JUMP
000011ee: JUMPDEST
000011ef: PUSH1 0x00
000011f1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001206: DUP6
00001207: AND
00001208: PUSH2 0x123d
0000120b: JUMPI
0000120c: PUSH1 0x40
0000120e: MLOAD
0000120f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001230: DUP2
00001231: MSTORE
00001232: PUSH1 0x04
00001234: ADD
00001235: PUSH2 0x0677
00001238: SWAP1
00001239: PUSH2 0x5544
0000123c: JUMP
0000123d: JUMPDEST
0000123e: PUSH1 0x60
00001240: DUP6
00001241: SWAP1
00001242: SHL
00001243: DUP3
00001244: ISZERO
00001245: PUSH2 0x12c6
00001248: JUMPI
00001249: PUSH1 0x00
0000124b: DUP6
0000124c: DUP6
0000124d: PUSH1 0x40
0000124f: MLOAD
00001250: PUSH2 0x125a
00001253: SWAP3
00001254: SWAP2
00001255: SWAP1
00001256: PUSH2 0x4d76
00001259: JUMP
0000125a: JUMPDEST
0000125b: PUSH1 0x40
0000125d: MLOAD
0000125e: DUP1
0000125f: SWAP2
00001260: SUB
00001261: SWAP1
00001262: KECCAK256
00001263: SWAP1
00001264: POP
00001265: PUSH1 0x40
00001267: MLOAD
00001268: PUSH32 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000
00001289: DUP2
0000128a: MSTORE
0000128b: DUP3
0000128c: PUSH1 0x14
0000128e: DUP3
0000128f: ADD
00001290: MSTORE
00001291: PUSH32 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000
000012b2: PUSH1 0x28
000012b4: DUP3
000012b5: ADD
000012b6: MSTORE
000012b7: DUP2
000012b8: PUSH1 0x37
000012ba: DUP3
000012bb: PUSH1 0x00
000012bd: CREATE2
000012be: SWAP4
000012bf: POP
000012c0: POP
000012c1: POP
000012c2: PUSH2 0x1322
000012c5: JUMP
000012c6: JUMPDEST
000012c7: PUSH1 0x40
000012c9: MLOAD
000012ca: PUSH32 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000
000012eb: DUP2
000012ec: MSTORE
000012ed: DUP2
000012ee: PUSH1 0x14
000012f0: DUP3
000012f1: ADD
000012f2: MSTORE
000012f3: PUSH32 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000
00001314: PUSH1 0x28
00001316: DUP3
00001317: ADD
00001318: MSTORE
00001319: PUSH1 0x37
0000131b: DUP2
0000131c: PUSH1 0x00
0000131e: CREATE
0000131f: SWAP3
00001320: POP
00001321: POP
00001322: JUMPDEST
00001323: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001338: DUP3
00001339: DUP2
0000133a: AND
0000133b: PUSH1 0x00
0000133d: DUP2
0000133e: DUP2
0000133f: MSTORE
00001340: PUSH1 0x02
00001342: PUSH1 0x20
00001344: MSTORE
00001345: PUSH1 0x40
00001347: SWAP1
00001348: DUP2
00001349: SWAP1
0000134a: KECCAK256
0000134b: DUP1
0000134c: SLOAD
0000134d: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
0000136e: AND
0000136f: SWAP4
00001370: DUP11
00001371: AND
00001372: SWAP4
00001373: SWAP1
00001374: SWAP4
00001375: OR
00001376: SWAP1
00001377: SWAP3
00001378: SSTORE
00001379: SWAP1
0000137a: MLOAD
0000137b: PUSH32 0x4ddf47d400000000000000000000000000000000000000000000000000000000
0000139c: DUP2
0000139d: MSTORE
0000139e: PUSH4 0x4ddf47d4
000013a3: SWAP1
000013a4: CALLVALUE
000013a5: SWAP1
000013a6: PUSH2 0x13b5
000013a9: SWAP1
000013aa: DUP10
000013ab: SWAP1
000013ac: DUP10
000013ad: SWAP1
000013ae: PUSH1 0x04
000013b0: ADD
000013b1: PUSH2 0x510c
000013b4: JUMP
000013b5: JUMPDEST
000013b6: PUSH1 0x00
000013b8: PUSH1 0x40
000013ba: MLOAD
000013bb: DUP1
000013bc: DUP4
000013bd: SUB
000013be: DUP2
000013bf: DUP6
000013c0: DUP9
000013c1: DUP1
000013c2: EXTCODESIZE
000013c3: ISZERO
000013c4: DUP1
000013c5: ISZERO
000013c6: PUSH2 0x13ce
000013c9: JUMPI
000013ca: PUSH1 0x00
000013cc: DUP1
000013cd: REVERT
000013ce: JUMPDEST
000013cf: POP
000013d0: GAS
000013d1: CALL
000013d2: ISZERO
000013d3: DUP1
000013d4: ISZERO
000013d5: PUSH2 0x13e2
000013d8: JUMPI
000013d9: RETURNDATASIZE
000013da: PUSH1 0x00
000013dc: DUP1
000013dd: RETURNDATACOPY
000013de: RETURNDATASIZE
000013df: PUSH1 0x00
000013e1: REVERT
000013e2: JUMPDEST
000013e3: POP
000013e4: POP
000013e5: POP
000013e6: POP
000013e7: POP
000013e8: DUP2
000013e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013fe: AND
000013ff: DUP7
00001400: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001415: AND
00001416: PUSH32 0xd62166f3c2149208e51788b1401cc356bf5da1fc6c7886a32e18570f57d88b3b
00001437: DUP8
00001438: DUP8
00001439: PUSH1 0x40
0000143b: MLOAD
0000143c: PUSH2 0x1446
0000143f: SWAP3
00001440: SWAP2
00001441: SWAP1
00001442: PUSH2 0x510c
00001445: JUMP
00001446: JUMPDEST
00001447: PUSH1 0x40
00001449: MLOAD
0000144a: DUP1
0000144b: SWAP2
0000144c: SUB
0000144d: SWAP1
0000144e: LOG3
0000144f: POP
00001450: SWAP5
00001451: SWAP4
00001452: POP
00001453: POP
00001454: POP
00001455: POP
00001456: JUMP
00001457: JUMPDEST
00001458: PUSH1 0x08
0000145a: PUSH1 0x20
0000145c: MSTORE
0000145d: PUSH1 0x00
0000145f: SWAP1
00001460: DUP2
00001461: MSTORE
00001462: PUSH1 0x40
00001464: SWAP1
00001465: KECCAK256
00001466: SLOAD
00001467: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000147c: AND
0000147d: DUP2
0000147e: JUMP
0000147f: JUMPDEST
00001480: PUSH1 0x00
00001482: CHAINID
00001483: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001
000014a4: DUP2
000014a5: EQ
000014a6: PUSH2 0x14b7
000014a9: JUMPI
000014aa: PUSH2 0x14b2
000014ad: DUP2
000014ae: PUSH2 0x415d
000014b1: JUMP
000014b2: JUMPDEST
000014b3: PUSH2 0x14d9
000014b6: JUMP
000014b7: JUMPDEST
000014b8: PUSH32 0x7e99e9c7db2bf3c1bd7b672cacd5382aa4b29609f711825619ca72bf69be9d3a
000014d9: JUMPDEST
000014da: SWAP2
000014db: POP
000014dc: POP
000014dd: SWAP1
000014de: JUMP
000014df: JUMPDEST
000014e0: PUSH1 0x00
000014e2: SLOAD
000014e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000014f8: AND
000014f9: CALLER
000014fa: EQ
000014fb: PUSH2 0x1530
000014fe: JUMPI
000014ff: PUSH1 0x40
00001501: MLOAD
00001502: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001523: DUP2
00001524: MSTORE
00001525: PUSH1 0x04
00001527: ADD
00001528: PUSH2 0x0677
0000152b: SWAP1
0000152c: PUSH2 0x53fe
0000152f: JUMP
00001530: JUMPDEST
00001531: PUSH1 0x5f
00001533: DUP2
00001534: PUSH8 0xffffffffffffffff
0000153d: AND
0000153e: GT
0000153f: ISZERO
00001540: PUSH2 0x1575
00001543: JUMPI
00001544: PUSH1 0x40
00001546: MLOAD
00001547: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001568: DUP2
00001569: MSTORE
0000156a: PUSH1 0x04
0000156c: ADD
0000156d: PUSH2 0x0677
00001570: SWAP1
00001571: PUSH2 0x572f
00001574: JUMP
00001575: JUMPDEST
00001576: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000158b: DUP3
0000158c: AND
0000158d: PUSH1 0x00
0000158f: DUP2
00001590: DUP2
00001591: MSTORE
00001592: PUSH1 0x0a
00001594: PUSH1 0x20
00001596: MSTORE
00001597: PUSH1 0x40
00001599: SWAP1
0000159a: DUP2
0000159b: SWAP1
0000159c: KECCAK256
0000159d: DUP1
0000159e: SLOAD
0000159f: PUSH32 0xffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff
000015c0: AND
000015c1: PUSH9 0x010000000000000000
000015cb: PUSH8 0xffffffffffffffff
000015d4: DUP7
000015d5: AND
000015d6: MUL
000015d7: OR
000015d8: SWAP1
000015d9: SSTORE
000015da: MLOAD
000015db: PUSH32 0x7543af99b5602c06e62da0631b5308489a5ff859150105a623b6eb15e8deae0b
000015fc: SWAP1
000015fd: PUSH2 0x1607
00001600: SWAP1
00001601: DUP5
00001602: SWAP1
00001603: PUSH2 0x57ea
00001606: JUMP
00001607: JUMPDEST
00001608: PUSH1 0x40
0000160a: MLOAD
0000160b: DUP1
0000160c: SWAP2
0000160d: SUB
0000160e: SWAP1
0000160f: LOG2
00001610: POP
00001611: POP
00001612: JUMP
00001613: JUMPDEST
00001614: PUSH1 0x01
00001616: SLOAD
00001617: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000162c: AND
0000162d: CALLER
0000162e: DUP2
0000162f: EQ
00001630: PUSH2 0x1665
00001633: JUMPI
00001634: PUSH1 0x40
00001636: MLOAD
00001637: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001658: DUP2
00001659: MSTORE
0000165a: PUSH1 0x04
0000165c: ADD
0000165d: PUSH2 0x0677
00001660: SWAP1
00001661: PUSH2 0x546a
00001664: JUMP
00001665: JUMPDEST
00001666: PUSH1 0x00
00001668: DUP1
00001669: SLOAD
0000166a: PUSH1 0x40
0000166c: MLOAD
0000166d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001682: DUP1
00001683: DUP6
00001684: AND
00001685: SWAP4
00001686: SWAP3
00001687: AND
00001688: SWAP2
00001689: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
000016aa: SWAP2
000016ab: LOG3
000016ac: PUSH1 0x00
000016ae: DUP1
000016af: SLOAD
000016b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016c5: SWAP1
000016c6: SWAP3
000016c7: AND
000016c8: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000016e9: SWAP3
000016ea: DUP4
000016eb: AND
000016ec: OR
000016ed: SWAP1
000016ee: SSTORE
000016ef: PUSH1 0x01
000016f1: DUP1
000016f2: SLOAD
000016f3: SWAP1
000016f4: SWAP2
000016f5: AND
000016f6: SWAP1
000016f7: SSTORE
000016f8: JUMP
000016f9: JUMPDEST
000016fa: PUSH1 0x07
000016fc: PUSH1 0x20
000016fe: MSTORE
000016ff: PUSH1 0x00
00001701: SWAP1
00001702: DUP2
00001703: MSTORE
00001704: PUSH1 0x40
00001706: SWAP1
00001707: KECCAK256
00001708: SLOAD
00001709: PUSH16 0xffffffffffffffffffffffffffffffff
0000171a: DUP1
0000171b: DUP3
0000171c: AND
0000171d: SWAP2
0000171e: PUSH17 0x0100000000000000000000000000000000
00001730: SWAP1
00001731: DIV
00001732: AND
00001733: DUP3
00001734: JUMP
00001735: JUMPDEST
00001736: PUSH1 0x09
00001738: PUSH1 0x20
0000173a: MSTORE
0000173b: PUSH1 0x00
0000173d: SWAP1
0000173e: DUP2
0000173f: MSTORE
00001740: PUSH1 0x40
00001742: SWAP1
00001743: KECCAK256
00001744: SLOAD
00001745: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000175a: AND
0000175b: DUP2
0000175c: JUMP
0000175d: JUMPDEST
0000175e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001773: DUP4
00001774: AND
00001775: PUSH1 0x00
00001777: SWAP1
00001778: DUP2
00001779: MSTORE
0000177a: PUSH1 0x07
0000177c: PUSH1 0x20
0000177e: SWAP1
0000177f: DUP2
00001780: MSTORE
00001781: PUSH1 0x40
00001783: DUP1
00001784: DUP4
00001785: KECCAK256
00001786: DUP2
00001787: MLOAD
00001788: DUP1
00001789: DUP4
0000178a: ADD
0000178b: SWAP1
0000178c: SWAP3
0000178d: MSTORE
0000178e: SLOAD
0000178f: PUSH16 0xffffffffffffffffffffffffffffffff
000017a0: DUP1
000017a1: DUP3
000017a2: AND
000017a3: DUP4
000017a4: MSTORE
000017a5: PUSH17 0x0100000000000000000000000000000000
000017b7: SWAP1
000017b8: SWAP2
000017b9: DIV
000017ba: AND
000017bb: SWAP2
000017bc: DUP2
000017bd: ADD
000017be: SWAP2
000017bf: SWAP1
000017c0: SWAP2
000017c1: MSTORE
000017c2: PUSH2 0x17cc
000017c5: SWAP1
000017c6: DUP5
000017c7: DUP5
000017c8: PUSH2 0x3df1
000017cb: JUMP
000017cc: JUMPDEST
000017cd: SWAP5
000017ce: SWAP4
000017cf: POP
000017d0: POP
000017d1: POP
000017d2: POP
000017d3: JUMP
000017d4: JUMPDEST
000017d5: PUSH2 0x17dc
000017d8: PUSH2 0x4530
000017db: JUMP
000017dc: JUMPDEST
000017dd: POP
000017de: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017f3: DUP4
000017f4: DUP2
000017f5: AND
000017f6: PUSH1 0x00
000017f8: DUP2
000017f9: DUP2
000017fa: MSTORE
000017fb: PUSH1 0x0a
000017fd: PUSH1 0x20
000017ff: SWAP1
00001800: DUP2
00001801: MSTORE
00001802: PUSH1 0x40
00001804: DUP1
00001805: DUP4
00001806: KECCAK256
00001807: DUP2
00001808: MLOAD
00001809: PUSH1 0x60
0000180b: DUP2
0000180c: ADD
0000180d: DUP4
0000180e: MSTORE
0000180f: SWAP1
00001810: SLOAD
00001811: PUSH8 0xffffffffffffffff
0000181a: DUP1
0000181b: DUP3
0000181c: AND
0000181d: DUP4
0000181e: MSTORE
0000181f: PUSH9 0x010000000000000000
00001829: DUP3
0000182a: DIV
0000182b: AND
0000182c: DUP3
0000182d: DUP6
0000182e: ADD
0000182f: MSTORE
00001830: PUSH17 0x0100000000000000000000000000000000
00001842: SWAP1
00001843: DIV
00001844: PUSH16 0xffffffffffffffffffffffffffffffff
00001855: AND
00001856: DUP2
00001857: DUP4
00001858: ADD
00001859: SWAP1
0000185a: DUP2
0000185b: MSTORE
0000185c: SWAP5
0000185d: DUP5
0000185e: MSTORE
0000185f: PUSH1 0x08
00001861: SWAP1
00001862: SWAP3
00001863: MSTORE
00001864: DUP1
00001865: DUP4
00001866: KECCAK256
00001867: SLOAD
00001868: SWAP4
00001869: MLOAD
0000186a: SWAP1
0000186b: MLOAD
0000186c: PUSH32 0x18fccc7600000000000000000000000000000000000000000000000000000000
0000188d: DUP2
0000188e: MSTORE
0000188f: SWAP2
00001890: SWAP5
00001891: SWAP4
00001892: SWAP1
00001893: SWAP4
00001894: AND
00001895: SWAP3
00001896: DUP4
00001897: SWAP2
00001898: PUSH4 0x18fccc76
0000189d: SWAP2
0000189e: PUSH2 0x18ab
000018a1: SWAP2
000018a2: CALLER
000018a3: SWAP1
000018a4: PUSH1 0x04
000018a6: ADD
000018a7: PUSH2 0x5781
000018aa: JUMP
000018ab: JUMPDEST
000018ac: PUSH1 0x20
000018ae: PUSH1 0x40
000018b0: MLOAD
000018b1: DUP1
000018b2: DUP4
000018b3: SUB
000018b4: DUP2
000018b5: PUSH1 0x00
000018b7: DUP8
000018b8: DUP1
000018b9: EXTCODESIZE
000018ba: ISZERO
000018bb: DUP1
000018bc: ISZERO
000018bd: PUSH2 0x18c5
000018c0: JUMPI
000018c1: PUSH1 0x00
000018c3: DUP1
000018c4: REVERT
000018c5: JUMPDEST
000018c6: POP
000018c7: GAS
000018c8: CALL
000018c9: ISZERO
000018ca: DUP1
000018cb: ISZERO
000018cc: PUSH2 0x18d9
000018cf: JUMPI
000018d0: RETURNDATASIZE
000018d1: PUSH1 0x00
000018d3: DUP1
000018d4: RETURNDATACOPY
000018d5: RETURNDATASIZE
000018d6: PUSH1 0x00
000018d8: REVERT
000018d9: JUMPDEST
000018da: POP
000018db: POP
000018dc: POP
000018dd: POP
000018de: PUSH1 0x40
000018e0: MLOAD
000018e1: RETURNDATASIZE
000018e2: PUSH1 0x1f
000018e4: NOT
000018e5: PUSH1 0x1f
000018e7: DUP3
000018e8: ADD
000018e9: AND
000018ea: DUP3
000018eb: ADD
000018ec: DUP1
000018ed: PUSH1 0x40
000018ef: MSTORE
000018f0: POP
000018f1: DUP2
000018f2: ADD
000018f3: SWAP1
000018f4: PUSH2 0x18fd
000018f7: SWAP2
000018f8: SWAP1
000018f9: PUSH2 0x4bbb
000018fc: JUMP
000018fd: JUMPDEST
000018fe: SWAP1
000018ff: POP
00001900: DUP1
00001901: ISZERO
00001902: DUP1
00001903: ISZERO
00001904: PUSH2 0x190b
00001907: JUMPI
00001908: POP
00001909: DUP5
0000190a: ISZERO
0000190b: JUMPDEST
0000190c: ISZERO
0000190d: PUSH2 0x1918
00001910: JUMPI
00001911: POP
00001912: POP
00001913: POP
00001914: PUSH2 0x0e12
00001917: JUMP
00001918: JUMPDEST
00001919: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000192e: DUP7
0000192f: AND
00001930: PUSH1 0x00
00001932: SWAP1
00001933: DUP2
00001934: MSTORE
00001935: PUSH1 0x07
00001937: PUSH1 0x20
00001939: MSTORE
0000193a: PUSH1 0x40
0000193c: DUP2
0000193d: KECCAK256
0000193e: SLOAD
0000193f: PUSH16 0xffffffffffffffffffffffffffffffff
00001950: AND
00001951: SWAP1
00001952: DUP3
00001953: SGT
00001954: ISZERO
00001955: PUSH2 0x1a12
00001958: JUMPI
00001959: DUP2
0000195a: PUSH2 0x1963
0000195d: DUP3
0000195e: DUP3
0000195f: PUSH2 0x3fb5
00001962: JUMP
00001963: JUMPDEST
00001964: SWAP2
00001965: POP
00001966: PUSH2 0x196e
00001969: DUP3
0000196a: PUSH2 0x3d49
0000196d: JUMP
0000196e: JUMPDEST
0000196f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001984: DUP10
00001985: AND
00001986: PUSH1 0x00
00001988: DUP2
00001989: DUP2
0000198a: MSTORE
0000198b: PUSH1 0x07
0000198d: PUSH1 0x20
0000198f: MSTORE
00001990: PUSH1 0x40
00001992: SWAP1
00001993: DUP2
00001994: SWAP1
00001995: KECCAK256
00001996: DUP1
00001997: SLOAD
00001998: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
000019b9: AND
000019ba: PUSH16 0xffffffffffffffffffffffffffffffff
000019cb: SWAP5
000019cc: SWAP1
000019cd: SWAP5
000019ce: AND
000019cf: SWAP4
000019d0: SWAP1
000019d1: SWAP4
000019d2: OR
000019d3: SWAP1
000019d4: SWAP3
000019d5: SSTORE
000019d6: SWAP1
000019d7: MLOAD
000019d8: PUSH32 0x911c9f20a03edabcbcbd18dca1174cce47a91b234ced7a5a3c60ba0d5b56c5d2
000019f9: SWAP1
000019fa: PUSH2 0x1a04
000019fd: SWAP1
000019fe: DUP5
000019ff: SWAP1
00001a00: PUSH2 0x5073
00001a03: JUMP
00001a04: JUMPDEST
00001a05: PUSH1 0x40
00001a07: MLOAD
00001a08: DUP1
00001a09: SWAP2
00001a0a: SUB
00001a0b: SWAP1
00001a0c: LOG2
00001a0d: POP
00001a0e: PUSH2 0x1b2d
00001a11: JUMP
00001a12: JUMPDEST
00001a13: PUSH1 0x00
00001a15: DUP3
00001a16: SLT
00001a17: ISZERO
00001a18: PUSH2 0x1b2d
00001a1b: JUMPI
00001a1c: PUSH1 0x00
00001a1e: DUP3
00001a1f: SWAP1
00001a20: SUB
00001a21: PUSH2 0x1a2a
00001a24: DUP3
00001a25: DUP3
00001a26: PUSH2 0x3f78
00001a29: JUMP
00001a2a: JUMPDEST
00001a2b: SWAP2
00001a2c: POP
00001a2d: PUSH2 0x1a35
00001a30: DUP3
00001a31: PUSH2 0x3d49
00001a34: JUMP
00001a35: JUMPDEST
00001a36: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a4b: DUP10
00001a4c: AND
00001a4d: PUSH1 0x00
00001a4f: SWAP1
00001a50: DUP2
00001a51: MSTORE
00001a52: PUSH1 0x07
00001a54: PUSH1 0x20
00001a56: MSTORE
00001a57: PUSH1 0x40
00001a59: SWAP1
00001a5a: KECCAK256
00001a5b: DUP1
00001a5c: SLOAD
00001a5d: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00001a7e: AND
00001a7f: PUSH16 0xffffffffffffffffffffffffffffffff
00001a90: SWAP3
00001a91: SWAP1
00001a92: SWAP3
00001a93: AND
00001a94: SWAP2
00001a95: SWAP1
00001a96: SWAP2
00001a97: OR
00001a98: SWAP1
00001a99: SSTORE
00001a9a: PUSH2 0x1ac2
00001a9d: PUSH2 0x1aa5
00001aa0: DUP3
00001aa1: PUSH2 0x3d49
00001aa4: JUMP
00001aa5: JUMPDEST
00001aa6: PUSH1 0x40
00001aa8: DUP8
00001aa9: ADD
00001aaa: MLOAD
00001aab: PUSH16 0xffffffffffffffffffffffffffffffff
00001abc: AND
00001abd: SWAP1
00001abe: PUSH2 0x41d4
00001ac1: JUMP
00001ac2: JUMPDEST
00001ac3: PUSH16 0xffffffffffffffffffffffffffffffff
00001ad4: AND
00001ad5: PUSH1 0x40
00001ad7: DUP1
00001ad8: DUP8
00001ad9: ADD
00001ada: SWAP2
00001adb: SWAP1
00001adc: SWAP2
00001add: MSTORE
00001ade: MLOAD
00001adf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001af4: DUP10
00001af5: AND
00001af6: SWAP1
00001af7: PUSH32 0x8f1f26eb9b6aa8689dbdd519ead1999d9c8819d4738e403b2003b18197d9cf97
00001b18: SWAP1
00001b19: PUSH2 0x1b23
00001b1c: SWAP1
00001b1d: DUP5
00001b1e: SWAP1
00001b1f: PUSH2 0x5073
00001b22: JUMP
00001b23: JUMPDEST
00001b24: PUSH1 0x40
00001b26: MLOAD
00001b27: DUP1
00001b28: SWAP2
00001b29: SUB
00001b2a: SWAP1
00001b2b: LOG2
00001b2c: POP
00001b2d: JUMPDEST
00001b2e: DUP6
00001b2f: ISZERO
00001b30: PUSH2 0x1eb1
00001b33: JUMPI
00001b34: PUSH1 0x00
00001b36: PUSH1 0x64
00001b38: PUSH2 0x1b58
00001b3b: DUP7
00001b3c: PUSH1 0x20
00001b3e: ADD
00001b3f: MLOAD
00001b40: PUSH8 0xffffffffffffffff
00001b49: AND
00001b4a: DUP5
00001b4b: PUSH2 0x4226
00001b4e: SWAP1
00001b4f: SWAP2
00001b50: SWAP1
00001b51: PUSH4 0xffffffff
00001b56: AND
00001b57: JUMP
00001b58: JUMPDEST
00001b59: DUP2
00001b5a: PUSH2 0x1b5f
00001b5d: JUMPI
00001b5e: INVALID
00001b5f: JUMPDEST
00001b60: DIV
00001b61: SWAP1
00001b62: POP
00001b63: DUP1
00001b64: DUP6
00001b65: PUSH1 0x40
00001b67: ADD
00001b68: MLOAD
00001b69: PUSH16 0xffffffffffffffffffffffffffffffff
00001b7a: AND
00001b7b: LT
00001b7c: ISZERO
00001b7d: PUSH2 0x1cfe
00001b80: JUMPI
00001b81: PUSH1 0x00
00001b83: PUSH2 0x1bab
00001b86: DUP7
00001b87: PUSH1 0x40
00001b89: ADD
00001b8a: MLOAD
00001b8b: PUSH16 0xffffffffffffffffffffffffffffffff
00001b9c: AND
00001b9d: DUP4
00001b9e: PUSH2 0x3f78
00001ba1: SWAP1
00001ba2: SWAP2
00001ba3: SWAP1
00001ba4: PUSH4 0xffffffff
00001ba9: AND
00001baa: JUMP
00001bab: JUMPDEST
00001bac: SWAP1
00001bad: POP
00001bae: DUP7
00001baf: ISZERO
00001bb0: DUP1
00001bb1: ISZERO
00001bb2: SWAP1
00001bb3: PUSH2 0x1bbb
00001bb6: JUMPI
00001bb7: POP
00001bb8: DUP7
00001bb9: DUP2
00001bba: GT
00001bbb: JUMPDEST
00001bbc: ISZERO
00001bbd: PUSH2 0x1bc3
00001bc0: JUMPI
00001bc1: POP
00001bc2: DUP6
00001bc3: JUMPDEST
00001bc4: PUSH2 0x1be4
00001bc7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001bdc: DUP11
00001bdd: AND
00001bde: DUP7
00001bdf: DUP4
00001be0: PUSH2 0x4277
00001be3: JUMP
00001be4: JUMPDEST
00001be5: PUSH2 0x1c0d
00001be8: PUSH2 0x1bf0
00001beb: DUP3
00001bec: PUSH2 0x3d49
00001bef: JUMP
00001bf0: JUMPDEST
00001bf1: PUSH1 0x40
00001bf3: DUP9
00001bf4: ADD
00001bf5: MLOAD
00001bf6: PUSH16 0xffffffffffffffffffffffffffffffff
00001c07: AND
00001c08: SWAP1
00001c09: PUSH2 0x3d99
00001c0c: JUMP
00001c0d: JUMPDEST
00001c0e: PUSH16 0xffffffffffffffffffffffffffffffff
00001c1f: AND
00001c20: PUSH1 0x40
00001c22: DUP1
00001c23: DUP9
00001c24: ADD
00001c25: SWAP2
00001c26: SWAP1
00001c27: SWAP2
00001c28: MSTORE
00001c29: MLOAD
00001c2a: PUSH32 0x6939aaf500000000000000000000000000000000000000000000000000000000
00001c4b: DUP2
00001c4c: MSTORE
00001c4d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c62: DUP7
00001c63: AND
00001c64: SWAP1
00001c65: PUSH4 0x6939aaf5
00001c6a: SWAP1
00001c6b: PUSH2 0x1c78
00001c6e: SWAP1
00001c6f: DUP5
00001c70: SWAP1
00001c71: PUSH1 0x04
00001c73: ADD
00001c74: PUSH2 0x5073
00001c77: JUMP
00001c78: JUMPDEST
00001c79: PUSH1 0x00
00001c7b: PUSH1 0x40
00001c7d: MLOAD
00001c7e: DUP1
00001c7f: DUP4
00001c80: SUB
00001c81: DUP2
00001c82: PUSH1 0x00
00001c84: DUP8
00001c85: DUP1
00001c86: EXTCODESIZE
00001c87: ISZERO
00001c88: DUP1
00001c89: ISZERO
00001c8a: PUSH2 0x1c92
00001c8d: JUMPI
00001c8e: PUSH1 0x00
00001c90: DUP1
00001c91: REVERT
00001c92: JUMPDEST
00001c93: POP
00001c94: GAS
00001c95: CALL
00001c96: ISZERO
00001c97: DUP1
00001c98: ISZERO
00001c99: PUSH2 0x1ca6
00001c9c: JUMPI
00001c9d: RETURNDATASIZE
00001c9e: PUSH1 0x00
00001ca0: DUP1
00001ca1: RETURNDATACOPY
00001ca2: RETURNDATASIZE
00001ca3: PUSH1 0x00
00001ca5: REVERT
00001ca6: JUMPDEST
00001ca7: POP
00001ca8: POP
00001ca9: POP
00001caa: POP
00001cab: DUP9
00001cac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001cc1: AND
00001cc2: PUSH32 0xb18e7e4f6eac147a63a3bb6beb2d9039c88698623aff3efc4febbc20b0164ee5
00001ce3: DUP3
00001ce4: PUSH1 0x40
00001ce6: MLOAD
00001ce7: PUSH2 0x1cf0
00001cea: SWAP2
00001ceb: SWAP1
00001cec: PUSH2 0x5073
00001cef: JUMP
00001cf0: JUMPDEST
00001cf1: PUSH1 0x40
00001cf3: MLOAD
00001cf4: DUP1
00001cf5: SWAP2
00001cf6: SUB
00001cf7: SWAP1
00001cf8: LOG2
00001cf9: POP
00001cfa: PUSH2 0x1eaf
00001cfd: JUMP
00001cfe: JUMPDEST
00001cff: DUP1
00001d00: DUP6
00001d01: PUSH1 0x40
00001d03: ADD
00001d04: MLOAD
00001d05: PUSH16 0xffffffffffffffffffffffffffffffff
00001d16: AND
00001d17: GT
00001d18: ISZERO
00001d19: PUSH2 0x1eaf
00001d1c: JUMPI
00001d1d: PUSH1 0x00
00001d1f: PUSH2 0x1d47
00001d22: PUSH2 0x1d2a
00001d25: DUP4
00001d26: PUSH2 0x3d49
00001d29: JUMP
00001d2a: JUMPDEST
00001d2b: PUSH1 0x40
00001d2d: DUP9
00001d2e: ADD
00001d2f: MLOAD
00001d30: PUSH16 0xffffffffffffffffffffffffffffffff
00001d41: AND
00001d42: SWAP1
00001d43: PUSH2 0x41d4
00001d46: JUMP
00001d47: JUMPDEST
00001d48: PUSH16 0xffffffffffffffffffffffffffffffff
00001d59: AND
00001d5a: SWAP1
00001d5b: POP
00001d5c: DUP7
00001d5d: ISZERO
00001d5e: DUP1
00001d5f: ISZERO
00001d60: SWAP1
00001d61: PUSH2 0x1d69
00001d64: JUMPI
00001d65: POP
00001d66: DUP7
00001d67: DUP2
00001d68: GT
00001d69: JUMPDEST
00001d6a: ISZERO
00001d6b: PUSH2 0x1d71
00001d6e: JUMPI
00001d6f: POP
00001d70: DUP6
00001d71: JUMPDEST
00001d72: PUSH1 0x40
00001d74: MLOAD
00001d75: PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000
00001d96: DUP2
00001d97: MSTORE
00001d98: PUSH1 0x00
00001d9a: SWAP1
00001d9b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001db0: DUP8
00001db1: AND
00001db2: SWAP1
00001db3: PUSH4 0x2e1a7d4d
00001db8: SWAP1
00001db9: PUSH2 0x1dc6
00001dbc: SWAP1
00001dbd: DUP6
00001dbe: SWAP1
00001dbf: PUSH1 0x04
00001dc1: ADD
00001dc2: PUSH2 0x5073
00001dc5: JUMP
00001dc6: JUMPDEST
00001dc7: PUSH1 0x20
00001dc9: PUSH1 0x40
00001dcb: MLOAD
00001dcc: DUP1
00001dcd: DUP4
00001dce: SUB
00001dcf: DUP2
00001dd0: PUSH1 0x00
00001dd2: DUP8
00001dd3: DUP1
00001dd4: EXTCODESIZE
00001dd5: ISZERO
00001dd6: DUP1
00001dd7: ISZERO
00001dd8: PUSH2 0x1de0
00001ddb: JUMPI
00001ddc: PUSH1 0x00
00001dde: DUP1
00001ddf: REVERT
00001de0: JUMPDEST
00001de1: POP
00001de2: GAS
00001de3: CALL
00001de4: ISZERO
00001de5: DUP1
00001de6: ISZERO
00001de7: PUSH2 0x1df4
00001dea: JUMPI
00001deb: RETURNDATASIZE
00001dec: PUSH1 0x00
00001dee: DUP1
00001def: RETURNDATACOPY
00001df0: RETURNDATASIZE
00001df1: PUSH1 0x00
00001df3: REVERT
00001df4: JUMPDEST
00001df5: POP
00001df6: POP
00001df7: POP
00001df8: POP
00001df9: PUSH1 0x40
00001dfb: MLOAD
00001dfc: RETURNDATASIZE
00001dfd: PUSH1 0x1f
00001dff: NOT
00001e00: PUSH1 0x1f
00001e02: DUP3
00001e03: ADD
00001e04: AND
00001e05: DUP3
00001e06: ADD
00001e07: DUP1
00001e08: PUSH1 0x40
00001e0a: MSTORE
00001e0b: POP
00001e0c: DUP2
00001e0d: ADD
00001e0e: SWAP1
00001e0f: PUSH2 0x1e18
00001e12: SWAP2
00001e13: SWAP1
00001e14: PUSH2 0x4bbb
00001e17: JUMP
00001e18: JUMPDEST
00001e19: SWAP1
00001e1a: POP
00001e1b: PUSH2 0x1e43
00001e1e: PUSH2 0x1e26
00001e21: DUP3
00001e22: PUSH2 0x3d49
00001e25: JUMP
00001e26: JUMPDEST
00001e27: PUSH1 0x40
00001e29: DUP10
00001e2a: ADD
00001e2b: MLOAD
00001e2c: PUSH16 0xffffffffffffffffffffffffffffffff
00001e3d: AND
00001e3e: SWAP1
00001e3f: PUSH2 0x41d4
00001e42: JUMP
00001e43: JUMPDEST
00001e44: PUSH16 0xffffffffffffffffffffffffffffffff
00001e55: AND
00001e56: PUSH1 0x40
00001e58: DUP1
00001e59: DUP10
00001e5a: ADD
00001e5b: SWAP2
00001e5c: SWAP1
00001e5d: SWAP2
00001e5e: MSTORE
00001e5f: MLOAD
00001e60: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001e75: DUP12
00001e76: AND
00001e77: SWAP1
00001e78: PUSH32 0x39aa22060f8dd4d291720311feedf3b72fef47c06c66ccf5c22b502c62e7550a
00001e99: SWAP1
00001e9a: PUSH2 0x1ea4
00001e9d: SWAP1
00001e9e: DUP5
00001e9f: SWAP1
00001ea0: PUSH2 0x5073
00001ea3: JUMP
00001ea4: JUMPDEST
00001ea5: PUSH1 0x40
00001ea7: MLOAD
00001ea8: DUP1
00001ea9: SWAP2
00001eaa: SUB
00001eab: SWAP1
00001eac: LOG2
00001ead: POP
00001eae: POP
00001eaf: JUMPDEST
00001eb0: POP
00001eb1: JUMPDEST
00001eb2: POP
00001eb3: POP
00001eb4: POP
00001eb5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001eca: DUP5
00001ecb: AND
00001ecc: PUSH1 0x00
00001ece: SWAP1
00001ecf: DUP2
00001ed0: MSTORE
00001ed1: PUSH1 0x0a
00001ed3: PUSH1 0x20
00001ed5: SWAP1
00001ed6: DUP2
00001ed7: MSTORE
00001ed8: PUSH1 0x40
00001eda: SWAP2
00001edb: DUP3
00001edc: SWAP1
00001edd: KECCAK256
00001ede: DUP4
00001edf: MLOAD
00001ee0: DUP2
00001ee1: SLOAD
00001ee2: SWAP3
00001ee3: DUP6
00001ee4: ADD
00001ee5: MLOAD
00001ee6: SWAP4
00001ee7: SWAP1
00001ee8: SWAP5
00001ee9: ADD
00001eea: MLOAD
00001eeb: PUSH16 0xffffffffffffffffffffffffffffffff
00001efc: SWAP1
00001efd: DUP2
00001efe: AND
00001eff: PUSH17 0x0100000000000000000000000000000000
00001f11: MUL
00001f12: PUSH8 0xffffffffffffffff
00001f1b: SWAP5
00001f1c: DUP6
00001f1d: AND
00001f1e: PUSH9 0x010000000000000000
00001f28: MUL
00001f29: PUSH32 0xffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff
00001f4a: SWAP6
00001f4b: SWAP1
00001f4c: SWAP7
00001f4d: AND
00001f4e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000
00001f6f: SWAP1
00001f70: SWAP5
00001f71: AND
00001f72: SWAP4
00001f73: SWAP1
00001f74: SWAP4
00001f75: OR
00001f76: SWAP4
00001f77: SWAP1
00001f78: SWAP4
00001f79: AND
00001f7a: SWAP4
00001f7b: SWAP1
00001f7c: SWAP4
00001f7d: OR
00001f7e: SWAP2
00001f7f: SWAP1
00001f80: SWAP2
00001f81: AND
00001f82: OR
00001f83: SWAP1
00001f84: SSTORE
00001f85: POP
00001f86: POP
00001f87: POP
00001f88: JUMP
00001f89: JUMPDEST
00001f8a: PUSH1 0x00
00001f8c: SLOAD
00001f8d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fa2: AND
00001fa3: CALLER
00001fa4: EQ
00001fa5: PUSH2 0x1fda
00001fa8: JUMPI
00001fa9: PUSH1 0x40
00001fab: MLOAD
00001fac: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001fcd: DUP2
00001fce: MSTORE
00001fcf: PUSH1 0x04
00001fd1: ADD
00001fd2: PUSH2 0x0677
00001fd5: SWAP1
00001fd6: PUSH2 0x53fe
00001fd9: JUMP
00001fda: JUMPDEST
00001fdb: PUSH2 0x1fe2
00001fde: PUSH2 0x4530
00001fe1: JUMP
00001fe2: JUMPDEST
00001fe3: POP
00001fe4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ff9: DUP3
00001ffa: DUP2
00001ffb: AND
00001ffc: PUSH1 0x00
00001ffe: DUP2
00001fff: DUP2
00002000: MSTORE
00002001: PUSH1 0x0a
00002003: PUSH1 0x20
00002005: SWAP1
00002006: DUP2
00002007: MSTORE
00002008: PUSH1 0x40
0000200a: DUP1
0000200b: DUP4
0000200c: KECCAK256
0000200d: DUP2
0000200e: MLOAD
0000200f: PUSH1 0x60
00002011: DUP2
00002012: ADD
00002013: DUP4
00002014: MSTORE
00002015: SWAP1
00002016: SLOAD
00002017: PUSH8 0xffffffffffffffff
00002020: DUP1
00002021: DUP3
00002022: AND
00002023: DUP4
00002024: MSTORE
00002025: PUSH9 0x010000000000000000
0000202f: DUP3
00002030: DIV
00002031: DUP2
00002032: AND
00002033: DUP4
00002034: DUP7
00002035: ADD
00002036: MSTORE
00002037: PUSH17 0x0100000000000000000000000000000000
00002049: SWAP1
0000204a: SWAP2
0000204b: DIV
0000204c: PUSH16 0xffffffffffffffffffffffffffffffff
0000205d: AND
0000205e: DUP3
0000205f: DUP5
00002060: ADD
00002061: MSTORE
00002062: SWAP5
00002063: DUP5
00002064: MSTORE
00002065: PUSH1 0x09
00002067: SWAP1
00002068: SWAP3
00002069: MSTORE
0000206a: SWAP1
0000206b: SWAP2
0000206c: KECCAK256
0000206d: SLOAD
0000206e: DUP2
0000206f: MLOAD
00002070: SWAP2
00002071: SWAP4
00002072: AND
00002073: SWAP2
00002074: AND
00002075: ISZERO
00002076: DUP1
00002077: PUSH2 0x20ac
0000207a: JUMPI
0000207b: POP
0000207c: DUP3
0000207d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002092: AND
00002093: DUP2
00002094: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020a9: AND
000020aa: EQ
000020ab: ISZERO
000020ac: JUMPDEST
000020ad: ISZERO
000020ae: PUSH2 0x2169
000020b1: JUMPI
000020b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020c7: DUP5
000020c8: DUP2
000020c9: AND
000020ca: PUSH1 0x00
000020cc: SWAP1
000020cd: DUP2
000020ce: MSTORE
000020cf: PUSH1 0x09
000020d1: PUSH1 0x20
000020d3: MSTORE
000020d4: PUSH1 0x40
000020d6: SWAP1
000020d7: KECCAK256
000020d8: DUP1
000020d9: SLOAD
000020da: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000020fb: AND
000020fc: SWAP2
000020fd: DUP6
000020fe: AND
000020ff: SWAP2
00002100: SWAP1
00002101: SWAP2
00002102: OR
00002103: SWAP1
00002104: SSTORE
00002105: PUSH2 0x2112
00002108: PUSH3 0x127500
0000210c: TIMESTAMP
0000210d: ADD
0000210e: PUSH2 0x43df
00002111: JUMP
00002112: JUMPDEST
00002113: PUSH8 0xffffffffffffffff
0000211c: AND
0000211d: DUP3
0000211e: MSTORE
0000211f: PUSH1 0x40
00002121: MLOAD
00002122: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002137: DUP1
00002138: DUP6
00002139: AND
0000213a: SWAP2
0000213b: SWAP1
0000213c: DUP7
0000213d: AND
0000213e: SWAP1
0000213f: PUSH32 0x6f7ccdf3f86039e5a1dcf6028bf7b4773cbf7a234716ba2e5392b12bb0f8558f
00002160: SWAP1
00002161: PUSH1 0x00
00002163: SWAP1
00002164: LOG3
00002165: PUSH2 0x24b9
00002168: JUMP
00002169: JUMPDEST
0000216a: DUP2
0000216b: MLOAD
0000216c: PUSH8 0xffffffffffffffff
00002175: AND
00002176: ISZERO
00002177: DUP1
00002178: ISZERO
00002179: SWAP1
0000217a: PUSH2 0x218e
0000217d: JUMPI
0000217e: POP
0000217f: DUP2
00002180: MLOAD
00002181: PUSH8 0xffffffffffffffff
0000218a: AND
0000218b: TIMESTAMP
0000218c: LT
0000218d: ISZERO
0000218e: JUMPDEST
0000218f: PUSH2 0x21c4
00002192: JUMPI
00002193: PUSH1 0x40
00002195: MLOAD
00002196: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000021b7: DUP2
000021b8: MSTORE
000021b9: PUSH1 0x04
000021bb: ADD
000021bc: PUSH2 0x0677
000021bf: SWAP1
000021c0: PUSH2 0x53c7
000021c3: JUMP
000021c4: JUMPDEST
000021c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000021da: DUP5
000021db: DUP2
000021dc: AND
000021dd: PUSH1 0x00
000021df: SWAP1
000021e0: DUP2
000021e1: MSTORE
000021e2: PUSH1 0x08
000021e4: PUSH1 0x20
000021e6: MSTORE
000021e7: PUSH1 0x40
000021e9: SWAP1
000021ea: KECCAK256
000021eb: SLOAD
000021ec: AND
000021ed: ISZERO
000021ee: PUSH2 0x241d
000021f1: JUMPI
000021f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002207: DUP1
00002208: DUP6
00002209: AND
0000220a: PUSH1 0x00
0000220c: SWAP1
0000220d: DUP2
0000220e: MSTORE
0000220f: PUSH1 0x08
00002211: PUSH1 0x20
00002213: MSTORE
00002214: PUSH1 0x40
00002216: DUP1
00002217: DUP3
00002218: KECCAK256
00002219: SLOAD
0000221a: DUP6
0000221b: DUP3
0000221c: ADD
0000221d: MLOAD
0000221e: SWAP2
0000221f: MLOAD
00002220: PUSH32 0x7f8661a100000000000000000000000000000000000000000000000000000000
00002241: DUP2
00002242: MSTORE
00002243: SWAP3
00002244: SWAP4
00002245: AND
00002246: SWAP2
00002247: PUSH4 0x7f8661a1
0000224c: SWAP2
0000224d: PUSH2 0x2258
00002250: SWAP2
00002251: PUSH1 0x04
00002253: ADD
00002254: PUSH2 0x5764
00002257: JUMP
00002258: JUMPDEST
00002259: PUSH1 0x20
0000225b: PUSH1 0x40
0000225d: MLOAD
0000225e: DUP1
0000225f: DUP4
00002260: SUB
00002261: DUP2
00002262: PUSH1 0x00
00002264: DUP8
00002265: DUP1
00002266: EXTCODESIZE
00002267: ISZERO
00002268: DUP1
00002269: ISZERO
0000226a: PUSH2 0x2272
0000226d: JUMPI
0000226e: PUSH1 0x00
00002270: DUP1
00002271: REVERT
00002272: JUMPDEST
00002273: POP
00002274: GAS
00002275: CALL
00002276: ISZERO
00002277: DUP1
00002278: ISZERO
00002279: PUSH2 0x2286
0000227c: JUMPI
0000227d: RETURNDATASIZE
0000227e: PUSH1 0x00
00002280: DUP1
00002281: RETURNDATACOPY
00002282: RETURNDATASIZE
00002283: PUSH1 0x00
00002285: REVERT
00002286: JUMPDEST
00002287: POP
00002288: POP
00002289: POP
0000228a: POP
0000228b: PUSH1 0x40
0000228d: MLOAD
0000228e: RETURNDATASIZE
0000228f: PUSH1 0x1f
00002291: NOT
00002292: PUSH1 0x1f
00002294: DUP3
00002295: ADD
00002296: AND
00002297: DUP3
00002298: ADD
00002299: DUP1
0000229a: PUSH1 0x40
0000229c: MSTORE
0000229d: POP
0000229e: DUP2
0000229f: ADD
000022a0: SWAP1
000022a1: PUSH2 0x22aa
000022a4: SWAP2
000022a5: SWAP1
000022a6: PUSH2 0x4bbb
000022a9: JUMP
000022aa: JUMPDEST
000022ab: SWAP1
000022ac: POP
000022ad: PUSH1 0x00
000022af: DUP2
000022b0: SGT
000022b1: ISZERO
000022b2: PUSH2 0x233b
000022b5: JUMPI
000022b6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022cb: DUP6
000022cc: AND
000022cd: PUSH1 0x00
000022cf: SWAP1
000022d0: DUP2
000022d1: MSTORE
000022d2: PUSH1 0x07
000022d4: PUSH1 0x20
000022d6: MSTORE
000022d7: PUSH1 0x40
000022d9: SWAP1
000022da: KECCAK256
000022db: DUP2
000022dc: SWAP1
000022dd: PUSH2 0x22e6
000022e0: SWAP1
000022e1: DUP3
000022e2: PUSH2 0x4423
000022e5: JUMP
000022e6: JUMPDEST
000022e7: POP
000022e8: DUP6
000022e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022fe: AND
000022ff: PUSH32 0x911c9f20a03edabcbcbd18dca1174cce47a91b234ced7a5a3c60ba0d5b56c5d2
00002320: DUP3
00002321: PUSH1 0x40
00002323: MLOAD
00002324: PUSH2 0x232d
00002327: SWAP2
00002328: SWAP1
00002329: PUSH2 0x5073
0000232c: JUMP
0000232d: JUMPDEST
0000232e: PUSH1 0x40
00002330: MLOAD
00002331: DUP1
00002332: SWAP2
00002333: SUB
00002334: SWAP1
00002335: LOG2
00002336: POP
00002337: PUSH2 0x23c9
0000233a: JUMP
0000233b: JUMPDEST
0000233c: PUSH1 0x00
0000233e: DUP2
0000233f: SLT
00002340: ISZERO
00002341: PUSH2 0x23c9
00002344: JUMPI
00002345: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000235a: DUP6
0000235b: AND
0000235c: PUSH1 0x00
0000235e: SWAP1
0000235f: DUP2
00002360: MSTORE
00002361: PUSH1 0x07
00002363: PUSH1 0x20
00002365: MSTORE
00002366: PUSH1 0x40
00002368: DUP2
00002369: KECCAK256
0000236a: SWAP1
0000236b: DUP3
0000236c: SWAP1
0000236d: SUB
0000236e: SWAP1
0000236f: PUSH2 0x2378
00002372: SWAP1
00002373: DUP3
00002374: PUSH2 0x4491
00002377: JUMP
00002378: JUMPDEST
00002379: POP
0000237a: DUP6
0000237b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002390: AND
00002391: PUSH32 0x8f1f26eb9b6aa8689dbdd519ead1999d9c8819d4738e403b2003b18197d9cf97
000023b2: DUP3
000023b3: PUSH1 0x40
000023b5: MLOAD
000023b6: PUSH2 0x23bf
000023b9: SWAP2
000023ba: SWAP1
000023bb: PUSH2 0x5073
000023be: JUMP
000023bf: JUMPDEST
000023c0: PUSH1 0x40
000023c2: MLOAD
000023c3: DUP1
000023c4: SWAP2
000023c5: SUB
000023c6: SWAP1
000023c7: LOG2
000023c8: POP
000023c9: JUMPDEST
000023ca: DUP5
000023cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000023e0: AND
000023e1: PUSH32 0x39aa22060f8dd4d291720311feedf3b72fef47c06c66ccf5c22b502c62e7550a
00002402: DUP5
00002403: PUSH1 0x40
00002405: ADD
00002406: MLOAD
00002407: PUSH1 0x40
00002409: MLOAD
0000240a: PUSH2 0x2413
0000240d: SWAP2
0000240e: SWAP1
0000240f: PUSH2 0x5764
00002412: JUMP
00002413: JUMPDEST
00002414: PUSH1 0x40
00002416: MLOAD
00002417: DUP1
00002418: SWAP2
00002419: SUB
0000241a: SWAP1
0000241b: LOG2
0000241c: POP
0000241d: JUMPDEST
0000241e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002433: DUP1
00002434: DUP6
00002435: AND
00002436: PUSH1 0x00
00002438: DUP2
00002439: DUP2
0000243a: MSTORE
0000243b: PUSH1 0x08
0000243d: PUSH1 0x20
0000243f: SWAP1
00002440: DUP2
00002441: MSTORE
00002442: PUSH1 0x40
00002444: DUP1
00002445: DUP4
00002446: KECCAK256
00002447: DUP1
00002448: SLOAD
00002449: DUP7
0000244a: DUP9
0000244b: AND
0000244c: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
0000246d: SWAP2
0000246e: DUP3
0000246f: AND
00002470: OR
00002471: SWAP1
00002472: SWAP2
00002473: SSTORE
00002474: DUP4
00002475: DUP9
00002476: MSTORE
00002477: DUP8
00002478: DUP3
00002479: ADD
0000247a: DUP5
0000247b: SWAP1
0000247c: MSTORE
0000247d: DUP5
0000247e: DUP5
0000247f: MSTORE
00002480: PUSH1 0x09
00002482: SWAP1
00002483: SWAP3
00002484: MSTORE
00002485: DUP1
00002486: DUP4
00002487: KECCAK256
00002488: DUP1
00002489: SLOAD
0000248a: SWAP1
0000248b: SWAP3
0000248c: AND
0000248d: SWAP1
0000248e: SWAP2
0000248f: SSTORE
00002490: MLOAD
00002491: SWAP3
00002492: DUP7
00002493: AND
00002494: SWAP3
00002495: PUSH32 0x03e6352a885adc4cc54767592939c3b1bbd65685658c3beaaba66a888120e217
000024b6: SWAP2
000024b7: SWAP1
000024b8: LOG3
000024b9: JUMPDEST
000024ba: POP
000024bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024d0: SWAP3
000024d1: SWAP1
000024d2: SWAP3
000024d3: AND
000024d4: PUSH1 0x00
000024d6: SWAP1
000024d7: DUP2
000024d8: MSTORE
000024d9: PUSH1 0x0a
000024db: PUSH1 0x20
000024dd: SWAP1
000024de: DUP2
000024df: MSTORE
000024e0: PUSH1 0x40
000024e2: SWAP2
000024e3: DUP3
000024e4: SWAP1
000024e5: KECCAK256
000024e6: DUP5
000024e7: MLOAD
000024e8: DUP2
000024e9: SLOAD
000024ea: SWAP3
000024eb: DUP7
000024ec: ADD
000024ed: MLOAD
000024ee: SWAP4
000024ef: SWAP1
000024f0: SWAP6
000024f1: ADD
000024f2: MLOAD
000024f3: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000
00002514: SWAP1
00002515: SWAP3
00002516: AND
00002517: PUSH8 0xffffffffffffffff
00002520: SWAP6
00002521: DUP7
00002522: AND
00002523: OR
00002524: PUSH32 0xffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff
00002545: AND
00002546: PUSH9 0x010000000000000000
00002550: SWAP6
00002551: SWAP1
00002552: SWAP4
00002553: AND
00002554: SWAP5
00002555: SWAP1
00002556: SWAP5
00002557: MUL
00002558: SWAP2
00002559: SWAP1
0000255a: SWAP2
0000255b: OR
0000255c: PUSH16 0xffffffffffffffffffffffffffffffff
0000256d: SWAP1
0000256e: DUP2
0000256f: AND
00002570: PUSH17 0x0100000000000000000000000000000000
00002582: SWAP2
00002583: SWAP1
00002584: SWAP3
00002585: AND
00002586: MUL
00002587: OR
00002588: SWAP1
00002589: SWAP2
0000258a: SSTORE
0000258b: POP
0000258c: JUMP
0000258d: JUMPDEST
0000258e: PUSH1 0x00
00002590: SLOAD
00002591: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000025a6: AND
000025a7: CALLER
000025a8: EQ
000025a9: PUSH2 0x25de
000025ac: JUMPI
000025ad: PUSH1 0x40
000025af: MLOAD
000025b0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000025d1: DUP2
000025d2: MSTORE
000025d3: PUSH1 0x04
000025d5: ADD
000025d6: PUSH2 0x0677
000025d9: SWAP1
000025da: PUSH2 0x53fe
000025dd: JUMP
000025de: JUMPDEST
000025df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000025f4: DUP3
000025f5: AND
000025f6: PUSH2 0x262b
000025f9: JUMPI
000025fa: PUSH1 0x40
000025fc: MLOAD
000025fd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000261e: DUP2
0000261f: MSTORE
00002620: PUSH1 0x04
00002622: ADD
00002623: PUSH2 0x0677
00002626: SWAP1
00002627: PUSH2 0x51a1
0000262a: JUMP
0000262b: JUMPDEST
0000262c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002641: DUP3
00002642: AND
00002643: PUSH1 0x00
00002645: DUP2
00002646: DUP2
00002647: MSTORE
00002648: PUSH1 0x04
0000264a: PUSH1 0x20
0000264c: MSTORE
0000264d: PUSH1 0x40
0000264f: SWAP1
00002650: DUP2
00002651: SWAP1
00002652: KECCAK256
00002653: DUP1
00002654: SLOAD
00002655: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
00002676: AND
00002677: DUP5
00002678: ISZERO
00002679: ISZERO
0000267a: OR
0000267b: SWAP1
0000267c: SSTORE
0000267d: MLOAD
0000267e: PUSH32 0x31a1e0eac44b54ac6c2a2efa87e92c83405ffcf33fceef02a7bca695130e2600
0000269f: SWAP1
000026a0: PUSH2 0x1607
000026a3: SWAP1
000026a4: DUP5
000026a5: SWAP1
000026a6: PUSH2 0x5068
000026a9: JUMP
000026aa: JUMPDEST
000026ab: PUSH1 0x40
000026ad: MLOAD
000026ae: PUSH32 0xd505accf00000000000000000000000000000000000000000000000000000000
000026cf: DUP2
000026d0: MSTORE
000026d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026e6: DUP10
000026e7: AND
000026e8: SWAP1
000026e9: PUSH4 0xd505accf
000026ee: SWAP1
000026ef: PUSH2 0x2708
000026f2: SWAP1
000026f3: DUP11
000026f4: SWAP1
000026f5: DUP11
000026f6: SWAP1
000026f7: DUP11
000026f8: SWAP1
000026f9: DUP11
000026fa: SWAP1
000026fb: DUP11
000026fc: SWAP1
000026fd: DUP11
000026fe: SWAP1
000026ff: DUP11
00002700: SWAP1
00002701: PUSH1 0x04
00002703: ADD
00002704: PUSH2 0x4f5a
00002707: JUMP
00002708: JUMPDEST
00002709: PUSH1 0x00
0000270b: PUSH1 0x40
0000270d: MLOAD
0000270e: DUP1
0000270f: DUP4
00002710: SUB
00002711: DUP2
00002712: PUSH1 0x00
00002714: DUP8
00002715: DUP1
00002716: EXTCODESIZE
00002717: ISZERO
00002718: DUP1
00002719: ISZERO
0000271a: PUSH2 0x2722
0000271d: JUMPI
0000271e: PUSH1 0x00
00002720: DUP1
00002721: REVERT
00002722: JUMPDEST
00002723: POP
00002724: GAS
00002725: CALL
00002726: ISZERO
00002727: DUP1
00002728: ISZERO
00002729: PUSH2 0x2736
0000272c: JUMPI
0000272d: RETURNDATASIZE
0000272e: PUSH1 0x00
00002730: DUP1
00002731: RETURNDATACOPY
00002732: RETURNDATASIZE
00002733: PUSH1 0x00
00002735: REVERT
00002736: JUMPDEST
00002737: POP
00002738: POP
00002739: POP
0000273a: POP
0000273b: POP
0000273c: POP
0000273d: POP
0000273e: POP
0000273f: POP
00002740: POP
00002741: POP
00002742: POP
00002743: JUMP
00002744: JUMPDEST
00002745: PUSH1 0x05
00002747: PUSH1 0x20
00002749: MSTORE
0000274a: PUSH1 0x00
0000274c: SWAP1
0000274d: DUP2
0000274e: MSTORE
0000274f: PUSH1 0x40
00002751: SWAP1
00002752: KECCAK256
00002753: SLOAD
00002754: DUP2
00002755: JUMP
00002756: JUMPDEST
00002757: PUSH1 0x00
00002759: SLOAD
0000275a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000276f: AND
00002770: DUP2
00002771: JUMP
00002772: JUMPDEST
00002773: PUSH1 0x03
00002775: PUSH1 0x20
00002777: SWAP1
00002778: DUP2
00002779: MSTORE
0000277a: PUSH1 0x00
0000277c: SWAP3
0000277d: DUP4
0000277e: MSTORE
0000277f: PUSH1 0x40
00002781: DUP1
00002782: DUP5
00002783: KECCAK256
00002784: SWAP1
00002785: SWAP2
00002786: MSTORE
00002787: SWAP1
00002788: DUP3
00002789: MSTORE
0000278a: SWAP1
0000278b: KECCAK256
0000278c: SLOAD
0000278d: PUSH1 0xff
0000278f: AND
00002790: DUP2
00002791: JUMP
00002792: JUMPDEST
00002793: PUSH1 0x00
00002795: DUP1
00002796: DUP6
00002797: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027ac: DUP2
000027ad: AND
000027ae: CALLER
000027af: EQ
000027b0: DUP1
000027b1: ISZERO
000027b2: SWAP1
000027b3: PUSH2 0x27d2
000027b6: JUMPI
000027b7: POP
000027b8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027cd: DUP2
000027ce: AND
000027cf: ADDRESS
000027d0: EQ
000027d1: ISZERO
000027d2: JUMPDEST
000027d3: ISZERO
000027d4: PUSH2 0x28a2
000027d7: JUMPI
000027d8: CALLER
000027d9: PUSH1 0x00
000027db: SWAP1
000027dc: DUP2
000027dd: MSTORE
000027de: PUSH1 0x02
000027e0: PUSH1 0x20
000027e2: MSTORE
000027e3: PUSH1 0x40
000027e5: SWAP1
000027e6: KECCAK256
000027e7: SLOAD
000027e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027fd: AND
000027fe: DUP1
000027ff: PUSH2 0x2834
00002802: JUMPI
00002803: PUSH1 0x40
00002805: MLOAD
00002806: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002827: DUP2
00002828: MSTORE
00002829: PUSH1 0x04
0000282b: ADD
0000282c: PUSH2 0x0677
0000282f: SWAP1
00002830: PUSH2 0x55b0
00002833: JUMP
00002834: JUMPDEST
00002835: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000284a: DUP1
0000284b: DUP3
0000284c: AND
0000284d: PUSH1 0x00
0000284f: SWAP1
00002850: DUP2
00002851: MSTORE
00002852: PUSH1 0x03
00002854: PUSH1 0x20
00002856: SWAP1
00002857: DUP2
00002858: MSTORE
00002859: PUSH1 0x40
0000285b: DUP1
0000285c: DUP4
0000285d: KECCAK256
0000285e: SWAP4
0000285f: DUP7
00002860: AND
00002861: DUP4
00002862: MSTORE
00002863: SWAP3
00002864: SWAP1
00002865: MSTORE
00002866: KECCAK256
00002867: SLOAD
00002868: PUSH1 0xff
0000286a: AND
0000286b: PUSH2 0x28a0
0000286e: JUMPI
0000286f: PUSH1 0x40
00002871: MLOAD
00002872: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002893: DUP2
00002894: MSTORE
00002895: PUSH1 0x04
00002897: ADD
00002898: PUSH2 0x0677
0000289b: SWAP1
0000289c: PUSH2 0x5433
0000289f: JUMP
000028a0: JUMPDEST
000028a1: POP
000028a2: JUMPDEST
000028a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000028b8: DUP7
000028b9: AND
000028ba: PUSH2 0x28ef
000028bd: JUMPI
000028be: PUSH1 0x40
000028c0: MLOAD
000028c1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000028e2: DUP2
000028e3: MSTORE
000028e4: PUSH1 0x04
000028e6: ADD
000028e7: PUSH2 0x0677
000028ea: SWAP1
000028eb: PUSH2 0x5390
000028ee: JUMP
000028ef: JUMPDEST
000028f0: PUSH1 0x00
000028f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002907: DUP10
00002908: AND
00002909: ISZERO
0000290a: PUSH2 0x2913
0000290d: JUMPI
0000290e: DUP9
0000290f: PUSH2 0x2935
00002912: JUMP
00002913: JUMPDEST
00002914: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002935: JUMPDEST
00002936: SWAP1
00002937: POP
00002938: PUSH2 0x293f
0000293b: PUSH2 0x4519
0000293e: JUMP
0000293f: JUMPDEST
00002940: POP
00002941: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002956: DUP2
00002957: AND
00002958: PUSH1 0x00
0000295a: SWAP1
0000295b: DUP2
0000295c: MSTORE
0000295d: PUSH1 0x07
0000295f: PUSH1 0x20
00002961: SWAP1
00002962: DUP2
00002963: MSTORE
00002964: PUSH1 0x40
00002966: SWAP2
00002967: DUP3
00002968: SWAP1
00002969: KECCAK256
0000296a: DUP3
0000296b: MLOAD
0000296c: DUP1
0000296d: DUP5
0000296e: ADD
0000296f: SWAP1
00002970: SWAP4
00002971: MSTORE
00002972: SLOAD
00002973: PUSH16 0xffffffffffffffffffffffffffffffff
00002984: DUP1
00002985: DUP3
00002986: AND
00002987: DUP5
00002988: MSTORE
00002989: PUSH17 0x0100000000000000000000000000000000
0000299b: SWAP1
0000299c: SWAP2
0000299d: DIV
0000299e: AND
0000299f: SWAP1
000029a0: DUP3
000029a1: ADD
000029a2: MSTORE
000029a3: DUP6
000029a4: PUSH2 0x29ba
000029a7: JUMPI
000029a8: PUSH2 0x29b3
000029ab: DUP2
000029ac: DUP9
000029ad: PUSH1 0x01
000029af: PUSH2 0x3c8b
000029b2: JUMP
000029b3: JUMPDEST
000029b4: SWAP6
000029b5: POP
000029b6: PUSH2 0x29c9
000029b9: JUMP
000029ba: JUMPDEST
000029bb: PUSH2 0x29c6
000029be: DUP2
000029bf: DUP8
000029c0: PUSH1 0x00
000029c2: PUSH2 0x3df1
000029c5: JUMP
000029c6: JUMPDEST
000029c7: SWAP7
000029c8: POP
000029c9: JUMPDEST
000029ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000029df: DUP1
000029e0: DUP4
000029e1: AND
000029e2: PUSH1 0x00
000029e4: SWAP1
000029e5: DUP2
000029e6: MSTORE
000029e7: PUSH1 0x06
000029e9: PUSH1 0x20
000029eb: SWAP1
000029ec: DUP2
000029ed: MSTORE
000029ee: PUSH1 0x40
000029f0: DUP1
000029f1: DUP4
000029f2: KECCAK256
000029f3: SWAP4
000029f4: DUP14
000029f5: AND
000029f6: DUP4
000029f7: MSTORE
000029f8: SWAP3
000029f9: SWAP1
000029fa: MSTORE
000029fb: KECCAK256
000029fc: SLOAD
000029fd: PUSH2 0x2a06
00002a00: SWAP1
00002a01: DUP8
00002a02: PUSH2 0x3f78
00002a05: JUMP
00002a06: JUMPDEST
00002a07: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a1c: DUP1
00002a1d: DUP5
00002a1e: AND
00002a1f: PUSH1 0x00
00002a21: SWAP1
00002a22: DUP2
00002a23: MSTORE
00002a24: PUSH1 0x06
00002a26: PUSH1 0x20
00002a28: SWAP1
00002a29: DUP2
00002a2a: MSTORE
00002a2b: PUSH1 0x40
00002a2d: DUP1
00002a2e: DUP4
00002a2f: KECCAK256
00002a30: SWAP4
00002a31: DUP15
00002a32: AND
00002a33: DUP4
00002a34: MSTORE
00002a35: SWAP3
00002a36: SWAP1
00002a37: MSTORE
00002a38: KECCAK256
00002a39: SSTORE
00002a3a: PUSH2 0x2a5f
00002a3d: PUSH2 0x2a45
00002a40: DUP9
00002a41: PUSH2 0x3d49
00002a44: JUMP
00002a45: JUMPDEST
00002a46: DUP3
00002a47: MLOAD
00002a48: PUSH16 0xffffffffffffffffffffffffffffffff
00002a59: AND
00002a5a: SWAP1
00002a5b: PUSH2 0x41d4
00002a5e: JUMP
00002a5f: JUMPDEST
00002a60: PUSH16 0xffffffffffffffffffffffffffffffff
00002a71: AND
00002a72: DUP2
00002a73: MSTORE
00002a74: PUSH2 0x2a9c
00002a77: PUSH2 0x2a7f
00002a7a: DUP8
00002a7b: PUSH2 0x3d49
00002a7e: JUMP
00002a7f: JUMPDEST
00002a80: PUSH1 0x20
00002a82: DUP4
00002a83: ADD
00002a84: MLOAD
00002a85: PUSH16 0xffffffffffffffffffffffffffffffff
00002a96: AND
00002a97: SWAP1
00002a98: PUSH2 0x41d4
00002a9b: JUMP
00002a9c: JUMPDEST
00002a9d: PUSH16 0xffffffffffffffffffffffffffffffff
00002aae: AND
00002aaf: PUSH1 0x20
00002ab1: DUP3
00002ab2: ADD
00002ab3: DUP2
00002ab4: SWAP1
00002ab5: MSTORE
00002ab6: PUSH2 0x03e8
00002ab9: GT
00002aba: ISZERO
00002abb: DUP1
00002abc: PUSH2 0x2ad9
00002abf: JUMPI
00002ac0: POP
00002ac1: PUSH1 0x20
00002ac3: DUP2
00002ac4: ADD
00002ac5: MLOAD
00002ac6: PUSH16 0xffffffffffffffffffffffffffffffff
00002ad7: AND
00002ad8: ISZERO
00002ad9: JUMPDEST
00002ada: PUSH2 0x2b0f
00002add: JUMPI
00002ade: PUSH1 0x40
00002ae0: MLOAD
00002ae1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002b02: DUP2
00002b03: MSTORE
00002b04: PUSH1 0x04
00002b06: ADD
00002b07: PUSH2 0x0677
00002b0a: SWAP1
00002b0b: PUSH2 0x5246
00002b0e: JUMP
00002b0f: JUMPDEST
00002b10: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b25: DUP3
00002b26: DUP2
00002b27: AND
00002b28: PUSH1 0x00
00002b2a: SWAP1
00002b2b: DUP2
00002b2c: MSTORE
00002b2d: PUSH1 0x07
00002b2f: PUSH1 0x20
00002b31: SWAP1
00002b32: DUP2
00002b33: MSTORE
00002b34: PUSH1 0x40
00002b36: SWAP1
00002b37: SWAP2
00002b38: KECCAK256
00002b39: DUP4
00002b3a: MLOAD
00002b3b: DUP2
00002b3c: SLOAD
00002b3d: SWAP3
00002b3e: DUP6
00002b3f: ADD
00002b40: MLOAD
00002b41: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
00002b62: SWAP1
00002b63: SWAP4
00002b64: AND
00002b65: PUSH16 0xffffffffffffffffffffffffffffffff
00002b76: SWAP2
00002b77: DUP3
00002b78: AND
00002b79: OR
00002b7a: DUP2
00002b7b: AND
00002b7c: PUSH17 0x0100000000000000000000000000000000
00002b8e: SWAP2
00002b8f: SWAP1
00002b90: SWAP4
00002b91: AND
00002b92: MUL
00002b93: SWAP2
00002b94: SWAP1
00002b95: SWAP2
00002b96: OR
00002b97: SWAP1
00002b98: SSTORE
00002b99: DUP11
00002b9a: AND
00002b9b: PUSH2 0x2ceb
00002b9e: JUMPI
00002b9f: PUSH1 0x40
00002ba1: MLOAD
00002ba2: PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000
00002bc3: DUP2
00002bc4: MSTORE
00002bc5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002bda: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002bfb: AND
00002bfc: SWAP1
00002bfd: PUSH4 0x2e1a7d4d
00002c02: SWAP1
00002c03: PUSH2 0x2c10
00002c06: SWAP1
00002c07: DUP11
00002c08: SWAP1
00002c09: PUSH1 0x04
00002c0b: ADD
00002c0c: PUSH2 0x5073
00002c0f: JUMP
00002c10: JUMPDEST
00002c11: PUSH1 0x00
00002c13: PUSH1 0x40
00002c15: MLOAD
00002c16: DUP1
00002c17: DUP4
00002c18: SUB
00002c19: DUP2
00002c1a: PUSH1 0x00
00002c1c: DUP8
00002c1d: DUP1
00002c1e: EXTCODESIZE
00002c1f: ISZERO
00002c20: DUP1
00002c21: ISZERO
00002c22: PUSH2 0x2c2a
00002c25: JUMPI
00002c26: PUSH1 0x00
00002c28: DUP1
00002c29: REVERT
00002c2a: JUMPDEST
00002c2b: POP
00002c2c: GAS
00002c2d: CALL
00002c2e: ISZERO
00002c2f: DUP1
00002c30: ISZERO
00002c31: PUSH2 0x2c3e
00002c34: JUMPI
00002c35: RETURNDATASIZE
00002c36: PUSH1 0x00
00002c38: DUP1
00002c39: RETURNDATACOPY
00002c3a: RETURNDATASIZE
00002c3b: PUSH1 0x00
00002c3d: REVERT
00002c3e: JUMPDEST
00002c3f: POP
00002c40: POP
00002c41: POP
00002c42: POP
00002c43: PUSH1 0x00
00002c45: DUP9
00002c46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c5b: AND
00002c5c: DUP9
00002c5d: PUSH1 0x40
00002c5f: MLOAD
00002c60: PUSH2 0x2c68
00002c63: SWAP1
00002c64: PUSH2 0x4dc9
00002c67: JUMP
00002c68: JUMPDEST
00002c69: PUSH1 0x00
00002c6b: PUSH1 0x40
00002c6d: MLOAD
00002c6e: DUP1
00002c6f: DUP4
00002c70: SUB
00002c71: DUP2
00002c72: DUP6
00002c73: DUP8
00002c74: GAS
00002c75: CALL
00002c76: SWAP3
00002c77: POP
00002c78: POP
00002c79: POP
00002c7a: RETURNDATASIZE
00002c7b: DUP1
00002c7c: PUSH1 0x00
00002c7e: DUP2
00002c7f: EQ
00002c80: PUSH2 0x2ca5
00002c83: JUMPI
00002c84: PUSH1 0x40
00002c86: MLOAD
00002c87: SWAP2
00002c88: POP
00002c89: PUSH1 0x1f
00002c8b: NOT
00002c8c: PUSH1 0x3f
00002c8e: RETURNDATASIZE
00002c8f: ADD
00002c90: AND
00002c91: DUP3
00002c92: ADD
00002c93: PUSH1 0x40
00002c95: MSTORE
00002c96: RETURNDATASIZE
00002c97: DUP3
00002c98: MSTORE
00002c99: RETURNDATASIZE
00002c9a: PUSH1 0x00
00002c9c: PUSH1 0x20
00002c9e: DUP5
00002c9f: ADD
00002ca0: RETURNDATACOPY
00002ca1: PUSH2 0x2caa
00002ca4: JUMP
00002ca5: JUMPDEST
00002ca6: PUSH1 0x60
00002ca8: SWAP2
00002ca9: POP
00002caa: JUMPDEST
00002cab: POP
00002cac: POP
00002cad: SWAP1
00002cae: POP
00002caf: DUP1
00002cb0: PUSH2 0x2ce5
00002cb3: JUMPI
00002cb4: PUSH1 0x40
00002cb6: MLOAD
00002cb7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002cd8: DUP2
00002cd9: MSTORE
00002cda: PUSH1 0x04
00002cdc: ADD
00002cdd: PUSH2 0x0677
00002ce0: SWAP1
00002ce1: PUSH2 0x56c1
00002ce4: JUMP
00002ce5: JUMPDEST
00002ce6: POP
00002ce7: PUSH2 0x2d0c
00002cea: JUMP
00002ceb: JUMPDEST
00002cec: PUSH2 0x2d0c
00002cef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d04: DUP4
00002d05: AND
00002d06: DUP10
00002d07: DUP10
00002d08: PUSH2 0x4277
00002d0b: JUMP
00002d0c: JUMPDEST
00002d0d: DUP8
00002d0e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d23: AND
00002d24: DUP10
00002d25: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d3a: AND
00002d3b: DUP4
00002d3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d51: AND
00002d52: PUSH32 0xad9ab9ee6953d4d177f4a03b3a3ac3178ffcb9816319f348060194aa76b14486
00002d73: DUP11
00002d74: DUP11
00002d75: PUSH1 0x40
00002d77: MLOAD
00002d78: PUSH2 0x0c70
00002d7b: SWAP3
00002d7c: SWAP2
00002d7d: SWAP1
00002d7e: PUSH2 0x57dc
00002d81: JUMP
00002d82: JUMPDEST
00002d83: CALLER
00002d84: PUSH1 0x00
00002d86: DUP2
00002d87: DUP2
00002d88: MSTORE
00002d89: PUSH1 0x02
00002d8b: PUSH1 0x20
00002d8d: MSTORE
00002d8e: PUSH1 0x40
00002d90: DUP1
00002d91: DUP3
00002d92: KECCAK256
00002d93: DUP1
00002d94: SLOAD
00002d95: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00002db6: AND
00002db7: DUP5
00002db8: OR
00002db9: SWAP1
00002dba: SSTORE
00002dbb: MLOAD
00002dbc: PUSH32 0xdfb44ffabf0d3a8f650d3ce43eff98f6d050e7ea1a396d5794f014e7dadabacb
00002ddd: SWAP2
00002dde: SWAP1
00002ddf: LOG2
00002de0: JUMP
00002de1: JUMPDEST
00002de2: PUSH1 0x02
00002de4: PUSH1 0x20
00002de6: MSTORE
00002de7: PUSH1 0x00
00002de9: SWAP1
00002dea: DUP2
00002deb: MSTORE
00002dec: PUSH1 0x40
00002dee: SWAP1
00002def: KECCAK256
00002df0: SLOAD
00002df1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e06: AND
00002e07: DUP2
00002e08: JUMP
00002e09: JUMPDEST
00002e0a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e1f: DUP6
00002e20: AND
00002e21: PUSH2 0x2e56
00002e24: JUMPI
00002e25: PUSH1 0x40
00002e27: MLOAD
00002e28: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002e49: DUP2
00002e4a: MSTORE
00002e4b: PUSH1 0x04
00002e4d: ADD
00002e4e: PUSH2 0x0677
00002e51: SWAP1
00002e52: PUSH2 0x5579
00002e55: JUMP
00002e56: JUMPDEST
00002e57: DUP2
00002e58: ISZERO
00002e59: DUP1
00002e5a: ISZERO
00002e5b: PUSH2 0x2e62
00002e5e: JUMPI
00002e5f: POP
00002e60: DUP1
00002e61: ISZERO
00002e62: JUMPDEST
00002e63: DUP1
00002e64: ISZERO
00002e65: PUSH2 0x2e6f
00002e68: JUMPI
00002e69: POP
00002e6a: PUSH1 0xff
00002e6c: DUP4
00002e6d: AND
00002e6e: ISZERO
00002e6f: JUMPDEST
00002e70: ISZERO
00002e71: PUSH2 0x2f86
00002e74: JUMPI
00002e75: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e8a: DUP7
00002e8b: AND
00002e8c: CALLER
00002e8d: EQ
00002e8e: PUSH2 0x2ec3
00002e91: JUMPI
00002e92: PUSH1 0x40
00002e94: MLOAD
00002e95: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002eb6: DUP2
00002eb7: MSTORE
00002eb8: PUSH1 0x04
00002eba: ADD
00002ebb: PUSH2 0x0677
00002ebe: SWAP1
00002ebf: PUSH2 0x51d8
00002ec2: JUMP
00002ec3: JUMPDEST
00002ec4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002ed9: DUP7
00002eda: DUP2
00002edb: AND
00002edc: PUSH1 0x00
00002ede: SWAP1
00002edf: DUP2
00002ee0: MSTORE
00002ee1: PUSH1 0x02
00002ee3: PUSH1 0x20
00002ee5: MSTORE
00002ee6: PUSH1 0x40
00002ee8: SWAP1
00002ee9: KECCAK256
00002eea: SLOAD
00002eeb: AND
00002eec: ISZERO
00002eed: PUSH2 0x2f22
00002ef0: JUMPI
00002ef1: PUSH1 0x40
00002ef3: MLOAD
00002ef4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002f15: DUP2
00002f16: MSTORE
00002f17: PUSH1 0x04
00002f19: ADD
00002f1a: PUSH2 0x0677
00002f1d: SWAP1
00002f1e: PUSH2 0x54d6
00002f21: JUMP
00002f22: JUMPDEST
00002f23: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f38: DUP6
00002f39: AND
00002f3a: PUSH1 0x00
00002f3c: SWAP1
00002f3d: DUP2
00002f3e: MSTORE
00002f3f: PUSH1 0x04
00002f41: PUSH1 0x20
00002f43: MSTORE
00002f44: PUSH1 0x40
00002f46: SWAP1
00002f47: KECCAK256
00002f48: SLOAD
00002f49: PUSH1 0xff
00002f4b: AND
00002f4c: PUSH2 0x2f81
00002f4f: JUMPI
00002f50: PUSH1 0x40
00002f52: MLOAD
00002f53: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002f74: DUP2
00002f75: MSTORE
00002f76: PUSH1 0x04
00002f78: ADD
00002f79: PUSH2 0x0677
00002f7c: SWAP1
00002f7d: PUSH2 0x568a
00002f80: JUMP
00002f81: JUMPDEST
00002f82: PUSH2 0x31c3
00002f85: JUMP
00002f86: JUMPDEST
00002f87: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f9c: DUP7
00002f9d: AND
00002f9e: PUSH2 0x2fd3
00002fa1: JUMPI
00002fa2: PUSH1 0x40
00002fa4: MLOAD
00002fa5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002fc6: DUP2
00002fc7: MSTORE
00002fc8: PUSH1 0x04
00002fca: ADD
00002fcb: PUSH2 0x0677
00002fce: SWAP1
00002fcf: PUSH2 0x561c
00002fd2: JUMP
00002fd3: JUMPDEST
00002fd4: PUSH1 0x00
00002fd6: PUSH1 0x40
00002fd8: MLOAD
00002fd9: DUP1
00002fda: PUSH1 0x40
00002fdc: ADD
00002fdd: PUSH1 0x40
00002fdf: MSTORE
00002fe0: DUP1
00002fe1: PUSH1 0x02
00002fe3: DUP2
00002fe4: MSTORE
00002fe5: PUSH1 0x20
00002fe7: ADD
00002fe8: PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000
00003009: DUP2
0000300a: MSTORE
0000300b: POP
0000300c: PUSH2 0x3013
0000300f: PUSH2 0x147f
00003012: JUMP
00003013: JUMPDEST
00003014: PUSH32 0x1962bc9f5484cb7a998701b81090e966ee1fce5771af884cceee7c081b14ade2
00003035: DUP8
00003036: PUSH2 0x305f
00003039: JUMPI
0000303a: PUSH32 0xb426802f1f7dc850a7b6b38805edea2442f3992878a9ab985abfe8091d95d0b1
0000305b: PUSH2 0x3081
0000305e: JUMP
0000305f: JUMPDEST
00003060: PUSH32 0x422ac5323fe049241dee67716229a1cc1bc7b313b23dfe3ef6d42ab177a3b284
00003081: JUMPDEST
00003082: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003097: DUP12
00003098: AND
00003099: PUSH1 0x00
0000309b: SWAP1
0000309c: DUP2
0000309d: MSTORE
0000309e: PUSH1 0x05
000030a0: PUSH1 0x20
000030a2: SWAP1
000030a3: DUP2
000030a4: MSTORE
000030a5: PUSH1 0x40
000030a7: SWAP2
000030a8: DUP3
000030a9: SWAP1
000030aa: KECCAK256
000030ab: DUP1
000030ac: SLOAD
000030ad: PUSH1 0x01
000030af: DUP2
000030b0: ADD
000030b1: SWAP1
000030b2: SWAP2
000030b3: SSTORE
000030b4: SWAP2
000030b5: MLOAD
000030b6: PUSH2 0x30c8
000030b9: SWAP5
000030ba: SWAP4
000030bb: SWAP3
000030bc: DUP15
000030bd: SWAP3
000030be: DUP15
000030bf: SWAP3
000030c0: DUP15
000030c1: SWAP3
000030c2: SWAP2
000030c3: ADD
000030c4: PUSH2 0x507c
000030c7: JUMP
000030c8: JUMPDEST
000030c9: PUSH1 0x40
000030cb: MLOAD
000030cc: PUSH1 0x20
000030ce: DUP2
000030cf: DUP4
000030d0: SUB
000030d1: SUB
000030d2: DUP2
000030d3: MSTORE
000030d4: SWAP1
000030d5: PUSH1 0x40
000030d7: MSTORE
000030d8: DUP1
000030d9: MLOAD
000030da: SWAP1
000030db: PUSH1 0x20
000030dd: ADD
000030de: KECCAK256
000030df: PUSH1 0x40
000030e1: MLOAD
000030e2: PUSH1 0x20
000030e4: ADD
000030e5: PUSH2 0x30f0
000030e8: SWAP4
000030e9: SWAP3
000030ea: SWAP2
000030eb: SWAP1
000030ec: PUSH2 0x4da2
000030ef: JUMP
000030f0: JUMPDEST
000030f1: PUSH1 0x40
000030f3: MLOAD
000030f4: PUSH1 0x20
000030f6: DUP2
000030f7: DUP4
000030f8: SUB
000030f9: SUB
000030fa: DUP2
000030fb: MSTORE
000030fc: SWAP1
000030fd: PUSH1 0x40
000030ff: MSTORE
00003100: DUP1
00003101: MLOAD
00003102: SWAP1
00003103: PUSH1 0x20
00003105: ADD
00003106: KECCAK256
00003107: SWAP1
00003108: POP
00003109: PUSH1 0x00
0000310b: PUSH1 0x01
0000310d: DUP3
0000310e: DUP7
0000310f: DUP7
00003110: DUP7
00003111: PUSH1 0x40
00003113: MLOAD
00003114: PUSH1 0x00
00003116: DUP2
00003117: MSTORE
00003118: PUSH1 0x20
0000311a: ADD
0000311b: PUSH1 0x40
0000311d: MSTORE
0000311e: PUSH1 0x40
00003120: MLOAD
00003121: PUSH2 0x312d
00003124: SWAP5
00003125: SWAP4
00003126: SWAP3
00003127: SWAP2
00003128: SWAP1
00003129: PUSH2 0x50ee
0000312c: JUMP
0000312d: JUMPDEST
0000312e: PUSH1 0x20
00003130: PUSH1 0x40
00003132: MLOAD
00003133: PUSH1 0x20
00003135: DUP2
00003136: SUB
00003137: SWAP1
00003138: DUP1
00003139: DUP5
0000313a: SUB
0000313b: SWAP1
0000313c: DUP6
0000313d: GAS
0000313e: STATICCALL
0000313f: ISZERO
00003140: DUP1
00003141: ISZERO
00003142: PUSH2 0x314f
00003145: JUMPI
00003146: RETURNDATASIZE
00003147: PUSH1 0x00
00003149: DUP1
0000314a: RETURNDATACOPY
0000314b: RETURNDATASIZE
0000314c: PUSH1 0x00
0000314e: REVERT
0000314f: JUMPDEST
00003150: POP
00003151: POP
00003152: POP
00003153: PUSH1 0x20
00003155: PUSH1 0x40
00003157: MLOAD
00003158: SUB
00003159: MLOAD
0000315a: SWAP1
0000315b: POP
0000315c: DUP8
0000315d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003172: AND
00003173: DUP2
00003174: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003189: AND
0000318a: EQ
0000318b: PUSH2 0x31c0
0000318e: JUMPI
0000318f: PUSH1 0x40
00003191: MLOAD
00003192: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000031b3: DUP2
000031b4: MSTORE
000031b5: PUSH1 0x04
000031b7: ADD
000031b8: PUSH2 0x0677
000031bb: SWAP1
000031bc: PUSH2 0x550d
000031bf: JUMP
000031c0: JUMPDEST
000031c1: POP
000031c2: POP
000031c3: JUMPDEST
000031c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000031d9: DUP6
000031da: DUP2
000031db: AND
000031dc: PUSH1 0x00
000031de: DUP2
000031df: DUP2
000031e0: MSTORE
000031e1: PUSH1 0x03
000031e3: PUSH1 0x20
000031e5: SWAP1
000031e6: DUP2
000031e7: MSTORE
000031e8: PUSH1 0x40
000031ea: DUP1
000031eb: DUP4
000031ec: KECCAK256
000031ed: SWAP5
000031ee: DUP12
000031ef: AND
000031f0: DUP1
000031f1: DUP5
000031f2: MSTORE
000031f3: SWAP5
000031f4: SWAP1
000031f5: SWAP2
000031f6: MSTORE
000031f7: SWAP1
000031f8: DUP2
000031f9: SWAP1
000031fa: KECCAK256
000031fb: DUP1
000031fc: SLOAD
000031fd: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00
0000321e: AND
0000321f: DUP9
00003220: ISZERO
00003221: ISZERO
00003222: OR
00003223: SWAP1
00003224: SSTORE
00003225: MLOAD
00003226: PUSH32 0x5f6ebb64ba012a851c6f014e6cad458ddf213d1512049b31cd06365c2b059257
00003247: SWAP1
00003248: PUSH2 0x3252
0000324b: SWAP1
0000324c: DUP9
0000324d: SWAP1
0000324e: PUSH2 0x5068
00003251: JUMP
00003252: JUMPDEST
00003253: PUSH1 0x40
00003255: MLOAD
00003256: DUP1
00003257: SWAP2
00003258: SUB
00003259: SWAP1
0000325a: LOG3
0000325b: POP
0000325c: POP
0000325d: POP
0000325e: POP
0000325f: POP
00003260: POP
00003261: JUMP
00003262: JUMPDEST
00003263: PUSH1 0x60
00003265: DUP1
00003266: DUP4
00003267: PUSH8 0xffffffffffffffff
00003270: DUP2
00003271: GT
00003272: DUP1
00003273: ISZERO
00003274: PUSH2 0x327c
00003277: JUMPI
00003278: PUSH1 0x00
0000327a: DUP1
0000327b: REVERT
0000327c: JUMPDEST
0000327d: POP
0000327e: PUSH1 0x40
00003280: MLOAD
00003281: SWAP1
00003282: DUP1
00003283: DUP3
00003284: MSTORE
00003285: DUP1
00003286: PUSH1 0x20
00003288: MUL
00003289: PUSH1 0x20
0000328b: ADD
0000328c: DUP3
0000328d: ADD
0000328e: PUSH1 0x40
00003290: MSTORE
00003291: DUP1
00003292: ISZERO
00003293: PUSH2 0x32a6
00003296: JUMPI
00003297: DUP2
00003298: PUSH1 0x20
0000329a: ADD
0000329b: PUSH1 0x20
0000329d: DUP3
0000329e: MUL
0000329f: DUP1
000032a0: CALLDATASIZE
000032a1: DUP4
000032a2: CALLDATACOPY
000032a3: ADD
000032a4: SWAP1
000032a5: POP
000032a6: JUMPDEST
000032a7: POP
000032a8: SWAP2
000032a9: POP
000032aa: DUP4
000032ab: PUSH8 0xffffffffffffffff
000032b4: DUP2
000032b5: GT
000032b6: DUP1
000032b7: ISZERO
000032b8: PUSH2 0x32c0
000032bb: JUMPI
000032bc: PUSH1 0x00
000032be: DUP1
000032bf: REVERT
000032c0: JUMPDEST
000032c1: POP
000032c2: PUSH1 0x40
000032c4: MLOAD
000032c5: SWAP1
000032c6: DUP1
000032c7: DUP3
000032c8: MSTORE
000032c9: DUP1
000032ca: PUSH1 0x20
000032cc: MUL
000032cd: PUSH1 0x20
000032cf: ADD
000032d0: DUP3
000032d1: ADD
000032d2: PUSH1 0x40
000032d4: MSTORE
000032d5: DUP1
000032d6: ISZERO
000032d7: PUSH2 0x32f4
000032da: JUMPI
000032db: DUP2
000032dc: PUSH1 0x20
000032de: ADD
000032df: JUMPDEST
000032e0: PUSH1 0x60
000032e2: DUP2
000032e3: MSTORE
000032e4: PUSH1 0x20
000032e6: ADD
000032e7: SWAP1
000032e8: PUSH1 0x01
000032ea: SWAP1
000032eb: SUB
000032ec: SWAP1
000032ed: DUP2
000032ee: PUSH2 0x32df
000032f1: JUMPI
000032f2: SWAP1
000032f3: POP
000032f4: JUMPDEST
000032f5: POP
000032f6: SWAP1
000032f7: POP
000032f8: PUSH1 0x00
000032fa: JUMPDEST
000032fb: DUP5
000032fc: DUP2
000032fd: LT
000032fe: ISZERO
000032ff: PUSH2 0x3405
00003302: JUMPI
00003303: PUSH1 0x00
00003305: PUSH1 0x60
00003307: ADDRESS
00003308: DUP9
00003309: DUP9
0000330a: DUP6
0000330b: DUP2
0000330c: DUP2
0000330d: LT
0000330e: PUSH2 0x3313
00003311: JUMPI
00003312: INVALID
00003313: JUMPDEST
00003314: SWAP1
00003315: POP
00003316: PUSH1 0x20
00003318: MUL
00003319: DUP2
0000331a: ADD
0000331b: SWAP1
0000331c: PUSH2 0x3325
0000331f: SWAP2
00003320: SWAP1
00003321: PUSH2 0x5835
00003324: JUMP
00003325: JUMPDEST
00003326: PUSH1 0x40
00003328: MLOAD
00003329: PUSH2 0x3333
0000332c: SWAP3
0000332d: SWAP2
0000332e: SWAP1
0000332f: PUSH2 0x4d76
00003332: JUMP
00003333: JUMPDEST
00003334: PUSH1 0x00
00003336: PUSH1 0x40
00003338: MLOAD
00003339: DUP1
0000333a: DUP4
0000333b: SUB
0000333c: DUP2
0000333d: DUP6
0000333e: GAS
0000333f: DELEGATECALL
00003340: SWAP2
00003341: POP
00003342: POP
00003343: RETURNDATASIZE
00003344: DUP1
00003345: PUSH1 0x00
00003347: DUP2
00003348: EQ
00003349: PUSH2 0x336e
0000334c: JUMPI
0000334d: PUSH1 0x40
0000334f: MLOAD
00003350: SWAP2
00003351: POP
00003352: PUSH1 0x1f
00003354: NOT
00003355: PUSH1 0x3f
00003357: RETURNDATASIZE
00003358: ADD
00003359: AND
0000335a: DUP3
0000335b: ADD
0000335c: PUSH1 0x40
0000335e: MSTORE
0000335f: RETURNDATASIZE
00003360: DUP3
00003361: MSTORE
00003362: RETURNDATASIZE
00003363: PUSH1 0x00
00003365: PUSH1 0x20
00003367: DUP5
00003368: ADD
00003369: RETURNDATACOPY
0000336a: PUSH2 0x3373
0000336d: JUMP
0000336e: JUMPDEST
0000336f: PUSH1 0x60
00003371: SWAP2
00003372: POP
00003373: JUMPDEST
00003374: POP
00003375: SWAP2
00003376: POP
00003377: SWAP2
00003378: POP
00003379: DUP2
0000337a: DUP1
0000337b: PUSH2 0x3382
0000337e: JUMPI
0000337f: POP
00003380: DUP6
00003381: ISZERO
00003382: JUMPDEST
00003383: PUSH2 0x338b
00003386: DUP3
00003387: PUSH2 0x44b9
0000338a: JUMP
0000338b: JUMPDEST
0000338c: SWAP1
0000338d: PUSH2 0x33c3
00003390: JUMPI
00003391: PUSH1 0x40
00003393: MLOAD
00003394: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000033b5: DUP2
000033b6: MSTORE
000033b7: PUSH1 0x04
000033b9: ADD
000033ba: PUSH2 0x0677
000033bd: SWAP2
000033be: SWAP1
000033bf: PUSH2 0x5120
000033c2: JUMP
000033c3: JUMPDEST
000033c4: POP
000033c5: DUP2
000033c6: DUP6
000033c7: DUP5
000033c8: DUP2
000033c9: MLOAD
000033ca: DUP2
000033cb: LT
000033cc: PUSH2 0x33d1
000033cf: JUMPI
000033d0: INVALID
000033d1: JUMPDEST
000033d2: PUSH1 0x20
000033d4: MUL
000033d5: PUSH1 0x20
000033d7: ADD
000033d8: ADD
000033d9: SWAP1
000033da: ISZERO
000033db: ISZERO
000033dc: SWAP1
000033dd: DUP2
000033de: ISZERO
000033df: ISZERO
000033e0: DUP2
000033e1: MSTORE
000033e2: POP
000033e3: POP
000033e4: DUP1
000033e5: DUP5
000033e6: DUP5
000033e7: DUP2
000033e8: MLOAD
000033e9: DUP2
000033ea: LT
000033eb: PUSH2 0x33f0
000033ee: JUMPI
000033ef: INVALID
000033f0: JUMPDEST
000033f1: PUSH1 0x20
000033f3: SWAP1
000033f4: DUP2
000033f5: MUL
000033f6: SWAP2
000033f7: SWAP1
000033f8: SWAP2
000033f9: ADD
000033fa: ADD
000033fb: MSTORE
000033fc: POP
000033fd: POP
000033fe: PUSH1 0x01
00003400: ADD
00003401: PUSH2 0x32fa
00003404: JUMP
00003405: JUMPDEST
00003406: POP
00003407: SWAP4
00003408: POP
00003409: SWAP4
0000340a: SWAP2
0000340b: POP
0000340c: POP
0000340d: JUMP
0000340e: JUMPDEST
0000340f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003424: DUP4
00003425: AND
00003426: PUSH1 0x00
00003428: SWAP1
00003429: DUP2
0000342a: MSTORE
0000342b: PUSH1 0x07
0000342d: PUSH1 0x20
0000342f: SWAP1
00003430: DUP2
00003431: MSTORE
00003432: PUSH1 0x40
00003434: DUP1
00003435: DUP4
00003436: KECCAK256
00003437: DUP2
00003438: MLOAD
00003439: DUP1
0000343a: DUP4
0000343b: ADD
0000343c: SWAP1
0000343d: SWAP3
0000343e: MSTORE
0000343f: SLOAD
00003440: PUSH16 0xffffffffffffffffffffffffffffffff
00003451: DUP1
00003452: DUP3
00003453: AND
00003454: DUP4
00003455: MSTORE
00003456: PUSH17 0x0100000000000000000000000000000000
00003468: SWAP1
00003469: SWAP2
0000346a: DIV
0000346b: AND
0000346c: SWAP2
0000346d: DUP2
0000346e: ADD
0000346f: SWAP2
00003470: SWAP1
00003471: SWAP2
00003472: MSTORE
00003473: PUSH2 0x17cc
00003476: SWAP1
00003477: DUP5
00003478: DUP5
00003479: PUSH2 0x3c8b
0000347c: JUMP
0000347d: JUMPDEST
0000347e: PUSH1 0x0a
00003480: PUSH1 0x20
00003482: MSTORE
00003483: PUSH1 0x00
00003485: SWAP1
00003486: DUP2
00003487: MSTORE
00003488: PUSH1 0x40
0000348a: SWAP1
0000348b: KECCAK256
0000348c: SLOAD
0000348d: PUSH8 0xffffffffffffffff
00003496: DUP1
00003497: DUP3
00003498: AND
00003499: SWAP2
0000349a: PUSH9 0x010000000000000000
000034a4: DUP2
000034a5: DIV
000034a6: SWAP1
000034a7: SWAP2
000034a8: AND
000034a9: SWAP1
000034aa: PUSH17 0x0100000000000000000000000000000000
000034bc: SWAP1
000034bd: DIV
000034be: PUSH16 0xffffffffffffffffffffffffffffffff
000034cf: AND
000034d0: DUP4
000034d1: JUMP
000034d2: JUMPDEST
000034d3: PUSH1 0x01
000034d5: SLOAD
000034d6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000034eb: AND
000034ec: DUP2
000034ed: JUMP
000034ee: JUMPDEST
000034ef: PUSH1 0x00
000034f1: PUSH3 0x0186a0
000034f5: PUSH2 0x34ff
000034f8: DUP6
000034f9: PUSH1 0x32
000034fb: PUSH2 0x4226
000034fe: JUMP
000034ff: JUMPDEST
00003500: DUP2
00003501: PUSH2 0x3506
00003504: JUMPI
00003505: INVALID
00003506: JUMPDEST
00003507: DIV
00003508: SWAP1
00003509: POP
0000350a: PUSH2 0x352a
0000350d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003522: DUP7
00003523: AND
00003524: DUP8
00003525: DUP7
00003526: PUSH2 0x4277
00003529: JUMP
0000352a: JUMPDEST
0000352b: PUSH1 0x40
0000352d: MLOAD
0000352e: PUSH32 0x23e30c8b00000000000000000000000000000000000000000000000000000000
0000354f: DUP2
00003550: MSTORE
00003551: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003566: DUP9
00003567: AND
00003568: SWAP1
00003569: PUSH4 0x23e30c8b
0000356e: SWAP1
0000356f: PUSH2 0x3586
00003572: SWAP1
00003573: CALLER
00003574: SWAP1
00003575: DUP10
00003576: SWAP1
00003577: DUP10
00003578: SWAP1
00003579: DUP8
0000357a: SWAP1
0000357b: DUP11
0000357c: SWAP1
0000357d: DUP11
0000357e: SWAP1
0000357f: PUSH1 0x04
00003581: ADD
00003582: PUSH2 0x4ed7
00003585: JUMP
00003586: JUMPDEST
00003587: PUSH1 0x00
00003589: PUSH1 0x40
0000358b: MLOAD
0000358c: DUP1
0000358d: DUP4
0000358e: SUB
0000358f: DUP2
00003590: PUSH1 0x00
00003592: DUP8
00003593: DUP1
00003594: EXTCODESIZE
00003595: ISZERO
00003596: DUP1
00003597: ISZERO
00003598: PUSH2 0x35a0
0000359b: JUMPI
0000359c: PUSH1 0x00
0000359e: DUP1
0000359f: REVERT
000035a0: JUMPDEST
000035a1: POP
000035a2: GAS
000035a3: CALL
000035a4: ISZERO
000035a5: DUP1
000035a6: ISZERO
000035a7: PUSH2 0x35b4
000035aa: JUMPI
000035ab: RETURNDATASIZE
000035ac: PUSH1 0x00
000035ae: DUP1
000035af: RETURNDATACOPY
000035b0: RETURNDATASIZE
000035b1: PUSH1 0x00
000035b3: REVERT
000035b4: JUMPDEST
000035b5: POP
000035b6: POP
000035b7: POP
000035b8: POP
000035b9: PUSH2 0x3601
000035bc: PUSH2 0x35c4
000035bf: DUP3
000035c0: PUSH2 0x3d49
000035c3: JUMP
000035c4: JUMPDEST
000035c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000035da: DUP8
000035db: AND
000035dc: PUSH1 0x00
000035de: SWAP1
000035df: DUP2
000035e0: MSTORE
000035e1: PUSH1 0x07
000035e3: PUSH1 0x20
000035e5: MSTORE
000035e6: PUSH1 0x40
000035e8: SWAP1
000035e9: KECCAK256
000035ea: SWAP1
000035eb: PUSH16 0xffffffffffffffffffffffffffffffff
000035fc: AND
000035fd: PUSH2 0x4423
00003600: JUMP
00003601: JUMPDEST
00003602: PUSH2 0x360a
00003605: DUP7
00003606: PUSH2 0x3e94
00003609: JUMP
0000360a: JUMPDEST
0000360b: LT
0000360c: ISZERO
0000360d: PUSH2 0x3642
00003610: JUMPI
00003611: PUSH1 0x40
00003613: MLOAD
00003614: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003635: DUP2
00003636: MSTORE
00003637: PUSH1 0x04
00003639: ADD
0000363a: PUSH2 0x0677
0000363d: SWAP1
0000363e: PUSH2 0x5653
00003641: JUMP
00003642: JUMPDEST
00003643: DUP6
00003644: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003659: AND
0000365a: DUP6
0000365b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003670: AND
00003671: DUP9
00003672: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003687: AND
00003688: PUSH32 0x3be9b85936d5d30a1655ea116a17ee3d827b2cd428cc026ce5bf2ac46a223204
000036a9: DUP8
000036aa: DUP6
000036ab: PUSH1 0x40
000036ad: MLOAD
000036ae: PUSH2 0x36b8
000036b1: SWAP3
000036b2: SWAP2
000036b3: SWAP1
000036b4: PUSH2 0x57dc
000036b7: JUMP
000036b8: JUMPDEST
000036b9: PUSH1 0x40
000036bb: MLOAD
000036bc: DUP1
000036bd: SWAP2
000036be: SUB
000036bf: SWAP1
000036c0: LOG4
000036c1: POP
000036c2: POP
000036c3: POP
000036c4: POP
000036c5: POP
000036c6: POP
000036c7: POP
000036c8: JUMP
000036c9: JUMPDEST
000036ca: DUP3
000036cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000036e0: DUP2
000036e1: AND
000036e2: CALLER
000036e3: EQ
000036e4: DUP1
000036e5: ISZERO
000036e6: SWAP1
000036e7: PUSH2 0x3706
000036ea: JUMPI
000036eb: POP
000036ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003701: DUP2
00003702: AND
00003703: ADDRESS
00003704: EQ
00003705: ISZERO
00003706: JUMPDEST
00003707: ISZERO
00003708: PUSH2 0x37d6
0000370b: JUMPI
0000370c: CALLER
0000370d: PUSH1 0x00
0000370f: SWAP1
00003710: DUP2
00003711: MSTORE
00003712: PUSH1 0x02
00003714: PUSH1 0x20
00003716: MSTORE
00003717: PUSH1 0x40
00003719: SWAP1
0000371a: KECCAK256
0000371b: SLOAD
0000371c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003731: AND
00003732: DUP1
00003733: PUSH2 0x3768
00003736: JUMPI
00003737: PUSH1 0x40
00003739: MLOAD
0000373a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000375b: DUP2
0000375c: MSTORE
0000375d: PUSH1 0x04
0000375f: ADD
00003760: PUSH2 0x0677
00003763: SWAP1
00003764: PUSH2 0x55b0
00003767: JUMP
00003768: JUMPDEST
00003769: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000377e: DUP1
0000377f: DUP3
00003780: AND
00003781: PUSH1 0x00
00003783: SWAP1
00003784: DUP2
00003785: MSTORE
00003786: PUSH1 0x03
00003788: PUSH1 0x20
0000378a: SWAP1
0000378b: DUP2
0000378c: MSTORE
0000378d: PUSH1 0x40
0000378f: DUP1
00003790: DUP4
00003791: KECCAK256
00003792: SWAP4
00003793: DUP7
00003794: AND
00003795: DUP4
00003796: MSTORE
00003797: SWAP3
00003798: SWAP1
00003799: MSTORE
0000379a: KECCAK256
0000379b: SLOAD
0000379c: PUSH1 0xff
0000379e: AND
0000379f: PUSH2 0x37d4
000037a2: JUMPI
000037a3: PUSH1 0x40
000037a5: MLOAD
000037a6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000037c7: DUP2
000037c8: MSTORE
000037c9: PUSH1 0x04
000037cb: ADD
000037cc: PUSH2 0x0677
000037cf: SWAP1
000037d0: PUSH2 0x5433
000037d3: JUMP
000037d4: JUMPDEST
000037d5: POP
000037d6: JUMPDEST
000037d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000037ec: DUP4
000037ed: AND
000037ee: PUSH2 0x3823
000037f1: JUMPI
000037f2: PUSH1 0x40
000037f4: MLOAD
000037f5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003816: DUP2
00003817: MSTORE
00003818: PUSH1 0x04
0000381a: ADD
0000381b: PUSH2 0x0677
0000381e: SWAP1
0000381f: PUSH2 0x5390
00003822: JUMP
00003823: JUMPDEST
00003824: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003839: DUP1
0000383a: DUP7
0000383b: AND
0000383c: PUSH1 0x00
0000383e: SWAP1
0000383f: DUP2
00003840: MSTORE
00003841: PUSH1 0x06
00003843: PUSH1 0x20
00003845: SWAP1
00003846: DUP2
00003847: MSTORE
00003848: PUSH1 0x40
0000384a: DUP1
0000384b: DUP4
0000384c: KECCAK256
0000384d: SWAP4
0000384e: DUP9
0000384f: AND
00003850: DUP4
00003851: MSTORE
00003852: SWAP3
00003853: SWAP1
00003854: MSTORE
00003855: KECCAK256
00003856: SLOAD
00003857: PUSH2 0x3860
0000385a: SWAP1
0000385b: DUP4
0000385c: PUSH2 0x3f78
0000385f: JUMP
00003860: JUMPDEST
00003861: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003876: DUP7
00003877: DUP2
00003878: AND
00003879: PUSH1 0x00
0000387b: SWAP1
0000387c: DUP2
0000387d: MSTORE
0000387e: PUSH1 0x06
00003880: PUSH1 0x20
00003882: SWAP1
00003883: DUP2
00003884: MSTORE
00003885: PUSH1 0x40
00003887: DUP1
00003888: DUP4
00003889: KECCAK256
0000388a: DUP10
0000388b: DUP6
0000388c: AND
0000388d: DUP5
0000388e: MSTORE
0000388f: SWAP1
00003890: SWAP2
00003891: MSTORE
00003892: DUP1
00003893: DUP3
00003894: KECCAK256
00003895: SWAP4
00003896: SWAP1
00003897: SWAP4
00003898: SSTORE
00003899: SWAP1
0000389a: DUP6
0000389b: AND
0000389c: DUP2
0000389d: MSTORE
0000389e: KECCAK256
0000389f: SLOAD
000038a0: PUSH2 0x38a9
000038a3: SWAP1
000038a4: DUP4
000038a5: PUSH2 0x3fb5
000038a8: JUMP
000038a9: JUMPDEST
000038aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000038bf: DUP1
000038c0: DUP8
000038c1: AND
000038c2: PUSH1 0x00
000038c4: DUP2
000038c5: DUP2
000038c6: MSTORE
000038c7: PUSH1 0x06
000038c9: PUSH1 0x20
000038cb: SWAP1
000038cc: DUP2
000038cd: MSTORE
000038ce: PUSH1 0x40
000038d0: DUP1
000038d1: DUP4
000038d2: KECCAK256
000038d3: DUP10
000038d4: DUP7
000038d5: AND
000038d6: DUP1
000038d7: DUP6
000038d8: MSTORE
000038d9: SWAP3
000038da: MSTORE
000038db: SWAP2
000038dc: DUP3
000038dd: SWAP1
000038de: KECCAK256
000038df: SWAP5
000038e0: SWAP1
000038e1: SWAP5
000038e2: SSTORE
000038e3: MLOAD
000038e4: SWAP2
000038e5: DUP8
000038e6: AND
000038e7: SWAP2
000038e8: PUSH32 0x6eabe333476233fd382224f233210cb808a7bc4c4de64f9d76628bf63c677b1a
00003909: SWAP1
0000390a: PUSH2 0x3914
0000390d: SWAP1
0000390e: DUP8
0000390f: SWAP1
00003910: PUSH2 0x5073
00003913: JUMP
00003914: JUMPDEST
00003915: PUSH1 0x40
00003917: MLOAD
00003918: DUP1
00003919: SWAP2
0000391a: SUB
0000391b: SWAP1
0000391c: LOG4
0000391d: POP
0000391e: POP
0000391f: POP
00003920: POP
00003921: POP
00003922: JUMP
00003923: JUMPDEST
00003924: PUSH1 0x60
00003926: DUP6
00003927: PUSH8 0xffffffffffffffff
00003930: DUP2
00003931: GT
00003932: DUP1
00003933: ISZERO
00003934: PUSH2 0x393c
00003937: JUMPI
00003938: PUSH1 0x00
0000393a: DUP1
0000393b: REVERT
0000393c: JUMPDEST
0000393d: POP
0000393e: PUSH1 0x40
00003940: MLOAD
00003941: SWAP1
00003942: DUP1
00003943: DUP3
00003944: MSTORE
00003945: DUP1
00003946: PUSH1 0x20
00003948: MUL
00003949: PUSH1 0x20
0000394b: ADD
0000394c: DUP3
0000394d: ADD
0000394e: PUSH1 0x40
00003950: MSTORE
00003951: DUP1
00003952: ISZERO
00003953: PUSH2 0x3966
00003956: JUMPI
00003957: DUP2
00003958: PUSH1 0x20
0000395a: ADD
0000395b: PUSH1 0x20
0000395d: DUP3
0000395e: MUL
0000395f: DUP1
00003960: CALLDATASIZE
00003961: DUP4
00003962: CALLDATACOPY
00003963: ADD
00003964: SWAP1
00003965: POP
00003966: JUMPDEST
00003967: POP
00003968: SWAP1
00003969: POP
0000396a: DUP6
0000396b: PUSH1 0x00
0000396d: JUMPDEST
0000396e: DUP2
0000396f: DUP2
00003970: LT
00003971: ISZERO
00003972: PUSH2 0x3a42
00003975: JUMPI
00003976: PUSH1 0x00
00003978: DUP8
00003979: DUP8
0000397a: DUP4
0000397b: DUP2
0000397c: DUP2
0000397d: LT
0000397e: PUSH2 0x3983
00003981: JUMPI
00003982: INVALID
00003983: JUMPDEST
00003984: SWAP1
00003985: POP
00003986: PUSH1 0x20
00003988: MUL
00003989: ADD
0000398a: CALLDATALOAD
0000398b: SWAP1
0000398c: POP
0000398d: PUSH3 0x0186a0
00003991: PUSH2 0x39a4
00003994: PUSH1 0x32
00003996: DUP4
00003997: PUSH2 0x4226
0000399a: SWAP1
0000399b: SWAP2
0000399c: SWAP1
0000399d: PUSH4 0xffffffff
000039a2: AND
000039a3: JUMP
000039a4: JUMPDEST
000039a5: DUP2
000039a6: PUSH2 0x39ab
000039a9: JUMPI
000039aa: INVALID
000039ab: JUMPDEST
000039ac: DIV
000039ad: DUP5
000039ae: DUP4
000039af: DUP2
000039b0: MLOAD
000039b1: DUP2
000039b2: LT
000039b3: PUSH2 0x39b8
000039b6: JUMPI
000039b7: INVALID
000039b8: JUMPDEST
000039b9: PUSH1 0x20
000039bb: MUL
000039bc: PUSH1 0x20
000039be: ADD
000039bf: ADD
000039c0: DUP2
000039c1: DUP2
000039c2: MSTORE
000039c3: POP
000039c4: POP
000039c5: PUSH2 0x3a39
000039c8: DUP13
000039c9: DUP13
000039ca: DUP5
000039cb: DUP2
000039cc: DUP2
000039cd: LT
000039ce: PUSH2 0x39d3
000039d1: JUMPI
000039d2: INVALID
000039d3: JUMPDEST
000039d4: SWAP1
000039d5: POP
000039d6: PUSH1 0x20
000039d8: MUL
000039d9: ADD
000039da: PUSH1 0x20
000039dc: DUP2
000039dd: ADD
000039de: SWAP1
000039df: PUSH2 0x39e8
000039e2: SWAP2
000039e3: SWAP1
000039e4: PUSH2 0x45f5
000039e7: JUMP
000039e8: JUMPDEST
000039e9: DUP10
000039ea: DUP10
000039eb: DUP6
000039ec: DUP2
000039ed: DUP2
000039ee: LT
000039ef: PUSH2 0x39f4
000039f2: JUMPI
000039f3: INVALID
000039f4: JUMPDEST
000039f5: SWAP1
000039f6: POP
000039f7: PUSH1 0x20
000039f9: MUL
000039fa: ADD
000039fb: CALLDATALOAD
000039fc: DUP13
000039fd: DUP13
000039fe: DUP7
000039ff: DUP2
00003a00: DUP2
00003a01: LT
00003a02: PUSH2 0x3a07
00003a05: JUMPI
00003a06: INVALID
00003a07: JUMPDEST
00003a08: SWAP1
00003a09: POP
00003a0a: PUSH1 0x20
00003a0c: MUL
00003a0d: ADD
00003a0e: PUSH1 0x20
00003a10: DUP2
00003a11: ADD
00003a12: SWAP1
00003a13: PUSH2 0x3a1c
00003a16: SWAP2
00003a17: SWAP1
00003a18: PUSH2 0x45f5
00003a1b: JUMP
00003a1c: JUMPDEST
00003a1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003a32: AND
00003a33: SWAP2
00003a34: SWAP1
00003a35: PUSH2 0x4277
00003a38: JUMP
00003a39: JUMPDEST
00003a3a: POP
00003a3b: PUSH1 0x01
00003a3d: ADD
00003a3e: PUSH2 0x396d
00003a41: JUMP
00003a42: JUMPDEST
00003a43: POP
00003a44: PUSH1 0x40
00003a46: MLOAD
00003a47: PUSH32 0xd9d1762300000000000000000000000000000000000000000000000000000000
00003a68: DUP2
00003a69: MSTORE
00003a6a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003a7f: DUP13
00003a80: AND
00003a81: SWAP1
00003a82: PUSH4 0xd9d17623
00003a87: SWAP1
00003a88: PUSH2 0x3aa3
00003a8b: SWAP1
00003a8c: CALLER
00003a8d: SWAP1
00003a8e: DUP13
00003a8f: SWAP1
00003a90: DUP13
00003a91: SWAP1
00003a92: DUP13
00003a93: SWAP1
00003a94: DUP13
00003a95: SWAP1
00003a96: DUP11
00003a97: SWAP1
00003a98: DUP14
00003a99: SWAP1
00003a9a: DUP14
00003a9b: SWAP1
00003a9c: PUSH1 0x04
00003a9e: ADD
00003a9f: PUSH2 0x4ded
00003aa2: JUMP
00003aa3: JUMPDEST
00003aa4: PUSH1 0x00
00003aa6: PUSH1 0x40
00003aa8: MLOAD
00003aa9: DUP1
00003aaa: DUP4
00003aab: SUB
00003aac: DUP2
00003aad: PUSH1 0x00
00003aaf: DUP8
00003ab0: DUP1
00003ab1: EXTCODESIZE
00003ab2: ISZERO
00003ab3: DUP1
00003ab4: ISZERO
00003ab5: PUSH2 0x3abd
00003ab8: JUMPI
00003ab9: PUSH1 0x00
00003abb: DUP1
00003abc: REVERT
00003abd: JUMPDEST
00003abe: POP
00003abf: GAS
00003ac0: CALL
00003ac1: ISZERO
00003ac2: DUP1
00003ac3: ISZERO
00003ac4: PUSH2 0x3ad1
00003ac7: JUMPI
00003ac8: RETURNDATASIZE
00003ac9: PUSH1 0x00
00003acb: DUP1
00003acc: RETURNDATACOPY
00003acd: RETURNDATASIZE
00003ace: PUSH1 0x00
00003ad0: REVERT
00003ad1: JUMPDEST
00003ad2: POP
00003ad3: POP
00003ad4: POP
00003ad5: POP
00003ad6: PUSH1 0x00
00003ad8: JUMPDEST
00003ad9: DUP2
00003ada: DUP2
00003adb: LT
00003adc: ISZERO
00003add: PUSH2 0x2736
00003ae0: JUMPI
00003ae1: PUSH1 0x00
00003ae3: DUP10
00003ae4: DUP10
00003ae5: DUP4
00003ae6: DUP2
00003ae7: DUP2
00003ae8: LT
00003ae9: PUSH2 0x3aee
00003aec: JUMPI
00003aed: INVALID
00003aee: JUMPDEST
00003aef: SWAP1
00003af0: POP
00003af1: PUSH1 0x20
00003af3: MUL
00003af4: ADD
00003af5: PUSH1 0x20
00003af7: DUP2
00003af8: ADD
00003af9: SWAP1
00003afa: PUSH2 0x3b03
00003afd: SWAP2
00003afe: SWAP1
00003aff: PUSH2 0x45f5
00003b02: JUMP
00003b03: JUMPDEST
00003b04: SWAP1
00003b05: POP
00003b06: PUSH2 0x3b61
00003b09: PUSH2 0x3b24
00003b0c: DUP6
00003b0d: DUP5
00003b0e: DUP2
00003b0f: MLOAD
00003b10: DUP2
00003b11: LT
00003b12: PUSH2 0x3b17
00003b15: JUMPI
00003b16: INVALID
00003b17: JUMPDEST
00003b18: PUSH1 0x20
00003b1a: MUL
00003b1b: PUSH1 0x20
00003b1d: ADD
00003b1e: ADD
00003b1f: MLOAD
00003b20: PUSH2 0x3d49
00003b23: JUMP
00003b24: JUMPDEST
00003b25: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003b3a: DUP4
00003b3b: AND
00003b3c: PUSH1 0x00
00003b3e: SWAP1
00003b3f: DUP2
00003b40: MSTORE
00003b41: PUSH1 0x07
00003b43: PUSH1 0x20
00003b45: MSTORE
00003b46: PUSH1 0x40
00003b48: SWAP1
00003b49: KECCAK256
00003b4a: SWAP1
00003b4b: PUSH16 0xffffffffffffffffffffffffffffffff
00003b5c: AND
00003b5d: PUSH2 0x4423
00003b60: JUMP
00003b61: JUMPDEST
00003b62: PUSH2 0x3b6a
00003b65: DUP3
00003b66: PUSH2 0x3e94
00003b69: JUMP
00003b6a: JUMPDEST
00003b6b: LT
00003b6c: ISZERO
00003b6d: PUSH2 0x3ba2
00003b70: JUMPI
00003b71: PUSH1 0x40
00003b73: MLOAD
00003b74: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003b95: DUP2
00003b96: MSTORE
00003b97: PUSH1 0x04
00003b99: ADD
00003b9a: PUSH2 0x0677
00003b9d: SWAP1
00003b9e: PUSH2 0x5653
00003ba1: JUMP
00003ba2: JUMPDEST
00003ba3: DUP12
00003ba4: DUP12
00003ba5: DUP4
00003ba6: DUP2
00003ba7: DUP2
00003ba8: LT
00003ba9: PUSH2 0x3bae
00003bac: JUMPI
00003bad: INVALID
00003bae: JUMPDEST
00003baf: SWAP1
00003bb0: POP
00003bb1: PUSH1 0x20
00003bb3: MUL
00003bb4: ADD
00003bb5: PUSH1 0x20
00003bb7: DUP2
00003bb8: ADD
00003bb9: SWAP1
00003bba: PUSH2 0x3bc3
00003bbd: SWAP2
00003bbe: SWAP1
00003bbf: PUSH2 0x45f5
00003bc2: JUMP
00003bc3: JUMPDEST
00003bc4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003bd9: AND
00003bda: DUP2
00003bdb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003bf0: AND
00003bf1: DUP15
00003bf2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003c07: AND
00003c08: PUSH32 0x3be9b85936d5d30a1655ea116a17ee3d827b2cd428cc026ce5bf2ac46a223204
00003c29: DUP12
00003c2a: DUP12
00003c2b: DUP8
00003c2c: DUP2
00003c2d: DUP2
00003c2e: LT
00003c2f: PUSH2 0x3c34
00003c32: JUMPI
00003c33: INVALID
00003c34: JUMPDEST
00003c35: SWAP1
00003c36: POP
00003c37: PUSH1 0x20
00003c39: MUL
00003c3a: ADD
00003c3b: CALLDATALOAD
00003c3c: DUP9
00003c3d: DUP8
00003c3e: DUP2
00003c3f: MLOAD
00003c40: DUP2
00003c41: LT
00003c42: PUSH2 0x3c47
00003c45: JUMPI
00003c46: INVALID
00003c47: JUMPDEST
00003c48: PUSH1 0x20
00003c4a: MUL
00003c4b: PUSH1 0x20
00003c4d: ADD
00003c4e: ADD
00003c4f: MLOAD
00003c50: PUSH1 0x40
00003c52: MLOAD
00003c53: PUSH2 0x3c5d
00003c56: SWAP3
00003c57: SWAP2
00003c58: SWAP1
00003c59: PUSH2 0x57dc
00003c5c: JUMP
00003c5d: JUMPDEST
00003c5e: PUSH1 0x40
00003c60: MLOAD
00003c61: DUP1
00003c62: SWAP2
00003c63: SUB
00003c64: SWAP1
00003c65: LOG4
00003c66: POP
00003c67: PUSH1 0x01
00003c69: ADD
00003c6a: PUSH2 0x3ad8
00003c6d: JUMP
00003c6e: JUMPDEST
00003c6f: PUSH1 0x06
00003c71: PUSH1 0x20
00003c73: SWAP1
00003c74: DUP2
00003c75: MSTORE
00003c76: PUSH1 0x00
00003c78: SWAP3
00003c79: DUP4
00003c7a: MSTORE
00003c7b: PUSH1 0x40
00003c7d: DUP1
00003c7e: DUP5
00003c7f: KECCAK256
00003c80: SWAP1
00003c81: SWAP2
00003c82: MSTORE
00003c83: SWAP1
00003c84: DUP3
00003c85: MSTORE
00003c86: SWAP1
00003c87: KECCAK256
00003c88: SLOAD
00003c89: DUP2
00003c8a: JUMP
00003c8b: JUMPDEST
00003c8c: DUP3
00003c8d: MLOAD
00003c8e: PUSH1 0x00
00003c90: SWAP1
00003c91: PUSH16 0xffffffffffffffffffffffffffffffff
00003ca2: AND
00003ca3: PUSH2 0x3cad
00003ca6: JUMPI
00003ca7: POP
00003ca8: DUP2
00003ca9: PUSH2 0x3d42
00003cac: JUMP
00003cad: JUMPDEST
00003cae: DUP4
00003caf: MLOAD
00003cb0: PUSH1 0x20
00003cb2: DUP6
00003cb3: ADD
00003cb4: MLOAD
00003cb5: PUSH16 0xffffffffffffffffffffffffffffffff
00003cc6: SWAP2
00003cc7: DUP3
00003cc8: AND
00003cc9: SWAP2
00003cca: PUSH2 0x3cd5
00003ccd: SWAP2
00003cce: DUP7
00003ccf: SWAP2
00003cd0: AND
00003cd1: PUSH2 0x4226
00003cd4: JUMP
00003cd5: JUMPDEST
00003cd6: DUP2
00003cd7: PUSH2 0x3cdc
00003cda: JUMPI
00003cdb: INVALID
00003cdc: JUMPDEST
00003cdd: DIV
00003cde: SWAP1
00003cdf: POP
00003ce0: DUP2
00003ce1: DUP1
00003ce2: ISZERO
00003ce3: PUSH2 0x3d32
00003ce6: JUMPI
00003ce7: POP
00003ce8: DUP3
00003ce9: DUP5
00003cea: PUSH1 0x20
00003cec: ADD
00003ced: MLOAD
00003cee: PUSH16 0xffffffffffffffffffffffffffffffff
00003cff: AND
00003d00: PUSH2 0x3d28
00003d03: DUP7
00003d04: PUSH1 0x00
00003d06: ADD
00003d07: MLOAD
00003d08: PUSH16 0xffffffffffffffffffffffffffffffff
00003d19: AND
00003d1a: DUP5
00003d1b: PUSH2 0x4226
00003d1e: SWAP1
00003d1f: SWAP2
00003d20: SWAP1
00003d21: PUSH4 0xffffffff
00003d26: AND
00003d27: JUMP
00003d28: JUMPDEST
00003d29: DUP2
00003d2a: PUSH2 0x3d2f
00003d2d: JUMPI
00003d2e: INVALID
00003d2f: JUMPDEST
00003d30: DIV
00003d31: LT
00003d32: JUMPDEST
00003d33: ISZERO
00003d34: PUSH2 0x3d42
00003d37: JUMPI
00003d38: PUSH2 0x17cc
00003d3b: DUP2
00003d3c: PUSH1 0x01
00003d3e: PUSH2 0x3fb5
00003d41: JUMP
00003d42: JUMPDEST
00003d43: SWAP4
00003d44: SWAP3
00003d45: POP
00003d46: POP
00003d47: POP
00003d48: JUMP
00003d49: JUMPDEST
00003d4a: PUSH1 0x00
00003d4c: PUSH16 0xffffffffffffffffffffffffffffffff
00003d5d: DUP3
00003d5e: GT
00003d5f: ISZERO
00003d60: PUSH2 0x3d95
00003d63: JUMPI
00003d64: PUSH1 0x40
00003d66: MLOAD
00003d67: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003d88: DUP2
00003d89: MSTORE
00003d8a: PUSH1 0x04
00003d8c: ADD
00003d8d: PUSH2 0x0677
00003d90: SWAP1
00003d91: PUSH2 0x52eb
00003d94: JUMP
00003d95: JUMPDEST
00003d96: POP
00003d97: SWAP1
00003d98: JUMP
00003d99: JUMPDEST
00003d9a: DUP2
00003d9b: DUP2
00003d9c: ADD
00003d9d: PUSH16 0xffffffffffffffffffffffffffffffff
00003dae: DUP1
00003daf: DUP4
00003db0: AND
00003db1: SWAP1
00003db2: DUP3
00003db3: AND
00003db4: LT
00003db5: ISZERO
00003db6: PUSH2 0x3deb
00003db9: JUMPI
00003dba: PUSH1 0x40
00003dbc: MLOAD
00003dbd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003dde: DUP2
00003ddf: MSTORE
00003de0: PUSH1 0x04
00003de2: ADD
00003de3: PUSH2 0x0677
00003de6: SWAP1
00003de7: PUSH2 0x5322
00003dea: JUMP
00003deb: JUMPDEST
00003dec: SWAP3
00003ded: SWAP2
00003dee: POP
00003def: POP
00003df0: JUMP
00003df1: JUMPDEST
00003df2: PUSH1 0x00
00003df4: DUP4
00003df5: PUSH1 0x20
00003df7: ADD
00003df8: MLOAD
00003df9: PUSH16 0xffffffffffffffffffffffffffffffff
00003e0a: AND
00003e0b: PUSH1 0x00
00003e0d: EQ
00003e0e: ISZERO
00003e0f: PUSH2 0x3e19
00003e12: JUMPI
00003e13: POP
00003e14: DUP2
00003e15: PUSH2 0x3d42
00003e18: JUMP
00003e19: JUMPDEST
00003e1a: PUSH1 0x20
00003e1c: DUP5
00003e1d: ADD
00003e1e: MLOAD
00003e1f: DUP5
00003e20: MLOAD
00003e21: PUSH16 0xffffffffffffffffffffffffffffffff
00003e32: SWAP2
00003e33: DUP3
00003e34: AND
00003e35: SWAP2
00003e36: PUSH2 0x3e41
00003e39: SWAP2
00003e3a: DUP7
00003e3b: SWAP2
00003e3c: AND
00003e3d: PUSH2 0x4226
00003e40: JUMP
00003e41: JUMPDEST
00003e42: DUP2
00003e43: PUSH2 0x3e48
00003e46: JUMPI
00003e47: INVALID
00003e48: JUMPDEST
00003e49: DIV
00003e4a: SWAP1
00003e4b: POP
00003e4c: DUP2
00003e4d: DUP1
00003e4e: ISZERO
00003e4f: PUSH2 0x3d32
00003e52: JUMPI
00003e53: POP
00003e54: DUP3
00003e55: DUP5
00003e56: PUSH1 0x00
00003e58: ADD
00003e59: MLOAD
00003e5a: PUSH16 0xffffffffffffffffffffffffffffffff
00003e6b: AND
00003e6c: PUSH2 0x3d28
00003e6f: DUP7
00003e70: PUSH1 0x20
00003e72: ADD
00003e73: MLOAD
00003e74: PUSH16 0xffffffffffffffffffffffffffffffff
00003e85: AND
00003e86: DUP5
00003e87: PUSH2 0x4226
00003e8a: SWAP1
00003e8b: SWAP2
00003e8c: SWAP1
00003e8d: PUSH4 0xffffffff
00003e92: AND
00003e93: JUMP
00003e94: JUMPDEST
00003e95: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003eaa: DUP2
00003eab: AND
00003eac: PUSH1 0x00
00003eae: DUP2
00003eaf: DUP2
00003eb0: MSTORE
00003eb1: PUSH1 0x0a
00003eb3: PUSH1 0x20
00003eb5: MSTORE
00003eb6: PUSH1 0x40
00003eb8: DUP1
00003eb9: DUP3
00003eba: KECCAK256
00003ebb: SLOAD
00003ebc: SWAP1
00003ebd: MLOAD
00003ebe: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
00003edf: DUP2
00003ee0: MSTORE
00003ee1: SWAP2
00003ee2: SWAP3
00003ee3: PUSH2 0x3deb
00003ee6: SWAP3
00003ee7: PUSH17 0x0100000000000000000000000000000000
00003ef9: SWAP1
00003efa: SWAP3
00003efb: DIV
00003efc: PUSH16 0xffffffffffffffffffffffffffffffff
00003f0d: AND
00003f0e: SWAP2
00003f0f: PUSH4 0x70a08231
00003f14: SWAP1
00003f15: PUSH2 0x3f22
00003f18: SWAP1
00003f19: ADDRESS
00003f1a: SWAP1
00003f1b: PUSH1 0x04
00003f1d: ADD
00003f1e: PUSH2 0x4dcc
00003f21: JUMP
00003f22: JUMPDEST
00003f23: PUSH1 0x20
00003f25: PUSH1 0x40
00003f27: MLOAD
00003f28: DUP1
00003f29: DUP4
00003f2a: SUB
00003f2b: DUP2
00003f2c: DUP7
00003f2d: DUP1
00003f2e: EXTCODESIZE
00003f2f: ISZERO
00003f30: DUP1
00003f31: ISZERO
00003f32: PUSH2 0x3f3a
00003f35: JUMPI
00003f36: PUSH1 0x00
00003f38: DUP1
00003f39: REVERT
00003f3a: JUMPDEST
00003f3b: POP
00003f3c: GAS
00003f3d: STATICCALL
00003f3e: ISZERO
00003f3f: DUP1
00003f40: ISZERO
00003f41: PUSH2 0x3f4e
00003f44: JUMPI
00003f45: RETURNDATASIZE
00003f46: PUSH1 0x00
00003f48: DUP1
00003f49: RETURNDATACOPY
00003f4a: RETURNDATASIZE
00003f4b: PUSH1 0x00
00003f4d: REVERT
00003f4e: JUMPDEST
00003f4f: POP
00003f50: POP
00003f51: POP
00003f52: POP
00003f53: PUSH1 0x40
00003f55: MLOAD
00003f56: RETURNDATASIZE
00003f57: PUSH1 0x1f
00003f59: NOT
00003f5a: PUSH1 0x1f
00003f5c: DUP3
00003f5d: ADD
00003f5e: AND
00003f5f: DUP3
00003f60: ADD
00003f61: DUP1
00003f62: PUSH1 0x40
00003f64: MSTORE
00003f65: POP
00003f66: DUP2
00003f67: ADD
00003f68: SWAP1
00003f69: PUSH2 0x3f72
00003f6c: SWAP2
00003f6d: SWAP1
00003f6e: PUSH2 0x4bbb
00003f71: JUMP
00003f72: JUMPDEST
00003f73: SWAP1
00003f74: PUSH2 0x3fb5
00003f77: JUMP
00003f78: JUMPDEST
00003f79: DUP1
00003f7a: DUP3
00003f7b: SUB
00003f7c: DUP3
00003f7d: DUP2
00003f7e: GT
00003f7f: ISZERO
00003f80: PUSH2 0x3deb
00003f83: JUMPI
00003f84: PUSH1 0x40
00003f86: MLOAD
00003f87: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003fa8: DUP2
00003fa9: MSTORE
00003faa: PUSH1 0x04
00003fac: ADD
00003fad: PUSH2 0x0677
00003fb0: SWAP1
00003fb1: PUSH2 0x5133
00003fb4: JUMP
00003fb5: JUMPDEST
00003fb6: DUP2
00003fb7: DUP2
00003fb8: ADD
00003fb9: DUP2
00003fba: DUP2
00003fbb: LT
00003fbc: ISZERO
00003fbd: PUSH2 0x3deb
00003fc0: JUMPI
00003fc1: PUSH1 0x40
00003fc3: MLOAD
00003fc4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003fe5: DUP2
00003fe6: MSTORE
00003fe7: PUSH1 0x04
00003fe9: ADD
00003fea: PUSH2 0x0677
00003fed: SWAP1
00003fee: PUSH2 0x5322
00003ff1: JUMP
00003ff2: JUMPDEST
00003ff3: PUSH1 0x00
00003ff5: PUSH1 0x60
00003ff7: DUP6
00003ff8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000400d: AND
0000400e: PUSH4 0x23b872dd
00004013: PUSH1 0xe0
00004015: SHL
00004016: DUP7
00004017: DUP7
00004018: DUP7
00004019: PUSH1 0x40
0000401b: MLOAD
0000401c: PUSH1 0x24
0000401e: ADD
0000401f: PUSH2 0x402a
00004022: SWAP4
00004023: SWAP3
00004024: SWAP2
00004025: SWAP1
00004026: PUSH2 0x4f29
00004029: JUMP
0000402a: JUMPDEST
0000402b: PUSH1 0x40
0000402d: DUP1
0000402e: MLOAD
0000402f: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00004050: DUP2
00004051: DUP5
00004052: SUB
00004053: ADD
00004054: DUP2
00004055: MSTORE
00004056: SWAP2
00004057: DUP2
00004058: MSTORE
00004059: PUSH1 0x20
0000405b: DUP3
0000405c: ADD
0000405d: DUP1
0000405e: MLOAD
0000405f: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000407c: AND
0000407d: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
0000409e: SWAP1
0000409f: SWAP5
000040a0: AND
000040a1: SWAP4
000040a2: SWAP1
000040a3: SWAP4
000040a4: OR
000040a5: SWAP1
000040a6: SWAP3
000040a7: MSTORE
000040a8: SWAP1
000040a9: MLOAD
000040aa: PUSH2 0x40b3
000040ad: SWAP2
000040ae: SWAP1
000040af: PUSH2 0x4d86
000040b2: JUMP
000040b3: JUMPDEST
000040b4: PUSH1 0x00
000040b6: PUSH1 0x40
000040b8: MLOAD
000040b9: DUP1
000040ba: DUP4
000040bb: SUB
000040bc: DUP2
000040bd: PUSH1 0x00
000040bf: DUP7
000040c0: GAS
000040c1: CALL
000040c2: SWAP2
000040c3: POP
000040c4: POP
000040c5: RETURNDATASIZE
000040c6: DUP1
000040c7: PUSH1 0x00
000040c9: DUP2
000040ca: EQ
000040cb: PUSH2 0x40f0
000040ce: JUMPI
000040cf: PUSH1 0x40
000040d1: MLOAD
000040d2: SWAP2
000040d3: POP
000040d4: PUSH1 0x1f
000040d6: NOT
000040d7: PUSH1 0x3f
000040d9: RETURNDATASIZE
000040da: ADD
000040db: AND
000040dc: DUP3
000040dd: ADD
000040de: PUSH1 0x40
000040e0: MSTORE
000040e1: RETURNDATASIZE
000040e2: DUP3
000040e3: MSTORE
000040e4: RETURNDATASIZE
000040e5: PUSH1 0x00
000040e7: PUSH1 0x20
000040e9: DUP5
000040ea: ADD
000040eb: RETURNDATACOPY
000040ec: PUSH2 0x40f5
000040ef: JUMP
000040f0: JUMPDEST
000040f1: PUSH1 0x60
000040f3: SWAP2
000040f4: POP
000040f5: JUMPDEST
000040f6: POP
000040f7: SWAP2
000040f8: POP
000040f9: SWAP2
000040fa: POP
000040fb: DUP2
000040fc: DUP1
000040fd: ISZERO
000040fe: PUSH2 0x411f
00004101: JUMPI
00004102: POP
00004103: DUP1
00004104: MLOAD
00004105: ISZERO
00004106: DUP1
00004107: PUSH2 0x411f
0000410a: JUMPI
0000410b: POP
0000410c: DUP1
0000410d: DUP1
0000410e: PUSH1 0x20
00004110: ADD
00004111: SWAP1
00004112: MLOAD
00004113: DUP2
00004114: ADD
00004115: SWAP1
00004116: PUSH2 0x411f
00004119: SWAP2
0000411a: SWAP1
0000411b: PUSH2 0x47dc
0000411e: JUMP
0000411f: JUMPDEST
00004120: PUSH2 0x4155
00004123: JUMPI
00004124: PUSH1 0x40
00004126: MLOAD
00004127: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004148: DUP2
00004149: MSTORE
0000414a: PUSH1 0x04
0000414c: ADD
0000414d: PUSH2 0x0677
00004150: SWAP1
00004151: PUSH2 0x55e7
00004154: JUMP
00004155: JUMPDEST
00004156: POP
00004157: POP
00004158: POP
00004159: POP
0000415a: POP
0000415b: POP
0000415c: JUMP
0000415d: JUMPDEST
0000415e: PUSH1 0x00
00004160: PUSH32 0x8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a866
00004181: PUSH32 0xd7df266aff736d415a9dc14b4158201d612e70d75b9c7f4e375ccfd20aa5166f
000041a2: DUP4
000041a3: ADDRESS
000041a4: PUSH1 0x40
000041a6: MLOAD
000041a7: PUSH1 0x20
000041a9: ADD
000041aa: PUSH2 0x41b6
000041ad: SWAP5
000041ae: SWAP4
000041af: SWAP3
000041b0: SWAP2
000041b1: SWAP1
000041b2: PUSH2 0x50bd
000041b5: JUMP
000041b6: JUMPDEST
000041b7: PUSH1 0x40
000041b9: MLOAD
000041ba: PUSH1 0x20
000041bc: DUP2
000041bd: DUP4
000041be: SUB
000041bf: SUB
000041c0: DUP2
000041c1: MSTORE
000041c2: SWAP1
000041c3: PUSH1 0x40
000041c5: MSTORE
000041c6: DUP1
000041c7: MLOAD
000041c8: SWAP1
000041c9: PUSH1 0x20
000041cb: ADD
000041cc: KECCAK256
000041cd: SWAP1
000041ce: POP
000041cf: JUMPDEST
000041d0: SWAP2
000041d1: SWAP1
000041d2: POP
000041d3: JUMP
000041d4: JUMPDEST
000041d5: DUP1
000041d6: DUP3
000041d7: SUB
000041d8: PUSH16 0xffffffffffffffffffffffffffffffff
000041e9: DUP1
000041ea: DUP5
000041eb: AND
000041ec: SWAP1
000041ed: DUP3
000041ee: AND
000041ef: GT
000041f0: ISZERO
000041f1: PUSH2 0x3deb
000041f4: JUMPI
000041f5: PUSH1 0x40
000041f7: MLOAD
000041f8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004219: DUP2
0000421a: MSTORE
0000421b: PUSH1 0x04
0000421d: ADD
0000421e: PUSH2 0x0677
00004221: SWAP1
00004222: PUSH2 0x5133
00004225: JUMP
00004226: JUMPDEST
00004227: PUSH1 0x00
00004229: DUP2
0000422a: ISZERO
0000422b: DUP1
0000422c: PUSH2 0x4241
0000422f: JUMPI
00004230: POP
00004231: POP
00004232: DUP1
00004233: DUP3
00004234: MUL
00004235: DUP3
00004236: DUP3
00004237: DUP3
00004238: DUP2
00004239: PUSH2 0x423e
0000423c: JUMPI
0000423d: INVALID
0000423e: JUMPDEST
0000423f: DIV
00004240: EQ
00004241: JUMPDEST
00004242: PUSH2 0x3deb
00004245: JUMPI
00004246: PUSH1 0x40
00004248: MLOAD
00004249: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000426a: DUP2
0000426b: MSTORE
0000426c: PUSH1 0x04
0000426e: ADD
0000426f: PUSH2 0x0677
00004272: SWAP1
00004273: PUSH2 0x56f8
00004276: JUMP
00004277: JUMPDEST
00004278: PUSH1 0x00
0000427a: PUSH1 0x60
0000427c: DUP5
0000427d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004292: AND
00004293: PUSH4 0xa9059cbb
00004298: PUSH1 0xe0
0000429a: SHL
0000429b: DUP6
0000429c: DUP6
0000429d: PUSH1 0x40
0000429f: MLOAD
000042a0: PUSH1 0x24
000042a2: ADD
000042a3: PUSH2 0x42ad
000042a6: SWAP3
000042a7: SWAP2
000042a8: SWAP1
000042a9: PUSH2 0x4fa8
000042ac: JUMP
000042ad: JUMPDEST
000042ae: PUSH1 0x40
000042b0: DUP1
000042b1: MLOAD
000042b2: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000042d3: DUP2
000042d4: DUP5
000042d5: SUB
000042d6: ADD
000042d7: DUP2
000042d8: MSTORE
000042d9: SWAP2
000042da: DUP2
000042db: MSTORE
000042dc: PUSH1 0x20
000042de: DUP3
000042df: ADD
000042e0: DUP1
000042e1: MLOAD
000042e2: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
000042ff: AND
00004300: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
00004321: SWAP1
00004322: SWAP5
00004323: AND
00004324: SWAP4
00004325: SWAP1
00004326: SWAP4
00004327: OR
00004328: SWAP1
00004329: SWAP3
0000432a: MSTORE
0000432b: SWAP1
0000432c: MLOAD
0000432d: PUSH2 0x4336
00004330: SWAP2
00004331: SWAP1
00004332: PUSH2 0x4d86
00004335: JUMP
00004336: JUMPDEST
00004337: PUSH1 0x00
00004339: PUSH1 0x40
0000433b: MLOAD
0000433c: DUP1
0000433d: DUP4
0000433e: SUB
0000433f: DUP2
00004340: PUSH1 0x00
00004342: DUP7
00004343: GAS
00004344: CALL
00004345: SWAP2
00004346: POP
00004347: POP
00004348: RETURNDATASIZE
00004349: DUP1
0000434a: PUSH1 0x00
0000434c: DUP2
0000434d: EQ
0000434e: PUSH2 0x4373
00004351: JUMPI
00004352: PUSH1 0x40
00004354: MLOAD
00004355: SWAP2
00004356: POP
00004357: PUSH1 0x1f
00004359: NOT
0000435a: PUSH1 0x3f
0000435c: RETURNDATASIZE
0000435d: ADD
0000435e: AND
0000435f: DUP3
00004360: ADD
00004361: PUSH1 0x40
00004363: MSTORE
00004364: RETURNDATASIZE
00004365: DUP3
00004366: MSTORE
00004367: RETURNDATASIZE
00004368: PUSH1 0x00
0000436a: PUSH1 0x20
0000436c: DUP5
0000436d: ADD
0000436e: RETURNDATACOPY
0000436f: PUSH2 0x4378
00004372: JUMP
00004373: JUMPDEST
00004374: PUSH1 0x60
00004376: SWAP2
00004377: POP
00004378: JUMPDEST
00004379: POP
0000437a: SWAP2
0000437b: POP
0000437c: SWAP2
0000437d: POP
0000437e: DUP2
0000437f: DUP1
00004380: ISZERO
00004381: PUSH2 0x43a2
00004384: JUMPI
00004385: POP
00004386: DUP1
00004387: MLOAD
00004388: ISZERO
00004389: DUP1
0000438a: PUSH2 0x43a2
0000438d: JUMPI
0000438e: POP
0000438f: DUP1
00004390: DUP1
00004391: PUSH1 0x20
00004393: ADD
00004394: SWAP1
00004395: MLOAD
00004396: DUP2
00004397: ADD
00004398: SWAP1
00004399: PUSH2 0x43a2
0000439c: SWAP2
0000439d: SWAP1
0000439e: PUSH2 0x47dc
000043a1: JUMP
000043a2: JUMPDEST
000043a3: PUSH2 0x43d8
000043a6: JUMPI
000043a7: PUSH1 0x40
000043a9: MLOAD
000043aa: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000043cb: DUP2
000043cc: MSTORE
000043cd: PUSH1 0x04
000043cf: ADD
000043d0: PUSH2 0x0677
000043d3: SWAP1
000043d4: PUSH2 0x520f
000043d7: JUMP
000043d8: JUMPDEST
000043d9: POP
000043da: POP
000043db: POP
000043dc: POP
000043dd: POP
000043de: JUMP
000043df: JUMPDEST
000043e0: PUSH1 0x00
000043e2: PUSH8 0xffffffffffffffff
000043eb: DUP3
000043ec: GT
000043ed: ISZERO
000043ee: PUSH2 0x3d95
000043f1: JUMPI
000043f2: PUSH1 0x40
000043f4: MLOAD
000043f5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004416: DUP2
00004417: MSTORE
00004418: PUSH1 0x04
0000441a: ADD
0000441b: PUSH2 0x0677
0000441e: SWAP1
0000441f: PUSH2 0x549f
00004422: JUMP
00004423: JUMPDEST
00004424: PUSH1 0x00
00004426: PUSH2 0x444b
00004429: PUSH2 0x4431
0000442c: DUP4
0000442d: PUSH2 0x3d49
00004430: JUMP
00004431: JUMPDEST
00004432: DUP5
00004433: SLOAD
00004434: PUSH16 0xffffffffffffffffffffffffffffffff
00004445: AND
00004446: SWAP1
00004447: PUSH2 0x3d99
0000444a: JUMP
0000444b: JUMPDEST
0000444c: DUP4
0000444d: SLOAD
0000444e: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000
0000446f: AND
00004470: PUSH16 0xffffffffffffffffffffffffffffffff
00004481: SWAP2
00004482: SWAP1
00004483: SWAP2
00004484: AND
00004485: SWAP1
00004486: DUP2
00004487: OR
00004488: SWAP1
00004489: SWAP4
0000448a: SSTORE
0000448b: POP
0000448c: SWAP1
0000448d: SWAP2
0000448e: SWAP1
0000448f: POP
00004490: JUMP
00004491: JUMPDEST
00004492: PUSH1 0x00
00004494: PUSH2 0x444b
00004497: PUSH2 0x449f
0000449a: DUP4
0000449b: PUSH2 0x3d49
0000449e: JUMP
0000449f: JUMPDEST
000044a0: DUP5
000044a1: SLOAD
000044a2: PUSH16 0xffffffffffffffffffffffffffffffff
000044b3: AND
000044b4: SWAP1
000044b5: PUSH2 0x41d4
000044b8: JUMP
000044b9: JUMPDEST
000044ba: PUSH1 0x60
000044bc: PUSH1 0x44
000044be: DUP3
000044bf: MLOAD
000044c0: LT
000044c1: ISZERO
000044c2: PUSH2 0x44ff
000044c5: JUMPI
000044c6: POP
000044c7: PUSH1 0x40
000044c9: DUP1
000044ca: MLOAD
000044cb: DUP1
000044cc: DUP3
000044cd: ADD
000044ce: SWAP1
000044cf: SWAP2
000044d0: MSTORE
000044d1: PUSH1 0x1d
000044d3: DUP2
000044d4: MSTORE
000044d5: PUSH32 0x5472616e73616374696f6e2072657665727465642073696c656e746c79000000
000044f6: PUSH1 0x20
000044f8: DUP3
000044f9: ADD
000044fa: MSTORE
000044fb: PUSH2 0x41cf
000044fe: JUMP
000044ff: JUMPDEST
00004500: PUSH1 0x04
00004502: DUP3
00004503: ADD
00004504: SWAP2
00004505: POP
00004506: DUP2
00004507: DUP1
00004508: PUSH1 0x20
0000450a: ADD
0000450b: SWAP1
0000450c: MLOAD
0000450d: DUP2
0000450e: ADD
0000450f: SWAP1
00004510: PUSH2 0x3deb
00004513: SWAP2
00004514: SWAP1
00004515: PUSH2 0x4bd3
00004518: JUMP
00004519: JUMPDEST
0000451a: PUSH1 0x40
0000451c: DUP1
0000451d: MLOAD
0000451e: DUP1
0000451f: DUP3
00004520: ADD
00004521: SWAP1
00004522: SWAP2
00004523: MSTORE
00004524: PUSH1 0x00
00004526: DUP1
00004527: DUP3
00004528: MSTORE
00004529: PUSH1 0x20
0000452b: DUP3
0000452c: ADD
0000452d: MSTORE
0000452e: SWAP1
0000452f: JUMP
00004530: JUMPDEST
00004531: PUSH1 0x40
00004533: DUP1
00004534: MLOAD
00004535: PUSH1 0x60
00004537: DUP2
00004538: ADD
00004539: DUP3
0000453a: MSTORE
0000453b: PUSH1 0x00
0000453d: DUP1
0000453e: DUP3
0000453f: MSTORE
00004540: PUSH1 0x20
00004542: DUP3
00004543: ADD
00004544: DUP2
00004545: SWAP1
00004546: MSTORE
00004547: SWAP2
00004548: DUP2
00004549: ADD
0000454a: SWAP2
0000454b: SWAP1
0000454c: SWAP2
0000454d: MSTORE
0000454e: SWAP1
0000454f: JUMP
00004550: JUMPDEST
00004551: PUSH1 0x00
00004553: DUP1
00004554: DUP4
00004555: PUSH1 0x1f
00004557: DUP5
00004558: ADD
00004559: SLT
0000455a: PUSH2 0x4561
0000455d: JUMPI
0000455e: DUP2
0000455f: DUP3
00004560: REVERT
00004561: JUMPDEST
00004562: POP
00004563: DUP2
00004564: CALLDATALOAD
00004565: PUSH8 0xffffffffffffffff
0000456e: DUP2
0000456f: GT
00004570: ISZERO
00004571: PUSH2 0x4578
00004574: JUMPI
00004575: DUP2
00004576: DUP3
00004577: REVERT
00004578: JUMPDEST
00004579: PUSH1 0x20
0000457b: DUP4
0000457c: ADD
0000457d: SWAP2
0000457e: POP
0000457f: DUP4
00004580: PUSH1 0x20
00004582: DUP1
00004583: DUP4
00004584: MUL
00004585: DUP6
00004586: ADD
00004587: ADD
00004588: GT
00004589: ISZERO
0000458a: PUSH2 0x4592
0000458d: JUMPI
0000458e: PUSH1 0x00
00004590: DUP1
00004591: REVERT
00004592: JUMPDEST
00004593: SWAP3
00004594: POP
00004595: SWAP3
00004596: SWAP1
00004597: POP
00004598: JUMP
00004599: JUMPDEST
0000459a: PUSH1 0x00
0000459c: DUP1
0000459d: DUP4
0000459e: PUSH1 0x1f
000045a0: DUP5
000045a1: ADD
000045a2: SLT
000045a3: PUSH2 0x45aa
000045a6: JUMPI
000045a7: DUP2
000045a8: DUP3
000045a9: REVERT
000045aa: JUMPDEST
000045ab: POP
000045ac: DUP2
000045ad: CALLDATALOAD
000045ae: PUSH8 0xffffffffffffffff
000045b7: DUP2
000045b8: GT
000045b9: ISZERO
000045ba: PUSH2 0x45c1
000045bd: JUMPI
000045be: DUP2
000045bf: DUP3
000045c0: REVERT
000045c1: JUMPDEST
000045c2: PUSH1 0x20
000045c4: DUP4
000045c5: ADD
000045c6: SWAP2
000045c7: POP
000045c8: DUP4
000045c9: PUSH1 0x20
000045cb: DUP3
000045cc: DUP6
000045cd: ADD
000045ce: ADD
000045cf: GT
000045d0: ISZERO
000045d1: PUSH2 0x4592
000045d4: JUMPI
000045d5: PUSH1 0x00
000045d7: DUP1
000045d8: REVERT
000045d9: JUMPDEST
000045da: DUP1
000045db: CALLDATALOAD
000045dc: PUSH2 0x3deb
000045df: DUP2
000045e0: PUSH2 0x58d4
000045e3: JUMP
000045e4: JUMPDEST
000045e5: DUP1
000045e6: CALLDATALOAD
000045e7: PUSH1 0xff
000045e9: DUP2
000045ea: AND
000045eb: DUP2
000045ec: EQ
000045ed: PUSH2 0x3deb
000045f0: JUMPI
000045f1: PUSH1 0x00
000045f3: DUP1
000045f4: REVERT
000045f5: JUMPDEST
000045f6: PUSH1 0x00
000045f8: PUSH1 0x20
000045fa: DUP3
000045fb: DUP5
000045fc: SUB
000045fd: SLT
000045fe: ISZERO
000045ff: PUSH2 0x4606
00004602: JUMPI
00004603: DUP1
00004604: DUP2
00004605: REVERT
00004606: JUMPDEST
00004607: DUP2
00004608: CALLDATALOAD
00004609: PUSH2 0x3d42
0000460c: DUP2
0000460d: PUSH2 0x58d4
00004610: JUMP
00004611: JUMPDEST
00004612: PUSH1 0x00
00004614: DUP1
00004615: PUSH1 0x40
00004617: DUP4
00004618: DUP6
00004619: SUB
0000461a: SLT
0000461b: ISZERO
0000461c: PUSH2 0x4623
0000461f: JUMPI
00004620: DUP1
00004621: DUP2
00004622: REVERT
00004623: JUMPDEST
00004624: DUP3
00004625: CALLDATALOAD
00004626: PUSH2 0x462e
00004629: DUP2
0000462a: PUSH2 0x58d4
0000462d: JUMP
0000462e: JUMPDEST
0000462f: SWAP2
00004630: POP
00004631: PUSH1 0x20
00004633: DUP4
00004634: ADD
00004635: CALLDATALOAD
00004636: PUSH2 0x463e
00004639: DUP2
0000463a: PUSH2 0x58d4
0000463d: JUMP
0000463e: JUMPDEST
0000463f: DUP1
00004640: SWAP2
00004641: POP
00004642: POP
00004643: SWAP3
00004644: POP
00004645: SWAP3
00004646: SWAP1
00004647: POP
00004648: JUMP
00004649: JUMPDEST
0000464a: PUSH1 0x00
0000464c: DUP1
0000464d: PUSH1 0x00
0000464f: DUP1
00004650: PUSH1 0x00
00004652: DUP1
00004653: PUSH1 0xc0
00004655: DUP8
00004656: DUP10
00004657: SUB
00004658: SLT
00004659: ISZERO
0000465a: PUSH2 0x4661
0000465d: JUMPI
0000465e: DUP2
0000465f: DUP3
00004660: REVERT
00004661: JUMPDEST
00004662: DUP7
00004663: CALLDATALOAD
00004664: PUSH2 0x466c
00004667: DUP2
00004668: PUSH2 0x58d4
0000466b: JUMP
0000466c: JUMPDEST
0000466d: SWAP6
0000466e: POP
0000466f: PUSH1 0x20
00004671: DUP8
00004672: ADD
00004673: CALLDATALOAD
00004674: PUSH2 0x467c
00004677: DUP2
00004678: PUSH2 0x58d4
0000467b: JUMP
0000467c: JUMPDEST
0000467d: SWAP5
0000467e: POP
0000467f: PUSH1 0x40
00004681: DUP8
00004682: ADD
00004683: CALLDATALOAD
00004684: PUSH2 0x468c
00004687: DUP2
00004688: PUSH2 0x58f9
0000468b: JUMP
0000468c: JUMPDEST
0000468d: SWAP4
0000468e: POP
0000468f: PUSH2 0x469b
00004692: DUP9
00004693: PUSH1 0x60
00004695: DUP10
00004696: ADD
00004697: PUSH2 0x45e4
0000469a: JUMP
0000469b: JUMPDEST
0000469c: SWAP3
0000469d: POP
0000469e: PUSH1 0x80
000046a0: DUP8
000046a1: ADD
000046a2: CALLDATALOAD
000046a3: SWAP2
000046a4: POP
000046a5: PUSH1 0xa0
000046a7: DUP8
000046a8: ADD
000046a9: CALLDATALOAD
000046aa: SWAP1
000046ab: POP
000046ac: SWAP3
000046ad: SWAP6
000046ae: POP
000046af: SWAP3
000046b0: SWAP6
000046b1: POP
000046b2: SWAP3
000046b3: SWAP6
000046b4: JUMP
000046b5: JUMPDEST
000046b6: PUSH1 0x00
000046b8: DUP1
000046b9: PUSH1 0x40
000046bb: DUP4
000046bc: DUP6
000046bd: SUB
000046be: SLT
000046bf: ISZERO
000046c0: PUSH2 0x46c7
000046c3: JUMPI
000046c4: DUP2
000046c5: DUP3
000046c6: REVERT
000046c7: JUMPDEST
000046c8: DUP3
000046c9: CALLDATALOAD
000046ca: PUSH2 0x46d2
000046cd: DUP2
000046ce: PUSH2 0x58d4
000046d1: JUMP
000046d2: JUMPDEST
000046d3: SWAP2
000046d4: POP
000046d5: PUSH1 0x20
000046d7: DUP4
000046d8: ADD
000046d9: CALLDATALOAD
000046da: PUSH2 0x463e
000046dd: DUP2
000046de: PUSH2 0x58f9
000046e1: JUMP
000046e2: JUMPDEST
000046e3: PUSH1 0x00
000046e5: DUP1
000046e6: PUSH1 0x00
000046e8: PUSH1 0x60
000046ea: DUP5
000046eb: DUP7
000046ec: SUB
000046ed: SLT
000046ee: ISZERO
000046ef: PUSH2 0x46f6
000046f2: JUMPI
000046f3: DUP3
000046f4: DUP4
000046f5: REVERT
000046f6: JUMPDEST
000046f7: DUP4
000046f8: CALLDATALOAD
000046f9: PUSH2 0x4701
000046fc: DUP2
000046fd: PUSH2 0x58d4
00004700: JUMP
00004701: JUMPDEST
00004702: SWAP3
00004703: POP
00004704: PUSH1 0x20
00004706: DUP5
00004707: ADD
00004708: CALLDATALOAD
00004709: PUSH2 0x4711
0000470c: DUP2
0000470d: PUSH2 0x58f9
00004710: JUMP
00004711: JUMPDEST
00004712: SWAP2
00004713: POP
00004714: PUSH1 0x40
00004716: DUP5
00004717: ADD
00004718: CALLDATALOAD
00004719: PUSH2 0x4721
0000471c: DUP2
0000471d: PUSH2 0x58f9
00004720: JUMP
00004721: JUMPDEST
00004722: DUP1
00004723: SWAP2
00004724: POP
00004725: POP
00004726: SWAP3
00004727: POP
00004728: SWAP3
00004729: POP
0000472a: SWAP3
0000472b: JUMP
0000472c: JUMPDEST
0000472d: PUSH1 0x00
0000472f: DUP1
00004730: PUSH1 0x00
00004732: DUP1
00004733: PUSH1 0x60
00004735: DUP6
00004736: DUP8
00004737: SUB
00004738: SLT
00004739: ISZERO
0000473a: PUSH2 0x4741
0000473d: JUMPI
0000473e: DUP4
0000473f: DUP5
00004740: REVERT
00004741: JUMPDEST
00004742: DUP5
00004743: CALLDATALOAD
00004744: PUSH2 0x474c
00004747: DUP2
00004748: PUSH2 0x58d4
0000474b: JUMP
0000474c: JUMPDEST
0000474d: SWAP4
0000474e: POP
0000474f: PUSH1 0x20
00004751: DUP6
00004752: ADD
00004753: CALLDATALOAD
00004754: PUSH8 0xffffffffffffffff
0000475d: DUP2
0000475e: GT
0000475f: ISZERO
00004760: PUSH2 0x4767
00004763: JUMPI
00004764: DUP4
00004765: DUP5
00004766: REVERT
00004767: JUMPDEST
00004768: PUSH2 0x4773
0000476b: DUP8
0000476c: DUP3
0000476d: DUP9
0000476e: ADD
0000476f: PUSH2 0x4599
00004772: JUMP
00004773: JUMPDEST
00004774: SWAP1
00004775: SWAP5
00004776: POP
00004777: SWAP3
00004778: POP
00004779: POP
0000477a: PUSH1 0x40
0000477c: DUP6
0000477d: ADD
0000477e: CALLDATALOAD
0000477f: PUSH2 0x4787
00004782: DUP2
00004783: PUSH2 0x58f9
00004786: JUMP
00004787: JUMPDEST
00004788: SWAP4
00004789: SWAP7
0000478a: SWAP3
0000478b: SWAP6
0000478c: POP
0000478d: SWAP1
0000478e: SWAP4
0000478f: POP
00004790: POP
00004791: JUMP
00004792: JUMPDEST
00004793: PUSH1 0x00
00004795: DUP1
00004796: PUSH1 0x00
00004798: PUSH1 0x40
0000479a: DUP5
0000479b: DUP7
0000479c: SUB
0000479d: SLT
0000479e: ISZERO
0000479f: PUSH2 0x47a6
000047a2: JUMPI
000047a3: DUP1
000047a4: DUP2
000047a5: REVERT
000047a6: JUMPDEST
000047a7: DUP4
000047a8: CALLDATALOAD
000047a9: PUSH8 0xffffffffffffffff
000047b2: DUP2
000047b3: GT
000047b4: ISZERO
000047b5: PUSH2 0x47bc
000047b8: JUMPI
000047b9: DUP2
000047ba: DUP3
000047bb: REVERT
000047bc: JUMPDEST
000047bd: PUSH2 0x47c8
000047c0: DUP7
000047c1: DUP3
000047c2: DUP8
000047c3: ADD
000047c4: PUSH2 0x4550
000047c7: JUMP
000047c8: JUMPDEST
000047c9: SWAP1
000047ca: SWAP5
000047cb: POP
000047cc: SWAP3
000047cd: POP
000047ce: POP
000047cf: PUSH1 0x20
000047d1: DUP5
000047d2: ADD
000047d3: CALLDATALOAD
000047d4: PUSH2 0x4721
000047d7: DUP2
000047d8: PUSH2 0x58f9
000047db: JUMP
000047dc: JUMPDEST
000047dd: PUSH1 0x00
000047df: PUSH1 0x20
000047e1: DUP3
000047e2: DUP5
000047e3: SUB
000047e4: SLT
000047e5: ISZERO
000047e6: PUSH2 0x47ed
000047e9: JUMPI
000047ea: DUP1
000047eb: DUP2
000047ec: REVERT
000047ed: JUMPDEST
000047ee: DUP2
000047ef: MLOAD
000047f0: PUSH2 0x3d42
000047f3: DUP2
000047f4: PUSH2 0x58f9
000047f7: JUMP
000047f8: JUMPDEST
000047f9: PUSH1 0x00
000047fb: DUP1
000047fc: PUSH1 0x00
000047fe: DUP1
000047ff: PUSH1 0x00
00004801: DUP1
00004802: PUSH1 0x00
00004804: DUP1
00004805: PUSH1 0x00
00004807: PUSH1 0xa0
00004809: DUP11
0000480a: DUP13
0000480b: SUB
0000480c: SLT
0000480d: ISZERO
0000480e: PUSH2 0x4815
00004811: JUMPI
00004812: DUP7
00004813: DUP8
00004814: REVERT
00004815: JUMPDEST
00004816: DUP10
00004817: CALLDATALOAD
00004818: PUSH2 0x4820
0000481b: DUP2
0000481c: PUSH2 0x58d4
0000481f: JUMP
00004820: JUMPDEST
00004821: SWAP9
00004822: POP
00004823: PUSH1 0x20
00004825: DUP11
00004826: ADD
00004827: CALLDATALOAD
00004828: PUSH8 0xffffffffffffffff
00004831: DUP1
00004832: DUP3
00004833: GT
00004834: ISZERO
00004835: PUSH2 0x483c
00004838: JUMPI
00004839: DUP9
0000483a: DUP10
0000483b: REVERT
0000483c: JUMPDEST
0000483d: PUSH2 0x4848
00004840: DUP14
00004841: DUP4
00004842: DUP15
00004843: ADD
00004844: PUSH2 0x4550
00004847: JUMP
00004848: JUMPDEST
00004849: SWAP1
0000484a: SWAP11
0000484b: POP
0000484c: SWAP9
0000484d: POP
0000484e: PUSH1 0x40
00004850: DUP13
00004851: ADD
00004852: CALLDATALOAD
00004853: SWAP2
00004854: POP
00004855: DUP1
00004856: DUP3
00004857: GT
00004858: ISZERO
00004859: PUSH2 0x4860
0000485c: JUMPI
0000485d: DUP5
0000485e: DUP6
0000485f: REVERT
00004860: JUMPDEST
00004861: PUSH2 0x486c
00004864: DUP14
00004865: DUP4
00004866: DUP15
00004867: ADD
00004868: PUSH2 0x4550
0000486b: JUMP
0000486c: JUMPDEST
0000486d: SWAP1
0000486e: SWAP9
0000486f: POP
00004870: SWAP7
00004871: POP
00004872: PUSH1 0x60
00004874: DUP13
00004875: ADD
00004876: CALLDATALOAD
00004877: SWAP2
00004878: POP
00004879: DUP1
0000487a: DUP3
0000487b: GT
0000487c: ISZERO
0000487d: PUSH2 0x4884
00004880: JUMPI
00004881: DUP5
00004882: DUP6
00004883: REVERT
00004884: JUMPDEST
00004885: PUSH2 0x4890
00004888: DUP14
00004889: DUP4
0000488a: DUP15
0000488b: ADD
0000488c: PUSH2 0x4550
0000488f: JUMP
00004890: JUMPDEST
00004891: SWAP1
00004892: SWAP7
00004893: POP
00004894: SWAP5
00004895: POP
00004896: PUSH1 0x80
00004898: DUP13
00004899: ADD
0000489a: CALLDATALOAD
0000489b: SWAP2
0000489c: POP
0000489d: DUP1
0000489e: DUP3
0000489f: GT
000048a0: ISZERO
000048a1: PUSH2 0x48a8
000048a4: JUMPI
000048a5: DUP4
000048a6: DUP5
000048a7: REVERT
000048a8: JUMPDEST
000048a9: POP
000048aa: PUSH2 0x48b5
000048ad: DUP13
000048ae: DUP3
000048af: DUP14
000048b0: ADD
000048b1: PUSH2 0x4599
000048b4: JUMP
000048b5: JUMPDEST
000048b6: SWAP2
000048b7: POP
000048b8: DUP1
000048b9: SWAP4
000048ba: POP
000048bb: POP
000048bc: DUP1
000048bd: SWAP2
000048be: POP
000048bf: POP
000048c0: SWAP3
000048c1: SWAP6
000048c2: SWAP9
000048c3: POP
000048c4: SWAP3
000048c5: SWAP6
000048c6: SWAP9
000048c7: POP
000048c8: SWAP3
000048c9: SWAP6
000048ca: SWAP9
000048cb: JUMP
000048cc: JUMPDEST
000048cd: PUSH1 0x00
000048cf: DUP1
000048d0: PUSH1 0x40
000048d2: DUP4
000048d3: DUP6
000048d4: SUB
000048d5: SLT
000048d6: ISZERO
000048d7: PUSH2 0x4623
000048da: JUMPI
000048db: DUP2
000048dc: DUP3
000048dd: REVERT
000048de: JUMPDEST
000048df: PUSH1 0x00
000048e1: DUP1
000048e2: PUSH1 0x00
000048e4: DUP1
000048e5: PUSH1 0x80
000048e7: DUP6
000048e8: DUP8
000048e9: SUB
000048ea: SLT
000048eb: ISZERO
000048ec: PUSH2 0x48f3
000048ef: JUMPI
000048f0: DUP2
000048f1: DUP3
000048f2: REVERT
000048f3: JUMPDEST
000048f4: DUP5
000048f5: CALLDATALOAD
000048f6: PUSH2 0x48fe
000048f9: DUP2
000048fa: PUSH2 0x58d4
000048fd: JUMP
000048fe: JUMPDEST
000048ff: SWAP4
00004900: POP
00004901: PUSH1 0x20
00004903: DUP6
00004904: ADD
00004905: CALLDATALOAD
00004906: PUSH2 0x490e
00004909: DUP2
0000490a: PUSH2 0x58d4
0000490d: JUMP
0000490e: JUMPDEST
0000490f: SWAP3
00004910: POP
00004911: PUSH1 0x40
00004913: DUP6
00004914: ADD
00004915: CALLDATALOAD
00004916: PUSH2 0x491e
00004919: DUP2
0000491a: PUSH2 0x58d4
0000491d: JUMP
0000491e: JUMPDEST
0000491f: SWAP4
00004920: SWAP7
00004921: SWAP3
00004922: SWAP6
00004923: POP
00004924: SWAP3
00004925: SWAP4
00004926: PUSH1 0x60
00004928: ADD
00004929: CALLDATALOAD
0000492a: SWAP3
0000492b: POP
0000492c: POP
0000492d: JUMP
0000492e: JUMPDEST
0000492f: PUSH1 0x00
00004931: DUP1
00004932: PUSH1 0x00
00004934: DUP1
00004935: PUSH1 0x00
00004937: PUSH1 0xa0
00004939: DUP7
0000493a: DUP9
0000493b: SUB
0000493c: SLT
0000493d: ISZERO
0000493e: PUSH2 0x4945
00004941: JUMPI
00004942: DUP3
00004943: DUP4
00004944: REVERT
00004945: JUMPDEST
00004946: DUP6
00004947: CALLDATALOAD
00004948: PUSH2 0x4950
0000494b: DUP2
0000494c: PUSH2 0x58d4
0000494f: JUMP
00004950: JUMPDEST
00004951: SWAP5
00004952: POP
00004953: PUSH1 0x20
00004955: DUP7
00004956: ADD
00004957: CALLDATALOAD
00004958: PUSH2 0x4960
0000495b: DUP2
0000495c: PUSH2 0x58d4
0000495f: JUMP
00004960: JUMPDEST
00004961: SWAP4
00004962: POP
00004963: PUSH1 0x40
00004965: DUP7
00004966: ADD
00004967: CALLDATALOAD
00004968: PUSH2 0x4970
0000496b: DUP2
0000496c: PUSH2 0x58d4
0000496f: JUMP
00004970: JUMPDEST
00004971: SWAP5
00004972: SWAP8
00004973: SWAP4
00004974: SWAP7
00004975: POP
00004976: SWAP4
00004977: SWAP5
00004978: PUSH1 0x60
0000497a: DUP2
0000497b: ADD
0000497c: CALLDATALOAD
0000497d: SWAP5
0000497e: POP
0000497f: PUSH1 0x80
00004981: ADD
00004982: CALLDATALOAD
00004983: SWAP3
00004984: SWAP2
00004985: POP
00004986: POP
00004987: JUMP
00004988: JUMPDEST
00004989: PUSH1 0x00
0000498b: DUP1
0000498c: PUSH1 0x00
0000498e: DUP1
0000498f: PUSH1 0x00
00004991: DUP1
00004992: PUSH1 0x00
00004994: DUP1
00004995: PUSH2 0x0100
00004998: DUP10
00004999: DUP12
0000499a: SUB
0000499b: SLT
0000499c: ISZERO
0000499d: PUSH2 0x49a4
000049a0: JUMPI
000049a1: DUP2
000049a2: DUP3
000049a3: REVERT
000049a4: JUMPDEST
000049a5: DUP9
000049a6: CALLDATALOAD
000049a7: PUSH2 0x49af
000049aa: DUP2
000049ab: PUSH2 0x58d4
000049ae: JUMP
000049af: JUMPDEST
000049b0: SWAP8
000049b1: POP
000049b2: PUSH1 0x20
000049b4: DUP10
000049b5: ADD
000049b6: CALLDATALOAD
000049b7: PUSH2 0x49bf
000049ba: DUP2
000049bb: PUSH2 0x58d4
000049be: JUMP
000049bf: JUMPDEST
000049c0: SWAP7
000049c1: POP
000049c2: PUSH1 0x40
000049c4: DUP10
000049c5: ADD
000049c6: CALLDATALOAD
000049c7: PUSH2 0x49cf
000049ca: DUP2
000049cb: PUSH2 0x58d4
000049ce: JUMP
000049cf: JUMPDEST
000049d0: SWAP6
000049d1: POP
000049d2: PUSH1 0x60
000049d4: DUP10
000049d5: ADD
000049d6: CALLDATALOAD
000049d7: SWAP5
000049d8: POP
000049d9: PUSH1 0x80
000049db: DUP10
000049dc: ADD
000049dd: CALLDATALOAD
000049de: SWAP4
000049df: POP
000049e0: PUSH2 0x49ec
000049e3: DUP11
000049e4: PUSH1 0xa0
000049e6: DUP12
000049e7: ADD
000049e8: PUSH2 0x45e4
000049eb: JUMP
000049ec: JUMPDEST
000049ed: SWAP3
000049ee: POP
000049ef: PUSH1 0xc0
000049f1: DUP10
000049f2: ADD
000049f3: CALLDATALOAD
000049f4: SWAP2
000049f5: POP
000049f6: PUSH1 0xe0
000049f8: DUP10
000049f9: ADD
000049fa: CALLDATALOAD
000049fb: SWAP1
000049fc: POP
000049fd: SWAP3
000049fe: SWAP6
000049ff: SWAP9
00004a00: POP
00004a01: SWAP3
00004a02: SWAP6
00004a03: SWAP9
00004a04: SWAP1
00004a05: SWAP4
00004a06: SWAP7
00004a07: POP
00004a08: JUMP
00004a09: JUMPDEST
00004a0a: PUSH1 0x00
00004a0c: DUP1
00004a0d: PUSH1 0x00
00004a0f: DUP1
00004a10: PUSH1 0x00
00004a12: DUP1
00004a13: PUSH1 0x80
00004a15: DUP8
00004a16: DUP10
00004a17: SUB
00004a18: SLT
00004a19: ISZERO
00004a1a: PUSH2 0x4a21
00004a1d: JUMPI
00004a1e: DUP4
00004a1f: DUP5
00004a20: REVERT
00004a21: JUMPDEST
00004a22: DUP7
00004a23: CALLDATALOAD
00004a24: PUSH2 0x4a2c
00004a27: DUP2
00004a28: PUSH2 0x58d4
00004a2b: JUMP
00004a2c: JUMPDEST
00004a2d: SWAP6
00004a2e: POP
00004a2f: PUSH1 0x20
00004a31: DUP8
00004a32: ADD
00004a33: CALLDATALOAD
00004a34: PUSH2 0x4a3c
00004a37: DUP2
00004a38: PUSH2 0x58d4
00004a3b: JUMP
00004a3c: JUMPDEST
00004a3d: SWAP5
00004a3e: POP
00004a3f: PUSH1 0x40
00004a41: DUP8
00004a42: ADD
00004a43: CALLDATALOAD
00004a44: PUSH8 0xffffffffffffffff
00004a4d: DUP1
00004a4e: DUP3
00004a4f: GT
00004a50: ISZERO
00004a51: PUSH2 0x4a58
00004a54: JUMPI
00004a55: DUP6
00004a56: DUP7
00004a57: REVERT
00004a58: JUMPDEST
00004a59: PUSH2 0x4a64
00004a5c: DUP11
00004a5d: DUP4
00004a5e: DUP12
00004a5f: ADD
00004a60: PUSH2 0x4550
00004a63: JUMP
00004a64: JUMPDEST
00004a65: SWAP1
00004a66: SWAP7
00004a67: POP
00004a68: SWAP5
00004a69: POP
00004a6a: PUSH1 0x60
00004a6c: DUP10
00004a6d: ADD
00004a6e: CALLDATALOAD
00004a6f: SWAP2
00004a70: POP
00004a71: DUP1
00004a72: DUP3
00004a73: GT
00004a74: ISZERO
00004a75: PUSH2 0x4a7c
00004a78: JUMPI
00004a79: DUP4
00004a7a: DUP5
00004a7b: REVERT
00004a7c: JUMPDEST
00004a7d: POP
00004a7e: PUSH2 0x4a89
00004a81: DUP10
00004a82: DUP3
00004a83: DUP11
00004a84: ADD
00004a85: PUSH2 0x4550
00004a88: JUMP
00004a89: JUMPDEST
00004a8a: SWAP8
00004a8b: SWAP11
00004a8c: SWAP7
00004a8d: SWAP10
00004a8e: POP
00004a8f: SWAP5
00004a90: SWAP8
00004a91: POP
00004a92: SWAP3
00004a93: SWAP6
00004a94: SWAP4
00004a95: SWAP5
00004a96: SWAP3
00004a97: POP
00004a98: POP
00004a99: POP
00004a9a: JUMP
00004a9b: JUMPDEST
00004a9c: PUSH1 0x00
00004a9e: DUP1
00004a9f: PUSH1 0x00
00004aa1: PUSH1 0x60
00004aa3: DUP5
00004aa4: DUP7
00004aa5: SUB
00004aa6: SLT
00004aa7: ISZERO
00004aa8: PUSH2 0x4aaf
00004aab: JUMPI
00004aac: DUP1
00004aad: DUP2
00004aae: REVERT
00004aaf: JUMPDEST
00004ab0: DUP4
00004ab1: CALLDATALOAD
00004ab2: PUSH2 0x4aba
00004ab5: DUP2
00004ab6: PUSH2 0x58d4
00004ab9: JUMP
00004aba: JUMPDEST
00004abb: SWAP3
00004abc: POP
00004abd: PUSH1 0x20
00004abf: DUP5
00004ac0: ADD
00004ac1: CALLDATALOAD
00004ac2: PUSH2 0x4aca
00004ac5: DUP2
00004ac6: PUSH2 0x58f9
00004ac9: JUMP
00004aca: JUMPDEST
00004acb: SWAP3
00004acc: SWAP6
00004acd: SWAP3
00004ace: SWAP5
00004acf: POP
00004ad0: POP
00004ad1: POP
00004ad2: PUSH1 0x40
00004ad4: SWAP2
00004ad5: SWAP1
00004ad6: SWAP2
00004ad7: ADD
00004ad8: CALLDATALOAD
00004ad9: SWAP1
00004ada: JUMP
00004adb: JUMPDEST
00004adc: PUSH1 0x00
00004ade: DUP1
00004adf: PUSH1 0x00
00004ae1: PUSH1 0x60
00004ae3: DUP5
00004ae4: DUP7
00004ae5: SUB
00004ae6: SLT
00004ae7: ISZERO
00004ae8: PUSH2 0x4aef
00004aeb: JUMPI
00004aec: DUP1
00004aed: DUP2
00004aee: REVERT
00004aef: JUMPDEST
00004af0: DUP4
00004af1: CALLDATALOAD
00004af2: PUSH2 0x4afa
00004af5: DUP2
00004af6: PUSH2 0x58d4
00004af9: JUMP
00004afa: JUMPDEST
00004afb: SWAP3
00004afc: POP
00004afd: PUSH1 0x20
00004aff: DUP5
00004b00: ADD
00004b01: CALLDATALOAD
00004b02: SWAP2
00004b03: POP
00004b04: PUSH1 0x40
00004b06: DUP5
00004b07: ADD
00004b08: CALLDATALOAD
00004b09: PUSH2 0x4721
00004b0c: DUP2
00004b0d: PUSH2 0x58f9
00004b10: JUMP
00004b11: JUMPDEST
00004b12: PUSH1 0x00
00004b14: DUP1
00004b15: PUSH1 0x40
00004b17: DUP4
00004b18: DUP6
00004b19: SUB
00004b1a: SLT
00004b1b: ISZERO
00004b1c: PUSH2 0x4b23
00004b1f: JUMPI
00004b20: DUP2
00004b21: DUP3
00004b22: REVERT
00004b23: JUMPDEST
00004b24: DUP3
00004b25: CALLDATALOAD
00004b26: PUSH2 0x4b2e
00004b29: DUP2
00004b2a: PUSH2 0x58d4
00004b2d: JUMP
00004b2e: JUMPDEST
00004b2f: SWAP2
00004b30: POP
00004b31: PUSH1 0x20
00004b33: DUP4
00004b34: ADD
00004b35: CALLDATALOAD
00004b36: PUSH8 0xffffffffffffffff
00004b3f: DUP2
00004b40: AND
00004b41: DUP2
00004b42: EQ
00004b43: PUSH2 0x463e
00004b46: JUMPI
00004b47: DUP2
00004b48: DUP3
00004b49: REVERT
00004b4a: JUMPDEST
00004b4b: PUSH1 0x00
00004b4d: DUP1
00004b4e: PUSH1 0x00
00004b50: DUP1
00004b51: PUSH1 0x00
00004b53: DUP1
00004b54: PUSH1 0xa0
00004b56: DUP8
00004b57: DUP10
00004b58: SUB
00004b59: SLT
00004b5a: ISZERO
00004b5b: PUSH2 0x4b62
00004b5e: JUMPI
00004b5f: DUP4
00004b60: DUP5
00004b61: REVERT
00004b62: JUMPDEST
00004b63: DUP7
00004b64: CALLDATALOAD
00004b65: PUSH2 0x4b6d
00004b68: DUP2
00004b69: PUSH2 0x58d4
00004b6c: JUMP
00004b6d: JUMPDEST
00004b6e: SWAP6
00004b6f: POP
00004b70: PUSH1 0x20
00004b72: DUP8
00004b73: ADD
00004b74: CALLDATALOAD
00004b75: PUSH2 0x4b7d
00004b78: DUP2
00004b79: PUSH2 0x58d4
00004b7c: JUMP
00004b7d: JUMPDEST
00004b7e: SWAP5
00004b7f: POP
00004b80: PUSH1 0x40
00004b82: DUP8
00004b83: ADD
00004b84: CALLDATALOAD
00004b85: PUSH2 0x4b8d
00004b88: DUP2
00004b89: PUSH2 0x58d4
00004b8c: JUMP
00004b8d: JUMPDEST
00004b8e: SWAP4
00004b8f: POP
00004b90: PUSH1 0x60
00004b92: DUP8
00004b93: ADD
00004b94: CALLDATALOAD
00004b95: SWAP3
00004b96: POP
00004b97: PUSH1 0x80
00004b99: DUP8
00004b9a: ADD
00004b9b: CALLDATALOAD
00004b9c: PUSH8 0xffffffffffffffff
00004ba5: DUP2
00004ba6: GT
00004ba7: ISZERO
00004ba8: PUSH2 0x4baf
00004bab: JUMPI
00004bac: DUP3
00004bad: DUP4
00004bae: REVERT
00004baf: JUMPDEST
00004bb0: PUSH2 0x4a89
00004bb3: DUP10
00004bb4: DUP3
00004bb5: DUP11
00004bb6: ADD
00004bb7: PUSH2 0x4599
00004bba: JUMP
00004bbb: JUMPDEST
00004bbc: PUSH1 0x00
00004bbe: PUSH1 0x20
00004bc0: DUP3
00004bc1: DUP5
00004bc2: SUB
00004bc3: SLT
00004bc4: ISZERO
00004bc5: PUSH2 0x4bcc
00004bc8: JUMPI
00004bc9: DUP1
00004bca: DUP2
00004bcb: REVERT
00004bcc: JUMPDEST
00004bcd: POP
00004bce: MLOAD
00004bcf: SWAP2
00004bd0: SWAP1
00004bd1: POP
00004bd2: JUMP
00004bd3: JUMPDEST
00004bd4: PUSH1 0x00
00004bd6: PUSH1 0x20
00004bd8: DUP3
00004bd9: DUP5
00004bda: SUB
00004bdb: SLT
00004bdc: ISZERO
00004bdd: PUSH2 0x4be4
00004be0: JUMPI
00004be1: DUP1
00004be2: DUP2
00004be3: REVERT
00004be4: JUMPDEST
00004be5: DUP2
00004be6: MLOAD
00004be7: PUSH8 0xffffffffffffffff
00004bf0: DUP1
00004bf1: DUP3
00004bf2: GT
00004bf3: ISZERO
00004bf4: PUSH2 0x4bfb
00004bf7: JUMPI
00004bf8: DUP3
00004bf9: DUP4
00004bfa: REVERT
00004bfb: JUMPDEST
00004bfc: DUP2
00004bfd: DUP5
00004bfe: ADD
00004bff: SWAP2
00004c00: POP
00004c01: DUP5
00004c02: PUSH1 0x1f
00004c04: DUP4
00004c05: ADD
00004c06: SLT
00004c07: PUSH2 0x4c0e
00004c0a: JUMPI
00004c0b: DUP3
00004c0c: DUP4
00004c0d: REVERT
00004c0e: JUMPDEST
00004c0f: DUP2
00004c10: MLOAD
00004c11: DUP2
00004c12: DUP2
00004c13: GT
00004c14: ISZERO
00004c15: PUSH2 0x4c1c
00004c18: JUMPI
00004c19: DUP4
00004c1a: DUP5
00004c1b: REVERT
00004c1c: JUMPDEST
00004c1d: PUSH1 0x40
00004c1f: MLOAD
00004c20: PUSH1 0x20
00004c22: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00004c43: PUSH1 0x1f
00004c45: DUP5
00004c46: ADD
00004c47: AND
00004c48: DUP3
00004c49: ADD
00004c4a: ADD
00004c4b: DUP2
00004c4c: DUP2
00004c4d: LT
00004c4e: DUP5
00004c4f: DUP3
00004c50: GT
00004c51: OR
00004c52: ISZERO
00004c53: PUSH2 0x4c5a
00004c56: JUMPI
00004c57: DUP6
00004c58: DUP7
00004c59: REVERT
00004c5a: JUMPDEST
00004c5b: PUSH1 0x40
00004c5d: MSTORE
00004c5e: DUP2
00004c5f: DUP2
00004c60: MSTORE
00004c61: DUP4
00004c62: DUP3
00004c63: ADD
00004c64: PUSH1 0x20
00004c66: ADD
00004c67: DUP8
00004c68: LT
00004c69: ISZERO
00004c6a: PUSH2 0x4c71
00004c6d: JUMPI
00004c6e: DUP5
00004c6f: DUP6
00004c70: REVERT
00004c71: JUMPDEST
00004c72: PUSH2 0x4c82
00004c75: DUP3
00004c76: PUSH1 0x20
00004c78: DUP4
00004c79: ADD
00004c7a: PUSH1 0x20
00004c7c: DUP8
00004c7d: ADD
00004c7e: PUSH2 0x58a4
00004c81: JUMP
00004c82: JUMPDEST
00004c83: SWAP7
00004c84: SWAP6
00004c85: POP
00004c86: POP
00004c87: POP
00004c88: POP
00004c89: POP
00004c8a: POP
00004c8b: JUMP
00004c8c: JUMPDEST
00004c8d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004ca2: AND
00004ca3: DUP2
00004ca4: MSTORE
00004ca5: PUSH1 0x20
00004ca7: ADD
00004ca8: SWAP1
00004ca9: JUMP
00004caa: JUMPDEST
00004cab: PUSH1 0x00
00004cad: DUP2
00004cae: MLOAD
00004caf: DUP1
00004cb0: DUP5
00004cb1: MSTORE
00004cb2: PUSH1 0x20
00004cb4: DUP1
00004cb5: DUP6
00004cb6: ADD
00004cb7: SWAP5
00004cb8: POP
00004cb9: DUP1
00004cba: DUP5
00004cbb: ADD
00004cbc: DUP4
00004cbd: JUMPDEST
00004cbe: DUP4
00004cbf: DUP2
00004cc0: LT
00004cc1: ISZERO
00004cc2: PUSH2 0x4cd9
00004cc5: JUMPI
00004cc6: DUP2
00004cc7: MLOAD
00004cc8: DUP8
00004cc9: MSTORE
00004cca: SWAP6
00004ccb: DUP3
00004ccc: ADD
00004ccd: SWAP6
00004cce: SWAP1
00004ccf: DUP3
00004cd0: ADD
00004cd1: SWAP1
00004cd2: PUSH1 0x01
00004cd4: ADD
00004cd5: PUSH2 0x4cbd
00004cd8: JUMP
00004cd9: JUMPDEST
00004cda: POP
00004cdb: SWAP5
00004cdc: SWAP6
00004cdd: SWAP5
00004cde: POP
00004cdf: POP
00004ce0: POP
00004ce1: POP
00004ce2: POP
00004ce3: JUMP
00004ce4: JUMPDEST
00004ce5: PUSH1 0x00
00004ce7: DUP3
00004ce8: DUP5
00004ce9: MSTORE
00004cea: DUP3
00004ceb: DUP3
00004cec: PUSH1 0x20
00004cee: DUP7
00004cef: ADD
00004cf0: CALLDATACOPY
00004cf1: DUP1
00004cf2: PUSH1 0x20
00004cf4: DUP5
00004cf5: DUP7
00004cf6: ADD
00004cf7: ADD
00004cf8: MSTORE
00004cf9: PUSH1 0x20
00004cfb: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00004d1c: PUSH1 0x1f
00004d1e: DUP6
00004d1f: ADD
00004d20: AND
00004d21: DUP6
00004d22: ADD
00004d23: ADD
00004d24: SWAP1
00004d25: POP
00004d26: SWAP4
00004d27: SWAP3
00004d28: POP
00004d29: POP
00004d2a: POP
00004d2b: JUMP
00004d2c: JUMPDEST
00004d2d: PUSH1 0x00
00004d2f: DUP2
00004d30: MLOAD
00004d31: DUP1
00004d32: DUP5
00004d33: MSTORE
00004d34: PUSH2 0x4d44
00004d37: DUP2
00004d38: PUSH1 0x20
00004d3a: DUP7
00004d3b: ADD
00004d3c: PUSH1 0x20
00004d3e: DUP7
00004d3f: ADD
00004d40: PUSH2 0x58a4
00004d43: JUMP
00004d44: JUMPDEST
00004d45: PUSH1 0x1f
00004d47: ADD
00004d48: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00004d69: AND
00004d6a: SWAP3
00004d6b: SWAP1
00004d6c: SWAP3
00004d6d: ADD
00004d6e: PUSH1 0x20
00004d70: ADD
00004d71: SWAP3
00004d72: SWAP2
00004d73: POP
00004d74: POP
00004d75: JUMP
00004d76: JUMPDEST
00004d77: PUSH1 0x00
00004d79: DUP3
00004d7a: DUP5
00004d7b: DUP4
00004d7c: CALLDATACOPY
00004d7d: SWAP2
00004d7e: ADD
00004d7f: SWAP1
00004d80: DUP2
00004d81: MSTORE
00004d82: SWAP2
00004d83: SWAP1
00004d84: POP
00004d85: JUMP
00004d86: JUMPDEST
00004d87: PUSH1 0x00
00004d89: DUP3
00004d8a: MLOAD
00004d8b: PUSH2 0x4d98
00004d8e: DUP2
00004d8f: DUP5
00004d90: PUSH1 0x20
00004d92: DUP8
00004d93: ADD
00004d94: PUSH2 0x58a4
00004d97: JUMP
00004d98: JUMPDEST
00004d99: SWAP2
00004d9a: SWAP1
00004d9b: SWAP2
00004d9c: ADD
00004d9d: SWAP3
00004d9e: SWAP2
00004d9f: POP
00004da0: POP
00004da1: JUMP
00004da2: JUMPDEST
00004da3: PUSH1 0x00
00004da5: DUP5
00004da6: MLOAD
00004da7: PUSH2 0x4db4
00004daa: DUP2
00004dab: DUP5
00004dac: PUSH1 0x20
00004dae: DUP10
00004daf: ADD
00004db0: PUSH2 0x58a4
00004db3: JUMP
00004db4: JUMPDEST
00004db5: SWAP2
00004db6: SWAP1
00004db7: SWAP2
00004db8: ADD
00004db9: SWAP3
00004dba: DUP4
00004dbb: MSTORE
00004dbc: POP
00004dbd: PUSH1 0x20
00004dbf: DUP3
00004dc0: ADD
00004dc1: MSTORE
00004dc2: PUSH1 0x40
00004dc4: ADD
00004dc5: SWAP2
00004dc6: SWAP1
00004dc7: POP
00004dc8: JUMP
00004dc9: JUMPDEST
00004dca: SWAP1
00004dcb: JUMP
00004dcc: JUMPDEST
00004dcd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004de2: SWAP2
00004de3: SWAP1
00004de4: SWAP2
00004de5: AND
00004de6: DUP2
00004de7: MSTORE
00004de8: PUSH1 0x20
00004dea: ADD
00004deb: SWAP1
00004dec: JUMP
00004ded: JUMPDEST
00004dee: PUSH1 0x00
00004df0: PUSH1 0xa0
00004df2: DUP3
00004df3: ADD
00004df4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004e09: DUP12
00004e0a: AND
00004e0b: DUP4
00004e0c: MSTORE
00004e0d: PUSH1 0x20
00004e0f: PUSH1 0xa0
00004e11: DUP2
00004e12: DUP6
00004e13: ADD
00004e14: MSTORE
00004e15: DUP2
00004e16: PUSH2 0x4e1f
00004e19: DUP12
00004e1a: DUP5
00004e1b: PUSH2 0x5073
00004e1e: JUMP
00004e1f: JUMPDEST
00004e20: SWAP1
00004e21: POP
00004e22: DUP12
00004e23: SWAP3
00004e24: POP
00004e25: DUP4
00004e26: JUMPDEST
00004e27: DUP12
00004e28: DUP2
00004e29: LT
00004e2a: ISZERO
00004e2b: PUSH2 0x4e51
00004e2e: JUMPI
00004e2f: DUP3
00004e30: DUP5
00004e31: ADD
00004e32: PUSH2 0x4e44
00004e35: DUP4
00004e36: PUSH2 0x4e3f
00004e39: DUP4
00004e3a: DUP9
00004e3b: PUSH2 0x45d9
00004e3e: JUMP
00004e3f: JUMPDEST
00004e40: PUSH2 0x4c8c
00004e43: JUMP
00004e44: JUMPDEST
00004e45: SWAP1
00004e46: SWAP5
00004e47: POP
00004e48: SWAP2
00004e49: POP
00004e4a: PUSH1 0x01
00004e4c: ADD
00004e4d: PUSH2 0x4e26
00004e50: JUMP
00004e51: JUMPDEST
00004e52: POP
00004e53: DUP5
00004e54: DUP2
00004e55: SUB
00004e56: PUSH1 0x40
00004e58: DUP7
00004e59: ADD
00004e5a: MSTORE
00004e5b: PUSH2 0x4e64
00004e5e: DUP10
00004e5f: DUP3
00004e60: PUSH2 0x5073
00004e63: JUMP
00004e64: JUMPDEST
00004e65: SWAP3
00004e66: POP
00004e67: POP
00004e68: PUSH32 0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00004e89: DUP9
00004e8a: GT
00004e8b: ISZERO
00004e8c: PUSH2 0x4e93
00004e8f: JUMPI
00004e90: DUP3
00004e91: DUP4
00004e92: REVERT
00004e93: JUMPDEST
00004e94: DUP8
00004e95: MUL
00004e96: PUSH2 0x4ea0
00004e99: DUP2
00004e9a: DUP4
00004e9b: DUP12
00004e9c: PUSH2 0x5898
00004e9f: JUMP
00004ea0: JUMPDEST
00004ea1: ADD
00004ea2: DUP3
00004ea3: DUP2
00004ea4: SUB
00004ea5: PUSH1 0x60
00004ea7: DUP5
00004ea8: ADD
00004ea9: MSTORE
00004eaa: PUSH2 0x4eb3
00004ead: DUP2
00004eae: DUP8
00004eaf: PUSH2 0x4caa
00004eb2: JUMP
00004eb3: JUMPDEST
00004eb4: SWAP1
00004eb5: POP
00004eb6: DUP3
00004eb7: DUP2
00004eb8: SUB
00004eb9: PUSH1 0x80
00004ebb: DUP5
00004ebc: ADD
00004ebd: MSTORE
00004ebe: PUSH2 0x4ec8
00004ec1: DUP2
00004ec2: DUP6
00004ec3: DUP8
00004ec4: PUSH2 0x4ce4
00004ec7: JUMP
00004ec8: JUMPDEST
00004ec9: SWAP12
00004eca: SWAP11
00004ecb: POP
00004ecc: POP
00004ecd: POP
00004ece: POP
00004ecf: POP
00004ed0: POP
00004ed1: POP
00004ed2: POP
00004ed3: POP
00004ed4: POP
00004ed5: POP
00004ed6: JUMP
00004ed7: JUMPDEST
00004ed8: PUSH1 0x00
00004eda: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004eef: DUP1
00004ef0: DUP10
00004ef1: AND
00004ef2: DUP4
00004ef3: MSTORE
00004ef4: DUP1
00004ef5: DUP9
00004ef6: AND
00004ef7: PUSH1 0x20
00004ef9: DUP5
00004efa: ADD
00004efb: MSTORE
00004efc: POP
00004efd: DUP6
00004efe: PUSH1 0x40
00004f00: DUP4
00004f01: ADD
00004f02: MSTORE
00004f03: DUP5
00004f04: PUSH1 0x60
00004f06: DUP4
00004f07: ADD
00004f08: MSTORE
00004f09: PUSH1 0xa0
00004f0b: PUSH1 0x80
00004f0d: DUP4
00004f0e: ADD
00004f0f: MSTORE
00004f10: PUSH2 0x4f1d
00004f13: PUSH1 0xa0
00004f15: DUP4
00004f16: ADD
00004f17: DUP5
00004f18: DUP7
00004f19: PUSH2 0x4ce4
00004f1c: JUMP
00004f1d: JUMPDEST
00004f1e: SWAP9
00004f1f: SWAP8
00004f20: POP
00004f21: POP
00004f22: POP
00004f23: POP
00004f24: POP
00004f25: POP
00004f26: POP
00004f27: POP
00004f28: JUMP
00004f29: JUMPDEST
00004f2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004f3f: SWAP4
00004f40: DUP5
00004f41: AND
00004f42: DUP2
00004f43: MSTORE
00004f44: SWAP2
00004f45: SWAP1
00004f46: SWAP3
00004f47: AND
00004f48: PUSH1 0x20
00004f4a: DUP3
00004f4b: ADD
00004f4c: MSTORE
00004f4d: PUSH1 0x40
00004f4f: DUP2
00004f50: ADD
00004f51: SWAP2
00004f52: SWAP1
00004f53: SWAP2
00004f54: MSTORE
00004f55: PUSH1 0x60
00004f57: ADD
00004f58: SWAP1
00004f59: JUMP
00004f5a: JUMPDEST
00004f5b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004f70: SWAP8
00004f71: DUP9
00004f72: AND
00004f73: DUP2
00004f74: MSTORE
00004f75: SWAP6
00004f76: SWAP1
00004f77: SWAP7
00004f78: AND
00004f79: PUSH1 0x20
00004f7b: DUP7
00004f7c: ADD
00004f7d: MSTORE
00004f7e: PUSH1 0x40
00004f80: DUP6
00004f81: ADD
00004f82: SWAP4
00004f83: SWAP1
00004f84: SWAP4
00004f85: MSTORE
00004f86: PUSH1 0x60
00004f88: DUP5
00004f89: ADD
00004f8a: SWAP2
00004f8b: SWAP1
00004f8c: SWAP2
00004f8d: MSTORE
00004f8e: PUSH1 0xff
00004f90: AND
00004f91: PUSH1 0x80
00004f93: DUP4
00004f94: ADD
00004f95: MSTORE
00004f96: PUSH1 0xa0
00004f98: DUP3
00004f99: ADD
00004f9a: MSTORE
00004f9b: PUSH1 0xc0
00004f9d: DUP2
00004f9e: ADD
00004f9f: SWAP2
00004fa0: SWAP1
00004fa1: SWAP2
00004fa2: MSTORE
00004fa3: PUSH1 0xe0
00004fa5: ADD
00004fa6: SWAP1
00004fa7: JUMP
00004fa8: JUMPDEST
00004fa9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00004fbe: SWAP3
00004fbf: SWAP1
00004fc0: SWAP3
00004fc1: AND
00004fc2: DUP3
00004fc3: MSTORE
00004fc4: PUSH1 0x20
00004fc6: DUP3
00004fc7: ADD
00004fc8: MSTORE
00004fc9: PUSH1 0x40
00004fcb: ADD
00004fcc: SWAP1
00004fcd: JUMP
00004fce: JUMPDEST
00004fcf: PUSH1 0x40
00004fd1: DUP1
00004fd2: DUP3
00004fd3: MSTORE
00004fd4: DUP4
00004fd5: MLOAD
00004fd6: SWAP1
00004fd7: DUP3
00004fd8: ADD
00004fd9: DUP2
00004fda: SWAP1
00004fdb: MSTORE
00004fdc: PUSH1 0x00
00004fde: SWAP1
00004fdf: PUSH1 0x20
00004fe1: SWAP1
00004fe2: PUSH1 0x60
00004fe4: DUP5
00004fe5: ADD
00004fe6: SWAP1
00004fe7: DUP3
00004fe8: DUP8
00004fe9: ADD
00004fea: DUP5
00004feb: JUMPDEST
00004fec: DUP3
00004fed: DUP2
00004fee: LT
00004fef: ISZERO
00004ff0: PUSH2 0x5009
00004ff3: JUMPI
00004ff4: DUP2
00004ff5: MLOAD
00004ff6: ISZERO
00004ff7: ISZERO
00004ff8: DUP5
00004ff9: MSTORE
00004ffa: SWAP3
00004ffb: DUP5
00004ffc: ADD
00004ffd: SWAP3
00004ffe: SWAP1
00004fff: DUP5
00005000: ADD
00005001: SWAP1
00005002: PUSH1 0x01
00005004: ADD
00005005: PUSH2 0x4feb
00005008: JUMP
00005009: JUMPDEST
0000500a: POP
0000500b: POP
0000500c: POP
0000500d: DUP4
0000500e: DUP2
0000500f: SUB
00005010: DUP3
00005011: DUP6
00005012: ADD
00005013: MSTORE
00005014: DUP1
00005015: DUP6
00005016: MLOAD
00005017: PUSH2 0x5020
0000501a: DUP2
0000501b: DUP5
0000501c: PUSH2 0x5073
0000501f: JUMP
00005020: JUMPDEST
00005021: SWAP2
00005022: POP
00005023: DUP2
00005024: SWAP3
00005025: POP
00005026: DUP4
00005027: DUP2
00005028: MUL
00005029: DUP3
0000502a: ADD
0000502b: DUP5
0000502c: DUP9
0000502d: ADD
0000502e: DUP7
0000502f: JUMPDEST
00005030: DUP4
00005031: DUP2
00005032: LT
00005033: ISZERO
00005034: PUSH2 0x5059
00005037: JUMPI
00005038: DUP6
00005039: DUP4
0000503a: SUB
0000503b: DUP6
0000503c: MSTORE
0000503d: PUSH2 0x5047
00005040: DUP4
00005041: DUP4
00005042: MLOAD
00005043: PUSH2 0x4d2c
00005046: JUMP
00005047: JUMPDEST
00005048: SWAP5
00005049: DUP8
0000504a: ADD
0000504b: SWAP5
0000504c: SWAP3
0000504d: POP
0000504e: SWAP1
0000504f: DUP7
00005050: ADD
00005051: SWAP1
00005052: PUSH1 0x01
00005054: ADD
00005055: PUSH2 0x502f
00005058: JUMP
00005059: JUMPDEST
0000505a: POP
0000505b: SWAP1
0000505c: SWAP10
0000505d: SWAP9
0000505e: POP
0000505f: POP
00005060: POP
00005061: POP
00005062: POP
00005063: POP
00005064: POP
00005065: POP
00005066: POP
00005067: JUMP
00005068: JUMPDEST
00005069: SWAP1
0000506a: ISZERO
0000506b: ISZERO
0000506c: DUP2
0000506d: MSTORE
0000506e: PUSH1 0x20
00005070: ADD
00005071: SWAP1
00005072: JUMP
00005073: JUMPDEST
00005074: SWAP1
00005075: DUP2
00005076: MSTORE
00005077: PUSH1 0x20
00005079: ADD
0000507a: SWAP1
0000507b: JUMP
0000507c: JUMPDEST
0000507d: SWAP6
0000507e: DUP7
0000507f: MSTORE
00005080: PUSH1 0x20
00005082: DUP7
00005083: ADD
00005084: SWAP5
00005085: SWAP1
00005086: SWAP5
00005087: MSTORE
00005088: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000509d: SWAP3
0000509e: DUP4
0000509f: AND
000050a0: PUSH1 0x40
000050a2: DUP7
000050a3: ADD
000050a4: MSTORE
000050a5: SWAP2
000050a6: AND
000050a7: PUSH1 0x60
000050a9: DUP5
000050aa: ADD
000050ab: MSTORE
000050ac: ISZERO
000050ad: ISZERO
000050ae: PUSH1 0x80
000050b0: DUP4
000050b1: ADD
000050b2: MSTORE
000050b3: PUSH1 0xa0
000050b5: DUP3
000050b6: ADD
000050b7: MSTORE
000050b8: PUSH1 0xc0
000050ba: ADD
000050bb: SWAP1
000050bc: JUMP
000050bd: JUMPDEST
000050be: SWAP4
000050bf: DUP5
000050c0: MSTORE
000050c1: PUSH1 0x20
000050c3: DUP5
000050c4: ADD
000050c5: SWAP3
000050c6: SWAP1
000050c7: SWAP3
000050c8: MSTORE
000050c9: PUSH1 0x40
000050cb: DUP4
000050cc: ADD
000050cd: MSTORE
000050ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000050e3: AND
000050e4: PUSH1 0x60
000050e6: DUP3
000050e7: ADD
000050e8: MSTORE
000050e9: PUSH1 0x80
000050eb: ADD
000050ec: SWAP1
000050ed: JUMP
000050ee: JUMPDEST
000050ef: SWAP4
000050f0: DUP5
000050f1: MSTORE
000050f2: PUSH1 0xff
000050f4: SWAP3
000050f5: SWAP1
000050f6: SWAP3
000050f7: AND
000050f8: PUSH1 0x20
000050fa: DUP5
000050fb: ADD
000050fc: MSTORE
000050fd: PUSH1 0x40
000050ff: DUP4
00005100: ADD
00005101: MSTORE
00005102: PUSH1 0x60
00005104: DUP3
00005105: ADD
00005106: MSTORE
00005107: PUSH1 0x80
00005109: ADD
0000510a: SWAP1
0000510b: JUMP
0000510c: JUMPDEST
0000510d: PUSH1 0x00
0000510f: PUSH1 0x20
00005111: DUP3
00005112: MSTORE
00005113: PUSH2 0x17cc
00005116: PUSH1 0x20
00005118: DUP4
00005119: ADD
0000511a: DUP5
0000511b: DUP7
0000511c: PUSH2 0x4ce4
0000511f: JUMP
00005120: JUMPDEST
00005121: PUSH1 0x00
00005123: PUSH1 0x20
00005125: DUP3
00005126: MSTORE
00005127: PUSH2 0x3d42
0000512a: PUSH1 0x20
0000512c: DUP4
0000512d: ADD
0000512e: DUP5
0000512f: PUSH2 0x4d2c
00005132: JUMP
00005133: JUMPDEST
00005134: PUSH1 0x20
00005136: DUP1
00005137: DUP3
00005138: MSTORE
00005139: PUSH1 0x15
0000513b: SWAP1
0000513c: DUP3
0000513d: ADD
0000513e: MSTORE
0000513f: PUSH32 0x426f72696e674d6174683a20556e646572666c6f770000000000000000000000
00005160: PUSH1 0x40
00005162: DUP3
00005163: ADD
00005164: MSTORE
00005165: PUSH1 0x60
00005167: ADD
00005168: SWAP1
00005169: JUMP
0000516a: JUMPDEST
0000516b: PUSH1 0x20
0000516d: DUP1
0000516e: DUP3
0000516f: MSTORE
00005170: PUSH1 0x17
00005172: SWAP1
00005173: DUP3
00005174: ADD
00005175: MSTORE
00005176: PUSH32 0x42656e746f426f783a20536b696d20746f6f206d756368000000000000000000
00005197: PUSH1 0x40
00005199: DUP3
0000519a: ADD
0000519b: MSTORE
0000519c: PUSH1 0x60
0000519e: ADD
0000519f: SWAP1
000051a0: JUMP
000051a1: JUMPDEST
000051a2: PUSH1 0x20
000051a4: DUP1
000051a5: DUP3
000051a6: MSTORE
000051a7: PUSH1 0x1c
000051a9: SWAP1
000051aa: DUP3
000051ab: ADD
000051ac: MSTORE
000051ad: PUSH32 0x4d6173746572434d67723a2043616e6e6f7420617070726f7665203000000000
000051ce: PUSH1 0x40
000051d0: DUP3
000051d1: ADD
000051d2: MSTORE
000051d3: PUSH1 0x60
000051d5: ADD
000051d6: SWAP1
000051d7: JUMP
000051d8: JUMPDEST
000051d9: PUSH1 0x20
000051db: DUP1
000051dc: DUP3
000051dd: MSTORE
000051de: PUSH1 0x1b
000051e0: SWAP1
000051e1: DUP3
000051e2: ADD
000051e3: MSTORE
000051e4: PUSH32 0x4d6173746572434d67723a2075736572206e6f742073656e6465720000000000
00005205: PUSH1 0x40
00005207: DUP3
00005208: ADD
00005209: MSTORE
0000520a: PUSH1 0x60
0000520c: ADD
0000520d: SWAP1
0000520e: JUMP
0000520f: JUMPDEST
00005210: PUSH1 0x20
00005212: DUP1
00005213: DUP3
00005214: MSTORE
00005215: PUSH1 0x1c
00005217: SWAP1
00005218: DUP3
00005219: ADD
0000521a: MSTORE
0000521b: PUSH32 0x426f72696e6745524332303a205472616e73666572206661696c656400000000
0000523c: PUSH1 0x40
0000523e: DUP3
0000523f: ADD
00005240: MSTORE
00005241: PUSH1 0x60
00005243: ADD
00005244: SWAP1
00005245: JUMP
00005246: JUMPDEST
00005247: PUSH1 0x20
00005249: DUP1
0000524a: DUP3
0000524b: MSTORE
0000524c: PUSH1 0x16
0000524e: SWAP1
0000524f: DUP3
00005250: ADD
00005251: MSTORE
00005252: PUSH32 0x42656e746f426f783a2063616e6e6f7420656d70747900000000000000000000
00005273: PUSH1 0x40
00005275: DUP3
00005276: ADD
00005277: MSTORE
00005278: PUSH1 0x60
0000527a: ADD
0000527b: SWAP1
0000527c: JUMP
0000527d: JUMPDEST
0000527e: PUSH1 0x20
00005280: DUP1
00005281: DUP3
00005282: MSTORE
00005283: PUSH1 0x15
00005285: SWAP1
00005286: DUP3
00005287: ADD
00005288: MSTORE
00005289: PUSH32 0x4f776e61626c653a207a65726f20616464726573730000000000000000000000
000052aa: PUSH1 0x40
000052ac: DUP3
000052ad: ADD
000052ae: MSTORE
000052af: PUSH1 0x60
000052b1: ADD
000052b2: SWAP1
000052b3: JUMP
000052b4: JUMPDEST
000052b5: PUSH1 0x20
000052b7: DUP1
000052b8: DUP3
000052b9: MSTORE
000052ba: PUSH1 0x13
000052bc: SWAP1
000052bd: DUP3
000052be: ADD
000052bf: MSTORE
000052c0: PUSH32 0x42656e746f426f783a204e6f20746f6b656e7300000000000000000000000000
000052e1: PUSH1 0x40
000052e3: DUP3
000052e4: ADD
000052e5: MSTORE
000052e6: PUSH1 0x60
000052e8: ADD
000052e9: SWAP1
000052ea: JUMP
000052eb: JUMPDEST
000052ec: PUSH1 0x20
000052ee: DUP1
000052ef: DUP3
000052f0: MSTORE
000052f1: PUSH1 0x1c
000052f3: SWAP1
000052f4: DUP3
000052f5: ADD
000052f6: MSTORE
000052f7: PUSH32 0x426f72696e674d6174683a2075696e74313238204f766572666c6f7700000000
00005318: PUSH1 0x40
0000531a: DUP3
0000531b: ADD
0000531c: MSTORE
0000531d: PUSH1 0x60
0000531f: ADD
00005320: SWAP1
00005321: JUMP
00005322: JUMPDEST
00005323: PUSH1 0x20
00005325: DUP1
00005326: DUP3
00005327: MSTORE
00005328: PUSH1 0x18
0000532a: SWAP1
0000532b: DUP3
0000532c: ADD
0000532d: MSTORE
0000532e: PUSH32 0x426f72696e674d6174683a20416464204f766572666c6f770000000000000000
0000534f: PUSH1 0x40
00005351: DUP3
00005352: ADD
00005353: MSTORE
00005354: PUSH1 0x60
00005356: ADD
00005357: SWAP1
00005358: JUMP
00005359: JUMPDEST
0000535a: PUSH1 0x20
0000535c: DUP1
0000535d: DUP3
0000535e: MSTORE
0000535f: PUSH1 0x17
00005361: SWAP1
00005362: DUP3
00005363: ADD
00005364: MSTORE
00005365: PUSH32 0x42656e746f426f783a20746f5b305d206e6f7420736574000000000000000000
00005386: PUSH1 0x40
00005388: DUP3
00005389: ADD
0000538a: MSTORE
0000538b: PUSH1 0x60
0000538d: ADD
0000538e: SWAP1
0000538f: JUMP
00005390: JUMPDEST
00005391: PUSH1 0x20
00005393: DUP1
00005394: DUP3
00005395: MSTORE
00005396: PUSH1 0x14
00005398: SWAP1
00005399: DUP3
0000539a: ADD
0000539b: MSTORE
0000539c: PUSH32 0x42656e746f426f783a20746f206e6f7420736574000000000000000000000000
000053bd: PUSH1 0x40
000053bf: DUP3
000053c0: ADD
000053c1: MSTORE
000053c2: PUSH1 0x60
000053c4: ADD
000053c5: SWAP1
000053c6: JUMP
000053c7: JUMPDEST
000053c8: PUSH1 0x20
000053ca: DUP1
000053cb: DUP3
000053cc: MSTORE
000053cd: PUSH1 0x1a
000053cf: SWAP1
000053d0: DUP3
000053d1: ADD
000053d2: MSTORE
000053d3: PUSH32 0x53747261746567794d616e616765723a20546f6f206561726c79000000000000
000053f4: PUSH1 0x40
000053f6: DUP3
000053f7: ADD
000053f8: MSTORE
000053f9: PUSH1 0x60
000053fb: ADD
000053fc: SWAP1
000053fd: JUMP
000053fe: JUMPDEST
000053ff: PUSH1 0x20
00005401: DUP1
00005402: DUP3
00005403: MSTORE
00005404: DUP2
00005405: DUP2
00005406: ADD
00005407: MSTORE
00005408: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572
00005429: PUSH1 0x40
0000542b: DUP3
0000542c: ADD
0000542d: MSTORE
0000542e: PUSH1 0x60
00005430: ADD
00005431: SWAP1
00005432: JUMP
00005433: JUMPDEST
00005434: PUSH1 0x20
00005436: DUP1
00005437: DUP3
00005438: MSTORE
00005439: PUSH1 0x1f
0000543b: SWAP1
0000543c: DUP3
0000543d: ADD
0000543e: MSTORE
0000543f: PUSH32 0x42656e746f426f783a205472616e73666572206e6f7420617070726f76656400
00005460: PUSH1 0x40
00005462: DUP3
00005463: ADD
00005464: MSTORE
00005465: PUSH1 0x60
00005467: ADD
00005468: SWAP1
00005469: JUMP
0000546a: JUMPDEST
0000546b: PUSH1 0x20
0000546d: DUP1
0000546e: DUP3
0000546f: MSTORE
00005470: DUP2
00005471: DUP2
00005472: ADD
00005473: MSTORE
00005474: PUSH32 0x4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572
00005495: PUSH1 0x40
00005497: DUP3
00005498: ADD
00005499: MSTORE
0000549a: PUSH1 0x60
0000549c: ADD
0000549d: SWAP1
0000549e: JUMP
0000549f: JUMPDEST
000054a0: PUSH1 0x20
000054a2: DUP1
000054a3: DUP3
000054a4: MSTORE
000054a5: PUSH1 0x1b
000054a7: SWAP1
000054a8: DUP3
000054a9: ADD
000054aa: MSTORE
000054ab: PUSH32 0x426f72696e674d6174683a2075696e743634204f766572666c6f770000000000
000054cc: PUSH1 0x40
000054ce: DUP3
000054cf: ADD
000054d0: MSTORE
000054d1: PUSH1 0x60
000054d3: ADD
000054d4: SWAP1
000054d5: JUMP
000054d6: JUMPDEST
000054d7: PUSH1 0x20
000054d9: DUP1
000054da: DUP3
000054db: MSTORE
000054dc: PUSH1 0x19
000054de: SWAP1
000054df: DUP3
000054e0: ADD
000054e1: MSTORE
000054e2: PUSH32 0x4d6173746572434d67723a207573657220697320636c6f6e6500000000000000
00005503: PUSH1 0x40
00005505: DUP3
00005506: ADD
00005507: MSTORE
00005508: PUSH1 0x60
0000550a: ADD
0000550b: SWAP1
0000550c: JUMP
0000550d: JUMPDEST
0000550e: PUSH1 0x20
00005510: DUP1
00005511: DUP3
00005512: MSTORE
00005513: PUSH1 0x1d
00005515: SWAP1
00005516: DUP3
00005517: ADD
00005518: MSTORE
00005519: PUSH32 0x4d6173746572434d67723a20496e76616c6964205369676e6174757265000000
0000553a: PUSH1 0x40
0000553c: DUP3
0000553d: ADD
0000553e: MSTORE
0000553f: PUSH1 0x60
00005541: ADD
00005542: SWAP1
00005543: JUMP
00005544: JUMPDEST
00005545: PUSH1 0x20
00005547: DUP1
00005548: DUP3
00005549: MSTORE
0000554a: DUP2
0000554b: DUP2
0000554c: ADD
0000554d: MSTORE
0000554e: PUSH32 0x426f72696e67466163746f72793a204e6f206d6173746572436f6e7472616374
0000556f: PUSH1 0x40
00005571: DUP3
00005572: ADD
00005573: MSTORE
00005574: PUSH1 0x60
00005576: ADD
00005577: SWAP1
00005578: JUMP
00005579: JUMPDEST
0000557a: PUSH1 0x20
0000557c: DUP1
0000557d: DUP3
0000557e: MSTORE
0000557f: PUSH1 0x1b
00005581: SWAP1
00005582: DUP3
00005583: ADD
00005584: MSTORE
00005585: PUSH32 0x4d6173746572434d67723a206d617374657243206e6f74207365740000000000
000055a6: PUSH1 0x40
000055a8: DUP3
000055a9: ADD
000055aa: MSTORE
000055ab: PUSH1 0x60
000055ad: ADD
000055ae: SWAP1
000055af: JUMP
000055b0: JUMPDEST
000055b1: PUSH1 0x20
000055b3: DUP1
000055b4: DUP3
000055b5: MSTORE
000055b6: PUSH1 0x1b
000055b8: SWAP1
000055b9: DUP3
000055ba: ADD
000055bb: MSTORE
000055bc: PUSH32 0x42656e746f426f783a206e6f206d6173746572436f6e74726163740000000000
000055dd: PUSH1 0x40
000055df: DUP3
000055e0: ADD
000055e1: MSTORE
000055e2: PUSH1 0x60
000055e4: ADD
000055e5: SWAP1
000055e6: JUMP
000055e7: JUMPDEST
000055e8: PUSH1 0x20
000055ea: DUP1
000055eb: DUP3
000055ec: MSTORE
000055ed: DUP2
000055ee: DUP2
000055ef: ADD
000055f0: MSTORE
000055f1: PUSH32 0x426f72696e6745524332303a205472616e7366657246726f6d206661696c6564
00005612: PUSH1 0x40
00005614: DUP3
00005615: ADD
00005616: MSTORE
00005617: PUSH1 0x60
00005619: ADD
0000561a: SWAP1
0000561b: JUMP
0000561c: JUMPDEST
0000561d: PUSH1 0x20
0000561f: DUP1
00005620: DUP3
00005621: MSTORE
00005622: PUSH1 0x1c
00005624: SWAP1
00005625: DUP3
00005626: ADD
00005627: MSTORE
00005628: PUSH32 0x4d6173746572434d67723a20557365722063616e6e6f74206265203000000000
00005649: PUSH1 0x40
0000564b: DUP3
0000564c: ADD
0000564d: MSTORE
0000564e: PUSH1 0x60
00005650: ADD
00005651: SWAP1
00005652: JUMP
00005653: JUMPDEST
00005654: PUSH1 0x20
00005656: DUP1
00005657: DUP3
00005658: MSTORE
00005659: PUSH1 0x16
0000565b: SWAP1
0000565c: DUP3
0000565d: ADD
0000565e: MSTORE
0000565f: PUSH32 0x42656e746f426f783a2057726f6e6720616d6f756e7400000000000000000000
00005680: PUSH1 0x40
00005682: DUP3
00005683: ADD
00005684: MSTORE
00005685: PUSH1 0x60
00005687: ADD
00005688: SWAP1
00005689: JUMP
0000568a: JUMPDEST
0000568b: PUSH1 0x20
0000568d: DUP1
0000568e: DUP3
0000568f: MSTORE
00005690: PUSH1 0x1b
00005692: SWAP1
00005693: DUP3
00005694: ADD
00005695: MSTORE
00005696: PUSH32 0x4d6173746572434d67723a206e6f742077686974656c69737465640000000000
000056b7: PUSH1 0x40
000056b9: DUP3
000056ba: ADD
000056bb: MSTORE
000056bc: PUSH1 0x60
000056be: ADD
000056bf: SWAP1
000056c0: JUMP
000056c1: JUMPDEST
000056c2: PUSH1 0x20
000056c4: DUP1
000056c5: DUP3
000056c6: MSTORE
000056c7: PUSH1 0x1d
000056c9: SWAP1
000056ca: DUP3
000056cb: ADD
000056cc: MSTORE
000056cd: PUSH32 0x42656e746f426f783a20455448207472616e73666572206661696c6564000000
000056ee: PUSH1 0x40
000056f0: DUP3
000056f1: ADD
000056f2: MSTORE
000056f3: PUSH1 0x60
000056f5: ADD
000056f6: SWAP1
000056f7: JUMP
000056f8: JUMPDEST
000056f9: PUSH1 0x20
000056fb: DUP1
000056fc: DUP3
000056fd: MSTORE
000056fe: PUSH1 0x18
00005700: SWAP1
00005701: DUP3
00005702: ADD
00005703: MSTORE
00005704: PUSH32 0x426f72696e674d6174683a204d756c204f766572666c6f770000000000000000
00005725: PUSH1 0x40
00005727: DUP3
00005728: ADD
00005729: MSTORE
0000572a: PUSH1 0x60
0000572c: ADD
0000572d: SWAP1
0000572e: JUMP
0000572f: JUMPDEST
00005730: PUSH1 0x20
00005732: DUP1
00005733: DUP3
00005734: MSTORE
00005735: DUP2
00005736: DUP2
00005737: ADD
00005738: MSTORE
00005739: PUSH32 0x53747261746567794d616e616765723a2054617267657420746f6f2068696768
0000575a: PUSH1 0x40
0000575c: DUP3
0000575d: ADD
0000575e: MSTORE
0000575f: PUSH1 0x60
00005761: ADD
00005762: SWAP1
00005763: JUMP
00005764: JUMPDEST
00005765: PUSH16 0xffffffffffffffffffffffffffffffff
00005776: SWAP2
00005777: SWAP1
00005778: SWAP2
00005779: AND
0000577a: DUP2
0000577b: MSTORE
0000577c: PUSH1 0x20
0000577e: ADD
0000577f: SWAP1
00005780: JUMP
00005781: JUMPDEST
00005782: PUSH16 0xffffffffffffffffffffffffffffffff
00005793: SWAP3
00005794: SWAP1
00005795: SWAP3
00005796: AND
00005797: DUP3
00005798: MSTORE
00005799: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000057ae: AND
000057af: PUSH1 0x20
000057b1: DUP3
000057b2: ADD
000057b3: MSTORE
000057b4: PUSH1 0x40
000057b6: ADD
000057b7: SWAP1
000057b8: JUMP
000057b9: JUMPDEST
000057ba: PUSH16 0xffffffffffffffffffffffffffffffff
000057cb: SWAP3
000057cc: DUP4
000057cd: AND
000057ce: DUP2
000057cf: MSTORE
000057d0: SWAP2
000057d1: AND
000057d2: PUSH1 0x20
000057d4: DUP3
000057d5: ADD
000057d6: MSTORE
000057d7: PUSH1 0x40
000057d9: ADD
000057da: SWAP1
000057db: JUMP
000057dc: JUMPDEST
000057dd: SWAP2
000057de: DUP3
000057df: MSTORE
000057e0: PUSH1 0x20
000057e2: DUP3
000057e3: ADD
000057e4: MSTORE
000057e5: PUSH1 0x40
000057e7: ADD
000057e8: SWAP1
000057e9: JUMP
000057ea: JUMPDEST
000057eb: PUSH8 0xffffffffffffffff
000057f4: SWAP2
000057f5: SWAP1
000057f6: SWAP2
000057f7: AND
000057f8: DUP2
000057f9: MSTORE
000057fa: PUSH1 0x20
000057fc: ADD
000057fd: SWAP1
000057fe: JUMP
000057ff: JUMPDEST
00005800: PUSH8 0xffffffffffffffff
00005809: SWAP4
0000580a: DUP5
0000580b: AND
0000580c: DUP2
0000580d: MSTORE
0000580e: SWAP2
0000580f: SWAP1
00005810: SWAP3
00005811: AND
00005812: PUSH1 0x20
00005814: DUP3
00005815: ADD
00005816: MSTORE
00005817: PUSH16 0xffffffffffffffffffffffffffffffff
00005828: SWAP1
00005829: SWAP2
0000582a: AND
0000582b: PUSH1 0x40
0000582d: DUP3
0000582e: ADD
0000582f: MSTORE
00005830: PUSH1 0x60
00005832: ADD
00005833: SWAP1
00005834: JUMP
00005835: JUMPDEST
00005836: PUSH1 0x00
00005838: DUP1
00005839: DUP4
0000583a: CALLDATALOAD
0000583b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1
0000585c: DUP5
0000585d: CALLDATASIZE
0000585e: SUB
0000585f: ADD
00005860: DUP2
00005861: SLT
00005862: PUSH2 0x5869
00005865: JUMPI
00005866: DUP3
00005867: DUP4
00005868: REVERT
00005869: JUMPDEST
0000586a: DUP4
0000586b: ADD
0000586c: DUP1
0000586d: CALLDATALOAD
0000586e: SWAP2
0000586f: POP
00005870: PUSH8 0xffffffffffffffff
00005879: DUP3
0000587a: GT
0000587b: ISZERO
0000587c: PUSH2 0x5883
0000587f: JUMPI
00005880: DUP3
00005881: DUP4
00005882: REVERT
00005883: JUMPDEST
00005884: PUSH1 0x20
00005886: ADD
00005887: SWAP2
00005888: POP
00005889: CALLDATASIZE
0000588a: DUP2
0000588b: SWAP1
0000588c: SUB
0000588d: DUP3
0000588e: SGT
0000588f: ISZERO
00005890: PUSH2 0x4592
00005893: JUMPI
00005894: PUSH1 0x00
00005896: DUP1
00005897: REVERT
00005898: JUMPDEST
00005899: DUP3
0000589a: DUP2
0000589b: DUP4
0000589c: CALLDATACOPY
0000589d: POP
0000589e: PUSH1 0x00
000058a0: SWAP2
000058a1: ADD
000058a2: MSTORE
000058a3: JUMP
000058a4: JUMPDEST
000058a5: PUSH1 0x00
000058a7: JUMPDEST
000058a8: DUP4
000058a9: DUP2
000058aa: LT
000058ab: ISZERO
000058ac: PUSH2 0x58bf
000058af: JUMPI
000058b0: DUP2
000058b1: DUP2
000058b2: ADD
000058b3: MLOAD
000058b4: DUP4
000058b5: DUP3
000058b6: ADD
000058b7: MSTORE
000058b8: PUSH1 0x20
000058ba: ADD
000058bb: PUSH2 0x58a7
000058be: JUMP
000058bf: JUMPDEST
000058c0: DUP4
000058c1: DUP2
000058c2: GT
000058c3: ISZERO
000058c4: PUSH2 0x58ce
000058c7: JUMPI
000058c8: PUSH1 0x00
000058ca: DUP5
000058cb: DUP5
000058cc: ADD
000058cd: MSTORE
000058ce: JUMPDEST
000058cf: POP
000058d0: POP
000058d1: POP
000058d2: POP
000058d3: JUMP
000058d4: JUMPDEST
000058d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000058ea: DUP2
000058eb: AND
000058ec: DUP2
000058ed: EQ
000058ee: PUSH2 0x58f6
000058f1: JUMPI
000058f2: PUSH1 0x00
000058f4: DUP1
000058f5: REVERT
000058f6: JUMPDEST
000058f7: POP
000058f8: JUMP
000058f9: JUMPDEST
000058fa: DUP1
000058fb: ISZERO
000058fc: ISZERO
000058fd: DUP2
000058fe: EQ
000058ff: PUSH2 0x58f6
00005902: JUMPI
00005903: PUSH1 0x00
00005905: DUP1
00005906: REVERT
00005907: INVALID
00005908: LOG2
00005909: PUSH5 0x6970667358
0000590f: UNKNOWN(0x22)
00005910: SLT
00005911: KECCAK256
00005912: PUSH26 0xeb387224e15cae6a9a744ed9b348260a7e9d2e37cd991b32f36c
0000592d: PUSH12 0x93b4808b64736f6c63430006
0000593a: UNKNOWN(0x0C)
0000593b: STOP
0000593c: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x0d203983d464d8cd2c2e851379d1c6de9a01a4f9f8e11701e263ef2630fe0f84
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x0d203983d464d8cd2c2e851379d1c6de9a01a4f9f8e11701e263ef2630fe0f84",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf1676d37",
            "selector": "0xf1676d37",
            "calldata_variants": [
                "0xf1676d37",
                "0xf1676d370000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf18d03cc",
            "selector": "0xf18d03cc",
            "calldata_variants": [
                "0xf18d03cc",
                "0xf18d03cc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf483b3da",
            "selector": "0xf483b3da",
            "calldata_variants": [
                "0xf483b3da",
                "0xf483b3da0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7888aec",
            "selector": "0xf7888aec",
            "calldata_variants": [
                "0xf7888aec",
                "0xf7888aec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd2423b51",
            "selector": "0xd2423b51",
            "calldata_variants": [
                "0xd2423b51",
                "0xd2423b510000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda5139ca",
            "selector": "0xda5139ca",
            "calldata_variants": [
                "0xda5139ca",
                "0xda5139ca0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf23b45b",
            "selector": "0xdf23b45b",
            "calldata_variants": [
                "0xdf23b45b",
                "0xdf23b45b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe30c3978",
            "selector": "0xe30c3978",
            "calldata_variants": [
                "0xe30c3978",
                "0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 13119,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 1,
    "untrusted_delegatecall_count": 1
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x12ef5864552555b9f5acc52f7deb20f081259e1591e6b0e0d81186ca6a66ddf5
call_targets: 0xf5bce5077908a1b7370b9ae04adc565ebd643966
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x12ef5864552555b9f5acc52f7deb20f081259e1591e6b0e0d81186ca6a66ddf5",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf5bce5077908a1b7370b9ae04adc565ebd643966"
    ],
    "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": "0xf1676d37",
            "selector": "0xf1676d37",
            "calldata_variants": [
                "0xf1676d37",
                "0xf1676d370000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf18d03cc",
            "selector": "0xf18d03cc",
            "calldata_variants": [
                "0xf18d03cc",
                "0xf18d03cc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf483b3da",
            "selector": "0xf483b3da",
            "calldata_variants": [
                "0xf483b3da",
                "0xf483b3da0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7888aec",
            "selector": "0xf7888aec",
            "calldata_variants": [
                "0xf7888aec",
                "0xf7888aec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd2423b51",
            "selector": "0xd2423b51",
            "calldata_variants": [
                "0xd2423b51",
                "0xd2423b510000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda5139ca",
            "selector": "0xda5139ca",
            "calldata_variants": [
                "0xda5139ca",
                "0xda5139ca0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf23b45b",
            "selector": "0xdf23b45b",
            "calldata_variants": [
                "0xdf23b45b",
                "0xdf23b45b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe30c3978",
            "selector": "0xe30c3978",
            "calldata_variants": [
                "0xe30c3978",
                "0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2976,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5073,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6344,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 13,
    "guards_detected": [],
    "untrusted_call_count": 13
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x12ef5864552555b9f5acc52f7deb20f081259e1591e6b0e0d81186ca6a66ddf5
call_targets: 0xf5bce5077908a1b7370b9ae04adc565ebd643966
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x12ef5864552555b9f5acc52f7deb20f081259e1591e6b0e0d81186ca6a66ddf5",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf5bce5077908a1b7370b9ae04adc565ebd643966"
    ],
    "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": "0xf1676d37",
            "selector": "0xf1676d37",
            "calldata_variants": [
                "0xf1676d37",
                "0xf1676d370000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf18d03cc",
            "selector": "0xf18d03cc",
            "calldata_variants": [
                "0xf18d03cc",
                "0xf18d03cc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf483b3da",
            "selector": "0xf483b3da",
            "calldata_variants": [
                "0xf483b3da",
                "0xf483b3da0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7888aec",
            "selector": "0xf7888aec",
            "calldata_variants": [
                "0xf7888aec",
                "0xf7888aec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd2423b51",
            "selector": "0xd2423b51",
            "calldata_variants": [
                "0xd2423b51",
                "0xd2423b510000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda5139ca",
            "selector": "0xda5139ca",
            "calldata_variants": [
                "0xda5139ca",
                "0xda5139ca0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf23b45b",
            "selector": "0xdf23b45b",
            "calldata_variants": [
                "0xdf23b45b",
                "0xdf23b45b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe30c3978",
            "selector": "0xe30c3978",
            "calldata_variants": [
                "0xe30c3978",
                "0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2976,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 5073,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6344,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 13,
    "guards_detected": []
}
medium math codex Fee-on-transfer/rebasing tokens break share accounting 75 no
view
evidence_json
{
    "evidence": "`deposit()` updates `total.elastic` using the user-supplied `amount` before calling `token.safeTransferFrom` and never reconciles the actual received amount; `withdraw()` likewise debits totals based on `amount` without accounting for transfer fees.",
    "locations": [
        "contracts/Contract.sol:803",
        "contracts/Contract.sol:866"
    ],
    "recommendation": "Calculate deposits based on actual balance delta (pre/post `transferFrom`) and update totals with the real received amount. Consider enforcing a token allowlist or explicit checks to reject rebasing/fee-on-transfer tokens, or document and prevent their use at the integration layer.",
    "exploit_scenario": "An attacker deposits a deflationary or rebasing token. The vault credits shares based on the requested `amount`, but the actual received balance is lower (fee-on-transfer) or later changes (rebases). The attacker can then withdraw based on inflated shares, draining other depositors of the same token or causing insolvency for that token pool."
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 1
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0xcb5b649d9cc0f824bb774086b0ebaf6fe2992ce88647e1e5243a7e6726f0bf0b
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0xcb5b649d9cc0f824bb774086b0ebaf6fe2992ce88647e1e5243a7e6726f0bf0b",
    "confirmed": false,
    "trace_mode": "structLogs",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf1676d37",
            "selector": "0xf1676d37",
            "calldata_variants": [
                "0xf1676d37",
                "0xf1676d370000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf18d03cc",
            "selector": "0xf18d03cc",
            "calldata_variants": [
                "0xf18d03cc",
                "0xf18d03cc0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf483b3da",
            "selector": "0xf483b3da",
            "calldata_variants": [
                "0xf483b3da",
                "0xf483b3da0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7888aec",
            "selector": "0xf7888aec",
            "calldata_variants": [
                "0xf7888aec",
                "0xf7888aec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd2423b51",
            "selector": "0xd2423b51",
            "calldata_variants": [
                "0xd2423b51",
                "0xd2423b510000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xda5139ca",
            "selector": "0xda5139ca",
            "calldata_variants": [
                "0xda5139ca",
                "0xda5139ca0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdf23b45b",
            "selector": "0xdf23b45b",
            "calldata_variants": [
                "0xdf23b45b",
                "0xdf23b45b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe30c3978",
            "selector": "0xe30c3978",
            "calldata_variants": [
                "0xe30c3978",
                "0xe30c39780000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 1,
    "create2_count": 1
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 1,
    "create2_count": 1
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 16
}
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": 12
}