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

Analysis Run

2e4ab9d0-0558-46fd-8907-47cce41a791e

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

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30483 report.consolidate complete 1 / 1 3 months ago
103757 artifact.fetch complete 1 / 3 1 week ago
103758 tool.cast_disasm complete 1 / 3 1 week ago
103759 analysis.bundle complete 1 / 3 1 week ago
103760 capability.graph complete 1 / 3 1 week ago
103761 detector.run complete 1 / 3 1 week ago
103762 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
Identified 1 accounting/invariant issue: ERC20 transfer-in assumes full amounts received, which breaks accounting with fee-on-transfer/deflationary tokens.
View stderr
[codex:491187] OpenAI Codex v0.77.0 (research preview)
[codex:491187] --------
[codex:491187] workdir: /tmp/codex-multi-9sqbrubg
[codex:491187] model: gpt-5.2-codex
[codex:491187] provider: openai
[codex:491187] approval: never
[codex:491187] sandbox: read-only
[codex:491187] reasoning effort: xhigh
[codex:491187] reasoning summaries: auto
[codex:491187] session id: 019b6a27-8438-7633-a966-cdce117eb974
[codex:491187] --------
[codex:491187] user
[codex:491187] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:491187] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:491187] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:491187] 
[codex:491187] Scope rules:
[codex:491187] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:491187] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:491187] 
[codex:491187] Output MUST be valid JSON matching the provided schema.
[codex:491187] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:491187] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:491187] 
[codex:491187] Output constraints (IMPORTANT):
[codex:491187] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:491187] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:491187] mcp startup: no servers
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Reading AUDIT_BUNDLE.txt file**
[codex:491187] exec
[codex:491187] /bin/bash -lc ls in /tmp/codex-multi-9sqbrubg succeeded in 5ms:
[codex:491187] AUDIT_BUNDLE.txt
[codex:491187] codex-output-schema.json
[codex:491187] contracts
[codex:491187] exec
[codex:491187] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:491187] 
[codex:491187] ================================================================================
[codex:491187] FILE: contracts/Contract.sol
[codex:491187] ================================================================================
[codex:491187] /**
[codex:491187]  *Submitted for verification at Etherscan.io on 2019-05-07
[codex:491187] */
[codex:491187] 
[codex:491187] // File: contracts/ComptrollerInterface.sol
[codex:491187] 
[codex:491187] pragma solidity ^0.5.8;
[codex:491187] 
[codex:491187] interface ComptrollerInterface {
[codex:491187]     /**
[codex:491187]      * @notice Marker function used for light validation when updating the comptroller of a market
[codex:491187]      * @dev Implementations should simply return true.
[codex:491187]      * @return true
[codex:491187]      */
[codex:491187]     function isComptroller() external view returns (bool);
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Preparing to fully analyze large audit bundle**
[codex:491187] 
[codex:491187] I’m making sure to read the entire AUDIT_BUNDLE.txt without missing anything, since the tool output was truncated. I plan to systematically search and parse the complete file—using line counts, sed excerpts, and ripgrep—to identify contract boundaries and focus on key vulnerability patterns like reentrancy and access control. This looks like Compound-style code, so I want to verify each segment carefully.
[codex:491187] exec
[codex:491187] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9sqbrubg succeeded in 7ms:
[codex:491187] 4:FILE: contracts/Contract.sol
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Planning contract file inspection**
[codex:491187] exec
[codex:491187] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9sqbrubg succeeded in 7ms:
[codex:491187] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:491187] 
[codex:491187] ================================================================================
[codex:491187] FILE: contracts/Contract.sol
[codex:491187] ================================================================================
[codex:491187] /**
[codex:491187]  *Submitted for verification at Etherscan.io on 2019-05-07
[codex:491187] */
[codex:491187] 
[codex:491187] // File: contracts/ComptrollerInterface.sol
[codex:491187] 
[codex:491187] pragma solidity ^0.5.8;
[codex:491187] 
[codex:491187] interface ComptrollerInterface {
[codex:491187]     /**
[codex:491187]      * @notice Marker function used for light validation when updating the comptroller of a market
[codex:491187]      * @dev Implementations should simply return true.
[codex:491187]      * @return true
[codex:491187]      */
[codex:491187]     function isComptroller() external view returns (bool);
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Searching for reentrancy protections**
[codex:491187] exec
[codex:491187] /bin/bash -lc 'rg -n "nonReentrant|reentr" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187] 744: * @title Helps contracts guard against reentrancy attacks.
[codex:491187] 746: * @dev If you mark a function `nonReentrant`, you should also
[codex:491187] 761:     * Calling a `nonReentrant` function from another `nonReentrant`
[codex:491187] 763:     * by making the `nonReentrant` function external, and make it call a
[codex:491187] 766:    modifier nonReentrant() {
[codex:491187] 1116:    function transfer(address dst, uint256 amount) external nonReentrant returns (bool) {
[codex:491187] 1127:    function transferFrom(address src, address dst, uint256 amount) external nonReentrant returns (bool) {
[codex:491187] 1256:    function totalBorrowsCurrent() external nonReentrant returns (uint) {
[codex:491187] 1266:    function borrowBalanceCurrent(address account) external nonReentrant returns (uint) {
[codex:491187] 1323:    function exchangeRateCurrent() public nonReentrant returns (uint) {
[codex:491187] 1475:    function mintInternal(uint mintAmount) internal nonReentrant returns (uint) {
[codex:491187] 1586:    function redeemInternal(uint redeemTokens) internal nonReentrant returns (uint) {
[codex:491187] 1602:    function redeemUnderlyingInternal(uint redeemAmount) internal nonReentrant returns (uint) {
[codex:491187] 1733:    function borrowInternal(uint borrowAmount) internal nonReentrant returns (uint) {
[codex:491187] 1828:    function repayBorrowInternal(uint repayAmount) internal nonReentrant returns (uint) {
[codex:491187] 1844:    function repayBorrowBehalfInternal(address borrower, uint repayAmount) internal nonReentrant returns (uint) {
[codex:491187] 1958:    function liquidateBorrowInternal(address borrower, uint repayAmount, CToken cTokenCollateral) internal nonReentrant returns (uint) {
[codex:491187] 2055:    function seize(address liquidator, address borrower, uint seizeTokens) external nonReentrant returns (uint) {
[codex:491187] 2188:    function _setReserveFactor(uint newReserveFactorMantissa) external nonReentrant returns (uint) {
[codex:491187] 2233:    function _reduceReserves(uint reduceAmount) external nonReentrant returns (uint) {
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Checking for delegatecall vulnerabilities**
[codex:491187] exec
[codex:491187] /bin/bash -lc 'rg -n "delegatecall|delegate" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9sqbrubg exited 1 in 6ms:
[codex:491187] 
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Checking for proxy or implementation patterns**
[codex:491187] exec
[codex:491187] /bin/bash -lc 'rg -n "implement|proxy|delegate" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9sqbrubg succeeded in 7ms:
[codex:491187] 782:  * @dev These functions are specifically not marked `pure` as implementations of this
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Inspecting reentrancy guard and potential vulnerabilities**
[codex:491187] exec
[codex:491187] /bin/bash -lc "sed -n '700,900p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9sqbrubg succeeded in 5ms:
[codex:491187]       */
[codex:491187]     function transfer(address dst, uint256 amount) external;
[codex:491187] 
[codex:491187]     ///
[codex:491187]     /// !!!!!!!!!!!!!!
[codex:491187]     /// !!! NOTICE !!! `transferFrom` does not return a value, in violation of the ERC-20 specification
[codex:491187]     /// !!!!!!!!!!!!!!
[codex:491187]     ///
[codex:491187] 
[codex:491187]     /**
[codex:491187]       * @notice Transfer `amount` tokens from `src` to `dst`
[codex:491187]       * @param src The address of the source account
[codex:491187]       * @param dst The address of the destination account
[codex:491187]       * @param amount The number of tokens to transfer
[codex:491187]       */
[codex:491187]     function transferFrom(address src, address dst, uint256 amount) external;
[codex:491187] 
[codex:491187]     /**
[codex:491187]       * @notice Approve `spender` to transfer up to `amount` from `src`
[codex:491187]       * @dev This will overwrite the approval amount for `spender`
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Analyzing token transfer vulnerabilities**
[codex:491187] exec
[codex:491187] /bin/bash -lc 'rg -n "doTransferIn|doTransferOut" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187] 1555:         * We call doTransferIn for the minter and the mintAmount
[codex:491187] 1558:         *  If doTransferIn fails despite the fact we checked pre-conditions,
[codex:491187] 1561:        vars.err = doTransferIn(minter, mintAmount);
[codex:491187] 1705:         * We invoke doTransferOut for the redeemer and the redeemAmount.
[codex:491187] 1708:         *  If doTransferOut fails despite the fact we checked pre-conditions,
[codex:491187] 1711:        vars.err = doTransferOut(redeemer, vars.redeemAmount);
[codex:491187] 1800:         * We invoke doTransferOut for the borrower and the borrowAmount.
[codex:491187] 1803:         *  If doTransferOut fails despite the fact we checked pre-conditions,
[codex:491187] 1806:        vars.err = doTransferOut(borrower, borrowAmount);
[codex:491187] 1927:         * We call doTransferIn for the payer and the repayAmount
[codex:491187] 1930:         *  If doTransferIn fails despite the fact we checked pre-conditions,
[codex:491187] 1933:        vars.err = doTransferIn(payer, vars.repayAmount);
[codex:491187] 2287:        // invoke doTransferOut(reduceAmount, admin)
[codex:491187] 2288:        err = doTransferOut(admin, reduceAmount);
[codex:491187] 2370:    function doTransferIn(address from, uint amount) internal returns (Error);
[codex:491187] 2377:    function doTransferOut(address payable to, uint amount) internal returns (Error);
[codex:491187] 2531:    function doTransferIn(address from, uint amount) internal returns (Error) {
[codex:491187] 2568:    function doTransferOut(address payable to, uint amount) internal returns (Error) {
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Inspecting mintFresh function**
[codex:491187] exec
[codex:491187] /bin/bash -lc "sed -n '1480,1680p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187]         }
[codex:491187]         // mintFresh emits the actual Mint event if successful and logs on errors, so we don't need to
[codex:491187]         return mintFresh(msg.sender, mintAmount);
[codex:491187]     }
[codex:491187] 
[codex:491187]     struct MintLocalVars {
[codex:491187]         Error err;
[codex:491187]         MathError mathErr;
[codex:491187]         uint exchangeRateMantissa;
[codex:491187]         uint mintTokens;
[codex:491187]         uint totalSupplyNew;
[codex:491187]         uint accountTokensNew;
[codex:491187]     }
[codex:491187] 
[codex:491187]     /**
[codex:491187]      * @notice User supplies assets into the market and receives cTokens in exchange
[codex:491187]      * @dev Assumes interest has already been accrued up to the current block
[codex:491187]      * @param minter The address of the account which is supplying the assets
[codex:491187]      * @param mintAmount The amount of the underlying asset to supply
[codex:491187]      * @return uint 0=success, otherwise a failure (see ErrorReporter.sol for details)
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Examining token transfer and reentrancy risks**
[codex:491187] exec
[codex:491187] /bin/bash -lc 'rg -n "CEther|Ether" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187] 7: *Submitted for verification at Etherscan.io on 2019-05-07
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Investigating CEther absence and signature validations**
[codex:491187] exec
[codex:491187] /bin/bash -lc 'rg -n "signature|sig|permit|ecrecover|nonce" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9sqbrubg succeeded in 7ms:
[codex:491187] 185:     *       This is because FailureInfo grows significantly faster, and
[codex:491187] 454:     * @dev Multiply an Exp by a scalar, then truncate to return an unsigned integer.
[codex:491187] 466:     * @dev Multiply an Exp by a scalar, truncate, then add an to an unsigned integer, returning an unsigned integer.
[codex:491187] 510:     * @dev Divide a scalar by an Exp, then truncate to return an unsigned integer.
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Searching for PriceOracle references**
[codex:491187] exec
[codex:491187] /bin/bash -lc 'rg -n "Oracle|Price" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9sqbrubg exited 1 in 6ms:
[codex:491187] 
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Searching for Comptroller references**
[codex:491187] exec
[codex:491187] /bin/bash -lc 'rg -n "Comptroller" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187] 10:// File: contracts/ComptrollerInterface.sol
[codex:491187] 14:interface ComptrollerInterface {
[codex:491187] 20:    function isComptroller() external view returns (bool);
[codex:491187] 92:contract ComptrollerErrorReporter {
[codex:491187] 866:    ComptrollerInterface public comptroller;
[codex:491187] 982:    event NewComptroller(ComptrollerInterface oldComptroller, ComptrollerInterface newComptroller);
[codex:491187] 1002:     * @param comptroller_ The address of the Comptroller
[codex:491187] 1009:    constructor(ComptrollerInterface comptroller_,
[codex:491187] 1023:        uint err = _setComptroller(comptroller_);
[codex:491187] 2164:    function _setComptroller(ComptrollerInterface newComptroller) public returns (uint) {
[codex:491187] 2170:        ComptrollerInterface oldComptroller = comptroller;
[codex:491187] 2171:        // Ensure invoke comptroller.isComptroller() returns true
[codex:491187] 2172:        require(newComptroller.isComptroller(), "marker method returned false");
[codex:491187] 2174:        // Set market's comptroller to newComptroller
[codex:491187] 2175:        comptroller = newComptroller;
[codex:491187] 2177:        // Emit NewComptroller(oldComptroller, newComptroller)
[codex:491187] 2178:        emit NewComptroller(oldComptroller, newComptroller);
[codex:491187] 2400:     * @param comptroller_ The address of the Comptroller
[codex:491187] 2408:                ComptrollerInterface comptroller_,
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Analyzing admin function vulnerabilities**
[codex:491187] exec
[codex:491187] /bin/bash -lc 'rg -n "acceptAdmin|pendingAdmin|_setPendingAdmin" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187] 861:    address payable public pendingAdmin;
[codex:491187] 970:     * @notice Event emitted when pendingAdmin is changed
[codex:491187] 975:     * @notice Event emitted when pendingAdmin is accepted, which means admin is updated
[codex:491187] 2107:      * @notice Begins transfer of admin rights. The newPendingAdmin must call `_acceptAdmin` to finalize the transfer.
[codex:491187] 2108:      * @dev Admin function to begin change of admin. The newPendingAdmin must call `_acceptAdmin` to finalize the transfer.
[codex:491187] 2114:    function _setPendingAdmin(address payable newPendingAdmin) external returns (uint) {
[codex:491187] 2121:        address oldPendingAdmin = pendingAdmin;
[codex:491187] 2123:        // Store pendingAdmin with value newPendingAdmin
[codex:491187] 2124:        pendingAdmin = newPendingAdmin;
[codex:491187] 2133:      * @notice Accepts transfer of admin rights. msg.sender must be pendingAdmin
[codex:491187] 2137:    function _acceptAdmin() external returns (uint) {
[codex:491187] 2138:        // Check caller is pendingAdmin and pendingAdmin ≠ address(0)
[codex:491187] 2139:        if (msg.sender != pendingAdmin || msg.sender == address(0)) {
[codex:491187] 2145:        address oldPendingAdmin = pendingAdmin;
[codex:491187] 2147:        // Store admin with value pendingAdmin
[codex:491187] 2148:        admin = pendingAdmin;
[codex:491187] 2151:        pendingAdmin = address(0);
[codex:491187] 2154:        emit NewPendingAdmin(oldPendingAdmin, pendingAdmin);
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Reviewing _setPendingAdmin and _acceptAdmin functions**
[codex:491187] exec
[codex:491187] /bin/bash -lc "sed -n '2080,2160p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187] 
[codex:491187]         (mathErr, liquidatorTokensNew) = addUInt(accountTokens[liquidator], seizeTokens);
[codex:491187]         if (mathErr != MathError.NO_ERROR) {
[codex:491187]             return failOpaque(Error.MATH_ERROR, FailureInfo.LIQUIDATE_SEIZE_BALANCE_INCREMENT_FAILED, uint(mathErr));
[codex:491187]         }
[codex:491187] 
[codex:491187]         /////////////////////////
[codex:491187]         // EFFECTS & INTERACTIONS
[codex:491187]         // (No safe failures beyond this point)
[codex:491187] 
[codex:491187]         /* We write the previously calculated values into storage */
[codex:491187]         accountTokens[borrower] = borrowerTokensNew;
[codex:491187]         accountTokens[liquidator] = liquidatorTokensNew;
[codex:491187] 
[codex:491187]         /* Emit a Transfer event */
[codex:491187]         emit Transfer(borrower, liquidator, seizeTokens);
[codex:491187] 
[codex:491187]         /* We call the defense hook */
[codex:491187]         comptroller.seizeVerify(address(this), msg.sender, liquidator, borrower, seizeTokens);
[codex:491187] 
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Inspecting transfer functions in CToken**
[codex:491187] exec
[codex:491187] /bin/bash -lc "sed -n '1080,1180p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187]         if (mathErr != MathError.NO_ERROR) {
[codex:491187]             return fail(Error.MATH_ERROR, FailureInfo.TRANSFER_NOT_ENOUGH);
[codex:491187]         }
[codex:491187] 
[codex:491187]         (mathErr, dstTokensNew) = addUInt(accountTokens[dst], tokens);
[codex:491187]         if (mathErr != MathError.NO_ERROR) {
[codex:491187]             return fail(Error.MATH_ERROR, FailureInfo.TRANSFER_TOO_MUCH);
[codex:491187]         }
[codex:491187] 
[codex:491187]         /////////////////////////
[codex:491187]         // EFFECTS & INTERACTIONS
[codex:491187]         // (No safe failures beyond this point)
[codex:491187] 
[codex:491187]         accountTokens[src] = srcTokensNew;
[codex:491187]         accountTokens[dst] = dstTokensNew;
[codex:491187] 
[codex:491187]         /* Eat some of the allowance (if necessary) */
[codex:491187]         if (startingAllowance != uint(-1)) {
[codex:491187]             transferAllowances[src][spender] = allowanceNew;
[codex:491187]         }
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Verifying external calls ordering**
[codex:491187] exec
[codex:491187] /bin/bash -lc "sed -n '1720,1840p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9sqbrubg succeeded in 5ms:
[codex:491187]         emit Redeem(redeemer, vars.redeemAmount, vars.redeemTokens);
[codex:491187] 
[codex:491187]         /* We call the defense hook */
[codex:491187]         comptroller.redeemVerify(address(this), redeemer, vars.redeemAmount, vars.redeemTokens);
[codex:491187] 
[codex:491187]         return uint(Error.NO_ERROR);
[codex:491187]     }
[codex:491187] 
[codex:491187]     /**
[codex:491187]       * @notice Sender borrows assets from the protocol to their own address
[codex:491187]       * @param borrowAmount The amount of the underlying asset to borrow
[codex:491187]       * @return uint 0=success, otherwise a failure (see ErrorReporter.sol for details)
[codex:491187]       */
[codex:491187]     function borrowInternal(uint borrowAmount) internal nonReentrant returns (uint) {
[codex:491187]         uint error = accrueInterest();
[codex:491187]         if (error != uint(Error.NO_ERROR)) {
[codex:491187]             // accrueInterest emits logs on errors, but we still want to log the fact that an attempted borrow failed
[codex:491187]             return fail(Error(error), FailureInfo.BORROW_ACCRUE_INTEREST_FAILED);
[codex:491187]         }
[codex:491187]         // borrowFresh emits borrow-specific logs on errors, so we don't need to
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Analyzing transfer and reentrancy order**
[codex:491187] exec
[codex:491187] /bin/bash -lc "sed -n '1840,2005p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187]      * @param borrower the account with the debt being payed off
[codex:491187]      * @param repayAmount The amount to repay
[codex:491187]      * @return uint 0=success, otherwise a failure (see ErrorReporter.sol for details)
[codex:491187]      */
[codex:491187]     function repayBorrowBehalfInternal(address borrower, uint repayAmount) internal nonReentrant returns (uint) {
[codex:491187]         uint error = accrueInterest();
[codex:491187]         if (error != uint(Error.NO_ERROR)) {
[codex:491187]             // accrueInterest emits logs on errors, but we still want to log the fact that an attempted borrow failed
[codex:491187]             return fail(Error(error), FailureInfo.REPAY_BEHALF_ACCRUE_INTEREST_FAILED);
[codex:491187]         }
[codex:491187]         // repayBorrowFresh emits repay-borrow-specific logs on errors, so we don't need to
[codex:491187]         return repayBorrowFresh(msg.sender, borrower, repayAmount);
[codex:491187]     }
[codex:491187] 
[codex:491187]     struct RepayBorrowLocalVars {
[codex:491187]         Error err;
[codex:491187]         MathError mathErr;
[codex:491187]         uint repayAmount;
[codex:491187]         uint borrowerIndex;
[codex:491187]         uint accountBorrows;
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Ensuring liquidation uses seize and external calls**
[codex:491187] exec
[codex:491187] /bin/bash -lc "sed -n '2005,2105p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9sqbrubg succeeded in 5ms:
[codex:491187] 
[codex:491187]         /* Fail if repayAmount = 0 */
[codex:491187]         if (repayAmount == 0) {
[codex:491187]             return fail(Error.INVALID_CLOSE_AMOUNT_REQUESTED, FailureInfo.LIQUIDATE_CLOSE_AMOUNT_IS_ZERO);
[codex:491187]         }
[codex:491187] 
[codex:491187]         /* Fail if repayAmount = -1 */
[codex:491187]         if (repayAmount == uint(-1)) {
[codex:491187]             return fail(Error.INVALID_CLOSE_AMOUNT_REQUESTED, FailureInfo.LIQUIDATE_CLOSE_AMOUNT_IS_UINT_MAX);
[codex:491187]         }
[codex:491187] 
[codex:491187]         /* We calculate the number of collateral tokens that will be seized */
[codex:491187]         (uint amountSeizeError, uint seizeTokens) = comptroller.liquidateCalculateSeizeTokens(address(this), address(cTokenCollateral), repayAmount);
[codex:491187]         if (amountSeizeError != 0) {
[codex:491187]             return failOpaque(Error.COMPTROLLER_CALCULATION_ERROR, FailureInfo.LIQUIDATE_COMPTROLLER_CALCULATE_AMOUNT_SEIZE_FAILED, amountSeizeError);
[codex:491187]         }
[codex:491187] 
[codex:491187]         /* Fail if seizeTokens > borrower collateral token balance */
[codex:491187]         if (seizeTokens > cTokenCollateral.balanceOf(borrower)) {
[codex:491187]             return fail(Error.TOKEN_INSUFFICIENT_BALANCE, FailureInfo.LIQUIDATE_SEIZE_TOO_MUCH);
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Inspecting interest accrual logic**
[codex:491187] exec
[codex:491187] /bin/bash -lc 'rg -n "accrueInterest" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187] 1257:        require(accrueInterest() == uint(Error.NO_ERROR), "accrue interest failed");
[codex:491187] 1267:        require(accrueInterest() == uint(Error.NO_ERROR), "accrue interest failed");
[codex:491187] 1324:        require(accrueInterest() == uint(Error.NO_ERROR), "accrue interest failed");
[codex:491187] 1403:    function accrueInterest() public returns (uint) {
[codex:491187] 1476:        uint error = accrueInterest();
[codex:491187] 1478:            // accrueInterest emits logs on errors, but we still want to log the fact that an attempted borrow failed
[codex:491187] 1587:        uint error = accrueInterest();
[codex:491187] 1589:            // accrueInterest emits logs on errors, but we still want to log the fact that an attempted redeem failed
[codex:491187] 1603:        uint error = accrueInterest();
[codex:491187] 1605:            // accrueInterest emits logs on errors, but we still want to log the fact that an attempted redeem failed
[codex:491187] 1734:        uint error = accrueInterest();
[codex:491187] 1736:            // accrueInterest emits logs on errors, but we still want to log the fact that an attempted borrow failed
[codex:491187] 1829:        uint error = accrueInterest();
[codex:491187] 1831:            // accrueInterest emits logs on errors, but we still want to log the fact that an attempted borrow failed
[codex:491187] 1845:        uint error = accrueInterest();
[codex:491187] 1847:            // accrueInterest emits logs on errors, but we still want to log the fact that an attempted borrow failed
[codex:491187] 1959:        uint error = accrueInterest();
[codex:491187] 1961:            // accrueInterest emits logs on errors, but we still want to log the fact that an attempted liquidation failed
[codex:491187] 1965:        error = cTokenCollateral.accrueInterest();
[codex:491187] 1967:            // accrueInterest emits logs on errors, but we still want to log the fact that an attempted liquidation failed
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Inspecting accrueInterest function**
[codex:491187] exec
[codex:491187] /bin/bash -lc "sed -n '1360,1475p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187] 
[codex:491187]             (mathErr, cashPlusBorrowsMinusReserves) = addThenSubUInt(totalCash, totalBorrows, totalReserves);
[codex:491187]             if (mathErr != MathError.NO_ERROR) {
[codex:491187]                 return (mathErr, 0);
[codex:491187]             }
[codex:491187] 
[codex:491187]             (mathErr, exchangeRate) = getExp(cashPlusBorrowsMinusReserves, totalSupply);
[codex:491187]             if (mathErr != MathError.NO_ERROR) {
[codex:491187]                 return (mathErr, 0);
[codex:491187]             }
[codex:491187] 
[codex:491187]             return (MathError.NO_ERROR, exchangeRate.mantissa);
[codex:491187]         }
[codex:491187]     }
[codex:491187] 
[codex:491187]     /**
[codex:491187]      * @notice Get cash balance of this cToken in the underlying asset
[codex:491187]      * @return The quantity of underlying asset owned by this contract
[codex:491187]      */
[codex:491187]     function getCash() external view returns (uint) {
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Reviewing transferTokens and exchangeRateStoredInternal**
[codex:491187] exec
[codex:491187] /bin/bash -lc 'rg -n "exchangeRateStoredInternal" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187] 1196:        (mErr, exchangeRateMantissa) = exchangeRateStoredInternal();
[codex:491187] 1334:        (MathError err, uint result) = exchangeRateStoredInternal();
[codex:491187] 1335:        require(err == MathError.NO_ERROR, "exchangeRateStored: exchangeRateStoredInternal failed");
[codex:491187] 1344:    function exchangeRateStoredInternal() internal view returns (MathError, uint) {
[codex:491187] 1525:        (vars.mathErr, vars.exchangeRateMantissa) = exchangeRateStoredInternal();
[codex:491187] 1636:        (vars.mathErr, vars.exchangeRateMantissa) = exchangeRateStoredInternal();
[codex:491187] exec
[codex:491187] /bin/bash -lc "sed -n '1320,1365p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187]      * @notice Accrue interest then return the up-to-date exchange rate
[codex:491187]      * @return Calculated exchange rate scaled by 1e18
[codex:491187]      */
[codex:491187]     function exchangeRateCurrent() public nonReentrant returns (uint) {
[codex:491187]         require(accrueInterest() == uint(Error.NO_ERROR), "accrue interest failed");
[codex:491187]         return exchangeRateStored();
[codex:491187]     }
[codex:491187] 
[codex:491187]     /**
[codex:491187]      * @notice Calculates the exchange rate from the underlying to the CToken
[codex:491187]      * @dev This function does not accrue interest before calculating the exchange rate
[codex:491187]      * @return Calculated exchange rate scaled by 1e18
[codex:491187]      */
[codex:491187]     function exchangeRateStored() public view returns (uint) {
[codex:491187]         (MathError err, uint result) = exchangeRateStoredInternal();
[codex:491187]         require(err == MathError.NO_ERROR, "exchangeRateStored: exchangeRateStoredInternal failed");
[codex:491187]         return result;
[codex:491187]     }
[codex:491187] 
[codex:491187]     /**
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Analyzing potential reentrancy and admin risks**
[codex:491187] exec
[codex:491187] /bin/bash -lc "sed -n '1040,1105p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9sqbrubg succeeded in 5ms:
[codex:491187]      * @notice Transfer `tokens` tokens from `src` to `dst` by `spender`
[codex:491187]      * @dev Called by both `transfer` and `transferFrom` internally
[codex:491187]      * @param spender The address of the account performing the transfer
[codex:491187]      * @param src The address of the source account
[codex:491187]      * @param dst The address of the destination account
[codex:491187]      * @param tokens The number of tokens to transfer
[codex:491187]      * @return Whether or not the transfer succeeded
[codex:491187]      */
[codex:491187]     function transferTokens(address spender, address src, address dst, uint tokens) internal returns (uint) {
[codex:491187]         /* Fail if transfer not allowed */
[codex:491187]         uint allowed = comptroller.transferAllowed(address(this), src, dst, tokens);
[codex:491187]         if (allowed != 0) {
[codex:491187]             return failOpaque(Error.COMPTROLLER_REJECTION, FailureInfo.TRANSFER_COMPTROLLER_REJECTION, allowed);
[codex:491187]         }
[codex:491187] 
[codex:491187]         /* Do not allow self-transfers */
[codex:491187]         if (src == dst) {
[codex:491187]             return fail(Error.BAD_INPUT, FailureInfo.TRANSFER_NOT_ALLOWED);
[codex:491187]         }
[codex:491187] 
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Analyzing potential reentrancy and token transfer risks**
[codex:491187] exec
[codex:491187] /bin/bash -lc "sed -n '960,1045p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9sqbrubg succeeded in 5ms:
[codex:491187] 
[codex:491187]     /**
[codex:491187]      * @notice Event emitted when a borrow is liquidated
[codex:491187]      */
[codex:491187]     event LiquidateBorrow(address liquidator, address borrower, uint repayAmount, address cTokenCollateral, uint seizeTokens);
[codex:491187] 
[codex:491187] 
[codex:491187]     /*** Admin Events ***/
[codex:491187] 
[codex:491187]     /**
[codex:491187]      * @notice Event emitted when pendingAdmin is changed
[codex:491187]      */
[codex:491187]     event NewPendingAdmin(address oldPendingAdmin, address newPendingAdmin);
[codex:491187] 
[codex:491187]     /**
[codex:491187]      * @notice Event emitted when pendingAdmin is accepted, which means admin is updated
[codex:491187]      */
[codex:491187]     event NewAdmin(address oldAdmin, address newAdmin);
[codex:491187] 
[codex:491187]     /**
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Checking for getBlockNumber override**
[codex:491187] exec
[codex:491187] /bin/bash -lc 'rg -n "getBlockNumber" AUDIT_BUNDLE.txt' in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187] 1027:        accrualBlockNumber = getBlockNumber();
[codex:491187] 1208:    function getBlockNumber() internal view returns (uint) {
[codex:491187] 1414:        vars.currentBlockNumber = getBlockNumber();
[codex:491187] 1509:        if (accrualBlockNumber != getBlockNumber()) {
[codex:491187] 1676:        if (accrualBlockNumber != getBlockNumber()) {
[codex:491187] 1764:        if (accrualBlockNumber != getBlockNumber()) {
[codex:491187] 1879:        if (accrualBlockNumber != getBlockNumber()) {
[codex:491187] 1992:        if (accrualBlockNumber != getBlockNumber()) {
[codex:491187] 1997:        if (cTokenCollateral.accrualBlockNumber() != getBlockNumber()) {
[codex:491187] 2210:        if (accrualBlockNumber != getBlockNumber()) {
[codex:491187] 2260:        if (accrualBlockNumber != getBlockNumber()) {
[codex:491187] 2330:        if (accrualBlockNumber != getBlockNumber()) {
[codex:491187] exec
[codex:491187] /bin/bash -lc "sed -n '1180,1235p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9sqbrubg succeeded in 5ms:
[codex:491187]      * @dev This is used by comptroller to more efficiently perform liquidity checks.
[codex:491187]      * @param account Address of the account to snapshot
[codex:491187]      * @return (possible error, token balance, borrow balance, exchange rate mantissa)
[codex:491187]      */
[codex:491187]     function getAccountSnapshot(address account) external view returns (uint, uint, uint, uint) {
[codex:491187]         uint cTokenBalance = accountTokens[account];
[codex:491187]         uint borrowBalance;
[codex:491187]         uint exchangeRateMantissa;
[codex:491187] 
[codex:491187]         MathError mErr;
[codex:491187] 
[codex:491187]         (mErr, borrowBalance) = borrowBalanceStoredInternal(account);
[codex:491187]         if (mErr != MathError.NO_ERROR) {
[codex:491187]             return (uint(Error.MATH_ERROR), 0, 0, 0);
[codex:491187]         }
[codex:491187] 
[codex:491187]         (mErr, exchangeRateMantissa) = exchangeRateStoredInternal();
[codex:491187]         if (mErr != MathError.NO_ERROR) {
[codex:491187]             return (uint(Error.MATH_ERROR), 0, 0, 0);
[codex:491187]         }
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Analyzing reentrancy and access control implications**
[codex:491187] 
[codex:491187] I’m tracing how the ReentrancyGuard’s post-exit check allows some reentrant execution but ultimately reverts state if violated, so it seems safe barring unusual side effects like selfdestruct. I’m also inspecting public but unchecked functions like `_setInterestRateModel` and the impact of external calls—especially to underlying token’s `balanceOf`—which could reenter during interest accrual, potentially causing state inconsistencies though guarded indirectly during typical flows. There’s a subtle interplay of external calls, reentrancy guards, and nonreverted error returns in token transfers worth deeper review.
[codex:491187] exec
[codex:491187] /bin/bash -lc "sed -n '1660,1725p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9sqbrubg succeeded in 5ms:
[codex:491187] 
[codex:491187]             (vars.mathErr, vars.redeemTokens) = divScalarByExpTruncate(redeemAmountIn, Exp({mantissa: vars.exchangeRateMantissa}));
[codex:491187]             if (vars.mathErr != MathError.NO_ERROR) {
[codex:491187]                 return failOpaque(Error.MATH_ERROR, FailureInfo.REDEEM_EXCHANGE_AMOUNT_CALCULATION_FAILED, uint(vars.mathErr));
[codex:491187]             }
[codex:491187] 
[codex:491187]             vars.redeemAmount = redeemAmountIn;
[codex:491187]         }
[codex:491187] 
[codex:491187]         /* Fail if redeem not allowed */
[codex:491187]         uint allowed = comptroller.redeemAllowed(address(this), redeemer, vars.redeemTokens);
[codex:491187]         if (allowed != 0) {
[codex:491187]             return failOpaque(Error.COMPTROLLER_REJECTION, FailureInfo.REDEEM_COMPTROLLER_REJECTION, allowed);
[codex:491187]         }
[codex:491187] 
[codex:491187]         /* Verify market's block number equals current block number */
[codex:491187]         if (accrualBlockNumber != getBlockNumber()) {
[codex:491187]             return fail(Error.MARKET_NOT_FRESH, FailureInfo.REDEEM_FRESHNESS_CHECK);
[codex:491187]         }
[codex:491187] 
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Analyzing potential vulnerabilities and code behaviors**
[codex:491187] 
[codex:491187] I'm reviewing transfer mechanisms, interest accrual logic, and external call safety to find vulnerabilities like unchecked errors or reentrancy risks. I'm also checking token interface compliance and admin controls to assess if issues like DoS or unexpected reverts could arise, while considering if state updates and external calls pose real exploit paths.
[codex:491187] exec
[codex:491187] /bin/bash -lc 'rg -n "borrowBalanceStoredInternal" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187] 1191:        (mErr, borrowBalance) = borrowBalanceStoredInternal(account);
[codex:491187] 1277:        (MathError err, uint result) = borrowBalanceStoredInternal(account);
[codex:491187] 1278:        require(err == MathError.NO_ERROR, "borrowBalanceStored: borrowBalanceStoredInternal failed");
[codex:491187] 1287:    function borrowBalanceStoredInternal(address account) internal view returns (MathError, uint) {
[codex:491187] 1780:        (vars.mathErr, vars.accountBorrows) = borrowBalanceStoredInternal(borrower);
[codex:491187] 1889:        (vars.mathErr, vars.accountBorrows) = borrowBalanceStoredInternal(borrower);
[codex:491187] exec
[codex:491187] /bin/bash -lc "sed -n '1240,1315p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187]         (MathError e2, Exp memory borrowsPer) = divScalarByExp(totalBorrows, underlying);
[codex:491187]         require(e2 == MathError.NO_ERROR, "supplyRatePerBlock: calculating borrowsPer failed");
[codex:491187] 
[codex:491187]         (MathError e3, Exp memory oneMinusReserveFactor) = subExp(Exp({mantissa: mantissaOne}), Exp({mantissa: reserveFactorMantissa}));
[codex:491187]         require(e3 == MathError.NO_ERROR, "supplyRatePerBlock: calculating oneMinusReserveFactor failed");
[codex:491187] 
[codex:491187]         (MathError e4, Exp memory supplyRate) = mulExp3(Exp({mantissa: borrowRateMantissa}), oneMinusReserveFactor, borrowsPer);
[codex:491187]         require(e4 == MathError.NO_ERROR, "supplyRatePerBlock: calculating supplyRate failed");
[codex:491187] 
[codex:491187]         return supplyRate.mantissa;
[codex:491187]     }
[codex:491187] 
[codex:491187]     /**
[codex:491187]      * @notice Returns the current total borrows plus accrued interest
[codex:491187]      * @return The total borrows with interest
[codex:491187]      */
[codex:491187]     function totalBorrowsCurrent() external nonReentrant returns (uint) {
[codex:491187]         require(accrueInterest() == uint(Error.NO_ERROR), "accrue interest failed");
[codex:491187]         return totalBorrows;
[codex:491187]     }
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Analyzing potential vulnerabilities and accounting issues**
[codex:491187] exec
[codex:491187] /bin/bash -lc "nl -ba AUDIT_BUNDLE.txt | sed -n '1500,1615p'" in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187]   1500	     */
[codex:491187]   1501	    function mintFresh(address minter, uint mintAmount) internal returns (uint) {
[codex:491187]   1502	        /* Fail if mint not allowed */
[codex:491187]   1503	        uint allowed = comptroller.mintAllowed(address(this), minter, mintAmount);
[codex:491187]   1504	        if (allowed != 0) {
[codex:491187]   1505	            return failOpaque(Error.COMPTROLLER_REJECTION, FailureInfo.MINT_COMPTROLLER_REJECTION, allowed);
[codex:491187]   1506	        }
[codex:491187]   1507	
[codex:491187]   1508	        /* Verify market's block number equals current block number */
[codex:491187]   1509	        if (accrualBlockNumber != getBlockNumber()) {
[codex:491187]   1510	            return fail(Error.MARKET_NOT_FRESH, FailureInfo.MINT_FRESHNESS_CHECK);
[codex:491187]   1511	        }
[codex:491187]   1512	
[codex:491187]   1513	        MintLocalVars memory vars;
[codex:491187]   1514	
[codex:491187]   1515	        /* Fail if checkTransferIn fails */
[codex:491187]   1516	        vars.err = checkTransferIn(minter, mintAmount);
[codex:491187]   1517	        if (vars.err != Error.NO_ERROR) {
[codex:491187]   1518	            return fail(vars.err, FailureInfo.MINT_TRANSFER_IN_NOT_POSSIBLE);
[codex:491187]   1519	        }
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Finding line numbers for doTransferIn**
[codex:491187] exec
[codex:491187] /bin/bash -lc "nl -ba AUDIT_BUNDLE.txt | sed -n '2485,2595p'" in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187]   2485	     * @param repayAmount The amount of the underlying borrowed asset to repay
[codex:491187]   2486	     * @return uint 0=success, otherwise a failure (see ErrorReporter.sol for details)
[codex:491187]   2487	     */
[codex:491187]   2488	    function liquidateBorrow(address borrower, uint repayAmount, CToken cTokenCollateral) external returns (uint) {
[codex:491187]   2489	        return liquidateBorrowInternal(borrower, repayAmount, cTokenCollateral);
[codex:491187]   2490	    }
[codex:491187]   2491	
[codex:491187]   2492	    /*** Safe Token ***/
[codex:491187]   2493	
[codex:491187]   2494	    /**
[codex:491187]   2495	     * @notice Gets balance of this contract in terms of the underlying
[codex:491187]   2496	     * @dev This excludes the value of the current message, if any
[codex:491187]   2497	     * @return The quantity of underlying tokens owned by this contract
[codex:491187]   2498	     */
[codex:491187]   2499	    function getCashPrior() internal view returns (uint) {
[codex:491187]   2500	        EIP20Interface token = EIP20Interface(underlying);
[codex:491187]   2501	        return token.balanceOf(address(this));
[codex:491187]   2502	    }
[codex:491187]   2503	
[codex:491187]   2504	    /**
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Analyzing token transfer and interest accrual risks**
[codex:491187] exec
[codex:491187] /bin/bash -lc 'tail -n 200 AUDIT_BUNDLE.txt' in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187]     /**
[codex:491187]      * @notice Construct a new money market
[codex:491187]      * @param underlying_ The address of the underlying asset
[codex:491187]      * @param comptroller_ The address of the Comptroller
[codex:491187]      * @param interestRateModel_ The address of the interest rate model
[codex:491187]      * @param initialExchangeRateMantissa_ The initial exchange rate, scaled by 1e18
[codex:491187]      * @param name_ ERC-20 name of this token
[codex:491187]      * @param symbol_ ERC-20 symbol of this token
[codex:491187]      * @param decimals_ ERC-20 decimal precision of this token
[codex:491187]      */
[codex:491187]     constructor(address underlying_,
[codex:491187]                 ComptrollerInterface comptroller_,
[codex:491187]                 InterestRateModel interestRateModel_,
[codex:491187]                 uint initialExchangeRateMantissa_,
[codex:491187]                 string memory name_,
[codex:491187]                 string memory symbol_,
[codex:491187]                 uint decimals_) public
[codex:491187]     CToken(comptroller_, interestRateModel_, initialExchangeRateMantissa_, name_, symbol_, decimals_) {
[codex:491187]         // Set underlying
[codex:491187]         underlying = underlying_;
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Evaluating Solidity audit findings**
[codex:491187] 
[codex:491187] I’m reasoning through whether to report a vulnerability related to fee-on-transfer tokens causing accounting mismatches and potential protocol reserve loss; weighing severity as low to medium since it depends on token configuration. I’m also considering confirmed protections like nonReentrant guards, unchecked return handling, and typical Compound issues to decide what meaningful findings to present within valid JSON output constraints.
[codex:491187] exec
[codex:491187] /bin/bash -lc "nl -ba AUDIT_BUNDLE.txt | sed -n '1860,1945p'" in /tmp/codex-multi-9sqbrubg succeeded in 6ms:
[codex:491187]   1860	        uint accountBorrowsNew;
[codex:491187]   1861	        uint totalBorrowsNew;
[codex:491187]   1862	    }
[codex:491187]   1863	
[codex:491187]   1864	    /**
[codex:491187]   1865	     * @notice Borrows are repaid by another user (possibly the borrower).
[codex:491187]   1866	     * @param payer the account paying off the borrow
[codex:491187]   1867	     * @param borrower the account with the debt being payed off
[codex:491187]   1868	     * @param repayAmount the amount of undelrying tokens being returned
[codex:491187]   1869	     * @return uint 0=success, otherwise a failure (see ErrorReporter.sol for details)
[codex:491187]   1870	     */
[codex:491187]   1871	    function repayBorrowFresh(address payer, address borrower, uint repayAmount) internal returns (uint) {
[codex:491187]   1872	        /* Fail if repayBorrow not allowed */
[codex:491187]   1873	        uint allowed = comptroller.repayBorrowAllowed(address(this), payer, borrower, repayAmount);
[codex:491187]   1874	        if (allowed != 0) {
[codex:491187]   1875	            return failOpaque(Error.COMPTROLLER_REJECTION, FailureInfo.REPAY_BORROW_COMPTROLLER_REJECTION, allowed);
[codex:491187]   1876	        }
[codex:491187]   1877	
[codex:491187]   1878	        /* Verify market's block number equals current block number */
[codex:491187]   1879	        if (accrualBlockNumber != getBlockNumber()) {
[codex:491187] 
[codex:491187] thinking
[codex:491187] **Drafting vulnerability report JSON**
[codex:491187] codex
[codex:491187] {"no_findings":false,"summary":"Identified 1 accounting/invariant issue: ERC20 transfer-in assumes full amounts received, which breaks accounting with fee-on-transfer/deflationary tokens.","findings":[{"severity":"medium","category":"other","title":"Transfer-in accounting assumes full amounts received (fee-on-transfer tokens break invariants)","exploit_scenario":"If the underlying token charges a transfer fee or is deflationary, `doTransferIn` can succeed even when the contract receives fewer tokens than `mintAmount`/`repayAmount`. A borrower can have their debt reduced by the nominal amount while the protocol receives less, creating a shortfall. If the fee is routed to an attacker-controlled address, they can effectively underpay while capturing the fee, leading to protocol losses and potential insolvency over time.","recommendation":"Use balance-delta accounting for transfer-ins (track token balance before/after and use the actual received amount for minting and debt reduction). Alternatively, explicitly block fee-on-transfer/deflationary tokens via whitelisting and enforce standard ERC20 behavior.","evidence":"`mintFresh` and `repayBorrowFresh` compute mint/repay amounts from user input and then call `doTransferIn`, which only checks the return value and not the actual received amount; no balance-delta accounting is performed.","locations":["contracts/Contract.sol:1501","contracts/Contract.sol:1561","contracts/Contract.sol:1871","contracts/Contract.sol:1933","contracts/Contract.sol:2531"]}]}
[codex:491187] tokens used
[codex:491187] 78,274
[codex:491187] {"no_findings":false,"summary":"Identified 1 accounting/invariant issue: ERC20 transfer-in assumes full amounts received, which breaks accounting with fee-on-transfer/deflationary tokens.","findings":[{"severity":"medium","category":"other","title":"Transfer-in accounting assumes full amounts received (fee-on-transfer tokens break invariants)","exploit_scenario":"If the underlying token charges a transfer fee or is deflationary, `doTransferIn` can succeed even when the contract receives fewer tokens than `mintAmount`/`repayAmount`. A borrower can have their debt reduced by the nominal amount while the protocol receives less, creating a shortfall. If the fee is routed to an attacker-controlled address, they can effectively underpay while capturing the fee, leading to protocol losses and potential insolvency over time.","recommendation":"Use balance-delta accounting for transfer-ins (track token balance before/after and use the actual received amount for minting and debt reduction). Alternatively, explicitly block fee-on-transfer/deflationary tokens via whitelisting and enforce standard ERC20 behavior.","evidence":"`mintFresh` and `repayBorrowFresh` compute mint/repay amounts from user input and then call `doTransferIn`, which only checks the return value and not the actual received amount; no balance-delta accounting is performed.","locations":["contracts/Contract.sol:1501","contracts/Contract.sol:1561","contracts/Contract.sol:1871","contracts/Contract.sol:1933","contracts/Contract.sol:2531"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-29T12:56:08.139558+00:00",
        "returncode": 0
    },
    "summary": "Identified 1 accounting/invariant issue: ERC20 transfer-in assumes full amounts received, which breaks accounting with fee-on-transfer/deflationary tokens.",
    "raw_final": {
        "summary": "Identified 1 accounting/invariant issue: ERC20 transfer-in assumes full amounts received, which breaks accounting with fee-on-transfer/deflationary tokens.",
        "findings": [
            {
                "title": "Transfer-in accounting assumes full amounts received (fee-on-transfer tokens break invariants)",
                "category": "other",
                "evidence": "`mintFresh` and `repayBorrowFresh` compute mint/repay amounts from user input and then call `doTransferIn`, which only checks the return value and not the actual received amount; no balance-delta accounting is performed.",
                "severity": "medium",
                "locations": [
                    "contracts/Contract.sol:1501",
                    "contracts/Contract.sol:1561",
                    "contracts/Contract.sol:1871",
                    "contracts/Contract.sol:1933",
                    "contracts/Contract.sol:2531"
                ],
                "recommendation": "Use balance-delta accounting for transfer-ins (track token balance before/after and use the actual received amount for minting and debt reduction). Alternatively, explicitly block fee-on-transfer/deflationary tokens via whitelisting and enforce standard ERC20 behavior.",
                "exploit_scenario": "If the underlying token charges a transfer fee or is deflationary, `doTransferIn` can succeed even when the contract receives fewer tokens than `mintAmount`/`repayAmount`. A borrower can have their debt reduced by the nominal amount while the protocol receives less, creating a shortfall. If the fee is routed to an attacker-controlled address, they can effectively underpay while capturing the fee, leading to protocol losses and potential insolvency over time."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
2
CALL-family (heavy)
28
EXT*/BALANCE
29
Total opcodes
12680
Flags
create_opcodes_present heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x028a
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x8f840ddd
00000026: GT
00000027: PUSH2 0x015c
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xc37f68e2
00000031: GT
00000032: PUSH2 0x00ce
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xf3fdb15a
0000003c: GT
0000003d: PUSH2 0x0087
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xf3fdb15a
00000047: EQ
00000048: PUSH2 0x0708
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xf5e3c462
00000052: EQ
00000053: PUSH2 0x0710
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xf851a440
0000005d: EQ
0000005e: PUSH2 0x0746
00000061: JUMPI
00000062: DUP1
00000063: PUSH4 0xf8f9da28
00000068: EQ
00000069: PUSH2 0x074e
0000006c: JUMPI
0000006d: DUP1
0000006e: PUSH4 0xfca7820b
00000073: EQ
00000074: PUSH2 0x0756
00000077: JUMPI
00000078: DUP1
00000079: PUSH4 0xfe9c44ae
0000007e: EQ
0000007f: PUSH2 0x0773
00000082: JUMPI
00000083: PUSH2 0x028a
00000086: JUMP
00000087: JUMPDEST
00000088: DUP1
00000089: PUSH4 0xc37f68e2
0000008e: EQ
0000008f: PUSH2 0x0626
00000092: JUMPI
00000093: DUP1
00000094: PUSH4 0xc5ebeaec
00000099: EQ
0000009a: PUSH2 0x0672
0000009d: JUMPI
0000009e: DUP1
0000009f: PUSH4 0xdb006a75
000000a4: EQ
000000a5: PUSH2 0x068f
000000a8: JUMPI
000000a9: DUP1
000000aa: PUSH4 0xdd62ed3e
000000af: EQ
000000b0: PUSH2 0x06ac
000000b3: JUMPI
000000b4: DUP1
000000b5: PUSH4 0xe9c714f2
000000ba: EQ
000000bb: PUSH2 0x06da
000000be: JUMPI
000000bf: DUP1
000000c0: PUSH4 0xf2b3abbd
000000c5: EQ
000000c6: PUSH2 0x06e2
000000c9: JUMPI
000000ca: PUSH2 0x028a
000000cd: JUMP
000000ce: JUMPDEST
000000cf: DUP1
000000d0: PUSH4 0xa9059cbb
000000d5: GT
000000d6: PUSH2 0x0120
000000d9: JUMPI
000000da: DUP1
000000db: PUSH4 0xa9059cbb
000000e0: EQ
000000e1: PUSH2 0x0586
000000e4: JUMPI
000000e5: DUP1
000000e6: PUSH4 0xaa5af0fd
000000eb: EQ
000000ec: PUSH2 0x05b2
000000ef: JUMPI
000000f0: DUP1
000000f1: PUSH4 0xae9d70b0
000000f6: EQ
000000f7: PUSH2 0x05ba
000000fa: JUMPI
000000fb: DUP1
000000fc: PUSH4 0xb2a02ff1
00000101: EQ
00000102: PUSH2 0x05c2
00000105: JUMPI
00000106: DUP1
00000107: PUSH4 0xb71d1a0c
0000010c: EQ
0000010d: PUSH2 0x05f8
00000110: JUMPI
00000111: DUP1
00000112: PUSH4 0xbd6d894d
00000117: EQ
00000118: PUSH2 0x061e
0000011b: JUMPI
0000011c: PUSH2 0x028a
0000011f: JUMP
00000120: JUMPDEST
00000121: DUP1
00000122: PUSH4 0x8f840ddd
00000127: EQ
00000128: PUSH2 0x052b
0000012b: JUMPI
0000012c: DUP1
0000012d: PUSH4 0x95d89b41
00000132: EQ
00000133: PUSH2 0x0533
00000136: JUMPI
00000137: DUP1
00000138: PUSH4 0x95dd9193
0000013d: EQ
0000013e: PUSH2 0x053b
00000141: JUMPI
00000142: DUP1
00000143: PUSH4 0xa0712d68
00000148: EQ
00000149: PUSH2 0x0561
0000014c: JUMPI
0000014d: DUP1
0000014e: PUSH4 0xa6afed95
00000153: EQ
00000154: PUSH2 0x057e
00000157: JUMPI
00000158: PUSH2 0x028a
0000015b: JUMP
0000015c: JUMPDEST
0000015d: DUP1
0000015e: PUSH4 0x3af9e669
00000163: GT
00000164: PUSH2 0x0200
00000167: JUMPI
00000168: DUP1
00000169: PUSH4 0x675d972c
0000016e: GT
0000016f: PUSH2 0x01b9
00000172: JUMPI
00000173: DUP1
00000174: PUSH4 0x675d972c
00000179: EQ
0000017a: PUSH2 0x04c8
0000017d: JUMPI
0000017e: DUP1
0000017f: PUSH4 0x6c540baf
00000184: EQ
00000185: PUSH2 0x04d0
00000188: JUMPI
00000189: DUP1
0000018a: PUSH4 0x6f307dc3
0000018f: EQ
00000190: PUSH2 0x04d8
00000193: JUMPI
00000194: DUP1
00000195: PUSH4 0x70a08231
0000019a: EQ
0000019b: PUSH2 0x04e0
0000019e: JUMPI
0000019f: DUP1
000001a0: PUSH4 0x73acee98
000001a5: EQ
000001a6: PUSH2 0x0506
000001a9: JUMPI
000001aa: DUP1
000001ab: PUSH4 0x852a12e3
000001b0: EQ
000001b1: PUSH2 0x050e
000001b4: JUMPI
000001b5: PUSH2 0x028a
000001b8: JUMP
000001b9: JUMPDEST
000001ba: DUP1
000001bb: PUSH4 0x3af9e669
000001c0: EQ
000001c1: PUSH2 0x0447
000001c4: JUMPI
000001c5: DUP1
000001c6: PUSH4 0x3b1d21a2
000001cb: EQ
000001cc: PUSH2 0x046d
000001cf: JUMPI
000001d0: DUP1
000001d1: PUSH4 0x4576b5db
000001d6: EQ
000001d7: PUSH2 0x0475
000001da: JUMPI
000001db: DUP1
000001dc: PUSH4 0x47bd3718
000001e1: EQ
000001e2: PUSH2 0x049b
000001e5: JUMPI
000001e6: DUP1
000001e7: PUSH4 0x5fe3b567
000001ec: EQ
000001ed: PUSH2 0x04a3
000001f0: JUMPI
000001f1: DUP1
000001f2: PUSH4 0x601a0bf1
000001f7: EQ
000001f8: PUSH2 0x04ab
000001fb: JUMPI
000001fc: PUSH2 0x028a
000001ff: JUMP
00000200: JUMPDEST
00000201: DUP1
00000202: PUSH4 0x18160ddd
00000207: GT
00000208: PUSH2 0x0252
0000020b: JUMPI
0000020c: DUP1
0000020d: PUSH4 0x18160ddd
00000212: EQ
00000213: PUSH2 0x03a9
00000216: JUMPI
00000217: DUP1
00000218: PUSH4 0x182df0f5
0000021d: EQ
0000021e: PUSH2 0x03b1
00000221: JUMPI
00000222: DUP1
00000223: PUSH4 0x23b872dd
00000228: EQ
00000229: PUSH2 0x03b9
0000022c: JUMPI
0000022d: DUP1
0000022e: PUSH4 0x2608f818
00000233: EQ
00000234: PUSH2 0x03ef
00000237: JUMPI
00000238: DUP1
00000239: PUSH4 0x26782247
0000023e: EQ
0000023f: PUSH2 0x041b
00000242: JUMPI
00000243: DUP1
00000244: PUSH4 0x313ce567
00000249: EQ
0000024a: PUSH2 0x043f
0000024d: JUMPI
0000024e: PUSH2 0x028a
00000251: JUMP
00000252: JUMPDEST
00000253: DUP1
00000254: PUSH4 0x06fdde03
00000259: EQ
0000025a: PUSH2 0x028f
0000025d: JUMPI
0000025e: DUP1
0000025f: PUSH4 0x095ea7b3
00000264: EQ
00000265: PUSH2 0x030c
00000268: JUMPI
00000269: DUP1
0000026a: PUSH4 0x0e752702
0000026f: EQ
00000270: PUSH2 0x034c
00000273: JUMPI
00000274: DUP1
00000275: PUSH4 0x173b9904
0000027a: EQ
0000027b: PUSH2 0x037b
0000027e: JUMPI
0000027f: DUP1
00000280: PUSH4 0x17bfdfbc
00000285: EQ
00000286: PUSH2 0x0383
00000289: JUMPI
0000028a: JUMPDEST
0000028b: PUSH1 0x00
0000028d: DUP1
0000028e: REVERT
0000028f: JUMPDEST
00000290: PUSH2 0x0297
00000293: PUSH2 0x077b
00000296: JUMP
00000297: JUMPDEST
00000298: PUSH1 0x40
0000029a: DUP1
0000029b: MLOAD
0000029c: PUSH1 0x20
0000029e: DUP1
0000029f: DUP3
000002a0: MSTORE
000002a1: DUP4
000002a2: MLOAD
000002a3: DUP2
000002a4: DUP4
000002a5: ADD
000002a6: MSTORE
000002a7: DUP4
000002a8: MLOAD
000002a9: SWAP2
000002aa: SWAP3
000002ab: DUP4
000002ac: SWAP3
000002ad: SWAP1
000002ae: DUP4
000002af: ADD
000002b0: SWAP2
000002b1: DUP6
000002b2: ADD
000002b3: SWAP1
000002b4: DUP1
000002b5: DUP4
000002b6: DUP4
000002b7: PUSH1 0x00
000002b9: JUMPDEST
000002ba: DUP4
000002bb: DUP2
000002bc: LT
000002bd: ISZERO
000002be: PUSH2 0x02d1
000002c1: JUMPI
000002c2: DUP2
000002c3: DUP2
000002c4: ADD
000002c5: MLOAD
000002c6: DUP4
000002c7: DUP3
000002c8: ADD
000002c9: MSTORE
000002ca: PUSH1 0x20
000002cc: ADD
000002cd: PUSH2 0x02b9
000002d0: JUMP
000002d1: JUMPDEST
000002d2: POP
000002d3: POP
000002d4: POP
000002d5: POP
000002d6: SWAP1
000002d7: POP
000002d8: SWAP1
000002d9: DUP2
000002da: ADD
000002db: SWAP1
000002dc: PUSH1 0x1f
000002de: AND
000002df: DUP1
000002e0: ISZERO
000002e1: PUSH2 0x02fe
000002e4: JUMPI
000002e5: DUP1
000002e6: DUP3
000002e7: SUB
000002e8: DUP1
000002e9: MLOAD
000002ea: PUSH1 0x01
000002ec: DUP4
000002ed: PUSH1 0x20
000002ef: SUB
000002f0: PUSH2 0x0100
000002f3: EXP
000002f4: SUB
000002f5: NOT
000002f6: AND
000002f7: DUP2
000002f8: MSTORE
000002f9: PUSH1 0x20
000002fb: ADD
000002fc: SWAP2
000002fd: POP
000002fe: JUMPDEST
000002ff: POP
00000300: SWAP3
00000301: POP
00000302: POP
00000303: POP
00000304: PUSH1 0x40
00000306: MLOAD
00000307: DUP1
00000308: SWAP2
00000309: SUB
0000030a: SWAP1
0000030b: RETURN
0000030c: JUMPDEST
0000030d: PUSH2 0x0338
00000310: PUSH1 0x04
00000312: DUP1
00000313: CALLDATASIZE
00000314: SUB
00000315: PUSH1 0x40
00000317: DUP2
00000318: LT
00000319: ISZERO
0000031a: PUSH2 0x0322
0000031d: JUMPI
0000031e: PUSH1 0x00
00000320: DUP1
00000321: REVERT
00000322: JUMPDEST
00000323: POP
00000324: PUSH1 0x01
00000326: PUSH1 0x01
00000328: PUSH1 0xa0
0000032a: SHL
0000032b: SUB
0000032c: DUP2
0000032d: CALLDATALOAD
0000032e: AND
0000032f: SWAP1
00000330: PUSH1 0x20
00000332: ADD
00000333: CALLDATALOAD
00000334: PUSH2 0x0808
00000337: JUMP
00000338: JUMPDEST
00000339: PUSH1 0x40
0000033b: DUP1
0000033c: MLOAD
0000033d: SWAP2
0000033e: ISZERO
0000033f: ISZERO
00000340: DUP3
00000341: MSTORE
00000342: MLOAD
00000343: SWAP1
00000344: DUP2
00000345: SWAP1
00000346: SUB
00000347: PUSH1 0x20
00000349: ADD
0000034a: SWAP1
0000034b: RETURN
0000034c: JUMPDEST
0000034d: PUSH2 0x0369
00000350: PUSH1 0x04
00000352: DUP1
00000353: CALLDATASIZE
00000354: SUB
00000355: PUSH1 0x20
00000357: DUP2
00000358: LT
00000359: ISZERO
0000035a: PUSH2 0x0362
0000035d: JUMPI
0000035e: PUSH1 0x00
00000360: DUP1
00000361: REVERT
00000362: JUMPDEST
00000363: POP
00000364: CALLDATALOAD
00000365: PUSH2 0x0875
00000368: JUMP
00000369: JUMPDEST
0000036a: PUSH1 0x40
0000036c: DUP1
0000036d: MLOAD
0000036e: SWAP2
0000036f: DUP3
00000370: MSTORE
00000371: MLOAD
00000372: SWAP1
00000373: DUP2
00000374: SWAP1
00000375: SUB
00000376: PUSH1 0x20
00000378: ADD
00000379: SWAP1
0000037a: RETURN
0000037b: JUMPDEST
0000037c: PUSH2 0x0369
0000037f: PUSH2 0x0888
00000382: JUMP
00000383: JUMPDEST
00000384: PUSH2 0x0369
00000387: PUSH1 0x04
00000389: DUP1
0000038a: CALLDATASIZE
0000038b: SUB
0000038c: PUSH1 0x20
0000038e: DUP2
0000038f: LT
00000390: ISZERO
00000391: PUSH2 0x0399
00000394: JUMPI
00000395: PUSH1 0x00
00000397: DUP1
00000398: REVERT
00000399: JUMPDEST
0000039a: POP
0000039b: CALLDATALOAD
0000039c: PUSH1 0x01
0000039e: PUSH1 0x01
000003a0: PUSH1 0xa0
000003a2: SHL
000003a3: SUB
000003a4: AND
000003a5: PUSH2 0x088e
000003a8: JUMP
000003a9: JUMPDEST
000003aa: PUSH2 0x0369
000003ad: PUSH2 0x0951
000003b0: JUMP
000003b1: JUMPDEST
000003b2: PUSH2 0x0369
000003b5: PUSH2 0x0957
000003b8: JUMP
000003b9: JUMPDEST
000003ba: PUSH2 0x0338
000003bd: PUSH1 0x04
000003bf: DUP1
000003c0: CALLDATASIZE
000003c1: SUB
000003c2: PUSH1 0x60
000003c4: DUP2
000003c5: LT
000003c6: ISZERO
000003c7: PUSH2 0x03cf
000003ca: JUMPI
000003cb: PUSH1 0x00
000003cd: DUP1
000003ce: REVERT
000003cf: JUMPDEST
000003d0: POP
000003d1: PUSH1 0x01
000003d3: PUSH1 0x01
000003d5: PUSH1 0xa0
000003d7: SHL
000003d8: SUB
000003d9: DUP2
000003da: CALLDATALOAD
000003db: DUP2
000003dc: AND
000003dd: SWAP2
000003de: PUSH1 0x20
000003e0: DUP2
000003e1: ADD
000003e2: CALLDATALOAD
000003e3: SWAP1
000003e4: SWAP2
000003e5: AND
000003e6: SWAP1
000003e7: PUSH1 0x40
000003e9: ADD
000003ea: CALLDATALOAD
000003eb: PUSH2 0x09bd
000003ee: JUMP
000003ef: JUMPDEST
000003f0: PUSH2 0x0369
000003f3: PUSH1 0x04
000003f5: DUP1
000003f6: CALLDATASIZE
000003f7: SUB
000003f8: PUSH1 0x40
000003fa: DUP2
000003fb: LT
000003fc: ISZERO
000003fd: PUSH2 0x0405
00000400: JUMPI
00000401: PUSH1 0x00
00000403: DUP1
00000404: REVERT
00000405: JUMPDEST
00000406: POP
00000407: PUSH1 0x01
00000409: PUSH1 0x01
0000040b: PUSH1 0xa0
0000040d: SHL
0000040e: SUB
0000040f: DUP2
00000410: CALLDATALOAD
00000411: AND
00000412: SWAP1
00000413: PUSH1 0x20
00000415: ADD
00000416: CALLDATALOAD
00000417: PUSH2 0x0a29
0000041a: JUMP
0000041b: JUMPDEST
0000041c: PUSH2 0x0423
0000041f: PUSH2 0x0a3c
00000422: JUMP
00000423: JUMPDEST
00000424: PUSH1 0x40
00000426: DUP1
00000427: MLOAD
00000428: PUSH1 0x01
0000042a: PUSH1 0x01
0000042c: PUSH1 0xa0
0000042e: SHL
0000042f: SUB
00000430: SWAP1
00000431: SWAP3
00000432: AND
00000433: DUP3
00000434: MSTORE
00000435: MLOAD
00000436: SWAP1
00000437: DUP2
00000438: SWAP1
00000439: SUB
0000043a: PUSH1 0x20
0000043c: ADD
0000043d: SWAP1
0000043e: RETURN
0000043f: JUMPDEST
00000440: PUSH2 0x0369
00000443: PUSH2 0x0a4b
00000446: JUMP
00000447: JUMPDEST
00000448: PUSH2 0x0369
0000044b: PUSH1 0x04
0000044d: DUP1
0000044e: CALLDATASIZE
0000044f: SUB
00000450: PUSH1 0x20
00000452: DUP2
00000453: LT
00000454: ISZERO
00000455: PUSH2 0x045d
00000458: JUMPI
00000459: PUSH1 0x00
0000045b: DUP1
0000045c: REVERT
0000045d: JUMPDEST
0000045e: POP
0000045f: CALLDATALOAD
00000460: PUSH1 0x01
00000462: PUSH1 0x01
00000464: PUSH1 0xa0
00000466: SHL
00000467: SUB
00000468: AND
00000469: PUSH2 0x0a51
0000046c: JUMP
0000046d: JUMPDEST
0000046e: PUSH2 0x0369
00000471: PUSH2 0x0abf
00000474: JUMP
00000475: JUMPDEST
00000476: PUSH2 0x0369
00000479: PUSH1 0x04
0000047b: DUP1
0000047c: CALLDATASIZE
0000047d: SUB
0000047e: PUSH1 0x20
00000480: DUP2
00000481: LT
00000482: ISZERO
00000483: PUSH2 0x048b
00000486: JUMPI
00000487: PUSH1 0x00
00000489: DUP1
0000048a: REVERT
0000048b: JUMPDEST
0000048c: POP
0000048d: CALLDATALOAD
0000048e: PUSH1 0x01
00000490: PUSH1 0x01
00000492: PUSH1 0xa0
00000494: SHL
00000495: SUB
00000496: AND
00000497: PUSH2 0x0ace
0000049a: JUMP
0000049b: JUMPDEST
0000049c: PUSH2 0x0369
0000049f: PUSH2 0x0c23
000004a2: JUMP
000004a3: JUMPDEST
000004a4: PUSH2 0x0423
000004a7: PUSH2 0x0c29
000004aa: JUMP
000004ab: JUMPDEST
000004ac: PUSH2 0x0369
000004af: PUSH1 0x04
000004b1: DUP1
000004b2: CALLDATASIZE
000004b3: SUB
000004b4: PUSH1 0x20
000004b6: DUP2
000004b7: LT
000004b8: ISZERO
000004b9: PUSH2 0x04c1
000004bc: JUMPI
000004bd: PUSH1 0x00
000004bf: DUP1
000004c0: REVERT
000004c1: JUMPDEST
000004c2: POP
000004c3: CALLDATALOAD
000004c4: PUSH2 0x0c38
000004c7: JUMP
000004c8: JUMPDEST
000004c9: PUSH2 0x0369
000004cc: PUSH2 0x0cc6
000004cf: JUMP
000004d0: JUMPDEST
000004d1: PUSH2 0x0369
000004d4: PUSH2 0x0ccc
000004d7: JUMP
000004d8: JUMPDEST
000004d9: PUSH2 0x0423
000004dc: PUSH2 0x0cd2
000004df: JUMP
000004e0: JUMPDEST
000004e1: PUSH2 0x0369
000004e4: PUSH1 0x04
000004e6: DUP1
000004e7: CALLDATASIZE
000004e8: SUB
000004e9: PUSH1 0x20
000004eb: DUP2
000004ec: LT
000004ed: ISZERO
000004ee: PUSH2 0x04f6
000004f1: JUMPI
000004f2: PUSH1 0x00
000004f4: DUP1
000004f5: REVERT
000004f6: JUMPDEST
000004f7: POP
000004f8: CALLDATALOAD
000004f9: PUSH1 0x01
000004fb: PUSH1 0x01
000004fd: PUSH1 0xa0
000004ff: SHL
00000500: SUB
00000501: AND
00000502: PUSH2 0x0ce1
00000505: JUMP
00000506: JUMPDEST
00000507: PUSH2 0x0369
0000050a: PUSH2 0x0cfc
0000050d: JUMP
0000050e: JUMPDEST
0000050f: PUSH2 0x0369
00000512: PUSH1 0x04
00000514: DUP1
00000515: CALLDATASIZE
00000516: SUB
00000517: PUSH1 0x20
00000519: DUP2
0000051a: LT
0000051b: ISZERO
0000051c: PUSH2 0x0524
0000051f: JUMPI
00000520: PUSH1 0x00
00000522: DUP1
00000523: REVERT
00000524: JUMPDEST
00000525: POP
00000526: CALLDATALOAD
00000527: PUSH2 0x0db6
0000052a: JUMP
0000052b: JUMPDEST
0000052c: PUSH2 0x0369
0000052f: PUSH2 0x0dc1
00000532: JUMP
00000533: JUMPDEST
00000534: PUSH2 0x0297
00000537: PUSH2 0x0dc7
0000053a: JUMP
0000053b: JUMPDEST
0000053c: PUSH2 0x0369
0000053f: PUSH1 0x04
00000541: DUP1
00000542: CALLDATASIZE
00000543: SUB
00000544: PUSH1 0x20
00000546: DUP2
00000547: LT
00000548: ISZERO
00000549: PUSH2 0x0551
0000054c: JUMPI
0000054d: PUSH1 0x00
0000054f: DUP1
00000550: REVERT
00000551: JUMPDEST
00000552: POP
00000553: CALLDATALOAD
00000554: PUSH1 0x01
00000556: PUSH1 0x01
00000558: PUSH1 0xa0
0000055a: SHL
0000055b: SUB
0000055c: AND
0000055d: PUSH2 0x0e1f
00000560: JUMP
00000561: JUMPDEST
00000562: PUSH2 0x0369
00000565: PUSH1 0x04
00000567: DUP1
00000568: CALLDATASIZE
00000569: SUB
0000056a: PUSH1 0x20
0000056c: DUP2
0000056d: LT
0000056e: ISZERO
0000056f: PUSH2 0x0577
00000572: JUMPI
00000573: PUSH1 0x00
00000575: DUP1
00000576: REVERT
00000577: JUMPDEST
00000578: POP
00000579: CALLDATALOAD
0000057a: PUSH2 0x0e7f
0000057d: JUMP
0000057e: JUMPDEST
0000057f: PUSH2 0x0369
00000582: PUSH2 0x0e8a
00000585: JUMP
00000586: JUMPDEST
00000587: PUSH2 0x0338
0000058a: PUSH1 0x04
0000058c: DUP1
0000058d: CALLDATASIZE
0000058e: SUB
0000058f: PUSH1 0x40
00000591: DUP2
00000592: LT
00000593: ISZERO
00000594: PUSH2 0x059c
00000597: JUMPI
00000598: PUSH1 0x00
0000059a: DUP1
0000059b: REVERT
0000059c: JUMPDEST
0000059d: POP
0000059e: PUSH1 0x01
000005a0: PUSH1 0x01
000005a2: PUSH1 0xa0
000005a4: SHL
000005a5: SUB
000005a6: DUP2
000005a7: CALLDATALOAD
000005a8: AND
000005a9: SWAP1
000005aa: PUSH1 0x20
000005ac: ADD
000005ad: CALLDATALOAD
000005ae: PUSH2 0x1286
000005b1: JUMP
000005b2: JUMPDEST
000005b3: PUSH2 0x0369
000005b6: PUSH2 0x12f1
000005b9: JUMP
000005ba: JUMPDEST
000005bb: PUSH2 0x0369
000005be: PUSH2 0x12f7
000005c1: JUMP
000005c2: JUMPDEST
000005c3: PUSH2 0x0369
000005c6: PUSH1 0x04
000005c8: DUP1
000005c9: CALLDATASIZE
000005ca: SUB
000005cb: PUSH1 0x60
000005cd: DUP2
000005ce: LT
000005cf: ISZERO
000005d0: PUSH2 0x05d8
000005d3: JUMPI
000005d4: PUSH1 0x00
000005d6: DUP1
000005d7: REVERT
000005d8: JUMPDEST
000005d9: POP
000005da: PUSH1 0x01
000005dc: PUSH1 0x01
000005de: PUSH1 0xa0
000005e0: SHL
000005e1: SUB
000005e2: DUP2
000005e3: CALLDATALOAD
000005e4: DUP2
000005e5: AND
000005e6: SWAP2
000005e7: PUSH1 0x20
000005e9: DUP2
000005ea: ADD
000005eb: CALLDATALOAD
000005ec: SWAP1
000005ed: SWAP2
000005ee: AND
000005ef: SWAP1
000005f0: PUSH1 0x40
000005f2: ADD
000005f3: CALLDATALOAD
000005f4: PUSH2 0x15d1
000005f7: JUMP
000005f8: JUMPDEST
000005f9: PUSH2 0x0369
000005fc: PUSH1 0x04
000005fe: DUP1
000005ff: CALLDATASIZE
00000600: SUB
00000601: PUSH1 0x20
00000603: DUP2
00000604: LT
00000605: ISZERO
00000606: PUSH2 0x060e
00000609: JUMPI
0000060a: PUSH1 0x00
0000060c: DUP1
0000060d: REVERT
0000060e: JUMPDEST
0000060f: POP
00000610: CALLDATALOAD
00000611: PUSH1 0x01
00000613: PUSH1 0x01
00000615: PUSH1 0xa0
00000617: SHL
00000618: SUB
00000619: AND
0000061a: PUSH2 0x188e
0000061d: JUMP
0000061e: JUMPDEST
0000061f: PUSH2 0x0369
00000622: PUSH2 0x1915
00000625: JUMP
00000626: JUMPDEST
00000627: PUSH2 0x064c
0000062a: PUSH1 0x04
0000062c: DUP1
0000062d: CALLDATASIZE
0000062e: SUB
0000062f: PUSH1 0x20
00000631: DUP2
00000632: LT
00000633: ISZERO
00000634: PUSH2 0x063c
00000637: JUMPI
00000638: PUSH1 0x00
0000063a: DUP1
0000063b: REVERT
0000063c: JUMPDEST
0000063d: POP
0000063e: CALLDATALOAD
0000063f: PUSH1 0x01
00000641: PUSH1 0x01
00000643: PUSH1 0xa0
00000645: SHL
00000646: SUB
00000647: AND
00000648: PUSH2 0x19d0
0000064b: JUMP
0000064c: JUMPDEST
0000064d: PUSH1 0x40
0000064f: DUP1
00000650: MLOAD
00000651: SWAP5
00000652: DUP6
00000653: MSTORE
00000654: PUSH1 0x20
00000656: DUP6
00000657: ADD
00000658: SWAP4
00000659: SWAP1
0000065a: SWAP4
0000065b: MSTORE
0000065c: DUP4
0000065d: DUP4
0000065e: ADD
0000065f: SWAP2
00000660: SWAP1
00000661: SWAP2
00000662: MSTORE
00000663: PUSH1 0x60
00000665: DUP4
00000666: ADD
00000667: MSTORE
00000668: MLOAD
00000669: SWAP1
0000066a: DUP2
0000066b: SWAP1
0000066c: SUB
0000066d: PUSH1 0x80
0000066f: ADD
00000670: SWAP1
00000671: RETURN
00000672: JUMPDEST
00000673: PUSH2 0x0369
00000676: PUSH1 0x04
00000678: DUP1
00000679: CALLDATASIZE
0000067a: SUB
0000067b: PUSH1 0x20
0000067d: DUP2
0000067e: LT
0000067f: ISZERO
00000680: PUSH2 0x0688
00000683: JUMPI
00000684: PUSH1 0x00
00000686: DUP1
00000687: REVERT
00000688: JUMPDEST
00000689: POP
0000068a: CALLDATALOAD
0000068b: PUSH2 0x1a65
0000068e: JUMP
0000068f: JUMPDEST
00000690: PUSH2 0x0369
00000693: PUSH1 0x04
00000695: DUP1
00000696: CALLDATASIZE
00000697: SUB
00000698: PUSH1 0x20
0000069a: DUP2
0000069b: LT
0000069c: ISZERO
0000069d: PUSH2 0x06a5
000006a0: JUMPI
000006a1: PUSH1 0x00
000006a3: DUP1
000006a4: REVERT
000006a5: JUMPDEST
000006a6: POP
000006a7: CALLDATALOAD
000006a8: PUSH2 0x1a70
000006ab: JUMP
000006ac: JUMPDEST
000006ad: PUSH2 0x0369
000006b0: PUSH1 0x04
000006b2: DUP1
000006b3: CALLDATASIZE
000006b4: SUB
000006b5: PUSH1 0x40
000006b7: DUP2
000006b8: LT
000006b9: ISZERO
000006ba: PUSH2 0x06c2
000006bd: JUMPI
000006be: PUSH1 0x00
000006c0: DUP1
000006c1: REVERT
000006c2: JUMPDEST
000006c3: POP
000006c4: PUSH1 0x01
000006c6: PUSH1 0x01
000006c8: PUSH1 0xa0
000006ca: SHL
000006cb: SUB
000006cc: DUP2
000006cd: CALLDATALOAD
000006ce: DUP2
000006cf: AND
000006d0: SWAP2
000006d1: PUSH1 0x20
000006d3: ADD
000006d4: CALLDATALOAD
000006d5: AND
000006d6: PUSH2 0x1a7b
000006d9: JUMP
000006da: JUMPDEST
000006db: PUSH2 0x0369
000006de: PUSH2 0x1aa6
000006e1: JUMP
000006e2: JUMPDEST
000006e3: PUSH2 0x0369
000006e6: PUSH1 0x04
000006e8: DUP1
000006e9: CALLDATASIZE
000006ea: SUB
000006eb: PUSH1 0x20
000006ed: DUP2
000006ee: LT
000006ef: ISZERO
000006f0: PUSH2 0x06f8
000006f3: JUMPI
000006f4: PUSH1 0x00
000006f6: DUP1
000006f7: REVERT
000006f8: JUMPDEST
000006f9: POP
000006fa: CALLDATALOAD
000006fb: PUSH1 0x01
000006fd: PUSH1 0x01
000006ff: PUSH1 0xa0
00000701: SHL
00000702: SUB
00000703: AND
00000704: PUSH2 0x1b95
00000707: JUMP
00000708: JUMPDEST
00000709: PUSH2 0x0423
0000070c: PUSH2 0x1bcf
0000070f: JUMP
00000710: JUMPDEST
00000711: PUSH2 0x0369
00000714: PUSH1 0x04
00000716: DUP1
00000717: CALLDATASIZE
00000718: SUB
00000719: PUSH1 0x60
0000071b: DUP2
0000071c: LT
0000071d: ISZERO
0000071e: PUSH2 0x0726
00000721: JUMPI
00000722: PUSH1 0x00
00000724: DUP1
00000725: REVERT
00000726: JUMPDEST
00000727: POP
00000728: PUSH1 0x01
0000072a: PUSH1 0x01
0000072c: PUSH1 0xa0
0000072e: SHL
0000072f: SUB
00000730: DUP2
00000731: CALLDATALOAD
00000732: DUP2
00000733: AND
00000734: SWAP2
00000735: PUSH1 0x20
00000737: DUP2
00000738: ADD
00000739: CALLDATALOAD
0000073a: SWAP2
0000073b: PUSH1 0x40
0000073d: SWAP1
0000073e: SWAP2
0000073f: ADD
00000740: CALLDATALOAD
00000741: AND
00000742: PUSH2 0x1bde
00000745: JUMP
00000746: JUMPDEST
00000747: PUSH2 0x0423
0000074a: PUSH2 0x1beb
0000074d: JUMP
0000074e: JUMPDEST
0000074f: PUSH2 0x0369
00000752: PUSH2 0x1bfa
00000755: JUMP
00000756: JUMPDEST
00000757: PUSH2 0x0369
0000075a: PUSH1 0x04
0000075c: DUP1
0000075d: CALLDATASIZE
0000075e: SUB
0000075f: PUSH1 0x20
00000761: DUP2
00000762: LT
00000763: ISZERO
00000764: PUSH2 0x076c
00000767: JUMPI
00000768: PUSH1 0x00
0000076a: DUP1
0000076b: REVERT
0000076c: JUMPDEST
0000076d: POP
0000076e: CALLDATALOAD
0000076f: PUSH2 0x1cd9
00000772: JUMP
00000773: JUMPDEST
00000774: PUSH2 0x0338
00000777: PUSH2 0x1d13
0000077a: JUMP
0000077b: JUMPDEST
0000077c: PUSH1 0x01
0000077e: DUP1
0000077f: SLOAD
00000780: PUSH1 0x40
00000782: DUP1
00000783: MLOAD
00000784: PUSH1 0x20
00000786: PUSH1 0x02
00000788: DUP5
00000789: DUP7
0000078a: AND
0000078b: ISZERO
0000078c: PUSH2 0x0100
0000078f: MUL
00000790: PUSH1 0x00
00000792: NOT
00000793: ADD
00000794: SWAP1
00000795: SWAP5
00000796: AND
00000797: SWAP4
00000798: SWAP1
00000799: SWAP4
0000079a: DIV
0000079b: PUSH1 0x1f
0000079d: DUP2
0000079e: ADD
0000079f: DUP5
000007a0: SWAP1
000007a1: DIV
000007a2: DUP5
000007a3: MUL
000007a4: DUP3
000007a5: ADD
000007a6: DUP5
000007a7: ADD
000007a8: SWAP1
000007a9: SWAP3
000007aa: MSTORE
000007ab: DUP2
000007ac: DUP2
000007ad: MSTORE
000007ae: SWAP3
000007af: SWAP2
000007b0: DUP4
000007b1: ADD
000007b2: DUP3
000007b3: DUP3
000007b4: DUP1
000007b5: ISZERO
000007b6: PUSH2 0x0800
000007b9: JUMPI
000007ba: DUP1
000007bb: PUSH1 0x1f
000007bd: LT
000007be: PUSH2 0x07d5
000007c1: JUMPI
000007c2: PUSH2 0x0100
000007c5: DUP1
000007c6: DUP4
000007c7: SLOAD
000007c8: DIV
000007c9: MUL
000007ca: DUP4
000007cb: MSTORE
000007cc: SWAP2
000007cd: PUSH1 0x20
000007cf: ADD
000007d0: SWAP2
000007d1: PUSH2 0x0800
000007d4: JUMP
000007d5: JUMPDEST
000007d6: DUP3
000007d7: ADD
000007d8: SWAP2
000007d9: SWAP1
000007da: PUSH1 0x00
000007dc: MSTORE
000007dd: PUSH1 0x20
000007df: PUSH1 0x00
000007e1: KECCAK256
000007e2: SWAP1
000007e3: JUMPDEST
000007e4: DUP2
000007e5: SLOAD
000007e6: DUP2
000007e7: MSTORE
000007e8: SWAP1
000007e9: PUSH1 0x01
000007eb: ADD
000007ec: SWAP1
000007ed: PUSH1 0x20
000007ef: ADD
000007f0: DUP1
000007f1: DUP4
000007f2: GT
000007f3: PUSH2 0x07e3
000007f6: JUMPI
000007f7: DUP3
000007f8: SWAP1
000007f9: SUB
000007fa: PUSH1 0x1f
000007fc: AND
000007fd: DUP3
000007fe: ADD
000007ff: SWAP2
00000800: JUMPDEST
00000801: POP
00000802: POP
00000803: POP
00000804: POP
00000805: POP
00000806: DUP2
00000807: JUMP
00000808: JUMPDEST
00000809: CALLER
0000080a: PUSH1 0x00
0000080c: DUP2
0000080d: DUP2
0000080e: MSTORE
0000080f: PUSH1 0x10
00000811: PUSH1 0x20
00000813: SWAP1
00000814: DUP2
00000815: MSTORE
00000816: PUSH1 0x40
00000818: DUP1
00000819: DUP4
0000081a: KECCAK256
0000081b: PUSH1 0x01
0000081d: PUSH1 0x01
0000081f: PUSH1 0xa0
00000821: SHL
00000822: SUB
00000823: DUP8
00000824: AND
00000825: DUP1
00000826: DUP6
00000827: MSTORE
00000828: SWAP1
00000829: DUP4
0000082a: MSTORE
0000082b: DUP2
0000082c: DUP5
0000082d: KECCAK256
0000082e: DUP7
0000082f: SWAP1
00000830: SSTORE
00000831: DUP2
00000832: MLOAD
00000833: DUP7
00000834: DUP2
00000835: MSTORE
00000836: SWAP2
00000837: MLOAD
00000838: SWAP4
00000839: SWAP5
0000083a: SWAP4
0000083b: SWAP1
0000083c: SWAP3
0000083d: DUP5
0000083e: SWAP3
0000083f: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
00000860: SWAP3
00000861: SWAP1
00000862: DUP2
00000863: SWAP1
00000864: SUB
00000865: SWAP1
00000866: SWAP2
00000867: ADD
00000868: SWAP1
00000869: LOG3
0000086a: PUSH1 0x01
0000086c: SWAP2
0000086d: POP
0000086e: POP
0000086f: JUMPDEST
00000870: SWAP3
00000871: SWAP2
00000872: POP
00000873: POP
00000874: JUMP
00000875: JUMPDEST
00000876: PUSH1 0x00
00000878: PUSH2 0x0880
0000087b: DUP3
0000087c: PUSH2 0x1d18
0000087f: JUMP
00000880: JUMPDEST
00000881: SWAP1
00000882: POP
00000883: JUMPDEST
00000884: SWAP2
00000885: SWAP1
00000886: POP
00000887: JUMP
00000888: JUMPDEST
00000889: PUSH1 0x09
0000088b: SLOAD
0000088c: DUP2
0000088d: JUMP
0000088e: JUMPDEST
0000088f: PUSH1 0x00
00000891: DUP1
00000892: SLOAD
00000893: PUSH1 0x01
00000895: ADD
00000896: DUP1
00000897: DUP3
00000898: SSTORE
00000899: DUP2
0000089a: PUSH2 0x08a1
0000089d: PUSH2 0x0e8a
000008a0: JUMP
000008a1: JUMPDEST
000008a2: EQ
000008a3: PUSH2 0x08f6
000008a6: JUMPI
000008a7: PUSH1 0x40
000008a9: DUP1
000008aa: MLOAD
000008ab: PUSH1 0x01
000008ad: PUSH1 0xe5
000008af: SHL
000008b0: PUSH3 0x461bcd
000008b4: MUL
000008b5: DUP2
000008b6: MSTORE
000008b7: PUSH1 0x20
000008b9: PUSH1 0x04
000008bb: DUP3
000008bc: ADD
000008bd: MSTORE
000008be: PUSH1 0x16
000008c0: PUSH1 0x24
000008c2: DUP3
000008c3: ADD
000008c4: MSTORE
000008c5: PUSH32 0x61636372756520696e746572657374206661696c656400000000000000000000
000008e6: PUSH1 0x44
000008e8: DUP3
000008e9: ADD
000008ea: MSTORE
000008eb: SWAP1
000008ec: MLOAD
000008ed: SWAP1
000008ee: DUP2
000008ef: SWAP1
000008f0: SUB
000008f1: PUSH1 0x64
000008f3: ADD
000008f4: SWAP1
000008f5: REVERT
000008f6: JUMPDEST
000008f7: PUSH2 0x08ff
000008fa: DUP4
000008fb: PUSH2 0x0e1f
000008fe: JUMP
000008ff: JUMPDEST
00000900: SWAP2
00000901: POP
00000902: JUMPDEST
00000903: PUSH1 0x00
00000905: SLOAD
00000906: DUP2
00000907: EQ
00000908: PUSH2 0x094b
0000090b: JUMPI
0000090c: PUSH1 0x40
0000090e: DUP1
0000090f: MLOAD
00000910: PUSH1 0x01
00000912: PUSH1 0xe5
00000914: SHL
00000915: PUSH3 0x461bcd
00000919: MUL
0000091a: DUP2
0000091b: MSTORE
0000091c: PUSH1 0x20
0000091e: PUSH1 0x04
00000920: DUP3
00000921: ADD
00000922: MSTORE
00000923: PUSH1 0x0a
00000925: PUSH1 0x24
00000927: DUP3
00000928: ADD
00000929: MSTORE
0000092a: PUSH1 0x01
0000092c: PUSH1 0xb2
0000092e: SHL
0000092f: PUSH10 0x1c994b595b9d195c9959
0000093a: MUL
0000093b: PUSH1 0x44
0000093d: DUP3
0000093e: ADD
0000093f: MSTORE
00000940: SWAP1
00000941: MLOAD
00000942: SWAP1
00000943: DUP2
00000944: SWAP1
00000945: SUB
00000946: PUSH1 0x64
00000948: ADD
00000949: SWAP1
0000094a: REVERT
0000094b: JUMPDEST
0000094c: POP
0000094d: SWAP2
0000094e: SWAP1
0000094f: POP
00000950: JUMP
00000951: JUMPDEST
00000952: PUSH1 0x0e
00000954: SLOAD
00000955: DUP2
00000956: JUMP
00000957: JUMPDEST
00000958: PUSH1 0x00
0000095a: DUP1
0000095b: PUSH1 0x00
0000095d: PUSH2 0x0964
00000960: PUSH2 0x1d54
00000963: JUMP
00000964: JUMPDEST
00000965: SWAP1
00000966: SWAP3
00000967: POP
00000968: SWAP1
00000969: POP
0000096a: PUSH1 0x00
0000096c: DUP3
0000096d: PUSH1 0x03
0000096f: DUP2
00000970: GT
00000971: ISZERO
00000972: PUSH2 0x0977
00000975: JUMPI
00000976: INVALID
00000977: JUMPDEST
00000978: EQ
00000979: PUSH2 0x09b6
0000097c: JUMPI
0000097d: PUSH1 0x40
0000097f: MLOAD
00000980: PUSH1 0x01
00000982: PUSH1 0xe5
00000984: SHL
00000985: PUSH3 0x461bcd
00000989: MUL
0000098a: DUP2
0000098b: MSTORE
0000098c: PUSH1 0x04
0000098e: ADD
0000098f: DUP1
00000990: DUP1
00000991: PUSH1 0x20
00000993: ADD
00000994: DUP3
00000995: DUP2
00000996: SUB
00000997: DUP3
00000998: MSTORE
00000999: PUSH1 0x35
0000099b: DUP2
0000099c: MSTORE
0000099d: PUSH1 0x20
0000099f: ADD
000009a0: DUP1
000009a1: PUSH2 0x4962
000009a4: PUSH1 0x35
000009a6: SWAP2
000009a7: CODECOPY
000009a8: PUSH1 0x40
000009aa: ADD
000009ab: SWAP2
000009ac: POP
000009ad: POP
000009ae: PUSH1 0x40
000009b0: MLOAD
000009b1: DUP1
000009b2: SWAP2
000009b3: SUB
000009b4: SWAP1
000009b5: REVERT
000009b6: JUMPDEST
000009b7: SWAP2
000009b8: POP
000009b9: POP
000009ba: JUMPDEST
000009bb: SWAP1
000009bc: JUMP
000009bd: JUMPDEST
000009be: PUSH1 0x00
000009c0: DUP1
000009c1: SLOAD
000009c2: PUSH1 0x01
000009c4: ADD
000009c5: DUP1
000009c6: DUP3
000009c7: SSTORE
000009c8: DUP2
000009c9: PUSH2 0x09d4
000009cc: CALLER
000009cd: DUP8
000009ce: DUP8
000009cf: DUP8
000009d0: PUSH2 0x1e02
000009d3: JUMP
000009d4: JUMPDEST
000009d5: EQ
000009d6: SWAP2
000009d7: POP
000009d8: JUMPDEST
000009d9: PUSH1 0x00
000009db: SLOAD
000009dc: DUP2
000009dd: EQ
000009de: PUSH2 0x0a21
000009e1: JUMPI
000009e2: PUSH1 0x40
000009e4: DUP1
000009e5: MLOAD
000009e6: PUSH1 0x01
000009e8: PUSH1 0xe5
000009ea: SHL
000009eb: PUSH3 0x461bcd
000009ef: MUL
000009f0: DUP2
000009f1: MSTORE
000009f2: PUSH1 0x20
000009f4: PUSH1 0x04
000009f6: DUP3
000009f7: ADD
000009f8: MSTORE
000009f9: PUSH1 0x0a
000009fb: PUSH1 0x24
000009fd: DUP3
000009fe: ADD
000009ff: MSTORE
00000a00: PUSH1 0x01
00000a02: PUSH1 0xb2
00000a04: SHL
00000a05: PUSH10 0x1c994b595b9d195c9959
00000a10: MUL
00000a11: PUSH1 0x44
00000a13: DUP3
00000a14: ADD
00000a15: MSTORE
00000a16: SWAP1
00000a17: MLOAD
00000a18: SWAP1
00000a19: DUP2
00000a1a: SWAP1
00000a1b: SUB
00000a1c: PUSH1 0x64
00000a1e: ADD
00000a1f: SWAP1
00000a20: REVERT
00000a21: JUMPDEST
00000a22: POP
00000a23: SWAP4
00000a24: SWAP3
00000a25: POP
00000a26: POP
00000a27: POP
00000a28: JUMP
00000a29: JUMPDEST
00000a2a: PUSH1 0x00
00000a2c: PUSH2 0x0a35
00000a2f: DUP4
00000a30: DUP4
00000a31: PUSH2 0x2116
00000a34: JUMP
00000a35: JUMPDEST
00000a36: SWAP4
00000a37: SWAP3
00000a38: POP
00000a39: POP
00000a3a: POP
00000a3b: JUMP
00000a3c: JUMPDEST
00000a3d: PUSH1 0x05
00000a3f: SLOAD
00000a40: PUSH1 0x01
00000a42: PUSH1 0x01
00000a44: PUSH1 0xa0
00000a46: SHL
00000a47: SUB
00000a48: AND
00000a49: DUP2
00000a4a: JUMP
00000a4b: JUMPDEST
00000a4c: PUSH1 0x03
00000a4e: SLOAD
00000a4f: DUP2
00000a50: JUMP
00000a51: JUMPDEST
00000a52: PUSH1 0x00
00000a54: PUSH2 0x0a5b
00000a57: PUSH2 0x46bb
00000a5a: JUMP
00000a5b: JUMPDEST
00000a5c: PUSH1 0x40
00000a5e: MLOAD
00000a5f: DUP1
00000a60: PUSH1 0x20
00000a62: ADD
00000a63: PUSH1 0x40
00000a65: MSTORE
00000a66: DUP1
00000a67: PUSH2 0x0a6e
00000a6a: PUSH2 0x1915
00000a6d: JUMP
00000a6e: JUMPDEST
00000a6f: SWAP1
00000a70: MSTORE
00000a71: PUSH1 0x01
00000a73: PUSH1 0x01
00000a75: PUSH1 0xa0
00000a77: SHL
00000a78: SUB
00000a79: DUP5
00000a7a: AND
00000a7b: PUSH1 0x00
00000a7d: SWAP1
00000a7e: DUP2
00000a7f: MSTORE
00000a80: PUSH1 0x0f
00000a82: PUSH1 0x20
00000a84: MSTORE
00000a85: PUSH1 0x40
00000a87: DUP2
00000a88: KECCAK256
00000a89: SLOAD
00000a8a: SWAP2
00000a8b: SWAP3
00000a8c: POP
00000a8d: SWAP1
00000a8e: DUP2
00000a8f: SWAP1
00000a90: PUSH2 0x0a9a
00000a93: SWAP1
00000a94: DUP5
00000a95: SWAP1
00000a96: PUSH2 0x21a6
00000a99: JUMP
00000a9a: JUMPDEST
00000a9b: SWAP1
00000a9c: SWAP3
00000a9d: POP
00000a9e: SWAP1
00000a9f: POP
00000aa0: PUSH1 0x00
00000aa2: DUP3
00000aa3: PUSH1 0x03
00000aa5: DUP2
00000aa6: GT
00000aa7: ISZERO
00000aa8: PUSH2 0x0aad
00000aab: JUMPI
00000aac: INVALID
00000aad: JUMPDEST
00000aae: EQ
00000aaf: PUSH2 0x0ab7
00000ab2: JUMPI
00000ab3: PUSH1 0x00
00000ab5: DUP1
00000ab6: REVERT
00000ab7: JUMPDEST
00000ab8: SWAP5
00000ab9: SWAP4
00000aba: POP
00000abb: POP
00000abc: POP
00000abd: POP
00000abe: JUMP
00000abf: JUMPDEST
00000ac0: PUSH1 0x00
00000ac2: PUSH2 0x0ac9
00000ac5: PUSH2 0x21fa
00000ac8: JUMP
00000ac9: JUMPDEST
00000aca: SWAP1
00000acb: POP
00000acc: SWAP1
00000acd: JUMP
00000ace: JUMPDEST
00000acf: PUSH1 0x04
00000ad1: SLOAD
00000ad2: PUSH1 0x00
00000ad4: SWAP1
00000ad5: PUSH1 0x01
00000ad7: PUSH1 0x01
00000ad9: PUSH1 0xa0
00000adb: SHL
00000adc: SUB
00000add: AND
00000ade: CALLER
00000adf: EQ
00000ae0: PUSH2 0x0af6
00000ae3: JUMPI
00000ae4: PUSH2 0x0aef
00000ae7: PUSH1 0x01
00000ae9: PUSH1 0x3f
00000aeb: PUSH2 0x227d
00000aee: JUMP
00000aef: JUMPDEST
00000af0: SWAP1
00000af1: POP
00000af2: PUSH2 0x0883
00000af5: JUMP
00000af6: JUMPDEST
00000af7: PUSH1 0x06
00000af9: SLOAD
00000afa: PUSH1 0x40
00000afc: DUP1
00000afd: MLOAD
00000afe: PUSH1 0x01
00000b00: PUSH1 0xe1
00000b02: SHL
00000b03: PUSH3 0x3f1ee9
00000b07: MUL
00000b08: DUP2
00000b09: MSTORE
00000b0a: SWAP1
00000b0b: MLOAD
00000b0c: PUSH1 0x01
00000b0e: PUSH1 0x01
00000b10: PUSH1 0xa0
00000b12: SHL
00000b13: SUB
00000b14: SWAP3
00000b15: DUP4
00000b16: AND
00000b17: SWAP3
00000b18: DUP6
00000b19: AND
00000b1a: SWAP2
00000b1b: PUSH3 0x7e3dd2
00000b1f: SWAP2
00000b20: PUSH1 0x04
00000b22: DUP1
00000b23: DUP4
00000b24: ADD
00000b25: SWAP3
00000b26: PUSH1 0x20
00000b28: SWAP3
00000b29: SWAP2
00000b2a: SWAP1
00000b2b: DUP3
00000b2c: SWAP1
00000b2d: SUB
00000b2e: ADD
00000b2f: DUP2
00000b30: DUP7
00000b31: DUP1
00000b32: EXTCODESIZE
00000b33: ISZERO
00000b34: DUP1
00000b35: ISZERO
00000b36: PUSH2 0x0b3e
00000b39: JUMPI
00000b3a: PUSH1 0x00
00000b3c: DUP1
00000b3d: REVERT
00000b3e: JUMPDEST
00000b3f: POP
00000b40: GAS
00000b41: STATICCALL
00000b42: ISZERO
00000b43: DUP1
00000b44: ISZERO
00000b45: PUSH2 0x0b52
00000b48: JUMPI
00000b49: RETURNDATASIZE
00000b4a: PUSH1 0x00
00000b4c: DUP1
00000b4d: RETURNDATACOPY
00000b4e: RETURNDATASIZE
00000b4f: PUSH1 0x00
00000b51: REVERT
00000b52: JUMPDEST
00000b53: POP
00000b54: POP
00000b55: POP
00000b56: POP
00000b57: PUSH1 0x40
00000b59: MLOAD
00000b5a: RETURNDATASIZE
00000b5b: PUSH1 0x20
00000b5d: DUP2
00000b5e: LT
00000b5f: ISZERO
00000b60: PUSH2 0x0b68
00000b63: JUMPI
00000b64: PUSH1 0x00
00000b66: DUP1
00000b67: REVERT
00000b68: JUMPDEST
00000b69: POP
00000b6a: MLOAD
00000b6b: PUSH2 0x0bbe
00000b6e: JUMPI
00000b6f: PUSH1 0x40
00000b71: DUP1
00000b72: MLOAD
00000b73: PUSH1 0x01
00000b75: PUSH1 0xe5
00000b77: SHL
00000b78: PUSH3 0x461bcd
00000b7c: MUL
00000b7d: DUP2
00000b7e: MSTORE
00000b7f: PUSH1 0x20
00000b81: PUSH1 0x04
00000b83: DUP3
00000b84: ADD
00000b85: MSTORE
00000b86: PUSH1 0x1c
00000b88: PUSH1 0x24
00000b8a: DUP3
00000b8b: ADD
00000b8c: MSTORE
00000b8d: PUSH32 0x6d61726b6572206d6574686f642072657475726e65642066616c736500000000
00000bae: PUSH1 0x44
00000bb0: DUP3
00000bb1: ADD
00000bb2: MSTORE
00000bb3: SWAP1
00000bb4: MLOAD
00000bb5: SWAP1
00000bb6: DUP2
00000bb7: SWAP1
00000bb8: SUB
00000bb9: PUSH1 0x64
00000bbb: ADD
00000bbc: SWAP1
00000bbd: REVERT
00000bbe: JUMPDEST
00000bbf: PUSH1 0x06
00000bc1: DUP1
00000bc2: SLOAD
00000bc3: PUSH1 0x01
00000bc5: PUSH1 0x01
00000bc7: PUSH1 0xa0
00000bc9: SHL
00000bca: SUB
00000bcb: NOT
00000bcc: AND
00000bcd: PUSH1 0x01
00000bcf: PUSH1 0x01
00000bd1: PUSH1 0xa0
00000bd3: SHL
00000bd4: SUB
00000bd5: DUP6
00000bd6: DUP2
00000bd7: AND
00000bd8: SWAP2
00000bd9: DUP3
00000bda: OR
00000bdb: SWAP1
00000bdc: SWAP3
00000bdd: SSTORE
00000bde: PUSH1 0x40
00000be0: DUP1
00000be1: MLOAD
00000be2: SWAP3
00000be3: DUP5
00000be4: AND
00000be5: DUP4
00000be6: MSTORE
00000be7: PUSH1 0x20
00000be9: DUP4
00000bea: ADD
00000beb: SWAP2
00000bec: SWAP1
00000bed: SWAP2
00000bee: MSTORE
00000bef: DUP1
00000bf0: MLOAD
00000bf1: PUSH32 0x7ac369dbd14fa5ea3f473ed67cc9d598964a77501540ba6751eb0b3decf5870d
00000c12: SWAP3
00000c13: DUP2
00000c14: SWAP1
00000c15: SUB
00000c16: SWAP1
00000c17: SWAP2
00000c18: ADD
00000c19: SWAP1
00000c1a: LOG1
00000c1b: PUSH1 0x00
00000c1d: SWAP4
00000c1e: SWAP3
00000c1f: POP
00000c20: POP
00000c21: POP
00000c22: JUMP
00000c23: JUMPDEST
00000c24: PUSH1 0x0c
00000c26: SLOAD
00000c27: DUP2
00000c28: JUMP
00000c29: JUMPDEST
00000c2a: PUSH1 0x06
00000c2c: SLOAD
00000c2d: PUSH1 0x01
00000c2f: PUSH1 0x01
00000c31: PUSH1 0xa0
00000c33: SHL
00000c34: SUB
00000c35: AND
00000c36: DUP2
00000c37: JUMP
00000c38: JUMPDEST
00000c39: PUSH1 0x00
00000c3b: DUP1
00000c3c: SLOAD
00000c3d: PUSH1 0x01
00000c3f: ADD
00000c40: DUP1
00000c41: DUP3
00000c42: SSTORE
00000c43: DUP2
00000c44: PUSH2 0x0c4b
00000c47: PUSH2 0x0e8a
00000c4a: JUMP
00000c4b: JUMPDEST
00000c4c: SWAP1
00000c4d: POP
00000c4e: DUP1
00000c4f: ISZERO
00000c50: PUSH2 0x0c71
00000c53: JUMPI
00000c54: PUSH2 0x0c69
00000c57: DUP2
00000c58: PUSH1 0x10
00000c5a: DUP2
00000c5b: GT
00000c5c: ISZERO
00000c5d: PUSH2 0x0c62
00000c60: JUMPI
00000c61: INVALID
00000c62: JUMPDEST
00000c63: PUSH1 0x30
00000c65: PUSH2 0x227d
00000c68: JUMP
00000c69: JUMPDEST
00000c6a: SWAP3
00000c6b: POP
00000c6c: POP
00000c6d: PUSH2 0x0902
00000c70: JUMP
00000c71: JUMPDEST
00000c72: PUSH2 0x0c7a
00000c75: DUP5
00000c76: PUSH2 0x22e3
00000c79: JUMP
00000c7a: JUMPDEST
00000c7b: SWAP3
00000c7c: POP
00000c7d: POP
00000c7e: PUSH1 0x00
00000c80: SLOAD
00000c81: DUP2
00000c82: EQ
00000c83: PUSH2 0x094b
00000c86: JUMPI
00000c87: PUSH1 0x40
00000c89: DUP1
00000c8a: MLOAD
00000c8b: PUSH1 0x01
00000c8d: PUSH1 0xe5
00000c8f: SHL
00000c90: PUSH3 0x461bcd
00000c94: MUL
00000c95: DUP2
00000c96: MSTORE
00000c97: PUSH1 0x20
00000c99: PUSH1 0x04
00000c9b: DUP3
00000c9c: ADD
00000c9d: MSTORE
00000c9e: PUSH1 0x0a
00000ca0: PUSH1 0x24
00000ca2: DUP3
00000ca3: ADD
00000ca4: MSTORE
00000ca5: PUSH1 0x01
00000ca7: PUSH1 0xb2
00000ca9: SHL
00000caa: PUSH10 0x1c994b595b9d195c9959
00000cb5: MUL
00000cb6: PUSH1 0x44
00000cb8: DUP3
00000cb9: ADD
00000cba: MSTORE
00000cbb: SWAP1
00000cbc: MLOAD
00000cbd: SWAP1
00000cbe: DUP2
00000cbf: SWAP1
00000cc0: SUB
00000cc1: PUSH1 0x64
00000cc3: ADD
00000cc4: SWAP1
00000cc5: REVERT
00000cc6: JUMPDEST
00000cc7: PUSH1 0x08
00000cc9: SLOAD
00000cca: DUP2
00000ccb: JUMP
00000ccc: JUMPDEST
00000ccd: PUSH1 0x0a
00000ccf: SLOAD
00000cd0: DUP2
00000cd1: JUMP
00000cd2: JUMPDEST
00000cd3: PUSH1 0x12
00000cd5: SLOAD
00000cd6: PUSH1 0x01
00000cd8: PUSH1 0x01
00000cda: PUSH1 0xa0
00000cdc: SHL
00000cdd: SUB
00000cde: AND
00000cdf: DUP2
00000ce0: JUMP
00000ce1: JUMPDEST
00000ce2: PUSH1 0x01
00000ce4: PUSH1 0x01
00000ce6: PUSH1 0xa0
00000ce8: SHL
00000ce9: SUB
00000cea: AND
00000ceb: PUSH1 0x00
00000ced: SWAP1
00000cee: DUP2
00000cef: MSTORE
00000cf0: PUSH1 0x0f
00000cf2: PUSH1 0x20
00000cf4: MSTORE
00000cf5: PUSH1 0x40
00000cf7: SWAP1
00000cf8: KECCAK256
00000cf9: SLOAD
00000cfa: SWAP1
00000cfb: JUMP
00000cfc: JUMPDEST
00000cfd: PUSH1 0x00
00000cff: DUP1
00000d00: SLOAD
00000d01: PUSH1 0x01
00000d03: ADD
00000d04: DUP1
00000d05: DUP3
00000d06: SSTORE
00000d07: DUP2
00000d08: PUSH2 0x0d0f
00000d0b: PUSH2 0x0e8a
00000d0e: JUMP
00000d0f: JUMPDEST
00000d10: EQ
00000d11: PUSH2 0x0d64
00000d14: JUMPI
00000d15: PUSH1 0x40
00000d17: DUP1
00000d18: MLOAD
00000d19: PUSH1 0x01
00000d1b: PUSH1 0xe5
00000d1d: SHL
00000d1e: PUSH3 0x461bcd
00000d22: MUL
00000d23: DUP2
00000d24: MSTORE
00000d25: PUSH1 0x20
00000d27: PUSH1 0x04
00000d29: DUP3
00000d2a: ADD
00000d2b: MSTORE
00000d2c: PUSH1 0x16
00000d2e: PUSH1 0x24
00000d30: DUP3
00000d31: ADD
00000d32: MSTORE
00000d33: PUSH32 0x61636372756520696e746572657374206661696c656400000000000000000000
00000d54: PUSH1 0x44
00000d56: DUP3
00000d57: ADD
00000d58: MSTORE
00000d59: SWAP1
00000d5a: MLOAD
00000d5b: SWAP1
00000d5c: DUP2
00000d5d: SWAP1
00000d5e: SUB
00000d5f: PUSH1 0x64
00000d61: ADD
00000d62: SWAP1
00000d63: REVERT
00000d64: JUMPDEST
00000d65: PUSH1 0x0c
00000d67: SLOAD
00000d68: SWAP2
00000d69: POP
00000d6a: PUSH1 0x00
00000d6c: SLOAD
00000d6d: DUP2
00000d6e: EQ
00000d6f: PUSH2 0x0db2
00000d72: JUMPI
00000d73: PUSH1 0x40
00000d75: DUP1
00000d76: MLOAD
00000d77: PUSH1 0x01
00000d79: PUSH1 0xe5
00000d7b: SHL
00000d7c: PUSH3 0x461bcd
00000d80: MUL
00000d81: DUP2
00000d82: MSTORE
00000d83: PUSH1 0x20
00000d85: PUSH1 0x04
00000d87: DUP3
00000d88: ADD
00000d89: MSTORE
00000d8a: PUSH1 0x0a
00000d8c: PUSH1 0x24
00000d8e: DUP3
00000d8f: ADD
00000d90: MSTORE
00000d91: PUSH1 0x01
00000d93: PUSH1 0xb2
00000d95: SHL
00000d96: PUSH10 0x1c994b595b9d195c9959
00000da1: MUL
00000da2: PUSH1 0x44
00000da4: DUP3
00000da5: ADD
00000da6: MSTORE
00000da7: SWAP1
00000da8: MLOAD
00000da9: SWAP1
00000daa: DUP2
00000dab: SWAP1
00000dac: SUB
00000dad: PUSH1 0x64
00000daf: ADD
00000db0: SWAP1
00000db1: REVERT
00000db2: JUMPDEST
00000db3: POP
00000db4: SWAP1
00000db5: JUMP
00000db6: JUMPDEST
00000db7: PUSH1 0x00
00000db9: PUSH2 0x0880
00000dbc: DUP3
00000dbd: PUSH2 0x2467
00000dc0: JUMP
00000dc1: JUMPDEST
00000dc2: PUSH1 0x0d
00000dc4: SLOAD
00000dc5: DUP2
00000dc6: JUMP
00000dc7: JUMPDEST
00000dc8: PUSH1 0x02
00000dca: DUP1
00000dcb: SLOAD
00000dcc: PUSH1 0x40
00000dce: DUP1
00000dcf: MLOAD
00000dd0: PUSH1 0x20
00000dd2: PUSH1 0x01
00000dd4: DUP5
00000dd5: AND
00000dd6: ISZERO
00000dd7: PUSH2 0x0100
00000dda: MUL
00000ddb: PUSH1 0x00
00000ddd: NOT
00000dde: ADD
00000ddf: SWAP1
00000de0: SWAP4
00000de1: AND
00000de2: DUP5
00000de3: SWAP1
00000de4: DIV
00000de5: PUSH1 0x1f
00000de7: DUP2
00000de8: ADD
00000de9: DUP5
00000dea: SWAP1
00000deb: DIV
00000dec: DUP5
00000ded: MUL
00000dee: DUP3
00000def: ADD
00000df0: DUP5
00000df1: ADD
00000df2: SWAP1
00000df3: SWAP3
00000df4: MSTORE
00000df5: DUP2
00000df6: DUP2
00000df7: MSTORE
00000df8: SWAP3
00000df9: SWAP2
00000dfa: DUP4
00000dfb: ADD
00000dfc: DUP3
00000dfd: DUP3
00000dfe: DUP1
00000dff: ISZERO
00000e00: PUSH2 0x0800
00000e03: JUMPI
00000e04: DUP1
00000e05: PUSH1 0x1f
00000e07: LT
00000e08: PUSH2 0x07d5
00000e0b: JUMPI
00000e0c: PUSH2 0x0100
00000e0f: DUP1
00000e10: DUP4
00000e11: SLOAD
00000e12: DIV
00000e13: MUL
00000e14: DUP4
00000e15: MSTORE
00000e16: SWAP2
00000e17: PUSH1 0x20
00000e19: ADD
00000e1a: SWAP2
00000e1b: PUSH2 0x0800
00000e1e: JUMP
00000e1f: JUMPDEST
00000e20: PUSH1 0x00
00000e22: DUP1
00000e23: PUSH1 0x00
00000e25: PUSH2 0x0e2d
00000e28: DUP5
00000e29: PUSH2 0x24a4
00000e2c: JUMP
00000e2d: JUMPDEST
00000e2e: SWAP1
00000e2f: SWAP3
00000e30: POP
00000e31: SWAP1
00000e32: POP
00000e33: PUSH1 0x00
00000e35: DUP3
00000e36: PUSH1 0x03
00000e38: DUP2
00000e39: GT
00000e3a: ISZERO
00000e3b: PUSH2 0x0e40
00000e3e: JUMPI
00000e3f: INVALID
00000e40: JUMPDEST
00000e41: EQ
00000e42: PUSH2 0x0a35
00000e45: JUMPI
00000e46: PUSH1 0x40
00000e48: MLOAD
00000e49: PUSH1 0x01
00000e4b: PUSH1 0xe5
00000e4d: SHL
00000e4e: PUSH3 0x461bcd
00000e52: MUL
00000e53: DUP2
00000e54: MSTORE
00000e55: PUSH1 0x04
00000e57: ADD
00000e58: DUP1
00000e59: DUP1
00000e5a: PUSH1 0x20
00000e5c: ADD
00000e5d: DUP3
00000e5e: DUP2
00000e5f: SUB
00000e60: DUP3
00000e61: MSTORE
00000e62: PUSH1 0x37
00000e64: DUP2
00000e65: MSTORE
00000e66: PUSH1 0x20
00000e68: ADD
00000e69: DUP1
00000e6a: PUSH2 0x4836
00000e6d: PUSH1 0x37
00000e6f: SWAP2
00000e70: CODECOPY
00000e71: PUSH1 0x40
00000e73: ADD
00000e74: SWAP2
00000e75: POP
00000e76: POP
00000e77: PUSH1 0x40
00000e79: MLOAD
00000e7a: DUP1
00000e7b: SWAP2
00000e7c: SUB
00000e7d: SWAP1
00000e7e: REVERT
00000e7f: JUMPDEST
00000e80: PUSH1 0x00
00000e82: PUSH2 0x0880
00000e85: DUP3
00000e86: PUSH2 0x2558
00000e89: JUMP
00000e8a: JUMPDEST
00000e8b: PUSH1 0x00
00000e8d: PUSH2 0x0e94
00000e90: PUSH2 0x46ce
00000e93: JUMP
00000e94: JUMPDEST
00000e95: PUSH1 0x07
00000e97: SLOAD
00000e98: PUSH1 0x01
00000e9a: PUSH1 0x01
00000e9c: PUSH1 0xa0
00000e9e: SHL
00000e9f: SUB
00000ea0: AND
00000ea1: PUSH4 0x15f24053
00000ea6: PUSH2 0x0ead
00000ea9: PUSH2 0x21fa
00000eac: JUMP
00000ead: JUMPDEST
00000eae: PUSH1 0x0c
00000eb0: SLOAD
00000eb1: PUSH1 0x0d
00000eb3: SLOAD
00000eb4: PUSH1 0x40
00000eb6: MLOAD
00000eb7: DUP5
00000eb8: PUSH4 0xffffffff
00000ebd: AND
00000ebe: PUSH1 0xe0
00000ec0: SHL
00000ec1: DUP2
00000ec2: MSTORE
00000ec3: PUSH1 0x04
00000ec5: ADD
00000ec6: DUP1
00000ec7: DUP5
00000ec8: DUP2
00000ec9: MSTORE
00000eca: PUSH1 0x20
00000ecc: ADD
00000ecd: DUP4
00000ece: DUP2
00000ecf: MSTORE
00000ed0: PUSH1 0x20
00000ed2: ADD
00000ed3: DUP3
00000ed4: DUP2
00000ed5: MSTORE
00000ed6: PUSH1 0x20
00000ed8: ADD
00000ed9: SWAP4
00000eda: POP
00000edb: POP
00000edc: POP
00000edd: POP
00000ede: PUSH1 0x40
00000ee0: DUP1
00000ee1: MLOAD
00000ee2: DUP1
00000ee3: DUP4
00000ee4: SUB
00000ee5: DUP2
00000ee6: DUP7
00000ee7: DUP1
00000ee8: EXTCODESIZE
00000ee9: ISZERO
00000eea: DUP1
00000eeb: ISZERO
00000eec: PUSH2 0x0ef4
00000eef: JUMPI
00000ef0: PUSH1 0x00
00000ef2: DUP1
00000ef3: REVERT
00000ef4: JUMPDEST
00000ef5: POP
00000ef6: GAS
00000ef7: STATICCALL
00000ef8: ISZERO
00000ef9: DUP1
00000efa: ISZERO
00000efb: PUSH2 0x0f08
00000efe: JUMPI
00000eff: RETURNDATASIZE
00000f00: PUSH1 0x00
00000f02: DUP1
00000f03: RETURNDATACOPY
00000f04: RETURNDATASIZE
00000f05: PUSH1 0x00
00000f07: REVERT
00000f08: JUMPDEST
00000f09: POP
00000f0a: POP
00000f0b: POP
00000f0c: POP
00000f0d: PUSH1 0x40
00000f0f: MLOAD
00000f10: RETURNDATASIZE
00000f11: PUSH1 0x40
00000f13: DUP2
00000f14: LT
00000f15: ISZERO
00000f16: PUSH2 0x0f1e
00000f19: JUMPI
00000f1a: PUSH1 0x00
00000f1c: DUP1
00000f1d: REVERT
00000f1e: JUMPDEST
00000f1f: POP
00000f20: DUP1
00000f21: MLOAD
00000f22: PUSH1 0x20
00000f24: SWAP2
00000f25: DUP3
00000f26: ADD
00000f27: MLOAD
00000f28: PUSH1 0x40
00000f2a: DUP5
00000f2b: ADD
00000f2c: DUP2
00000f2d: SWAP1
00000f2e: MSTORE
00000f2f: SWAP2
00000f30: DUP4
00000f31: ADD
00000f32: MSTORE
00000f33: PUSH7 0x01c6bf52634000
00000f3b: LT
00000f3c: ISZERO
00000f3d: PUSH2 0x0f90
00000f40: JUMPI
00000f41: PUSH1 0x40
00000f43: DUP1
00000f44: MLOAD
00000f45: PUSH1 0x01
00000f47: PUSH1 0xe5
00000f49: SHL
00000f4a: PUSH3 0x461bcd
00000f4e: MUL
00000f4f: DUP2
00000f50: MSTORE
00000f51: PUSH1 0x20
00000f53: PUSH1 0x04
00000f55: DUP3
00000f56: ADD
00000f57: MSTORE
00000f58: PUSH1 0x1c
00000f5a: PUSH1 0x24
00000f5c: DUP3
00000f5d: ADD
00000f5e: MSTORE
00000f5f: PUSH32 0x626f72726f772072617465206973206162737572646c79206869676800000000
00000f80: PUSH1 0x44
00000f82: DUP3
00000f83: ADD
00000f84: MSTORE
00000f85: SWAP1
00000f86: MLOAD
00000f87: SWAP1
00000f88: DUP2
00000f89: SWAP1
00000f8a: SUB
00000f8b: PUSH1 0x64
00000f8d: ADD
00000f8e: SWAP1
00000f8f: REVERT
00000f90: JUMPDEST
00000f91: PUSH1 0x20
00000f93: DUP2
00000f94: ADD
00000f95: MLOAD
00000f96: ISZERO
00000f97: PUSH2 0x0fb3
00000f9a: JUMPI
00000f9b: PUSH2 0x0fab
00000f9e: PUSH1 0x05
00000fa0: PUSH1 0x02
00000fa2: DUP4
00000fa3: PUSH1 0x20
00000fa5: ADD
00000fa6: MLOAD
00000fa7: PUSH2 0x2593
00000faa: JUMP
00000fab: JUMPDEST
00000fac: SWAP2
00000fad: POP
00000fae: POP
00000faf: PUSH2 0x09ba
00000fb2: JUMP
00000fb3: JUMPDEST
00000fb4: PUSH2 0x0fbb
00000fb7: PUSH2 0x25f9
00000fba: JUMP
00000fbb: JUMPDEST
00000fbc: PUSH1 0x60
00000fbe: DUP3
00000fbf: ADD
00000fc0: DUP2
00000fc1: SWAP1
00000fc2: MSTORE
00000fc3: PUSH1 0x0a
00000fc5: SLOAD
00000fc6: PUSH2 0x0fcf
00000fc9: SWAP2
00000fca: SWAP1
00000fcb: PUSH2 0x25fd
00000fce: JUMP
00000fcf: JUMPDEST
00000fd0: PUSH1 0x80
00000fd2: DUP4
00000fd3: ADD
00000fd4: DUP2
00000fd5: SWAP1
00000fd6: MSTORE
00000fd7: DUP3
00000fd8: DUP3
00000fd9: PUSH1 0x03
00000fdb: DUP2
00000fdc: GT
00000fdd: ISZERO
00000fde: PUSH2 0x0fe3
00000fe1: JUMPI
00000fe2: INVALID
00000fe3: JUMPDEST
00000fe4: PUSH1 0x03
00000fe6: DUP2
00000fe7: GT
00000fe8: ISZERO
00000fe9: PUSH2 0x0fee
00000fec: JUMPI
00000fed: INVALID
00000fee: JUMPDEST
00000fef: SWAP1
00000ff0: MSTORE
00000ff1: POP
00000ff2: PUSH1 0x00
00000ff4: SWAP1
00000ff5: POP
00000ff6: DUP2
00000ff7: MLOAD
00000ff8: PUSH1 0x03
00000ffa: DUP2
00000ffb: GT
00000ffc: ISZERO
00000ffd: PUSH2 0x1002
00001000: JUMPI
00001001: INVALID
00001002: JUMPDEST
00001003: EQ
00001004: PUSH2 0x1009
00001007: JUMPI
00001008: INVALID
00001009: JUMPDEST
0000100a: PUSH2 0x1029
0000100d: PUSH1 0x40
0000100f: MLOAD
00001010: DUP1
00001011: PUSH1 0x20
00001013: ADD
00001014: PUSH1 0x40
00001016: MSTORE
00001017: DUP1
00001018: DUP4
00001019: PUSH1 0x40
0000101b: ADD
0000101c: MLOAD
0000101d: DUP2
0000101e: MSTORE
0000101f: POP
00001020: DUP3
00001021: PUSH1 0x80
00001023: ADD
00001024: MLOAD
00001025: PUSH2 0x2620
00001028: JUMP
00001029: JUMPDEST
0000102a: PUSH1 0xa0
0000102c: DUP4
0000102d: ADD
0000102e: DUP2
0000102f: SWAP1
00001030: MSTORE
00001031: DUP3
00001032: DUP3
00001033: PUSH1 0x03
00001035: DUP2
00001036: GT
00001037: ISZERO
00001038: PUSH2 0x103d
0000103b: JUMPI
0000103c: INVALID
0000103d: JUMPDEST
0000103e: PUSH1 0x03
00001040: DUP2
00001041: GT
00001042: ISZERO
00001043: PUSH2 0x1048
00001046: JUMPI
00001047: INVALID
00001048: JUMPDEST
00001049: SWAP1
0000104a: MSTORE
0000104b: POP
0000104c: PUSH1 0x00
0000104e: SWAP1
0000104f: POP
00001050: DUP2
00001051: MLOAD
00001052: PUSH1 0x03
00001054: DUP2
00001055: GT
00001056: ISZERO
00001057: PUSH2 0x105c
0000105a: JUMPI
0000105b: INVALID
0000105c: JUMPDEST
0000105d: EQ
0000105e: PUSH2 0x107d
00001061: JUMPI
00001062: PUSH2 0x0fab
00001065: PUSH1 0x09
00001067: PUSH1 0x06
00001069: DUP4
0000106a: PUSH1 0x00
0000106c: ADD
0000106d: MLOAD
0000106e: PUSH1 0x03
00001070: DUP2
00001071: GT
00001072: ISZERO
00001073: PUSH2 0x1078
00001076: JUMPI
00001077: INVALID
00001078: JUMPDEST
00001079: PUSH2 0x2593
0000107c: JUMP
0000107d: JUMPDEST
0000107e: PUSH2 0x108d
00001081: DUP2
00001082: PUSH1 0xa0
00001084: ADD
00001085: MLOAD
00001086: PUSH1 0x0c
00001088: SLOAD
00001089: PUSH2 0x21a6
0000108c: JUMP
0000108d: JUMPDEST
0000108e: PUSH1 0xc0
00001090: DUP4
00001091: ADD
00001092: DUP2
00001093: SWAP1
00001094: MSTORE
00001095: DUP3
00001096: DUP3
00001097: PUSH1 0x03
00001099: DUP2
0000109a: GT
0000109b: ISZERO
0000109c: PUSH2 0x10a1
0000109f: JUMPI
000010a0: INVALID
000010a1: JUMPDEST
000010a2: PUSH1 0x03
000010a4: DUP2
000010a5: GT
000010a6: ISZERO
000010a7: PUSH2 0x10ac
000010aa: JUMPI
000010ab: INVALID
000010ac: JUMPDEST
000010ad: SWAP1
000010ae: MSTORE
000010af: POP
000010b0: PUSH1 0x00
000010b2: SWAP1
000010b3: POP
000010b4: DUP2
000010b5: MLOAD
000010b6: PUSH1 0x03
000010b8: DUP2
000010b9: GT
000010ba: ISZERO
000010bb: PUSH2 0x10c0
000010be: JUMPI
000010bf: INVALID
000010c0: JUMPDEST
000010c1: EQ
000010c2: PUSH2 0x10dc
000010c5: JUMPI
000010c6: PUSH2 0x0fab
000010c9: PUSH1 0x09
000010cb: PUSH1 0x01
000010cd: DUP4
000010ce: PUSH1 0x00
000010d0: ADD
000010d1: MLOAD
000010d2: PUSH1 0x03
000010d4: DUP2
000010d5: GT
000010d6: ISZERO
000010d7: PUSH2 0x1078
000010da: JUMPI
000010db: INVALID
000010dc: JUMPDEST
000010dd: PUSH2 0x10ec
000010e0: DUP2
000010e1: PUSH1 0xc0
000010e3: ADD
000010e4: MLOAD
000010e5: PUSH1 0x0c
000010e7: SLOAD
000010e8: PUSH2 0x2688
000010eb: JUMP
000010ec: JUMPDEST
000010ed: PUSH1 0xe0
000010ef: DUP4
000010f0: ADD
000010f1: DUP2
000010f2: SWAP1
000010f3: MSTORE
000010f4: DUP3
000010f5: DUP3
000010f6: PUSH1 0x03
000010f8: DUP2
000010f9: GT
000010fa: ISZERO
000010fb: PUSH2 0x1100
000010fe: JUMPI
000010ff: INVALID
00001100: JUMPDEST
00001101: PUSH1 0x03
00001103: DUP2
00001104: GT
00001105: ISZERO
00001106: PUSH2 0x110b
00001109: JUMPI
0000110a: INVALID
0000110b: JUMPDEST
0000110c: SWAP1
0000110d: MSTORE
0000110e: POP
0000110f: PUSH1 0x00
00001111: SWAP1
00001112: POP
00001113: DUP2
00001114: MLOAD
00001115: PUSH1 0x03
00001117: DUP2
00001118: GT
00001119: ISZERO
0000111a: PUSH2 0x111f
0000111d: JUMPI
0000111e: INVALID
0000111f: JUMPDEST
00001120: EQ
00001121: PUSH2 0x113b
00001124: JUMPI
00001125: PUSH2 0x0fab
00001128: PUSH1 0x09
0000112a: PUSH1 0x04
0000112c: DUP4
0000112d: PUSH1 0x00
0000112f: ADD
00001130: MLOAD
00001131: PUSH1 0x03
00001133: DUP2
00001134: GT
00001135: ISZERO
00001136: PUSH2 0x1078
00001139: JUMPI
0000113a: INVALID
0000113b: JUMPDEST
0000113c: PUSH2 0x115c
0000113f: PUSH1 0x40
00001141: MLOAD
00001142: DUP1
00001143: PUSH1 0x20
00001145: ADD
00001146: PUSH1 0x40
00001148: MSTORE
00001149: DUP1
0000114a: PUSH1 0x09
0000114c: SLOAD
0000114d: DUP2
0000114e: MSTORE
0000114f: POP
00001150: DUP3
00001151: PUSH1 0xc0
00001153: ADD
00001154: MLOAD
00001155: PUSH1 0x0d
00001157: SLOAD
00001158: PUSH2 0x26ae
0000115b: JUMP
0000115c: JUMPDEST
0000115d: PUSH2 0x0100
00001160: DUP4
00001161: ADD
00001162: DUP2
00001163: SWAP1
00001164: MSTORE
00001165: DUP3
00001166: DUP3
00001167: PUSH1 0x03
00001169: DUP2
0000116a: GT
0000116b: ISZERO
0000116c: PUSH2 0x1171
0000116f: JUMPI
00001170: INVALID
00001171: JUMPDEST
00001172: PUSH1 0x03
00001174: DUP2
00001175: GT
00001176: ISZERO
00001177: PUSH2 0x117c
0000117a: JUMPI
0000117b: INVALID
0000117c: JUMPDEST
0000117d: SWAP1
0000117e: MSTORE
0000117f: POP
00001180: PUSH1 0x00
00001182: SWAP1
00001183: POP
00001184: DUP2
00001185: MLOAD
00001186: PUSH1 0x03
00001188: DUP2
00001189: GT
0000118a: ISZERO
0000118b: PUSH2 0x1190
0000118e: JUMPI
0000118f: INVALID
00001190: JUMPDEST
00001191: EQ
00001192: PUSH2 0x11ac
00001195: JUMPI
00001196: PUSH2 0x0fab
00001199: PUSH1 0x09
0000119b: PUSH1 0x05
0000119d: DUP4
0000119e: PUSH1 0x00
000011a0: ADD
000011a1: MLOAD
000011a2: PUSH1 0x03
000011a4: DUP2
000011a5: GT
000011a6: ISZERO
000011a7: PUSH2 0x1078
000011aa: JUMPI
000011ab: INVALID
000011ac: JUMPDEST
000011ad: PUSH2 0x11bf
000011b0: DUP2
000011b1: PUSH1 0xa0
000011b3: ADD
000011b4: MLOAD
000011b5: PUSH1 0x0b
000011b7: SLOAD
000011b8: PUSH1 0x0b
000011ba: SLOAD
000011bb: PUSH2 0x26ae
000011be: JUMP
000011bf: JUMPDEST
000011c0: PUSH2 0x0120
000011c3: DUP4
000011c4: ADD
000011c5: DUP2
000011c6: SWAP1
000011c7: MSTORE
000011c8: DUP3
000011c9: DUP3
000011ca: PUSH1 0x03
000011cc: DUP2
000011cd: GT
000011ce: ISZERO
000011cf: PUSH2 0x11d4
000011d2: JUMPI
000011d3: INVALID
000011d4: JUMPDEST
000011d5: PUSH1 0x03
000011d7: DUP2
000011d8: GT
000011d9: ISZERO
000011da: PUSH2 0x11df
000011dd: JUMPI
000011de: INVALID
000011df: JUMPDEST
000011e0: SWAP1
000011e1: MSTORE
000011e2: POP
000011e3: PUSH1 0x00
000011e5: SWAP1
000011e6: POP
000011e7: DUP2
000011e8: MLOAD
000011e9: PUSH1 0x03
000011eb: DUP2
000011ec: GT
000011ed: ISZERO
000011ee: PUSH2 0x11f3
000011f1: JUMPI
000011f2: INVALID
000011f3: JUMPDEST
000011f4: EQ
000011f5: PUSH2 0x120f
000011f8: JUMPI
000011f9: PUSH2 0x0fab
000011fc: PUSH1 0x09
000011fe: PUSH1 0x03
00001200: DUP4
00001201: PUSH1 0x00
00001203: ADD
00001204: MLOAD
00001205: PUSH1 0x03
00001207: DUP2
00001208: GT
00001209: ISZERO
0000120a: PUSH2 0x1078
0000120d: JUMPI
0000120e: INVALID
0000120f: JUMPDEST
00001210: PUSH1 0x60
00001212: DUP1
00001213: DUP3
00001214: ADD
00001215: MLOAD
00001216: PUSH1 0x0a
00001218: SSTORE
00001219: PUSH2 0x0120
0000121c: DUP3
0000121d: ADD
0000121e: MLOAD
0000121f: PUSH1 0x0b
00001221: DUP2
00001222: SWAP1
00001223: SSTORE
00001224: PUSH1 0xe0
00001226: DUP4
00001227: ADD
00001228: MLOAD
00001229: PUSH1 0x0c
0000122b: DUP2
0000122c: SWAP1
0000122d: SSTORE
0000122e: PUSH2 0x0100
00001231: DUP5
00001232: ADD
00001233: MLOAD
00001234: PUSH1 0x0d
00001236: SSTORE
00001237: PUSH1 0xc0
00001239: DUP5
0000123a: ADD
0000123b: MLOAD
0000123c: PUSH1 0x40
0000123e: DUP1
0000123f: MLOAD
00001240: SWAP2
00001241: DUP3
00001242: MSTORE
00001243: PUSH1 0x20
00001245: DUP3
00001246: ADD
00001247: SWAP4
00001248: SWAP1
00001249: SWAP4
0000124a: MSTORE
0000124b: DUP1
0000124c: DUP4
0000124d: ADD
0000124e: SWAP2
0000124f: SWAP1
00001250: SWAP2
00001251: MSTORE
00001252: SWAP1
00001253: MLOAD
00001254: PUSH32 0x875352fb3fadeb8c0be7cbbe8ff761b308fa7033470cd0287f02f3436fd76cb9
00001275: SWAP3
00001276: SWAP2
00001277: DUP2
00001278: SWAP1
00001279: SUB
0000127a: SWAP1
0000127b: SWAP2
0000127c: ADD
0000127d: SWAP1
0000127e: LOG1
0000127f: PUSH1 0x00
00001281: SWAP2
00001282: POP
00001283: POP
00001284: SWAP1
00001285: JUMP
00001286: JUMPDEST
00001287: PUSH1 0x00
00001289: DUP1
0000128a: SLOAD
0000128b: PUSH1 0x01
0000128d: ADD
0000128e: DUP1
0000128f: DUP3
00001290: SSTORE
00001291: DUP2
00001292: PUSH2 0x129d
00001295: CALLER
00001296: CALLER
00001297: DUP8
00001298: DUP8
00001299: PUSH2 0x1e02
0000129c: JUMP
0000129d: JUMPDEST
0000129e: EQ
0000129f: SWAP2
000012a0: POP
000012a1: JUMPDEST
000012a2: PUSH1 0x00
000012a4: SLOAD
000012a5: DUP2
000012a6: EQ
000012a7: PUSH2 0x12ea
000012aa: JUMPI
000012ab: PUSH1 0x40
000012ad: DUP1
000012ae: MLOAD
000012af: PUSH1 0x01
000012b1: PUSH1 0xe5
000012b3: SHL
000012b4: PUSH3 0x461bcd
000012b8: MUL
000012b9: DUP2
000012ba: MSTORE
000012bb: PUSH1 0x20
000012bd: PUSH1 0x04
000012bf: DUP3
000012c0: ADD
000012c1: MSTORE
000012c2: PUSH1 0x0a
000012c4: PUSH1 0x24
000012c6: DUP3
000012c7: ADD
000012c8: MSTORE
000012c9: PUSH1 0x01
000012cb: PUSH1 0xb2
000012cd: SHL
000012ce: PUSH10 0x1c994b595b9d195c9959
000012d9: MUL
000012da: PUSH1 0x44
000012dc: DUP3
000012dd: ADD
000012de: MSTORE
000012df: SWAP1
000012e0: MLOAD
000012e1: SWAP1
000012e2: DUP2
000012e3: SWAP1
000012e4: SUB
000012e5: PUSH1 0x64
000012e7: ADD
000012e8: SWAP1
000012e9: REVERT
000012ea: JUMPDEST
000012eb: POP
000012ec: SWAP3
000012ed: SWAP2
000012ee: POP
000012ef: POP
000012f0: JUMP
000012f1: JUMPDEST
000012f2: PUSH1 0x0b
000012f4: SLOAD
000012f5: DUP2
000012f6: JUMP
000012f7: JUMPDEST
000012f8: PUSH1 0x00
000012fa: DUP1
000012fb: PUSH2 0x1302
000012fe: PUSH2 0x0957
00001301: JUMP
00001302: JUMPDEST
00001303: PUSH1 0x07
00001305: SLOAD
00001306: SWAP1
00001307: SWAP2
00001308: POP
00001309: PUSH1 0x00
0000130b: SWAP1
0000130c: DUP2
0000130d: SWAP1
0000130e: PUSH1 0x01
00001310: PUSH1 0x01
00001312: PUSH1 0xa0
00001314: SHL
00001315: SUB
00001316: AND
00001317: PUSH4 0x15f24053
0000131c: PUSH2 0x1323
0000131f: PUSH2 0x21fa
00001322: JUMP
00001323: JUMPDEST
00001324: PUSH1 0x0c
00001326: SLOAD
00001327: PUSH1 0x0d
00001329: SLOAD
0000132a: PUSH1 0x40
0000132c: MLOAD
0000132d: DUP5
0000132e: PUSH4 0xffffffff
00001333: AND
00001334: PUSH1 0xe0
00001336: SHL
00001337: DUP2
00001338: MSTORE
00001339: PUSH1 0x04
0000133b: ADD
0000133c: DUP1
0000133d: DUP5
0000133e: DUP2
0000133f: MSTORE
00001340: PUSH1 0x20
00001342: ADD
00001343: DUP4
00001344: DUP2
00001345: MSTORE
00001346: PUSH1 0x20
00001348: ADD
00001349: DUP3
0000134a: DUP2
0000134b: MSTORE
0000134c: PUSH1 0x20
0000134e: ADD
0000134f: SWAP4
00001350: POP
00001351: POP
00001352: POP
00001353: POP
00001354: PUSH1 0x40
00001356: DUP1
00001357: MLOAD
00001358: DUP1
00001359: DUP4
0000135a: SUB
0000135b: DUP2
0000135c: DUP7
0000135d: DUP1
0000135e: EXTCODESIZE
0000135f: ISZERO
00001360: DUP1
00001361: ISZERO
00001362: PUSH2 0x136a
00001365: JUMPI
00001366: PUSH1 0x00
00001368: DUP1
00001369: REVERT
0000136a: JUMPDEST
0000136b: POP
0000136c: GAS
0000136d: STATICCALL
0000136e: ISZERO
0000136f: DUP1
00001370: ISZERO
00001371: PUSH2 0x137e
00001374: JUMPI
00001375: RETURNDATASIZE
00001376: PUSH1 0x00
00001378: DUP1
00001379: RETURNDATACOPY
0000137a: RETURNDATASIZE
0000137b: PUSH1 0x00
0000137d: REVERT
0000137e: JUMPDEST
0000137f: POP
00001380: POP
00001381: POP
00001382: POP
00001383: PUSH1 0x40
00001385: MLOAD
00001386: RETURNDATASIZE
00001387: PUSH1 0x40
00001389: DUP2
0000138a: LT
0000138b: ISZERO
0000138c: PUSH2 0x1394
0000138f: JUMPI
00001390: PUSH1 0x00
00001392: DUP1
00001393: REVERT
00001394: JUMPDEST
00001395: POP
00001396: DUP1
00001397: MLOAD
00001398: PUSH1 0x20
0000139a: SWAP1
0000139b: SWAP2
0000139c: ADD
0000139d: MLOAD
0000139e: SWAP1
0000139f: SWAP3
000013a0: POP
000013a1: SWAP1
000013a2: POP
000013a3: DUP2
000013a4: ISZERO
000013a5: PUSH2 0x13e2
000013a8: JUMPI
000013a9: PUSH1 0x40
000013ab: MLOAD
000013ac: PUSH1 0x01
000013ae: PUSH1 0xe5
000013b0: SHL
000013b1: PUSH3 0x461bcd
000013b5: MUL
000013b6: DUP2
000013b7: MSTORE
000013b8: PUSH1 0x04
000013ba: ADD
000013bb: DUP1
000013bc: DUP1
000013bd: PUSH1 0x20
000013bf: ADD
000013c0: DUP3
000013c1: DUP2
000013c2: SUB
000013c3: DUP3
000013c4: MSTORE
000013c5: PUSH1 0x31
000013c7: DUP2
000013c8: MSTORE
000013c9: PUSH1 0x20
000013cb: ADD
000013cc: DUP1
000013cd: PUSH2 0x48d5
000013d0: PUSH1 0x31
000013d2: SWAP2
000013d3: CODECOPY
000013d4: PUSH1 0x40
000013d6: ADD
000013d7: SWAP2
000013d8: POP
000013d9: POP
000013da: PUSH1 0x40
000013dc: MLOAD
000013dd: DUP1
000013de: SWAP2
000013df: SUB
000013e0: SWAP1
000013e1: REVERT
000013e2: JUMPDEST
000013e3: PUSH1 0x00
000013e5: PUSH2 0x13ec
000013e8: PUSH2 0x46bb
000013eb: JUMP
000013ec: JUMPDEST
000013ed: PUSH2 0x1406
000013f0: PUSH1 0x40
000013f2: MLOAD
000013f3: DUP1
000013f4: PUSH1 0x20
000013f6: ADD
000013f7: PUSH1 0x40
000013f9: MSTORE
000013fa: DUP1
000013fb: DUP8
000013fc: DUP2
000013fd: MSTORE
000013fe: POP
000013ff: PUSH1 0x0e
00001401: SLOAD
00001402: PUSH2 0x2620
00001405: JUMP
00001406: JUMPDEST
00001407: SWAP1
00001408: SWAP3
00001409: POP
0000140a: SWAP1
0000140b: POP
0000140c: PUSH1 0x00
0000140e: DUP3
0000140f: PUSH1 0x03
00001411: DUP2
00001412: GT
00001413: ISZERO
00001414: PUSH2 0x1419
00001417: JUMPI
00001418: INVALID
00001419: JUMPDEST
0000141a: EQ
0000141b: PUSH2 0x1458
0000141e: JUMPI
0000141f: PUSH1 0x40
00001421: MLOAD
00001422: PUSH1 0x01
00001424: PUSH1 0xe5
00001426: SHL
00001427: PUSH3 0x461bcd
0000142b: MUL
0000142c: DUP2
0000142d: MSTORE
0000142e: PUSH1 0x04
00001430: ADD
00001431: DUP1
00001432: DUP1
00001433: PUSH1 0x20
00001435: ADD
00001436: DUP3
00001437: DUP2
00001438: SUB
00001439: DUP3
0000143a: MSTORE
0000143b: PUSH1 0x31
0000143d: DUP2
0000143e: MSTORE
0000143f: PUSH1 0x20
00001441: ADD
00001442: DUP1
00001443: PUSH2 0x486d
00001446: PUSH1 0x31
00001448: SWAP2
00001449: CODECOPY
0000144a: PUSH1 0x40
0000144c: ADD
0000144d: SWAP2
0000144e: POP
0000144f: POP
00001450: PUSH1 0x40
00001452: MLOAD
00001453: DUP1
00001454: SWAP2
00001455: SUB
00001456: SWAP1
00001457: REVERT
00001458: JUMPDEST
00001459: PUSH1 0x00
0000145b: PUSH2 0x1462
0000145e: PUSH2 0x46bb
00001461: JUMP
00001462: JUMPDEST
00001463: PUSH2 0x146e
00001466: PUSH1 0x0c
00001468: SLOAD
00001469: DUP5
0000146a: PUSH2 0x270a
0000146d: JUMP
0000146e: JUMPDEST
0000146f: SWAP1
00001470: SWAP3
00001471: POP
00001472: SWAP1
00001473: POP
00001474: PUSH1 0x00
00001476: DUP3
00001477: PUSH1 0x03
00001479: DUP2
0000147a: GT
0000147b: ISZERO
0000147c: PUSH2 0x1481
0000147f: JUMPI
00001480: INVALID
00001481: JUMPDEST
00001482: EQ
00001483: PUSH2 0x14c0
00001486: JUMPI
00001487: PUSH1 0x40
00001489: MLOAD
0000148a: PUSH1 0x01
0000148c: PUSH1 0xe5
0000148e: SHL
0000148f: PUSH3 0x461bcd
00001493: MUL
00001494: DUP2
00001495: MSTORE
00001496: PUSH1 0x04
00001498: ADD
00001499: DUP1
0000149a: DUP1
0000149b: PUSH1 0x20
0000149d: ADD
0000149e: DUP3
0000149f: DUP2
000014a0: SUB
000014a1: DUP3
000014a2: MSTORE
000014a3: PUSH1 0x31
000014a5: DUP2
000014a6: MSTORE
000014a7: PUSH1 0x20
000014a9: ADD
000014aa: DUP1
000014ab: PUSH2 0x47b1
000014ae: PUSH1 0x31
000014b0: SWAP2
000014b1: CODECOPY
000014b2: PUSH1 0x40
000014b4: ADD
000014b5: SWAP2
000014b6: POP
000014b7: POP
000014b8: PUSH1 0x40
000014ba: MLOAD
000014bb: DUP1
000014bc: SWAP2
000014bd: SUB
000014be: SWAP1
000014bf: REVERT
000014c0: JUMPDEST
000014c1: PUSH1 0x00
000014c3: PUSH2 0x14ca
000014c6: PUSH2 0x46bb
000014c9: JUMP
000014ca: JUMPDEST
000014cb: PUSH2 0x14fa
000014ce: PUSH1 0x40
000014d0: MLOAD
000014d1: DUP1
000014d2: PUSH1 0x20
000014d4: ADD
000014d5: PUSH1 0x40
000014d7: MSTORE
000014d8: DUP1
000014d9: PUSH8 0x0de0b6b3a7640000
000014e2: DUP2
000014e3: MSTORE
000014e4: POP
000014e5: PUSH1 0x40
000014e7: MLOAD
000014e8: DUP1
000014e9: PUSH1 0x20
000014eb: ADD
000014ec: PUSH1 0x40
000014ee: MSTORE
000014ef: DUP1
000014f0: PUSH1 0x09
000014f2: SLOAD
000014f3: DUP2
000014f4: MSTORE
000014f5: POP
000014f6: PUSH2 0x2769
000014f9: JUMP
000014fa: JUMPDEST
000014fb: SWAP1
000014fc: SWAP3
000014fd: POP
000014fe: SWAP1
000014ff: POP
00001500: PUSH1 0x00
00001502: DUP3
00001503: PUSH1 0x03
00001505: DUP2
00001506: GT
00001507: ISZERO
00001508: PUSH2 0x150d
0000150b: JUMPI
0000150c: INVALID
0000150d: JUMPDEST
0000150e: EQ
0000150f: PUSH2 0x154c
00001512: JUMPI
00001513: PUSH1 0x40
00001515: MLOAD
00001516: PUSH1 0x01
00001518: PUSH1 0xe5
0000151a: SHL
0000151b: PUSH3 0x461bcd
0000151f: MUL
00001520: DUP2
00001521: MSTORE
00001522: PUSH1 0x04
00001524: ADD
00001525: DUP1
00001526: DUP1
00001527: PUSH1 0x20
00001529: ADD
0000152a: DUP3
0000152b: DUP2
0000152c: SUB
0000152d: DUP3
0000152e: MSTORE
0000152f: PUSH1 0x3c
00001531: DUP2
00001532: MSTORE
00001533: PUSH1 0x20
00001535: ADD
00001536: DUP1
00001537: PUSH2 0x4926
0000153a: PUSH1 0x3c
0000153c: SWAP2
0000153d: CODECOPY
0000153e: PUSH1 0x40
00001540: ADD
00001541: SWAP2
00001542: POP
00001543: POP
00001544: PUSH1 0x40
00001546: MLOAD
00001547: DUP1
00001548: SWAP2
00001549: SUB
0000154a: SWAP1
0000154b: REVERT
0000154c: JUMPDEST
0000154d: PUSH1 0x00
0000154f: PUSH2 0x1556
00001552: PUSH2 0x46bb
00001555: JUMP
00001556: JUMPDEST
00001557: PUSH2 0x156f
0000155a: PUSH1 0x40
0000155c: MLOAD
0000155d: DUP1
0000155e: PUSH1 0x20
00001560: ADD
00001561: PUSH1 0x40
00001563: MSTORE
00001564: DUP1
00001565: DUP12
00001566: DUP2
00001567: MSTORE
00001568: POP
00001569: DUP5
0000156a: DUP8
0000156b: PUSH2 0x27a3
0000156e: JUMP
0000156f: JUMPDEST
00001570: SWAP1
00001571: SWAP3
00001572: POP
00001573: SWAP1
00001574: POP
00001575: PUSH1 0x00
00001577: DUP3
00001578: PUSH1 0x03
0000157a: DUP2
0000157b: GT
0000157c: ISZERO
0000157d: PUSH2 0x1582
00001580: JUMPI
00001581: INVALID
00001582: JUMPDEST
00001583: EQ
00001584: PUSH2 0x15c1
00001587: JUMPI
00001588: PUSH1 0x40
0000158a: MLOAD
0000158b: PUSH1 0x01
0000158d: PUSH1 0xe5
0000158f: SHL
00001590: PUSH3 0x461bcd
00001594: MUL
00001595: DUP2
00001596: MSTORE
00001597: PUSH1 0x04
00001599: ADD
0000159a: DUP1
0000159b: DUP1
0000159c: PUSH1 0x20
0000159e: ADD
0000159f: DUP3
000015a0: DUP2
000015a1: SUB
000015a2: DUP3
000015a3: MSTORE
000015a4: PUSH1 0x31
000015a6: DUP2
000015a7: MSTORE
000015a8: PUSH1 0x20
000015aa: ADD
000015ab: DUP1
000015ac: PUSH2 0x4805
000015af: PUSH1 0x31
000015b1: SWAP2
000015b2: CODECOPY
000015b3: PUSH1 0x40
000015b5: ADD
000015b6: SWAP2
000015b7: POP
000015b8: POP
000015b9: PUSH1 0x40
000015bb: MLOAD
000015bc: DUP1
000015bd: SWAP2
000015be: SUB
000015bf: SWAP1
000015c0: REVERT
000015c1: JUMPDEST
000015c2: MLOAD
000015c3: SWAP11
000015c4: POP
000015c5: POP
000015c6: POP
000015c7: POP
000015c8: POP
000015c9: POP
000015ca: POP
000015cb: POP
000015cc: POP
000015cd: POP
000015ce: POP
000015cf: SWAP1
000015d0: JUMP
000015d1: JUMPDEST
000015d2: PUSH1 0x00
000015d4: DUP1
000015d5: SLOAD
000015d6: PUSH1 0x01
000015d8: ADD
000015d9: DUP1
000015da: DUP3
000015db: SSTORE
000015dc: PUSH1 0x06
000015de: SLOAD
000015df: PUSH1 0x40
000015e1: DUP1
000015e2: MLOAD
000015e3: PUSH1 0x01
000015e5: PUSH1 0xe0
000015e7: SHL
000015e8: PUSH4 0xd02f7351
000015ed: MUL
000015ee: DUP2
000015ef: MSTORE
000015f0: ADDRESS
000015f1: PUSH1 0x04
000015f3: DUP3
000015f4: ADD
000015f5: MSTORE
000015f6: CALLER
000015f7: PUSH1 0x24
000015f9: DUP3
000015fa: ADD
000015fb: MSTORE
000015fc: PUSH1 0x01
000015fe: PUSH1 0x01
00001600: PUSH1 0xa0
00001602: SHL
00001603: SUB
00001604: DUP9
00001605: DUP2
00001606: AND
00001607: PUSH1 0x44
00001609: DUP4
0000160a: ADD
0000160b: MSTORE
0000160c: DUP8
0000160d: DUP2
0000160e: AND
0000160f: PUSH1 0x64
00001611: DUP4
00001612: ADD
00001613: MSTORE
00001614: PUSH1 0x84
00001616: DUP3
00001617: ADD
00001618: DUP8
00001619: SWAP1
0000161a: MSTORE
0000161b: SWAP2
0000161c: MLOAD
0000161d: DUP6
0000161e: SWAP4
0000161f: SWAP3
00001620: SWAP1
00001621: SWAP3
00001622: AND
00001623: SWAP2
00001624: PUSH4 0xd02f7351
00001629: SWAP2
0000162a: PUSH1 0xa4
0000162c: DUP1
0000162d: DUP3
0000162e: ADD
0000162f: SWAP3
00001630: PUSH1 0x20
00001632: SWAP3
00001633: SWAP1
00001634: SWAP2
00001635: SWAP1
00001636: DUP3
00001637: SWAP1
00001638: SUB
00001639: ADD
0000163a: DUP2
0000163b: DUP8
0000163c: DUP8
0000163d: DUP1
0000163e: EXTCODESIZE
0000163f: ISZERO
00001640: DUP1
00001641: ISZERO
00001642: PUSH2 0x164a
00001645: JUMPI
00001646: PUSH1 0x00
00001648: DUP1
00001649: REVERT
0000164a: JUMPDEST
0000164b: POP
0000164c: GAS
0000164d: CALL
0000164e: ISZERO
0000164f: DUP1
00001650: ISZERO
00001651: PUSH2 0x165e
00001654: JUMPI
00001655: RETURNDATASIZE
00001656: PUSH1 0x00
00001658: DUP1
00001659: RETURNDATACOPY
0000165a: RETURNDATASIZE
0000165b: PUSH1 0x00
0000165d: REVERT
0000165e: JUMPDEST
0000165f: POP
00001660: POP
00001661: POP
00001662: POP
00001663: PUSH1 0x40
00001665: MLOAD
00001666: RETURNDATASIZE
00001667: PUSH1 0x20
00001669: DUP2
0000166a: LT
0000166b: ISZERO
0000166c: PUSH2 0x1674
0000166f: JUMPI
00001670: PUSH1 0x00
00001672: DUP1
00001673: REVERT
00001674: JUMPDEST
00001675: POP
00001676: MLOAD
00001677: SWAP1
00001678: POP
00001679: DUP1
0000167a: ISZERO
0000167b: PUSH2 0x1693
0000167e: JUMPI
0000167f: PUSH2 0x168b
00001682: PUSH1 0x03
00001684: PUSH1 0x1b
00001686: DUP4
00001687: PUSH2 0x2593
0000168a: JUMP
0000168b: JUMPDEST
0000168c: SWAP3
0000168d: POP
0000168e: POP
0000168f: PUSH2 0x09d8
00001692: JUMP
00001693: JUMPDEST
00001694: DUP6
00001695: PUSH1 0x01
00001697: PUSH1 0x01
00001699: PUSH1 0xa0
0000169b: SHL
0000169c: SUB
0000169d: AND
0000169e: DUP6
0000169f: PUSH1 0x01
000016a1: PUSH1 0x01
000016a3: PUSH1 0xa0
000016a5: SHL
000016a6: SUB
000016a7: AND
000016a8: EQ
000016a9: ISZERO
000016aa: PUSH2 0x16b9
000016ad: JUMPI
000016ae: PUSH2 0x168b
000016b1: PUSH1 0x06
000016b3: PUSH1 0x1c
000016b5: PUSH2 0x227d
000016b8: JUMP
000016b9: JUMPDEST
000016ba: PUSH1 0x01
000016bc: PUSH1 0x01
000016be: PUSH1 0xa0
000016c0: SHL
000016c1: SUB
000016c2: DUP6
000016c3: AND
000016c4: PUSH1 0x00
000016c6: SWAP1
000016c7: DUP2
000016c8: MSTORE
000016c9: PUSH1 0x0f
000016cb: PUSH1 0x20
000016cd: MSTORE
000016ce: PUSH1 0x40
000016d0: DUP2
000016d1: KECCAK256
000016d2: SLOAD
000016d3: DUP2
000016d4: SWAP1
000016d5: DUP2
000016d6: SWAP1
000016d7: PUSH2 0x16e0
000016da: SWAP1
000016db: DUP9
000016dc: PUSH2 0x25fd
000016df: JUMP
000016e0: JUMPDEST
000016e1: SWAP1
000016e2: SWAP4
000016e3: POP
000016e4: SWAP2
000016e5: POP
000016e6: PUSH1 0x00
000016e8: DUP4
000016e9: PUSH1 0x03
000016eb: DUP2
000016ec: GT
000016ed: ISZERO
000016ee: PUSH2 0x16f3
000016f1: JUMPI
000016f2: INVALID
000016f3: JUMPDEST
000016f4: EQ
000016f5: PUSH2 0x1716
000016f8: JUMPI
000016f9: PUSH2 0x170b
000016fc: PUSH1 0x09
000016fe: PUSH1 0x1a
00001700: DUP6
00001701: PUSH1 0x03
00001703: DUP2
00001704: GT
00001705: ISZERO
00001706: PUSH2 0x1078
00001709: JUMPI
0000170a: INVALID
0000170b: JUMPDEST
0000170c: SWAP6
0000170d: POP
0000170e: POP
0000170f: POP
00001710: POP
00001711: POP
00001712: PUSH2 0x09d8
00001715: JUMP
00001716: JUMPDEST
00001717: PUSH1 0x01
00001719: PUSH1 0x01
0000171b: PUSH1 0xa0
0000171d: SHL
0000171e: SUB
0000171f: DUP10
00001720: AND
00001721: PUSH1 0x00
00001723: SWAP1
00001724: DUP2
00001725: MSTORE
00001726: PUSH1 0x0f
00001728: PUSH1 0x20
0000172a: MSTORE
0000172b: PUSH1 0x40
0000172d: SWAP1
0000172e: KECCAK256
0000172f: SLOAD
00001730: PUSH2 0x1739
00001733: SWAP1
00001734: DUP9
00001735: PUSH2 0x2688
00001738: JUMP
00001739: JUMPDEST
0000173a: SWAP1
0000173b: SWAP4
0000173c: POP
0000173d: SWAP1
0000173e: POP
0000173f: PUSH1 0x00
00001741: DUP4
00001742: PUSH1 0x03
00001744: DUP2
00001745: GT
00001746: ISZERO
00001747: PUSH2 0x174c
0000174a: JUMPI
0000174b: INVALID
0000174c: JUMPDEST
0000174d: EQ
0000174e: PUSH2 0x1764
00001751: JUMPI
00001752: PUSH2 0x170b
00001755: PUSH1 0x09
00001757: PUSH1 0x19
00001759: DUP6
0000175a: PUSH1 0x03
0000175c: DUP2
0000175d: GT
0000175e: ISZERO
0000175f: PUSH2 0x1078
00001762: JUMPI
00001763: INVALID
00001764: JUMPDEST
00001765: PUSH1 0x01
00001767: PUSH1 0x01
00001769: PUSH1 0xa0
0000176b: SHL
0000176c: SUB
0000176d: DUP1
0000176e: DUP10
0000176f: AND
00001770: PUSH1 0x00
00001772: DUP2
00001773: DUP2
00001774: MSTORE
00001775: PUSH1 0x0f
00001777: PUSH1 0x20
00001779: SWAP1
0000177a: DUP2
0000177b: MSTORE
0000177c: PUSH1 0x40
0000177e: DUP1
0000177f: DUP4
00001780: KECCAK256
00001781: DUP8
00001782: SWAP1
00001783: SSTORE
00001784: SWAP4
00001785: DUP14
00001786: AND
00001787: DUP1
00001788: DUP4
00001789: MSTORE
0000178a: SWAP2
0000178b: DUP5
0000178c: SWAP1
0000178d: KECCAK256
0000178e: DUP6
0000178f: SWAP1
00001790: SSTORE
00001791: DUP4
00001792: MLOAD
00001793: DUP12
00001794: DUP2
00001795: MSTORE
00001796: SWAP4
00001797: MLOAD
00001798: SWAP2
00001799: SWAP4
0000179a: PUSH1 0x00
0000179c: DUP1
0000179d: MLOAD
0000179e: PUSH1 0x20
000017a0: PUSH2 0x4906
000017a3: DUP4
000017a4: CODECOPY
000017a5: DUP2
000017a6: MLOAD
000017a7: SWAP2
000017a8: MSTORE
000017a9: SWAP3
000017aa: SWAP1
000017ab: DUP2
000017ac: SWAP1
000017ad: SUB
000017ae: SWAP1
000017af: SWAP2
000017b0: ADD
000017b1: SWAP1
000017b2: LOG3
000017b3: PUSH1 0x06
000017b5: SLOAD
000017b6: PUSH1 0x40
000017b8: DUP1
000017b9: MLOAD
000017ba: PUSH1 0x01
000017bc: PUSH1 0xe0
000017be: SHL
000017bf: PUSH4 0x6d35bf91
000017c4: MUL
000017c5: DUP2
000017c6: MSTORE
000017c7: ADDRESS
000017c8: PUSH1 0x04
000017ca: DUP3
000017cb: ADD
000017cc: MSTORE
000017cd: CALLER
000017ce: PUSH1 0x24
000017d0: DUP3
000017d1: ADD
000017d2: MSTORE
000017d3: PUSH1 0x01
000017d5: PUSH1 0x01
000017d7: PUSH1 0xa0
000017d9: SHL
000017da: SUB
000017db: DUP13
000017dc: DUP2
000017dd: AND
000017de: PUSH1 0x44
000017e0: DUP4
000017e1: ADD
000017e2: MSTORE
000017e3: DUP12
000017e4: DUP2
000017e5: AND
000017e6: PUSH1 0x64
000017e8: DUP4
000017e9: ADD
000017ea: MSTORE
000017eb: PUSH1 0x84
000017ed: DUP3
000017ee: ADD
000017ef: DUP12
000017f0: SWAP1
000017f1: MSTORE
000017f2: SWAP2
000017f3: MLOAD
000017f4: SWAP2
000017f5: SWAP1
000017f6: SWAP3
000017f7: AND
000017f8: SWAP2
000017f9: PUSH4 0x6d35bf91
000017fe: SWAP2
000017ff: PUSH1 0xa4
00001801: DUP1
00001802: DUP4
00001803: ADD
00001804: SWAP3
00001805: PUSH1 0x00
00001807: SWAP3
00001808: SWAP2
00001809: SWAP1
0000180a: DUP3
0000180b: SWAP1
0000180c: SUB
0000180d: ADD
0000180e: DUP2
0000180f: DUP4
00001810: DUP8
00001811: DUP1
00001812: EXTCODESIZE
00001813: ISZERO
00001814: DUP1
00001815: ISZERO
00001816: PUSH2 0x181e
00001819: JUMPI
0000181a: PUSH1 0x00
0000181c: DUP1
0000181d: REVERT
0000181e: JUMPDEST
0000181f: POP
00001820: GAS
00001821: CALL
00001822: ISZERO
00001823: DUP1
00001824: ISZERO
00001825: PUSH2 0x1832
00001828: JUMPI
00001829: RETURNDATASIZE
0000182a: PUSH1 0x00
0000182c: DUP1
0000182d: RETURNDATACOPY
0000182e: RETURNDATASIZE
0000182f: PUSH1 0x00
00001831: REVERT
00001832: JUMPDEST
00001833: POP
00001834: PUSH1 0x00
00001836: SWAP3
00001837: POP
00001838: PUSH2 0x183f
0000183b: SWAP2
0000183c: POP
0000183d: POP
0000183e: JUMP
0000183f: JUMPDEST
00001840: SWAP6
00001841: POP
00001842: POP
00001843: POP
00001844: POP
00001845: POP
00001846: PUSH1 0x00
00001848: SLOAD
00001849: DUP2
0000184a: EQ
0000184b: PUSH2 0x0a21
0000184e: JUMPI
0000184f: PUSH1 0x40
00001851: DUP1
00001852: MLOAD
00001853: PUSH1 0x01
00001855: PUSH1 0xe5
00001857: SHL
00001858: PUSH3 0x461bcd
0000185c: MUL
0000185d: DUP2
0000185e: MSTORE
0000185f: PUSH1 0x20
00001861: PUSH1 0x04
00001863: DUP3
00001864: ADD
00001865: MSTORE
00001866: PUSH1 0x0a
00001868: PUSH1 0x24
0000186a: DUP3
0000186b: ADD
0000186c: MSTORE
0000186d: PUSH1 0x01
0000186f: PUSH1 0xb2
00001871: SHL
00001872: PUSH10 0x1c994b595b9d195c9959
0000187d: MUL
0000187e: PUSH1 0x44
00001880: DUP3
00001881: ADD
00001882: MSTORE
00001883: SWAP1
00001884: MLOAD
00001885: SWAP1
00001886: DUP2
00001887: SWAP1
00001888: SUB
00001889: PUSH1 0x64
0000188b: ADD
0000188c: SWAP1
0000188d: REVERT
0000188e: JUMPDEST
0000188f: PUSH1 0x04
00001891: SLOAD
00001892: PUSH1 0x00
00001894: SWAP1
00001895: PUSH1 0x01
00001897: PUSH1 0x01
00001899: PUSH1 0xa0
0000189b: SHL
0000189c: SUB
0000189d: AND
0000189e: CALLER
0000189f: EQ
000018a0: PUSH2 0x18af
000018a3: JUMPI
000018a4: PUSH2 0x0aef
000018a7: PUSH1 0x01
000018a9: PUSH1 0x45
000018ab: PUSH2 0x227d
000018ae: JUMP
000018af: JUMPDEST
000018b0: PUSH1 0x05
000018b2: DUP1
000018b3: SLOAD
000018b4: PUSH1 0x01
000018b6: PUSH1 0x01
000018b8: PUSH1 0xa0
000018ba: SHL
000018bb: SUB
000018bc: DUP5
000018bd: DUP2
000018be: AND
000018bf: PUSH1 0x01
000018c1: PUSH1 0x01
000018c3: PUSH1 0xa0
000018c5: SHL
000018c6: SUB
000018c7: NOT
000018c8: DUP4
000018c9: AND
000018ca: DUP2
000018cb: OR
000018cc: SWAP1
000018cd: SWAP4
000018ce: SSTORE
000018cf: PUSH1 0x40
000018d1: DUP1
000018d2: MLOAD
000018d3: SWAP2
000018d4: SWAP1
000018d5: SWAP3
000018d6: AND
000018d7: DUP1
000018d8: DUP3
000018d9: MSTORE
000018da: PUSH1 0x20
000018dc: DUP3
000018dd: ADD
000018de: SWAP4
000018df: SWAP1
000018e0: SWAP4
000018e1: MSTORE
000018e2: DUP2
000018e3: MLOAD
000018e4: PUSH32 0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9
00001905: SWAP3
00001906: SWAP2
00001907: DUP2
00001908: SWAP1
00001909: SUB
0000190a: SWAP1
0000190b: SWAP2
0000190c: ADD
0000190d: SWAP1
0000190e: LOG1
0000190f: PUSH1 0x00
00001911: PUSH2 0x0a35
00001914: JUMP
00001915: JUMPDEST
00001916: PUSH1 0x00
00001918: DUP1
00001919: SLOAD
0000191a: PUSH1 0x01
0000191c: ADD
0000191d: DUP1
0000191e: DUP3
0000191f: SSTORE
00001920: DUP2
00001921: PUSH2 0x1928
00001924: PUSH2 0x0e8a
00001927: JUMP
00001928: JUMPDEST
00001929: EQ
0000192a: PUSH2 0x197d
0000192d: JUMPI
0000192e: PUSH1 0x40
00001930: DUP1
00001931: MLOAD
00001932: PUSH1 0x01
00001934: PUSH1 0xe5
00001936: SHL
00001937: PUSH3 0x461bcd
0000193b: MUL
0000193c: DUP2
0000193d: MSTORE
0000193e: PUSH1 0x20
00001940: PUSH1 0x04
00001942: DUP3
00001943: ADD
00001944: MSTORE
00001945: PUSH1 0x16
00001947: PUSH1 0x24
00001949: DUP3
0000194a: ADD
0000194b: MSTORE
0000194c: PUSH32 0x61636372756520696e746572657374206661696c656400000000000000000000
0000196d: PUSH1 0x44
0000196f: DUP3
00001970: ADD
00001971: MSTORE
00001972: SWAP1
00001973: MLOAD
00001974: SWAP1
00001975: DUP2
00001976: SWAP1
00001977: SUB
00001978: PUSH1 0x64
0000197a: ADD
0000197b: SWAP1
0000197c: REVERT
0000197d: JUMPDEST
0000197e: PUSH2 0x1985
00001981: PUSH2 0x0957
00001984: JUMP
00001985: JUMPDEST
00001986: SWAP2
00001987: POP
00001988: PUSH1 0x00
0000198a: SLOAD
0000198b: DUP2
0000198c: EQ
0000198d: PUSH2 0x0db2
00001990: JUMPI
00001991: PUSH1 0x40
00001993: DUP1
00001994: MLOAD
00001995: PUSH1 0x01
00001997: PUSH1 0xe5
00001999: SHL
0000199a: PUSH3 0x461bcd
0000199e: MUL
0000199f: DUP2
000019a0: MSTORE
000019a1: PUSH1 0x20
000019a3: PUSH1 0x04
000019a5: DUP3
000019a6: ADD
000019a7: MSTORE
000019a8: PUSH1 0x0a
000019aa: PUSH1 0x24
000019ac: DUP3
000019ad: ADD
000019ae: MSTORE
000019af: PUSH1 0x01
000019b1: PUSH1 0xb2
000019b3: SHL
000019b4: PUSH10 0x1c994b595b9d195c9959
000019bf: MUL
000019c0: PUSH1 0x44
000019c2: DUP3
000019c3: ADD
000019c4: MSTORE
000019c5: SWAP1
000019c6: MLOAD
000019c7: SWAP1
000019c8: DUP2
000019c9: SWAP1
000019ca: SUB
000019cb: PUSH1 0x64
000019cd: ADD
000019ce: SWAP1
000019cf: REVERT
000019d0: JUMPDEST
000019d1: PUSH1 0x01
000019d3: PUSH1 0x01
000019d5: PUSH1 0xa0
000019d7: SHL
000019d8: SUB
000019d9: DUP2
000019da: AND
000019db: PUSH1 0x00
000019dd: SWAP1
000019de: DUP2
000019df: MSTORE
000019e0: PUSH1 0x0f
000019e2: PUSH1 0x20
000019e4: MSTORE
000019e5: PUSH1 0x40
000019e7: DUP2
000019e8: KECCAK256
000019e9: SLOAD
000019ea: DUP2
000019eb: SWAP1
000019ec: DUP2
000019ed: SWAP1
000019ee: DUP2
000019ef: SWAP1
000019f0: DUP2
000019f1: DUP1
000019f2: DUP1
000019f3: PUSH2 0x19fb
000019f6: DUP10
000019f7: PUSH2 0x24a4
000019fa: JUMP
000019fb: JUMPDEST
000019fc: SWAP4
000019fd: POP
000019fe: SWAP1
000019ff: POP
00001a00: PUSH1 0x00
00001a02: DUP2
00001a03: PUSH1 0x03
00001a05: DUP2
00001a06: GT
00001a07: ISZERO
00001a08: PUSH2 0x1a0d
00001a0b: JUMPI
00001a0c: INVALID
00001a0d: JUMPDEST
00001a0e: EQ
00001a0f: PUSH2 0x1a2b
00001a12: JUMPI
00001a13: PUSH1 0x09
00001a15: JUMPDEST
00001a16: SWAP8
00001a17: POP
00001a18: PUSH1 0x00
00001a1a: SWAP7
00001a1b: POP
00001a1c: DUP7
00001a1d: SWAP6
00001a1e: POP
00001a1f: DUP6
00001a20: SWAP5
00001a21: POP
00001a22: PUSH2 0x1a5e
00001a25: SWAP4
00001a26: POP
00001a27: POP
00001a28: POP
00001a29: POP
00001a2a: JUMP
00001a2b: JUMPDEST
00001a2c: PUSH2 0x1a33
00001a2f: PUSH2 0x1d54
00001a32: JUMP
00001a33: JUMPDEST
00001a34: SWAP3
00001a35: POP
00001a36: SWAP1
00001a37: POP
00001a38: PUSH1 0x00
00001a3a: DUP2
00001a3b: PUSH1 0x03
00001a3d: DUP2
00001a3e: GT
00001a3f: ISZERO
00001a40: PUSH2 0x1a45
00001a43: JUMPI
00001a44: INVALID
00001a45: JUMPDEST
00001a46: EQ
00001a47: PUSH2 0x1a51
00001a4a: JUMPI
00001a4b: PUSH1 0x09
00001a4d: PUSH2 0x1a15
00001a50: JUMP
00001a51: JUMPDEST
00001a52: POP
00001a53: PUSH1 0x00
00001a55: SWAP7
00001a56: POP
00001a57: SWAP2
00001a58: SWAP5
00001a59: POP
00001a5a: SWAP3
00001a5b: POP
00001a5c: SWAP1
00001a5d: POP
00001a5e: JUMPDEST
00001a5f: SWAP2
00001a60: SWAP4
00001a61: POP
00001a62: SWAP2
00001a63: SWAP4
00001a64: JUMP
00001a65: JUMPDEST
00001a66: PUSH1 0x00
00001a68: PUSH2 0x0880
00001a6b: DUP3
00001a6c: PUSH2 0x27ed
00001a6f: JUMP
00001a70: JUMPDEST
00001a71: PUSH1 0x00
00001a73: PUSH2 0x0880
00001a76: DUP3
00001a77: PUSH2 0x2828
00001a7a: JUMP
00001a7b: JUMPDEST
00001a7c: PUSH1 0x01
00001a7e: PUSH1 0x01
00001a80: PUSH1 0xa0
00001a82: SHL
00001a83: SUB
00001a84: SWAP2
00001a85: DUP3
00001a86: AND
00001a87: PUSH1 0x00
00001a89: SWAP1
00001a8a: DUP2
00001a8b: MSTORE
00001a8c: PUSH1 0x10
00001a8e: PUSH1 0x20
00001a90: SWAP1
00001a91: DUP2
00001a92: MSTORE
00001a93: PUSH1 0x40
00001a95: DUP1
00001a96: DUP4
00001a97: KECCAK256
00001a98: SWAP4
00001a99: SWAP1
00001a9a: SWAP5
00001a9b: AND
00001a9c: DUP3
00001a9d: MSTORE
00001a9e: SWAP2
00001a9f: SWAP1
00001aa0: SWAP2
00001aa1: MSTORE
00001aa2: KECCAK256
00001aa3: SLOAD
00001aa4: SWAP1
00001aa5: JUMP
00001aa6: JUMPDEST
00001aa7: PUSH1 0x05
00001aa9: SLOAD
00001aaa: PUSH1 0x00
00001aac: SWAP1
00001aad: PUSH1 0x01
00001aaf: PUSH1 0x01
00001ab1: PUSH1 0xa0
00001ab3: SHL
00001ab4: SUB
00001ab5: AND
00001ab6: CALLER
00001ab7: EQ
00001ab8: ISZERO
00001ab9: DUP1
00001aba: PUSH2 0x1ac1
00001abd: JUMPI
00001abe: POP
00001abf: CALLER
00001ac0: ISZERO
00001ac1: JUMPDEST
00001ac2: ISZERO
00001ac3: PUSH2 0x1ad9
00001ac6: JUMPI
00001ac7: PUSH2 0x1ad2
00001aca: PUSH1 0x01
00001acc: PUSH1 0x00
00001ace: PUSH2 0x227d
00001ad1: JUMP
00001ad2: JUMPDEST
00001ad3: SWAP1
00001ad4: POP
00001ad5: PUSH2 0x09ba
00001ad8: JUMP
00001ad9: JUMPDEST
00001ada: PUSH1 0x04
00001adc: DUP1
00001add: SLOAD
00001ade: PUSH1 0x05
00001ae0: DUP1
00001ae1: SLOAD
00001ae2: PUSH1 0x01
00001ae4: PUSH1 0x01
00001ae6: PUSH1 0xa0
00001ae8: SHL
00001ae9: SUB
00001aea: DUP1
00001aeb: DUP3
00001aec: AND
00001aed: PUSH1 0x01
00001aef: PUSH1 0x01
00001af1: PUSH1 0xa0
00001af3: SHL
00001af4: SUB
00001af5: NOT
00001af6: DUP1
00001af7: DUP7
00001af8: AND
00001af9: DUP3
00001afa: OR
00001afb: SWAP7
00001afc: DUP8
00001afd: SWAP1
00001afe: SSTORE
00001aff: SWAP1
00001b00: SWAP3
00001b01: AND
00001b02: SWAP1
00001b03: SWAP3
00001b04: SSTORE
00001b05: PUSH1 0x40
00001b07: DUP1
00001b08: MLOAD
00001b09: SWAP4
00001b0a: DUP4
00001b0b: AND
00001b0c: DUP1
00001b0d: DUP6
00001b0e: MSTORE
00001b0f: SWAP5
00001b10: SWAP1
00001b11: SWAP3
00001b12: AND
00001b13: PUSH1 0x20
00001b15: DUP5
00001b16: ADD
00001b17: MSTORE
00001b18: DUP2
00001b19: MLOAD
00001b1a: SWAP1
00001b1b: SWAP3
00001b1c: PUSH32 0xf9ffabca9c8276e99321725bcb43fb076a6c66a54b7f21c4e8146d8519b417dc
00001b3d: SWAP3
00001b3e: SWAP1
00001b3f: DUP3
00001b40: SWAP1
00001b41: SUB
00001b42: ADD
00001b43: SWAP1
00001b44: LOG1
00001b45: PUSH1 0x05
00001b47: SLOAD
00001b48: PUSH1 0x40
00001b4a: DUP1
00001b4b: MLOAD
00001b4c: PUSH1 0x01
00001b4e: PUSH1 0x01
00001b50: PUSH1 0xa0
00001b52: SHL
00001b53: SUB
00001b54: DUP1
00001b55: DUP6
00001b56: AND
00001b57: DUP3
00001b58: MSTORE
00001b59: SWAP1
00001b5a: SWAP3
00001b5b: AND
00001b5c: PUSH1 0x20
00001b5e: DUP4
00001b5f: ADD
00001b60: MSTORE
00001b61: DUP1
00001b62: MLOAD
00001b63: PUSH32 0xca4f2f25d0898edd99413412fb94012f9e54ec8142f9b093e7720646a95b16a9
00001b84: SWAP3
00001b85: DUP2
00001b86: SWAP1
00001b87: SUB
00001b88: SWAP1
00001b89: SWAP2
00001b8a: ADD
00001b8b: SWAP1
00001b8c: LOG1
00001b8d: PUSH1 0x00
00001b8f: SWAP3
00001b90: POP
00001b91: POP
00001b92: POP
00001b93: SWAP1
00001b94: JUMP
00001b95: JUMPDEST
00001b96: PUSH1 0x00
00001b98: DUP1
00001b99: PUSH2 0x1ba0
00001b9c: PUSH2 0x0e8a
00001b9f: JUMP
00001ba0: JUMPDEST
00001ba1: SWAP1
00001ba2: POP
00001ba3: DUP1
00001ba4: ISZERO
00001ba5: PUSH2 0x1bc6
00001ba8: JUMPI
00001ba9: PUSH2 0x1bbe
00001bac: DUP2
00001bad: PUSH1 0x10
00001baf: DUP2
00001bb0: GT
00001bb1: ISZERO
00001bb2: PUSH2 0x1bb7
00001bb5: JUMPI
00001bb6: INVALID
00001bb7: JUMPDEST
00001bb8: PUSH1 0x40
00001bba: PUSH2 0x227d
00001bbd: JUMP
00001bbe: JUMPDEST
00001bbf: SWAP2
00001bc0: POP
00001bc1: POP
00001bc2: PUSH2 0x0883
00001bc5: JUMP
00001bc6: JUMPDEST
00001bc7: PUSH2 0x0a35
00001bca: DUP4
00001bcb: PUSH2 0x285e
00001bce: JUMP
00001bcf: JUMPDEST
00001bd0: PUSH1 0x07
00001bd2: SLOAD
00001bd3: PUSH1 0x01
00001bd5: PUSH1 0x01
00001bd7: PUSH1 0xa0
00001bd9: SHL
00001bda: SUB
00001bdb: AND
00001bdc: DUP2
00001bdd: JUMP
00001bde: JUMPDEST
00001bdf: PUSH1 0x00
00001be1: PUSH2 0x0ab7
00001be4: DUP5
00001be5: DUP5
00001be6: DUP5
00001be7: PUSH2 0x29d1
00001bea: JUMP
00001beb: JUMPDEST
00001bec: PUSH1 0x04
00001bee: SLOAD
00001bef: PUSH1 0x01
00001bf1: PUSH1 0x01
00001bf3: PUSH1 0xa0
00001bf5: SHL
00001bf6: SUB
00001bf7: AND
00001bf8: DUP2
00001bf9: JUMP
00001bfa: JUMPDEST
00001bfb: PUSH1 0x07
00001bfd: SLOAD
00001bfe: PUSH1 0x00
00001c00: SWAP1
00001c01: DUP2
00001c02: SWAP1
00001c03: DUP2
00001c04: SWAP1
00001c05: PUSH1 0x01
00001c07: PUSH1 0x01
00001c09: PUSH1 0xa0
00001c0b: SHL
00001c0c: SUB
00001c0d: AND
00001c0e: PUSH4 0x15f24053
00001c13: PUSH2 0x1c1a
00001c16: PUSH2 0x21fa
00001c19: JUMP
00001c1a: JUMPDEST
00001c1b: PUSH1 0x0c
00001c1d: SLOAD
00001c1e: PUSH1 0x0d
00001c20: SLOAD
00001c21: PUSH1 0x40
00001c23: MLOAD
00001c24: DUP5
00001c25: PUSH4 0xffffffff
00001c2a: AND
00001c2b: PUSH1 0xe0
00001c2d: SHL
00001c2e: DUP2
00001c2f: MSTORE
00001c30: PUSH1 0x04
00001c32: ADD
00001c33: DUP1
00001c34: DUP5
00001c35: DUP2
00001c36: MSTORE
00001c37: PUSH1 0x20
00001c39: ADD
00001c3a: DUP4
00001c3b: DUP2
00001c3c: MSTORE
00001c3d: PUSH1 0x20
00001c3f: ADD
00001c40: DUP3
00001c41: DUP2
00001c42: MSTORE
00001c43: PUSH1 0x20
00001c45: ADD
00001c46: SWAP4
00001c47: POP
00001c48: POP
00001c49: POP
00001c4a: POP
00001c4b: PUSH1 0x40
00001c4d: DUP1
00001c4e: MLOAD
00001c4f: DUP1
00001c50: DUP4
00001c51: SUB
00001c52: DUP2
00001c53: DUP7
00001c54: DUP1
00001c55: EXTCODESIZE
00001c56: ISZERO
00001c57: DUP1
00001c58: ISZERO
00001c59: PUSH2 0x1c61
00001c5c: JUMPI
00001c5d: PUSH1 0x00
00001c5f: DUP1
00001c60: REVERT
00001c61: JUMPDEST
00001c62: POP
00001c63: GAS
00001c64: STATICCALL
00001c65: ISZERO
00001c66: DUP1
00001c67: ISZERO
00001c68: PUSH2 0x1c75
00001c6b: JUMPI
00001c6c: RETURNDATASIZE
00001c6d: PUSH1 0x00
00001c6f: DUP1
00001c70: RETURNDATACOPY
00001c71: RETURNDATASIZE
00001c72: PUSH1 0x00
00001c74: REVERT
00001c75: JUMPDEST
00001c76: POP
00001c77: POP
00001c78: POP
00001c79: POP
00001c7a: PUSH1 0x40
00001c7c: MLOAD
00001c7d: RETURNDATASIZE
00001c7e: PUSH1 0x40
00001c80: DUP2
00001c81: LT
00001c82: ISZERO
00001c83: PUSH2 0x1c8b
00001c86: JUMPI
00001c87: PUSH1 0x00
00001c89: DUP1
00001c8a: REVERT
00001c8b: JUMPDEST
00001c8c: POP
00001c8d: DUP1
00001c8e: MLOAD
00001c8f: PUSH1 0x20
00001c91: SWAP1
00001c92: SWAP2
00001c93: ADD
00001c94: MLOAD
00001c95: SWAP1
00001c96: SWAP3
00001c97: POP
00001c98: SWAP1
00001c99: POP
00001c9a: DUP2
00001c9b: ISZERO
00001c9c: PUSH2 0x09b6
00001c9f: JUMPI
00001ca0: PUSH1 0x40
00001ca2: MLOAD
00001ca3: PUSH1 0x01
00001ca5: PUSH1 0xe5
00001ca7: SHL
00001ca8: PUSH3 0x461bcd
00001cac: MUL
00001cad: DUP2
00001cae: MSTORE
00001caf: PUSH1 0x04
00001cb1: ADD
00001cb2: DUP1
00001cb3: DUP1
00001cb4: PUSH1 0x20
00001cb6: ADD
00001cb7: DUP3
00001cb8: DUP2
00001cb9: SUB
00001cba: DUP3
00001cbb: MSTORE
00001cbc: PUSH1 0x37
00001cbe: DUP2
00001cbf: MSTORE
00001cc0: PUSH1 0x20
00001cc2: ADD
00001cc3: DUP1
00001cc4: PUSH2 0x489e
00001cc7: PUSH1 0x37
00001cc9: SWAP2
00001cca: CODECOPY
00001ccb: PUSH1 0x40
00001ccd: ADD
00001cce: SWAP2
00001ccf: POP
00001cd0: POP
00001cd1: PUSH1 0x40
00001cd3: MLOAD
00001cd4: DUP1
00001cd5: SWAP2
00001cd6: SUB
00001cd7: SWAP1
00001cd8: REVERT
00001cd9: JUMPDEST
00001cda: PUSH1 0x00
00001cdc: DUP1
00001cdd: SLOAD
00001cde: PUSH1 0x01
00001ce0: ADD
00001ce1: DUP1
00001ce2: DUP3
00001ce3: SSTORE
00001ce4: DUP2
00001ce5: PUSH2 0x1cec
00001ce8: PUSH2 0x0e8a
00001ceb: JUMP
00001cec: JUMPDEST
00001ced: SWAP1
00001cee: POP
00001cef: DUP1
00001cf0: ISZERO
00001cf1: PUSH2 0x1d0a
00001cf4: JUMPI
00001cf5: PUSH2 0x0c69
00001cf8: DUP2
00001cf9: PUSH1 0x10
00001cfb: DUP2
00001cfc: GT
00001cfd: ISZERO
00001cfe: PUSH2 0x1d03
00001d01: JUMPI
00001d02: INVALID
00001d03: JUMPDEST
00001d04: PUSH1 0x46
00001d06: PUSH2 0x227d
00001d09: JUMP
00001d0a: JUMPDEST
00001d0b: PUSH2 0x0c7a
00001d0e: DUP5
00001d0f: PUSH2 0x2adf
00001d12: JUMP
00001d13: JUMPDEST
00001d14: PUSH1 0x01
00001d16: DUP2
00001d17: JUMP
00001d18: JUMPDEST
00001d19: PUSH1 0x00
00001d1b: DUP1
00001d1c: SLOAD
00001d1d: PUSH1 0x01
00001d1f: ADD
00001d20: DUP1
00001d21: DUP3
00001d22: SSTORE
00001d23: DUP2
00001d24: PUSH2 0x1d2b
00001d27: PUSH2 0x0e8a
00001d2a: JUMP
00001d2b: JUMPDEST
00001d2c: SWAP1
00001d2d: POP
00001d2e: DUP1
00001d2f: ISZERO
00001d30: PUSH2 0x1d49
00001d33: JUMPI
00001d34: PUSH2 0x0c69
00001d37: DUP2
00001d38: PUSH1 0x10
00001d3a: DUP2
00001d3b: GT
00001d3c: ISZERO
00001d3d: PUSH2 0x1d42
00001d40: JUMPI
00001d41: INVALID
00001d42: JUMPDEST
00001d43: PUSH1 0x36
00001d45: PUSH2 0x227d
00001d48: JUMP
00001d49: JUMPDEST
00001d4a: PUSH2 0x0c7a
00001d4d: CALLER
00001d4e: CALLER
00001d4f: DUP7
00001d50: PUSH2 0x2b82
00001d53: JUMP
00001d54: JUMPDEST
00001d55: PUSH1 0x00
00001d57: DUP1
00001d58: PUSH1 0x0e
00001d5a: SLOAD
00001d5b: PUSH1 0x00
00001d5d: EQ
00001d5e: ISZERO
00001d5f: PUSH2 0x1d6f
00001d62: JUMPI
00001d63: POP
00001d64: POP
00001d65: PUSH1 0x08
00001d67: SLOAD
00001d68: PUSH1 0x00
00001d6a: SWAP1
00001d6b: PUSH2 0x1dfe
00001d6e: JUMP
00001d6f: JUMPDEST
00001d70: PUSH1 0x00
00001d72: PUSH2 0x1d79
00001d75: PUSH2 0x21fa
00001d78: JUMP
00001d79: JUMPDEST
00001d7a: SWAP1
00001d7b: POP
00001d7c: PUSH1 0x00
00001d7e: PUSH2 0x1d85
00001d81: PUSH2 0x46bb
00001d84: JUMP
00001d85: JUMPDEST
00001d86: PUSH1 0x00
00001d88: PUSH2 0x1d96
00001d8b: DUP5
00001d8c: PUSH1 0x0c
00001d8e: SLOAD
00001d8f: PUSH1 0x0d
00001d91: SLOAD
00001d92: PUSH2 0x2fde
00001d95: JUMP
00001d96: JUMPDEST
00001d97: SWAP4
00001d98: POP
00001d99: SWAP1
00001d9a: POP
00001d9b: PUSH1 0x00
00001d9d: DUP2
00001d9e: PUSH1 0x03
00001da0: DUP2
00001da1: GT
00001da2: ISZERO
00001da3: PUSH2 0x1da8
00001da6: JUMPI
00001da7: INVALID
00001da8: JUMPDEST
00001da9: EQ
00001daa: PUSH2 0x1dbc
00001dad: JUMPI
00001dae: SWAP5
00001daf: POP
00001db0: PUSH1 0x00
00001db2: SWAP4
00001db3: POP
00001db4: PUSH2 0x1dfe
00001db7: SWAP3
00001db8: POP
00001db9: POP
00001dba: POP
00001dbb: JUMP
00001dbc: JUMPDEST
00001dbd: PUSH2 0x1dc8
00001dc0: DUP4
00001dc1: PUSH1 0x0e
00001dc3: SLOAD
00001dc4: PUSH2 0x301c
00001dc7: JUMP
00001dc8: JUMPDEST
00001dc9: SWAP3
00001dca: POP
00001dcb: SWAP1
00001dcc: POP
00001dcd: PUSH1 0x00
00001dcf: DUP2
00001dd0: PUSH1 0x03
00001dd2: DUP2
00001dd3: GT
00001dd4: ISZERO
00001dd5: PUSH2 0x1dda
00001dd8: JUMPI
00001dd9: INVALID
00001dda: JUMPDEST
00001ddb: EQ
00001ddc: PUSH2 0x1dee
00001ddf: JUMPI
00001de0: SWAP5
00001de1: POP
00001de2: PUSH1 0x00
00001de4: SWAP4
00001de5: POP
00001de6: PUSH2 0x1dfe
00001de9: SWAP3
00001dea: POP
00001deb: POP
00001dec: POP
00001ded: JUMP
00001dee: JUMPDEST
00001def: POP
00001df0: MLOAD
00001df1: PUSH1 0x00
00001df3: SWAP5
00001df4: POP
00001df5: SWAP3
00001df6: POP
00001df7: PUSH2 0x1dfe
00001dfa: SWAP2
00001dfb: POP
00001dfc: POP
00001dfd: JUMP
00001dfe: JUMPDEST
00001dff: SWAP1
00001e00: SWAP2
00001e01: JUMP
00001e02: JUMPDEST
00001e03: PUSH1 0x06
00001e05: SLOAD
00001e06: PUSH1 0x40
00001e08: DUP1
00001e09: MLOAD
00001e0a: PUSH1 0x01
00001e0c: PUSH1 0xe3
00001e0e: SHL
00001e0f: PUSH4 0x17b9b84b
00001e14: MUL
00001e15: DUP2
00001e16: MSTORE
00001e17: ADDRESS
00001e18: PUSH1 0x04
00001e1a: DUP3
00001e1b: ADD
00001e1c: MSTORE
00001e1d: PUSH1 0x01
00001e1f: PUSH1 0x01
00001e21: PUSH1 0xa0
00001e23: SHL
00001e24: SUB
00001e25: DUP7
00001e26: DUP2
00001e27: AND
00001e28: PUSH1 0x24
00001e2a: DUP4
00001e2b: ADD
00001e2c: MSTORE
00001e2d: DUP6
00001e2e: DUP2
00001e2f: AND
00001e30: PUSH1 0x44
00001e32: DUP4
00001e33: ADD
00001e34: MSTORE
00001e35: PUSH1 0x64
00001e37: DUP3
00001e38: ADD
00001e39: DUP6
00001e3a: SWAP1
00001e3b: MSTORE
00001e3c: SWAP2
00001e3d: MLOAD
00001e3e: PUSH1 0x00
00001e40: SWAP4
00001e41: DUP5
00001e42: SWAP4
00001e43: AND
00001e44: SWAP2
00001e45: PUSH4 0xbdcdc258
00001e4a: SWAP2
00001e4b: PUSH1 0x84
00001e4d: DUP1
00001e4e: DUP4
00001e4f: ADD
00001e50: SWAP3
00001e51: PUSH1 0x20
00001e53: SWAP3
00001e54: SWAP2
00001e55: SWAP1
00001e56: DUP3
00001e57: SWAP1
00001e58: SUB
00001e59: ADD
00001e5a: DUP2
00001e5b: DUP8
00001e5c: DUP8
00001e5d: DUP1
00001e5e: EXTCODESIZE
00001e5f: ISZERO
00001e60: DUP1
00001e61: ISZERO
00001e62: PUSH2 0x1e6a
00001e65: JUMPI
00001e66: PUSH1 0x00
00001e68: DUP1
00001e69: REVERT
00001e6a: JUMPDEST
00001e6b: POP
00001e6c: GAS
00001e6d: CALL
00001e6e: ISZERO
00001e6f: DUP1
00001e70: ISZERO
00001e71: PUSH2 0x1e7e
00001e74: JUMPI
00001e75: RETURNDATASIZE
00001e76: PUSH1 0x00
00001e78: DUP1
00001e79: RETURNDATACOPY
00001e7a: RETURNDATASIZE
00001e7b: PUSH1 0x00
00001e7d: REVERT
00001e7e: JUMPDEST
00001e7f: POP
00001e80: POP
00001e81: POP
00001e82: POP
00001e83: PUSH1 0x40
00001e85: MLOAD
00001e86: RETURNDATASIZE
00001e87: PUSH1 0x20
00001e89: DUP2
00001e8a: LT
00001e8b: ISZERO
00001e8c: PUSH2 0x1e94
00001e8f: JUMPI
00001e90: PUSH1 0x00
00001e92: DUP1
00001e93: REVERT
00001e94: JUMPDEST
00001e95: POP
00001e96: MLOAD
00001e97: SWAP1
00001e98: POP
00001e99: DUP1
00001e9a: ISZERO
00001e9b: PUSH2 0x1eb3
00001e9e: JUMPI
00001e9f: PUSH2 0x1eab
00001ea2: PUSH1 0x03
00001ea4: PUSH1 0x4a
00001ea6: DUP4
00001ea7: PUSH2 0x2593
00001eaa: JUMP
00001eab: JUMPDEST
00001eac: SWAP2
00001ead: POP
00001eae: POP
00001eaf: PUSH2 0x0ab7
00001eb2: JUMP
00001eb3: JUMPDEST
00001eb4: DUP4
00001eb5: PUSH1 0x01
00001eb7: PUSH1 0x01
00001eb9: PUSH1 0xa0
00001ebb: SHL
00001ebc: SUB
00001ebd: AND
00001ebe: DUP6
00001ebf: PUSH1 0x01
00001ec1: PUSH1 0x01
00001ec3: PUSH1 0xa0
00001ec5: SHL
00001ec6: SUB
00001ec7: AND
00001ec8: EQ
00001ec9: ISZERO
00001eca: PUSH2 0x1ed9
00001ecd: JUMPI
00001ece: PUSH2 0x1eab
00001ed1: PUSH1 0x02
00001ed3: PUSH1 0x4b
00001ed5: PUSH2 0x227d
00001ed8: JUMP
00001ed9: JUMPDEST
00001eda: PUSH1 0x00
00001edc: PUSH1 0x01
00001ede: PUSH1 0x01
00001ee0: PUSH1 0xa0
00001ee2: SHL
00001ee3: SUB
00001ee4: DUP8
00001ee5: DUP2
00001ee6: AND
00001ee7: SWAP1
00001ee8: DUP8
00001ee9: AND
00001eea: EQ
00001eeb: ISZERO
00001eec: PUSH2 0x1ef8
00001eef: JUMPI
00001ef0: POP
00001ef1: PUSH1 0x00
00001ef3: NOT
00001ef4: PUSH2 0x1f20
00001ef7: JUMP
00001ef8: JUMPDEST
00001ef9: POP
00001efa: PUSH1 0x01
00001efc: PUSH1 0x01
00001efe: PUSH1 0xa0
00001f00: SHL
00001f01: SUB
00001f02: DUP1
00001f03: DUP7
00001f04: AND
00001f05: PUSH1 0x00
00001f07: SWAP1
00001f08: DUP2
00001f09: MSTORE
00001f0a: PUSH1 0x10
00001f0c: PUSH1 0x20
00001f0e: SWAP1
00001f0f: DUP2
00001f10: MSTORE
00001f11: PUSH1 0x40
00001f13: DUP1
00001f14: DUP4
00001f15: KECCAK256
00001f16: SWAP4
00001f17: DUP11
00001f18: AND
00001f19: DUP4
00001f1a: MSTORE
00001f1b: SWAP3
00001f1c: SWAP1
00001f1d: MSTORE
00001f1e: KECCAK256
00001f1f: SLOAD
00001f20: JUMPDEST
00001f21: PUSH1 0x00
00001f23: DUP1
00001f24: PUSH1 0x00
00001f26: DUP1
00001f27: PUSH2 0x1f30
00001f2a: DUP6
00001f2b: DUP10
00001f2c: PUSH2 0x25fd
00001f2f: JUMP
00001f30: JUMPDEST
00001f31: SWAP1
00001f32: SWAP5
00001f33: POP
00001f34: SWAP3
00001f35: POP
00001f36: PUSH1 0x00
00001f38: DUP5
00001f39: PUSH1 0x03
00001f3b: DUP2
00001f3c: GT
00001f3d: ISZERO
00001f3e: PUSH2 0x1f43
00001f41: JUMPI
00001f42: INVALID
00001f43: JUMPDEST
00001f44: EQ
00001f45: PUSH2 0x1f61
00001f48: JUMPI
00001f49: PUSH2 0x1f54
00001f4c: PUSH1 0x09
00001f4e: PUSH1 0x4b
00001f50: PUSH2 0x227d
00001f53: JUMP
00001f54: JUMPDEST
00001f55: SWAP7
00001f56: POP
00001f57: POP
00001f58: POP
00001f59: POP
00001f5a: POP
00001f5b: POP
00001f5c: POP
00001f5d: PUSH2 0x0ab7
00001f60: JUMP
00001f61: JUMPDEST
00001f62: PUSH1 0x01
00001f64: PUSH1 0x01
00001f66: PUSH1 0xa0
00001f68: SHL
00001f69: SUB
00001f6a: DUP11
00001f6b: AND
00001f6c: PUSH1 0x00
00001f6e: SWAP1
00001f6f: DUP2
00001f70: MSTORE
00001f71: PUSH1 0x0f
00001f73: PUSH1 0x20
00001f75: MSTORE
00001f76: PUSH1 0x40
00001f78: SWAP1
00001f79: KECCAK256
00001f7a: SLOAD
00001f7b: PUSH2 0x1f84
00001f7e: SWAP1
00001f7f: DUP10
00001f80: PUSH2 0x25fd
00001f83: JUMP
00001f84: JUMPDEST
00001f85: SWAP1
00001f86: SWAP5
00001f87: POP
00001f88: SWAP2
00001f89: POP
00001f8a: PUSH1 0x00
00001f8c: DUP5
00001f8d: PUSH1 0x03
00001f8f: DUP2
00001f90: GT
00001f91: ISZERO
00001f92: PUSH2 0x1f97
00001f95: JUMPI
00001f96: INVALID
00001f97: JUMPDEST
00001f98: EQ
00001f99: PUSH2 0x1fa8
00001f9c: JUMPI
00001f9d: PUSH2 0x1f54
00001fa0: PUSH1 0x09
00001fa2: PUSH1 0x4c
00001fa4: PUSH2 0x227d
00001fa7: JUMP
00001fa8: JUMPDEST
00001fa9: PUSH1 0x01
00001fab: PUSH1 0x01
00001fad: PUSH1 0xa0
00001faf: SHL
00001fb0: SUB
00001fb1: DUP10
00001fb2: AND
00001fb3: PUSH1 0x00
00001fb5: SWAP1
00001fb6: DUP2
00001fb7: MSTORE
00001fb8: PUSH1 0x0f
00001fba: PUSH1 0x20
00001fbc: MSTORE
00001fbd: PUSH1 0x40
00001fbf: SWAP1
00001fc0: KECCAK256
00001fc1: SLOAD
00001fc2: PUSH2 0x1fcb
00001fc5: SWAP1
00001fc6: DUP10
00001fc7: PUSH2 0x2688
00001fca: JUMP
00001fcb: JUMPDEST
00001fcc: SWAP1
00001fcd: SWAP5
00001fce: POP
00001fcf: SWAP1
00001fd0: POP
00001fd1: PUSH1 0x00
00001fd3: DUP5
00001fd4: PUSH1 0x03
00001fd6: DUP2
00001fd7: GT
00001fd8: ISZERO
00001fd9: PUSH2 0x1fde
00001fdc: JUMPI
00001fdd: INVALID
00001fde: JUMPDEST
00001fdf: EQ
00001fe0: PUSH2 0x1fef
00001fe3: JUMPI
00001fe4: PUSH2 0x1f54
00001fe7: PUSH1 0x09
00001fe9: PUSH1 0x4d
00001feb: PUSH2 0x227d
00001fee: JUMP
00001fef: JUMPDEST
00001ff0: PUSH1 0x01
00001ff2: PUSH1 0x01
00001ff4: PUSH1 0xa0
00001ff6: SHL
00001ff7: SUB
00001ff8: DUP1
00001ff9: DUP12
00001ffa: AND
00001ffb: PUSH1 0x00
00001ffd: SWAP1
00001ffe: DUP2
00001fff: MSTORE
00002000: PUSH1 0x0f
00002002: PUSH1 0x20
00002004: MSTORE
00002005: PUSH1 0x40
00002007: DUP1
00002008: DUP3
00002009: KECCAK256
0000200a: DUP6
0000200b: SWAP1
0000200c: SSTORE
0000200d: SWAP2
0000200e: DUP12
0000200f: AND
00002010: DUP2
00002011: MSTORE
00002012: KECCAK256
00002013: DUP2
00002014: SWAP1
00002015: SSTORE
00002016: PUSH1 0x00
00002018: NOT
00002019: DUP6
0000201a: EQ
0000201b: PUSH2 0x2047
0000201e: JUMPI
0000201f: PUSH1 0x01
00002021: PUSH1 0x01
00002023: PUSH1 0xa0
00002025: SHL
00002026: SUB
00002027: DUP1
00002028: DUP12
00002029: AND
0000202a: PUSH1 0x00
0000202c: SWAP1
0000202d: DUP2
0000202e: MSTORE
0000202f: PUSH1 0x10
00002031: PUSH1 0x20
00002033: SWAP1
00002034: DUP2
00002035: MSTORE
00002036: PUSH1 0x40
00002038: DUP1
00002039: DUP4
0000203a: KECCAK256
0000203b: SWAP4
0000203c: DUP16
0000203d: AND
0000203e: DUP4
0000203f: MSTORE
00002040: SWAP3
00002041: SWAP1
00002042: MSTORE
00002043: KECCAK256
00002044: DUP4
00002045: SWAP1
00002046: SSTORE
00002047: JUMPDEST
00002048: DUP9
00002049: PUSH1 0x01
0000204b: PUSH1 0x01
0000204d: PUSH1 0xa0
0000204f: SHL
00002050: SUB
00002051: AND
00002052: DUP11
00002053: PUSH1 0x01
00002055: PUSH1 0x01
00002057: PUSH1 0xa0
00002059: SHL
0000205a: SUB
0000205b: AND
0000205c: PUSH1 0x00
0000205e: DUP1
0000205f: MLOAD
00002060: PUSH1 0x20
00002062: PUSH2 0x4906
00002065: DUP4
00002066: CODECOPY
00002067: DUP2
00002068: MLOAD
00002069: SWAP2
0000206a: MSTORE
0000206b: DUP11
0000206c: PUSH1 0x40
0000206e: MLOAD
0000206f: DUP1
00002070: DUP3
00002071: DUP2
00002072: MSTORE
00002073: PUSH1 0x20
00002075: ADD
00002076: SWAP2
00002077: POP
00002078: POP
00002079: PUSH1 0x40
0000207b: MLOAD
0000207c: DUP1
0000207d: SWAP2
0000207e: SUB
0000207f: SWAP1
00002080: LOG3
00002081: PUSH1 0x06
00002083: SLOAD
00002084: PUSH1 0x40
00002086: DUP1
00002087: MLOAD
00002088: PUSH1 0x01
0000208a: PUSH1 0xe1
0000208c: SHL
0000208d: PUSH4 0x352b4a3f
00002092: MUL
00002093: DUP2
00002094: MSTORE
00002095: ADDRESS
00002096: PUSH1 0x04
00002098: DUP3
00002099: ADD
0000209a: MSTORE
0000209b: PUSH1 0x01
0000209d: PUSH1 0x01
0000209f: PUSH1 0xa0
000020a1: SHL
000020a2: SUB
000020a3: DUP14
000020a4: DUP2
000020a5: AND
000020a6: PUSH1 0x24
000020a8: DUP4
000020a9: ADD
000020aa: MSTORE
000020ab: DUP13
000020ac: DUP2
000020ad: AND
000020ae: PUSH1 0x44
000020b0: DUP4
000020b1: ADD
000020b2: MSTORE
000020b3: PUSH1 0x64
000020b5: DUP3
000020b6: ADD
000020b7: DUP13
000020b8: SWAP1
000020b9: MSTORE
000020ba: SWAP2
000020bb: MLOAD
000020bc: SWAP2
000020bd: SWAP1
000020be: SWAP3
000020bf: AND
000020c0: SWAP2
000020c1: PUSH4 0x6a56947e
000020c6: SWAP2
000020c7: PUSH1 0x84
000020c9: DUP1
000020ca: DUP4
000020cb: ADD
000020cc: SWAP3
000020cd: PUSH1 0x00
000020cf: SWAP3
000020d0: SWAP2
000020d1: SWAP1
000020d2: DUP3
000020d3: SWAP1
000020d4: SUB
000020d5: ADD
000020d6: DUP2
000020d7: DUP4
000020d8: DUP8
000020d9: DUP1
000020da: EXTCODESIZE
000020db: ISZERO
000020dc: DUP1
000020dd: ISZERO
000020de: PUSH2 0x20e6
000020e1: JUMPI
000020e2: PUSH1 0x00
000020e4: DUP1
000020e5: REVERT
000020e6: JUMPDEST
000020e7: POP
000020e8: GAS
000020e9: CALL
000020ea: ISZERO
000020eb: DUP1
000020ec: ISZERO
000020ed: PUSH2 0x20fa
000020f0: JUMPI
000020f1: RETURNDATASIZE
000020f2: PUSH1 0x00
000020f4: DUP1
000020f5: RETURNDATACOPY
000020f6: RETURNDATASIZE
000020f7: PUSH1 0x00
000020f9: REVERT
000020fa: JUMPDEST
000020fb: POP
000020fc: PUSH1 0x00
000020fe: SWAP3
000020ff: POP
00002100: PUSH2 0x2107
00002103: SWAP2
00002104: POP
00002105: POP
00002106: JUMP
00002107: JUMPDEST
00002108: SWAP12
00002109: SWAP11
0000210a: POP
0000210b: POP
0000210c: POP
0000210d: POP
0000210e: POP
0000210f: POP
00002110: POP
00002111: POP
00002112: POP
00002113: POP
00002114: POP
00002115: JUMP
00002116: JUMPDEST
00002117: PUSH1 0x00
00002119: DUP1
0000211a: SLOAD
0000211b: PUSH1 0x01
0000211d: ADD
0000211e: DUP1
0000211f: DUP3
00002120: SSTORE
00002121: DUP2
00002122: PUSH2 0x2129
00002125: PUSH2 0x0e8a
00002128: JUMP
00002129: JUMPDEST
0000212a: SWAP1
0000212b: POP
0000212c: DUP1
0000212d: ISZERO
0000212e: PUSH2 0x214f
00002131: JUMPI
00002132: PUSH2 0x2147
00002135: DUP2
00002136: PUSH1 0x10
00002138: DUP2
00002139: GT
0000213a: ISZERO
0000213b: PUSH2 0x2140
0000213e: JUMPI
0000213f: INVALID
00002140: JUMPDEST
00002141: PUSH1 0x35
00002143: PUSH2 0x227d
00002146: JUMP
00002147: JUMPDEST
00002148: SWAP3
00002149: POP
0000214a: POP
0000214b: PUSH2 0x12a1
0000214e: JUMP
0000214f: JUMPDEST
00002150: PUSH2 0x215a
00002153: CALLER
00002154: DUP7
00002155: DUP7
00002156: PUSH2 0x2b82
00002159: JUMP
0000215a: JUMPDEST
0000215b: SWAP3
0000215c: POP
0000215d: POP
0000215e: PUSH1 0x00
00002160: SLOAD
00002161: DUP2
00002162: EQ
00002163: PUSH2 0x12ea
00002166: JUMPI
00002167: PUSH1 0x40
00002169: DUP1
0000216a: MLOAD
0000216b: PUSH1 0x01
0000216d: PUSH1 0xe5
0000216f: SHL
00002170: PUSH3 0x461bcd
00002174: MUL
00002175: DUP2
00002176: MSTORE
00002177: PUSH1 0x20
00002179: PUSH1 0x04
0000217b: DUP3
0000217c: ADD
0000217d: MSTORE
0000217e: PUSH1 0x0a
00002180: PUSH1 0x24
00002182: DUP3
00002183: ADD
00002184: MSTORE
00002185: PUSH1 0x01
00002187: PUSH1 0xb2
00002189: SHL
0000218a: PUSH10 0x1c994b595b9d195c9959
00002195: MUL
00002196: PUSH1 0x44
00002198: DUP3
00002199: ADD
0000219a: MSTORE
0000219b: SWAP1
0000219c: MLOAD
0000219d: SWAP1
0000219e: DUP2
0000219f: SWAP1
000021a0: SUB
000021a1: PUSH1 0x64
000021a3: ADD
000021a4: SWAP1
000021a5: REVERT
000021a6: JUMPDEST
000021a7: PUSH1 0x00
000021a9: DUP1
000021aa: PUSH1 0x00
000021ac: PUSH2 0x21b3
000021af: PUSH2 0x46bb
000021b2: JUMP
000021b3: JUMPDEST
000021b4: PUSH2 0x21bd
000021b7: DUP7
000021b8: DUP7
000021b9: PUSH2 0x2620
000021bc: JUMP
000021bd: JUMPDEST
000021be: SWAP1
000021bf: SWAP3
000021c0: POP
000021c1: SWAP1
000021c2: POP
000021c3: PUSH1 0x00
000021c5: DUP3
000021c6: PUSH1 0x03
000021c8: DUP2
000021c9: GT
000021ca: ISZERO
000021cb: PUSH2 0x21d0
000021ce: JUMPI
000021cf: INVALID
000021d0: JUMPDEST
000021d1: EQ
000021d2: PUSH2 0x21e1
000021d5: JUMPI
000021d6: POP
000021d7: SWAP2
000021d8: POP
000021d9: PUSH1 0x00
000021db: SWAP1
000021dc: POP
000021dd: PUSH2 0x21f3
000021e0: JUMP
000021e1: JUMPDEST
000021e2: PUSH1 0x00
000021e4: PUSH2 0x21ec
000021e7: DUP3
000021e8: PUSH2 0x30cc
000021eb: JUMP
000021ec: JUMPDEST
000021ed: SWAP4
000021ee: POP
000021ef: SWAP4
000021f0: POP
000021f1: POP
000021f2: POP
000021f3: JUMPDEST
000021f4: SWAP3
000021f5: POP
000021f6: SWAP3
000021f7: SWAP1
000021f8: POP
000021f9: JUMP
000021fa: JUMPDEST
000021fb: PUSH1 0x12
000021fd: SLOAD
000021fe: PUSH1 0x40
00002200: DUP1
00002201: MLOAD
00002202: PUSH1 0x01
00002204: PUSH1 0xe0
00002206: SHL
00002207: PUSH4 0x70a08231
0000220c: MUL
0000220d: DUP2
0000220e: MSTORE
0000220f: ADDRESS
00002210: PUSH1 0x04
00002212: DUP3
00002213: ADD
00002214: MSTORE
00002215: SWAP1
00002216: MLOAD
00002217: PUSH1 0x00
00002219: SWAP3
0000221a: PUSH1 0x01
0000221c: PUSH1 0x01
0000221e: PUSH1 0xa0
00002220: SHL
00002221: SUB
00002222: AND
00002223: SWAP2
00002224: DUP3
00002225: SWAP2
00002226: PUSH4 0x70a08231
0000222b: SWAP2
0000222c: PUSH1 0x24
0000222e: DUP1
0000222f: DUP3
00002230: ADD
00002231: SWAP3
00002232: PUSH1 0x20
00002234: SWAP3
00002235: SWAP1
00002236: SWAP2
00002237: SWAP1
00002238: DUP3
00002239: SWAP1
0000223a: SUB
0000223b: ADD
0000223c: DUP2
0000223d: DUP7
0000223e: DUP1
0000223f: EXTCODESIZE
00002240: ISZERO
00002241: DUP1
00002242: ISZERO
00002243: PUSH2 0x224b
00002246: JUMPI
00002247: PUSH1 0x00
00002249: DUP1
0000224a: REVERT
0000224b: JUMPDEST
0000224c: POP
0000224d: GAS
0000224e: STATICCALL
0000224f: ISZERO
00002250: DUP1
00002251: ISZERO
00002252: PUSH2 0x225f
00002255: JUMPI
00002256: RETURNDATASIZE
00002257: PUSH1 0x00
00002259: DUP1
0000225a: RETURNDATACOPY
0000225b: RETURNDATASIZE
0000225c: PUSH1 0x00
0000225e: REVERT
0000225f: JUMPDEST
00002260: POP
00002261: POP
00002262: POP
00002263: POP
00002264: PUSH1 0x40
00002266: MLOAD
00002267: RETURNDATASIZE
00002268: PUSH1 0x20
0000226a: DUP2
0000226b: LT
0000226c: ISZERO
0000226d: PUSH2 0x2275
00002270: JUMPI
00002271: PUSH1 0x00
00002273: DUP1
00002274: REVERT
00002275: JUMPDEST
00002276: POP
00002277: MLOAD
00002278: SWAP2
00002279: POP
0000227a: POP
0000227b: SWAP1
0000227c: JUMP
0000227d: JUMPDEST
0000227e: PUSH1 0x00
00002280: PUSH32 0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0
000022a1: DUP4
000022a2: PUSH1 0x10
000022a4: DUP2
000022a5: GT
000022a6: ISZERO
000022a7: PUSH2 0x22ac
000022aa: JUMPI
000022ab: INVALID
000022ac: JUMPDEST
000022ad: DUP4
000022ae: PUSH1 0x4d
000022b0: DUP2
000022b1: GT
000022b2: ISZERO
000022b3: PUSH2 0x22b8
000022b6: JUMPI
000022b7: INVALID
000022b8: JUMPDEST
000022b9: PUSH1 0x40
000022bb: DUP1
000022bc: MLOAD
000022bd: SWAP3
000022be: DUP4
000022bf: MSTORE
000022c0: PUSH1 0x20
000022c2: DUP4
000022c3: ADD
000022c4: SWAP2
000022c5: SWAP1
000022c6: SWAP2
000022c7: MSTORE
000022c8: PUSH1 0x00
000022ca: DUP3
000022cb: DUP3
000022cc: ADD
000022cd: MSTORE
000022ce: MLOAD
000022cf: SWAP1
000022d0: DUP2
000022d1: SWAP1
000022d2: SUB
000022d3: PUSH1 0x60
000022d5: ADD
000022d6: SWAP1
000022d7: LOG1
000022d8: DUP3
000022d9: PUSH1 0x10
000022db: DUP2
000022dc: GT
000022dd: ISZERO
000022de: PUSH2 0x0a35
000022e1: JUMPI
000022e2: INVALID
000022e3: JUMPDEST
000022e4: PUSH1 0x04
000022e6: SLOAD
000022e7: PUSH1 0x00
000022e9: SWAP1
000022ea: DUP2
000022eb: SWAP1
000022ec: DUP2
000022ed: SWAP1
000022ee: PUSH1 0x01
000022f0: PUSH1 0x01
000022f2: PUSH1 0xa0
000022f4: SHL
000022f5: SUB
000022f6: AND
000022f7: CALLER
000022f8: EQ
000022f9: PUSH2 0x2311
000022fc: JUMPI
000022fd: PUSH2 0x2308
00002300: PUSH1 0x01
00002302: PUSH1 0x31
00002304: PUSH2 0x227d
00002307: JUMP
00002308: JUMPDEST
00002309: SWAP3
0000230a: POP
0000230b: POP
0000230c: POP
0000230d: PUSH2 0x0883
00002310: JUMP
00002311: JUMPDEST
00002312: PUSH2 0x2319
00002315: PUSH2 0x25f9
00002318: JUMP
00002319: JUMPDEST
0000231a: PUSH1 0x0a
0000231c: SLOAD
0000231d: EQ
0000231e: PUSH2 0x232d
00002321: JUMPI
00002322: PUSH2 0x2308
00002325: PUSH1 0x0a
00002327: PUSH1 0x33
00002329: PUSH2 0x227d
0000232c: JUMP
0000232d: JUMPDEST
0000232e: DUP4
0000232f: PUSH2 0x2336
00002332: PUSH2 0x21fa
00002335: JUMP
00002336: JUMPDEST
00002337: LT
00002338: ISZERO
00002339: PUSH2 0x2348
0000233c: JUMPI
0000233d: PUSH2 0x2308
00002340: PUSH1 0x0e
00002342: PUSH1 0x32
00002344: PUSH2 0x227d
00002347: JUMP
00002348: JUMPDEST
00002349: PUSH1 0x0d
0000234b: SLOAD
0000234c: DUP5
0000234d: GT
0000234e: ISZERO
0000234f: PUSH2 0x235e
00002352: JUMPI
00002353: PUSH2 0x2308
00002356: PUSH1 0x02
00002358: PUSH1 0x34
0000235a: PUSH2 0x227d
0000235d: JUMP
0000235e: JUMPDEST
0000235f: POP
00002360: PUSH1 0x0d
00002362: SLOAD
00002363: DUP4
00002364: DUP2
00002365: SUB
00002366: SWAP1
00002367: DUP2
00002368: GT
00002369: ISZERO
0000236a: PUSH2 0x23a7
0000236d: JUMPI
0000236e: PUSH1 0x40
00002370: MLOAD
00002371: PUSH1 0x01
00002373: PUSH1 0xe5
00002375: SHL
00002376: PUSH3 0x461bcd
0000237a: MUL
0000237b: DUP2
0000237c: MSTORE
0000237d: PUSH1 0x04
0000237f: ADD
00002380: DUP1
00002381: DUP1
00002382: PUSH1 0x20
00002384: ADD
00002385: DUP3
00002386: DUP2
00002387: SUB
00002388: DUP3
00002389: MSTORE
0000238a: PUSH1 0x24
0000238c: DUP2
0000238d: MSTORE
0000238e: PUSH1 0x20
00002390: ADD
00002391: DUP1
00002392: PUSH2 0x49cb
00002395: PUSH1 0x24
00002397: SWAP2
00002398: CODECOPY
00002399: PUSH1 0x40
0000239b: ADD
0000239c: SWAP2
0000239d: POP
0000239e: POP
0000239f: PUSH1 0x40
000023a1: MLOAD
000023a2: DUP1
000023a3: SWAP2
000023a4: SUB
000023a5: SWAP1
000023a6: REVERT
000023a7: JUMPDEST
000023a8: PUSH1 0x0d
000023aa: DUP2
000023ab: SWAP1
000023ac: SSTORE
000023ad: PUSH1 0x04
000023af: SLOAD
000023b0: PUSH2 0x23c2
000023b3: SWAP1
000023b4: PUSH1 0x01
000023b6: PUSH1 0x01
000023b8: PUSH1 0xa0
000023ba: SHL
000023bb: SUB
000023bc: AND
000023bd: DUP6
000023be: PUSH2 0x30db
000023c1: JUMP
000023c2: JUMPDEST
000023c3: SWAP2
000023c4: POP
000023c5: PUSH1 0x00
000023c7: DUP3
000023c8: PUSH1 0x10
000023ca: DUP2
000023cb: GT
000023cc: ISZERO
000023cd: PUSH2 0x23d2
000023d0: JUMPI
000023d1: INVALID
000023d2: JUMPDEST
000023d3: EQ
000023d4: PUSH2 0x2411
000023d7: JUMPI
000023d8: PUSH1 0x40
000023da: MLOAD
000023db: PUSH1 0x01
000023dd: PUSH1 0xe5
000023df: SHL
000023e0: PUSH3 0x461bcd
000023e4: MUL
000023e5: DUP2
000023e6: MSTORE
000023e7: PUSH1 0x04
000023e9: ADD
000023ea: DUP1
000023eb: DUP1
000023ec: PUSH1 0x20
000023ee: ADD
000023ef: DUP3
000023f0: DUP2
000023f1: SUB
000023f2: DUP3
000023f3: MSTORE
000023f4: PUSH1 0x23
000023f6: DUP2
000023f7: MSTORE
000023f8: PUSH1 0x20
000023fa: ADD
000023fb: DUP1
000023fc: PUSH2 0x47e2
000023ff: PUSH1 0x23
00002401: SWAP2
00002402: CODECOPY
00002403: PUSH1 0x40
00002405: ADD
00002406: SWAP2
00002407: POP
00002408: POP
00002409: PUSH1 0x40
0000240b: MLOAD
0000240c: DUP1
0000240d: SWAP2
0000240e: SUB
0000240f: SWAP1
00002410: REVERT
00002411: JUMPDEST
00002412: PUSH1 0x04
00002414: SLOAD
00002415: PUSH1 0x40
00002417: DUP1
00002418: MLOAD
00002419: PUSH1 0x01
0000241b: PUSH1 0x01
0000241d: PUSH1 0xa0
0000241f: SHL
00002420: SUB
00002421: SWAP1
00002422: SWAP3
00002423: AND
00002424: DUP3
00002425: MSTORE
00002426: PUSH1 0x20
00002428: DUP3
00002429: ADD
0000242a: DUP7
0000242b: SWAP1
0000242c: MSTORE
0000242d: DUP2
0000242e: DUP2
0000242f: ADD
00002430: DUP4
00002431: SWAP1
00002432: MSTORE
00002433: MLOAD
00002434: PUSH32 0x3bad0c59cf2f06e7314077049f48a93578cd16f5ef92329f1dab1420a99c177e
00002455: SWAP2
00002456: DUP2
00002457: SWAP1
00002458: SUB
00002459: PUSH1 0x60
0000245b: ADD
0000245c: SWAP1
0000245d: LOG1
0000245e: PUSH1 0x00
00002460: SWAP5
00002461: SWAP4
00002462: POP
00002463: POP
00002464: POP
00002465: POP
00002466: JUMP
00002467: JUMPDEST
00002468: PUSH1 0x00
0000246a: DUP1
0000246b: SLOAD
0000246c: PUSH1 0x01
0000246e: ADD
0000246f: DUP1
00002470: DUP3
00002471: SSTORE
00002472: DUP2
00002473: PUSH2 0x247a
00002476: PUSH2 0x0e8a
00002479: JUMP
0000247a: JUMPDEST
0000247b: SWAP1
0000247c: POP
0000247d: DUP1
0000247e: ISZERO
0000247f: PUSH2 0x2498
00002482: JUMPI
00002483: PUSH2 0x0c69
00002486: DUP2
00002487: PUSH1 0x10
00002489: DUP2
0000248a: GT
0000248b: ISZERO
0000248c: PUSH2 0x2491
0000248f: JUMPI
00002490: INVALID
00002491: JUMPDEST
00002492: PUSH1 0x27
00002494: PUSH2 0x227d
00002497: JUMP
00002498: JUMPDEST
00002499: PUSH2 0x0c7a
0000249c: CALLER
0000249d: PUSH1 0x00
0000249f: DUP7
000024a0: PUSH2 0x319a
000024a3: JUMP
000024a4: JUMPDEST
000024a5: PUSH1 0x01
000024a7: PUSH1 0x01
000024a9: PUSH1 0xa0
000024ab: SHL
000024ac: SUB
000024ad: DUP2
000024ae: AND
000024af: PUSH1 0x00
000024b1: SWAP1
000024b2: DUP2
000024b3: MSTORE
000024b4: PUSH1 0x11
000024b6: PUSH1 0x20
000024b8: MSTORE
000024b9: PUSH1 0x40
000024bb: DUP2
000024bc: KECCAK256
000024bd: DUP1
000024be: SLOAD
000024bf: DUP3
000024c0: SWAP2
000024c1: DUP3
000024c2: SWAP2
000024c3: DUP3
000024c4: SWAP2
000024c5: DUP3
000024c6: SWAP2
000024c7: PUSH2 0x24db
000024ca: JUMPI
000024cb: POP
000024cc: PUSH1 0x00
000024ce: SWAP5
000024cf: POP
000024d0: DUP5
000024d1: SWAP4
000024d2: POP
000024d3: PUSH2 0x2553
000024d6: SWAP3
000024d7: POP
000024d8: POP
000024d9: POP
000024da: JUMP
000024db: JUMPDEST
000024dc: PUSH2 0x24eb
000024df: DUP2
000024e0: PUSH1 0x00
000024e2: ADD
000024e3: SLOAD
000024e4: PUSH1 0x0b
000024e6: SLOAD
000024e7: PUSH2 0x36af
000024ea: JUMP
000024eb: JUMPDEST
000024ec: SWAP1
000024ed: SWAP5
000024ee: POP
000024ef: SWAP3
000024f0: POP
000024f1: PUSH1 0x00
000024f3: DUP5
000024f4: PUSH1 0x03
000024f6: DUP2
000024f7: GT
000024f8: ISZERO
000024f9: PUSH2 0x24fe
000024fc: JUMPI
000024fd: INVALID
000024fe: JUMPDEST
000024ff: EQ
00002500: PUSH2 0x2513
00002503: JUMPI
00002504: POP
00002505: SWAP2
00002506: SWAP4
00002507: POP
00002508: PUSH1 0x00
0000250a: SWAP3
0000250b: POP
0000250c: PUSH2 0x2553
0000250f: SWAP2
00002510: POP
00002511: POP
00002512: JUMP
00002513: JUMPDEST
00002514: PUSH2 0x2521
00002517: DUP4
00002518: DUP3
00002519: PUSH1 0x01
0000251b: ADD
0000251c: SLOAD
0000251d: PUSH2 0x36ee
00002520: JUMP
00002521: JUMPDEST
00002522: SWAP1
00002523: SWAP5
00002524: POP
00002525: SWAP2
00002526: POP
00002527: PUSH1 0x00
00002529: DUP5
0000252a: PUSH1 0x03
0000252c: DUP2
0000252d: GT
0000252e: ISZERO
0000252f: PUSH2 0x2534
00002532: JUMPI
00002533: INVALID
00002534: JUMPDEST
00002535: EQ
00002536: PUSH2 0x2549
00002539: JUMPI
0000253a: POP
0000253b: SWAP2
0000253c: SWAP4
0000253d: POP
0000253e: PUSH1 0x00
00002540: SWAP3
00002541: POP
00002542: PUSH2 0x2553
00002545: SWAP2
00002546: POP
00002547: POP
00002548: JUMP
00002549: JUMPDEST
0000254a: POP
0000254b: PUSH1 0x00
0000254d: SWAP5
0000254e: POP
0000254f: SWAP3
00002550: POP
00002551: POP
00002552: POP
00002553: JUMPDEST
00002554: SWAP2
00002555: POP
00002556: SWAP2
00002557: JUMP
00002558: JUMPDEST
00002559: PUSH1 0x00
0000255b: DUP1
0000255c: SLOAD
0000255d: PUSH1 0x01
0000255f: ADD
00002560: DUP1
00002561: DUP3
00002562: SSTORE
00002563: DUP2
00002564: PUSH2 0x256b
00002567: PUSH2 0x0e8a
0000256a: JUMP
0000256b: JUMPDEST
0000256c: SWAP1
0000256d: POP
0000256e: DUP1
0000256f: ISZERO
00002570: PUSH2 0x2589
00002573: JUMPI
00002574: PUSH2 0x0c69
00002577: DUP2
00002578: PUSH1 0x10
0000257a: DUP2
0000257b: GT
0000257c: ISZERO
0000257d: PUSH2 0x2582
00002580: JUMPI
00002581: INVALID
00002582: JUMPDEST
00002583: PUSH1 0x1e
00002585: PUSH2 0x227d
00002588: JUMP
00002589: JUMPDEST
0000258a: PUSH2 0x0c7a
0000258d: CALLER
0000258e: DUP6
0000258f: PUSH2 0x3719
00002592: JUMP
00002593: JUMPDEST
00002594: PUSH1 0x00
00002596: PUSH32 0x45b96fe442630264581b197e84bbada861235052c5a1aadfff9ea4e40a969aa0
000025b7: DUP5
000025b8: PUSH1 0x10
000025ba: DUP2
000025bb: GT
000025bc: ISZERO
000025bd: PUSH2 0x25c2
000025c0: JUMPI
000025c1: INVALID
000025c2: JUMPDEST
000025c3: DUP5
000025c4: PUSH1 0x4d
000025c6: DUP2
000025c7: GT
000025c8: ISZERO
000025c9: PUSH2 0x25ce
000025cc: JUMPI
000025cd: INVALID
000025ce: JUMPDEST
000025cf: PUSH1 0x40
000025d1: DUP1
000025d2: MLOAD
000025d3: SWAP3
000025d4: DUP4
000025d5: MSTORE
000025d6: PUSH1 0x20
000025d8: DUP4
000025d9: ADD
000025da: SWAP2
000025db: SWAP1
000025dc: SWAP2
000025dd: MSTORE
000025de: DUP2
000025df: DUP2
000025e0: ADD
000025e1: DUP6
000025e2: SWAP1
000025e3: MSTORE
000025e4: MLOAD
000025e5: SWAP1
000025e6: DUP2
000025e7: SWAP1
000025e8: SUB
000025e9: PUSH1 0x60
000025eb: ADD
000025ec: SWAP1
000025ed: LOG1
000025ee: DUP4
000025ef: PUSH1 0x10
000025f1: DUP2
000025f2: GT
000025f3: ISZERO
000025f4: PUSH2 0x0ab7
000025f7: JUMPI
000025f8: INVALID
000025f9: JUMPDEST
000025fa: NUMBER
000025fb: SWAP1
000025fc: JUMP
000025fd: JUMPDEST
000025fe: PUSH1 0x00
00002600: DUP1
00002601: DUP4
00002602: DUP4
00002603: GT
00002604: PUSH2 0x2614
00002607: JUMPI
00002608: POP
00002609: PUSH1 0x00
0000260b: SWAP1
0000260c: POP
0000260d: DUP2
0000260e: DUP4
0000260f: SUB
00002610: PUSH2 0x21f3
00002613: JUMP
00002614: JUMPDEST
00002615: POP
00002616: PUSH1 0x03
00002618: SWAP1
00002619: POP
0000261a: PUSH1 0x00
0000261c: PUSH2 0x21f3
0000261f: JUMP
00002620: JUMPDEST
00002621: PUSH1 0x00
00002623: PUSH2 0x262a
00002626: PUSH2 0x46bb
00002629: JUMP
0000262a: JUMPDEST
0000262b: PUSH1 0x00
0000262d: DUP1
0000262e: PUSH2 0x263b
00002631: DUP7
00002632: PUSH1 0x00
00002634: ADD
00002635: MLOAD
00002636: DUP7
00002637: PUSH2 0x36af
0000263a: JUMP
0000263b: JUMPDEST
0000263c: SWAP1
0000263d: SWAP3
0000263e: POP
0000263f: SWAP1
00002640: POP
00002641: PUSH1 0x00
00002643: DUP3
00002644: PUSH1 0x03
00002646: DUP2
00002647: GT
00002648: ISZERO
00002649: PUSH2 0x264e
0000264c: JUMPI
0000264d: INVALID
0000264e: JUMPDEST
0000264f: EQ
00002650: PUSH2 0x266d
00002653: JUMPI
00002654: POP
00002655: PUSH1 0x40
00002657: DUP1
00002658: MLOAD
00002659: PUSH1 0x20
0000265b: DUP2
0000265c: ADD
0000265d: SWAP1
0000265e: SWAP2
0000265f: MSTORE
00002660: PUSH1 0x00
00002662: DUP2
00002663: MSTORE
00002664: SWAP1
00002665: SWAP3
00002666: POP
00002667: SWAP1
00002668: POP
00002669: PUSH2 0x21f3
0000266c: JUMP
0000266d: JUMPDEST
0000266e: PUSH1 0x40
00002670: DUP1
00002671: MLOAD
00002672: PUSH1 0x20
00002674: DUP2
00002675: ADD
00002676: SWAP1
00002677: SWAP2
00002678: MSTORE
00002679: SWAP1
0000267a: DUP2
0000267b: MSTORE
0000267c: PUSH1 0x00
0000267e: SWAP7
0000267f: SWAP1
00002680: SWAP6
00002681: POP
00002682: SWAP4
00002683: POP
00002684: POP
00002685: POP
00002686: POP
00002687: JUMP
00002688: JUMPDEST
00002689: PUSH1 0x00
0000268b: DUP1
0000268c: DUP4
0000268d: DUP4
0000268e: ADD
0000268f: DUP5
00002690: DUP2
00002691: LT
00002692: PUSH2 0x26a0
00002695: JUMPI
00002696: PUSH1 0x00
00002698: SWAP3
00002699: POP
0000269a: SWAP1
0000269b: POP
0000269c: PUSH2 0x21f3
0000269f: JUMP
000026a0: JUMPDEST
000026a1: POP
000026a2: PUSH1 0x02
000026a4: SWAP2
000026a5: POP
000026a6: PUSH1 0x00
000026a8: SWAP1
000026a9: POP
000026aa: PUSH2 0x21f3
000026ad: JUMP
000026ae: JUMPDEST
000026af: PUSH1 0x00
000026b1: DUP1
000026b2: PUSH1 0x00
000026b4: PUSH2 0x26bb
000026b7: PUSH2 0x46bb
000026ba: JUMP
000026bb: JUMPDEST
000026bc: PUSH2 0x26c5
000026bf: DUP8
000026c0: DUP8
000026c1: PUSH2 0x2620
000026c4: JUMP
000026c5: JUMPDEST
000026c6: SWAP1
000026c7: SWAP3
000026c8: POP
000026c9: SWAP1
000026ca: POP
000026cb: PUSH1 0x00
000026cd: DUP3
000026ce: PUSH1 0x03
000026d0: DUP2
000026d1: GT
000026d2: ISZERO
000026d3: PUSH2 0x26d8
000026d6: JUMPI
000026d7: INVALID
000026d8: JUMPDEST
000026d9: EQ
000026da: PUSH2 0x26e9
000026dd: JUMPI
000026de: POP
000026df: SWAP2
000026e0: POP
000026e1: PUSH1 0x00
000026e3: SWAP1
000026e4: POP
000026e5: PUSH2 0x2702
000026e8: JUMP
000026e9: JUMPDEST
000026ea: PUSH2 0x26fb
000026ed: PUSH2 0x26f5
000026f0: DUP3
000026f1: PUSH2 0x30cc
000026f4: JUMP
000026f5: JUMPDEST
000026f6: DUP7
000026f7: PUSH2 0x2688
000026fa: JUMP
000026fb: JUMPDEST
000026fc: SWAP4
000026fd: POP
000026fe: SWAP4
000026ff: POP
00002700: POP
00002701: POP
00002702: JUMPDEST
00002703: SWAP4
00002704: POP
00002705: SWAP4
00002706: SWAP2
00002707: POP
00002708: POP
00002709: JUMP
0000270a: JUMPDEST
0000270b: PUSH1 0x00
0000270d: PUSH2 0x2714
00002710: PUSH2 0x46bb
00002713: JUMP
00002714: JUMPDEST
00002715: PUSH1 0x00
00002717: DUP1
00002718: PUSH2 0x2729
0000271b: PUSH8 0x0de0b6b3a7640000
00002724: DUP8
00002725: PUSH2 0x36af
00002728: JUMP
00002729: JUMPDEST
0000272a: SWAP1
0000272b: SWAP3
0000272c: POP
0000272d: SWAP1
0000272e: POP
0000272f: PUSH1 0x00
00002731: DUP3
00002732: PUSH1 0x03
00002734: DUP2
00002735: GT
00002736: ISZERO
00002737: PUSH2 0x273c
0000273a: JUMPI
0000273b: INVALID
0000273c: JUMPDEST
0000273d: EQ
0000273e: PUSH2 0x275b
00002741: JUMPI
00002742: POP
00002743: PUSH1 0x40
00002745: DUP1
00002746: MLOAD
00002747: PUSH1 0x20
00002749: DUP2
0000274a: ADD
0000274b: SWAP1
0000274c: SWAP2
0000274d: MSTORE
0000274e: PUSH1 0x00
00002750: DUP2
00002751: MSTORE
00002752: SWAP1
00002753: SWAP3
00002754: POP
00002755: SWAP1
00002756: POP
00002757: PUSH2 0x21f3
0000275a: JUMP
0000275b: JUMPDEST
0000275c: PUSH2 0x21ec
0000275f: DUP2
00002760: DUP7
00002761: PUSH1 0x00
00002763: ADD
00002764: MLOAD
00002765: PUSH2 0x301c
00002768: JUMP
00002769: JUMPDEST
0000276a: PUSH1 0x00
0000276c: PUSH2 0x2773
0000276f: PUSH2 0x46bb
00002772: JUMP
00002773: JUMPDEST
00002774: PUSH1 0x00
00002776: DUP1
00002777: PUSH2 0x2788
0000277a: DUP7
0000277b: PUSH1 0x00
0000277d: ADD
0000277e: MLOAD
0000277f: DUP7
00002780: PUSH1 0x00
00002782: ADD
00002783: MLOAD
00002784: PUSH2 0x25fd
00002787: JUMP
00002788: JUMPDEST
00002789: PUSH1 0x40
0000278b: DUP1
0000278c: MLOAD
0000278d: PUSH1 0x20
0000278f: DUP2
00002790: ADD
00002791: SWAP1
00002792: SWAP2
00002793: MSTORE
00002794: SWAP1
00002795: DUP2
00002796: MSTORE
00002797: SWAP1
00002798: SWAP8
00002799: SWAP1
0000279a: SWAP7
0000279b: POP
0000279c: SWAP5
0000279d: POP
0000279e: POP
0000279f: POP
000027a0: POP
000027a1: POP
000027a2: JUMP
000027a3: JUMPDEST
000027a4: PUSH1 0x00
000027a6: PUSH2 0x27ad
000027a9: PUSH2 0x46bb
000027ac: JUMP
000027ad: JUMPDEST
000027ae: PUSH1 0x00
000027b0: PUSH2 0x27b7
000027b3: PUSH2 0x46bb
000027b6: JUMP
000027b7: JUMPDEST
000027b8: PUSH2 0x27c1
000027bb: DUP8
000027bc: DUP8
000027bd: PUSH2 0x3b67
000027c0: JUMP
000027c1: JUMPDEST
000027c2: SWAP1
000027c3: SWAP3
000027c4: POP
000027c5: SWAP1
000027c6: POP
000027c7: PUSH1 0x00
000027c9: DUP3
000027ca: PUSH1 0x03
000027cc: DUP2
000027cd: GT
000027ce: ISZERO
000027cf: PUSH2 0x27d4
000027d2: JUMPI
000027d3: INVALID
000027d4: JUMPDEST
000027d5: EQ
000027d6: PUSH2 0x27e3
000027d9: JUMPI
000027da: SWAP1
000027db: SWAP3
000027dc: POP
000027dd: SWAP1
000027de: POP
000027df: PUSH2 0x2702
000027e2: JUMP
000027e3: JUMPDEST
000027e4: PUSH2 0x26fb
000027e7: DUP2
000027e8: DUP7
000027e9: PUSH2 0x3b67
000027ec: JUMP
000027ed: JUMPDEST
000027ee: PUSH1 0x00
000027f0: DUP1
000027f1: SLOAD
000027f2: PUSH1 0x01
000027f4: ADD
000027f5: DUP1
000027f6: DUP3
000027f7: SSTORE
000027f8: DUP2
000027f9: PUSH2 0x2800
000027fc: PUSH2 0x0e8a
000027ff: JUMP
00002800: JUMPDEST
00002801: SWAP1
00002802: POP
00002803: DUP1
00002804: ISZERO
00002805: PUSH2 0x281e
00002808: JUMPI
00002809: PUSH2 0x0c69
0000280c: DUP2
0000280d: PUSH1 0x10
0000280f: DUP2
00002810: GT
00002811: ISZERO
00002812: PUSH2 0x2817
00002815: JUMPI
00002816: INVALID
00002817: JUMPDEST
00002818: PUSH1 0x08
0000281a: PUSH2 0x227d
0000281d: JUMP
0000281e: JUMPDEST
0000281f: PUSH2 0x0c7a
00002822: CALLER
00002823: DUP6
00002824: PUSH2 0x3c50
00002827: JUMP
00002828: JUMPDEST
00002829: PUSH1 0x00
0000282b: DUP1
0000282c: SLOAD
0000282d: PUSH1 0x01
0000282f: ADD
00002830: DUP1
00002831: DUP3
00002832: SSTORE
00002833: DUP2
00002834: PUSH2 0x283b
00002837: PUSH2 0x0e8a
0000283a: JUMP
0000283b: JUMPDEST
0000283c: SWAP1
0000283d: POP
0000283e: DUP1
0000283f: ISZERO
00002840: PUSH2 0x2852
00002843: JUMPI
00002844: PUSH2 0x0c69
00002847: DUP2
00002848: PUSH1 0x10
0000284a: DUP2
0000284b: GT
0000284c: ISZERO
0000284d: PUSH2 0x2491
00002850: JUMPI
00002851: INVALID
00002852: JUMPDEST
00002853: PUSH2 0x0c7a
00002856: CALLER
00002857: DUP6
00002858: PUSH1 0x00
0000285a: PUSH2 0x319a
0000285d: JUMP
0000285e: JUMPDEST
0000285f: PUSH1 0x04
00002861: SLOAD
00002862: PUSH1 0x00
00002864: SWAP1
00002865: DUP2
00002866: SWAP1
00002867: PUSH1 0x01
00002869: PUSH1 0x01
0000286b: PUSH1 0xa0
0000286d: SHL
0000286e: SUB
0000286f: AND
00002870: CALLER
00002871: EQ
00002872: PUSH2 0x2881
00002875: JUMPI
00002876: PUSH2 0x1bbe
00002879: PUSH1 0x01
0000287b: PUSH1 0x42
0000287d: PUSH2 0x227d
00002880: JUMP
00002881: JUMPDEST
00002882: PUSH2 0x2889
00002885: PUSH2 0x25f9
00002888: JUMP
00002889: JUMPDEST
0000288a: PUSH1 0x0a
0000288c: SLOAD
0000288d: EQ
0000288e: PUSH2 0x289d
00002891: JUMPI
00002892: PUSH2 0x1bbe
00002895: PUSH1 0x0a
00002897: PUSH1 0x41
00002899: PUSH2 0x227d
0000289c: JUMP
0000289d: JUMPDEST
0000289e: PUSH1 0x07
000028a0: PUSH1 0x00
000028a2: SWAP1
000028a3: SLOAD
000028a4: SWAP1
000028a5: PUSH2 0x0100
000028a8: EXP
000028a9: SWAP1
000028aa: DIV
000028ab: PUSH1 0x01
000028ad: PUSH1 0x01
000028af: PUSH1 0xa0
000028b1: SHL
000028b2: SUB
000028b3: AND
000028b4: SWAP1
000028b5: POP
000028b6: DUP3
000028b7: PUSH1 0x01
000028b9: PUSH1 0x01
000028bb: PUSH1 0xa0
000028bd: SHL
000028be: SUB
000028bf: AND
000028c0: PUSH4 0x2191f92a
000028c5: PUSH1 0x40
000028c7: MLOAD
000028c8: DUP2
000028c9: PUSH4 0xffffffff
000028ce: AND
000028cf: PUSH1 0xe0
000028d1: SHL
000028d2: DUP2
000028d3: MSTORE
000028d4: PUSH1 0x04
000028d6: ADD
000028d7: PUSH1 0x20
000028d9: PUSH1 0x40
000028db: MLOAD
000028dc: DUP1
000028dd: DUP4
000028de: SUB
000028df: DUP2
000028e0: DUP7
000028e1: DUP1
000028e2: EXTCODESIZE
000028e3: ISZERO
000028e4: DUP1
000028e5: ISZERO
000028e6: PUSH2 0x28ee
000028e9: JUMPI
000028ea: PUSH1 0x00
000028ec: DUP1
000028ed: REVERT
000028ee: JUMPDEST
000028ef: POP
000028f0: GAS
000028f1: STATICCALL
000028f2: ISZERO
000028f3: DUP1
000028f4: ISZERO
000028f5: PUSH2 0x2902
000028f8: JUMPI
000028f9: RETURNDATASIZE
000028fa: PUSH1 0x00
000028fc: DUP1
000028fd: RETURNDATACOPY
000028fe: RETURNDATASIZE
000028ff: PUSH1 0x00
00002901: REVERT
00002902: JUMPDEST
00002903: POP
00002904: POP
00002905: POP
00002906: POP
00002907: PUSH1 0x40
00002909: MLOAD
0000290a: RETURNDATASIZE
0000290b: PUSH1 0x20
0000290d: DUP2
0000290e: LT
0000290f: ISZERO
00002910: PUSH2 0x2918
00002913: JUMPI
00002914: PUSH1 0x00
00002916: DUP1
00002917: REVERT
00002918: JUMPDEST
00002919: POP
0000291a: MLOAD
0000291b: PUSH2 0x296e
0000291e: JUMPI
0000291f: PUSH1 0x40
00002921: DUP1
00002922: MLOAD
00002923: PUSH1 0x01
00002925: PUSH1 0xe5
00002927: SHL
00002928: PUSH3 0x461bcd
0000292c: MUL
0000292d: DUP2
0000292e: MSTORE
0000292f: PUSH1 0x20
00002931: PUSH1 0x04
00002933: DUP3
00002934: ADD
00002935: MSTORE
00002936: PUSH1 0x1c
00002938: PUSH1 0x24
0000293a: DUP3
0000293b: ADD
0000293c: MSTORE
0000293d: PUSH32 0x6d61726b6572206d6574686f642072657475726e65642066616c736500000000
0000295e: PUSH1 0x44
00002960: DUP3
00002961: ADD
00002962: MSTORE
00002963: SWAP1
00002964: MLOAD
00002965: SWAP1
00002966: DUP2
00002967: SWAP1
00002968: SUB
00002969: PUSH1 0x64
0000296b: ADD
0000296c: SWAP1
0000296d: REVERT
0000296e: JUMPDEST
0000296f: PUSH1 0x07
00002971: DUP1
00002972: SLOAD
00002973: PUSH1 0x01
00002975: PUSH1 0x01
00002977: PUSH1 0xa0
00002979: SHL
0000297a: SUB
0000297b: NOT
0000297c: AND
0000297d: PUSH1 0x01
0000297f: PUSH1 0x01
00002981: PUSH1 0xa0
00002983: SHL
00002984: SUB
00002985: DUP6
00002986: DUP2
00002987: AND
00002988: SWAP2
00002989: DUP3
0000298a: OR
0000298b: SWAP1
0000298c: SWAP3
0000298d: SSTORE
0000298e: PUSH1 0x40
00002990: DUP1
00002991: MLOAD
00002992: SWAP3
00002993: DUP5
00002994: AND
00002995: DUP4
00002996: MSTORE
00002997: PUSH1 0x20
00002999: DUP4
0000299a: ADD
0000299b: SWAP2
0000299c: SWAP1
0000299d: SWAP2
0000299e: MSTORE
0000299f: DUP1
000029a0: MLOAD
000029a1: PUSH32 0xedffc32e068c7c95dfd4bdfd5c4d939a084d6b11c4199eac8436ed234d72f926
000029c2: SWAP3
000029c3: DUP2
000029c4: SWAP1
000029c5: SUB
000029c6: SWAP1
000029c7: SWAP2
000029c8: ADD
000029c9: SWAP1
000029ca: LOG1
000029cb: PUSH1 0x00
000029cd: PUSH2 0x0a35
000029d0: JUMP
000029d1: JUMPDEST
000029d2: PUSH1 0x00
000029d4: DUP1
000029d5: SLOAD
000029d6: PUSH1 0x01
000029d8: ADD
000029d9: DUP1
000029da: DUP3
000029db: SSTORE
000029dc: DUP2
000029dd: PUSH2 0x29e4
000029e0: PUSH2 0x0e8a
000029e3: JUMP
000029e4: JUMPDEST
000029e5: SWAP1
000029e6: POP
000029e7: DUP1
000029e8: ISZERO
000029e9: PUSH2 0x2a02
000029ec: JUMPI
000029ed: PUSH2 0x168b
000029f0: DUP2
000029f1: PUSH1 0x10
000029f3: DUP2
000029f4: GT
000029f5: ISZERO
000029f6: PUSH2 0x29fb
000029f9: JUMPI
000029fa: INVALID
000029fb: JUMPDEST
000029fc: PUSH1 0x0f
000029fe: PUSH2 0x227d
00002a01: JUMP
00002a02: JUMPDEST
00002a03: DUP4
00002a04: PUSH1 0x01
00002a06: PUSH1 0x01
00002a08: PUSH1 0xa0
00002a0a: SHL
00002a0b: SUB
00002a0c: AND
00002a0d: PUSH4 0xa6afed95
00002a12: PUSH1 0x40
00002a14: MLOAD
00002a15: DUP2
00002a16: PUSH4 0xffffffff
00002a1b: AND
00002a1c: PUSH1 0xe0
00002a1e: SHL
00002a1f: DUP2
00002a20: MSTORE
00002a21: PUSH1 0x04
00002a23: ADD
00002a24: PUSH1 0x20
00002a26: PUSH1 0x40
00002a28: MLOAD
00002a29: DUP1
00002a2a: DUP4
00002a2b: SUB
00002a2c: DUP2
00002a2d: PUSH1 0x00
00002a2f: DUP8
00002a30: DUP1
00002a31: EXTCODESIZE
00002a32: ISZERO
00002a33: DUP1
00002a34: ISZERO
00002a35: PUSH2 0x2a3d
00002a38: JUMPI
00002a39: PUSH1 0x00
00002a3b: DUP1
00002a3c: REVERT
00002a3d: JUMPDEST
00002a3e: POP
00002a3f: GAS
00002a40: CALL
00002a41: ISZERO
00002a42: DUP1
00002a43: ISZERO
00002a44: PUSH2 0x2a51
00002a47: JUMPI
00002a48: RETURNDATASIZE
00002a49: PUSH1 0x00
00002a4b: DUP1
00002a4c: RETURNDATACOPY
00002a4d: RETURNDATASIZE
00002a4e: PUSH1 0x00
00002a50: REVERT
00002a51: JUMPDEST
00002a52: POP
00002a53: POP
00002a54: POP
00002a55: POP
00002a56: PUSH1 0x40
00002a58: MLOAD
00002a59: RETURNDATASIZE
00002a5a: PUSH1 0x20
00002a5c: DUP2
00002a5d: LT
00002a5e: ISZERO
00002a5f: PUSH2 0x2a67
00002a62: JUMPI
00002a63: PUSH1 0x00
00002a65: DUP1
00002a66: REVERT
00002a67: JUMPDEST
00002a68: POP
00002a69: MLOAD
00002a6a: SWAP1
00002a6b: POP
00002a6c: DUP1
00002a6d: ISZERO
00002a6e: PUSH2 0x2a87
00002a71: JUMPI
00002a72: PUSH2 0x168b
00002a75: DUP2
00002a76: PUSH1 0x10
00002a78: DUP2
00002a79: GT
00002a7a: ISZERO
00002a7b: PUSH2 0x2a80
00002a7e: JUMPI
00002a7f: INVALID
00002a80: JUMPDEST
00002a81: PUSH1 0x10
00002a83: PUSH2 0x227d
00002a86: JUMP
00002a87: JUMPDEST
00002a88: PUSH2 0x2a93
00002a8b: CALLER
00002a8c: DUP8
00002a8d: DUP8
00002a8e: DUP8
00002a8f: PUSH2 0x3fbf
00002a92: JUMP
00002a93: JUMPDEST
00002a94: SWAP3
00002a95: POP
00002a96: POP
00002a97: PUSH1 0x00
00002a99: SLOAD
00002a9a: DUP2
00002a9b: EQ
00002a9c: PUSH2 0x0a21
00002a9f: JUMPI
00002aa0: PUSH1 0x40
00002aa2: DUP1
00002aa3: MLOAD
00002aa4: PUSH1 0x01
00002aa6: PUSH1 0xe5
00002aa8: SHL
00002aa9: PUSH3 0x461bcd
00002aad: MUL
00002aae: DUP2
00002aaf: MSTORE
00002ab0: PUSH1 0x20
00002ab2: PUSH1 0x04
00002ab4: DUP3
00002ab5: ADD
00002ab6: MSTORE
00002ab7: PUSH1 0x0a
00002ab9: PUSH1 0x24
00002abb: DUP3
00002abc: ADD
00002abd: MSTORE
00002abe: PUSH1 0x01
00002ac0: PUSH1 0xb2
00002ac2: SHL
00002ac3: PUSH10 0x1c994b595b9d195c9959
00002ace: MUL
00002acf: PUSH1 0x44
00002ad1: DUP3
00002ad2: ADD
00002ad3: MSTORE
00002ad4: SWAP1
00002ad5: MLOAD
00002ad6: SWAP1
00002ad7: DUP2
00002ad8: SWAP1
00002ad9: SUB
00002ada: PUSH1 0x64
00002adc: ADD
00002add: SWAP1
00002ade: REVERT
00002adf: JUMPDEST
00002ae0: PUSH1 0x04
00002ae2: SLOAD
00002ae3: PUSH1 0x00
00002ae5: SWAP1
00002ae6: PUSH1 0x01
00002ae8: PUSH1 0x01
00002aea: PUSH1 0xa0
00002aec: SHL
00002aed: SUB
00002aee: AND
00002aef: CALLER
00002af0: EQ
00002af1: PUSH2 0x2b00
00002af4: JUMPI
00002af5: PUSH2 0x0aef
00002af8: PUSH1 0x01
00002afa: PUSH1 0x47
00002afc: PUSH2 0x227d
00002aff: JUMP
00002b00: JUMPDEST
00002b01: PUSH2 0x2b08
00002b04: PUSH2 0x25f9
00002b07: JUMP
00002b08: JUMPDEST
00002b09: PUSH1 0x0a
00002b0b: SLOAD
00002b0c: EQ
00002b0d: PUSH2 0x2b1c
00002b10: JUMPI
00002b11: PUSH2 0x0aef
00002b14: PUSH1 0x0a
00002b16: PUSH1 0x48
00002b18: PUSH2 0x227d
00002b1b: JUMP
00002b1c: JUMPDEST
00002b1d: PUSH8 0x0de0b6b3a7640000
00002b26: DUP3
00002b27: GT
00002b28: ISZERO
00002b29: PUSH2 0x2b38
00002b2c: JUMPI
00002b2d: PUSH2 0x0aef
00002b30: PUSH1 0x02
00002b32: PUSH1 0x49
00002b34: PUSH2 0x227d
00002b37: JUMP
00002b38: JUMPDEST
00002b39: PUSH1 0x09
00002b3b: DUP1
00002b3c: SLOAD
00002b3d: SWAP1
00002b3e: DUP4
00002b3f: SWAP1
00002b40: SSTORE
00002b41: PUSH1 0x40
00002b43: DUP1
00002b44: MLOAD
00002b45: DUP3
00002b46: DUP2
00002b47: MSTORE
00002b48: PUSH1 0x20
00002b4a: DUP2
00002b4b: ADD
00002b4c: DUP6
00002b4d: SWAP1
00002b4e: MSTORE
00002b4f: DUP2
00002b50: MLOAD
00002b51: PUSH32 0xaaa68312e2ea9d50e16af5068410ab56e1a1fd06037b1a35664812c30f821460
00002b72: SWAP3
00002b73: SWAP2
00002b74: DUP2
00002b75: SWAP1
00002b76: SUB
00002b77: SWAP1
00002b78: SWAP2
00002b79: ADD
00002b7a: SWAP1
00002b7b: LOG1
00002b7c: PUSH1 0x00
00002b7e: PUSH2 0x0a35
00002b81: JUMP
00002b82: JUMPDEST
00002b83: PUSH1 0x06
00002b85: SLOAD
00002b86: PUSH1 0x40
00002b88: DUP1
00002b89: MLOAD
00002b8a: PUSH1 0x01
00002b8c: PUSH1 0xe1
00002b8e: SHL
00002b8f: PUSH4 0x12004531
00002b94: MUL
00002b95: DUP2
00002b96: MSTORE
00002b97: ADDRESS
00002b98: PUSH1 0x04
00002b9a: DUP3
00002b9b: ADD
00002b9c: MSTORE
00002b9d: PUSH1 0x01
00002b9f: PUSH1 0x01
00002ba1: PUSH1 0xa0
00002ba3: SHL
00002ba4: SUB
00002ba5: DUP7
00002ba6: DUP2
00002ba7: AND
00002ba8: PUSH1 0x24
00002baa: DUP4
00002bab: ADD
00002bac: MSTORE
00002bad: DUP6
00002bae: DUP2
00002baf: AND
00002bb0: PUSH1 0x44
00002bb2: DUP4
00002bb3: ADD
00002bb4: MSTORE
00002bb5: PUSH1 0x64
00002bb7: DUP3
00002bb8: ADD
00002bb9: DUP6
00002bba: SWAP1
00002bbb: MSTORE
00002bbc: SWAP2
00002bbd: MLOAD
00002bbe: PUSH1 0x00
00002bc0: SWAP4
00002bc1: DUP5
00002bc2: SWAP4
00002bc3: AND
00002bc4: SWAP2
00002bc5: PUSH4 0x24008a62
00002bca: SWAP2
00002bcb: PUSH1 0x84
00002bcd: DUP1
00002bce: DUP4
00002bcf: ADD
00002bd0: SWAP3
00002bd1: PUSH1 0x20
00002bd3: SWAP3
00002bd4: SWAP2
00002bd5: SWAP1
00002bd6: DUP3
00002bd7: SWAP1
00002bd8: SUB
00002bd9: ADD
00002bda: DUP2
00002bdb: DUP8
00002bdc: DUP8
00002bdd: DUP1
00002bde: EXTCODESIZE
00002bdf: ISZERO
00002be0: DUP1
00002be1: ISZERO
00002be2: PUSH2 0x2bea
00002be5: JUMPI
00002be6: PUSH1 0x00
00002be8: DUP1
00002be9: REVERT
00002bea: JUMPDEST
00002beb: POP
00002bec: GAS
00002bed: CALL
00002bee: ISZERO
00002bef: DUP1
00002bf0: ISZERO
00002bf1: PUSH2 0x2bfe
00002bf4: JUMPI
00002bf5: RETURNDATASIZE
00002bf6: PUSH1 0x00
00002bf8: DUP1
00002bf9: RETURNDATACOPY
00002bfa: RETURNDATASIZE
00002bfb: PUSH1 0x00
00002bfd: REVERT
00002bfe: JUMPDEST
00002bff: POP
00002c00: POP
00002c01: POP
00002c02: POP
00002c03: PUSH1 0x40
00002c05: MLOAD
00002c06: RETURNDATASIZE
00002c07: PUSH1 0x20
00002c09: DUP2
00002c0a: LT
00002c0b: ISZERO
00002c0c: PUSH2 0x2c14
00002c0f: JUMPI
00002c10: PUSH1 0x00
00002c12: DUP1
00002c13: REVERT
00002c14: JUMPDEST
00002c15: POP
00002c16: MLOAD
00002c17: SWAP1
00002c18: POP
00002c19: DUP1
00002c1a: ISZERO
00002c1b: PUSH2 0x2c33
00002c1e: JUMPI
00002c1f: PUSH2 0x2c2b
00002c22: PUSH1 0x03
00002c24: PUSH1 0x38
00002c26: DUP4
00002c27: PUSH2 0x2593
00002c2a: JUMP
00002c2b: JUMPDEST
00002c2c: SWAP2
00002c2d: POP
00002c2e: POP
00002c2f: PUSH2 0x0a35
00002c32: JUMP
00002c33: JUMPDEST
00002c34: PUSH2 0x2c3b
00002c37: PUSH2 0x25f9
00002c3a: JUMP
00002c3b: JUMPDEST
00002c3c: PUSH1 0x0a
00002c3e: SLOAD
00002c3f: EQ
00002c40: PUSH2 0x2c4f
00002c43: JUMPI
00002c44: PUSH2 0x2c2b
00002c47: PUSH1 0x0a
00002c49: PUSH1 0x39
00002c4b: PUSH2 0x227d
00002c4e: JUMP
00002c4f: JUMPDEST
00002c50: PUSH2 0x2c57
00002c53: PUSH2 0x4728
00002c56: JUMP
00002c57: JUMPDEST
00002c58: PUSH1 0x01
00002c5a: PUSH1 0x01
00002c5c: PUSH1 0xa0
00002c5e: SHL
00002c5f: SUB
00002c60: DUP6
00002c61: AND
00002c62: PUSH1 0x00
00002c64: SWAP1
00002c65: DUP2
00002c66: MSTORE
00002c67: PUSH1 0x11
00002c69: PUSH1 0x20
00002c6b: MSTORE
00002c6c: PUSH1 0x40
00002c6e: SWAP1
00002c6f: KECCAK256
00002c70: PUSH1 0x01
00002c72: ADD
00002c73: SLOAD
00002c74: PUSH1 0x60
00002c76: DUP3
00002c77: ADD
00002c78: MSTORE
00002c79: PUSH2 0x2c81
00002c7c: DUP6
00002c7d: PUSH2 0x24a4
00002c80: JUMP
00002c81: JUMPDEST
00002c82: PUSH1 0x80
00002c84: DUP4
00002c85: ADD
00002c86: DUP2
00002c87: SWAP1
00002c88: MSTORE
00002c89: PUSH1 0x20
00002c8b: DUP4
00002c8c: ADD
00002c8d: DUP3
00002c8e: PUSH1 0x03
00002c90: DUP2
00002c91: GT
00002c92: ISZERO
00002c93: PUSH2 0x2c98
00002c96: JUMPI
00002c97: INVALID
00002c98: JUMPDEST
00002c99: PUSH1 0x03
00002c9b: DUP2
00002c9c: GT
00002c9d: ISZERO
00002c9e: PUSH2 0x2ca3
00002ca1: JUMPI
00002ca2: INVALID
00002ca3: JUMPDEST
00002ca4: SWAP1
00002ca5: MSTORE
00002ca6: POP
00002ca7: PUSH1 0x00
00002ca9: SWAP1
00002caa: POP
00002cab: DUP2
00002cac: PUSH1 0x20
00002cae: ADD
00002caf: MLOAD
00002cb0: PUSH1 0x03
00002cb2: DUP2
00002cb3: GT
00002cb4: ISZERO
00002cb5: PUSH2 0x2cba
00002cb8: JUMPI
00002cb9: INVALID
00002cba: JUMPDEST
00002cbb: EQ
00002cbc: PUSH2 0x2cdf
00002cbf: JUMPI
00002cc0: PUSH2 0x2cd6
00002cc3: PUSH1 0x09
00002cc5: PUSH1 0x37
00002cc7: DUP4
00002cc8: PUSH1 0x20
00002cca: ADD
00002ccb: MLOAD
00002ccc: PUSH1 0x03
00002cce: DUP2
00002ccf: GT
00002cd0: ISZERO
00002cd1: PUSH2 0x1078
00002cd4: JUMPI
00002cd5: INVALID
00002cd6: JUMPDEST
00002cd7: SWAP3
00002cd8: POP
00002cd9: POP
00002cda: POP
00002cdb: PUSH2 0x0a35
00002cde: JUMP
00002cdf: JUMPDEST
00002ce0: PUSH1 0x00
00002ce2: NOT
00002ce3: DUP5
00002ce4: EQ
00002ce5: ISZERO
00002ce6: PUSH2 0x2cf8
00002ce9: JUMPI
00002cea: PUSH1 0x80
00002cec: DUP2
00002ced: ADD
00002cee: MLOAD
00002cef: PUSH1 0x40
00002cf1: DUP3
00002cf2: ADD
00002cf3: MSTORE
00002cf4: PUSH2 0x2d00
00002cf7: JUMP
00002cf8: JUMPDEST
00002cf9: PUSH1 0x40
00002cfb: DUP2
00002cfc: ADD
00002cfd: DUP5
00002cfe: SWAP1
00002cff: MSTORE
00002d00: JUMPDEST
00002d01: PUSH2 0x2d0e
00002d04: DUP7
00002d05: DUP3
00002d06: PUSH1 0x40
00002d08: ADD
00002d09: MLOAD
00002d0a: PUSH2 0x44b3
00002d0d: JUMP
00002d0e: JUMPDEST
00002d0f: DUP2
00002d10: SWAP1
00002d11: PUSH1 0x10
00002d13: DUP2
00002d14: GT
00002d15: ISZERO
00002d16: PUSH2 0x2d1b
00002d19: JUMPI
00002d1a: INVALID
00002d1b: JUMPDEST
00002d1c: SWAP1
00002d1d: DUP2
00002d1e: PUSH1 0x10
00002d20: DUP2
00002d21: GT
00002d22: ISZERO
00002d23: PUSH2 0x2d28
00002d26: JUMPI
00002d27: INVALID
00002d28: JUMPDEST
00002d29: SWAP1
00002d2a: MSTORE
00002d2b: POP
00002d2c: PUSH1 0x00
00002d2e: DUP2
00002d2f: MLOAD
00002d30: PUSH1 0x10
00002d32: DUP2
00002d33: GT
00002d34: ISZERO
00002d35: PUSH2 0x2d3a
00002d38: JUMPI
00002d39: INVALID
00002d3a: JUMPDEST
00002d3b: EQ
00002d3c: PUSH2 0x2d4c
00002d3f: JUMPI
00002d40: DUP1
00002d41: MLOAD
00002d42: PUSH2 0x2cd6
00002d45: SWAP1
00002d46: PUSH1 0x3c
00002d48: PUSH2 0x227d
00002d4b: JUMP
00002d4c: JUMPDEST
00002d4d: PUSH2 0x2d5e
00002d50: DUP2
00002d51: PUSH1 0x80
00002d53: ADD
00002d54: MLOAD
00002d55: DUP3
00002d56: PUSH1 0x40
00002d58: ADD
00002d59: MLOAD
00002d5a: PUSH2 0x25fd
00002d5d: JUMP
00002d5e: JUMPDEST
00002d5f: PUSH1 0xa0
00002d61: DUP4
00002d62: ADD
00002d63: DUP2
00002d64: SWAP1
00002d65: MSTORE
00002d66: PUSH1 0x20
00002d68: DUP4
00002d69: ADD
00002d6a: DUP3
00002d6b: PUSH1 0x03
00002d6d: DUP2
00002d6e: GT
00002d6f: ISZERO
00002d70: PUSH2 0x2d75
00002d73: JUMPI
00002d74: INVALID
00002d75: JUMPDEST
00002d76: PUSH1 0x03
00002d78: DUP2
00002d79: GT
00002d7a: ISZERO
00002d7b: PUSH2 0x2d80
00002d7e: JUMPI
00002d7f: INVALID
00002d80: JUMPDEST
00002d81: SWAP1
00002d82: MSTORE
00002d83: POP
00002d84: PUSH1 0x00
00002d86: SWAP1
00002d87: POP
00002d88: DUP2
00002d89: PUSH1 0x20
00002d8b: ADD
00002d8c: MLOAD
00002d8d: PUSH1 0x03
00002d8f: DUP2
00002d90: GT
00002d91: ISZERO
00002d92: PUSH2 0x2d97
00002d95: JUMPI
00002d96: INVALID
00002d97: JUMPDEST
00002d98: EQ
00002d99: PUSH2 0x2db3
00002d9c: JUMPI
00002d9d: PUSH2 0x2cd6
00002da0: PUSH1 0x09
00002da2: PUSH1 0x3a
00002da4: DUP4
00002da5: PUSH1 0x20
00002da7: ADD
00002da8: MLOAD
00002da9: PUSH1 0x03
00002dab: DUP2
00002dac: GT
00002dad: ISZERO
00002dae: PUSH2 0x1078
00002db1: JUMPI
00002db2: INVALID
00002db3: JUMPDEST
00002db4: PUSH2 0x2dc3
00002db7: PUSH1 0x0c
00002db9: SLOAD
00002dba: DUP3
00002dbb: PUSH1 0x40
00002dbd: ADD
00002dbe: MLOAD
00002dbf: PUSH2 0x25fd
00002dc2: JUMP
00002dc3: JUMPDEST
00002dc4: PUSH1 0xc0
00002dc6: DUP4
00002dc7: ADD
00002dc8: DUP2
00002dc9: SWAP1
00002dca: MSTORE
00002dcb: PUSH1 0x20
00002dcd: DUP4
00002dce: ADD
00002dcf: DUP3
00002dd0: PUSH1 0x03
00002dd2: DUP2
00002dd3: GT
00002dd4: ISZERO
00002dd5: PUSH2 0x2dda
00002dd8: JUMPI
00002dd9: INVALID
00002dda: JUMPDEST
00002ddb: PUSH1 0x03
00002ddd: DUP2
00002dde: GT
00002ddf: ISZERO
00002de0: PUSH2 0x2de5
00002de3: JUMPI
00002de4: INVALID
00002de5: JUMPDEST
00002de6: SWAP1
00002de7: MSTORE
00002de8: POP
00002de9: PUSH1 0x00
00002deb: SWAP1
00002dec: POP
00002ded: DUP2
00002dee: PUSH1 0x20
00002df0: ADD
00002df1: MLOAD
00002df2: PUSH1 0x03
00002df4: DUP2
00002df5: GT
00002df6: ISZERO
00002df7: PUSH2 0x2dfc
00002dfa: JUMPI
00002dfb: INVALID
00002dfc: JUMPDEST
00002dfd: EQ
00002dfe: PUSH2 0x2e18
00002e01: JUMPI
00002e02: PUSH2 0x2cd6
00002e05: PUSH1 0x09
00002e07: PUSH1 0x3b
00002e09: DUP4
00002e0a: PUSH1 0x20
00002e0c: ADD
00002e0d: MLOAD
00002e0e: PUSH1 0x03
00002e10: DUP2
00002e11: GT
00002e12: ISZERO
00002e13: PUSH2 0x1078
00002e16: JUMPI
00002e17: INVALID
00002e18: JUMPDEST
00002e19: PUSH2 0x2e26
00002e1c: DUP7
00002e1d: DUP3
00002e1e: PUSH1 0x40
00002e20: ADD
00002e21: MLOAD
00002e22: PUSH2 0x45ea
00002e25: JUMP
00002e26: JUMPDEST
00002e27: DUP2
00002e28: SWAP1
00002e29: PUSH1 0x10
00002e2b: DUP2
00002e2c: GT
00002e2d: ISZERO
00002e2e: PUSH2 0x2e33
00002e31: JUMPI
00002e32: INVALID
00002e33: JUMPDEST
00002e34: SWAP1
00002e35: DUP2
00002e36: PUSH1 0x10
00002e38: DUP2
00002e39: GT
00002e3a: ISZERO
00002e3b: PUSH2 0x2e40
00002e3e: JUMPI
00002e3f: INVALID
00002e40: JUMPDEST
00002e41: SWAP1
00002e42: MSTORE
00002e43: POP
00002e44: PUSH1 0x00
00002e46: DUP2
00002e47: MLOAD
00002e48: PUSH1 0x10
00002e4a: DUP2
00002e4b: GT
00002e4c: ISZERO
00002e4d: PUSH2 0x2e52
00002e50: JUMPI
00002e51: INVALID
00002e52: JUMPDEST
00002e53: EQ
00002e54: PUSH2 0x2ea7
00002e57: JUMPI
00002e58: PUSH1 0x40
00002e5a: DUP1
00002e5b: MLOAD
00002e5c: PUSH1 0x01
00002e5e: PUSH1 0xe5
00002e60: SHL
00002e61: PUSH3 0x461bcd
00002e65: MUL
00002e66: DUP2
00002e67: MSTORE
00002e68: PUSH1 0x20
00002e6a: PUSH1 0x04
00002e6c: DUP3
00002e6d: ADD
00002e6e: MSTORE
00002e6f: PUSH1 0x1f
00002e71: PUSH1 0x24
00002e73: DUP3
00002e74: ADD
00002e75: MSTORE
00002e76: PUSH32 0x726570617920626f72726f77207472616e7366657220696e206661696c656400
00002e97: PUSH1 0x44
00002e99: DUP3
00002e9a: ADD
00002e9b: MSTORE
00002e9c: SWAP1
00002e9d: MLOAD
00002e9e: SWAP1
00002e9f: DUP2
00002ea0: SWAP1
00002ea1: SUB
00002ea2: PUSH1 0x64
00002ea4: ADD
00002ea5: SWAP1
00002ea6: REVERT
00002ea7: JUMPDEST
00002ea8: PUSH1 0xa0
00002eaa: DUP1
00002eab: DUP3
00002eac: ADD
00002ead: DUP1
00002eae: MLOAD
00002eaf: PUSH1 0x01
00002eb1: PUSH1 0x01
00002eb3: PUSH1 0xa0
00002eb5: SHL
00002eb6: SUB
00002eb7: DUP1
00002eb8: DUP10
00002eb9: AND
00002eba: PUSH1 0x00
00002ebc: DUP2
00002ebd: DUP2
00002ebe: MSTORE
00002ebf: PUSH1 0x11
00002ec1: PUSH1 0x20
00002ec3: SWAP1
00002ec4: DUP2
00002ec5: MSTORE
00002ec6: PUSH1 0x40
00002ec8: SWAP2
00002ec9: DUP3
00002eca: SWAP1
00002ecb: KECCAK256
00002ecc: SWAP5
00002ecd: DUP6
00002ece: SSTORE
00002ecf: PUSH1 0x0b
00002ed1: SLOAD
00002ed2: PUSH1 0x01
00002ed4: SWAP1
00002ed5: SWAP6
00002ed6: ADD
00002ed7: SWAP5
00002ed8: SWAP1
00002ed9: SWAP5
00002eda: SSTORE
00002edb: PUSH1 0xc0
00002edd: DUP8
00002ede: ADD
00002edf: MLOAD
00002ee0: PUSH1 0x0c
00002ee2: DUP2
00002ee3: SWAP1
00002ee4: SSTORE
00002ee5: DUP2
00002ee6: DUP9
00002ee7: ADD
00002ee8: MLOAD
00002ee9: SWAP6
00002eea: MLOAD
00002eeb: DUP3
00002eec: MLOAD
00002eed: SWAP5
00002eee: DUP15
00002eef: AND
00002ef0: DUP6
00002ef1: MSTORE
00002ef2: SWAP5
00002ef3: DUP5
00002ef4: ADD
00002ef5: SWAP3
00002ef6: SWAP1
00002ef7: SWAP3
00002ef8: MSTORE
00002ef9: DUP3
00002efa: DUP2
00002efb: ADD
00002efc: SWAP5
00002efd: SWAP1
00002efe: SWAP5
00002eff: MSTORE
00002f00: PUSH1 0x60
00002f02: DUP3
00002f03: ADD
00002f04: SWAP3
00002f05: SWAP1
00002f06: SWAP3
00002f07: MSTORE
00002f08: PUSH1 0x80
00002f0a: DUP2
00002f0b: ADD
00002f0c: SWAP2
00002f0d: SWAP1
00002f0e: SWAP2
00002f0f: MSTORE
00002f10: SWAP1
00002f11: MLOAD
00002f12: PUSH32 0x1a2a22cb034d26d1854bdc6666a5b91fe25efbbb5dcad3b0355478d6f5c362a1
00002f33: SWAP3
00002f34: SWAP2
00002f35: DUP2
00002f36: SWAP1
00002f37: SUB
00002f38: SWAP1
00002f39: SWAP2
00002f3a: ADD
00002f3b: SWAP1
00002f3c: LOG1
00002f3d: PUSH1 0x06
00002f3f: SLOAD
00002f40: PUSH1 0x40
00002f42: DUP1
00002f43: DUP4
00002f44: ADD
00002f45: MLOAD
00002f46: PUSH1 0x60
00002f48: DUP5
00002f49: ADD
00002f4a: MLOAD
00002f4b: DUP3
00002f4c: MLOAD
00002f4d: PUSH1 0x01
00002f4f: PUSH1 0xe0
00002f51: SHL
00002f52: PUSH4 0x1ededc91
00002f57: MUL
00002f58: DUP2
00002f59: MSTORE
00002f5a: ADDRESS
00002f5b: PUSH1 0x04
00002f5d: DUP3
00002f5e: ADD
00002f5f: MSTORE
00002f60: PUSH1 0x01
00002f62: PUSH1 0x01
00002f64: PUSH1 0xa0
00002f66: SHL
00002f67: SUB
00002f68: DUP12
00002f69: DUP2
00002f6a: AND
00002f6b: PUSH1 0x24
00002f6d: DUP4
00002f6e: ADD
00002f6f: MSTORE
00002f70: DUP11
00002f71: DUP2
00002f72: AND
00002f73: PUSH1 0x44
00002f75: DUP4
00002f76: ADD
00002f77: MSTORE
00002f78: PUSH1 0x64
00002f7a: DUP3
00002f7b: ADD
00002f7c: SWAP4
00002f7d: SWAP1
00002f7e: SWAP4
00002f7f: MSTORE
00002f80: PUSH1 0x84
00002f82: DUP2
00002f83: ADD
00002f84: SWAP2
00002f85: SWAP1
00002f86: SWAP2
00002f87: MSTORE
00002f88: SWAP2
00002f89: MLOAD
00002f8a: SWAP3
00002f8b: AND
00002f8c: SWAP2
00002f8d: PUSH4 0x1ededc91
00002f92: SWAP2
00002f93: PUSH1 0xa4
00002f95: DUP1
00002f96: DUP3
00002f97: ADD
00002f98: SWAP3
00002f99: PUSH1 0x00
00002f9b: SWAP3
00002f9c: SWAP1
00002f9d: SWAP2
00002f9e: SWAP1
00002f9f: DUP3
00002fa0: SWAP1
00002fa1: SUB
00002fa2: ADD
00002fa3: DUP2
00002fa4: DUP4
00002fa5: DUP8
00002fa6: DUP1
00002fa7: EXTCODESIZE
00002fa8: ISZERO
00002fa9: DUP1
00002faa: ISZERO
00002fab: PUSH2 0x2fb3
00002fae: JUMPI
00002faf: PUSH1 0x00
00002fb1: DUP1
00002fb2: REVERT
00002fb3: JUMPDEST
00002fb4: POP
00002fb5: GAS
00002fb6: CALL
00002fb7: ISZERO
00002fb8: DUP1
00002fb9: ISZERO
00002fba: PUSH2 0x2fc7
00002fbd: JUMPI
00002fbe: RETURNDATASIZE
00002fbf: PUSH1 0x00
00002fc1: DUP1
00002fc2: RETURNDATACOPY
00002fc3: RETURNDATASIZE
00002fc4: PUSH1 0x00
00002fc6: REVERT
00002fc7: JUMPDEST
00002fc8: POP
00002fc9: PUSH1 0x00
00002fcb: SWAP3
00002fcc: POP
00002fcd: PUSH2 0x2fd4
00002fd0: SWAP2
00002fd1: POP
00002fd2: POP
00002fd3: JUMP
00002fd4: JUMPDEST
00002fd5: SWAP7
00002fd6: SWAP6
00002fd7: POP
00002fd8: POP
00002fd9: POP
00002fda: POP
00002fdb: POP
00002fdc: POP
00002fdd: JUMP
00002fde: JUMPDEST
00002fdf: PUSH1 0x00
00002fe1: DUP1
00002fe2: PUSH1 0x00
00002fe4: DUP1
00002fe5: PUSH2 0x2fee
00002fe8: DUP8
00002fe9: DUP8
00002fea: PUSH2 0x2688
00002fed: JUMP
00002fee: JUMPDEST
00002fef: SWAP1
00002ff0: SWAP3
00002ff1: POP
00002ff2: SWAP1
00002ff3: POP
00002ff4: PUSH1 0x00
00002ff6: DUP3
00002ff7: PUSH1 0x03
00002ff9: DUP2
00002ffa: GT
00002ffb: ISZERO
00002ffc: PUSH2 0x3001
00002fff: JUMPI
00003000: INVALID
00003001: JUMPDEST
00003002: EQ
00003003: PUSH2 0x3012
00003006: JUMPI
00003007: POP
00003008: SWAP2
00003009: POP
0000300a: PUSH1 0x00
0000300c: SWAP1
0000300d: POP
0000300e: PUSH2 0x2702
00003011: JUMP
00003012: JUMPDEST
00003013: PUSH2 0x26fb
00003016: DUP2
00003017: DUP7
00003018: PUSH2 0x25fd
0000301b: JUMP
0000301c: JUMPDEST
0000301d: PUSH1 0x00
0000301f: PUSH2 0x3026
00003022: PUSH2 0x46bb
00003025: JUMP
00003026: JUMPDEST
00003027: PUSH1 0x00
00003029: DUP1
0000302a: PUSH2 0x303b
0000302d: DUP7
0000302e: PUSH8 0x0de0b6b3a7640000
00003037: PUSH2 0x36af
0000303a: JUMP
0000303b: JUMPDEST
0000303c: SWAP1
0000303d: SWAP3
0000303e: POP
0000303f: SWAP1
00003040: POP
00003041: PUSH1 0x00
00003043: DUP3
00003044: PUSH1 0x03
00003046: DUP2
00003047: GT
00003048: ISZERO
00003049: PUSH2 0x304e
0000304c: JUMPI
0000304d: INVALID
0000304e: JUMPDEST
0000304f: EQ
00003050: PUSH2 0x306d
00003053: JUMPI
00003054: POP
00003055: PUSH1 0x40
00003057: DUP1
00003058: MLOAD
00003059: PUSH1 0x20
0000305b: DUP2
0000305c: ADD
0000305d: SWAP1
0000305e: SWAP2
0000305f: MSTORE
00003060: PUSH1 0x00
00003062: DUP2
00003063: MSTORE
00003064: SWAP1
00003065: SWAP3
00003066: POP
00003067: SWAP1
00003068: POP
00003069: PUSH2 0x21f3
0000306c: JUMP
0000306d: JUMPDEST
0000306e: PUSH1 0x00
00003070: DUP1
00003071: PUSH2 0x307a
00003074: DUP4
00003075: DUP9
00003076: PUSH2 0x36ee
00003079: JUMP
0000307a: JUMPDEST
0000307b: SWAP1
0000307c: SWAP3
0000307d: POP
0000307e: SWAP1
0000307f: POP
00003080: PUSH1 0x00
00003082: DUP3
00003083: PUSH1 0x03
00003085: DUP2
00003086: GT
00003087: ISZERO
00003088: PUSH2 0x308d
0000308b: JUMPI
0000308c: INVALID
0000308d: JUMPDEST
0000308e: EQ
0000308f: PUSH2 0x30af
00003092: JUMPI
00003093: POP
00003094: PUSH1 0x40
00003096: DUP1
00003097: MLOAD
00003098: PUSH1 0x20
0000309a: DUP2
0000309b: ADD
0000309c: SWAP1
0000309d: SWAP2
0000309e: MSTORE
0000309f: PUSH1 0x00
000030a1: DUP2
000030a2: MSTORE
000030a3: SWAP1
000030a4: SWAP5
000030a5: POP
000030a6: SWAP3
000030a7: POP
000030a8: PUSH2 0x21f3
000030ab: SWAP2
000030ac: POP
000030ad: POP
000030ae: JUMP
000030af: JUMPDEST
000030b0: PUSH1 0x40
000030b2: DUP1
000030b3: MLOAD
000030b4: PUSH1 0x20
000030b6: DUP2
000030b7: ADD
000030b8: SWAP1
000030b9: SWAP2
000030ba: MSTORE
000030bb: SWAP1
000030bc: DUP2
000030bd: MSTORE
000030be: PUSH1 0x00
000030c0: SWAP9
000030c1: SWAP1
000030c2: SWAP8
000030c3: POP
000030c4: SWAP6
000030c5: POP
000030c6: POP
000030c7: POP
000030c8: POP
000030c9: POP
000030ca: POP
000030cb: JUMP
000030cc: JUMPDEST
000030cd: MLOAD
000030ce: PUSH8 0x0de0b6b3a7640000
000030d7: SWAP1
000030d8: DIV
000030d9: SWAP1
000030da: JUMP
000030db: JUMPDEST
000030dc: PUSH1 0x12
000030de: SLOAD
000030df: PUSH1 0x40
000030e1: DUP1
000030e2: MLOAD
000030e3: PUSH1 0x01
000030e5: PUSH1 0xe0
000030e7: SHL
000030e8: PUSH4 0xa9059cbb
000030ed: MUL
000030ee: DUP2
000030ef: MSTORE
000030f0: PUSH1 0x01
000030f2: PUSH1 0x01
000030f4: PUSH1 0xa0
000030f6: SHL
000030f7: SUB
000030f8: DUP6
000030f9: DUP2
000030fa: AND
000030fb: PUSH1 0x04
000030fd: DUP4
000030fe: ADD
000030ff: MSTORE
00003100: PUSH1 0x24
00003102: DUP3
00003103: ADD
00003104: DUP6
00003105: SWAP1
00003106: MSTORE
00003107: SWAP2
00003108: MLOAD
00003109: PUSH1 0x00
0000310b: SWAP4
0000310c: SWAP3
0000310d: SWAP1
0000310e: SWAP3
0000310f: AND
00003110: SWAP2
00003111: DUP4
00003112: SWAP2
00003113: DUP4
00003114: SWAP2
00003115: PUSH4 0xa9059cbb
0000311a: SWAP2
0000311b: PUSH1 0x44
0000311d: DUP1
0000311e: DUP3
0000311f: ADD
00003120: SWAP3
00003121: DUP7
00003122: SWAP3
00003123: SWAP1
00003124: SWAP2
00003125: SWAP1
00003126: DUP3
00003127: SWAP1
00003128: SUB
00003129: ADD
0000312a: DUP2
0000312b: DUP4
0000312c: DUP8
0000312d: DUP1
0000312e: EXTCODESIZE
0000312f: ISZERO
00003130: DUP1
00003131: ISZERO
00003132: PUSH2 0x313a
00003135: JUMPI
00003136: PUSH1 0x00
00003138: DUP1
00003139: REVERT
0000313a: JUMPDEST
0000313b: POP
0000313c: GAS
0000313d: CALL
0000313e: ISZERO
0000313f: DUP1
00003140: ISZERO
00003141: PUSH2 0x314e
00003144: JUMPI
00003145: RETURNDATASIZE
00003146: PUSH1 0x00
00003148: DUP1
00003149: RETURNDATACOPY
0000314a: RETURNDATASIZE
0000314b: PUSH1 0x00
0000314d: REVERT
0000314e: JUMPDEST
0000314f: POP
00003150: POP
00003151: POP
00003152: POP
00003153: RETURNDATASIZE
00003154: PUSH1 0x00
00003156: DUP2
00003157: EQ
00003158: PUSH2 0x3168
0000315b: JUMPI
0000315c: PUSH1 0x20
0000315e: DUP2
0000315f: EQ
00003160: PUSH2 0x3172
00003163: JUMPI
00003164: PUSH1 0x00
00003166: DUP1
00003167: REVERT
00003168: JUMPDEST
00003169: PUSH1 0x00
0000316b: NOT
0000316c: SWAP2
0000316d: POP
0000316e: PUSH2 0x317e
00003171: JUMP
00003172: JUMPDEST
00003173: PUSH1 0x20
00003175: PUSH1 0x00
00003177: DUP1
00003178: RETURNDATACOPY
00003179: PUSH1 0x00
0000317b: MLOAD
0000317c: SWAP2
0000317d: POP
0000317e: JUMPDEST
0000317f: POP
00003180: DUP1
00003181: PUSH2 0x318f
00003184: JUMPI
00003185: PUSH1 0x10
00003187: SWAP3
00003188: POP
00003189: POP
0000318a: POP
0000318b: PUSH2 0x086f
0000318e: JUMP
0000318f: JUMPDEST
00003190: POP
00003191: PUSH1 0x00
00003193: SWAP5
00003194: SWAP4
00003195: POP
00003196: POP
00003197: POP
00003198: POP
00003199: JUMP
0000319a: JUMPDEST
0000319b: PUSH1 0x00
0000319d: DUP3
0000319e: ISZERO
0000319f: DUP1
000031a0: PUSH2 0x31a7
000031a3: JUMPI
000031a4: POP
000031a5: DUP2
000031a6: ISZERO
000031a7: JUMPDEST
000031a8: PUSH2 0x31e5
000031ab: JUMPI
000031ac: PUSH1 0x40
000031ae: MLOAD
000031af: PUSH1 0x01
000031b1: PUSH1 0xe5
000031b3: SHL
000031b4: PUSH3 0x461bcd
000031b8: MUL
000031b9: DUP2
000031ba: MSTORE
000031bb: PUSH1 0x04
000031bd: ADD
000031be: DUP1
000031bf: DUP1
000031c0: PUSH1 0x20
000031c2: ADD
000031c3: DUP3
000031c4: DUP2
000031c5: SUB
000031c6: DUP3
000031c7: MSTORE
000031c8: PUSH1 0x34
000031ca: DUP2
000031cb: MSTORE
000031cc: PUSH1 0x20
000031ce: ADD
000031cf: DUP1
000031d0: PUSH2 0x4997
000031d3: PUSH1 0x34
000031d5: SWAP2
000031d6: CODECOPY
000031d7: PUSH1 0x40
000031d9: ADD
000031da: SWAP2
000031db: POP
000031dc: POP
000031dd: PUSH1 0x40
000031df: MLOAD
000031e0: DUP1
000031e1: SWAP2
000031e2: SUB
000031e3: SWAP1
000031e4: REVERT
000031e5: JUMPDEST
000031e6: PUSH2 0x31ed
000031e9: PUSH2 0x4728
000031ec: JUMP
000031ed: JUMPDEST
000031ee: PUSH2 0x31f5
000031f1: PUSH2 0x1d54
000031f4: JUMP
000031f5: JUMPDEST
000031f6: PUSH1 0x40
000031f8: DUP4
000031f9: ADD
000031fa: DUP2
000031fb: SWAP1
000031fc: MSTORE
000031fd: PUSH1 0x20
000031ff: DUP4
00003200: ADD
00003201: DUP3
00003202: PUSH1 0x03
00003204: DUP2
00003205: GT
00003206: ISZERO
00003207: PUSH2 0x320c
0000320a: JUMPI
0000320b: INVALID
0000320c: JUMPDEST
0000320d: PUSH1 0x03
0000320f: DUP2
00003210: GT
00003211: ISZERO
00003212: PUSH2 0x3217
00003215: JUMPI
00003216: INVALID
00003217: JUMPDEST
00003218: SWAP1
00003219: MSTORE
0000321a: POP
0000321b: PUSH1 0x00
0000321d: SWAP1
0000321e: POP
0000321f: DUP2
00003220: PUSH1 0x20
00003222: ADD
00003223: MLOAD
00003224: PUSH1 0x03
00003226: DUP2
00003227: GT
00003228: ISZERO
00003229: PUSH2 0x322e
0000322c: JUMPI
0000322d: INVALID
0000322e: JUMPDEST
0000322f: EQ
00003230: PUSH2 0x324a
00003233: JUMPI
00003234: PUSH2 0x2c2b
00003237: PUSH1 0x09
00003239: PUSH1 0x2b
0000323b: DUP4
0000323c: PUSH1 0x20
0000323e: ADD
0000323f: MLOAD
00003240: PUSH1 0x03
00003242: DUP2
00003243: GT
00003244: ISZERO
00003245: PUSH2 0x1078
00003248: JUMPI
00003249: INVALID
0000324a: JUMPDEST
0000324b: DUP4
0000324c: ISZERO
0000324d: PUSH2 0x32cb
00003250: JUMPI
00003251: PUSH1 0x60
00003253: DUP2
00003254: ADD
00003255: DUP5
00003256: SWAP1
00003257: MSTORE
00003258: PUSH1 0x40
0000325a: DUP1
0000325b: MLOAD
0000325c: PUSH1 0x20
0000325e: DUP2
0000325f: ADD
00003260: DUP3
00003261: MSTORE
00003262: SWAP1
00003263: DUP3
00003264: ADD
00003265: MLOAD
00003266: DUP2
00003267: MSTORE
00003268: PUSH2 0x3271
0000326b: SWAP1
0000326c: DUP6
0000326d: PUSH2 0x21a6
00003270: JUMP
00003271: JUMPDEST
00003272: PUSH1 0x80
00003274: DUP4
00003275: ADD
00003276: DUP2
00003277: SWAP1
00003278: MSTORE
00003279: PUSH1 0x20
0000327b: DUP4
0000327c: ADD
0000327d: DUP3
0000327e: PUSH1 0x03
00003280: DUP2
00003281: GT
00003282: ISZERO
00003283: PUSH2 0x3288
00003286: JUMPI
00003287: INVALID
00003288: JUMPDEST
00003289: PUSH1 0x03
0000328b: DUP2
0000328c: GT
0000328d: ISZERO
0000328e: PUSH2 0x3293
00003291: JUMPI
00003292: INVALID
00003293: JUMPDEST
00003294: SWAP1
00003295: MSTORE
00003296: POP
00003297: PUSH1 0x00
00003299: SWAP1
0000329a: POP
0000329b: DUP2
0000329c: PUSH1 0x20
0000329e: ADD
0000329f: MLOAD
000032a0: PUSH1 0x03
000032a2: DUP2
000032a3: GT
000032a4: ISZERO
000032a5: PUSH2 0x32aa
000032a8: JUMPI
000032a9: INVALID
000032aa: JUMPDEST
000032ab: EQ
000032ac: PUSH2 0x32c6
000032af: JUMPI
000032b0: PUSH2 0x2c2b
000032b3: PUSH1 0x09
000032b5: PUSH1 0x29
000032b7: DUP4
000032b8: PUSH1 0x20
000032ba: ADD
000032bb: MLOAD
000032bc: PUSH1 0x03
000032be: DUP2
000032bf: GT
000032c0: ISZERO
000032c1: PUSH2 0x1078
000032c4: JUMPI
000032c5: INVALID
000032c6: JUMPDEST
000032c7: PUSH2 0x3344
000032ca: JUMP
000032cb: JUMPDEST
000032cc: PUSH2 0x32e7
000032cf: DUP4
000032d0: PUSH1 0x40
000032d2: MLOAD
000032d3: DUP1
000032d4: PUSH1 0x20
000032d6: ADD
000032d7: PUSH1 0x40
000032d9: MSTORE
000032da: DUP1
000032db: DUP5
000032dc: PUSH1 0x40
000032de: ADD
000032df: MLOAD
000032e0: DUP2
000032e1: MSTORE
000032e2: POP
000032e3: PUSH2 0x46a4
000032e6: JUMP
000032e7: JUMPDEST
000032e8: PUSH1 0x60
000032ea: DUP4
000032eb: ADD
000032ec: DUP2
000032ed: SWAP1
000032ee: MSTORE
000032ef: PUSH1 0x20
000032f1: DUP4
000032f2: ADD
000032f3: DUP3
000032f4: PUSH1 0x03
000032f6: DUP2
000032f7: GT
000032f8: ISZERO
000032f9: PUSH2 0x32fe
000032fc: JUMPI
000032fd: INVALID
000032fe: JUMPDEST
000032ff: PUSH1 0x03
00003301: DUP2
00003302: GT
00003303: ISZERO
00003304: PUSH2 0x3309
00003307: JUMPI
00003308: INVALID
00003309: JUMPDEST
0000330a: SWAP1
0000330b: MSTORE
0000330c: POP
0000330d: PUSH1 0x00
0000330f: SWAP1
00003310: POP
00003311: DUP2
00003312: PUSH1 0x20
00003314: ADD
00003315: MLOAD
00003316: PUSH1 0x03
00003318: DUP2
00003319: GT
0000331a: ISZERO
0000331b: PUSH2 0x3320
0000331e: JUMPI
0000331f: INVALID
00003320: JUMPDEST
00003321: EQ
00003322: PUSH2 0x333c
00003325: JUMPI
00003326: PUSH2 0x2c2b
00003329: PUSH1 0x09
0000332b: PUSH1 0x2a
0000332d: DUP4
0000332e: PUSH1 0x20
00003330: ADD
00003331: MLOAD
00003332: PUSH1 0x03
00003334: DUP2
00003335: GT
00003336: ISZERO
00003337: PUSH2 0x1078
0000333a: JUMPI
0000333b: INVALID
0000333c: JUMPDEST
0000333d: PUSH1 0x80
0000333f: DUP2
00003340: ADD
00003341: DUP4
00003342: SWAP1
00003343: MSTORE
00003344: JUMPDEST
00003345: PUSH1 0x06
00003347: SLOAD
00003348: PUSH1 0x60
0000334a: DUP3
0000334b: ADD
0000334c: MLOAD
0000334d: PUSH1 0x40
0000334f: DUP1
00003350: MLOAD
00003351: PUSH1 0x01
00003353: PUSH1 0xe0
00003355: SHL
00003356: PUSH4 0xeabe7d91
0000335b: MUL
0000335c: DUP2
0000335d: MSTORE
0000335e: ADDRESS
0000335f: PUSH1 0x04
00003361: DUP3
00003362: ADD
00003363: MSTORE
00003364: PUSH1 0x01
00003366: PUSH1 0x01
00003368: PUSH1 0xa0
0000336a: SHL
0000336b: SUB
0000336c: DUP10
0000336d: DUP2
0000336e: AND
0000336f: PUSH1 0x24
00003371: DUP4
00003372: ADD
00003373: MSTORE
00003374: PUSH1 0x44
00003376: DUP3
00003377: ADD
00003378: SWAP4
00003379: SWAP1
0000337a: SWAP4
0000337b: MSTORE
0000337c: SWAP1
0000337d: MLOAD
0000337e: PUSH1 0x00
00003380: SWAP4
00003381: SWAP3
00003382: SWAP1
00003383: SWAP3
00003384: AND
00003385: SWAP2
00003386: PUSH4 0xeabe7d91
0000338b: SWAP2
0000338c: PUSH1 0x64
0000338e: DUP1
0000338f: DUP3
00003390: ADD
00003391: SWAP3
00003392: PUSH1 0x20
00003394: SWAP3
00003395: SWAP1
00003396: SWAP2
00003397: SWAP1
00003398: DUP3
00003399: SWAP1
0000339a: SUB
0000339b: ADD
0000339c: DUP2
0000339d: DUP8
0000339e: DUP8
0000339f: DUP1
000033a0: EXTCODESIZE
000033a1: ISZERO
000033a2: DUP1
000033a3: ISZERO
000033a4: PUSH2 0x33ac
000033a7: JUMPI
000033a8: PUSH1 0x00
000033aa: DUP1
000033ab: REVERT
000033ac: JUMPDEST
000033ad: POP
000033ae: GAS
000033af: CALL
000033b0: ISZERO
000033b1: DUP1
000033b2: ISZERO
000033b3: PUSH2 0x33c0
000033b6: JUMPI
000033b7: RETURNDATASIZE
000033b8: PUSH1 0x00
000033ba: DUP1
000033bb: RETURNDATACOPY
000033bc: RETURNDATASIZE
000033bd: PUSH1 0x00
000033bf: REVERT
000033c0: JUMPDEST
000033c1: POP
000033c2: POP
000033c3: POP
000033c4: POP
000033c5: PUSH1 0x40
000033c7: MLOAD
000033c8: RETURNDATASIZE
000033c9: PUSH1 0x20
000033cb: DUP2
000033cc: LT
000033cd: ISZERO
000033ce: PUSH2 0x33d6
000033d1: JUMPI
000033d2: PUSH1 0x00
000033d4: DUP1
000033d5: REVERT
000033d6: JUMPDEST
000033d7: POP
000033d8: MLOAD
000033d9: SWAP1
000033da: POP
000033db: DUP1
000033dc: ISZERO
000033dd: PUSH2 0x33ed
000033e0: JUMPI
000033e1: PUSH2 0x2cd6
000033e4: PUSH1 0x03
000033e6: PUSH1 0x28
000033e8: DUP4
000033e9: PUSH2 0x2593
000033ec: JUMP
000033ed: JUMPDEST
000033ee: PUSH2 0x33f5
000033f1: PUSH2 0x25f9
000033f4: JUMP
000033f5: JUMPDEST
000033f6: PUSH1 0x0a
000033f8: SLOAD
000033f9: EQ
000033fa: PUSH2 0x3409
000033fd: JUMPI
000033fe: PUSH2 0x2cd6
00003401: PUSH1 0x0a
00003403: PUSH1 0x2c
00003405: PUSH2 0x227d
00003408: JUMP
00003409: JUMPDEST
0000340a: PUSH2 0x3419
0000340d: PUSH1 0x0e
0000340f: SLOAD
00003410: DUP4
00003411: PUSH1 0x60
00003413: ADD
00003414: MLOAD
00003415: PUSH2 0x25fd
00003418: JUMP
00003419: JUMPDEST
0000341a: PUSH1 0xa0
0000341c: DUP5
0000341d: ADD
0000341e: DUP2
0000341f: SWAP1
00003420: MSTORE
00003421: PUSH1 0x20
00003423: DUP5
00003424: ADD
00003425: DUP3
00003426: PUSH1 0x03
00003428: DUP2
00003429: GT
0000342a: ISZERO
0000342b: PUSH2 0x3430
0000342e: JUMPI
0000342f: INVALID
00003430: JUMPDEST
00003431: PUSH1 0x03
00003433: DUP2
00003434: GT
00003435: ISZERO
00003436: PUSH2 0x343b
00003439: JUMPI
0000343a: INVALID
0000343b: JUMPDEST
0000343c: SWAP1
0000343d: MSTORE
0000343e: POP
0000343f: PUSH1 0x00
00003441: SWAP1
00003442: POP
00003443: DUP3
00003444: PUSH1 0x20
00003446: ADD
00003447: MLOAD
00003448: PUSH1 0x03
0000344a: DUP2
0000344b: GT
0000344c: ISZERO
0000344d: PUSH2 0x3452
00003450: JUMPI
00003451: INVALID
00003452: JUMPDEST
00003453: EQ
00003454: PUSH2 0x346e
00003457: JUMPI
00003458: PUSH2 0x2cd6
0000345b: PUSH1 0x09
0000345d: PUSH1 0x2e
0000345f: DUP5
00003460: PUSH1 0x20
00003462: ADD
00003463: MLOAD
00003464: PUSH1 0x03
00003466: DUP2
00003467: GT
00003468: ISZERO
00003469: PUSH2 0x1078
0000346c: JUMPI
0000346d: INVALID
0000346e: JUMPDEST
0000346f: PUSH1 0x01
00003471: PUSH1 0x01
00003473: PUSH1 0xa0
00003475: SHL
00003476: SUB
00003477: DUP7
00003478: AND
00003479: PUSH1 0x00
0000347b: SWAP1
0000347c: DUP2
0000347d: MSTORE
0000347e: PUSH1 0x0f
00003480: PUSH1 0x20
00003482: MSTORE
00003483: PUSH1 0x40
00003485: SWAP1
00003486: KECCAK256
00003487: SLOAD
00003488: PUSH1 0x60
0000348a: DUP4
0000348b: ADD
0000348c: MLOAD
0000348d: PUSH2 0x3496
00003490: SWAP2
00003491: SWAP1
00003492: PUSH2 0x25fd
00003495: JUMP
00003496: JUMPDEST
00003497: PUSH1 0xc0
00003499: DUP5
0000349a: ADD
0000349b: DUP2
0000349c: SWAP1
0000349d: MSTORE
0000349e: PUSH1 0x20
000034a0: DUP5
000034a1: ADD
000034a2: DUP3
000034a3: PUSH1 0x03
000034a5: DUP2
000034a6: GT
000034a7: ISZERO
000034a8: PUSH2 0x34ad
000034ab: JUMPI
000034ac: INVALID
000034ad: JUMPDEST
000034ae: PUSH1 0x03
000034b0: DUP2
000034b1: GT
000034b2: ISZERO
000034b3: PUSH2 0x34b8
000034b6: JUMPI
000034b7: INVALID
000034b8: JUMPDEST
000034b9: SWAP1
000034ba: MSTORE
000034bb: POP
000034bc: PUSH1 0x00
000034be: SWAP1
000034bf: POP
000034c0: DUP3
000034c1: PUSH1 0x20
000034c3: ADD
000034c4: MLOAD
000034c5: PUSH1 0x03
000034c7: DUP2
000034c8: GT
000034c9: ISZERO
000034ca: PUSH2 0x34cf
000034cd: JUMPI
000034ce: INVALID
000034cf: JUMPDEST
000034d0: EQ
000034d1: PUSH2 0x34eb
000034d4: JUMPI
000034d5: PUSH2 0x2cd6
000034d8: PUSH1 0x09
000034da: PUSH1 0x2d
000034dc: DUP5
000034dd: PUSH1 0x20
000034df: ADD
000034e0: MLOAD
000034e1: PUSH1 0x03
000034e3: DUP2
000034e4: GT
000034e5: ISZERO
000034e6: PUSH2 0x1078
000034e9: JUMPI
000034ea: INVALID
000034eb: JUMPDEST
000034ec: DUP2
000034ed: PUSH1 0x80
000034ef: ADD
000034f0: MLOAD
000034f1: PUSH2 0x34f8
000034f4: PUSH2 0x21fa
000034f7: JUMP
000034f8: JUMPDEST
000034f9: LT
000034fa: ISZERO
000034fb: PUSH2 0x350a
000034fe: JUMPI
000034ff: PUSH2 0x2cd6
00003502: PUSH1 0x0e
00003504: PUSH1 0x2f
00003506: PUSH2 0x227d
00003509: JUMP
0000350a: JUMPDEST
0000350b: PUSH2 0x3518
0000350e: DUP7
0000350f: DUP4
00003510: PUSH1 0x80
00003512: ADD
00003513: MLOAD
00003514: PUSH2 0x30db
00003517: JUMP
00003518: JUMPDEST
00003519: DUP3
0000351a: SWAP1
0000351b: PUSH1 0x10
0000351d: DUP2
0000351e: GT
0000351f: ISZERO
00003520: PUSH2 0x3525
00003523: JUMPI
00003524: INVALID
00003525: JUMPDEST
00003526: SWAP1
00003527: DUP2
00003528: PUSH1 0x10
0000352a: DUP2
0000352b: GT
0000352c: ISZERO
0000352d: PUSH2 0x3532
00003530: JUMPI
00003531: INVALID
00003532: JUMPDEST
00003533: SWAP1
00003534: MSTORE
00003535: POP
00003536: PUSH1 0x00
00003538: DUP3
00003539: MLOAD
0000353a: PUSH1 0x10
0000353c: DUP2
0000353d: GT
0000353e: ISZERO
0000353f: PUSH2 0x3544
00003542: JUMPI
00003543: INVALID
00003544: JUMPDEST
00003545: EQ
00003546: PUSH2 0x3599
00003549: JUMPI
0000354a: PUSH1 0x40
0000354c: DUP1
0000354d: MLOAD
0000354e: PUSH1 0x01
00003550: PUSH1 0xe5
00003552: SHL
00003553: PUSH3 0x461bcd
00003557: MUL
00003558: DUP2
00003559: MSTORE
0000355a: PUSH1 0x20
0000355c: PUSH1 0x04
0000355e: DUP3
0000355f: ADD
00003560: MSTORE
00003561: PUSH1 0x1a
00003563: PUSH1 0x24
00003565: DUP3
00003566: ADD
00003567: MSTORE
00003568: PUSH32 0x72656465656d207472616e73666572206f7574206661696c6564000000000000
00003589: PUSH1 0x44
0000358b: DUP3
0000358c: ADD
0000358d: MSTORE
0000358e: SWAP1
0000358f: MLOAD
00003590: SWAP1
00003591: DUP2
00003592: SWAP1
00003593: SUB
00003594: PUSH1 0x64
00003596: ADD
00003597: SWAP1
00003598: REVERT
00003599: JUMPDEST
0000359a: PUSH1 0xa0
0000359c: DUP3
0000359d: ADD
0000359e: MLOAD
0000359f: PUSH1 0x0e
000035a1: SSTORE
000035a2: PUSH1 0xc0
000035a4: DUP3
000035a5: ADD
000035a6: MLOAD
000035a7: PUSH1 0x01
000035a9: PUSH1 0x01
000035ab: PUSH1 0xa0
000035ad: SHL
000035ae: SUB
000035af: DUP8
000035b0: AND
000035b1: PUSH1 0x00
000035b3: DUP2
000035b4: DUP2
000035b5: MSTORE
000035b6: PUSH1 0x0f
000035b8: PUSH1 0x20
000035ba: SWAP1
000035bb: DUP2
000035bc: MSTORE
000035bd: PUSH1 0x40
000035bf: SWAP2
000035c0: DUP3
000035c1: SWAP1
000035c2: KECCAK256
000035c3: SWAP4
000035c4: SWAP1
000035c5: SWAP4
000035c6: SSTORE
000035c7: PUSH1 0x60
000035c9: DUP6
000035ca: ADD
000035cb: MLOAD
000035cc: DUP2
000035cd: MLOAD
000035ce: SWAP1
000035cf: DUP2
000035d0: MSTORE
000035d1: SWAP1
000035d2: MLOAD
000035d3: ADDRESS
000035d4: SWAP4
000035d5: PUSH1 0x00
000035d7: DUP1
000035d8: MLOAD
000035d9: PUSH1 0x20
000035db: PUSH2 0x4906
000035de: DUP4
000035df: CODECOPY
000035e0: DUP2
000035e1: MLOAD
000035e2: SWAP2
000035e3: MSTORE
000035e4: SWAP3
000035e5: DUP3
000035e6: SWAP1
000035e7: SUB
000035e8: ADD
000035e9: SWAP1
000035ea: LOG3
000035eb: PUSH1 0x80
000035ed: DUP3
000035ee: ADD
000035ef: MLOAD
000035f0: PUSH1 0x60
000035f2: DUP1
000035f3: DUP5
000035f4: ADD
000035f5: MLOAD
000035f6: PUSH1 0x40
000035f8: DUP1
000035f9: MLOAD
000035fa: PUSH1 0x01
000035fc: PUSH1 0x01
000035fe: PUSH1 0xa0
00003600: SHL
00003601: SUB
00003602: DUP12
00003603: AND
00003604: DUP2
00003605: MSTORE
00003606: PUSH1 0x20
00003608: DUP2
00003609: ADD
0000360a: SWAP5
0000360b: SWAP1
0000360c: SWAP5
0000360d: MSTORE
0000360e: DUP4
0000360f: DUP2
00003610: ADD
00003611: SWAP2
00003612: SWAP1
00003613: SWAP2
00003614: MSTORE
00003615: MLOAD
00003616: PUSH32 0xe5b754fb1abb7f01b499791d0b820ae3b6af3424ac1c59768edb53f4ec31a929
00003637: SWAP3
00003638: DUP2
00003639: SWAP1
0000363a: SUB
0000363b: SWAP1
0000363c: SWAP2
0000363d: ADD
0000363e: SWAP1
0000363f: LOG1
00003640: PUSH1 0x06
00003642: SLOAD
00003643: PUSH1 0x80
00003645: DUP4
00003646: ADD
00003647: MLOAD
00003648: PUSH1 0x60
0000364a: DUP5
0000364b: ADD
0000364c: MLOAD
0000364d: PUSH1 0x40
0000364f: DUP1
00003650: MLOAD
00003651: PUSH1 0x01
00003653: PUSH1 0xe0
00003655: SHL
00003656: PUSH4 0x51dff989
0000365b: MUL
0000365c: DUP2
0000365d: MSTORE
0000365e: ADDRESS
0000365f: PUSH1 0x04
00003661: DUP3
00003662: ADD
00003663: MSTORE
00003664: PUSH1 0x01
00003666: PUSH1 0x01
00003668: PUSH1 0xa0
0000366a: SHL
0000366b: SUB
0000366c: DUP12
0000366d: DUP2
0000366e: AND
0000366f: PUSH1 0x24
00003671: DUP4
00003672: ADD
00003673: MSTORE
00003674: PUSH1 0x44
00003676: DUP3
00003677: ADD
00003678: SWAP5
00003679: SWAP1
0000367a: SWAP5
0000367b: MSTORE
0000367c: PUSH1 0x64
0000367e: DUP2
0000367f: ADD
00003680: SWAP3
00003681: SWAP1
00003682: SWAP3
00003683: MSTORE
00003684: MLOAD
00003685: SWAP2
00003686: SWAP1
00003687: SWAP3
00003688: AND
00003689: SWAP2
0000368a: PUSH4 0x51dff989
0000368f: SWAP2
00003690: PUSH1 0x84
00003692: DUP1
00003693: DUP4
00003694: ADD
00003695: SWAP3
00003696: PUSH1 0x00
00003698: SWAP3
00003699: SWAP2
0000369a: SWAP1
0000369b: DUP3
0000369c: SWAP1
0000369d: SUB
0000369e: ADD
0000369f: DUP2
000036a0: DUP4
000036a1: DUP8
000036a2: DUP1
000036a3: EXTCODESIZE
000036a4: ISZERO
000036a5: DUP1
000036a6: ISZERO
000036a7: PUSH2 0x2fb3
000036aa: JUMPI
000036ab: PUSH1 0x00
000036ad: DUP1
000036ae: REVERT
000036af: JUMPDEST
000036b0: PUSH1 0x00
000036b2: DUP1
000036b3: DUP4
000036b4: PUSH2 0x36c2
000036b7: JUMPI
000036b8: POP
000036b9: PUSH1 0x00
000036bb: SWAP1
000036bc: POP
000036bd: DUP1
000036be: PUSH2 0x21f3
000036c1: JUMP
000036c2: JUMPDEST
000036c3: DUP4
000036c4: DUP4
000036c5: MUL
000036c6: DUP4
000036c7: DUP6
000036c8: DUP3
000036c9: DUP2
000036ca: PUSH2 0x36cf
000036cd: JUMPI
000036ce: INVALID
000036cf: JUMPDEST
000036d0: DIV
000036d1: EQ
000036d2: PUSH2 0x36e3
000036d5: JUMPI
000036d6: POP
000036d7: PUSH1 0x02
000036d9: SWAP2
000036da: POP
000036db: PUSH1 0x00
000036dd: SWAP1
000036de: POP
000036df: PUSH2 0x21f3
000036e2: JUMP
000036e3: JUMPDEST
000036e4: PUSH1 0x00
000036e6: SWAP3
000036e7: POP
000036e8: SWAP1
000036e9: POP
000036ea: PUSH2 0x21f3
000036ed: JUMP
000036ee: JUMPDEST
000036ef: PUSH1 0x00
000036f1: DUP1
000036f2: DUP3
000036f3: PUSH2 0x3702
000036f6: JUMPI
000036f7: POP
000036f8: PUSH1 0x01
000036fa: SWAP1
000036fb: POP
000036fc: PUSH1 0x00
000036fe: PUSH2 0x21f3
00003701: JUMP
00003702: JUMPDEST
00003703: PUSH1 0x00
00003705: DUP4
00003706: DUP6
00003707: DUP2
00003708: PUSH2 0x370d
0000370b: JUMPI
0000370c: INVALID
0000370d: JUMPDEST
0000370e: DIV
0000370f: SWAP2
00003710: POP
00003711: SWAP2
00003712: POP
00003713: SWAP3
00003714: POP
00003715: SWAP3
00003716: SWAP1
00003717: POP
00003718: JUMP
00003719: JUMPDEST
0000371a: PUSH1 0x06
0000371c: SLOAD
0000371d: PUSH1 0x40
0000371f: DUP1
00003720: MLOAD
00003721: PUSH1 0x01
00003723: PUSH1 0xe0
00003725: SHL
00003726: PUSH4 0x4ef4c3e1
0000372b: MUL
0000372c: DUP2
0000372d: MSTORE
0000372e: ADDRESS
0000372f: PUSH1 0x04
00003731: DUP3
00003732: ADD
00003733: MSTORE
00003734: PUSH1 0x01
00003736: PUSH1 0x01
00003738: PUSH1 0xa0
0000373a: SHL
0000373b: SUB
0000373c: DUP6
0000373d: DUP2
0000373e: AND
0000373f: PUSH1 0x24
00003741: DUP4
00003742: ADD
00003743: MSTORE
00003744: PUSH1 0x44
00003746: DUP3
00003747: ADD
00003748: DUP6
00003749: SWAP1
0000374a: MSTORE
0000374b: SWAP2
0000374c: MLOAD
0000374d: PUSH1 0x00
0000374f: SWAP4
00003750: DUP5
00003751: SWAP4
00003752: AND
00003753: SWAP2
00003754: PUSH4 0x4ef4c3e1
00003759: SWAP2
0000375a: PUSH1 0x64
0000375c: DUP1
0000375d: DUP4
0000375e: ADD
0000375f: SWAP3
00003760: PUSH1 0x20
00003762: SWAP3
00003763: SWAP2
00003764: SWAP1
00003765: DUP3
00003766: SWAP1
00003767: SUB
00003768: ADD
00003769: DUP2
0000376a: DUP8
0000376b: DUP8
0000376c: DUP1
0000376d: EXTCODESIZE
0000376e: ISZERO
0000376f: DUP1
00003770: ISZERO
00003771: PUSH2 0x3779
00003774: JUMPI
00003775: PUSH1 0x00
00003777: DUP1
00003778: REVERT
00003779: JUMPDEST
0000377a: POP
0000377b: GAS
0000377c: CALL
0000377d: ISZERO
0000377e: DUP1
0000377f: ISZERO
00003780: PUSH2 0x378d
00003783: JUMPI
00003784: RETURNDATASIZE
00003785: PUSH1 0x00
00003787: DUP1
00003788: RETURNDATACOPY
00003789: RETURNDATASIZE
0000378a: PUSH1 0x00
0000378c: REVERT
0000378d: JUMPDEST
0000378e: POP
0000378f: POP
00003790: POP
00003791: POP
00003792: PUSH1 0x40
00003794: MLOAD
00003795: RETURNDATASIZE
00003796: PUSH1 0x20
00003798: DUP2
00003799: LT
0000379a: ISZERO
0000379b: PUSH2 0x37a3
0000379e: JUMPI
0000379f: PUSH1 0x00
000037a1: DUP1
000037a2: REVERT
000037a3: JUMPDEST
000037a4: POP
000037a5: MLOAD
000037a6: SWAP1
000037a7: POP
000037a8: DUP1
000037a9: ISZERO
000037aa: PUSH2 0x37c2
000037ad: JUMPI
000037ae: PUSH2 0x37ba
000037b1: PUSH1 0x03
000037b3: PUSH1 0x1f
000037b5: DUP4
000037b6: PUSH2 0x2593
000037b9: JUMP
000037ba: JUMPDEST
000037bb: SWAP2
000037bc: POP
000037bd: POP
000037be: PUSH2 0x086f
000037c1: JUMP
000037c2: JUMPDEST
000037c3: PUSH2 0x37ca
000037c6: PUSH2 0x25f9
000037c9: JUMP
000037ca: JUMPDEST
000037cb: PUSH1 0x0a
000037cd: SLOAD
000037ce: EQ
000037cf: PUSH2 0x37de
000037d2: JUMPI
000037d3: PUSH2 0x37ba
000037d6: PUSH1 0x0a
000037d8: PUSH1 0x22
000037da: PUSH2 0x227d
000037dd: JUMP
000037de: JUMPDEST
000037df: PUSH2 0x37e6
000037e2: PUSH2 0x4766
000037e5: JUMP
000037e6: JUMPDEST
000037e7: PUSH2 0x37f0
000037ea: DUP6
000037eb: DUP6
000037ec: PUSH2 0x44b3
000037ef: JUMP
000037f0: JUMPDEST
000037f1: DUP2
000037f2: SWAP1
000037f3: PUSH1 0x10
000037f5: DUP2
000037f6: GT
000037f7: ISZERO
000037f8: PUSH2 0x37fd
000037fb: JUMPI
000037fc: INVALID
000037fd: JUMPDEST
000037fe: SWAP1
000037ff: DUP2
00003800: PUSH1 0x10
00003802: DUP2
00003803: GT
00003804: ISZERO
00003805: PUSH2 0x380a
00003808: JUMPI
00003809: INVALID
0000380a: JUMPDEST
0000380b: SWAP1
0000380c: MSTORE
0000380d: POP
0000380e: PUSH1 0x00
00003810: DUP2
00003811: MLOAD
00003812: PUSH1 0x10
00003814: DUP2
00003815: GT
00003816: ISZERO
00003817: PUSH2 0x381c
0000381a: JUMPI
0000381b: INVALID
0000381c: JUMPDEST
0000381d: EQ
0000381e: PUSH2 0x3837
00003821: JUMPI
00003822: DUP1
00003823: MLOAD
00003824: PUSH2 0x382e
00003827: SWAP1
00003828: PUSH1 0x26
0000382a: PUSH2 0x227d
0000382d: JUMP
0000382e: JUMPDEST
0000382f: SWAP3
00003830: POP
00003831: POP
00003832: POP
00003833: PUSH2 0x086f
00003836: JUMP
00003837: JUMPDEST
00003838: PUSH2 0x383f
0000383b: PUSH2 0x1d54
0000383e: JUMP
0000383f: JUMPDEST
00003840: PUSH1 0x40
00003842: DUP4
00003843: ADD
00003844: DUP2
00003845: SWAP1
00003846: MSTORE
00003847: PUSH1 0x20
00003849: DUP4
0000384a: ADD
0000384b: DUP3
0000384c: PUSH1 0x03
0000384e: DUP2
0000384f: GT
00003850: ISZERO
00003851: PUSH2 0x3856
00003854: JUMPI
00003855: INVALID
00003856: JUMPDEST
00003857: PUSH1 0x03
00003859: DUP2
0000385a: GT
0000385b: ISZERO
0000385c: PUSH2 0x3861
0000385f: JUMPI
00003860: INVALID
00003861: JUMPDEST
00003862: SWAP1
00003863: MSTORE
00003864: POP
00003865: PUSH1 0x00
00003867: SWAP1
00003868: POP
00003869: DUP2
0000386a: PUSH1 0x20
0000386c: ADD
0000386d: MLOAD
0000386e: PUSH1 0x03
00003870: DUP2
00003871: GT
00003872: ISZERO
00003873: PUSH2 0x3878
00003876: JUMPI
00003877: INVALID
00003878: JUMPDEST
00003879: EQ
0000387a: PUSH2 0x3894
0000387d: JUMPI
0000387e: PUSH2 0x382e
00003881: PUSH1 0x09
00003883: PUSH1 0x21
00003885: DUP4
00003886: PUSH1 0x20
00003888: ADD
00003889: MLOAD
0000388a: PUSH1 0x03
0000388c: DUP2
0000388d: GT
0000388e: ISZERO
0000388f: PUSH2 0x1078
00003892: JUMPI
00003893: INVALID
00003894: JUMPDEST
00003895: PUSH2 0x38b0
00003898: DUP5
00003899: PUSH1 0x40
0000389b: MLOAD
0000389c: DUP1
0000389d: PUSH1 0x20
0000389f: ADD
000038a0: PUSH1 0x40
000038a2: MSTORE
000038a3: DUP1
000038a4: DUP5
000038a5: PUSH1 0x40
000038a7: ADD
000038a8: MLOAD
000038a9: DUP2
000038aa: MSTORE
000038ab: POP
000038ac: PUSH2 0x46a4
000038af: JUMP
000038b0: JUMPDEST
000038b1: PUSH1 0x60
000038b3: DUP4
000038b4: ADD
000038b5: DUP2
000038b6: SWAP1
000038b7: MSTORE
000038b8: PUSH1 0x20
000038ba: DUP4
000038bb: ADD
000038bc: DUP3
000038bd: PUSH1 0x03
000038bf: DUP2
000038c0: GT
000038c1: ISZERO
000038c2: PUSH2 0x38c7
000038c5: JUMPI
000038c6: INVALID
000038c7: JUMPDEST
000038c8: PUSH1 0x03
000038ca: DUP2
000038cb: GT
000038cc: ISZERO
000038cd: PUSH2 0x38d2
000038d0: JUMPI
000038d1: INVALID
000038d2: JUMPDEST
000038d3: SWAP1
000038d4: MSTORE
000038d5: POP
000038d6: PUSH1 0x00
000038d8: SWAP1
000038d9: POP
000038da: DUP2
000038db: PUSH1 0x20
000038dd: ADD
000038de: MLOAD
000038df: PUSH1 0x03
000038e1: DUP2
000038e2: GT
000038e3: ISZERO
000038e4: PUSH2 0x38e9
000038e7: JUMPI
000038e8: INVALID
000038e9: JUMPDEST
000038ea: EQ
000038eb: PUSH2 0x3905
000038ee: JUMPI
000038ef: PUSH2 0x382e
000038f2: PUSH1 0x09
000038f4: PUSH1 0x20
000038f6: DUP4
000038f7: PUSH1 0x20
000038f9: ADD
000038fa: MLOAD
000038fb: PUSH1 0x03
000038fd: DUP2
000038fe: GT
000038ff: ISZERO
00003900: PUSH2 0x1078
00003903: JUMPI
00003904: INVALID
00003905: JUMPDEST
00003906: PUSH2 0x3915
00003909: PUSH1 0x0e
0000390b: SLOAD
0000390c: DUP3
0000390d: PUSH1 0x60
0000390f: ADD
00003910: MLOAD
00003911: PUSH2 0x2688
00003914: JUMP
00003915: JUMPDEST
00003916: PUSH1 0x80
00003918: DUP4
00003919: ADD
0000391a: DUP2
0000391b: SWAP1
0000391c: MSTORE
0000391d: PUSH1 0x20
0000391f: DUP4
00003920: ADD
00003921: DUP3
00003922: PUSH1 0x03
00003924: DUP2
00003925: GT
00003926: ISZERO
00003927: PUSH2 0x392c
0000392a: JUMPI
0000392b: INVALID
0000392c: JUMPDEST
0000392d: PUSH1 0x03
0000392f: DUP2
00003930: GT
00003931: ISZERO
00003932: PUSH2 0x3937
00003935: JUMPI
00003936: INVALID
00003937: JUMPDEST
00003938: SWAP1
00003939: MSTORE
0000393a: POP
0000393b: PUSH1 0x00
0000393d: SWAP1
0000393e: POP
0000393f: DUP2
00003940: PUSH1 0x20
00003942: ADD
00003943: MLOAD
00003944: PUSH1 0x03
00003946: DUP2
00003947: GT
00003948: ISZERO
00003949: PUSH2 0x394e
0000394c: JUMPI
0000394d: INVALID
0000394e: JUMPDEST
0000394f: EQ
00003950: PUSH2 0x396a
00003953: JUMPI
00003954: PUSH2 0x382e
00003957: PUSH1 0x09
00003959: PUSH1 0x24
0000395b: DUP4
0000395c: PUSH1 0x20
0000395e: ADD
0000395f: MLOAD
00003960: PUSH1 0x03
00003962: DUP2
00003963: GT
00003964: ISZERO
00003965: PUSH2 0x1078
00003968: JUMPI
00003969: INVALID
0000396a: JUMPDEST
0000396b: PUSH1 0x01
0000396d: PUSH1 0x01
0000396f: PUSH1 0xa0
00003971: SHL
00003972: SUB
00003973: DUP6
00003974: AND
00003975: PUSH1 0x00
00003977: SWAP1
00003978: DUP2
00003979: MSTORE
0000397a: PUSH1 0x0f
0000397c: PUSH1 0x20
0000397e: MSTORE
0000397f: PUSH1 0x40
00003981: SWAP1
00003982: KECCAK256
00003983: SLOAD
00003984: PUSH1 0x60
00003986: DUP3
00003987: ADD
00003988: MLOAD
00003989: PUSH2 0x3992
0000398c: SWAP2
0000398d: SWAP1
0000398e: PUSH2 0x2688
00003991: JUMP
00003992: JUMPDEST
00003993: PUSH1 0xa0
00003995: DUP4
00003996: ADD
00003997: DUP2
00003998: SWAP1
00003999: MSTORE
0000399a: PUSH1 0x20
0000399c: DUP4
0000399d: ADD
0000399e: DUP3
0000399f: PUSH1 0x03
000039a1: DUP2
000039a2: GT
000039a3: ISZERO
000039a4: PUSH2 0x39a9
000039a7: JUMPI
000039a8: INVALID
000039a9: JUMPDEST
000039aa: PUSH1 0x03
000039ac: DUP2
000039ad: GT
000039ae: ISZERO
000039af: PUSH2 0x39b4
000039b2: JUMPI
000039b3: INVALID
000039b4: JUMPDEST
000039b5: SWAP1
000039b6: MSTORE
000039b7: POP
000039b8: PUSH1 0x00
000039ba: SWAP1
000039bb: POP
000039bc: DUP2
000039bd: PUSH1 0x20
000039bf: ADD
000039c0: MLOAD
000039c1: PUSH1 0x03
000039c3: DUP2
000039c4: GT
000039c5: ISZERO
000039c6: PUSH2 0x39cb
000039c9: JUMPI
000039ca: INVALID
000039cb: JUMPDEST
000039cc: EQ
000039cd: PUSH2 0x39e7
000039d0: JUMPI
000039d1: PUSH2 0x382e
000039d4: PUSH1 0x09
000039d6: PUSH1 0x23
000039d8: DUP4
000039d9: PUSH1 0x20
000039db: ADD
000039dc: MLOAD
000039dd: PUSH1 0x03
000039df: DUP2
000039e0: GT
000039e1: ISZERO
000039e2: PUSH2 0x1078
000039e5: JUMPI
000039e6: INVALID
000039e7: JUMPDEST
000039e8: PUSH2 0x39f1
000039eb: DUP6
000039ec: DUP6
000039ed: PUSH2 0x45ea
000039f0: JUMP
000039f1: JUMPDEST
000039f2: DUP2
000039f3: SWAP1
000039f4: PUSH1 0x10
000039f6: DUP2
000039f7: GT
000039f8: ISZERO
000039f9: PUSH2 0x39fe
000039fc: JUMPI
000039fd: INVALID
000039fe: JUMPDEST
000039ff: SWAP1
00003a00: DUP2
00003a01: PUSH1 0x10
00003a03: DUP2
00003a04: GT
00003a05: ISZERO
00003a06: PUSH2 0x3a0b
00003a09: JUMPI
00003a0a: INVALID
00003a0b: JUMPDEST
00003a0c: SWAP1
00003a0d: MSTORE
00003a0e: POP
00003a0f: PUSH1 0x00
00003a11: DUP2
00003a12: MLOAD
00003a13: PUSH1 0x10
00003a15: DUP2
00003a16: GT
00003a17: ISZERO
00003a18: PUSH2 0x3a1d
00003a1b: JUMPI
00003a1c: INVALID
00003a1d: JUMPDEST
00003a1e: EQ
00003a1f: PUSH2 0x3a2f
00003a22: JUMPI
00003a23: DUP1
00003a24: MLOAD
00003a25: PUSH2 0x382e
00003a28: SWAP1
00003a29: PUSH1 0x25
00003a2b: PUSH2 0x227d
00003a2e: JUMP
00003a2f: JUMPDEST
00003a30: PUSH1 0x80
00003a32: DUP2
00003a33: ADD
00003a34: MLOAD
00003a35: PUSH1 0x0e
00003a37: SSTORE
00003a38: PUSH1 0xa0
00003a3a: DUP2
00003a3b: ADD
00003a3c: MLOAD
00003a3d: PUSH1 0x01
00003a3f: PUSH1 0x01
00003a41: PUSH1 0xa0
00003a43: SHL
00003a44: SUB
00003a45: DUP7
00003a46: AND
00003a47: PUSH1 0x00
00003a49: DUP2
00003a4a: DUP2
00003a4b: MSTORE
00003a4c: PUSH1 0x0f
00003a4e: PUSH1 0x20
00003a50: SWAP1
00003a51: DUP2
00003a52: MSTORE
00003a53: PUSH1 0x40
00003a55: SWAP2
00003a56: DUP3
00003a57: SWAP1
00003a58: KECCAK256
00003a59: SWAP4
00003a5a: SWAP1
00003a5b: SWAP4
00003a5c: SSTORE
00003a5d: PUSH1 0x60
00003a5f: DUP1
00003a60: DUP6
00003a61: ADD
00003a62: MLOAD
00003a63: DUP3
00003a64: MLOAD
00003a65: SWAP4
00003a66: DUP5
00003a67: MSTORE
00003a68: SWAP4
00003a69: DUP4
00003a6a: ADD
00003a6b: DUP9
00003a6c: SWAP1
00003a6d: MSTORE
00003a6e: DUP3
00003a6f: DUP3
00003a70: ADD
00003a71: SWAP4
00003a72: SWAP1
00003a73: SWAP4
00003a74: MSTORE
00003a75: MLOAD
00003a76: PUSH32 0x4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f
00003a97: SWAP3
00003a98: SWAP2
00003a99: DUP2
00003a9a: SWAP1
00003a9b: SUB
00003a9c: SWAP1
00003a9d: SWAP2
00003a9e: ADD
00003a9f: SWAP1
00003aa0: LOG1
00003aa1: PUSH1 0x60
00003aa3: DUP2
00003aa4: ADD
00003aa5: MLOAD
00003aa6: PUSH1 0x40
00003aa8: DUP1
00003aa9: MLOAD
00003aaa: SWAP2
00003aab: DUP3
00003aac: MSTORE
00003aad: MLOAD
00003aae: PUSH1 0x01
00003ab0: PUSH1 0x01
00003ab2: PUSH1 0xa0
00003ab4: SHL
00003ab5: SUB
00003ab6: DUP8
00003ab7: AND
00003ab8: SWAP2
00003ab9: ADDRESS
00003aba: SWAP2
00003abb: PUSH1 0x00
00003abd: DUP1
00003abe: MLOAD
00003abf: PUSH1 0x20
00003ac1: PUSH2 0x4906
00003ac4: DUP4
00003ac5: CODECOPY
00003ac6: DUP2
00003ac7: MLOAD
00003ac8: SWAP2
00003ac9: MSTORE
00003aca: SWAP2
00003acb: DUP2
00003acc: SWAP1
00003acd: SUB
00003ace: PUSH1 0x20
00003ad0: ADD
00003ad1: SWAP1
00003ad2: LOG3
00003ad3: PUSH1 0x06
00003ad5: SLOAD
00003ad6: PUSH1 0x60
00003ad8: DUP3
00003ad9: ADD
00003ada: MLOAD
00003adb: PUSH1 0x40
00003add: DUP1
00003ade: MLOAD
00003adf: PUSH1 0x01
00003ae1: PUSH1 0xe0
00003ae3: SHL
00003ae4: PUSH4 0x41c728b9
00003ae9: MUL
00003aea: DUP2
00003aeb: MSTORE
00003aec: ADDRESS
00003aed: PUSH1 0x04
00003aef: DUP3
00003af0: ADD
00003af1: MSTORE
00003af2: PUSH1 0x01
00003af4: PUSH1 0x01
00003af6: PUSH1 0xa0
00003af8: SHL
00003af9: SUB
00003afa: DUP10
00003afb: DUP2
00003afc: AND
00003afd: PUSH1 0x24
00003aff: DUP4
00003b00: ADD
00003b01: MSTORE
00003b02: PUSH1 0x44
00003b04: DUP3
00003b05: ADD
00003b06: DUP10
00003b07: SWAP1
00003b08: MSTORE
00003b09: PUSH1 0x64
00003b0b: DUP3
00003b0c: ADD
00003b0d: SWAP4
00003b0e: SWAP1
00003b0f: SWAP4
00003b10: MSTORE
00003b11: SWAP1
00003b12: MLOAD
00003b13: SWAP2
00003b14: SWAP1
00003b15: SWAP3
00003b16: AND
00003b17: SWAP2
00003b18: PUSH4 0x41c728b9
00003b1d: SWAP2
00003b1e: PUSH1 0x84
00003b20: DUP1
00003b21: DUP4
00003b22: ADD
00003b23: SWAP3
00003b24: PUSH1 0x00
00003b26: SWAP3
00003b27: SWAP2
00003b28: SWAP1
00003b29: DUP3
00003b2a: SWAP1
00003b2b: SUB
00003b2c: ADD
00003b2d: DUP2
00003b2e: DUP4
00003b2f: DUP8
00003b30: DUP1
00003b31: EXTCODESIZE
00003b32: ISZERO
00003b33: DUP1
00003b34: ISZERO
00003b35: PUSH2 0x3b3d
00003b38: JUMPI
00003b39: PUSH1 0x00
00003b3b: DUP1
00003b3c: REVERT
00003b3d: JUMPDEST
00003b3e: POP
00003b3f: GAS
00003b40: CALL
00003b41: ISZERO
00003b42: DUP1
00003b43: ISZERO
00003b44: PUSH2 0x3b51
00003b47: JUMPI
00003b48: RETURNDATASIZE
00003b49: PUSH1 0x00
00003b4b: DUP1
00003b4c: RETURNDATACOPY
00003b4d: RETURNDATASIZE
00003b4e: PUSH1 0x00
00003b50: REVERT
00003b51: JUMPDEST
00003b52: POP
00003b53: PUSH1 0x00
00003b55: SWAP3
00003b56: POP
00003b57: PUSH2 0x3b5e
00003b5a: SWAP2
00003b5b: POP
00003b5c: POP
00003b5d: JUMP
00003b5e: JUMPDEST
00003b5f: SWAP6
00003b60: SWAP5
00003b61: POP
00003b62: POP
00003b63: POP
00003b64: POP
00003b65: POP
00003b66: JUMP
00003b67: JUMPDEST
00003b68: PUSH1 0x00
00003b6a: PUSH2 0x3b71
00003b6d: PUSH2 0x46bb
00003b70: JUMP
00003b71: JUMPDEST
00003b72: PUSH1 0x00
00003b74: DUP1
00003b75: PUSH2 0x3b86
00003b78: DUP7
00003b79: PUSH1 0x00
00003b7b: ADD
00003b7c: MLOAD
00003b7d: DUP7
00003b7e: PUSH1 0x00
00003b80: ADD
00003b81: MLOAD
00003b82: PUSH2 0x36af
00003b85: JUMP
00003b86: JUMPDEST
00003b87: SWAP1
00003b88: SWAP3
00003b89: POP
00003b8a: SWAP1
00003b8b: POP
00003b8c: PUSH1 0x00
00003b8e: DUP3
00003b8f: PUSH1 0x03
00003b91: DUP2
00003b92: GT
00003b93: ISZERO
00003b94: PUSH2 0x3b99
00003b97: JUMPI
00003b98: INVALID
00003b99: JUMPDEST
00003b9a: EQ
00003b9b: PUSH2 0x3bb8
00003b9e: JUMPI
00003b9f: POP
00003ba0: PUSH1 0x40
00003ba2: DUP1
00003ba3: MLOAD
00003ba4: PUSH1 0x20
00003ba6: DUP2
00003ba7: ADD
00003ba8: SWAP1
00003ba9: SWAP2
00003baa: MSTORE
00003bab: PUSH1 0x00
00003bad: DUP2
00003bae: MSTORE
00003baf: SWAP1
00003bb0: SWAP3
00003bb1: POP
00003bb2: SWAP1
00003bb3: POP
00003bb4: PUSH2 0x21f3
00003bb7: JUMP
00003bb8: JUMPDEST
00003bb9: PUSH1 0x00
00003bbb: DUP1
00003bbc: PUSH2 0x3bcd
00003bbf: PUSH8 0x06f05b59d3b20000
00003bc8: DUP5
00003bc9: PUSH2 0x2688
00003bcc: JUMP
00003bcd: JUMPDEST
00003bce: SWAP1
00003bcf: SWAP3
00003bd0: POP
00003bd1: SWAP1
00003bd2: POP
00003bd3: PUSH1 0x00
00003bd5: DUP3
00003bd6: PUSH1 0x03
00003bd8: DUP2
00003bd9: GT
00003bda: ISZERO
00003bdb: PUSH2 0x3be0
00003bde: JUMPI
00003bdf: INVALID
00003be0: JUMPDEST
00003be1: EQ
00003be2: PUSH2 0x3c02
00003be5: JUMPI
00003be6: POP
00003be7: PUSH1 0x40
00003be9: DUP1
00003bea: MLOAD
00003beb: PUSH1 0x20
00003bed: DUP2
00003bee: ADD
00003bef: SWAP1
00003bf0: SWAP2
00003bf1: MSTORE
00003bf2: PUSH1 0x00
00003bf4: DUP2
00003bf5: MSTORE
00003bf6: SWAP1
00003bf7: SWAP5
00003bf8: POP
00003bf9: SWAP3
00003bfa: POP
00003bfb: PUSH2 0x21f3
00003bfe: SWAP2
00003bff: POP
00003c00: POP
00003c01: JUMP
00003c02: JUMPDEST
00003c03: PUSH1 0x00
00003c05: DUP1
00003c06: PUSH2 0x3c17
00003c09: DUP4
00003c0a: PUSH8 0x0de0b6b3a7640000
00003c13: PUSH2 0x36ee
00003c16: JUMP
00003c17: JUMPDEST
00003c18: SWAP1
00003c19: SWAP3
00003c1a: POP
00003c1b: SWAP1
00003c1c: POP
00003c1d: PUSH1 0x00
00003c1f: DUP3
00003c20: PUSH1 0x03
00003c22: DUP2
00003c23: GT
00003c24: ISZERO
00003c25: PUSH2 0x3c2a
00003c28: JUMPI
00003c29: INVALID
00003c2a: JUMPDEST
00003c2b: EQ
00003c2c: PUSH2 0x3c31
00003c2f: JUMPI
00003c30: INVALID
00003c31: JUMPDEST
00003c32: PUSH1 0x40
00003c34: DUP1
00003c35: MLOAD
00003c36: PUSH1 0x20
00003c38: DUP2
00003c39: ADD
00003c3a: SWAP1
00003c3b: SWAP2
00003c3c: MSTORE
00003c3d: SWAP1
00003c3e: DUP2
00003c3f: MSTORE
00003c40: PUSH1 0x00
00003c42: SWAP11
00003c43: SWAP1
00003c44: SWAP10
00003c45: POP
00003c46: SWAP8
00003c47: POP
00003c48: POP
00003c49: POP
00003c4a: POP
00003c4b: POP
00003c4c: POP
00003c4d: POP
00003c4e: POP
00003c4f: JUMP
00003c50: JUMPDEST
00003c51: PUSH1 0x06
00003c53: SLOAD
00003c54: PUSH1 0x40
00003c56: DUP1
00003c57: MLOAD
00003c58: PUSH1 0x01
00003c5a: PUSH1 0xe2
00003c5c: SHL
00003c5d: PUSH4 0x368f5153
00003c62: MUL
00003c63: DUP2
00003c64: MSTORE
00003c65: ADDRESS
00003c66: PUSH1 0x04
00003c68: DUP3
00003c69: ADD
00003c6a: MSTORE
00003c6b: PUSH1 0x01
00003c6d: PUSH1 0x01
00003c6f: PUSH1 0xa0
00003c71: SHL
00003c72: SUB
00003c73: DUP6
00003c74: DUP2
00003c75: AND
00003c76: PUSH1 0x24
00003c78: DUP4
00003c79: ADD
00003c7a: MSTORE
00003c7b: PUSH1 0x44
00003c7d: DUP3
00003c7e: ADD
00003c7f: DUP6
00003c80: SWAP1
00003c81: MSTORE
00003c82: SWAP2
00003c83: MLOAD
00003c84: PUSH1 0x00
00003c86: SWAP4
00003c87: DUP5
00003c88: SWAP4
00003c89: AND
00003c8a: SWAP2
00003c8b: PUSH4 0xda3d454c
00003c90: SWAP2
00003c91: PUSH1 0x64
00003c93: DUP1
00003c94: DUP4
00003c95: ADD
00003c96: SWAP3
00003c97: PUSH1 0x20
00003c99: SWAP3
00003c9a: SWAP2
00003c9b: SWAP1
00003c9c: DUP3
00003c9d: SWAP1
00003c9e: SUB
00003c9f: ADD
00003ca0: DUP2
00003ca1: DUP8
00003ca2: DUP8
00003ca3: DUP1
00003ca4: EXTCODESIZE
00003ca5: ISZERO
00003ca6: DUP1
00003ca7: ISZERO
00003ca8: PUSH2 0x3cb0
00003cab: JUMPI
00003cac: PUSH1 0x00
00003cae: DUP1
00003caf: REVERT
00003cb0: JUMPDEST
00003cb1: POP
00003cb2: GAS
00003cb3: CALL
00003cb4: ISZERO
00003cb5: DUP1
00003cb6: ISZERO
00003cb7: PUSH2 0x3cc4
00003cba: JUMPI
00003cbb: RETURNDATASIZE
00003cbc: PUSH1 0x00
00003cbe: DUP1
00003cbf: RETURNDATACOPY
00003cc0: RETURNDATASIZE
00003cc1: PUSH1 0x00
00003cc3: REVERT
00003cc4: JUMPDEST
00003cc5: POP
00003cc6: POP
00003cc7: POP
00003cc8: POP
00003cc9: PUSH1 0x40
00003ccb: MLOAD
00003ccc: RETURNDATASIZE
00003ccd: PUSH1 0x20
00003ccf: DUP2
00003cd0: LT
00003cd1: ISZERO
00003cd2: PUSH2 0x3cda
00003cd5: JUMPI
00003cd6: PUSH1 0x00
00003cd8: DUP1
00003cd9: REVERT
00003cda: JUMPDEST
00003cdb: POP
00003cdc: MLOAD
00003cdd: SWAP1
00003cde: POP
00003cdf: DUP1
00003ce0: ISZERO
00003ce1: PUSH2 0x3cf1
00003ce4: JUMPI
00003ce5: PUSH2 0x37ba
00003ce8: PUSH1 0x03
00003cea: PUSH1 0x0e
00003cec: DUP4
00003ced: PUSH2 0x2593
00003cf0: JUMP
00003cf1: JUMPDEST
00003cf2: PUSH2 0x3cf9
00003cf5: PUSH2 0x25f9
00003cf8: JUMP
00003cf9: JUMPDEST
00003cfa: PUSH1 0x0a
00003cfc: SLOAD
00003cfd: EQ
00003cfe: PUSH2 0x3d0c
00003d01: JUMPI
00003d02: PUSH2 0x37ba
00003d05: PUSH1 0x0a
00003d07: DUP1
00003d08: PUSH2 0x227d
00003d0b: JUMP
00003d0c: JUMPDEST
00003d0d: DUP3
00003d0e: PUSH2 0x3d15
00003d11: PUSH2 0x21fa
00003d14: JUMP
00003d15: JUMPDEST
00003d16: LT
00003d17: ISZERO
00003d18: PUSH2 0x3d27
00003d1b: JUMPI
00003d1c: PUSH2 0x37ba
00003d1f: PUSH1 0x0e
00003d21: PUSH1 0x09
00003d23: PUSH2 0x227d
00003d26: JUMP
00003d27: JUMPDEST
00003d28: PUSH2 0x3d2f
00003d2b: PUSH2 0x4780
00003d2e: JUMP
00003d2f: JUMPDEST
00003d30: PUSH2 0x3d38
00003d33: DUP6
00003d34: PUSH2 0x24a4
00003d37: JUMP
00003d38: JUMPDEST
00003d39: PUSH1 0x40
00003d3b: DUP4
00003d3c: ADD
00003d3d: DUP2
00003d3e: SWAP1
00003d3f: MSTORE
00003d40: PUSH1 0x20
00003d42: DUP4
00003d43: ADD
00003d44: DUP3
00003d45: PUSH1 0x03
00003d47: DUP2
00003d48: GT
00003d49: ISZERO
00003d4a: PUSH2 0x3d4f
00003d4d: JUMPI
00003d4e: INVALID
00003d4f: JUMPDEST
00003d50: PUSH1 0x03
00003d52: DUP2
00003d53: GT
00003d54: ISZERO
00003d55: PUSH2 0x3d5a
00003d58: JUMPI
00003d59: INVALID
00003d5a: JUMPDEST
00003d5b: SWAP1
00003d5c: MSTORE
00003d5d: POP
00003d5e: PUSH1 0x00
00003d60: SWAP1
00003d61: POP
00003d62: DUP2
00003d63: PUSH1 0x20
00003d65: ADD
00003d66: MLOAD
00003d67: PUSH1 0x03
00003d69: DUP2
00003d6a: GT
00003d6b: ISZERO
00003d6c: PUSH2 0x3d71
00003d6f: JUMPI
00003d70: INVALID
00003d71: JUMPDEST
00003d72: EQ
00003d73: PUSH2 0x3d8d
00003d76: JUMPI
00003d77: PUSH2 0x382e
00003d7a: PUSH1 0x09
00003d7c: PUSH1 0x07
00003d7e: DUP4
00003d7f: PUSH1 0x20
00003d81: ADD
00003d82: MLOAD
00003d83: PUSH1 0x03
00003d85: DUP2
00003d86: GT
00003d87: ISZERO
00003d88: PUSH2 0x1078
00003d8b: JUMPI
00003d8c: INVALID
00003d8d: JUMPDEST
00003d8e: PUSH2 0x3d9b
00003d91: DUP2
00003d92: PUSH1 0x40
00003d94: ADD
00003d95: MLOAD
00003d96: DUP6
00003d97: PUSH2 0x2688
00003d9a: JUMP
00003d9b: JUMPDEST
00003d9c: PUSH1 0x60
00003d9e: DUP4
00003d9f: ADD
00003da0: DUP2
00003da1: SWAP1
00003da2: MSTORE
00003da3: PUSH1 0x20
00003da5: DUP4
00003da6: ADD
00003da7: DUP3
00003da8: PUSH1 0x03
00003daa: DUP2
00003dab: GT
00003dac: ISZERO
00003dad: PUSH2 0x3db2
00003db0: JUMPI
00003db1: INVALID
00003db2: JUMPDEST
00003db3: PUSH1 0x03
00003db5: DUP2
00003db6: GT
00003db7: ISZERO
00003db8: PUSH2 0x3dbd
00003dbb: JUMPI
00003dbc: INVALID
00003dbd: JUMPDEST
00003dbe: SWAP1
00003dbf: MSTORE
00003dc0: POP
00003dc1: PUSH1 0x00
00003dc3: SWAP1
00003dc4: POP
00003dc5: DUP2
00003dc6: PUSH1 0x20
00003dc8: ADD
00003dc9: MLOAD
00003dca: PUSH1 0x03
00003dcc: DUP2
00003dcd: GT
00003dce: ISZERO
00003dcf: PUSH2 0x3dd4
00003dd2: JUMPI
00003dd3: INVALID
00003dd4: JUMPDEST
00003dd5: EQ
00003dd6: PUSH2 0x3df0
00003dd9: JUMPI
00003dda: PUSH2 0x382e
00003ddd: PUSH1 0x09
00003ddf: PUSH1 0x0c
00003de1: DUP4
00003de2: PUSH1 0x20
00003de4: ADD
00003de5: MLOAD
00003de6: PUSH1 0x03
00003de8: DUP2
00003de9: GT
00003dea: ISZERO
00003deb: PUSH2 0x1078
00003dee: JUMPI
00003def: INVALID
00003df0: JUMPDEST
00003df1: PUSH2 0x3dfc
00003df4: PUSH1 0x0c
00003df6: SLOAD
00003df7: DUP6
00003df8: PUSH2 0x2688
00003dfb: JUMP
00003dfc: JUMPDEST
00003dfd: PUSH1 0x80
00003dff: DUP4
00003e00: ADD
00003e01: DUP2
00003e02: SWAP1
00003e03: MSTORE
00003e04: PUSH1 0x20
00003e06: DUP4
00003e07: ADD
00003e08: DUP3
00003e09: PUSH1 0x03
00003e0b: DUP2
00003e0c: GT
00003e0d: ISZERO
00003e0e: PUSH2 0x3e13
00003e11: JUMPI
00003e12: INVALID
00003e13: JUMPDEST
00003e14: PUSH1 0x03
00003e16: DUP2
00003e17: GT
00003e18: ISZERO
00003e19: PUSH2 0x3e1e
00003e1c: JUMPI
00003e1d: INVALID
00003e1e: JUMPDEST
00003e1f: SWAP1
00003e20: MSTORE
00003e21: POP
00003e22: PUSH1 0x00
00003e24: SWAP1
00003e25: POP
00003e26: DUP2
00003e27: PUSH1 0x20
00003e29: ADD
00003e2a: MLOAD
00003e2b: PUSH1 0x03
00003e2d: DUP2
00003e2e: GT
00003e2f: ISZERO
00003e30: PUSH2 0x3e35
00003e33: JUMPI
00003e34: INVALID
00003e35: JUMPDEST
00003e36: EQ
00003e37: PUSH2 0x3e51
00003e3a: JUMPI
00003e3b: PUSH2 0x382e
00003e3e: PUSH1 0x09
00003e40: PUSH1 0x0b
00003e42: DUP4
00003e43: PUSH1 0x20
00003e45: ADD
00003e46: MLOAD
00003e47: PUSH1 0x03
00003e49: DUP2
00003e4a: GT
00003e4b: ISZERO
00003e4c: PUSH2 0x1078
00003e4f: JUMPI
00003e50: INVALID
00003e51: JUMPDEST
00003e52: PUSH2 0x3e5b
00003e55: DUP6
00003e56: DUP6
00003e57: PUSH2 0x30db
00003e5a: JUMP
00003e5b: JUMPDEST
00003e5c: DUP2
00003e5d: SWAP1
00003e5e: PUSH1 0x10
00003e60: DUP2
00003e61: GT
00003e62: ISZERO
00003e63: PUSH2 0x3e68
00003e66: JUMPI
00003e67: INVALID
00003e68: JUMPDEST
00003e69: SWAP1
00003e6a: DUP2
00003e6b: PUSH1 0x10
00003e6d: DUP2
00003e6e: GT
00003e6f: ISZERO
00003e70: PUSH2 0x3e75
00003e73: JUMPI
00003e74: INVALID
00003e75: JUMPDEST
00003e76: SWAP1
00003e77: MSTORE
00003e78: POP
00003e79: PUSH1 0x00
00003e7b: DUP2
00003e7c: MLOAD
00003e7d: PUSH1 0x10
00003e7f: DUP2
00003e80: GT
00003e81: ISZERO
00003e82: PUSH2 0x3e87
00003e85: JUMPI
00003e86: INVALID
00003e87: JUMPDEST
00003e88: EQ
00003e89: PUSH2 0x3edc
00003e8c: JUMPI
00003e8d: PUSH1 0x40
00003e8f: DUP1
00003e90: MLOAD
00003e91: PUSH1 0x01
00003e93: PUSH1 0xe5
00003e95: SHL
00003e96: PUSH3 0x461bcd
00003e9a: MUL
00003e9b: DUP2
00003e9c: MSTORE
00003e9d: PUSH1 0x20
00003e9f: PUSH1 0x04
00003ea1: DUP3
00003ea2: ADD
00003ea3: MSTORE
00003ea4: PUSH1 0x1a
00003ea6: PUSH1 0x24
00003ea8: DUP3
00003ea9: ADD
00003eaa: MSTORE
00003eab: PUSH32 0x626f72726f77207472616e73666572206f7574206661696c6564000000000000
00003ecc: PUSH1 0x44
00003ece: DUP3
00003ecf: ADD
00003ed0: MSTORE
00003ed1: SWAP1
00003ed2: MLOAD
00003ed3: SWAP1
00003ed4: DUP2
00003ed5: SWAP1
00003ed6: SUB
00003ed7: PUSH1 0x64
00003ed9: ADD
00003eda: SWAP1
00003edb: REVERT
00003edc: JUMPDEST
00003edd: PUSH1 0x60
00003edf: DUP1
00003ee0: DUP3
00003ee1: ADD
00003ee2: DUP1
00003ee3: MLOAD
00003ee4: PUSH1 0x01
00003ee6: PUSH1 0x01
00003ee8: PUSH1 0xa0
00003eea: SHL
00003eeb: SUB
00003eec: DUP9
00003eed: AND
00003eee: PUSH1 0x00
00003ef0: DUP2
00003ef1: DUP2
00003ef2: MSTORE
00003ef3: PUSH1 0x11
00003ef5: PUSH1 0x20
00003ef7: SWAP1
00003ef8: DUP2
00003ef9: MSTORE
00003efa: PUSH1 0x40
00003efc: SWAP2
00003efd: DUP3
00003efe: SWAP1
00003eff: KECCAK256
00003f00: SWAP4
00003f01: DUP5
00003f02: SSTORE
00003f03: PUSH1 0x0b
00003f05: SLOAD
00003f06: PUSH1 0x01
00003f08: SWAP1
00003f09: SWAP5
00003f0a: ADD
00003f0b: SWAP4
00003f0c: SWAP1
00003f0d: SWAP4
00003f0e: SSTORE
00003f0f: PUSH1 0x80
00003f11: DUP1
00003f12: DUP8
00003f13: ADD
00003f14: MLOAD
00003f15: PUSH1 0x0c
00003f17: DUP2
00003f18: SWAP1
00003f19: SSTORE
00003f1a: SWAP5
00003f1b: MLOAD
00003f1c: DUP3
00003f1d: MLOAD
00003f1e: SWAP4
00003f1f: DUP5
00003f20: MSTORE
00003f21: SWAP4
00003f22: DUP4
00003f23: ADD
00003f24: DUP11
00003f25: SWAP1
00003f26: MSTORE
00003f27: DUP3
00003f28: DUP3
00003f29: ADD
00003f2a: SWAP4
00003f2b: SWAP1
00003f2c: SWAP4
00003f2d: MSTORE
00003f2e: SWAP4
00003f2f: DUP2
00003f30: ADD
00003f31: SWAP3
00003f32: SWAP1
00003f33: SWAP3
00003f34: MSTORE
00003f35: SWAP2
00003f36: MLOAD
00003f37: PUSH32 0x13ed6866d4e1ee6da46f845c46d7e54120883d75c5ea9a2dacc1c4ca8984ab80
00003f58: SWAP3
00003f59: SWAP2
00003f5a: DUP2
00003f5b: SWAP1
00003f5c: SUB
00003f5d: SWAP1
00003f5e: SWAP2
00003f5f: ADD
00003f60: SWAP1
00003f61: LOG1
00003f62: PUSH1 0x06
00003f64: SLOAD
00003f65: PUSH1 0x40
00003f67: DUP1
00003f68: MLOAD
00003f69: PUSH1 0x01
00003f6b: PUSH1 0xe0
00003f6d: SHL
00003f6e: PUSH4 0x5c778605
00003f73: MUL
00003f74: DUP2
00003f75: MSTORE
00003f76: ADDRESS
00003f77: PUSH1 0x04
00003f79: DUP3
00003f7a: ADD
00003f7b: MSTORE
00003f7c: PUSH1 0x01
00003f7e: PUSH1 0x01
00003f80: PUSH1 0xa0
00003f82: SHL
00003f83: SUB
00003f84: DUP9
00003f85: DUP2
00003f86: AND
00003f87: PUSH1 0x24
00003f89: DUP4
00003f8a: ADD
00003f8b: MSTORE
00003f8c: PUSH1 0x44
00003f8e: DUP3
00003f8f: ADD
00003f90: DUP9
00003f91: SWAP1
00003f92: MSTORE
00003f93: SWAP2
00003f94: MLOAD
00003f95: SWAP2
00003f96: SWAP1
00003f97: SWAP3
00003f98: AND
00003f99: SWAP2
00003f9a: PUSH4 0x5c778605
00003f9f: SWAP2
00003fa0: PUSH1 0x64
00003fa2: DUP1
00003fa3: DUP4
00003fa4: ADD
00003fa5: SWAP3
00003fa6: PUSH1 0x00
00003fa8: SWAP3
00003fa9: SWAP2
00003faa: SWAP1
00003fab: DUP3
00003fac: SWAP1
00003fad: SUB
00003fae: ADD
00003faf: DUP2
00003fb0: DUP4
00003fb1: DUP8
00003fb2: DUP1
00003fb3: EXTCODESIZE
00003fb4: ISZERO
00003fb5: DUP1
00003fb6: ISZERO
00003fb7: PUSH2 0x3b3d
00003fba: JUMPI
00003fbb: PUSH1 0x00
00003fbd: DUP1
00003fbe: REVERT
00003fbf: JUMPDEST
00003fc0: PUSH1 0x06
00003fc2: SLOAD
00003fc3: PUSH1 0x40
00003fc5: DUP1
00003fc6: MLOAD
00003fc7: PUSH1 0x01
00003fc9: PUSH1 0xe1
00003fcb: SHL
00003fcc: PUSH4 0x2fe3f38f
00003fd1: MUL
00003fd2: DUP2
00003fd3: MSTORE
00003fd4: ADDRESS
00003fd5: PUSH1 0x04
00003fd7: DUP3
00003fd8: ADD
00003fd9: MSTORE
00003fda: PUSH1 0x01
00003fdc: PUSH1 0x01
00003fde: PUSH1 0xa0
00003fe0: SHL
00003fe1: SUB
00003fe2: DUP5
00003fe3: DUP2
00003fe4: AND
00003fe5: PUSH1 0x24
00003fe7: DUP4
00003fe8: ADD
00003fe9: MSTORE
00003fea: DUP8
00003feb: DUP2
00003fec: AND
00003fed: PUSH1 0x44
00003fef: DUP4
00003ff0: ADD
00003ff1: MSTORE
00003ff2: DUP7
00003ff3: DUP2
00003ff4: AND
00003ff5: PUSH1 0x64
00003ff7: DUP4
00003ff8: ADD
00003ff9: MSTORE
00003ffa: PUSH1 0x84
00003ffc: DUP3
00003ffd: ADD
00003ffe: DUP7
00003fff: SWAP1
00004000: MSTORE
00004001: SWAP2
00004002: MLOAD
00004003: PUSH1 0x00
00004005: SWAP4
00004006: DUP5
00004007: SWAP4
00004008: AND
00004009: SWAP2
0000400a: PUSH4 0x5fc7e71e
0000400f: SWAP2
00004010: PUSH1 0xa4
00004012: DUP1
00004013: DUP4
00004014: ADD
00004015: SWAP3
00004016: PUSH1 0x20
00004018: SWAP3
00004019: SWAP2
0000401a: SWAP1
0000401b: DUP3
0000401c: SWAP1
0000401d: SUB
0000401e: ADD
0000401f: DUP2
00004020: DUP8
00004021: DUP8
00004022: DUP1
00004023: EXTCODESIZE
00004024: ISZERO
00004025: DUP1
00004026: ISZERO
00004027: PUSH2 0x402f
0000402a: JUMPI
0000402b: PUSH1 0x00
0000402d: DUP1
0000402e: REVERT
0000402f: JUMPDEST
00004030: POP
00004031: GAS
00004032: CALL
00004033: ISZERO
00004034: DUP1
00004035: ISZERO
00004036: PUSH2 0x4043
00004039: JUMPI
0000403a: RETURNDATASIZE
0000403b: PUSH1 0x00
0000403d: DUP1
0000403e: RETURNDATACOPY
0000403f: RETURNDATASIZE
00004040: PUSH1 0x00
00004042: REVERT
00004043: JUMPDEST
00004044: POP
00004045: POP
00004046: POP
00004047: POP
00004048: PUSH1 0x40
0000404a: MLOAD
0000404b: RETURNDATASIZE
0000404c: PUSH1 0x20
0000404e: DUP2
0000404f: LT
00004050: ISZERO
00004051: PUSH2 0x4059
00004054: JUMPI
00004055: PUSH1 0x00
00004057: DUP1
00004058: REVERT
00004059: JUMPDEST
0000405a: POP
0000405b: MLOAD
0000405c: SWAP1
0000405d: POP
0000405e: DUP1
0000405f: ISZERO
00004060: PUSH2 0x4070
00004063: JUMPI
00004064: PUSH2 0x1eab
00004067: PUSH1 0x03
00004069: PUSH1 0x12
0000406b: DUP4
0000406c: PUSH2 0x2593
0000406f: JUMP
00004070: JUMPDEST
00004071: PUSH2 0x4078
00004074: PUSH2 0x25f9
00004077: JUMP
00004078: JUMPDEST
00004079: PUSH1 0x0a
0000407b: SLOAD
0000407c: EQ
0000407d: PUSH2 0x408c
00004080: JUMPI
00004081: PUSH2 0x1eab
00004084: PUSH1 0x0a
00004086: PUSH1 0x16
00004088: PUSH2 0x227d
0000408b: JUMP
0000408c: JUMPDEST
0000408d: PUSH2 0x4094
00004090: PUSH2 0x25f9
00004093: JUMP
00004094: JUMPDEST
00004095: DUP4
00004096: PUSH1 0x01
00004098: PUSH1 0x01
0000409a: PUSH1 0xa0
0000409c: SHL
0000409d: SUB
0000409e: AND
0000409f: PUSH4 0x6c540baf
000040a4: PUSH1 0x40
000040a6: MLOAD
000040a7: DUP2
000040a8: PUSH4 0xffffffff
000040ad: AND
000040ae: PUSH1 0xe0
000040b0: SHL
000040b1: DUP2
000040b2: MSTORE
000040b3: PUSH1 0x04
000040b5: ADD
000040b6: PUSH1 0x20
000040b8: PUSH1 0x40
000040ba: MLOAD
000040bb: DUP1
000040bc: DUP4
000040bd: SUB
000040be: DUP2
000040bf: DUP7
000040c0: DUP1
000040c1: EXTCODESIZE
000040c2: ISZERO
000040c3: DUP1
000040c4: ISZERO
000040c5: PUSH2 0x40cd
000040c8: JUMPI
000040c9: PUSH1 0x00
000040cb: DUP1
000040cc: REVERT
000040cd: JUMPDEST
000040ce: POP
000040cf: GAS
000040d0: STATICCALL
000040d1: ISZERO
000040d2: DUP1
000040d3: ISZERO
000040d4: PUSH2 0x40e1
000040d7: JUMPI
000040d8: RETURNDATASIZE
000040d9: PUSH1 0x00
000040db: DUP1
000040dc: RETURNDATACOPY
000040dd: RETURNDATASIZE
000040de: PUSH1 0x00
000040e0: REVERT
000040e1: JUMPDEST
000040e2: POP
000040e3: POP
000040e4: POP
000040e5: POP
000040e6: PUSH1 0x40
000040e8: MLOAD
000040e9: RETURNDATASIZE
000040ea: PUSH1 0x20
000040ec: DUP2
000040ed: LT
000040ee: ISZERO
000040ef: PUSH2 0x40f7
000040f2: JUMPI
000040f3: PUSH1 0x00
000040f5: DUP1
000040f6: REVERT
000040f7: JUMPDEST
000040f8: POP
000040f9: MLOAD
000040fa: EQ
000040fb: PUSH2 0x410a
000040fe: JUMPI
000040ff: PUSH2 0x1eab
00004102: PUSH1 0x0a
00004104: PUSH1 0x11
00004106: PUSH2 0x227d
00004109: JUMP
0000410a: JUMPDEST
0000410b: DUP6
0000410c: PUSH1 0x01
0000410e: PUSH1 0x01
00004110: PUSH1 0xa0
00004112: SHL
00004113: SUB
00004114: AND
00004115: DUP6
00004116: PUSH1 0x01
00004118: PUSH1 0x01
0000411a: PUSH1 0xa0
0000411c: SHL
0000411d: SUB
0000411e: AND
0000411f: EQ
00004120: ISZERO
00004121: PUSH2 0x4130
00004124: JUMPI
00004125: PUSH2 0x1eab
00004128: PUSH1 0x06
0000412a: PUSH1 0x17
0000412c: PUSH2 0x227d
0000412f: JUMP
00004130: JUMPDEST
00004131: DUP4
00004132: PUSH2 0x4141
00004135: JUMPI
00004136: PUSH2 0x1eab
00004139: PUSH1 0x07
0000413b: PUSH1 0x15
0000413d: PUSH2 0x227d
00004140: JUMP
00004141: JUMPDEST
00004142: PUSH1 0x00
00004144: NOT
00004145: DUP5
00004146: EQ
00004147: ISZERO
00004148: PUSH2 0x4157
0000414b: JUMPI
0000414c: PUSH2 0x1eab
0000414f: PUSH1 0x07
00004151: PUSH1 0x14
00004153: PUSH2 0x227d
00004156: JUMP
00004157: JUMPDEST
00004158: PUSH1 0x06
0000415a: SLOAD
0000415b: PUSH1 0x40
0000415d: DUP1
0000415e: MLOAD
0000415f: PUSH1 0x01
00004161: PUSH1 0xe0
00004163: SHL
00004164: PUSH4 0xc488847b
00004169: MUL
0000416a: DUP2
0000416b: MSTORE
0000416c: ADDRESS
0000416d: PUSH1 0x04
0000416f: DUP3
00004170: ADD
00004171: MSTORE
00004172: PUSH1 0x01
00004174: PUSH1 0x01
00004176: PUSH1 0xa0
00004178: SHL
00004179: SUB
0000417a: DUP7
0000417b: DUP2
0000417c: AND
0000417d: PUSH1 0x24
0000417f: DUP4
00004180: ADD
00004181: MSTORE
00004182: PUSH1 0x44
00004184: DUP3
00004185: ADD
00004186: DUP9
00004187: SWAP1
00004188: MSTORE
00004189: DUP3
0000418a: MLOAD
0000418b: PUSH1 0x00
0000418d: SWAP5
0000418e: DUP6
0000418f: SWAP5
00004190: SWAP3
00004191: AND
00004192: SWAP3
00004193: PUSH4 0xc488847b
00004198: SWAP3
00004199: PUSH1 0x64
0000419b: DUP1
0000419c: DUP4
0000419d: ADD
0000419e: SWAP4
0000419f: SWAP2
000041a0: SWAP3
000041a1: DUP3
000041a2: SWAP1
000041a3: SUB
000041a4: ADD
000041a5: DUP2
000041a6: DUP7
000041a7: DUP1
000041a8: EXTCODESIZE
000041a9: ISZERO
000041aa: DUP1
000041ab: ISZERO
000041ac: PUSH2 0x41b4
000041af: JUMPI
000041b0: PUSH1 0x00
000041b2: DUP1
000041b3: REVERT
000041b4: JUMPDEST
000041b5: POP
000041b6: GAS
000041b7: STATICCALL
000041b8: ISZERO
000041b9: DUP1
000041ba: ISZERO
000041bb: PUSH2 0x41c8
000041be: JUMPI
000041bf: RETURNDATASIZE
000041c0: PUSH1 0x00
000041c2: DUP1
000041c3: RETURNDATACOPY
000041c4: RETURNDATASIZE
000041c5: PUSH1 0x00
000041c7: REVERT
000041c8: JUMPDEST
000041c9: POP
000041ca: POP
000041cb: POP
000041cc: POP
000041cd: PUSH1 0x40
000041cf: MLOAD
000041d0: RETURNDATASIZE
000041d1: PUSH1 0x40
000041d3: DUP2
000041d4: LT
000041d5: ISZERO
000041d6: PUSH2 0x41de
000041d9: JUMPI
000041da: PUSH1 0x00
000041dc: DUP1
000041dd: REVERT
000041de: JUMPDEST
000041df: POP
000041e0: DUP1
000041e1: MLOAD
000041e2: PUSH1 0x20
000041e4: SWAP1
000041e5: SWAP2
000041e6: ADD
000041e7: MLOAD
000041e8: SWAP1
000041e9: SWAP3
000041ea: POP
000041eb: SWAP1
000041ec: POP
000041ed: DUP2
000041ee: ISZERO
000041ef: PUSH2 0x4209
000041f2: JUMPI
000041f3: PUSH2 0x41ff
000041f6: PUSH1 0x04
000041f8: PUSH1 0x13
000041fa: DUP5
000041fb: PUSH2 0x2593
000041fe: JUMP
000041ff: JUMPDEST
00004200: SWAP4
00004201: POP
00004202: POP
00004203: POP
00004204: POP
00004205: PUSH2 0x0ab7
00004208: JUMP
00004209: JUMPDEST
0000420a: DUP5
0000420b: PUSH1 0x01
0000420d: PUSH1 0x01
0000420f: PUSH1 0xa0
00004211: SHL
00004212: SUB
00004213: AND
00004214: PUSH4 0x70a08231
00004219: DUP9
0000421a: PUSH1 0x40
0000421c: MLOAD
0000421d: DUP3
0000421e: PUSH4 0xffffffff
00004223: AND
00004224: PUSH1 0xe0
00004226: SHL
00004227: DUP2
00004228: MSTORE
00004229: PUSH1 0x04
0000422b: ADD
0000422c: DUP1
0000422d: DUP3
0000422e: PUSH1 0x01
00004230: PUSH1 0x01
00004232: PUSH1 0xa0
00004234: SHL
00004235: SUB
00004236: AND
00004237: PUSH1 0x01
00004239: PUSH1 0x01
0000423b: PUSH1 0xa0
0000423d: SHL
0000423e: SUB
0000423f: AND
00004240: DUP2
00004241: MSTORE
00004242: PUSH1 0x20
00004244: ADD
00004245: SWAP2
00004246: POP
00004247: POP
00004248: PUSH1 0x20
0000424a: PUSH1 0x40
0000424c: MLOAD
0000424d: DUP1
0000424e: DUP4
0000424f: SUB
00004250: DUP2
00004251: DUP7
00004252: DUP1
00004253: EXTCODESIZE
00004254: ISZERO
00004255: DUP1
00004256: ISZERO
00004257: PUSH2 0x425f
0000425a: JUMPI
0000425b: PUSH1 0x00
0000425d: DUP1
0000425e: REVERT
0000425f: JUMPDEST
00004260: POP
00004261: GAS
00004262: STATICCALL
00004263: ISZERO
00004264: DUP1
00004265: ISZERO
00004266: PUSH2 0x4273
00004269: JUMPI
0000426a: RETURNDATASIZE
0000426b: PUSH1 0x00
0000426d: DUP1
0000426e: RETURNDATACOPY
0000426f: RETURNDATASIZE
00004270: PUSH1 0x00
00004272: REVERT
00004273: JUMPDEST
00004274: POP
00004275: POP
00004276: POP
00004277: POP
00004278: PUSH1 0x40
0000427a: MLOAD
0000427b: RETURNDATASIZE
0000427c: PUSH1 0x20
0000427e: DUP2
0000427f: LT
00004280: ISZERO
00004281: PUSH2 0x4289
00004284: JUMPI
00004285: PUSH1 0x00
00004287: DUP1
00004288: REVERT
00004289: JUMPDEST
0000428a: POP
0000428b: MLOAD
0000428c: DUP2
0000428d: GT
0000428e: ISZERO
0000428f: PUSH2 0x429e
00004292: JUMPI
00004293: PUSH2 0x41ff
00004296: PUSH1 0x0d
00004298: PUSH1 0x1d
0000429a: PUSH2 0x227d
0000429d: JUMP
0000429e: JUMPDEST
0000429f: PUSH1 0x00
000042a1: PUSH2 0x42ab
000042a4: DUP10
000042a5: DUP10
000042a6: DUP10
000042a7: PUSH2 0x2b82
000042aa: JUMP
000042ab: JUMPDEST
000042ac: SWAP1
000042ad: POP
000042ae: DUP1
000042af: ISZERO
000042b0: PUSH2 0x42d4
000042b3: JUMPI
000042b4: PUSH2 0x42c9
000042b7: DUP2
000042b8: PUSH1 0x10
000042ba: DUP2
000042bb: GT
000042bc: ISZERO
000042bd: PUSH2 0x42c2
000042c0: JUMPI
000042c1: INVALID
000042c2: JUMPDEST
000042c3: PUSH1 0x18
000042c5: PUSH2 0x227d
000042c8: JUMP
000042c9: JUMPDEST
000042ca: SWAP5
000042cb: POP
000042cc: POP
000042cd: POP
000042ce: POP
000042cf: POP
000042d0: PUSH2 0x0ab7
000042d3: JUMP
000042d4: JUMPDEST
000042d5: PUSH1 0x40
000042d7: DUP1
000042d8: MLOAD
000042d9: PUSH1 0x01
000042db: PUSH1 0xe0
000042dd: SHL
000042de: PUSH4 0xb2a02ff1
000042e3: MUL
000042e4: DUP2
000042e5: MSTORE
000042e6: PUSH1 0x01
000042e8: PUSH1 0x01
000042ea: PUSH1 0xa0
000042ec: SHL
000042ed: SUB
000042ee: DUP12
000042ef: DUP2
000042f0: AND
000042f1: PUSH1 0x04
000042f3: DUP4
000042f4: ADD
000042f5: MSTORE
000042f6: DUP11
000042f7: DUP2
000042f8: AND
000042f9: PUSH1 0x24
000042fb: DUP4
000042fc: ADD
000042fd: MSTORE
000042fe: PUSH1 0x44
00004300: DUP3
00004301: ADD
00004302: DUP6
00004303: SWAP1
00004304: MSTORE
00004305: SWAP2
00004306: MLOAD
00004307: PUSH1 0x00
00004309: SWAP3
0000430a: DUP10
0000430b: AND
0000430c: SWAP2
0000430d: PUSH4 0xb2a02ff1
00004312: SWAP2
00004313: PUSH1 0x64
00004315: DUP1
00004316: DUP4
00004317: ADD
00004318: SWAP3
00004319: PUSH1 0x20
0000431b: SWAP3
0000431c: SWAP2
0000431d: SWAP1
0000431e: DUP3
0000431f: SWAP1
00004320: SUB
00004321: ADD
00004322: DUP2
00004323: DUP8
00004324: DUP8
00004325: DUP1
00004326: EXTCODESIZE
00004327: ISZERO
00004328: DUP1
00004329: ISZERO
0000432a: PUSH2 0x4332
0000432d: JUMPI
0000432e: PUSH1 0x00
00004330: DUP1
00004331: REVERT
00004332: JUMPDEST
00004333: POP
00004334: GAS
00004335: CALL
00004336: ISZERO
00004337: DUP1
00004338: ISZERO
00004339: PUSH2 0x4346
0000433c: JUMPI
0000433d: RETURNDATASIZE
0000433e: PUSH1 0x00
00004340: DUP1
00004341: RETURNDATACOPY
00004342: RETURNDATASIZE
00004343: PUSH1 0x00
00004345: REVERT
00004346: JUMPDEST
00004347: POP
00004348: POP
00004349: POP
0000434a: POP
0000434b: PUSH1 0x40
0000434d: MLOAD
0000434e: RETURNDATASIZE
0000434f: PUSH1 0x20
00004351: DUP2
00004352: LT
00004353: ISZERO
00004354: PUSH2 0x435c
00004357: JUMPI
00004358: PUSH1 0x00
0000435a: DUP1
0000435b: REVERT
0000435c: JUMPDEST
0000435d: POP
0000435e: MLOAD
0000435f: SWAP1
00004360: POP
00004361: DUP1
00004362: ISZERO
00004363: PUSH2 0x43b6
00004366: JUMPI
00004367: PUSH1 0x40
00004369: DUP1
0000436a: MLOAD
0000436b: PUSH1 0x01
0000436d: PUSH1 0xe5
0000436f: SHL
00004370: PUSH3 0x461bcd
00004374: MUL
00004375: DUP2
00004376: MSTORE
00004377: PUSH1 0x20
00004379: PUSH1 0x04
0000437b: DUP3
0000437c: ADD
0000437d: MSTORE
0000437e: PUSH1 0x14
00004380: PUSH1 0x24
00004382: DUP3
00004383: ADD
00004384: MSTORE
00004385: PUSH32 0x746f6b656e207365697a757265206661696c6564000000000000000000000000
000043a6: PUSH1 0x44
000043a8: DUP3
000043a9: ADD
000043aa: MSTORE
000043ab: SWAP1
000043ac: MLOAD
000043ad: SWAP1
000043ae: DUP2
000043af: SWAP1
000043b0: SUB
000043b1: PUSH1 0x64
000043b3: ADD
000043b4: SWAP1
000043b5: REVERT
000043b6: JUMPDEST
000043b7: PUSH1 0x40
000043b9: DUP1
000043ba: MLOAD
000043bb: PUSH1 0x01
000043bd: PUSH1 0x01
000043bf: PUSH1 0xa0
000043c1: SHL
000043c2: SUB
000043c3: DUP1
000043c4: DUP14
000043c5: AND
000043c6: DUP3
000043c7: MSTORE
000043c8: DUP1
000043c9: DUP13
000043ca: AND
000043cb: PUSH1 0x20
000043cd: DUP4
000043ce: ADD
000043cf: MSTORE
000043d0: DUP2
000043d1: DUP4
000043d2: ADD
000043d3: DUP12
000043d4: SWAP1
000043d5: MSTORE
000043d6: DUP10
000043d7: AND
000043d8: PUSH1 0x60
000043da: DUP3
000043db: ADD
000043dc: MSTORE
000043dd: PUSH1 0x80
000043df: DUP2
000043e0: ADD
000043e1: DUP6
000043e2: SWAP1
000043e3: MSTORE
000043e4: SWAP1
000043e5: MLOAD
000043e6: PUSH32 0x298637f684da70674f26509b10f07ec2fbc77a335ab1e7d6215a4b2484d8bb52
00004407: SWAP2
00004408: DUP2
00004409: SWAP1
0000440a: SUB
0000440b: PUSH1 0xa0
0000440d: ADD
0000440e: SWAP1
0000440f: LOG1
00004410: PUSH1 0x06
00004412: SLOAD
00004413: PUSH1 0x40
00004415: DUP1
00004416: MLOAD
00004417: PUSH1 0x01
00004419: PUSH1 0xe0
0000441b: SHL
0000441c: PUSH4 0x47ef3b3b
00004421: MUL
00004422: DUP2
00004423: MSTORE
00004424: ADDRESS
00004425: PUSH1 0x04
00004427: DUP3
00004428: ADD
00004429: MSTORE
0000442a: PUSH1 0x01
0000442c: PUSH1 0x01
0000442e: PUSH1 0xa0
00004430: SHL
00004431: SUB
00004432: DUP11
00004433: DUP2
00004434: AND
00004435: PUSH1 0x24
00004437: DUP4
00004438: ADD
00004439: MSTORE
0000443a: DUP14
0000443b: DUP2
0000443c: AND
0000443d: PUSH1 0x44
0000443f: DUP4
00004440: ADD
00004441: MSTORE
00004442: DUP13
00004443: DUP2
00004444: AND
00004445: PUSH1 0x64
00004447: DUP4
00004448: ADD
00004449: MSTORE
0000444a: PUSH1 0x84
0000444c: DUP3
0000444d: ADD
0000444e: DUP13
0000444f: SWAP1
00004450: MSTORE
00004451: PUSH1 0xa4
00004453: DUP3
00004454: ADD
00004455: DUP8
00004456: SWAP1
00004457: MSTORE
00004458: SWAP2
00004459: MLOAD
0000445a: SWAP2
0000445b: SWAP1
0000445c: SWAP3
0000445d: AND
0000445e: SWAP2
0000445f: PUSH4 0x47ef3b3b
00004464: SWAP2
00004465: PUSH1 0xc4
00004467: DUP1
00004468: DUP4
00004469: ADD
0000446a: SWAP3
0000446b: PUSH1 0x00
0000446d: SWAP3
0000446e: SWAP2
0000446f: SWAP1
00004470: DUP3
00004471: SWAP1
00004472: SUB
00004473: ADD
00004474: DUP2
00004475: DUP4
00004476: DUP8
00004477: DUP1
00004478: EXTCODESIZE
00004479: ISZERO
0000447a: DUP1
0000447b: ISZERO
0000447c: PUSH2 0x4484
0000447f: JUMPI
00004480: PUSH1 0x00
00004482: DUP1
00004483: REVERT
00004484: JUMPDEST
00004485: POP
00004486: GAS
00004487: CALL
00004488: ISZERO
00004489: DUP1
0000448a: ISZERO
0000448b: PUSH2 0x4498
0000448e: JUMPI
0000448f: RETURNDATASIZE
00004490: PUSH1 0x00
00004492: DUP1
00004493: RETURNDATACOPY
00004494: RETURNDATASIZE
00004495: PUSH1 0x00
00004497: REVERT
00004498: JUMPDEST
00004499: POP
0000449a: PUSH1 0x00
0000449c: SWAP3
0000449d: POP
0000449e: PUSH2 0x44a5
000044a1: SWAP2
000044a2: POP
000044a3: POP
000044a4: JUMP
000044a5: JUMPDEST
000044a6: SWAP11
000044a7: SWAP10
000044a8: POP
000044a9: POP
000044aa: POP
000044ab: POP
000044ac: POP
000044ad: POP
000044ae: POP
000044af: POP
000044b0: POP
000044b1: POP
000044b2: JUMP
000044b3: JUMPDEST
000044b4: PUSH1 0x12
000044b6: SLOAD
000044b7: PUSH1 0x40
000044b9: DUP1
000044ba: MLOAD
000044bb: PUSH1 0x01
000044bd: PUSH1 0xe1
000044bf: SHL
000044c0: PUSH4 0x6eb1769f
000044c5: MUL
000044c6: DUP2
000044c7: MSTORE
000044c8: PUSH1 0x01
000044ca: PUSH1 0x01
000044cc: PUSH1 0xa0
000044ce: SHL
000044cf: SUB
000044d0: DUP6
000044d1: DUP2
000044d2: AND
000044d3: PUSH1 0x04
000044d5: DUP4
000044d6: ADD
000044d7: MSTORE
000044d8: ADDRESS
000044d9: PUSH1 0x24
000044db: DUP4
000044dc: ADD
000044dd: MSTORE
000044de: SWAP2
000044df: MLOAD
000044e0: PUSH1 0x00
000044e2: SWAP4
000044e3: SWAP3
000044e4: SWAP1
000044e5: SWAP3
000044e6: AND
000044e7: SWAP2
000044e8: DUP5
000044e9: SWAP2
000044ea: DUP4
000044eb: SWAP2
000044ec: PUSH4 0xdd62ed3e
000044f1: SWAP2
000044f2: PUSH1 0x44
000044f4: DUP1
000044f5: DUP3
000044f6: ADD
000044f7: SWAP3
000044f8: PUSH1 0x20
000044fa: SWAP3
000044fb: SWAP1
000044fc: SWAP2
000044fd: SWAP1
000044fe: DUP3
000044ff: SWAP1
00004500: SUB
00004501: ADD
00004502: DUP2
00004503: DUP7
00004504: DUP1
00004505: EXTCODESIZE
00004506: ISZERO
00004507: DUP1
00004508: ISZERO
00004509: PUSH2 0x4511
0000450c: JUMPI
0000450d: PUSH1 0x00
0000450f: DUP1
00004510: REVERT
00004511: JUMPDEST
00004512: POP
00004513: GAS
00004514: STATICCALL
00004515: ISZERO
00004516: DUP1
00004517: ISZERO
00004518: PUSH2 0x4525
0000451b: JUMPI
0000451c: RETURNDATASIZE
0000451d: PUSH1 0x00
0000451f: DUP1
00004520: RETURNDATACOPY
00004521: RETURNDATASIZE
00004522: PUSH1 0x00
00004524: REVERT
00004525: JUMPDEST
00004526: POP
00004527: POP
00004528: POP
00004529: POP
0000452a: PUSH1 0x40
0000452c: MLOAD
0000452d: RETURNDATASIZE
0000452e: PUSH1 0x20
00004530: DUP2
00004531: LT
00004532: ISZERO
00004533: PUSH2 0x453b
00004536: JUMPI
00004537: PUSH1 0x00
00004539: DUP1
0000453a: REVERT
0000453b: JUMPDEST
0000453c: POP
0000453d: MLOAD
0000453e: LT
0000453f: ISZERO
00004540: PUSH2 0x454d
00004543: JUMPI
00004544: PUSH1 0x0c
00004546: SWAP2
00004547: POP
00004548: POP
00004549: PUSH2 0x086f
0000454c: JUMP
0000454d: JUMPDEST
0000454e: DUP3
0000454f: DUP2
00004550: PUSH1 0x01
00004552: PUSH1 0x01
00004554: PUSH1 0xa0
00004556: SHL
00004557: SUB
00004558: AND
00004559: PUSH4 0x70a08231
0000455e: DUP7
0000455f: PUSH1 0x40
00004561: MLOAD
00004562: DUP3
00004563: PUSH4 0xffffffff
00004568: AND
00004569: PUSH1 0xe0
0000456b: SHL
0000456c: DUP2
0000456d: MSTORE
0000456e: PUSH1 0x04
00004570: ADD
00004571: DUP1
00004572: DUP3
00004573: PUSH1 0x01
00004575: PUSH1 0x01
00004577: PUSH1 0xa0
00004579: SHL
0000457a: SUB
0000457b: AND
0000457c: PUSH1 0x01
0000457e: PUSH1 0x01
00004580: PUSH1 0xa0
00004582: SHL
00004583: SUB
00004584: AND
00004585: DUP2
00004586: MSTORE
00004587: PUSH1 0x20
00004589: ADD
0000458a: SWAP2
0000458b: POP
0000458c: POP
0000458d: PUSH1 0x20
0000458f: PUSH1 0x40
00004591: MLOAD
00004592: DUP1
00004593: DUP4
00004594: SUB
00004595: DUP2
00004596: DUP7
00004597: DUP1
00004598: EXTCODESIZE
00004599: ISZERO
0000459a: DUP1
0000459b: ISZERO
0000459c: PUSH2 0x45a4
0000459f: JUMPI
000045a0: PUSH1 0x00
000045a2: DUP1
000045a3: REVERT
000045a4: JUMPDEST
000045a5: POP
000045a6: GAS
000045a7: STATICCALL
000045a8: ISZERO
000045a9: DUP1
000045aa: ISZERO
000045ab: PUSH2 0x45b8
000045ae: JUMPI
000045af: RETURNDATASIZE
000045b0: PUSH1 0x00
000045b2: DUP1
000045b3: RETURNDATACOPY
000045b4: RETURNDATASIZE
000045b5: PUSH1 0x00
000045b7: REVERT
000045b8: JUMPDEST
000045b9: POP
000045ba: POP
000045bb: POP
000045bc: POP
000045bd: PUSH1 0x40
000045bf: MLOAD
000045c0: RETURNDATASIZE
000045c1: PUSH1 0x20
000045c3: DUP2
000045c4: LT
000045c5: ISZERO
000045c6: PUSH2 0x45ce
000045c9: JUMPI
000045ca: PUSH1 0x00
000045cc: DUP1
000045cd: REVERT
000045ce: JUMPDEST
000045cf: POP
000045d0: MLOAD
000045d1: LT
000045d2: ISZERO
000045d3: PUSH2 0x45e0
000045d6: JUMPI
000045d7: PUSH1 0x0d
000045d9: SWAP2
000045da: POP
000045db: POP
000045dc: PUSH2 0x086f
000045df: JUMP
000045e0: JUMPDEST
000045e1: POP
000045e2: PUSH1 0x00
000045e4: SWAP4
000045e5: SWAP3
000045e6: POP
000045e7: POP
000045e8: POP
000045e9: JUMP
000045ea: JUMPDEST
000045eb: PUSH1 0x12
000045ed: SLOAD
000045ee: PUSH1 0x40
000045f0: DUP1
000045f1: MLOAD
000045f2: PUSH1 0x01
000045f4: PUSH1 0xe0
000045f6: SHL
000045f7: PUSH4 0x23b872dd
000045fc: MUL
000045fd: DUP2
000045fe: MSTORE
000045ff: PUSH1 0x01
00004601: PUSH1 0x01
00004603: PUSH1 0xa0
00004605: SHL
00004606: SUB
00004607: DUP6
00004608: DUP2
00004609: AND
0000460a: PUSH1 0x04
0000460c: DUP4
0000460d: ADD
0000460e: MSTORE
0000460f: ADDRESS
00004610: PUSH1 0x24
00004612: DUP4
00004613: ADD
00004614: MSTORE
00004615: PUSH1 0x44
00004617: DUP3
00004618: ADD
00004619: DUP6
0000461a: SWAP1
0000461b: MSTORE
0000461c: SWAP2
0000461d: MLOAD
0000461e: PUSH1 0x00
00004620: SWAP4
00004621: SWAP3
00004622: SWAP1
00004623: SWAP3
00004624: AND
00004625: SWAP2
00004626: DUP4
00004627: SWAP2
00004628: DUP4
00004629: SWAP2
0000462a: PUSH4 0x23b872dd
0000462f: SWAP2
00004630: PUSH1 0x64
00004632: DUP1
00004633: DUP3
00004634: ADD
00004635: SWAP3
00004636: DUP7
00004637: SWAP3
00004638: SWAP1
00004639: SWAP2
0000463a: SWAP1
0000463b: DUP3
0000463c: SWAP1
0000463d: SUB
0000463e: ADD
0000463f: DUP2
00004640: DUP4
00004641: DUP8
00004642: DUP1
00004643: EXTCODESIZE
00004644: ISZERO
00004645: DUP1
00004646: ISZERO
00004647: PUSH2 0x464f
0000464a: JUMPI
0000464b: PUSH1 0x00
0000464d: DUP1
0000464e: REVERT
0000464f: JUMPDEST
00004650: POP
00004651: GAS
00004652: CALL
00004653: ISZERO
00004654: DUP1
00004655: ISZERO
00004656: PUSH2 0x4663
00004659: JUMPI
0000465a: RETURNDATASIZE
0000465b: PUSH1 0x00
0000465d: DUP1
0000465e: RETURNDATACOPY
0000465f: RETURNDATASIZE
00004660: PUSH1 0x00
00004662: REVERT
00004663: JUMPDEST
00004664: POP
00004665: POP
00004666: POP
00004667: POP
00004668: RETURNDATASIZE
00004669: PUSH1 0x00
0000466b: DUP2
0000466c: EQ
0000466d: PUSH2 0x467d
00004670: JUMPI
00004671: PUSH1 0x20
00004673: DUP2
00004674: EQ
00004675: PUSH2 0x4687
00004678: JUMPI
00004679: PUSH1 0x00
0000467b: DUP1
0000467c: REVERT
0000467d: JUMPDEST
0000467e: PUSH1 0x00
00004680: NOT
00004681: SWAP2
00004682: POP
00004683: PUSH2 0x4693
00004686: JUMP
00004687: JUMPDEST
00004688: PUSH1 0x20
0000468a: PUSH1 0x00
0000468c: DUP1
0000468d: RETURNDATACOPY
0000468e: PUSH1 0x00
00004690: MLOAD
00004691: SWAP2
00004692: POP
00004693: JUMPDEST
00004694: POP
00004695: DUP1
00004696: PUSH2 0x318f
00004699: JUMPI
0000469a: PUSH1 0x0f
0000469c: SWAP3
0000469d: POP
0000469e: POP
0000469f: POP
000046a0: PUSH2 0x086f
000046a3: JUMP
000046a4: JUMPDEST
000046a5: PUSH1 0x00
000046a7: DUP1
000046a8: PUSH1 0x00
000046aa: PUSH2 0x46b1
000046ad: PUSH2 0x46bb
000046b0: JUMP
000046b1: JUMPDEST
000046b2: PUSH2 0x21bd
000046b5: DUP7
000046b6: DUP7
000046b7: PUSH2 0x270a
000046ba: JUMP
000046bb: JUMPDEST
000046bc: PUSH1 0x40
000046be: MLOAD
000046bf: DUP1
000046c0: PUSH1 0x20
000046c2: ADD
000046c3: PUSH1 0x40
000046c5: MSTORE
000046c6: DUP1
000046c7: PUSH1 0x00
000046c9: DUP2
000046ca: MSTORE
000046cb: POP
000046cc: SWAP1
000046cd: JUMP
000046ce: JUMPDEST
000046cf: PUSH1 0x40
000046d1: DUP1
000046d2: MLOAD
000046d3: PUSH2 0x0140
000046d6: DUP2
000046d7: ADD
000046d8: SWAP1
000046d9: SWAP2
000046da: MSTORE
000046db: DUP1
000046dc: PUSH1 0x00
000046de: DUP2
000046df: MSTORE
000046e0: PUSH1 0x20
000046e2: ADD
000046e3: PUSH1 0x00
000046e5: DUP2
000046e6: MSTORE
000046e7: PUSH1 0x20
000046e9: ADD
000046ea: PUSH1 0x00
000046ec: DUP2
000046ed: MSTORE
000046ee: PUSH1 0x20
000046f0: ADD
000046f1: PUSH1 0x00
000046f3: DUP2
000046f4: MSTORE
000046f5: PUSH1 0x20
000046f7: ADD
000046f8: PUSH1 0x00
000046fa: DUP2
000046fb: MSTORE
000046fc: PUSH1 0x20
000046fe: ADD
000046ff: PUSH2 0x4706
00004702: PUSH2 0x46bb
00004705: JUMP
00004706: JUMPDEST
00004707: DUP2
00004708: MSTORE
00004709: PUSH1 0x20
0000470b: ADD
0000470c: PUSH1 0x00
0000470e: DUP2
0000470f: MSTORE
00004710: PUSH1 0x20
00004712: ADD
00004713: PUSH1 0x00
00004715: DUP2
00004716: MSTORE
00004717: PUSH1 0x20
00004719: ADD
0000471a: PUSH1 0x00
0000471c: DUP2
0000471d: MSTORE
0000471e: PUSH1 0x20
00004720: ADD
00004721: PUSH1 0x00
00004723: DUP2
00004724: MSTORE
00004725: POP
00004726: SWAP1
00004727: JUMP
00004728: JUMPDEST
00004729: PUSH1 0x40
0000472b: DUP1
0000472c: MLOAD
0000472d: PUSH1 0xe0
0000472f: DUP2
00004730: ADD
00004731: SWAP1
00004732: SWAP2
00004733: MSTORE
00004734: DUP1
00004735: PUSH1 0x00
00004737: DUP2
00004738: MSTORE
00004739: PUSH1 0x20
0000473b: ADD
0000473c: PUSH1 0x00
0000473e: DUP2
0000473f: MSTORE
00004740: PUSH1 0x20
00004742: ADD
00004743: PUSH1 0x00
00004745: DUP2
00004746: MSTORE
00004747: PUSH1 0x20
00004749: ADD
0000474a: PUSH1 0x00
0000474c: DUP2
0000474d: MSTORE
0000474e: PUSH1 0x20
00004750: ADD
00004751: PUSH1 0x00
00004753: DUP2
00004754: MSTORE
00004755: PUSH1 0x20
00004757: ADD
00004758: PUSH1 0x00
0000475a: DUP2
0000475b: MSTORE
0000475c: PUSH1 0x20
0000475e: ADD
0000475f: PUSH1 0x00
00004761: DUP2
00004762: MSTORE
00004763: POP
00004764: SWAP1
00004765: JUMP
00004766: JUMPDEST
00004767: PUSH1 0x40
00004769: DUP1
0000476a: MLOAD
0000476b: PUSH1 0xc0
0000476d: DUP2
0000476e: ADD
0000476f: SWAP1
00004770: SWAP2
00004771: MSTORE
00004772: DUP1
00004773: PUSH1 0x00
00004775: DUP2
00004776: MSTORE
00004777: PUSH1 0x20
00004779: ADD
0000477a: PUSH1 0x00
0000477c: PUSH2 0x4706
0000477f: JUMP
00004780: JUMPDEST
00004781: PUSH1 0x40
00004783: DUP1
00004784: MLOAD
00004785: PUSH1 0xa0
00004787: DUP2
00004788: ADD
00004789: SWAP1
0000478a: SWAP2
0000478b: MSTORE
0000478c: DUP1
0000478d: PUSH1 0x00
0000478f: DUP2
00004790: MSTORE
00004791: PUSH1 0x20
00004793: ADD
00004794: PUSH1 0x00
00004796: DUP2
00004797: MSTORE
00004798: PUSH1 0x20
0000479a: ADD
0000479b: PUSH1 0x00
0000479d: DUP2
0000479e: MSTORE
0000479f: PUSH1 0x20
000047a1: ADD
000047a2: PUSH1 0x00
000047a4: DUP2
000047a5: MSTORE
000047a6: PUSH1 0x20
000047a8: ADD
000047a9: PUSH1 0x00
000047ab: DUP2
000047ac: MSTORE
000047ad: POP
000047ae: SWAP1
000047af: JUMP
000047b0: INVALID
000047b1: PUSH20 0x7570706c7952617465506572426c6f636b3a2063
000047c6: PUSH2 0x6c63
000047c9: PUSH22 0x6c6174696e6720626f72726f7773506572206661696c
000047e0: PUSH6 0x647265647563
000047e7: PUSH6 0x207265736572
000047ee: PUSH23 0x6573207472616e73666572206f7574206661696c656473
00004806: PUSH22 0x70706c7952617465506572426c6f636b3a2063616c63
0000481d: PUSH22 0x6c6174696e6720737570706c7952617465206661696c
00004834: PUSH6 0x64626f72726f
0000483b: PUSH24 0x42616c616e636553746f7265643a20626f72726f7742616c
00004854: PUSH2 0x6e63
00004857: PUSH6 0x53746f726564
0000485e: BLOBHASH
0000485f: PUSH15 0x7465726e616c206661696c65647375
0000486f: PUSH17 0x706c7952617465506572426c6f636b3a20
00004881: PUSH4 0x616c6375
00004886: PUSH13 0x6174696e6720756e6465726c79
00004894: PUSH10 0x6e67206661696c656462
0000489f: PUSH16 0x72726f7752617465506572426c6f636b
000048b0: GASPRICE
000048b1: KECCAK256
000048b2: PUSH10 0x6e746572657374526174
000048bd: PUSH6 0x4d6f64656c2e
000048c4: PUSH3 0x6f7272
000048c8: PUSH16 0x7752617465206661696c656473757070
000048d9: PUSH13 0x7952617465506572426c6f636b
000048e7: GASPRICE
000048e8: KECCAK256
000048e9: PUSH4 0x616c6375
000048ee: PUSH13 0x6174696e6720626f72726f7752
000048fc: PUSH2 0x7465
000048ff: KECCAK256
00004900: PUSH7 0x61696c6564ddf2
00004908: MSTORE
00004909: UNKNOWN(0xAD)
0000490a: SHL
0000490b: UNKNOWN(0xE2)
0000490c: UNKNOWN(0xC8)
0000490d: SWAP12
0000490e: PUSH10 0xc2b068fc378daa952ba7
00004919: CALL
0000491a: PUSH4 0xc4a11628
0000491f: CREATE2
00004920: GAS
00004921: UNKNOWN(0x4D)
00004922: CREATE2
00004923: UNKNOWN(0x23)
00004924: UNKNOWN(0xB3)
00004925: UNKNOWN(0xEF)
00004926: PUSH20 0x7570706c7952617465506572426c6f636b3a2063
0000493b: PUSH2 0x6c63
0000493e: PUSH22 0x6c6174696e67206f6e654d696e757352657365727665
00004955: CHAINID
00004956: PUSH2 0x6374
00004959: PUSH16 0x72206661696c656465786368616e6765
0000496a: MSTORE
0000496b: PUSH2 0x7465
0000496e: MSTORE8
0000496f: PUSH21 0x6f7265643a2065786368616e67655261746553746f
00004985: PUSH19 0x6564496e7465726e616c206661696c65646f6e
00004999: PUSH6 0x206f66207265
000049a0: PUSH5 0x65656d546f
000049a6: PUSH12 0x656e73496e206f7220726564
000049b3: PUSH6 0x656d416d6f75
000049ba: PUSH15 0x74496e206d757374206265207a6572
000049ca: PUSH16 0x72656475636520726573657276657320
000049db: PUSH22 0x6e657870656374656420756e646572666c6f77a16562
000049f2: PUSH27 0x7a723058209cbf3e7c28c685451fd0b1d99bcd020625f92225b6db
00004a0e: UNKNOWN(0xEB)
00004a0f: MSTORE
00004a10: UNKNOWN(0xB2)
00004a11: UNKNOWN(0xEC)
00004a12: GASPRICE
00004a13: UNKNOWN(0x0E)
00004a14: PUSH6

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x39ff986ae9919e38e09ab5b74f434bfa699224101c057aede66483f59ffa1787
call_targets: 0x0f69f08f872f366ad8edde03dae8812619a17536
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x39ff986ae9919e38e09ab5b74f434bfa699224101c057aede66483f59ffa1787",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0f69f08f872f366ad8edde03dae8812619a17536"
    ],
    "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": "0xf3fdb15a",
            "selector": "0xf3fdb15a",
            "calldata_variants": [
                "0xf3fdb15a",
                "0xf3fdb15a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5e3c462",
            "selector": "0xf5e3c462",
            "calldata_variants": [
                "0xf5e3c462",
                "0xf5e3c4620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf851a440",
            "selector": "0xf851a440",
            "calldata_variants": [
                "0xf851a440",
                "0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf8f9da28",
            "selector": "0xf8f9da28",
            "calldata_variants": [
                "0xf8f9da28",
                "0xf8f9da280000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfca7820b",
            "selector": "0xfca7820b",
            "calldata_variants": [
                "0xfca7820b",
                "0xfca7820b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfe9c44ae",
            "selector": "0xfe9c44ae",
            "calldata_variants": [
                "0xfe9c44ae",
                "0xfe9c44ae0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc37f68e2",
            "selector": "0xc37f68e2",
            "calldata_variants": [
                "0xc37f68e2",
                "0xc37f68e20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc5ebeaec",
            "selector": "0xc5ebeaec",
            "calldata_variants": [
                "0xc5ebeaec",
                "0xc5ebeaec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5709,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6177,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7789,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 17,
    "guards_detected": [],
    "untrusted_call_count": 16
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x39ff986ae9919e38e09ab5b74f434bfa699224101c057aede66483f59ffa1787
call_targets: 0x0f69f08f872f366ad8edde03dae8812619a17536
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x39ff986ae9919e38e09ab5b74f434bfa699224101c057aede66483f59ffa1787",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x0f69f08f872f366ad8edde03dae8812619a17536"
    ],
    "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": "0xf3fdb15a",
            "selector": "0xf3fdb15a",
            "calldata_variants": [
                "0xf3fdb15a",
                "0xf3fdb15a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5e3c462",
            "selector": "0xf5e3c462",
            "calldata_variants": [
                "0xf5e3c462",
                "0xf5e3c4620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf851a440",
            "selector": "0xf851a440",
            "calldata_variants": [
                "0xf851a440",
                "0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf8f9da28",
            "selector": "0xf8f9da28",
            "calldata_variants": [
                "0xf8f9da28",
                "0xf8f9da280000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfca7820b",
            "selector": "0xfca7820b",
            "calldata_variants": [
                "0xfca7820b",
                "0xfca7820b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfe9c44ae",
            "selector": "0xfe9c44ae",
            "calldata_variants": [
                "0xfe9c44ae",
                "0xfe9c44ae0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc37f68e2",
            "selector": "0xc37f68e2",
            "calldata_variants": [
                "0xc37f68e2",
                "0xc37f68e20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc5ebeaec",
            "selector": "0xc5ebeaec",
            "calldata_variants": [
                "0xc5ebeaec",
                "0xc5ebeaec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5709,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 6177,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7789,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 17,
    "guards_detected": []
}
medium other codex Transfer-in accounting assumes full amounts received (fee-on-transfer tokens break invariants) 75 no
view
evidence_json
{
    "evidence": "`mintFresh` and `repayBorrowFresh` compute mint/repay amounts from user input and then call `doTransferIn`, which only checks the return value and not the actual received amount; no balance-delta accounting is performed.",
    "locations": [
        "contracts/Contract.sol:1501",
        "contracts/Contract.sol:1561",
        "contracts/Contract.sol:1871",
        "contracts/Contract.sol:1933",
        "contracts/Contract.sol:2531"
    ],
    "recommendation": "Use balance-delta accounting for transfer-ins (track token balance before/after and use the actual received amount for minting and debt reduction). Alternatively, explicitly block fee-on-transfer/deflationary tokens via whitelisting and enforce standard ERC20 behavior.",
    "exploit_scenario": "If the underlying token charges a transfer fee or is deflationary, `doTransferIn` can succeed even when the contract receives fewer tokens than `mintAmount`/`repayAmount`. A borrower can have their debt reduced by the nominal amount while the protocol receives less, creating a shortfall. If the fee is routed to an attacker-controlled address, they can effectively underpay while capturing the fee, leading to protocol losses and potential insolvency over time."
}
medium other detector CREATE/CREATE2 reachable 45 no no
view
trace_id: 0x84dffced823a505203b2daf8ae344450f324437d3296eba93a51e297ecd1b11f
validation_json
{
    "sink": "CREATE",
    "errors": 0,
    "status": "unknown",
    "attempts": 32,
    "trace_id": "0x84dffced823a505203b2daf8ae344450f324437d3296eba93a51e297ecd1b11f",
    "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": "0xf3fdb15a",
            "selector": "0xf3fdb15a",
            "calldata_variants": [
                "0xf3fdb15a",
                "0xf3fdb15a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf5e3c462",
            "selector": "0xf5e3c462",
            "calldata_variants": [
                "0xf5e3c462",
                "0xf5e3c4620000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf851a440",
            "selector": "0xf851a440",
            "calldata_variants": [
                "0xf851a440",
                "0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf8f9da28",
            "selector": "0xf8f9da28",
            "calldata_variants": [
                "0xf8f9da28",
                "0xf8f9da280000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfca7820b",
            "selector": "0xfca7820b",
            "calldata_variants": [
                "0xfca7820b",
                "0xfca7820b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfe9c44ae",
            "selector": "0xfe9c44ae",
            "calldata_variants": [
                "0xfe9c44ae",
                "0xfe9c44ae0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc37f68e2",
            "selector": "0xc37f68e2",
            "calldata_variants": [
                "0xc37f68e2",
                "0xc37f68e20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xc5ebeaec",
            "selector": "0xc5ebeaec",
            "calldata_variants": [
                "0xc5ebeaec",
                "0xc5ebeaec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "create_count": 0,
    "create2_count": 2
}
low other cast Contract creation opcode present 60 no
view
evidence_json
{
    "notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
    "create_count": 0,
    "create2_count": 2
}
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": 28
}
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": 29
}