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

Analysis Run

0125e957-6d16-4951-9544-c9f5d3c64088

complete
Chain ID
1
Address
Block Number
Created
Fri, Jan 2, 2026 5:56 AM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31242 report.consolidate complete 1 / 1 3 months ago
104711 artifact.fetch complete 1 / 3 1 week ago
104712 tool.cast_disasm complete 1 / 3 1 week ago
104713 analysis.bundle complete 1 / 3 1 week ago
104714 capability.graph complete 1 / 3 1 week ago
104715 detector.run complete 1 / 3 1 week ago
104716 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
1
No findings?
no
Summary
Found 1 concrete signature replay vector enabling cross-contract order execution and fund extraction via replayed orders.
View stderr
[codex:416513] OpenAI Codex v0.77.0 (research preview)
[codex:416513] --------
[codex:416513] workdir: /tmp/codex-multi-e9ed7tak
[codex:416513] model: gpt-5.2-codex
[codex:416513] provider: openai
[codex:416513] approval: never
[codex:416513] sandbox: read-only
[codex:416513] reasoning effort: xhigh
[codex:416513] reasoning summaries: auto
[codex:416513] session id: 019b7d3c-b636-70c2-afa9-03003a3286f2
[codex:416513] --------
[codex:416513] user
[codex:416513] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:416513] 
[codex:416513] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:416513] 
[codex:416513] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:416513] - Gas inefficiency, code quality, naming, or best practices
[codex:416513] - Theoretical vulnerabilities without a clear extraction path
[codex:416513] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:416513] - Front-running unless it enables theft beyond MEV
[codex:416513] - DoS, griefing, or issues that don't result in attacker profit
[codex:416513] - Missing events, view function issues, or informational findings
[codex:416513] 
[codex:416513] HIGH-VALUE PATTERNS TO HUNT:
[codex:416513] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:416513] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:416513] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:416513] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:416513] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:416513] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:416513] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:416513] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:416513] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:416513] 
[codex:416513] For each finding, you MUST provide:
[codex:416513] 1. Exact file and line numbers of vulnerable code
[codex:416513] 2. Step-by-step exploit transaction sequence
[codex:416513] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:416513] 
[codex:416513] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:416513] 
[codex:416513] Output MUST be valid JSON matching the provided schema.
[codex:416513] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:416513] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:416513] mcp startup: no servers
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Preparing to read AUDIT_BUNDLE.txt**
[codex:416513] exec
[codex:416513] /bin/bash -lc ls in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513] AUDIT_BUNDLE.txt
[codex:416513] codex-output-schema.json
[codex:416513] contracts
[codex:416513] exec
[codex:416513] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-e9ed7tak succeeded in 5ms:
[codex:416513] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:416513] 
[codex:416513] ================================================================================
[codex:416513] FILE: contracts/Contract.sol
[codex:416513] ================================================================================
[codex:416513] /*
[codex:416513] 
[codex:416513]     Copyright 2019 The Hydro Protocol Foundation
[codex:416513] 
[codex:416513]     Licensed under the Apache License, Version 2.0 (the "License");
[codex:416513]     you may not use this file except in compliance with the License.
[codex:416513]     You may obtain a copy of the License at
[codex:416513] 
[codex:416513]         http://www.apache.org/licenses/LICENSE-2.0
[codex:416513] 
[codex:416513]     Unless required by applicable law or agreed to in writing, software
[codex:416513]     distributed under the License is distributed on an "AS IS" BASIS,
[codex:416513]     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:416513]     See the License for the specific language governing permissions and
[codex:416513]     limitations under the License.
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing large audit bundle for exploits**
[codex:416513] exec
[codex:416513] /bin/bash -lc 'rg -n "initialize|init|owner|admin|upgrade|delegate|withdraw|transferOut|transferIn|call" AUDIT_BUNDLE.txt' in /tmp/codex-multi-e9ed7tak succeeded in 8ms:
[codex:416513] 53:        Types.Signature calldata signature
[codex:416513] 271:    function approveDelegate(address delegate)
[codex:416513] 274:        Relayer.approveDelegate(state, delegate);
[codex:416513] 277:    function revokeDelegate(address delegate)
[codex:416513] 280:        Relayer.revokeDelegate(state, delegate);
[codex:416513] 372:        Types.Order calldata order
[codex:416513] 439:        Requires.requireDecimalGreaterThanOne(market.withdrawRate);
[codex:416513] 440:        require(market.withdrawRate > market.liquidateRate, "WITHDARW_RATE_LESS_OR_EQUAL_THAN_LIQUIDATE_RATE");
[codex:416513] 466:        state.markets[marketID].withdrawRate = newWithdrawRate;
[codex:416513] 502:        string calldata poolTokenName,
[codex:416513] 503:        string calldata poolTokenSymbol,
[codex:416513] 511:        LendingPool.initializeAssetLendingPool(state, asset);
[codex:416513] 571:        state.auction.initiatorRewardRatio = newInitiatorRewardRatio;
[codex:416513] 705:     * separately as an Types.OrderAddressSet to reduce call size data and save gas.
[codex:416513] 755:     * this function may be called to block it from ever matching at the contract level.
[codex:416513] 1005:     * HOT token ownership.
[codex:416513] 1173:        address delegate
[codex:416513] 1177:        state.relayer.relayerDelegates[msg.sender][delegate] = true;
[codex:416513] 1178:        Events.logRelayerApproveDelegate(msg.sender, delegate);
[codex:416513] 1182:     * Revoke an existing delegate
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing potential reentrancy vulnerabilities**
[codex:416513] 
[codex:416513] I'm focusing on the withdraw and transfer logic in this older Solidity contract to find exploitable profit paths. The sequence of external token transfers happening before state updates raises red flags about possible reentrancy attacks, especially if the token is malicious. I'm also checking if withdraw is exposed to users and how batch actions might factor in. Let's dig into the withdrawal and batch action sections for more clues.
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '1600,1780p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513]         details.borrower = auction.borrower;
[codex:416513]         details.marketID = auction.marketID;
[codex:416513]         details.debtAsset = auction.debtAsset;
[codex:416513]         details.collateralAsset = auction.collateralAsset;
[codex:416513] 
[codex:416513]         if (state.auction.auctions[auctionID].status == Types.AuctionStatus.Finished){
[codex:416513]             details.finished = true;
[codex:416513]         } else {
[codex:416513]             details.finished = false;
[codex:416513]             details.leftDebtAmount = LendingPool.getAmountBorrowed(
[codex:416513]                 state,
[codex:416513]                 auction.debtAsset,
[codex:416513]                 auction.borrower,
[codex:416513]                 auction.marketID
[codex:416513]             );
[codex:416513]             details.leftCollateralAmount = state.accounts[auction.borrower][auction.marketID].balances[auction.collateralAsset];
[codex:416513] 
[codex:416513]             details.ratio = auction.ratio(state);
[codex:416513] 
[codex:416513]             if (details.leftCollateralAmount != 0 && details.ratio != 0) {
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '1780,2100p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513]             toBalancePath,
[codex:416513]             amount
[codex:416513]         );
[codex:416513] 
[codex:416513]         if (toBalancePath.category == Types.BalanceCategory.CollateralAccount) {
[codex:416513]             Events.logIncreaseCollateral(msg.sender, toBalancePath.marketID, asset, amount);
[codex:416513]         }
[codex:416513]         if (fromBalancePath.category == Types.BalanceCategory.CollateralAccount) {
[codex:416513]             Events.logDecreaseCollateral(msg.sender, fromBalancePath.marketID, asset, amount);
[codex:416513]         }
[codex:416513]     }
[codex:416513] 
[codex:416513]     function borrow(
[codex:416513]         Store.State storage state,
[codex:416513]         Action memory action
[codex:416513]     )
[codex:416513]         private
[codex:416513]     {
[codex:416513]         (
[codex:416513]             uint16 marketID,
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '2100,2400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513]         Store.State storage state,
[codex:416513]         address user,
[codex:416513]         uint16 marketID,
[codex:416513]         address asset,
[codex:416513]         uint256 amount
[codex:416513]     )
[codex:416513]         internal
[codex:416513]     {
[codex:416513]         // update value of index at this moment in time
[codex:416513]         updateIndex(state, asset);
[codex:416513] 
[codex:416513]         // compute the normalized value of 'amount'
[codex:416513]         uint256 normalizedAmount = Decimal.divCeil(amount, state.pool.borrowIndex[asset]);
[codex:416513] 
[codex:416513]         // transfer assets to user's balance account
[codex:416513]         Transfer.transferIn(state, asset, BalancePath.getMarketPath(user, marketID), amount);
[codex:416513]         Requires.requireCashLessThanOrEqualContractBalance(state, asset);
[codex:416513] 
[codex:416513]         // update normalized amount borrowed by user
[codex:416513]         state.pool.normalizedBorrow[user][marketID][asset] = state.pool.normalizedBorrow[user][marketID][asset].add(normalizedAmount);
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing reentrancy risks in withdraw flow**
[codex:416513] exec
[codex:416513] /bin/bash -lc 'rg -n "Operations|owner|onlyOwner|operator|admin|governance|Auth|Authority|requireOwner|onlyOperator" AUDIT_BUNDLE.txt' in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513] 426:library OperationsComponent {
[codex:416513] 871:     * sign of the comparison operator.
[codex:416513] 1005:     * HOT token ownership.
[codex:416513] 2474:    event Approval(address indexed owner, address indexed spender, uint256 amount);
[codex:416513] 2499:    * @param owner The address to query the the balance of.
[codex:416513] 2502:    function balanceOf(address owner) public view returns (uint256 balance) {
[codex:416513] 2503:        return balances[owner];
[codex:416513] 2549:    * @dev Function to check the amount of tokens that an owner allowed to a spender.
[codex:416513] 2550:    * @param owner address The address which owns the funds.
[codex:416513] 2555:        address owner,
[codex:416513] 2562:        return allowed[owner][spender];
[codex:416513] 2620:        address _owner)
[codex:416513] 2641:        address _owner,
[codex:416513] 2680:     * @param owner The address to check.
[codex:416513] 2681:     * @return The HOT balance for the owner address.
[codex:416513] 2685:        address owner
[codex:416513] 2692:        // return HydroToken(hotToken).balanceOf(owner);
[codex:416513] 2700:            bytes32(uint256(uint160(owner)))
[codex:416513] 3476:    address private _owner;
[codex:416513] 3483:    /** @dev The Ownable constructor sets the original `owner` of the contract to the sender account. */
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing reentrancy risks with ERC777 tokens**
[codex:416513] exec
[codex:416513] /bin/bash -lc 'rg -n "EIP712|domain|hashMessage" AUDIT_BUNDLE.txt' in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513] 2867:library EIP712 {
[codex:416513] 2871:     * Hash of the EIP712 Domain Separator Schema
[codex:416513] 2873:    bytes32 private constant EIP712_DOMAIN_TYPEHASH = keccak256(
[codex:416513] 2874:        abi.encodePacked("EIP712Domain(string name)")
[codex:416513] 2879:            EIP712_DOMAIN_TYPEHASH,
[codex:416513] 2885:     * Calculates EIP712 encoding for a hash struct in this EIP712 Domain.
[codex:416513] 2887:     * @param eip712hash The EIP712 hash struct.
[codex:416513] 2888:     * @return EIP712 hash applied to this EIP712 Domain.
[codex:416513] 2890:    function hashMessage(
[codex:416513] 4255:        EIP712
[codex:416513] 4264:     * @param hash Hash bytes calculated by taking the EIP712 hash of the passed order data
[codex:416513] 4289:        } else if (method == uint8(SignatureMethod.EIP712)) {
[codex:416513] 4824:    bytes32 public constant EIP712_ORDER_TYPE = keccak256(
[codex:416513] 4831:     * Calculates the Keccak-256 EIP712 hash of the order using the Hydro Protocol domain.
[codex:416513] 4834:     * @return Fully qualified EIP712 hash of the order in the Hydro Protocol domain.
[codex:416513] 4843:        orderHash = EIP712.hashMessage(_hashContent(order));
[codex:416513] 4848:     * Calculates the EIP712 hash of the order.
[codex:416513] 4865:         *         EIP712_ORDER_TYPE,
[codex:416513] 4878:        bytes32 orderType = EIP712_ORDER_TYPE;
[codex:416513] 4886:            // [0...32)   bytes: EIP712_ORDER_TYPE
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '2860,2915p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 5ms:
[codex:416513]         pure
[codex:416513]         returns (uint256)
[codex:416513]     {
[codex:416513]         return target.mul(BASE).divCeil(d);
[codex:416513]     }
[codex:416513] }
[codex:416513] 
[codex:416513] library EIP712 {
[codex:416513]     string private constant DOMAIN_NAME = "Hydro Protocol";
[codex:416513] 
[codex:416513]     /**
[codex:416513]      * Hash of the EIP712 Domain Separator Schema
[codex:416513]      */
[codex:416513]     bytes32 private constant EIP712_DOMAIN_TYPEHASH = keccak256(
[codex:416513]         abi.encodePacked("EIP712Domain(string name)")
[codex:416513]     );
[codex:416513] 
[codex:416513]     bytes32 private constant DOMAIN_SEPARATOR = keccak256(
[codex:416513]         abi.encodePacked(
[codex:416513]             EIP712_DOMAIN_TYPEHASH,
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing signature replay and access controls**
[codex:416513] exec
[codex:416513] /bin/bash -lc 'rg -n "library Auctions|fillAuction|liquidate|auction" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513] 136:        count = state.auction.auctionsCount;
[codex:416513] 144:        return state.auction.currentAuctions;
[codex:416513] 147:    function getAuctionDetails(uint32 auctionID)
[codex:416513] 152:        Requires.requireAuctionExist(state, auctionID);
[codex:416513] 153:        details = Auctions.getAuctionDetails(state, auctionID);
[codex:416513] 156:    function fillAuctionWithAmount(
[codex:416513] 157:        uint32 auctionID,
[codex:416513] 162:        Requires.requireAuctionExist(state, auctionID);
[codex:416513] 163:        Requires.requireAuctionNotFinished(state, auctionID);
[codex:416513] 164:        Auctions.fillAuctionWithAmount(state, auctionID, amount);
[codex:416513] 167:    function liquidateAccount(
[codex:416513] 172:        returns (bool hasAuction, uint32 auctionID)
[codex:416513] 175:        (hasAuction, auctionID) = Auctions.liquidate(state, user, marketID);
[codex:416513] 436:        Requires.requireDecimalLessOrEquanThanOne(market.auctionRatioStart);
[codex:416513] 437:        Requires.requireDecimalLessOrEquanThanOne(market.auctionRatioPerBlock);
[codex:416513] 438:        Requires.requireDecimalGreaterThanOne(market.liquidateRate);
[codex:416513] 440:        require(market.withdrawRate > market.liquidateRate, "WITHDARW_RATE_LESS_OR_EQUAL_THAN_LIQUIDATE_RATE");
[codex:416513] 463:        state.markets[marketID].auctionRatioStart = newAuctionRatioStart;
[codex:416513] 464:        state.markets[marketID].auctionRatioPerBlock = newAuctionRatioPerBlock;
[codex:416513] 465:        state.markets[marketID].liquidateRate = newLiquidateRate;
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '1240,1525p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513]     )
[codex:416513]         internal
[codex:416513]         view
[codex:416513]         returns(bool)
[codex:416513]     {
[codex:416513]         return !state.relayer.hasExited[relayer];
[codex:416513]     }
[codex:416513] }
[codex:416513] 
[codex:416513] library Auctions {
[codex:416513]     using SafeMath for uint256;
[codex:416513]     using SafeMath for int256;
[codex:416513]     using Auction for Types.Auction;
[codex:416513] 
[codex:416513]     /**
[codex:416513]      * Liquidate a collateral account
[codex:416513]      */
[codex:416513]     function liquidate(
[codex:416513]         Store.State storage state,
[codex:416513]         address user,
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '1525,1650p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 5ms:
[codex:416513] 
[codex:416513]         if (leftDebtAmount == 0) {
[codex:416513]             endAuction(state, auction);
[codex:416513]         }
[codex:416513]     }
[codex:416513] 
[codex:416513]     /**
[codex:416513]      * Mark an auction as finished.
[codex:416513]      * An auction typically ends either when it becomes fully filled, or when it expires and is closed
[codex:416513]      */
[codex:416513]     function endAuction(
[codex:416513]         Store.State storage state,
[codex:416513]         Types.Auction storage auction
[codex:416513]     )
[codex:416513]         private
[codex:416513]     {
[codex:416513]         auction.status = Types.AuctionStatus.Finished;
[codex:416513] 
[codex:416513]         state.accounts[auction.borrower][auction.marketID].status = Types.CollateralAccountStatus.Normal;
[codex:416513] 
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing auction repayment mechanics**
[codex:416513] exec
[codex:416513] /bin/bash -lc "rg -n \"state\\.balances\\[\" AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 7ms:
[codex:416513] 1380:        state.balances[msg.sender][auction.debtAsset] = SafeMath.sub(
[codex:416513] 1381:            state.balances[msg.sender][auction.debtAsset],
[codex:416513] 1398:        state.balances[msg.sender][auction.collateralAsset] = SafeMath.add(
[codex:416513] 1399:            state.balances[msg.sender][auction.collateralAsset],
[codex:416513] 1404:        state.balances[auction.initiator][auction.collateralAsset] = SafeMath.add(
[codex:416513] 1405:            state.balances[auction.initiator][auction.collateralAsset],
[codex:416513] 1410:        state.balances[auction.borrower][auction.collateralAsset] = SafeMath.add(
[codex:416513] 1411:            state.balances[auction.borrower][auction.collateralAsset],
[codex:416513] 1472:        state.balances[msg.sender][auction.debtAsset] = SafeMath.sub(
[codex:416513] 1473:            state.balances[msg.sender][auction.debtAsset],
[codex:416513] 1486:        state.balances[msg.sender][auction.collateralAsset] = SafeMath.add(
[codex:416513] 1487:            state.balances[msg.sender][auction.collateralAsset],
[codex:416513] 4482:        require(state.balances[user][asset] >= amount, "BALANCE_NOT_ENOUGH");
[codex:416513] 4786:            return state.balances[path.user];
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing auction balance and state.cash interactions**
[codex:416513] 
[codex:416513] I'm untangling how auctions shift internal balances without always updating state.cash, looking especially at how repayments affect liabilities and whether inconsistencies or subtle discrepancies arise between total balances and state.cash. This deep dive highlights complex token flow and potential edge cases with repayment amounts, leftover balances, and how they relate to overall accounting invariants.
[codex:416513] exec
[codex:416513] /bin/bash -lc 'rg -n "library Exchange|matchOrders|cancelOrder|fill" AUDIT_BUNDLE.txt' in /tmp/codex-multi-e9ed7tak succeeded in 8ms:
[codex:416513] 156:    function fillAuctionWithAmount(
[codex:416513] 164:        Auctions.fillAuctionWithAmount(state, auctionID, amount);
[codex:416513] 371:    function cancelOrder(
[codex:416513] 376:        Exchange.cancelOrder(state, order);
[codex:416513] 389:    function matchOrders(
[codex:416513] 394:        Exchange.matchOrders(state, params);
[codex:416513] 422:        amount = state.exchange.filled[orderHash];
[codex:416513] 684:library Exchange {
[codex:416513] 694:     * Generally the filledAmount is specified in base token units, however in the case of a market
[codex:416513] 695:     * buy order the filledAmount is specified in quote token units.
[codex:416513] 699:        uint256 filledAmount;
[codex:416513] 707:    function matchOrders(
[codex:416513] 741:            // Update amount filled for this maker order.
[codex:416513] 742:            state.exchange.filled[makerOrderInfo.orderHash] = makerOrderInfo.filledAmount;
[codex:416513] 745:        // Update amount filled for this taker order.
[codex:416513] 746:        state.exchange.filled[takerOrderInfo.orderHash] = takerOrderInfo.filledAmount;
[codex:416513] 761:    function cancelOrder(
[codex:416513] 777:     * fillable for any reason, or if the order signature is invalid.
[codex:416513] 781:     * @return An OrderInfo object containing the hash and current amount filled
[codex:416513] 796:        orderInfo.filledAmount = state.exchange.filled[orderInfo.orderHash];
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '660,980p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513]         uint256 bar;
[codex:416513] 
[codex:416513]         // HOT Token has 18 decimals
[codex:416513]         hotBalance = hotBalance.div(10**18);
[codex:416513] 
[codex:416513]         for (uint256 i = 0; i < count; i++) {
[codex:416513]             bar = uint256(uint32(bytes4(config << (2 + i * 5) * 8)));
[codex:416513] 
[codex:416513]             if (hotBalance < bar) {
[codex:416513]                 result = uint256(uint8(byte(config << (2 + i * 5 + 4) * 8)));
[codex:416513]                 break;
[codex:416513]             }
[codex:416513]         }
[codex:416513] 
[codex:416513]         // If we haven't found a rate in the config yet, use the maximum rate.
[codex:416513]         if (result == 0) {
[codex:416513]             result = uint256(uint8(config[1]));
[codex:416513]         }
[codex:416513] 
[codex:416513]         // Make sure our discount algorithm never returns a higher rate than the base.
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '980,1240p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513]         );
[codex:416513]     }
[codex:416513] 
[codex:416513]     /**
[codex:416513]      * Get the rate used to calculate the taker fee.
[codex:416513]      *
[codex:416513]      * @param orderParam The Types.OrderParam object representing the taker order data.
[codex:416513]      * @param isParticipantRelayer Whether this relayer is participating in hot discount.
[codex:416513]      * @return The final potentially discounted rate to use for the taker fee.
[codex:416513]      */
[codex:416513]     function getTakerFeeRate(
[codex:416513]         Store.State storage state,
[codex:416513]         Types.OrderParam memory orderParam,
[codex:416513]         bool isParticipantRelayer
[codex:416513]     )
[codex:416513]         private
[codex:416513]         view
[codex:416513]         returns(uint256)
[codex:416513]     {
[codex:416513]         uint256 rawRate = orderParam.getAsTakerFeeRateFromOrderData();
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing potential contract vulnerabilities**
[codex:416513] 
[codex:416513] I'm carefully investigating multiple parts of the contract for possible exploits, especially around signature replay issues, reentrancy in collateral withdrawal, and internal balance misaccounting. I'm also checking arithmetic operations and access controls to see if any subtle bugs could let an attacker profit or cause inconsistent states. There's a lot to consider!
[codex:416513] exec
[codex:416513] /bin/bash -lc 'rg -n "library Requires" AUDIT_BUNDLE.txt' in /tmp/codex-multi-e9ed7tak succeeded in 8ms:
[codex:416513] 3724:library Requires {
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '3720,3960p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513]     }
[codex:416513] 
[codex:416513] }
[codex:416513] 
[codex:416513] library Requires {
[codex:416513]     function requireAssetExist(
[codex:416513]         Store.State storage state,
[codex:416513]         address asset
[codex:416513]     )
[codex:416513]         internal
[codex:416513]         view
[codex:416513]     {
[codex:416513]         require(isAssetExist(state, asset), "ASSET_NOT_EXIST");
[codex:416513]     }
[codex:416513] 
[codex:416513]     function requireAssetNotExist(
[codex:416513]         Store.State storage state,
[codex:416513]         address asset
[codex:416513]     )
[codex:416513]         internal
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing price oracle usage**
[codex:416513] exec
[codex:416513] /bin/bash -lc 'rg -n "PriceOracle|Oracle" contracts -g"*.sol"' in /tmp/codex-multi-e9ed7tak succeeded in 8ms:
[codex:416513] contracts/Contract.sol:77:    function getAssetOraclePrice(address assetAddress)
[codex:416513] contracts/Contract.sol:83:        price = AssemblyCall.getAssetPriceFromPriceOracle(
[codex:416513] contracts/Contract.sol:84:            address(state.assets[assetAddress].priceOracle),
[codex:416513] contracts/Contract.sol:503:        Requires.requirePriceOracleAddressValid(oracleAddress);
[codex:416513] contracts/Contract.sol:508:        state.assets[asset].priceOracle = IPriceOracle(oracleAddress);
[codex:416513] contracts/Contract.sol:532:        Requires.requirePriceOracleAddressValid(oracleAddress);
[codex:416513] contracts/Contract.sol:535:        state.assets[asset].priceOracle = IPriceOracle(oracleAddress);
[codex:416513] contracts/Contract.sol:1923:        uint256 baseUSDPrice = AssemblyCall.getAssetPriceFromPriceOracle(
[codex:416513] contracts/Contract.sol:1924:            address(state.assets[baseAsset].priceOracle),
[codex:416513] contracts/Contract.sol:1927:        uint256 quoteUSDPrice = AssemblyCall.getAssetPriceFromPriceOracle(
[codex:416513] contracts/Contract.sol:1928:            address(state.assets[quoteAsset].priceOracle),
[codex:416513] contracts/Contract.sol:1987:            uint256 assetUSDPrice = state.assets[asset].priceOracle.getPrice(asset);
[codex:416513] contracts/Contract.sol:2596:interface IPriceOracle {
[codex:416513] contracts/Contract.sol:2645:    function getAssetPriceFromPriceOracle(
[codex:416513] contracts/Contract.sol:2654:        // return state.assets[asset].priceOracle.getPrice(asset);
[codex:416513] contracts/Contract.sol:3794:    function requirePriceOracleAddressValid(
[codex:416513] contracts/Contract.sol:3941:        return state.assets[asset].priceOracle != IPriceOracle(address(0));
[codex:416513] contracts/Contract.sol:4605:        IPriceOracle      priceOracle;
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Investigating price oracle usage**
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '2600,2765p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513] 
[codex:416513] interface IPriceOracle {
[codex:416513]     /** return USD price of token */
[codex:416513]     function getPrice(
[codex:416513]         address asset
[codex:416513]     )
[codex:416513]         external
[codex:416513]         view
[codex:416513]         returns (uint256);
[codex:416513] }
[codex:416513] 
[codex:416513] interface IStandardToken {
[codex:416513]     function transfer(
[codex:416513]         address _to,
[codex:416513]         uint256 _amount
[codex:416513]     )
[codex:416513]         external
[codex:416513]         returns (bool);
[codex:416513] 
[codex:416513]     function balanceOf(
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing potential vulnerabilities and logic in Exchange and LendingPool contracts**
[codex:416513] 
[codex:416513] I’m walking through several functions like settleResults, matchOrders, and borrowing logic to see if any underflows, improper checks, or fee manipulations could lead to exploits. I’m verifying assumptions about array lengths, relayer verification, fee calculations, and collateral transfers, all while considering SafeMath protections and signature constraints. Next, I’ll check the Decimal library for any numeric issues.
[codex:416513] exec
[codex:416513] /bin/bash -lc 'rg -n "library Decimal" AUDIT_BUNDLE.txt' in /tmp/codex-multi-e9ed7tak succeeded in 7ms:
[codex:416513] 2799:library Decimal {
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '2790,2865p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 5ms:
[codex:416513]     function REBATE_RATE_BASE()
[codex:416513]         internal
[codex:416513]         pure
[codex:416513]         returns (uint256)
[codex:416513]     {
[codex:416513]         return 100;
[codex:416513]     }
[codex:416513] }
[codex:416513] 
[codex:416513] library Decimal {
[codex:416513]     using SafeMath for uint256;
[codex:416513] 
[codex:416513]     uint256 constant BASE = 10**18;
[codex:416513] 
[codex:416513]     function one()
[codex:416513]         internal
[codex:416513]         pure
[codex:416513]         returns (uint256)
[codex:416513]     {
[codex:416513]         return BASE;
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing potential integer vulnerability in asset cash handling**
[codex:416513] exec
[codex:416513] /bin/bash -lc 'rg -n "library SafeMath" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513] 4052:library SafeMath {
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '4040,4185p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513]             result := and (
[codex:416513]                 eq(callResult, 1),
[codex:416513]                 or(eq(returndatasize, 0), and(eq(returndatasize, 32), gt(returnValue, 0)))
[codex:416513]             )
[codex:416513]         }
[codex:416513] 
[codex:416513]         if (!result) {
[codex:416513]             revert("TOKEN_TRANSFER_FROM_ERROR");
[codex:416513]         }
[codex:416513]     }
[codex:416513] }
[codex:416513] 
[codex:416513] library SafeMath {
[codex:416513] 
[codex:416513]     // Multiplies two numbers, reverts on overflow.
[codex:416513]     function mul(
[codex:416513]         uint256 a,
[codex:416513]         uint256 b
[codex:416513]     )
[codex:416513]         internal
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing state.cash and balance invariants**
[codex:416513] 
[codex:416513] I'm exploring how `state.cash` can become negative because it's an int256 and only partially checked, which may let attackers exploit liquidity checks by manipulating cash to bypass constraints. I'm also diving into how balance changes in auctions and lending operations affect `state.cash`, checking if any discrepancies or bugs arise from manual balance adjustments that don't sync with `state.cash`. Finally, I'm considering possible token minting vulnerabilities in the custom `LendingPoolToken`. I'll locate its contract to investigate further.
[codex:416513] exec
[codex:416513] /bin/bash -lc 'rg -n "contract LendingPoolToken" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-e9ed7tak succeeded in 7ms:
[codex:416513] 3677:contract LendingPoolToken is StandardToken, Ownable {
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '3660,3750p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513]             state,
[codex:416513]             newInsuranceRatio
[codex:416513]         );
[codex:416513]     }
[codex:416513] }
[codex:416513] 
[codex:416513] contract Hydro is GlobalStore, ExternalFunctions, Operations {
[codex:416513]     constructor(
[codex:416513]         address _hotTokenAddress
[codex:416513]     )
[codex:416513]         public
[codex:416513]     {
[codex:416513]         state.exchange.hotTokenAddress = _hotTokenAddress;
[codex:416513]         state.exchange.discountConfig = 0x043c000027106400004e205a000075305000009c404600000000000000000000;
[codex:416513]     }
[codex:416513] }
[codex:416513] 
[codex:416513] contract LendingPoolToken is StandardToken, Ownable {
[codex:416513]     string public name;
[codex:416513]     string public symbol;
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Investigating token ownership and totalSupply shadowing**
[codex:416513] exec
[codex:416513] /bin/bash -lc 'rg -n "contract StandardToken" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-e9ed7tak succeeded in 7ms:
[codex:416513] 2467:contract StandardToken {
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '2440,2675p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513]         return (currentSupplyIndex, currentBorrowIndex);
[codex:416513]     }
[codex:416513] 
[codex:416513]     function getNormalizedSupplyOf(
[codex:416513]         Store.State storage state,
[codex:416513]         address asset,
[codex:416513]         address user
[codex:416513]     )
[codex:416513]         private
[codex:416513]         view
[codex:416513]         returns (uint256)
[codex:416513]     {
[codex:416513]         return state.assets[asset].lendingPoolToken.balanceOf(user);
[codex:416513]     }
[codex:416513] 
[codex:416513]     function getTotalNormalizedSupply(
[codex:416513]         Store.State storage state,
[codex:416513]         address asset
[codex:416513]     )
[codex:416513]         private
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing potential vulnerabilities and logic issues**
[codex:416513] 
[codex:416513] I’m reviewing various parts of the code for possible bugs or vulnerabilities, focusing on token supply handling, transfer mechanics, oracle calls, and fee calculations. Some spots seem safe but I’m keeping an eye on checks involving collateral accounts, oracle reentrancy risk, arithmetic in auctions, and precise fee computations to see if rounding or logic errors could be exploited. Let’s explore these nuances carefully.
[codex:416513] exec
[codex:416513] /bin/bash -lc 'rg -n "getPartialAmount" AUDIT_BUNDLE.txt' in /tmp/codex-multi-e9ed7tak succeeded in 9ms:
[codex:416513] 1045:        return SafeMath.getPartialAmountFloor(
[codex:416513] 4218:    function getPartialAmountFloor(
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '4185,4245p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 5ms:
[codex:416513]      *
[codex:416513]      *     ((numerator * multiple) % denominator) * 1000 >= numerator * multiple
[codex:416513]      *
[codex:416513]      * @param numerator The numerator of the proportion
[codex:416513]      * @param denominator The denominator of the proportion
[codex:416513]      * @param multiple The amount we want a proportion of
[codex:416513]      * @return Boolean indicating if there is a rounding error when calculating the proportion
[codex:416513]      */
[codex:416513]     function isRoundingError(
[codex:416513]         uint256 numerator,
[codex:416513]         uint256 denominator,
[codex:416513]         uint256 multiple
[codex:416513]     )
[codex:416513]         internal
[codex:416513]         pure
[codex:416513]         returns (bool)
[codex:416513]     {
[codex:416513]         // numerator.mul(multiple).mod(denominator).mul(1000) >= numerator.mul(multiple)
[codex:416513]         return mul(mod(mul(numerator, multiple), denominator), 1000) >= mul(numerator, multiple);
[codex:416513]     }
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing potential EIP712 signature replay issue**
[codex:416513] exec
[codex:416513] /bin/bash -lc 'rg -n "library Signature" AUDIT_BUNDLE.txt' in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513] 4251:library Signature {
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '4245,4325p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513]         returns (uint256)
[codex:416513]     {
[codex:416513]         return a < b ? a : b;
[codex:416513]     }
[codex:416513] }
[codex:416513] 
[codex:416513] library Signature {
[codex:416513] 
[codex:416513]     enum SignatureMethod {
[codex:416513]         EthSign,
[codex:416513]         EIP712
[codex:416513]     }
[codex:416513] 
[codex:416513]     /**
[codex:416513]      * Validate a signature given a hash calculated from the order data, the signer, and the
[codex:416513]      * signature data passed in with the order.
[codex:416513]      *
[codex:416513]      * This function will revert the transaction if the signature method is invalid.
[codex:416513]      *
[codex:416513]      * @param hash Hash bytes calculated by taking the EIP712 hash of the passed order data
[codex:416513] 
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing potential contract state and balance inconsistencies**
[codex:416513] 
[codex:416513] I'm considering various contract balances and state variables to see if they could be manipulated, focusing on mismatch risks between state.cash and user balances due to auctions, transfers, or batch actions. I’m exploring if negative or out-of-sync states can enable exploits in borrow, withdraw, or auction scenarios, while also checking if the order and relayer logic might introduce subtle vulnerabilities. So far, the checks and reverts seem to cover most cases, but I’m carefully reviewing edge cases around integer underflows, reentrancy, and state synchronization.
[codex:416513] thinking
[codex:416513] **Examining auction-related state.cash adjustments**
[codex:416513] 
[codex:416513] I'm untangling how auction repay and insurance claims affect state.cash and user balances to spot any misalignments that might allow extra borrowing. After careful review, state.cash updates and balance reductions appear matched correctly through repay and insurance compensation, preventing mismatch exploits. I'm also checking token ownership and indexing functions for subtle issues like reentrancy or division errors.
[codex:416513] exec
[codex:416513] /bin/bash -lc 'rg -n "getCurrentIndex" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-e9ed7tak succeeded in 7ms:
[codex:416513] 199:        return LendingPool.getCurrentIndex(state, asset);
[codex:416513] 2270:        (uint256 currentSupplyIndex, uint256 currentBorrowIndex) = getCurrentIndex(state, asset);
[codex:416513] 2307:        (uint256 currentSupplyIndex, uint256 currentBorrowIndex) = getCurrentIndex(state, asset);
[codex:416513] 2351:        (uint256 currentSupplyIndex, ) = getCurrentIndex(state, asset);
[codex:416513] 2366:        (, uint256 currentBorrowIndex) = getCurrentIndex(state, asset);
[codex:416513] 2378:        (uint256 currentSupplyIndex, ) = getCurrentIndex(state, asset);
[codex:416513] 2390:        (, uint256 currentBorrowIndex) = getCurrentIndex(state, asset);
[codex:416513] 2421:    function getCurrentIndex(
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '2400,2445p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513]         view
[codex:416513]         returns (uint256)
[codex:416513]     {
[codex:416513]         return Decimal.mulFloor(getTotalNormalizedSupply(state, asset), currentSupplyIndex);
[codex:416513]     }
[codex:416513] 
[codex:416513]     function getTotalBorrowWithIndex(
[codex:416513]         Store.State storage state,
[codex:416513]         address asset,
[codex:416513]         uint256 currentBorrowIndex
[codex:416513]     )
[codex:416513]         private
[codex:416513]         view
[codex:416513]         returns (uint256)
[codex:416513]     {
[codex:416513]         return Decimal.mulCeil(state.pool.normalizedTotalBorrow[asset], currentBorrowIndex);
[codex:416513]     }
[codex:416513] 
[codex:416513]     /**
[codex:416513]      * Compute the current value of poolIndex based on the time elapsed and the interest rate
[codex:416513] 
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing potential gas fee extraction exploit**
[codex:416513] thinking
[codex:416513] **Evaluating fee-on-transfer token withdrawal impact**
[codex:416513] 
[codex:416513] I'm considering if withdrawing tokens with transfer fees actually lets an attacker profit or just causes a loss due to fees on deposit and withdrawal, but it might still harm other depositors by creating a contract balance shortfall. I'll also check SafeERC20's implementation to verify transfer call safety.
[codex:416513] exec
[codex:416513] /bin/bash -lc "sed -n '3960,4055p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513]             }
[codex:416513]         }
[codex:416513] 
[codex:416513]         return false;
[codex:416513]     }
[codex:416513] 
[codex:416513] }
[codex:416513] 
[codex:416513] library SafeERC20 {
[codex:416513]     function safeTransfer(
[codex:416513]         address token,
[codex:416513]         address to,
[codex:416513]         uint256 amount
[codex:416513]     )
[codex:416513]         internal
[codex:416513]     {
[codex:416513]         bool result;
[codex:416513] 
[codex:416513]         assembly {
[codex:416513]             let tmp1 := mload(0)
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing potential reentrancy and state vulnerabilities**
[codex:416513] exec
[codex:416513] /bin/bash -lc "rg -n \"state\\.cash\" AUDIT_BUNDLE.txt" in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513] 188:            cashableAmount = address(this).balance - uint256(state.cash[asset]);
[codex:416513] 190:            cashableAmount = IStandardToken(asset).balanceOf(address(this)) - uint256(state.cash[asset]);
[codex:416513] 2225:        state.cash[asset] = state.cash[asset].add(amount);
[codex:416513] 3789:            if (state.cash[asset] > 0) {
[codex:416513] 3790:                require(uint256(state.cash[asset]) <= address(this).balance, "CONTRACT_BALANCE_NOT_ENOUGH");
[codex:416513] 3793:            if (state.cash[asset] > 0) {
[codex:416513] 3794:                require(uint256(state.cash[asset]) <= IStandardToken(asset).balanceOf(address(this)), "CONTRACT_BALANCE_NOT_ENOUGH");
[codex:416513] 4543:        state.cash[asset] = state.cash[asset].add(amount);
[codex:416513] 4556:        state.cash[asset] = state.cash[asset].sub(amount);
[codex:416513] 
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Analyzing potential vulnerabilities and exploits**
[codex:416513] thinking
[codex:416513] **Verifying detailed code vulnerabilities and exploits**
[codex:416513] 
[codex:416513] I'll carefully list potential exploit scenarios with line numbers and confirm if they meet the criteria for concrete profit extraction, focusing on domain separator issues in EIP712 and safe transfer handling. This will help ensure only actionable findings get reported.
[codex:416513] exec
[codex:416513] /bin/bash -lc "nl -ba AUDIT_BUNDLE.txt | sed -n '2860,4900p'" in /tmp/codex-multi-e9ed7tak succeeded in 9ms:
[codex:416513]   2860	        pure
[codex:416513]   2861	        returns (uint256)
[codex:416513]   2862	    {
[codex:416513]   2863	        return target.mul(BASE).divCeil(d);
[codex:416513]   2864	    }
[codex:416513]   2865	}
[codex:416513]   2866	
[codex:416513]   2867	library EIP712 {
[codex:416513]   2868	    string private constant DOMAIN_NAME = "Hydro Protocol";
[codex:416513]   2869	
[codex:416513]   2870	    /**
[codex:416513]   2871	     * Hash of the EIP712 Domain Separator Schema
[codex:416513]   2872	     */
[codex:416513]   2873	    bytes32 private constant EIP712_DOMAIN_TYPEHASH = keccak256(
[codex:416513]   2874	        abi.encodePacked("EIP712Domain(string name)")
[codex:416513]   2875	    );
[codex:416513]   2876	
[codex:416513]   2877	    bytes32 private constant DOMAIN_SEPARATOR = keccak256(
[codex:416513]   2878	        abi.encodePacked(
[codex:416513]   2879	            EIP712_DOMAIN_TYPEHASH,
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Assessing signature replay vulnerability**
[codex:416513] exec
[codex:416513] /bin/bash -lc "nl -ba AUDIT_BUNDLE.txt | sed -n '4240,4305p'" in /tmp/codex-multi-e9ed7tak succeeded in 6ms:
[codex:416513]   4240	        uint256 a,
[codex:416513]   4241	        uint256 b
[codex:416513]   4242	    )
[codex:416513]   4243	        internal
[codex:416513]   4244	        pure
[codex:416513]   4245	        returns (uint256)
[codex:416513]   4246	    {
[codex:416513]   4247	        return a < b ? a : b;
[codex:416513]   4248	    }
[codex:416513]   4249	}
[codex:416513]   4250	
[codex:416513]   4251	library Signature {
[codex:416513]   4252	
[codex:416513]   4253	    enum SignatureMethod {
[codex:416513]   4254	        EthSign,
[codex:416513]   4255	        EIP712
[codex:416513]   4256	    }
[codex:416513]   4257	
[codex:416513]   4258	    /**
[codex:416513]   4259	     * Validate a signature given a hash calculated from the order data, the signer, and the
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Verifying vulnerability details and line numbers**
[codex:416513] exec
[codex:416513] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '2860,2895p'" in /tmp/codex-multi-e9ed7tak succeeded in 8ms:
[codex:416513]   2860	}
[codex:416513]   2861	
[codex:416513]   2862	library EIP712 {
[codex:416513]   2863	    string private constant DOMAIN_NAME = "Hydro Protocol";
[codex:416513]   2864	
[codex:416513]   2865	    /**
[codex:416513]   2866	     * Hash of the EIP712 Domain Separator Schema
[codex:416513]   2867	     */
[codex:416513]   2868	    bytes32 private constant EIP712_DOMAIN_TYPEHASH = keccak256(
[codex:416513]   2869	        abi.encodePacked("EIP712Domain(string name)")
[codex:416513]   2870	    );
[codex:416513]   2871	
[codex:416513]   2872	    bytes32 private constant DOMAIN_SEPARATOR = keccak256(
[codex:416513]   2873	        abi.encodePacked(
[codex:416513]   2874	            EIP712_DOMAIN_TYPEHASH,
[codex:416513]   2875	            keccak256(bytes(DOMAIN_NAME))
[codex:416513]   2876	        )
[codex:416513]   2877	    );
[codex:416513]   2878	
[codex:416513]   2879	    /**
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Checking line numbers for methods**
[codex:416513] exec
[codex:416513] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '4820,4855p'" in /tmp/codex-multi-e9ed7tak succeeded in 7ms:
[codex:416513]   4820	        abi.encodePacked(
[codex:416513]   4821	            "Order(address trader,address relayer,address baseAsset,address quoteAsset,uint256 baseAssetAmount,uint256 quoteAssetAmount,uint256 gasTokenAmount,bytes32 data)"
[codex:416513]   4822	        )
[codex:416513]   4823	    );
[codex:416513]   4824	
[codex:416513]   4825	    /**
[codex:416513]   4826	     * Calculates the Keccak-256 EIP712 hash of the order using the Hydro Protocol domain.
[codex:416513]   4827	     *
[codex:416513]   4828	     * @param order The order data struct.
[codex:416513]   4829	     * @return Fully qualified EIP712 hash of the order in the Hydro Protocol domain.
[codex:416513]   4830	     */
[codex:416513]   4831	    function getHash(
[codex:416513]   4832	        Types.Order memory order
[codex:416513]   4833	    )
[codex:416513]   4834	        internal
[codex:416513]   4835	        pure
[codex:416513]   4836	        returns (bytes32 orderHash)
[codex:416513]   4837	    {
[codex:416513]   4838	        orderHash = EIP712.hashMessage(_hashContent(order));
[codex:416513]   4839	        return orderHash;
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Checking signature validation location**
[codex:416513] exec
[codex:416513] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '4238,4305p'" in /tmp/codex-multi-e9ed7tak succeeded in 7ms:
[codex:416513]   4238	        internal
[codex:416513]   4239	        pure
[codex:416513]   4240	        returns (uint256)
[codex:416513]   4241	    {
[codex:416513]   4242	        return a < b ? a : b;
[codex:416513]   4243	    }
[codex:416513]   4244	}
[codex:416513]   4245	
[codex:416513]   4246	library Signature {
[codex:416513]   4247	
[codex:416513]   4248	    enum SignatureMethod {
[codex:416513]   4249	        EthSign,
[codex:416513]   4250	        EIP712
[codex:416513]   4251	    }
[codex:416513]   4252	
[codex:416513]   4253	    /**
[codex:416513]   4254	     * Validate a signature given a hash calculated from the order data, the signer, and the
[codex:416513]   4255	     * signature data passed in with the order.
[codex:416513]   4256	     *
[codex:416513]   4257	     * This function will revert the transaction if the signature method is invalid.
[codex:416513] 
[codex:416513] thinking
[codex:416513] **Preparing structured JSON details**
[codex:416513] codex
[codex:416513] {"no_findings":false,"summary":"Found 1 concrete signature replay vector enabling cross-contract order execution and fund extraction via replayed orders.","findings":[{"severity":"high","category":"auth","title":"EIP712 domain omits chainId and verifying contract, enabling cross-contract order replay","exploit_scenario":"1) Victim signs an order off-chain for a different Hydro deployment (or chain) where the domain is still just \"Hydro Protocol\". 2) Victim also has balances in this contract. 3) Attacker (the order’s relayer or its approved delegate) calls `matchOrders` on this contract using the victim’s signed order plus an attacker-controlled counter-order at a favorable price. 4) Because the order hash is derived from an EIP712 domain that lacks chainId/contract binding, `Signature.isValidSignature` accepts the replayed signature and the exchange settles, transferring victim assets to the attacker.","recommendation":"Include `chainId` and `verifyingContract` (and ideally a version) in the EIP712 domain separator and order hash, then invalidate/rotate any existing off-chain orders that were signed under the old domain.","evidence":"The EIP712 domain separator is computed only from the protocol name, with no chainId or contract address. Order hashes are derived from this domain and validated via `ecrecover`, so signatures are valid across any Hydro deployment.","locations":["contracts/Contract.sol:2862","contracts/Contract.sol:2872","contracts/Contract.sol:4831","contracts/Contract.sol:4838","contracts/Contract.sol:4264"]}]}
[codex:416513] tokens used
[codex:416513] 123,697
[codex:416513] {"no_findings":false,"summary":"Found 1 concrete signature replay vector enabling cross-contract order execution and fund extraction via replayed orders.","findings":[{"severity":"high","category":"auth","title":"EIP712 domain omits chainId and verifying contract, enabling cross-contract order replay","exploit_scenario":"1) Victim signs an order off-chain for a different Hydro deployment (or chain) where the domain is still just \"Hydro Protocol\". 2) Victim also has balances in this contract. 3) Attacker (the order’s relayer or its approved delegate) calls `matchOrders` on this contract using the victim’s signed order plus an attacker-controlled counter-order at a favorable price. 4) Because the order hash is derived from an EIP712 domain that lacks chainId/contract binding, `Signature.isValidSignature` accepts the replayed signature and the exchange settles, transferring victim assets to the attacker.","recommendation":"Include `chainId` and `verifyingContract` (and ideally a version) in the EIP712 domain separator and order hash, then invalidate/rotate any existing off-chain orders that were signed under the old domain.","evidence":"The EIP712 domain separator is computed only from the protocol name, with no chainId or contract address. Order hashes are derived from this domain and validated via `ecrecover`, so signatures are valid across any Hydro deployment.","locations":["contracts/Contract.sol:2862","contracts/Contract.sol:2872","contracts/Contract.sol:4831","contracts/Contract.sol:4838","contracts/Contract.sol:4264"]}]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-02T05:56:57.240829+00:00",
        "returncode": 0
    },
    "summary": "Found 1 concrete signature replay vector enabling cross-contract order execution and fund extraction via replayed orders.",
    "raw_final": {
        "summary": "Found 1 concrete signature replay vector enabling cross-contract order execution and fund extraction via replayed orders.",
        "findings": [
            {
                "title": "EIP712 domain omits chainId and verifying contract, enabling cross-contract order replay",
                "category": "auth",
                "evidence": "The EIP712 domain separator is computed only from the protocol name, with no chainId or contract address. Order hashes are derived from this domain and validated via `ecrecover`, so signatures are valid across any Hydro deployment.",
                "severity": "high",
                "locations": [
                    "contracts/Contract.sol:2862",
                    "contracts/Contract.sol:2872",
                    "contracts/Contract.sol:4831",
                    "contracts/Contract.sol:4838",
                    "contracts/Contract.sol:4264"
                ],
                "recommendation": "Include `chainId` and `verifyingContract` (and ideally a version) in the EIP712 domain separator and order hash, then invalidate/rotate any existing off-chain orders that were signed under the old domain.",
                "exploit_scenario": "1) Victim signs an order off-chain for a different Hydro deployment (or chain) where the domain is still just \"Hydro Protocol\". 2) Victim also has balances in this contract. 3) Attacker (the order\u2019s relayer or its approved delegate) calls `matchOrders` on this contract using the victim\u2019s signed order plus an attacker-controlled counter-order at a favorable price. 4) Because the order hash is derived from an EIP712 domain that lacks chainId/contract binding, `Signature.isValidSignature` accepts the replayed signature and the exchange settles, transferring victim assets to the attacker."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
7
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
7
EXT*/BALANCE
12
Total opcodes
14852
Flags
delegatecall_present heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x0293
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x715018a6
00000019: GT
0000001a: PUSH2 0x015a
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xa6fc9191
00000024: GT
00000025: PUSH2 0x00c1
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xddf1f0f4
0000002f: GT
00000030: PUSH2 0x007a
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xddf1f0f4
0000003a: EQ
0000003b: PUSH2 0x0813
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xe45c1879
00000045: EQ
00000046: PUSH2 0x0833
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xee684955
00000050: EQ
00000051: PUSH2 0x0855
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf2fde38b
0000005b: EQ
0000005c: PUSH2 0x0875
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xf7888aec
00000066: EQ
00000067: PUSH2 0x0895
0000006a: JUMPI
0000006b: DUP1
0000006c: PUSH4 0xfa352c00
00000071: EQ
00000072: PUSH2 0x08b5
00000075: JUMPI
00000076: PUSH2 0x0293
00000079: JUMP
0000007a: JUMPDEST
0000007b: DUP1
0000007c: PUSH4 0xa6fc9191
00000081: EQ
00000082: PUSH2 0x075e
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xb31610db
0000008c: EQ
0000008d: PUSH2 0x077e
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0xb6b3618e
00000097: EQ
00000098: PUSH2 0x079e
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0xb875bdf1
000000a2: EQ
000000a3: PUSH2 0x07be
000000a6: JUMPI
000000a7: DUP1
000000a8: PUSH4 0xbb6d5838
000000ad: EQ
000000ae: PUSH2 0x07d3
000000b1: JUMPI
000000b2: DUP1
000000b3: PUSH4 0xc747fcc0
000000b8: EQ
000000b9: PUSH2 0x07f3
000000bc: JUMPI
000000bd: PUSH2 0x0293
000000c0: JUMP
000000c1: JUMPDEST
000000c2: DUP1
000000c3: PUSH4 0x8da5cb5b
000000c8: GT
000000c9: PUSH2 0x0113
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0x8da5cb5b
000000d3: EQ
000000d4: PUSH2 0x06bf
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0x8ea17c7b
000000de: EQ
000000df: PUSH2 0x06d4
000000e2: JUMPI
000000e3: DUP1
000000e4: PUSH4 0x8f32d59b
000000e9: EQ
000000ea: PUSH2 0x06f4
000000ed: JUMPI
000000ee: DUP1
000000ef: PUSH4 0x929066f5
000000f4: EQ
000000f5: PUSH2 0x0709
000000f8: JUMPI
000000f9: DUP1
000000fa: PUSH4 0x9c61a3dd
000000ff: EQ
00000100: PUSH2 0x0729
00000103: JUMPI
00000104: DUP1
00000105: PUSH4 0x9f0bf0a7
0000010a: EQ
0000010b: PUSH2 0x073e
0000010e: JUMPI
0000010f: PUSH2 0x0293
00000112: JUMP
00000113: JUMPDEST
00000114: DUP1
00000115: PUSH4 0x715018a6
0000011a: EQ
0000011b: PUSH2 0x0617
0000011e: JUMPI
0000011f: DUP1
00000120: PUSH4 0x762a4862
00000125: EQ
00000126: PUSH2 0x062c
00000129: JUMPI
0000012a: DUP1
0000012b: PUSH4 0x7e6ef7fc
00000130: EQ
00000131: PUSH2 0x064c
00000134: JUMPI
00000135: DUP1
00000136: PUSH4 0x8059cf3b
0000013b: EQ
0000013c: PUSH2 0x066c
0000013f: JUMPI
00000140: DUP1
00000141: PUSH4 0x8538d14e
00000146: EQ
00000147: PUSH2 0x067f
0000014a: JUMPI
0000014b: DUP1
0000014c: PUSH4 0x86e4d973
00000151: EQ
00000152: PUSH2 0x069f
00000155: JUMPI
00000156: PUSH2 0x0293
00000159: JUMP
0000015a: JUMPDEST
0000015b: DUP1
0000015c: PUSH4 0x325b7b03
00000161: GT
00000162: PUSH2 0x01fe
00000165: JUMPI
00000166: DUP1
00000167: PUSH4 0x53bab42e
0000016c: GT
0000016d: PUSH2 0x01b7
00000170: JUMPI
00000171: DUP1
00000172: PUSH4 0x53bab42e
00000177: EQ
00000178: PUSH2 0x0548
0000017b: JUMPI
0000017c: DUP1
0000017d: PUSH4 0x55559a86
00000182: EQ
00000183: PUSH2 0x0575
00000186: JUMPI
00000187: DUP1
00000188: PUSH4 0x5be53e74
0000018d: EQ
0000018e: PUSH2 0x0595
00000191: JUMPI
00000192: DUP1
00000193: PUSH4 0x5dae042d
00000198: EQ
00000199: PUSH2 0x05b7
0000019c: JUMPI
0000019d: DUP1
0000019e: PUSH4 0x637b93ed
000001a3: EQ
000001a4: PUSH2 0x05d7
000001a7: JUMPI
000001a8: DUP1
000001a9: PUSH4 0x68da10ae
000001ae: EQ
000001af: PUSH2 0x05f7
000001b2: JUMPI
000001b3: PUSH2 0x0293
000001b6: JUMP
000001b7: JUMPDEST
000001b8: DUP1
000001b9: PUSH4 0x325b7b03
000001be: EQ
000001bf: PUSH2 0x0483
000001c2: JUMPI
000001c3: DUP1
000001c4: PUSH4 0x3560c5cd
000001c9: EQ
000001ca: PUSH2 0x04a5
000001cd: JUMPI
000001ce: DUP1
000001cf: PUSH4 0x3b481b0a
000001d4: EQ
000001d5: PUSH2 0x04ba
000001d8: JUMPI
000001d9: DUP1
000001da: PUSH4 0x3e5893be
000001df: EQ
000001e0: PUSH2 0x04da
000001e3: JUMPI
000001e4: DUP1
000001e5: PUSH4 0x43239e9b
000001ea: EQ
000001eb: PUSH2 0x04fa
000001ee: JUMPI
000001ef: DUP1
000001f0: PUSH4 0x4376abf1
000001f5: EQ
000001f6: PUSH2 0x0528
000001f9: JUMPI
000001fa: PUSH2 0x0293
000001fd: JUMP
000001fe: JUMPDEST
000001ff: DUP1
00000200: PUSH4 0x1a8cd123
00000205: GT
00000206: PUSH2 0x0250
00000209: JUMPI
0000020a: DUP1
0000020b: PUSH4 0x1a8cd123
00000210: EQ
00000211: PUSH2 0x03a9
00000214: JUMPI
00000215: DUP1
00000216: PUSH4 0x21028767
0000021b: EQ
0000021c: PUSH2 0x03c9
0000021f: JUMPI
00000220: DUP1
00000221: PUSH4 0x2a2b1240
00000226: EQ
00000227: PUSH2 0x03e9
0000022a: JUMPI
0000022b: DUP1
0000022c: PUSH4 0x2d6a6025
00000231: EQ
00000232: PUSH2 0x0409
00000235: JUMPI
00000236: DUP1
00000237: PUSH4 0x30b8b2c6
0000023c: EQ
0000023d: PUSH2 0x0436
00000240: JUMPI
00000241: DUP1
00000242: PUSH4 0x316e5b1e
00000247: EQ
00000248: PUSH2 0x0463
0000024b: JUMPI
0000024c: PUSH2 0x0293
0000024f: JUMP
00000250: JUMPDEST
00000251: DUP1
00000252: PUSH4 0x06df453e
00000257: EQ
00000258: PUSH2 0x02a9
0000025b: JUMPI
0000025c: DUP1
0000025d: PUSH4 0x0c511d11
00000262: EQ
00000263: PUSH2 0x02cb
00000266: JUMPI
00000267: DUP1
00000268: PUSH4 0x0f8eeeb0
0000026d: EQ
0000026e: PUSH2 0x0301
00000271: JUMPI
00000272: DUP1
00000273: PUSH4 0x101424d9
00000278: EQ
00000279: PUSH2 0x0321
0000027c: JUMPI
0000027d: DUP1
0000027e: PUSH4 0x13a30013
00000283: EQ
00000284: PUSH2 0x034e
00000287: JUMPI
00000288: DUP1
00000289: PUSH4 0x168ba56c
0000028e: EQ
0000028f: PUSH2 0x037b
00000292: JUMPI
00000293: JUMPDEST
00000294: PUSH2 0x02a6
00000297: PUSH1 0x01
00000299: PUSH2 0x02a0
0000029c: PUSH2 0x08d5
0000029f: JUMP
000002a0: JUMPDEST
000002a1: CALLVALUE
000002a2: PUSH2 0x08da
000002a5: JUMP
000002a6: JUMPDEST
000002a7: POP
000002a8: STOP
000002a9: JUMPDEST
000002aa: CALLVALUE
000002ab: DUP1
000002ac: ISZERO
000002ad: PUSH2 0x02b5
000002b0: JUMPI
000002b1: PUSH1 0x00
000002b3: DUP1
000002b4: REVERT
000002b5: JUMPDEST
000002b6: POP
000002b7: PUSH2 0x02c9
000002ba: PUSH2 0x02c4
000002bd: CALLDATASIZE
000002be: PUSH1 0x04
000002c0: PUSH2 0x428d
000002c3: JUMP
000002c4: JUMPDEST
000002c5: PUSH2 0x093a
000002c8: JUMP
000002c9: JUMPDEST
000002ca: STOP
000002cb: JUMPDEST
000002cc: CALLVALUE
000002cd: DUP1
000002ce: ISZERO
000002cf: PUSH2 0x02d7
000002d2: JUMPI
000002d3: PUSH1 0x00
000002d5: DUP1
000002d6: REVERT
000002d7: JUMPDEST
000002d8: POP
000002d9: PUSH2 0x02eb
000002dc: PUSH2 0x02e6
000002df: CALLDATASIZE
000002e0: PUSH1 0x04
000002e2: PUSH2 0x44fb
000002e5: JUMP
000002e6: JUMPDEST
000002e7: PUSH2 0x0948
000002ea: JUMP
000002eb: JUMPDEST
000002ec: PUSH1 0x40
000002ee: MLOAD
000002ef: PUSH2 0x02f8
000002f2: SWAP2
000002f3: SWAP1
000002f4: PUSH2 0x5527
000002f7: JUMP
000002f8: JUMPDEST
000002f9: PUSH1 0x40
000002fb: MLOAD
000002fc: DUP1
000002fd: SWAP2
000002fe: SUB
000002ff: SWAP1
00000300: RETURN
00000301: JUMPDEST
00000302: CALLVALUE
00000303: DUP1
00000304: ISZERO
00000305: PUSH2 0x030d
00000308: JUMPI
00000309: PUSH1 0x00
0000030b: DUP1
0000030c: REVERT
0000030d: JUMPDEST
0000030e: POP
0000030f: PUSH2 0x02eb
00000312: PUSH2 0x031c
00000315: CALLDATASIZE
00000316: PUSH1 0x04
00000318: PUSH2 0x4436
0000031b: JUMP
0000031c: JUMPDEST
0000031d: PUSH2 0x095d
00000320: JUMP
00000321: JUMPDEST
00000322: CALLVALUE
00000323: DUP1
00000324: ISZERO
00000325: PUSH2 0x032d
00000328: JUMPI
00000329: PUSH1 0x00
0000032b: DUP1
0000032c: REVERT
0000032d: JUMPDEST
0000032e: POP
0000032f: PUSH2 0x0341
00000332: PUSH2 0x033c
00000335: CALLDATASIZE
00000336: PUSH1 0x04
00000338: PUSH2 0x428d
0000033b: JUMP
0000033c: JUMPDEST
0000033d: PUSH2 0x097e
00000340: JUMP
00000341: JUMPDEST
00000342: PUSH1 0x40
00000344: MLOAD
00000345: PUSH2 0x02f8
00000348: SWAP2
00000349: SWAP1
0000034a: PUSH2 0x5a89
0000034d: JUMP
0000034e: JUMPDEST
0000034f: CALLVALUE
00000350: DUP1
00000351: ISZERO
00000352: PUSH2 0x035a
00000355: JUMPI
00000356: PUSH1 0x00
00000358: DUP1
00000359: REVERT
0000035a: JUMPDEST
0000035b: POP
0000035c: PUSH2 0x036e
0000035f: PUSH2 0x0369
00000362: CALLDATASIZE
00000363: PUSH1 0x04
00000365: PUSH2 0x462a
00000368: JUMP
00000369: JUMPDEST
0000036a: PUSH2 0x0a5d
0000036d: JUMP
0000036e: JUMPDEST
0000036f: PUSH1 0x40
00000371: MLOAD
00000372: PUSH2 0x02f8
00000375: SWAP2
00000376: SWAP1
00000377: PUSH2 0x57e0
0000037a: JUMP
0000037b: JUMPDEST
0000037c: CALLVALUE
0000037d: DUP1
0000037e: ISZERO
0000037f: PUSH2 0x0387
00000382: JUMPI
00000383: PUSH1 0x00
00000385: DUP1
00000386: REVERT
00000387: JUMPDEST
00000388: POP
00000389: PUSH2 0x039b
0000038c: PUSH2 0x0396
0000038f: CALLDATASIZE
00000390: PUSH1 0x04
00000392: PUSH2 0x4436
00000395: JUMP
00000396: JUMPDEST
00000397: PUSH2 0x0ae7
0000039a: JUMP
0000039b: JUMPDEST
0000039c: PUSH1 0x40
0000039e: MLOAD
0000039f: PUSH2 0x02f8
000003a2: SWAP3
000003a3: SWAP2
000003a4: SWAP1
000003a5: PUSH2 0x5535
000003a8: JUMP
000003a9: JUMPDEST
000003aa: CALLVALUE
000003ab: DUP1
000003ac: ISZERO
000003ad: PUSH2 0x03b5
000003b0: JUMPI
000003b1: PUSH1 0x00
000003b3: DUP1
000003b4: REVERT
000003b5: JUMPDEST
000003b6: POP
000003b7: PUSH2 0x0341
000003ba: PUSH2 0x03c4
000003bd: CALLDATASIZE
000003be: PUSH1 0x04
000003c0: PUSH2 0x4648
000003c3: JUMP
000003c4: JUMPDEST
000003c5: PUSH2 0x0b8e
000003c8: JUMP
000003c9: JUMPDEST
000003ca: CALLVALUE
000003cb: DUP1
000003cc: ISZERO
000003cd: PUSH2 0x03d5
000003d0: JUMPI
000003d1: PUSH1 0x00
000003d3: DUP1
000003d4: REVERT
000003d5: JUMPDEST
000003d6: POP
000003d7: PUSH2 0x02c9
000003da: PUSH2 0x03e4
000003dd: CALLDATASIZE
000003de: PUSH1 0x04
000003e0: PUSH2 0x4699
000003e3: JUMP
000003e4: JUMPDEST
000003e5: PUSH2 0x0bbc
000003e8: JUMP
000003e9: JUMPDEST
000003ea: CALLVALUE
000003eb: DUP1
000003ec: ISZERO
000003ed: PUSH2 0x03f5
000003f0: JUMPI
000003f1: PUSH1 0x00
000003f3: DUP1
000003f4: REVERT
000003f5: JUMPDEST
000003f6: POP
000003f7: PUSH2 0x02c9
000003fa: PUSH2 0x0404
000003fd: CALLDATASIZE
000003fe: PUSH1 0x04
00000400: PUSH2 0x474a
00000403: JUMP
00000404: JUMPDEST
00000405: PUSH2 0x0c68
00000408: JUMP
00000409: JUMPDEST
0000040a: CALLVALUE
0000040b: DUP1
0000040c: ISZERO
0000040d: PUSH2 0x0415
00000410: JUMPI
00000411: PUSH1 0x00
00000413: DUP1
00000414: REVERT
00000415: JUMPDEST
00000416: POP
00000417: PUSH2 0x0429
0000041a: PUSH2 0x0424
0000041d: CALLDATASIZE
0000041e: PUSH1 0x04
00000420: PUSH2 0x472c
00000423: JUMP
00000424: JUMPDEST
00000425: PUSH2 0x0cf1
00000428: JUMP
00000429: JUMPDEST
0000042a: PUSH1 0x40
0000042c: MLOAD
0000042d: PUSH2 0x02f8
00000430: SWAP2
00000431: SWAP1
00000432: PUSH2 0x57c3
00000435: JUMP
00000436: JUMPDEST
00000437: CALLVALUE
00000438: DUP1
00000439: ISZERO
0000043a: PUSH2 0x0442
0000043d: JUMPI
0000043e: PUSH1 0x00
00000440: DUP1
00000441: REVERT
00000442: JUMPDEST
00000443: POP
00000444: PUSH2 0x0456
00000447: PUSH2 0x0451
0000044a: CALLDATASIZE
0000044b: PUSH1 0x04
0000044d: PUSH2 0x428d
00000450: JUMP
00000451: JUMPDEST
00000452: PUSH2 0x0d98
00000455: JUMP
00000456: JUMPDEST
00000457: PUSH1 0x40
00000459: MLOAD
0000045a: PUSH2 0x02f8
0000045d: SWAP2
0000045e: SWAP1
0000045f: PUSH2 0x57b5
00000462: JUMP
00000463: JUMPDEST
00000464: CALLVALUE
00000465: DUP1
00000466: ISZERO
00000467: PUSH2 0x046f
0000046a: JUMPI
0000046b: PUSH1 0x00
0000046d: DUP1
0000046e: REVERT
0000046f: JUMPDEST
00000470: POP
00000471: PUSH2 0x0341
00000474: PUSH2 0x047e
00000477: CALLDATASIZE
00000478: PUSH1 0x04
0000047a: PUSH2 0x42ab
0000047d: JUMP
0000047e: JUMPDEST
0000047f: PUSH2 0x0df3
00000482: JUMP
00000483: JUMPDEST
00000484: CALLVALUE
00000485: DUP1
00000486: ISZERO
00000487: PUSH2 0x048f
0000048a: JUMPI
0000048b: PUSH1 0x00
0000048d: DUP1
0000048e: REVERT
0000048f: JUMPDEST
00000490: POP
00000491: PUSH2 0x0498
00000494: PUSH2 0x0e0c
00000497: JUMP
00000498: JUMPDEST
00000499: PUSH1 0x40
0000049b: MLOAD
0000049c: PUSH2 0x02f8
0000049f: SWAP2
000004a0: SWAP1
000004a1: PUSH2 0x54fa
000004a4: JUMP
000004a5: JUMPDEST
000004a6: CALLVALUE
000004a7: DUP1
000004a8: ISZERO
000004a9: PUSH2 0x04b1
000004ac: JUMPI
000004ad: PUSH1 0x00
000004af: DUP1
000004b0: REVERT
000004b1: JUMPDEST
000004b2: POP
000004b3: PUSH2 0x02c9
000004b6: PUSH2 0x0e1b
000004b9: JUMP
000004ba: JUMPDEST
000004bb: CALLVALUE
000004bc: DUP1
000004bd: ISZERO
000004be: PUSH2 0x04c6
000004c1: JUMPI
000004c2: PUSH1 0x00
000004c4: DUP1
000004c5: REVERT
000004c6: JUMPDEST
000004c7: POP
000004c8: PUSH2 0x02c9
000004cb: PUSH2 0x04d5
000004ce: CALLDATASIZE
000004cf: PUSH1 0x04
000004d1: PUSH2 0x4332
000004d4: JUMP
000004d5: JUMPDEST
000004d6: PUSH2 0x0e27
000004d9: JUMP
000004da: JUMPDEST
000004db: CALLVALUE
000004dc: DUP1
000004dd: ISZERO
000004de: PUSH2 0x04e6
000004e1: JUMPI
000004e2: PUSH1 0x00
000004e4: DUP1
000004e5: REVERT
000004e6: JUMPDEST
000004e7: POP
000004e8: PUSH2 0x02eb
000004eb: PUSH2 0x04f5
000004ee: CALLDATASIZE
000004ef: PUSH1 0x04
000004f1: PUSH2 0x428d
000004f4: JUMP
000004f5: JUMPDEST
000004f6: PUSH2 0x0ed3
000004f9: JUMP
000004fa: JUMPDEST
000004fb: CALLVALUE
000004fc: DUP1
000004fd: ISZERO
000004fe: PUSH2 0x0506
00000501: JUMPI
00000502: PUSH1 0x00
00000504: DUP1
00000505: REVERT
00000506: JUMPDEST
00000507: POP
00000508: PUSH2 0x051a
0000050b: PUSH2 0x0515
0000050e: CALLDATASIZE
0000050f: PUSH1 0x04
00000511: PUSH2 0x4466
00000514: JUMP
00000515: JUMPDEST
00000516: PUSH2 0x0ee0
00000519: JUMP
0000051a: JUMPDEST
0000051b: PUSH1 0x40
0000051d: MLOAD
0000051e: PUSH2 0x02f8
00000521: SWAP3
00000522: SWAP2
00000523: SWAP1
00000524: PUSH2 0x5a97
00000527: JUMP
00000528: JUMPDEST
00000529: CALLVALUE
0000052a: DUP1
0000052b: ISZERO
0000052c: PUSH2 0x0534
0000052f: JUMPI
00000530: PUSH1 0x00
00000532: DUP1
00000533: REVERT
00000534: JUMPDEST
00000535: POP
00000536: PUSH2 0x0341
00000539: PUSH2 0x0543
0000053c: CALLDATASIZE
0000053d: PUSH1 0x04
0000053f: PUSH2 0x428d
00000542: JUMP
00000543: JUMPDEST
00000544: PUSH2 0x0efa
00000547: JUMP
00000548: JUMPDEST
00000549: CALLVALUE
0000054a: DUP1
0000054b: ISZERO
0000054c: PUSH2 0x0554
0000054f: JUMPI
00000550: PUSH1 0x00
00000552: DUP1
00000553: REVERT
00000554: JUMPDEST
00000555: POP
00000556: PUSH2 0x0568
00000559: PUSH2 0x0563
0000055c: CALLDATASIZE
0000055d: PUSH1 0x04
0000055f: PUSH2 0x4436
00000562: JUMP
00000563: JUMPDEST
00000564: PUSH2 0x0f07
00000567: JUMP
00000568: JUMPDEST
00000569: PUSH1 0x40
0000056b: MLOAD
0000056c: PUSH2 0x02f8
0000056f: SWAP2
00000570: SWAP1
00000571: PUSH2 0x57d2
00000574: JUMP
00000575: JUMPDEST
00000576: CALLVALUE
00000577: DUP1
00000578: ISZERO
00000579: PUSH2 0x0581
0000057c: JUMPI
0000057d: PUSH1 0x00
0000057f: DUP1
00000580: REVERT
00000581: JUMPDEST
00000582: POP
00000583: PUSH2 0x0341
00000586: PUSH2 0x0590
00000589: CALLDATASIZE
0000058a: PUSH1 0x04
0000058c: PUSH2 0x44fb
0000058f: JUMP
00000590: JUMPDEST
00000591: PUSH2 0x0f26
00000594: JUMP
00000595: JUMPDEST
00000596: CALLVALUE
00000597: DUP1
00000598: ISZERO
00000599: PUSH2 0x05a1
0000059c: JUMPI
0000059d: PUSH1 0x00
0000059f: DUP1
000005a0: REVERT
000005a1: JUMPDEST
000005a2: POP
000005a3: PUSH2 0x05aa
000005a6: PUSH2 0x0f38
000005a9: JUMP
000005aa: JUMPDEST
000005ab: PUSH1 0x40
000005ad: MLOAD
000005ae: PUSH2 0x02f8
000005b1: SWAP2
000005b2: SWAP1
000005b3: PUSH2 0x5516
000005b6: JUMP
000005b7: JUMPDEST
000005b8: CALLVALUE
000005b9: DUP1
000005ba: ISZERO
000005bb: PUSH2 0x05c3
000005be: JUMPI
000005bf: PUSH1 0x00
000005c1: DUP1
000005c2: REVERT
000005c3: JUMPDEST
000005c4: POP
000005c5: PUSH2 0x0341
000005c8: PUSH2 0x05d2
000005cb: CALLDATASIZE
000005cc: PUSH1 0x04
000005ce: PUSH2 0x428d
000005d1: JUMP
000005d2: JUMPDEST
000005d3: PUSH2 0x0fbb
000005d6: JUMP
000005d7: JUMPDEST
000005d8: CALLVALUE
000005d9: DUP1
000005da: ISZERO
000005db: PUSH2 0x05e3
000005de: JUMPI
000005df: PUSH1 0x00
000005e1: DUP1
000005e2: REVERT
000005e3: JUMPDEST
000005e4: POP
000005e5: PUSH2 0x0341
000005e8: PUSH2 0x05f2
000005eb: CALLDATASIZE
000005ec: PUSH1 0x04
000005ee: PUSH2 0x428d
000005f1: JUMP
000005f2: JUMPDEST
000005f3: PUSH2 0x0ff0
000005f6: JUMP
000005f7: JUMPDEST
000005f8: CALLVALUE
000005f9: DUP1
000005fa: ISZERO
000005fb: PUSH2 0x0603
000005fe: JUMPI
000005ff: PUSH1 0x00
00000601: DUP1
00000602: REVERT
00000603: JUMPDEST
00000604: POP
00000605: PUSH2 0x0341
00000608: PUSH2 0x0612
0000060b: CALLDATASIZE
0000060c: PUSH1 0x04
0000060e: PUSH2 0x428d
00000611: JUMP
00000612: JUMPDEST
00000613: PUSH2 0x1019
00000616: JUMP
00000617: JUMPDEST
00000618: CALLVALUE
00000619: DUP1
0000061a: ISZERO
0000061b: PUSH2 0x0623
0000061e: JUMPI
0000061f: PUSH1 0x00
00000621: DUP1
00000622: REVERT
00000623: JUMPDEST
00000624: POP
00000625: PUSH2 0x02c9
00000628: PUSH2 0x1031
0000062b: JUMP
0000062c: JUMPDEST
0000062d: CALLVALUE
0000062e: DUP1
0000062f: ISZERO
00000630: PUSH2 0x0638
00000633: JUMPI
00000634: PUSH1 0x00
00000636: DUP1
00000637: REVERT
00000638: JUMPDEST
00000639: POP
0000063a: PUSH2 0x02c9
0000063d: PUSH2 0x0647
00000640: CALLDATASIZE
00000641: PUSH1 0x04
00000643: PUSH2 0x42e5
00000646: JUMP
00000647: JUMPDEST
00000648: PUSH2 0x10a2
0000064b: JUMP
0000064c: JUMPDEST
0000064d: CALLVALUE
0000064e: DUP1
0000064f: ISZERO
00000650: PUSH2 0x0658
00000653: JUMPI
00000654: PUSH1 0x00
00000656: DUP1
00000657: REVERT
00000658: JUMPDEST
00000659: POP
0000065a: PUSH2 0x02eb
0000065d: PUSH2 0x0667
00000660: CALLDATASIZE
00000661: PUSH1 0x04
00000663: PUSH2 0x4519
00000666: JUMP
00000667: JUMPDEST
00000668: PUSH2 0x113f
0000066b: JUMP
0000066c: JUMPDEST
0000066d: PUSH2 0x02c9
00000670: PUSH2 0x067a
00000673: CALLDATASIZE
00000674: PUSH1 0x04
00000676: PUSH2 0x4496
00000679: JUMP
0000067a: JUMPDEST
0000067b: PUSH2 0x115a
0000067e: JUMP
0000067f: JUMPDEST
00000680: CALLVALUE
00000681: DUP1
00000682: ISZERO
00000683: PUSH2 0x068b
00000686: JUMPI
00000687: PUSH1 0x00
00000689: DUP1
0000068a: REVERT
0000068b: JUMPDEST
0000068c: POP
0000068d: PUSH2 0x0341
00000690: PUSH2 0x069a
00000693: CALLDATASIZE
00000694: PUSH1 0x04
00000696: PUSH2 0x428d
00000699: JUMP
0000069a: JUMPDEST
0000069b: PUSH2 0x11cc
0000069e: JUMP
0000069f: JUMPDEST
000006a0: CALLVALUE
000006a1: DUP1
000006a2: ISZERO
000006a3: PUSH2 0x06ab
000006a6: JUMPI
000006a7: PUSH1 0x00
000006a9: DUP1
000006aa: REVERT
000006ab: JUMPDEST
000006ac: POP
000006ad: PUSH2 0x02c9
000006b0: PUSH2 0x06ba
000006b3: CALLDATASIZE
000006b4: PUSH1 0x04
000006b6: PUSH2 0x457b
000006b9: JUMP
000006ba: JUMPDEST
000006bb: PUSH2 0x11e4
000006be: JUMP
000006bf: JUMPDEST
000006c0: CALLVALUE
000006c1: DUP1
000006c2: ISZERO
000006c3: PUSH2 0x06cb
000006c6: JUMPI
000006c7: PUSH1 0x00
000006c9: DUP1
000006ca: REVERT
000006cb: JUMPDEST
000006cc: POP
000006cd: PUSH2 0x0498
000006d0: PUSH2 0x1248
000006d3: JUMP
000006d4: JUMPDEST
000006d5: CALLVALUE
000006d6: DUP1
000006d7: ISZERO
000006d8: PUSH2 0x06e0
000006db: JUMPI
000006dc: PUSH1 0x00
000006de: DUP1
000006df: REVERT
000006e0: JUMPDEST
000006e1: POP
000006e2: PUSH2 0x0341
000006e5: PUSH2 0x06ef
000006e8: CALLDATASIZE
000006e9: PUSH1 0x04
000006eb: PUSH2 0x43f3
000006ee: JUMP
000006ef: JUMPDEST
000006f0: PUSH2 0x1257
000006f3: JUMP
000006f4: JUMPDEST
000006f5: CALLVALUE
000006f6: DUP1
000006f7: ISZERO
000006f8: PUSH2 0x0700
000006fb: JUMPI
000006fc: PUSH1 0x00
000006fe: DUP1
000006ff: REVERT
00000700: JUMPDEST
00000701: POP
00000702: PUSH2 0x02eb
00000705: PUSH2 0x127d
00000708: JUMP
00000709: JUMPDEST
0000070a: CALLVALUE
0000070b: DUP1
0000070c: ISZERO
0000070d: PUSH2 0x0715
00000710: JUMPI
00000711: PUSH1 0x00
00000713: DUP1
00000714: REVERT
00000715: JUMPDEST
00000716: POP
00000717: PUSH2 0x02eb
0000071a: PUSH2 0x0724
0000071d: CALLDATASIZE
0000071e: PUSH1 0x04
00000720: PUSH2 0x428d
00000723: JUMP
00000724: JUMPDEST
00000725: PUSH2 0x128e
00000728: JUMP
00000729: JUMPDEST
0000072a: CALLVALUE
0000072b: DUP1
0000072c: ISZERO
0000072d: PUSH2 0x0735
00000730: JUMPI
00000731: PUSH1 0x00
00000733: DUP1
00000734: REVERT
00000735: JUMPDEST
00000736: POP
00000737: PUSH2 0x0341
0000073a: PUSH2 0x129b
0000073d: JUMP
0000073e: JUMPDEST
0000073f: CALLVALUE
00000740: DUP1
00000741: ISZERO
00000742: PUSH2 0x074a
00000745: JUMPI
00000746: PUSH1 0x00
00000748: DUP1
00000749: REVERT
0000074a: JUMPDEST
0000074b: POP
0000074c: PUSH2 0x02c9
0000074f: PUSH2 0x0759
00000752: CALLDATASIZE
00000753: PUSH1 0x04
00000755: PUSH2 0x4599
00000758: JUMP
00000759: JUMPDEST
0000075a: PUSH2 0x12a5
0000075d: JUMP
0000075e: JUMPDEST
0000075f: CALLVALUE
00000760: DUP1
00000761: ISZERO
00000762: PUSH2 0x076a
00000765: JUMPI
00000766: PUSH1 0x00
00000768: DUP1
00000769: REVERT
0000076a: JUMPDEST
0000076b: POP
0000076c: PUSH2 0x02c9
0000076f: PUSH2 0x0779
00000772: CALLDATASIZE
00000773: PUSH1 0x04
00000775: PUSH2 0x44fb
00000778: JUMP
00000779: JUMPDEST
0000077a: PUSH2 0x12b0
0000077d: JUMP
0000077e: JUMPDEST
0000077f: CALLVALUE
00000780: DUP1
00000781: ISZERO
00000782: PUSH2 0x078a
00000785: JUMPI
00000786: PUSH1 0x00
00000788: DUP1
00000789: REVERT
0000078a: JUMPDEST
0000078b: POP
0000078c: PUSH2 0x051a
0000078f: PUSH2 0x0799
00000792: CALLDATASIZE
00000793: PUSH1 0x04
00000795: PUSH2 0x428d
00000798: JUMP
00000799: JUMPDEST
0000079a: PUSH2 0x1314
0000079d: JUMP
0000079e: JUMPDEST
0000079f: CALLVALUE
000007a0: DUP1
000007a1: ISZERO
000007a2: PUSH2 0x07aa
000007a5: JUMPI
000007a6: PUSH1 0x00
000007a8: DUP1
000007a9: REVERT
000007aa: JUMPDEST
000007ab: POP
000007ac: PUSH2 0x02c9
000007af: PUSH2 0x07b9
000007b2: CALLDATASIZE
000007b3: PUSH1 0x04
000007b5: PUSH2 0x45ce
000007b8: JUMP
000007b9: JUMPDEST
000007ba: PUSH2 0x132b
000007bd: JUMP
000007be: JUMPDEST
000007bf: CALLVALUE
000007c0: DUP1
000007c1: ISZERO
000007c2: PUSH2 0x07ca
000007c5: JUMPI
000007c6: PUSH1 0x00
000007c8: DUP1
000007c9: REVERT
000007ca: JUMPDEST
000007cb: POP
000007cc: PUSH2 0x02c9
000007cf: PUSH2 0x1344
000007d2: JUMP
000007d3: JUMPDEST
000007d4: CALLVALUE
000007d5: DUP1
000007d6: ISZERO
000007d7: PUSH2 0x07df
000007da: JUMPI
000007db: PUSH1 0x00
000007dd: DUP1
000007de: REVERT
000007df: JUMPDEST
000007e0: POP
000007e1: PUSH2 0x02c9
000007e4: PUSH2 0x07ee
000007e7: CALLDATASIZE
000007e8: PUSH1 0x04
000007ea: PUSH2 0x44fb
000007ed: JUMP
000007ee: JUMPDEST
000007ef: PUSH2 0x134e
000007f2: JUMP
000007f3: JUMPDEST
000007f4: CALLVALUE
000007f5: DUP1
000007f6: ISZERO
000007f7: PUSH2 0x07ff
000007fa: JUMPI
000007fb: PUSH1 0x00
000007fd: DUP1
000007fe: REVERT
000007ff: JUMPDEST
00000800: POP
00000801: PUSH2 0x02c9
00000804: PUSH2 0x080e
00000807: CALLDATASIZE
00000808: PUSH1 0x04
0000080a: PUSH2 0x44fb
0000080d: JUMP
0000080e: JUMPDEST
0000080f: PUSH2 0x13b2
00000812: JUMP
00000813: JUMPDEST
00000814: CALLVALUE
00000815: DUP1
00000816: ISZERO
00000817: PUSH2 0x081f
0000081a: JUMPI
0000081b: PUSH1 0x00
0000081d: DUP1
0000081e: REVERT
0000081f: JUMPDEST
00000820: POP
00000821: PUSH2 0x02c9
00000824: PUSH2 0x082e
00000827: CALLDATASIZE
00000828: PUSH1 0x04
0000082a: PUSH2 0x4669
0000082d: JUMP
0000082e: JUMPDEST
0000082f: PUSH2 0x1416
00000832: JUMP
00000833: JUMPDEST
00000834: CALLVALUE
00000835: DUP1
00000836: ISZERO
00000837: PUSH2 0x083f
0000083a: JUMPI
0000083b: PUSH1 0x00
0000083d: DUP1
0000083e: REVERT
0000083f: JUMPDEST
00000840: POP
00000841: PUSH2 0x0848
00000844: PUSH2 0x147c
00000847: JUMP
00000848: JUMPDEST
00000849: PUSH1 0x40
0000084b: MLOAD
0000084c: PUSH2 0x02f8
0000084f: SWAP2
00000850: SWAP1
00000851: PUSH2 0x5aa5
00000854: JUMP
00000855: JUMPDEST
00000856: CALLVALUE
00000857: DUP1
00000858: ISZERO
00000859: PUSH2 0x0861
0000085c: JUMPI
0000085d: PUSH1 0x00
0000085f: DUP1
00000860: REVERT
00000861: JUMPDEST
00000862: POP
00000863: PUSH2 0x0341
00000866: PUSH2 0x0870
00000869: CALLDATASIZE
0000086a: PUSH1 0x04
0000086c: PUSH2 0x4648
0000086f: JUMP
00000870: JUMPDEST
00000871: PUSH2 0x1488
00000874: JUMP
00000875: JUMPDEST
00000876: CALLVALUE
00000877: DUP1
00000878: ISZERO
00000879: PUSH2 0x0881
0000087c: JUMPI
0000087d: PUSH1 0x00
0000087f: DUP1
00000880: REVERT
00000881: JUMPDEST
00000882: POP
00000883: PUSH2 0x02c9
00000886: PUSH2 0x0890
00000889: CALLDATASIZE
0000088a: PUSH1 0x04
0000088c: PUSH2 0x428d
0000088f: JUMP
00000890: JUMPDEST
00000891: PUSH2 0x14b6
00000894: JUMP
00000895: JUMPDEST
00000896: CALLVALUE
00000897: DUP1
00000898: ISZERO
00000899: PUSH2 0x08a1
0000089c: JUMPI
0000089d: PUSH1 0x00
0000089f: DUP1
000008a0: REVERT
000008a1: JUMPDEST
000008a2: POP
000008a3: PUSH2 0x0341
000008a6: PUSH2 0x08b0
000008a9: CALLDATASIZE
000008aa: PUSH1 0x04
000008ac: PUSH2 0x42ab
000008af: JUMP
000008b0: JUMPDEST
000008b1: PUSH2 0x1561
000008b4: JUMP
000008b5: JUMPDEST
000008b6: CALLVALUE
000008b7: DUP1
000008b8: ISZERO
000008b9: PUSH2 0x08c1
000008bc: JUMPI
000008bd: PUSH1 0x00
000008bf: DUP1
000008c0: REVERT
000008c1: JUMPDEST
000008c2: POP
000008c3: PUSH2 0x02c9
000008c6: PUSH2 0x08d0
000008c9: CALLDATASIZE
000008ca: PUSH1 0x04
000008cc: PUSH2 0x428d
000008cf: JUMP
000008d0: JUMPDEST
000008d1: PUSH2 0x1571
000008d4: JUMP
000008d5: JUMPDEST
000008d6: PUSH1 0x0e
000008d8: SWAP1
000008d9: JUMP
000008da: JUMPDEST
000008db: PUSH1 0x00
000008dd: DUP1
000008de: PUSH2 0x08e5
000008e1: PUSH2 0x08d5
000008e4: JUMP
000008e5: JUMPDEST
000008e6: PUSH1 0x01
000008e8: PUSH1 0x01
000008ea: PUSH1 0xa0
000008ec: SHL
000008ed: SUB
000008ee: AND
000008ef: DUP5
000008f0: PUSH1 0x01
000008f2: PUSH1 0x01
000008f4: PUSH1 0xa0
000008f6: SHL
000008f7: SUB
000008f8: AND
000008f9: EQ
000008fa: ISZERO
000008fb: PUSH2 0x0905
000008fe: JUMPI
000008ff: POP
00000900: DUP2
00000901: PUSH2 0x0911
00000904: JUMP
00000905: JUMPDEST
00000906: PUSH2 0x0911
00000909: DUP5
0000090a: CALLER
0000090b: ADDRESS
0000090c: DUP7
0000090d: PUSH2 0x157c
00000910: JUMP
00000911: JUMPDEST
00000912: PUSH2 0x0925
00000915: DUP6
00000916: DUP6
00000917: PUSH2 0x091f
0000091a: CALLER
0000091b: PUSH2 0x15fd
0000091e: JUMP
0000091f: JUMPDEST
00000920: DUP7
00000921: PUSH2 0x162d
00000924: JUMP
00000925: JUMPDEST
00000926: PUSH2 0x0930
00000929: CALLER
0000092a: DUP6
0000092b: DUP6
0000092c: PUSH2 0x16c3
0000092f: JUMP
00000930: JUMPDEST
00000931: SWAP1
00000932: POP
00000933: JUMPDEST
00000934: SWAP4
00000935: SWAP3
00000936: POP
00000937: POP
00000938: POP
00000939: JUMP
0000093a: JUMPDEST
0000093b: PUSH2 0x0945
0000093e: PUSH1 0x01
00000940: DUP3
00000941: PUSH2 0x1713
00000944: JUMP
00000945: JUMPDEST
00000946: POP
00000947: JUMP
00000948: JUMPDEST
00000949: PUSH1 0x00
0000094b: SWAP1
0000094c: DUP2
0000094d: MSTORE
0000094e: PUSH1 0x12
00000950: PUSH1 0x20
00000952: MSTORE
00000953: PUSH1 0x40
00000955: SWAP1
00000956: KECCAK256
00000957: SLOAD
00000958: PUSH1 0xff
0000095a: AND
0000095b: SWAP1
0000095c: JUMP
0000095d: JUMPDEST
0000095e: PUSH1 0x00
00000960: PUSH2 0x096a
00000963: PUSH1 0x01
00000965: DUP4
00000966: PUSH2 0x1751
00000969: JUMP
0000096a: JUMPDEST
0000096b: PUSH2 0x0976
0000096e: PUSH1 0x01
00000970: DUP5
00000971: DUP5
00000972: PUSH2 0x177c
00000975: JUMP
00000976: JUMPDEST
00000977: MLOAD
00000978: SWAP4
00000979: SWAP3
0000097a: POP
0000097b: POP
0000097c: POP
0000097d: JUMP
0000097e: JUMPDEST
0000097f: PUSH1 0x00
00000981: PUSH2 0x0988
00000984: PUSH2 0x08d5
00000987: JUMP
00000988: JUMPDEST
00000989: PUSH1 0x01
0000098b: PUSH1 0x01
0000098d: PUSH1 0xa0
0000098f: SHL
00000990: SUB
00000991: AND
00000992: DUP3
00000993: PUSH1 0x01
00000995: PUSH1 0x01
00000997: PUSH1 0xa0
00000999: SHL
0000099a: SUB
0000099b: AND
0000099c: EQ
0000099d: ISZERO
0000099e: PUSH2 0x09c3
000009a1: JUMPI
000009a2: POP
000009a3: PUSH1 0x01
000009a5: PUSH1 0x01
000009a7: PUSH1 0xa0
000009a9: SHL
000009aa: SUB
000009ab: DUP2
000009ac: AND
000009ad: PUSH1 0x00
000009af: SWAP1
000009b0: DUP2
000009b1: MSTORE
000009b2: PUSH1 0x03
000009b4: PUSH1 0x20
000009b6: MSTORE
000009b7: PUSH1 0x40
000009b9: SWAP1
000009ba: KECCAK256
000009bb: SLOAD
000009bc: ADDRESS
000009bd: BALANCE
000009be: SUB
000009bf: PUSH2 0x0a58
000009c2: JUMP
000009c3: JUMPDEST
000009c4: PUSH1 0x01
000009c6: PUSH1 0x01
000009c8: PUSH1 0xa0
000009ca: SHL
000009cb: SUB
000009cc: DUP3
000009cd: AND
000009ce: PUSH1 0x00
000009d0: DUP2
000009d1: DUP2
000009d2: MSTORE
000009d3: PUSH1 0x03
000009d5: PUSH1 0x20
000009d7: MSTORE
000009d8: PUSH1 0x40
000009da: SWAP1
000009db: DUP2
000009dc: SWAP1
000009dd: KECCAK256
000009de: SLOAD
000009df: SWAP1
000009e0: MLOAD
000009e1: PUSH1 0x01
000009e3: PUSH1 0xe0
000009e5: SHL
000009e6: PUSH4 0x70a08231
000009eb: MUL
000009ec: DUP2
000009ed: MSTORE
000009ee: SWAP1
000009ef: SWAP2
000009f0: SWAP1
000009f1: PUSH4 0x70a08231
000009f6: SWAP1
000009f7: PUSH2 0x0a04
000009fa: SWAP1
000009fb: ADDRESS
000009fc: SWAP1
000009fd: PUSH1 0x04
000009ff: ADD
00000a00: PUSH2 0x5508
00000a03: JUMP
00000a04: JUMPDEST
00000a05: PUSH1 0x20
00000a07: PUSH1 0x40
00000a09: MLOAD
00000a0a: DUP1
00000a0b: DUP4
00000a0c: SUB
00000a0d: DUP2
00000a0e: DUP7
00000a0f: DUP1
00000a10: EXTCODESIZE
00000a11: ISZERO
00000a12: DUP1
00000a13: ISZERO
00000a14: PUSH2 0x0a1c
00000a17: JUMPI
00000a18: PUSH1 0x00
00000a1a: DUP1
00000a1b: REVERT
00000a1c: JUMPDEST
00000a1d: POP
00000a1e: GAS
00000a1f: STATICCALL
00000a20: ISZERO
00000a21: DUP1
00000a22: ISZERO
00000a23: PUSH2 0x0a30
00000a26: JUMPI
00000a27: RETURNDATASIZE
00000a28: PUSH1 0x00
00000a2a: DUP1
00000a2b: RETURNDATACOPY
00000a2c: RETURNDATASIZE
00000a2d: PUSH1 0x00
00000a2f: REVERT
00000a30: JUMPDEST
00000a31: POP
00000a32: POP
00000a33: POP
00000a34: POP
00000a35: PUSH1 0x40
00000a37: MLOAD
00000a38: RETURNDATASIZE
00000a39: PUSH1 0x1f
00000a3b: NOT
00000a3c: PUSH1 0x1f
00000a3e: DUP3
00000a3f: ADD
00000a40: AND
00000a41: DUP3
00000a42: ADD
00000a43: DUP1
00000a44: PUSH1 0x40
00000a46: MSTORE
00000a47: POP
00000a48: PUSH2 0x0a54
00000a4b: SWAP2
00000a4c: SWAP1
00000a4d: DUP2
00000a4e: ADD
00000a4f: SWAP1
00000a50: PUSH2 0x470e
00000a53: JUMP
00000a54: JUMPDEST
00000a55: SUB
00000a56: SWAP1
00000a57: POP
00000a58: JUMPDEST
00000a59: SWAP2
00000a5a: SWAP1
00000a5b: POP
00000a5c: JUMP
00000a5d: JUMPDEST
00000a5e: PUSH2 0x0a65
00000a61: PUSH2 0x398e
00000a64: JUMP
00000a65: JUMPDEST
00000a66: PUSH2 0x0a70
00000a69: PUSH1 0x01
00000a6b: DUP4
00000a6c: PUSH2 0x1751
00000a6f: JUMP
00000a70: JUMPDEST
00000a71: POP
00000a72: PUSH2 0xffff
00000a75: AND
00000a76: PUSH1 0x00
00000a78: SWAP1
00000a79: DUP2
00000a7a: MSTORE
00000a7b: PUSH1 0x05
00000a7d: PUSH1 0x20
00000a7f: DUP2
00000a80: DUP2
00000a81: MSTORE
00000a82: PUSH1 0x40
00000a84: SWAP3
00000a85: DUP4
00000a86: SWAP1
00000a87: KECCAK256
00000a88: DUP4
00000a89: MLOAD
00000a8a: PUSH1 0xe0
00000a8c: DUP2
00000a8d: ADD
00000a8e: DUP6
00000a8f: MSTORE
00000a90: DUP2
00000a91: SLOAD
00000a92: PUSH1 0x01
00000a94: PUSH1 0x01
00000a96: PUSH1 0xa0
00000a98: SHL
00000a99: SUB
00000a9a: SWAP1
00000a9b: DUP2
00000a9c: AND
00000a9d: DUP3
00000a9e: MSTORE
00000a9f: PUSH1 0x01
00000aa1: DUP4
00000aa2: ADD
00000aa3: SLOAD
00000aa4: AND
00000aa5: SWAP3
00000aa6: DUP2
00000aa7: ADD
00000aa8: SWAP3
00000aa9: SWAP1
00000aaa: SWAP3
00000aab: MSTORE
00000aac: PUSH1 0x02
00000aae: DUP2
00000aaf: ADD
00000ab0: SLOAD
00000ab1: SWAP4
00000ab2: DUP3
00000ab3: ADD
00000ab4: SWAP4
00000ab5: SWAP1
00000ab6: SWAP4
00000ab7: MSTORE
00000ab8: PUSH1 0x03
00000aba: DUP4
00000abb: ADD
00000abc: SLOAD
00000abd: PUSH1 0x60
00000abf: DUP3
00000ac0: ADD
00000ac1: MSTORE
00000ac2: PUSH1 0x04
00000ac4: DUP4
00000ac5: ADD
00000ac6: SLOAD
00000ac7: PUSH1 0x80
00000ac9: DUP3
00000aca: ADD
00000acb: MSTORE
00000acc: SWAP1
00000acd: DUP3
00000ace: ADD
00000acf: SLOAD
00000ad0: PUSH1 0xa0
00000ad2: DUP3
00000ad3: ADD
00000ad4: MSTORE
00000ad5: PUSH1 0x06
00000ad7: SWAP1
00000ad8: SWAP2
00000ad9: ADD
00000ada: SLOAD
00000adb: PUSH1 0xff
00000add: AND
00000ade: ISZERO
00000adf: ISZERO
00000ae0: PUSH1 0xc0
00000ae2: DUP3
00000ae3: ADD
00000ae4: MSTORE
00000ae5: SWAP1
00000ae6: JUMP
00000ae7: JUMPDEST
00000ae8: PUSH1 0x00
00000aea: DUP1
00000aeb: PUSH2 0x0af5
00000aee: PUSH1 0x01
00000af0: DUP5
00000af1: PUSH2 0x1751
00000af4: JUMP
00000af5: JUMPDEST
00000af6: PUSH1 0x40
00000af8: MLOAD
00000af9: PUSH1 0x01
00000afb: PUSH1 0xe2
00000afd: SHL
00000afe: PUSH4 0x090a15a3
00000b03: MUL
00000b04: DUP2
00000b05: MSTORE
00000b06: PUSH20 0x3eb39889f4b38691249d5e67d5ecc844ce0297b8
00000b1b: SWAP1
00000b1c: PUSH4 0x2428568c
00000b21: SWAP1
00000b22: PUSH2 0x0b34
00000b25: SWAP1
00000b26: PUSH1 0x01
00000b28: SWAP1
00000b29: DUP9
00000b2a: SWAP1
00000b2b: DUP9
00000b2c: SWAP1
00000b2d: PUSH1 0x04
00000b2f: ADD
00000b30: PUSH2 0x5943
00000b33: JUMP
00000b34: JUMPDEST
00000b35: PUSH1 0x40
00000b37: DUP1
00000b38: MLOAD
00000b39: DUP1
00000b3a: DUP4
00000b3b: SUB
00000b3c: DUP2
00000b3d: DUP7
00000b3e: DUP1
00000b3f: EXTCODESIZE
00000b40: ISZERO
00000b41: DUP1
00000b42: ISZERO
00000b43: PUSH2 0x0b4b
00000b46: JUMPI
00000b47: PUSH1 0x00
00000b49: DUP1
00000b4a: REVERT
00000b4b: JUMPDEST
00000b4c: POP
00000b4d: GAS
00000b4e: DELEGATECALL
00000b4f: ISZERO
00000b50: DUP1
00000b51: ISZERO
00000b52: PUSH2 0x0b5f
00000b55: JUMPI
00000b56: RETURNDATASIZE
00000b57: PUSH1 0x00
00000b59: DUP1
00000b5a: RETURNDATACOPY
00000b5b: RETURNDATASIZE
00000b5c: PUSH1 0x00
00000b5e: REVERT
00000b5f: JUMPDEST
00000b60: POP
00000b61: POP
00000b62: POP
00000b63: POP
00000b64: PUSH1 0x40
00000b66: MLOAD
00000b67: RETURNDATASIZE
00000b68: PUSH1 0x1f
00000b6a: NOT
00000b6b: PUSH1 0x1f
00000b6d: DUP3
00000b6e: ADD
00000b6f: AND
00000b70: DUP3
00000b71: ADD
00000b72: DUP1
00000b73: PUSH1 0x40
00000b75: MSTORE
00000b76: POP
00000b77: PUSH2 0x0b83
00000b7a: SWAP2
00000b7b: SWAP1
00000b7c: DUP2
00000b7d: ADD
00000b7e: SWAP1
00000b7f: PUSH2 0x44cb
00000b82: JUMP
00000b83: JUMPDEST
00000b84: SWAP1
00000b85: SWAP6
00000b86: SWAP1
00000b87: SWAP5
00000b88: POP
00000b89: SWAP3
00000b8a: POP
00000b8b: POP
00000b8c: POP
00000b8d: JUMP
00000b8e: JUMPDEST
00000b8f: PUSH1 0x00
00000b91: PUSH2 0x0b9b
00000b94: PUSH1 0x01
00000b96: DUP6
00000b97: PUSH2 0x1751
00000b9a: JUMP
00000b9b: JUMPDEST
00000b9c: PUSH2 0x0ba7
00000b9f: PUSH1 0x01
00000ba1: DUP6
00000ba2: DUP6
00000ba3: PUSH2 0x1962
00000ba6: JUMP
00000ba7: JUMPDEST
00000ba8: PUSH2 0x0bb4
00000bab: PUSH1 0x01
00000bad: DUP6
00000bae: DUP5
00000baf: DUP7
00000bb0: PUSH2 0x19d8
00000bb3: JUMP
00000bb4: JUMPDEST
00000bb5: SWAP5
00000bb6: SWAP4
00000bb7: POP
00000bb8: POP
00000bb9: POP
00000bba: POP
00000bbb: JUMP
00000bbc: JUMPDEST
00000bbd: PUSH2 0x0bc4
00000bc0: PUSH2 0x127d
00000bc3: JUMP
00000bc4: JUMPDEST
00000bc5: PUSH2 0x0bec
00000bc8: JUMPI
00000bc9: PUSH1 0x40
00000bcb: MLOAD
00000bcc: PUSH1 0x01
00000bce: PUSH1 0xe5
00000bd0: SHL
00000bd1: PUSH3 0x461bcd
00000bd5: MUL
00000bd6: DUP2
00000bd7: MSTORE
00000bd8: PUSH1 0x04
00000bda: ADD
00000bdb: PUSH2 0x0be3
00000bde: SWAP1
00000bdf: PUSH2 0x5735
00000be2: JUMP
00000be3: JUMPDEST
00000be4: PUSH1 0x40
00000be6: MLOAD
00000be7: DUP1
00000be8: SWAP2
00000be9: SUB
00000bea: SWAP1
00000beb: REVERT
00000bec: JUMPDEST
00000bed: PUSH1 0x40
00000bef: MLOAD
00000bf0: PUSH1 0x01
00000bf2: PUSH1 0xe0
00000bf4: SHL
00000bf5: PUSH4 0xdb9ad4c7
00000bfa: MUL
00000bfb: DUP2
00000bfc: MSTORE
00000bfd: PUSH20 0x723091df82333033f1b646fe1ad7bbbf9cbe420c
00000c12: SWAP1
00000c13: PUSH4 0xdb9ad4c7
00000c18: SWAP1
00000c19: PUSH2 0x0c31
00000c1c: SWAP1
00000c1d: PUSH1 0x01
00000c1f: SWAP1
00000c20: DUP10
00000c21: SWAP1
00000c22: DUP10
00000c23: SWAP1
00000c24: DUP10
00000c25: SWAP1
00000c26: DUP10
00000c27: SWAP1
00000c28: DUP10
00000c29: SWAP1
00000c2a: PUSH1 0x04
00000c2c: ADD
00000c2d: PUSH2 0x59f9
00000c30: JUMP
00000c31: JUMPDEST
00000c32: PUSH1 0x00
00000c34: PUSH1 0x40
00000c36: MLOAD
00000c37: DUP1
00000c38: DUP4
00000c39: SUB
00000c3a: DUP2
00000c3b: DUP7
00000c3c: DUP1
00000c3d: EXTCODESIZE
00000c3e: ISZERO
00000c3f: DUP1
00000c40: ISZERO
00000c41: PUSH2 0x0c49
00000c44: JUMPI
00000c45: PUSH1 0x00
00000c47: DUP1
00000c48: REVERT
00000c49: JUMPDEST
00000c4a: POP
00000c4b: GAS
00000c4c: DELEGATECALL
00000c4d: ISZERO
00000c4e: DUP1
00000c4f: ISZERO
00000c50: PUSH2 0x0c5d
00000c53: JUMPI
00000c54: RETURNDATASIZE
00000c55: PUSH1 0x00
00000c57: DUP1
00000c58: RETURNDATACOPY
00000c59: RETURNDATASIZE
00000c5a: PUSH1 0x00
00000c5c: REVERT
00000c5d: JUMPDEST
00000c5e: POP
00000c5f: POP
00000c60: POP
00000c61: POP
00000c62: POP
00000c63: POP
00000c64: POP
00000c65: POP
00000c66: POP
00000c67: JUMP
00000c68: JUMPDEST
00000c69: PUSH2 0x0c73
00000c6c: PUSH1 0x01
00000c6e: DUP4
00000c6f: PUSH2 0x1b3c
00000c72: JUMP
00000c73: JUMPDEST
00000c74: PUSH2 0x0c7e
00000c77: PUSH1 0x01
00000c79: DUP4
00000c7a: PUSH2 0x1b6c
00000c7d: JUMP
00000c7e: JUMPDEST
00000c7f: PUSH1 0x40
00000c81: MLOAD
00000c82: PUSH1 0x01
00000c84: PUSH1 0xe0
00000c86: SHL
00000c87: PUSH4 0x4a025491
00000c8c: MUL
00000c8d: DUP2
00000c8e: MSTORE
00000c8f: PUSH20 0x3eb39889f4b38691249d5e67d5ecc844ce0297b8
00000ca4: SWAP1
00000ca5: PUSH4 0x4a025491
00000caa: SWAP1
00000cab: PUSH2 0x0cbd
00000cae: SWAP1
00000caf: PUSH1 0x01
00000cb1: SWAP1
00000cb2: DUP7
00000cb3: SWAP1
00000cb4: DUP7
00000cb5: SWAP1
00000cb6: PUSH1 0x04
00000cb8: ADD
00000cb9: PUSH2 0x5a61
00000cbc: JUMP
00000cbd: JUMPDEST
00000cbe: PUSH1 0x00
00000cc0: PUSH1 0x40
00000cc2: MLOAD
00000cc3: DUP1
00000cc4: DUP4
00000cc5: SUB
00000cc6: DUP2
00000cc7: DUP7
00000cc8: DUP1
00000cc9: EXTCODESIZE
00000cca: ISZERO
00000ccb: DUP1
00000ccc: ISZERO
00000ccd: PUSH2 0x0cd5
00000cd0: JUMPI
00000cd1: PUSH1 0x00
00000cd3: DUP1
00000cd4: REVERT
00000cd5: JUMPDEST
00000cd6: POP
00000cd7: GAS
00000cd8: DELEGATECALL
00000cd9: ISZERO
00000cda: DUP1
00000cdb: ISZERO
00000cdc: PUSH2 0x0ce9
00000cdf: JUMPI
00000ce0: RETURNDATASIZE
00000ce1: PUSH1 0x00
00000ce3: DUP1
00000ce4: RETURNDATACOPY
00000ce5: RETURNDATASIZE
00000ce6: PUSH1 0x00
00000ce8: REVERT
00000ce9: JUMPDEST
00000cea: POP
00000ceb: POP
00000cec: POP
00000ced: POP
00000cee: POP
00000cef: POP
00000cf0: JUMP
00000cf1: JUMPDEST
00000cf2: PUSH2 0x0cf9
00000cf5: PUSH2 0x39df
00000cf8: JUMP
00000cf9: JUMPDEST
00000cfa: PUSH2 0x0d04
00000cfd: PUSH1 0x01
00000cff: DUP4
00000d00: PUSH2 0x1b3c
00000d03: JUMP
00000d04: JUMPDEST
00000d05: PUSH1 0x40
00000d07: MLOAD
00000d08: PUSH1 0x01
00000d0a: PUSH1 0xe0
00000d0c: SHL
00000d0d: PUSH4 0xfc1d5a33
00000d12: MUL
00000d13: DUP2
00000d14: MSTORE
00000d15: PUSH20 0x3eb39889f4b38691249d5e67d5ecc844ce0297b8
00000d2a: SWAP1
00000d2b: PUSH4 0xfc1d5a33
00000d30: SWAP1
00000d31: PUSH2 0x0d41
00000d34: SWAP1
00000d35: PUSH1 0x01
00000d37: SWAP1
00000d38: DUP7
00000d39: SWAP1
00000d3a: PUSH1 0x04
00000d3c: ADD
00000d3d: PUSH2 0x5a53
00000d40: JUMP
00000d41: JUMPDEST
00000d42: PUSH2 0x0120
00000d45: PUSH1 0x40
00000d47: MLOAD
00000d48: DUP1
00000d49: DUP4
00000d4a: SUB
00000d4b: DUP2
00000d4c: DUP7
00000d4d: DUP1
00000d4e: EXTCODESIZE
00000d4f: ISZERO
00000d50: DUP1
00000d51: ISZERO
00000d52: PUSH2 0x0d5a
00000d55: JUMPI
00000d56: PUSH1 0x00
00000d58: DUP1
00000d59: REVERT
00000d5a: JUMPDEST
00000d5b: POP
00000d5c: GAS
00000d5d: DELEGATECALL
00000d5e: ISZERO
00000d5f: DUP1
00000d60: ISZERO
00000d61: PUSH2 0x0d6e
00000d64: JUMPI
00000d65: RETURNDATASIZE
00000d66: PUSH1 0x00
00000d68: DUP1
00000d69: RETURNDATACOPY
00000d6a: RETURNDATASIZE
00000d6b: PUSH1 0x00
00000d6d: REVERT
00000d6e: JUMPDEST
00000d6f: POP
00000d70: POP
00000d71: POP
00000d72: POP
00000d73: PUSH1 0x40
00000d75: MLOAD
00000d76: RETURNDATASIZE
00000d77: PUSH1 0x1f
00000d79: NOT
00000d7a: PUSH1 0x1f
00000d7c: DUP3
00000d7d: ADD
00000d7e: AND
00000d7f: DUP3
00000d80: ADD
00000d81: DUP1
00000d82: PUSH1 0x40
00000d84: MSTORE
00000d85: POP
00000d86: PUSH2 0x0d92
00000d89: SWAP2
00000d8a: SWAP1
00000d8b: DUP2
00000d8c: ADD
00000d8d: SWAP1
00000d8e: PUSH2 0x455c
00000d91: JUMP
00000d92: JUMPDEST
00000d93: SWAP3
00000d94: SWAP2
00000d95: POP
00000d96: POP
00000d97: JUMP
00000d98: JUMPDEST
00000d99: PUSH2 0x0da0
00000d9c: PUSH2 0x3a2b
00000d9f: JUMP
00000da0: JUMPDEST
00000da1: PUSH2 0x0dab
00000da4: PUSH1 0x01
00000da6: DUP4
00000da7: PUSH2 0x1bbc
00000daa: JUMP
00000dab: JUMPDEST
00000dac: POP
00000dad: PUSH1 0x01
00000daf: PUSH1 0x01
00000db1: PUSH1 0xa0
00000db3: SHL
00000db4: SUB
00000db5: SWAP1
00000db6: DUP2
00000db7: AND
00000db8: PUSH1 0x00
00000dba: SWAP1
00000dbb: DUP2
00000dbc: MSTORE
00000dbd: PUSH1 0x02
00000dbf: PUSH1 0x20
00000dc1: DUP2
00000dc2: DUP2
00000dc3: MSTORE
00000dc4: PUSH1 0x40
00000dc6: SWAP3
00000dc7: DUP4
00000dc8: SWAP1
00000dc9: KECCAK256
00000dca: DUP4
00000dcb: MLOAD
00000dcc: PUSH1 0x60
00000dce: DUP2
00000dcf: ADD
00000dd0: DUP6
00000dd1: MSTORE
00000dd2: DUP2
00000dd3: SLOAD
00000dd4: DUP7
00000dd5: AND
00000dd6: DUP2
00000dd7: MSTORE
00000dd8: PUSH1 0x01
00000dda: DUP3
00000ddb: ADD
00000ddc: SLOAD
00000ddd: DUP7
00000dde: AND
00000ddf: SWAP3
00000de0: DUP2
00000de1: ADD
00000de2: SWAP3
00000de3: SWAP1
00000de4: SWAP3
00000de5: MSTORE
00000de6: SWAP1
00000de7: SWAP2
00000de8: ADD
00000de9: SLOAD
00000dea: SWAP1
00000deb: SWAP3
00000dec: AND
00000ded: SWAP1
00000dee: DUP3
00000def: ADD
00000df0: MSTORE
00000df1: SWAP1
00000df2: JUMP
00000df3: JUMPDEST
00000df4: PUSH1 0x00
00000df6: PUSH2 0x0e00
00000df9: PUSH1 0x01
00000dfb: DUP5
00000dfc: PUSH2 0x1bbc
00000dff: JUMP
00000e00: JUMPDEST
00000e01: PUSH2 0x0933
00000e04: PUSH1 0x01
00000e06: DUP5
00000e07: DUP5
00000e08: PUSH2 0x1be5
00000e0b: JUMP
00000e0c: JUMPDEST
00000e0d: PUSH1 0x13
00000e0f: SLOAD
00000e10: PUSH1 0x01
00000e12: PUSH1 0x01
00000e14: PUSH1 0xa0
00000e16: SHL
00000e17: SUB
00000e18: AND
00000e19: SWAP1
00000e1a: JUMP
00000e1b: JUMPDEST
00000e1c: PUSH2 0x0e25
00000e1f: PUSH1 0x01
00000e21: PUSH2 0x1c12
00000e24: JUMP
00000e25: JUMPDEST
00000e26: JUMP
00000e27: JUMPDEST
00000e28: PUSH2 0x0e2f
00000e2b: PUSH2 0x127d
00000e2e: JUMP
00000e2f: JUMPDEST
00000e30: PUSH2 0x0e4e
00000e33: JUMPI
00000e34: PUSH1 0x40
00000e36: MLOAD
00000e37: PUSH1 0x01
00000e39: PUSH1 0xe5
00000e3b: SHL
00000e3c: PUSH3 0x461bcd
00000e40: MUL
00000e41: DUP2
00000e42: MSTORE
00000e43: PUSH1 0x04
00000e45: ADD
00000e46: PUSH2 0x0be3
00000e49: SWAP1
00000e4a: PUSH2 0x5735
00000e4d: JUMP
00000e4e: JUMPDEST
00000e4f: PUSH1 0x40
00000e51: MLOAD
00000e52: PUSH1 0x01
00000e54: PUSH1 0xe3
00000e56: SHL
00000e57: PUSH4 0x13cafdf1
00000e5c: MUL
00000e5d: DUP2
00000e5e: MSTORE
00000e5f: PUSH20 0x723091df82333033f1b646fe1ad7bbbf9cbe420c
00000e74: SWAP1
00000e75: PUSH4 0x9e57ef88
00000e7a: SWAP1
00000e7b: PUSH2 0x0e99
00000e7e: SWAP1
00000e7f: PUSH1 0x01
00000e81: SWAP1
00000e82: DUP13
00000e83: SWAP1
00000e84: DUP13
00000e85: SWAP1
00000e86: DUP13
00000e87: SWAP1
00000e88: DUP13
00000e89: SWAP1
00000e8a: DUP13
00000e8b: SWAP1
00000e8c: DUP13
00000e8d: SWAP1
00000e8e: DUP13
00000e8f: SWAP1
00000e90: DUP13
00000e91: SWAP1
00000e92: PUSH1 0x04
00000e94: ADD
00000e95: PUSH2 0x58c9
00000e98: JUMP
00000e99: JUMPDEST
00000e9a: PUSH1 0x00
00000e9c: PUSH1 0x40
00000e9e: MLOAD
00000e9f: DUP1
00000ea0: DUP4
00000ea1: SUB
00000ea2: DUP2
00000ea3: DUP7
00000ea4: DUP1
00000ea5: EXTCODESIZE
00000ea6: ISZERO
00000ea7: DUP1
00000ea8: ISZERO
00000ea9: PUSH2 0x0eb1
00000eac: JUMPI
00000ead: PUSH1 0x00
00000eaf: DUP1
00000eb0: REVERT
00000eb1: JUMPDEST
00000eb2: POP
00000eb3: GAS
00000eb4: DELEGATECALL
00000eb5: ISZERO
00000eb6: DUP1
00000eb7: ISZERO
00000eb8: PUSH2 0x0ec5
00000ebb: JUMPI
00000ebc: RETURNDATASIZE
00000ebd: PUSH1 0x00
00000ebf: DUP1
00000ec0: RETURNDATACOPY
00000ec1: RETURNDATASIZE
00000ec2: PUSH1 0x00
00000ec4: REVERT
00000ec5: JUMPDEST
00000ec6: POP
00000ec7: POP
00000ec8: POP
00000ec9: POP
00000eca: POP
00000ecb: POP
00000ecc: POP
00000ecd: POP
00000ece: POP
00000ecf: POP
00000ed0: POP
00000ed1: POP
00000ed2: JUMP
00000ed3: JUMPDEST
00000ed4: PUSH1 0x00
00000ed6: PUSH2 0x0d92
00000ed9: PUSH1 0x01
00000edb: DUP4
00000edc: PUSH2 0x1c37
00000edf: JUMP
00000ee0: JUMPDEST
00000ee1: PUSH1 0x00
00000ee3: DUP1
00000ee4: PUSH2 0x0eee
00000ee7: PUSH1 0x01
00000ee9: DUP6
00000eea: PUSH2 0x1bbc
00000eed: JUMP
00000eee: JUMPDEST
00000eef: PUSH2 0x0b83
00000ef2: PUSH1 0x01
00000ef4: DUP6
00000ef5: DUP6
00000ef6: PUSH2 0x1c7e
00000ef9: JUMP
00000efa: JUMPDEST
00000efb: PUSH1 0x00
00000efd: PUSH2 0x0d92
00000f00: PUSH1 0x01
00000f02: DUP4
00000f03: PUSH2 0x1db1
00000f06: JUMP
00000f07: JUMPDEST
00000f08: PUSH2 0x0f0f
00000f0b: PUSH2 0x3a4b
00000f0e: JUMP
00000f0f: JUMPDEST
00000f10: PUSH2 0x0f1a
00000f13: PUSH1 0x01
00000f15: DUP4
00000f16: PUSH2 0x1751
00000f19: JUMP
00000f1a: JUMPDEST
00000f1b: PUSH2 0x0933
00000f1e: PUSH1 0x01
00000f20: DUP5
00000f21: DUP5
00000f22: PUSH2 0x177c
00000f25: JUMP
00000f26: JUMPDEST
00000f27: PUSH1 0x00
00000f29: SWAP1
00000f2a: DUP2
00000f2b: MSTORE
00000f2c: PUSH1 0x11
00000f2e: PUSH1 0x20
00000f30: MSTORE
00000f31: PUSH1 0x40
00000f33: SWAP1
00000f34: KECCAK256
00000f35: SLOAD
00000f36: SWAP1
00000f37: JUMP
00000f38: JUMPDEST
00000f39: PUSH1 0x18
00000f3b: DUP1
00000f3c: SLOAD
00000f3d: PUSH1 0x40
00000f3f: DUP1
00000f40: MLOAD
00000f41: PUSH1 0x20
00000f43: DUP1
00000f44: DUP5
00000f45: MUL
00000f46: DUP3
00000f47: ADD
00000f48: DUP2
00000f49: ADD
00000f4a: SWAP1
00000f4b: SWAP3
00000f4c: MSTORE
00000f4d: DUP3
00000f4e: DUP2
00000f4f: MSTORE
00000f50: PUSH1 0x60
00000f52: SWAP4
00000f53: SWAP1
00000f54: SWAP3
00000f55: SWAP1
00000f56: SWAP2
00000f57: DUP4
00000f58: ADD
00000f59: DUP3
00000f5a: DUP3
00000f5b: DUP1
00000f5c: ISZERO
00000f5d: PUSH2 0x0fb1
00000f60: JUMPI
00000f61: PUSH1 0x20
00000f63: MUL
00000f64: DUP3
00000f65: ADD
00000f66: SWAP2
00000f67: SWAP1
00000f68: PUSH1 0x00
00000f6a: MSTORE
00000f6b: PUSH1 0x20
00000f6d: PUSH1 0x00
00000f6f: KECCAK256
00000f70: SWAP1
00000f71: PUSH1 0x00
00000f73: SWAP1
00000f74: JUMPDEST
00000f75: DUP3
00000f76: DUP3
00000f77: SWAP1
00000f78: SLOAD
00000f79: SWAP1
00000f7a: PUSH2 0x0100
00000f7d: EXP
00000f7e: SWAP1
00000f7f: DIV
00000f80: PUSH4 0xffffffff
00000f85: AND
00000f86: PUSH4 0xffffffff
00000f8b: AND
00000f8c: DUP2
00000f8d: MSTORE
00000f8e: PUSH1 0x20
00000f90: ADD
00000f91: SWAP1
00000f92: PUSH1 0x04
00000f94: ADD
00000f95: SWAP1
00000f96: PUSH1 0x20
00000f98: DUP3
00000f99: PUSH1 0x03
00000f9b: ADD
00000f9c: DIV
00000f9d: SWAP3
00000f9e: DUP4
00000f9f: ADD
00000fa0: SWAP3
00000fa1: PUSH1 0x01
00000fa3: SUB
00000fa4: DUP3
00000fa5: MUL
00000fa6: SWAP2
00000fa7: POP
00000fa8: DUP1
00000fa9: DUP5
00000faa: GT
00000fab: PUSH2 0x0f74
00000fae: JUMPI
00000faf: SWAP1
00000fb0: POP
00000fb1: JUMPDEST
00000fb2: POP
00000fb3: POP
00000fb4: POP
00000fb5: POP
00000fb6: POP
00000fb7: SWAP1
00000fb8: POP
00000fb9: SWAP1
00000fba: JUMP
00000fbb: JUMPDEST
00000fbc: PUSH1 0x00
00000fbe: PUSH2 0x0fc8
00000fc1: PUSH1 0x01
00000fc3: DUP4
00000fc4: PUSH2 0x1bbc
00000fc7: JUMP
00000fc8: JUMPDEST
00000fc9: PUSH1 0x01
00000fcb: PUSH1 0x01
00000fcd: PUSH1 0xa0
00000fcf: SHL
00000fd0: SUB
00000fd1: DUP1
00000fd2: DUP4
00000fd3: AND
00000fd4: PUSH1 0x00
00000fd6: SWAP1
00000fd7: DUP2
00000fd8: MSTORE
00000fd9: PUSH1 0x02
00000fdb: PUSH1 0x20
00000fdd: MSTORE
00000fde: PUSH1 0x40
00000fe0: SWAP1
00000fe1: KECCAK256
00000fe2: PUSH1 0x01
00000fe4: ADD
00000fe5: SLOAD
00000fe6: PUSH2 0x0d92
00000fe9: SWAP2
00000fea: AND
00000feb: DUP4
00000fec: PUSH2 0x1e99
00000fef: JUMP
00000ff0: JUMPDEST
00000ff1: PUSH1 0x00
00000ff3: PUSH2 0x0ffd
00000ff6: PUSH1 0x01
00000ff8: DUP4
00000ff9: PUSH2 0x1bbc
00000ffc: JUMP
00000ffd: JUMPDEST
00000ffe: POP
00000fff: PUSH1 0x01
00001001: PUSH1 0x01
00001003: PUSH1 0xa0
00001005: SHL
00001006: SUB
00001007: AND
00001008: PUSH1 0x00
0000100a: SWAP1
0000100b: DUP2
0000100c: MSTORE
0000100d: PUSH1 0x08
0000100f: PUSH1 0x20
00001011: MSTORE
00001012: PUSH1 0x40
00001014: SWAP1
00001015: KECCAK256
00001016: SLOAD
00001017: SWAP1
00001018: JUMP
00001019: JUMPDEST
0000101a: PUSH1 0x00
0000101c: PUSH2 0x1026
0000101f: PUSH1 0x01
00001021: DUP4
00001022: PUSH2 0x1bbc
00001025: JUMP
00001026: JUMPDEST
00001027: PUSH2 0x0d92
0000102a: PUSH1 0x01
0000102c: DUP4
0000102d: PUSH2 0x1ee9
00001030: JUMP
00001031: JUMPDEST
00001032: PUSH2 0x1039
00001035: PUSH2 0x127d
00001038: JUMP
00001039: JUMPDEST
0000103a: PUSH2 0x1058
0000103d: JUMPI
0000103e: PUSH1 0x40
00001040: MLOAD
00001041: PUSH1 0x01
00001043: PUSH1 0xe5
00001045: SHL
00001046: PUSH3 0x461bcd
0000104a: MUL
0000104b: DUP2
0000104c: MSTORE
0000104d: PUSH1 0x04
0000104f: ADD
00001050: PUSH2 0x0be3
00001053: SWAP1
00001054: PUSH2 0x5735
00001057: JUMP
00001058: JUMPDEST
00001059: PUSH1 0x00
0000105b: DUP1
0000105c: SLOAD
0000105d: PUSH1 0x40
0000105f: MLOAD
00001060: PUSH1 0x01
00001062: PUSH1 0x01
00001064: PUSH1 0xa0
00001066: SHL
00001067: SUB
00001068: SWAP1
00001069: SWAP2
0000106a: AND
0000106b: SWAP1
0000106c: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0000108d: SWAP1
0000108e: DUP4
0000108f: SWAP1
00001090: LOG3
00001091: PUSH1 0x00
00001093: DUP1
00001094: SLOAD
00001095: PUSH1 0x01
00001097: PUSH1 0x01
00001099: PUSH1 0xa0
0000109b: SHL
0000109c: SUB
0000109d: NOT
0000109e: AND
0000109f: SWAP1
000010a0: SSTORE
000010a1: JUMP
000010a2: JUMPDEST
000010a3: PUSH2 0x10aa
000010a6: PUSH2 0x127d
000010a9: JUMP
000010aa: JUMPDEST
000010ab: PUSH2 0x10c9
000010ae: JUMPI
000010af: PUSH1 0x40
000010b1: MLOAD
000010b2: PUSH1 0x01
000010b4: PUSH1 0xe5
000010b6: SHL
000010b7: PUSH3 0x461bcd
000010bb: MUL
000010bc: DUP2
000010bd: MSTORE
000010be: PUSH1 0x04
000010c0: ADD
000010c1: PUSH2 0x0be3
000010c4: SWAP1
000010c5: PUSH2 0x5735
000010c8: JUMP
000010c9: JUMPDEST
000010ca: PUSH1 0x40
000010cc: MLOAD
000010cd: PUSH1 0x01
000010cf: PUSH1 0xe0
000010d1: SHL
000010d2: PUSH4 0x2241a75b
000010d7: MUL
000010d8: DUP2
000010d9: MSTORE
000010da: PUSH20 0x723091df82333033f1b646fe1ad7bbbf9cbe420c
000010ef: SWAP1
000010f0: PUSH4 0x2241a75b
000010f5: SWAP1
000010f6: PUSH2 0x110a
000010f9: SWAP1
000010fa: PUSH1 0x01
000010fc: SWAP1
000010fd: DUP8
000010fe: SWAP1
000010ff: DUP8
00001100: SWAP1
00001101: DUP8
00001102: SWAP1
00001103: PUSH1 0x04
00001105: ADD
00001106: PUSH2 0x5894
00001109: JUMP
0000110a: JUMPDEST
0000110b: PUSH1 0x00
0000110d: PUSH1 0x40
0000110f: MLOAD
00001110: DUP1
00001111: DUP4
00001112: SUB
00001113: DUP2
00001114: DUP7
00001115: DUP1
00001116: EXTCODESIZE
00001117: ISZERO
00001118: DUP1
00001119: ISZERO
0000111a: PUSH2 0x1122
0000111d: JUMPI
0000111e: PUSH1 0x00
00001120: DUP1
00001121: REVERT
00001122: JUMPDEST
00001123: POP
00001124: GAS
00001125: DELEGATECALL
00001126: ISZERO
00001127: DUP1
00001128: ISZERO
00001129: PUSH2 0x1136
0000112c: JUMPI
0000112d: RETURNDATASIZE
0000112e: PUSH1 0x00
00001130: DUP1
00001131: RETURNDATACOPY
00001132: RETURNDATASIZE
00001133: PUSH1 0x00
00001135: REVERT
00001136: JUMPDEST
00001137: POP
00001138: POP
00001139: POP
0000113a: POP
0000113b: POP
0000113c: POP
0000113d: POP
0000113e: JUMP
0000113f: JUMPDEST
00001140: PUSH1 0x00
00001142: PUSH2 0x0bb4
00001145: DUP5
00001146: DUP5
00001147: PUSH2 0x1155
0000114a: CALLDATASIZE
0000114b: DUP7
0000114c: SWAP1
0000114d: SUB
0000114e: DUP7
0000114f: ADD
00001150: DUP7
00001151: PUSH2 0x460c
00001154: JUMP
00001155: JUMPDEST
00001156: PUSH2 0x1f04
00001159: JUMP
0000115a: JUMPDEST
0000115b: PUSH1 0x40
0000115d: MLOAD
0000115e: PUSH1 0x01
00001160: PUSH1 0xe6
00001162: SHL
00001163: PUSH4 0x03d5fb89
00001168: MUL
00001169: DUP2
0000116a: MSTORE
0000116b: PUSH20 0xbf7e93f3a5730416e2229eac9d4fa9794b327477
00001180: SWAP1
00001181: PUSH4 0xf57ee240
00001186: SWAP1
00001187: PUSH2 0x1199
0000118a: SWAP1
0000118b: PUSH1 0x01
0000118d: SWAP1
0000118e: DUP6
0000118f: SWAP1
00001190: CALLVALUE
00001191: SWAP1
00001192: PUSH1 0x04
00001194: ADD
00001195: PUSH2 0x596b
00001198: JUMP
00001199: JUMPDEST
0000119a: PUSH1 0x00
0000119c: PUSH1 0x40
0000119e: MLOAD
0000119f: DUP1
000011a0: DUP4
000011a1: SUB
000011a2: DUP2
000011a3: DUP7
000011a4: DUP1
000011a5: EXTCODESIZE
000011a6: ISZERO
000011a7: DUP1
000011a8: ISZERO
000011a9: PUSH2 0x11b1
000011ac: JUMPI
000011ad: PUSH1 0x00
000011af: DUP1
000011b0: REVERT
000011b1: JUMPDEST
000011b2: POP
000011b3: GAS
000011b4: DELEGATECALL
000011b5: ISZERO
000011b6: DUP1
000011b7: ISZERO
000011b8: PUSH2 0x11c5
000011bb: JUMPI
000011bc: RETURNDATASIZE
000011bd: PUSH1 0x00
000011bf: DUP1
000011c0: RETURNDATACOPY
000011c1: RETURNDATASIZE
000011c2: PUSH1 0x00
000011c4: REVERT
000011c5: JUMPDEST
000011c6: POP
000011c7: POP
000011c8: POP
000011c9: POP
000011ca: POP
000011cb: JUMP
000011cc: JUMPDEST
000011cd: PUSH1 0x00
000011cf: PUSH2 0x11d9
000011d2: PUSH1 0x01
000011d4: DUP4
000011d5: PUSH2 0x1bbc
000011d8: JUMP
000011d9: JUMPDEST
000011da: PUSH2 0x0d92
000011dd: PUSH1 0x01
000011df: DUP4
000011e0: PUSH2 0x2013
000011e3: JUMP
000011e4: JUMPDEST
000011e5: PUSH2 0x11ec
000011e8: PUSH2 0x127d
000011eb: JUMP
000011ec: JUMPDEST
000011ed: PUSH2 0x120b
000011f0: JUMPI
000011f1: PUSH1 0x40
000011f3: MLOAD
000011f4: PUSH1 0x01
000011f6: PUSH1 0xe5
000011f8: SHL
000011f9: PUSH3 0x461bcd
000011fd: MUL
000011fe: DUP2
000011ff: MSTORE
00001200: PUSH1 0x04
00001202: ADD
00001203: PUSH2 0x0be3
00001206: SWAP1
00001207: PUSH2 0x5735
0000120a: JUMP
0000120b: JUMPDEST
0000120c: PUSH1 0x40
0000120e: MLOAD
0000120f: PUSH1 0x01
00001211: PUSH1 0xe1
00001213: SHL
00001214: PUSH4 0x0893a491
00001219: MUL
0000121a: DUP2
0000121b: MSTORE
0000121c: PUSH20 0x723091df82333033f1b646fe1ad7bbbf9cbe420c
00001231: SWAP1
00001232: PUSH4 0x11274922
00001237: SWAP1
00001238: PUSH2 0x1199
0000123b: SWAP1
0000123c: PUSH1 0x01
0000123e: SWAP1
0000123f: DUP6
00001240: SWAP1
00001241: PUSH1 0x04
00001243: ADD
00001244: PUSH2 0x59b5
00001247: JUMP
00001248: JUMPDEST
00001249: PUSH1 0x00
0000124b: SLOAD
0000124c: PUSH1 0x01
0000124e: PUSH1 0x01
00001250: PUSH1 0xa0
00001252: SHL
00001253: SUB
00001254: AND
00001255: SWAP1
00001256: JUMP
00001257: JUMPDEST
00001258: PUSH1 0x00
0000125a: PUSH2 0x1264
0000125d: PUSH1 0x01
0000125f: DUP4
00001260: PUSH2 0x1751
00001263: JUMP
00001264: JUMPDEST
00001265: PUSH2 0x1270
00001268: PUSH1 0x01
0000126a: DUP4
0000126b: DUP7
0000126c: PUSH2 0x1962
0000126f: JUMP
00001270: JUMPDEST
00001271: PUSH2 0x0bb4
00001274: PUSH1 0x01
00001276: DUP6
00001277: DUP6
00001278: DUP6
00001279: PUSH2 0x202e
0000127c: JUMP
0000127d: JUMPDEST
0000127e: PUSH1 0x00
00001280: SLOAD
00001281: PUSH1 0x01
00001283: PUSH1 0x01
00001285: PUSH1 0xa0
00001287: SHL
00001288: SUB
00001289: AND
0000128a: CALLER
0000128b: EQ
0000128c: SWAP1
0000128d: JUMP
0000128e: JUMPDEST
0000128f: PUSH1 0x00
00001291: PUSH2 0x0d92
00001294: PUSH1 0x01
00001296: DUP4
00001297: PUSH2 0x2087
0000129a: JUMP
0000129b: JUMPDEST
0000129c: PUSH1 0x01
0000129e: SLOAD
0000129f: PUSH2 0xffff
000012a2: AND
000012a3: SWAP1
000012a4: JUMP
000012a5: JUMPDEST
000012a6: PUSH2 0x0945
000012a9: PUSH1 0x01
000012ab: DUP3
000012ac: PUSH2 0x20aa
000012af: JUMP
000012b0: JUMPDEST
000012b1: PUSH2 0x12b8
000012b4: PUSH2 0x127d
000012b7: JUMP
000012b8: JUMPDEST
000012b9: PUSH2 0x12d7
000012bc: JUMPI
000012bd: PUSH1 0x40
000012bf: MLOAD
000012c0: PUSH1 0x01
000012c2: PUSH1 0xe5
000012c4: SHL
000012c5: PUSH3 0x461bcd
000012c9: MUL
000012ca: DUP2
000012cb: MSTORE
000012cc: PUSH1 0x04
000012ce: ADD
000012cf: PUSH2 0x0be3
000012d2: SWAP1
000012d3: PUSH2 0x5735
000012d6: JUMP
000012d7: JUMPDEST
000012d8: PUSH1 0x40
000012da: MLOAD
000012db: PUSH1 0x01
000012dd: PUSH1 0xe0
000012df: SHL
000012e0: PUSH4 0xfd9dbeeb
000012e5: MUL
000012e6: DUP2
000012e7: MSTORE
000012e8: PUSH20 0x723091df82333033f1b646fe1ad7bbbf9cbe420c
000012fd: SWAP1
000012fe: PUSH4 0xfd9dbeeb
00001303: SWAP1
00001304: PUSH2 0x1199
00001307: SWAP1
00001308: PUSH1 0x01
0000130a: SWAP1
0000130b: DUP6
0000130c: SWAP1
0000130d: PUSH1 0x04
0000130f: ADD
00001310: PUSH2 0x599a
00001313: JUMP
00001314: JUMPDEST
00001315: PUSH1 0x00
00001317: DUP1
00001318: PUSH2 0x1322
0000131b: PUSH1 0x01
0000131d: DUP5
0000131e: PUSH2 0x2333
00001321: JUMP
00001322: JUMPDEST
00001323: SWAP2
00001324: POP
00001325: SWAP2
00001326: POP
00001327: SWAP2
00001328: POP
00001329: SWAP2
0000132a: JUMP
0000132b: JUMPDEST
0000132c: PUSH2 0x0945
0000132f: PUSH1 0x01
00001331: PUSH2 0x133f
00001334: CALLDATASIZE
00001335: DUP5
00001336: SWAP1
00001337: SUB
00001338: DUP5
00001339: ADD
0000133a: DUP5
0000133b: PUSH2 0x45ed
0000133e: JUMP
0000133f: JUMPDEST
00001340: PUSH2 0x2449
00001343: JUMP
00001344: JUMPDEST
00001345: PUSH2 0x0e25
00001348: PUSH1 0x01
0000134a: PUSH2 0x24a6
0000134d: JUMP
0000134e: JUMPDEST
0000134f: PUSH2 0x1356
00001352: PUSH2 0x127d
00001355: JUMP
00001356: JUMPDEST
00001357: PUSH2 0x1375
0000135a: JUMPI
0000135b: PUSH1 0x40
0000135d: MLOAD
0000135e: PUSH1 0x01
00001360: PUSH1 0xe5
00001362: SHL
00001363: PUSH3 0x461bcd
00001367: MUL
00001368: DUP2
00001369: MSTORE
0000136a: PUSH1 0x04
0000136c: ADD
0000136d: PUSH2 0x0be3
00001370: SWAP1
00001371: PUSH2 0x5735
00001374: JUMP
00001375: JUMPDEST
00001376: PUSH1 0x40
00001378: MLOAD
00001379: PUSH1 0x01
0000137b: PUSH1 0xe0
0000137d: SHL
0000137e: PUSH4 0xe78e90d7
00001383: MUL
00001384: DUP2
00001385: MSTORE
00001386: PUSH20 0x723091df82333033f1b646fe1ad7bbbf9cbe420c
0000139b: SWAP1
0000139c: PUSH4 0xe78e90d7
000013a1: SWAP1
000013a2: PUSH2 0x1199
000013a5: SWAP1
000013a6: PUSH1 0x01
000013a8: SWAP1
000013a9: DUP6
000013aa: SWAP1
000013ab: PUSH1 0x04
000013ad: ADD
000013ae: PUSH2 0x599a
000013b1: JUMP
000013b2: JUMPDEST
000013b3: PUSH2 0x13ba
000013b6: PUSH2 0x127d
000013b9: JUMP
000013ba: JUMPDEST
000013bb: PUSH2 0x13d9
000013be: JUMPI
000013bf: PUSH1 0x40
000013c1: MLOAD
000013c2: PUSH1 0x01
000013c4: PUSH1 0xe5
000013c6: SHL
000013c7: PUSH3 0x461bcd
000013cb: MUL
000013cc: DUP2
000013cd: MSTORE
000013ce: PUSH1 0x04
000013d0: ADD
000013d1: PUSH2 0x0be3
000013d4: SWAP1
000013d5: PUSH2 0x5735
000013d8: JUMP
000013d9: JUMPDEST
000013da: PUSH1 0x40
000013dc: MLOAD
000013dd: PUSH1 0x01
000013df: PUSH1 0xe0
000013e1: SHL
000013e2: PUSH4 0x5b237955
000013e7: MUL
000013e8: DUP2
000013e9: MSTORE
000013ea: PUSH20 0x723091df82333033f1b646fe1ad7bbbf9cbe420c
000013ff: SWAP1
00001400: PUSH4 0x5b237955
00001405: SWAP1
00001406: PUSH2 0x1199
00001409: SWAP1
0000140a: PUSH1 0x01
0000140c: SWAP1
0000140d: DUP6
0000140e: SWAP1
0000140f: PUSH1 0x04
00001411: ADD
00001412: PUSH2 0x599a
00001415: JUMP
00001416: JUMPDEST
00001417: PUSH2 0x141e
0000141a: PUSH2 0x127d
0000141d: JUMP
0000141e: JUMPDEST
0000141f: PUSH2 0x143d
00001422: JUMPI
00001423: PUSH1 0x40
00001425: MLOAD
00001426: PUSH1 0x01
00001428: PUSH1 0xe5
0000142a: SHL
0000142b: PUSH3 0x461bcd
0000142f: MUL
00001430: DUP2
00001431: MSTORE
00001432: PUSH1 0x04
00001434: ADD
00001435: PUSH2 0x0be3
00001438: SWAP1
00001439: PUSH2 0x5735
0000143c: JUMP
0000143d: JUMPDEST
0000143e: PUSH1 0x40
00001440: MLOAD
00001441: PUSH1 0x01
00001443: PUSH1 0xe0
00001445: SHL
00001446: PUSH4 0x7fd46871
0000144b: MUL
0000144c: DUP2
0000144d: MSTORE
0000144e: PUSH20 0x723091df82333033f1b646fe1ad7bbbf9cbe420c
00001463: SWAP1
00001464: PUSH4 0x7fd46871
00001469: SWAP1
0000146a: PUSH2 0x0cbd
0000146d: SWAP1
0000146e: PUSH1 0x01
00001470: SWAP1
00001471: DUP7
00001472: SWAP1
00001473: DUP7
00001474: SWAP1
00001475: PUSH1 0x04
00001477: ADD
00001478: PUSH2 0x59d1
0000147b: JUMP
0000147c: JUMPDEST
0000147d: PUSH1 0x16
0000147f: SLOAD
00001480: PUSH4 0xffffffff
00001485: AND
00001486: SWAP1
00001487: JUMP
00001488: JUMPDEST
00001489: PUSH1 0x00
0000148b: PUSH2 0x1495
0000148e: PUSH1 0x01
00001490: DUP6
00001491: PUSH2 0x1751
00001494: JUMP
00001495: JUMPDEST
00001496: PUSH2 0x14a1
00001499: PUSH1 0x01
0000149b: DUP6
0000149c: DUP6
0000149d: PUSH2 0x1962
000014a0: JUMP
000014a1: JUMPDEST
000014a2: PUSH2 0x0bb4
000014a5: PUSH1 0x01
000014a7: PUSH2 0x14b0
000014aa: DUP5
000014ab: DUP8
000014ac: PUSH2 0x24c8
000014af: JUMP
000014b0: JUMPDEST
000014b1: DUP6
000014b2: PUSH2 0x24ff
000014b5: JUMP
000014b6: JUMPDEST
000014b7: PUSH2 0x14be
000014ba: PUSH2 0x127d
000014bd: JUMP
000014be: JUMPDEST
000014bf: PUSH2 0x14dd
000014c2: JUMPI
000014c3: PUSH1 0x40
000014c5: MLOAD
000014c6: PUSH1 0x01
000014c8: PUSH1 0xe5
000014ca: SHL
000014cb: PUSH3 0x461bcd
000014cf: MUL
000014d0: DUP2
000014d1: MSTORE
000014d2: PUSH1 0x04
000014d4: ADD
000014d5: PUSH2 0x0be3
000014d8: SWAP1
000014d9: PUSH2 0x5735
000014dc: JUMP
000014dd: JUMPDEST
000014de: PUSH1 0x01
000014e0: PUSH1 0x01
000014e2: PUSH1 0xa0
000014e4: SHL
000014e5: SUB
000014e6: DUP2
000014e7: AND
000014e8: PUSH2 0x1506
000014eb: JUMPI
000014ec: PUSH1 0x40
000014ee: MLOAD
000014ef: PUSH1 0x01
000014f1: PUSH1 0xe5
000014f3: SHL
000014f4: PUSH3 0x461bcd
000014f8: MUL
000014f9: DUP2
000014fa: MSTORE
000014fb: PUSH1 0x04
000014fd: ADD
000014fe: PUSH2 0x0be3
00001501: SWAP1
00001502: PUSH2 0x56f5
00001505: JUMP
00001506: JUMPDEST
00001507: PUSH1 0x00
00001509: DUP1
0000150a: SLOAD
0000150b: PUSH1 0x40
0000150d: MLOAD
0000150e: PUSH1 0x01
00001510: PUSH1 0x01
00001512: PUSH1 0xa0
00001514: SHL
00001515: SUB
00001516: DUP1
00001517: DUP6
00001518: AND
00001519: SWAP4
0000151a: SWAP3
0000151b: AND
0000151c: SWAP2
0000151d: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
0000153e: SWAP2
0000153f: LOG3
00001540: PUSH1 0x00
00001542: DUP1
00001543: SLOAD
00001544: PUSH1 0x01
00001546: PUSH1 0x01
00001548: PUSH1 0xa0
0000154a: SHL
0000154b: SUB
0000154c: NOT
0000154d: AND
0000154e: PUSH1 0x01
00001550: PUSH1 0x01
00001552: PUSH1 0xa0
00001554: SHL
00001555: SUB
00001556: SWAP3
00001557: SWAP1
00001558: SWAP3
00001559: AND
0000155a: SWAP2
0000155b: SWAP1
0000155c: SWAP2
0000155d: OR
0000155e: SWAP1
0000155f: SSTORE
00001560: JUMP
00001561: JUMPDEST
00001562: PUSH1 0x00
00001564: PUSH2 0x0933
00001567: PUSH1 0x01
00001569: PUSH2 0x14b0
0000156c: DUP5
0000156d: PUSH2 0x15fd
00001570: JUMP
00001571: JUMPDEST
00001572: PUSH2 0x0945
00001575: PUSH1 0x01
00001577: DUP3
00001578: PUSH2 0x2536
0000157b: JUMP
0000157c: JUMPDEST
0000157d: PUSH1 0x00
0000157f: DUP1
00001580: MLOAD
00001581: PUSH1 0x04
00001583: MLOAD
00001584: PUSH1 0x24
00001586: MLOAD
00001587: PUSH1 0x44
00001589: MLOAD
0000158a: PUSH1 0x01
0000158c: PUSH1 0xe0
0000158e: SHL
0000158f: PUSH4 0x23b872dd
00001594: MUL
00001595: PUSH1 0x00
00001597: MSTORE
00001598: DUP8
00001599: PUSH1 0x04
0000159b: MSTORE
0000159c: DUP7
0000159d: PUSH1 0x24
0000159f: MSTORE
000015a0: DUP6
000015a1: PUSH1 0x44
000015a3: MSTORE
000015a4: PUSH1 0x20
000015a6: PUSH1 0x00
000015a8: PUSH1 0x64
000015aa: PUSH1 0x00
000015ac: DUP1
000015ad: DUP14
000015ae: GAS
000015af: CALL
000015b0: PUSH1 0x00
000015b2: MLOAD
000015b3: DUP6
000015b4: PUSH1 0x00
000015b6: MSTORE
000015b7: DUP5
000015b8: PUSH1 0x04
000015ba: MSTORE
000015bb: DUP4
000015bc: PUSH1 0x24
000015be: MSTORE
000015bf: DUP3
000015c0: PUSH1 0x44
000015c2: MSTORE
000015c3: PUSH1 0x00
000015c5: DUP2
000015c6: GT
000015c7: PUSH1 0x20
000015c9: RETURNDATASIZE
000015ca: EQ
000015cb: AND
000015cc: PUSH1 0x00
000015ce: RETURNDATASIZE
000015cf: EQ
000015d0: OR
000015d1: PUSH1 0x01
000015d3: DUP4
000015d4: EQ
000015d5: AND
000015d6: SWAP7
000015d7: POP
000015d8: POP
000015d9: POP
000015da: POP
000015db: POP
000015dc: POP
000015dd: POP
000015de: DUP1
000015df: PUSH2 0x11c5
000015e2: JUMPI
000015e3: PUSH1 0x40
000015e5: MLOAD
000015e6: PUSH1 0x01
000015e8: PUSH1 0xe5
000015ea: SHL
000015eb: PUSH3 0x461bcd
000015ef: MUL
000015f0: DUP2
000015f1: MSTORE
000015f2: PUSH1 0x04
000015f4: ADD
000015f5: PUSH2 0x0be3
000015f8: SWAP1
000015f9: PUSH2 0x55c5
000015fc: JUMP
000015fd: JUMPDEST
000015fe: PUSH2 0x1605
00001601: PUSH2 0x3a74
00001604: JUMP
00001605: JUMPDEST
00001606: POP
00001607: PUSH1 0x40
00001609: DUP1
0000160a: MLOAD
0000160b: PUSH1 0x60
0000160d: DUP2
0000160e: ADD
0000160f: DUP3
00001610: MSTORE
00001611: PUSH1 0x00
00001613: DUP1
00001614: DUP3
00001615: MSTORE
00001616: PUSH1 0x20
00001618: DUP3
00001619: ADD
0000161a: MSTORE
0000161b: PUSH1 0x01
0000161d: PUSH1 0x01
0000161f: PUSH1 0xa0
00001621: SHL
00001622: SUB
00001623: SWAP3
00001624: SWAP1
00001625: SWAP3
00001626: AND
00001627: SWAP1
00001628: DUP3
00001629: ADD
0000162a: MSTORE
0000162b: SWAP1
0000162c: JUMP
0000162d: JUMPDEST
0000162e: PUSH1 0x00
00001630: PUSH2 0x163f
00001633: DUP4
00001634: DUP7
00001635: PUSH4 0xffffffff
0000163a: PUSH2 0x256d
0000163d: AND
0000163e: JUMP
0000163f: JUMPDEST
00001640: PUSH1 0x01
00001642: PUSH1 0x01
00001644: PUSH1 0xa0
00001646: SHL
00001647: SUB
00001648: DUP6
00001649: AND
0000164a: PUSH1 0x00
0000164c: SWAP1
0000164d: DUP2
0000164e: MSTORE
0000164f: PUSH1 0x20
00001651: DUP3
00001652: SWAP1
00001653: MSTORE
00001654: PUSH1 0x40
00001656: SWAP1
00001657: KECCAK256
00001658: SLOAD
00001659: SWAP1
0000165a: SWAP2
0000165b: POP
0000165c: PUSH2 0x166b
0000165f: SWAP1
00001660: DUP4
00001661: PUSH4 0xffffffff
00001666: PUSH2 0x25db
00001669: AND
0000166a: JUMP
0000166b: JUMPDEST
0000166c: PUSH1 0x01
0000166e: PUSH1 0x01
00001670: PUSH1 0xa0
00001672: SHL
00001673: SUB
00001674: DUP6
00001675: AND
00001676: PUSH1 0x00
00001678: SWAP1
00001679: DUP2
0000167a: MSTORE
0000167b: PUSH1 0x20
0000167d: DUP4
0000167e: DUP2
0000167f: MSTORE
00001680: PUSH1 0x40
00001682: DUP1
00001683: DUP4
00001684: KECCAK256
00001685: SWAP4
00001686: SWAP1
00001687: SWAP4
00001688: SSTORE
00001689: PUSH1 0x02
0000168b: DUP9
0000168c: ADD
0000168d: SWAP1
0000168e: MSTORE
0000168f: KECCAK256
00001690: SLOAD
00001691: PUSH2 0x16a0
00001694: SWAP1
00001695: DUP4
00001696: PUSH4 0xffffffff
0000169b: PUSH2 0x2603
0000169e: AND
0000169f: JUMP
000016a0: JUMPDEST
000016a1: PUSH1 0x01
000016a3: PUSH1 0x01
000016a5: PUSH1 0xa0
000016a7: SHL
000016a8: SUB
000016a9: SWAP1
000016aa: SWAP5
000016ab: AND
000016ac: PUSH1 0x00
000016ae: SWAP1
000016af: DUP2
000016b0: MSTORE
000016b1: PUSH1 0x02
000016b3: SWAP1
000016b4: SWAP6
000016b5: ADD
000016b6: PUSH1 0x20
000016b8: MSTORE
000016b9: POP
000016ba: POP
000016bb: PUSH1 0x40
000016bd: SWAP1
000016be: SWAP3
000016bf: KECCAK256
000016c0: SSTORE
000016c1: POP
000016c2: JUMP
000016c3: JUMPDEST
000016c4: DUP2
000016c5: PUSH1 0x01
000016c7: PUSH1 0x01
000016c9: PUSH1 0xa0
000016cb: SHL
000016cc: SUB
000016cd: AND
000016ce: DUP4
000016cf: PUSH1 0x01
000016d1: PUSH1 0x01
000016d3: PUSH1 0xa0
000016d5: SHL
000016d6: SUB
000016d7: AND
000016d8: PUSH32 0x5548c837ab068cf56a2c2479df0882a4922fd203edb7517321831d95078c5f62
000016f9: DUP4
000016fa: PUSH1 0x40
000016fc: MLOAD
000016fd: PUSH2 0x1706
00001700: SWAP2
00001701: SWAP1
00001702: PUSH2 0x5a89
00001705: JUMP
00001706: JUMPDEST
00001707: PUSH1 0x40
00001709: MLOAD
0000170a: DUP1
0000170b: SWAP2
0000170c: SUB
0000170d: SWAP1
0000170e: LOG3
0000170f: POP
00001710: POP
00001711: POP
00001712: JUMP
00001713: JUMPDEST
00001714: CALLER
00001715: PUSH1 0x00
00001717: DUP2
00001718: DUP2
00001719: MSTORE
0000171a: PUSH1 0x13
0000171c: DUP5
0000171d: ADD
0000171e: PUSH1 0x20
00001720: SWAP1
00001721: DUP2
00001722: MSTORE
00001723: PUSH1 0x40
00001725: DUP1
00001726: DUP4
00001727: KECCAK256
00001728: PUSH1 0x01
0000172a: PUSH1 0x01
0000172c: PUSH1 0xa0
0000172e: SHL
0000172f: SUB
00001730: DUP7
00001731: AND
00001732: DUP5
00001733: MSTORE
00001734: SWAP1
00001735: SWAP2
00001736: MSTORE
00001737: SWAP1
00001738: KECCAK256
00001739: DUP1
0000173a: SLOAD
0000173b: PUSH1 0xff
0000173d: NOT
0000173e: AND
0000173f: PUSH1 0x01
00001741: OR
00001742: SWAP1
00001743: SSTORE
00001744: PUSH2 0x174d
00001747: SWAP1
00001748: DUP3
00001749: PUSH2 0x2655
0000174c: JUMP
0000174d: JUMPDEST
0000174e: POP
0000174f: POP
00001750: JUMP
00001751: JUMPDEST
00001752: DUP2
00001753: SLOAD
00001754: PUSH2 0xffff
00001757: SWAP1
00001758: DUP2
00001759: AND
0000175a: SWAP1
0000175b: DUP3
0000175c: AND
0000175d: LT
0000175e: PUSH2 0x174d
00001761: JUMPI
00001762: PUSH1 0x40
00001764: MLOAD
00001765: PUSH1 0x01
00001767: PUSH1 0xe5
00001769: SHL
0000176a: PUSH3 0x461bcd
0000176e: MUL
0000176f: DUP2
00001770: MSTORE
00001771: PUSH1 0x04
00001773: ADD
00001774: PUSH2 0x0be3
00001777: SWAP1
00001778: PUSH2 0x5795
0000177b: JUMP
0000177c: JUMPDEST
0000177d: PUSH2 0x1784
00001780: PUSH2 0x3a4b
00001783: JUMP
00001784: JUMPDEST
00001785: PUSH1 0x01
00001787: PUSH1 0x01
00001789: PUSH1 0xa0
0000178b: SHL
0000178c: SUB
0000178d: DUP4
0000178e: AND
0000178f: PUSH1 0x00
00001791: SWAP1
00001792: DUP2
00001793: MSTORE
00001794: PUSH1 0x03
00001796: DUP6
00001797: ADD
00001798: PUSH1 0x20
0000179a: SWAP1
0000179b: DUP2
0000179c: MSTORE
0000179d: PUSH1 0x40
0000179f: DUP1
000017a0: DUP4
000017a1: KECCAK256
000017a2: PUSH2 0xffff
000017a5: DUP7
000017a6: AND
000017a7: DUP5
000017a8: MSTORE
000017a9: DUP3
000017aa: MSTORE
000017ab: DUP1
000017ac: DUP4
000017ad: KECCAK256
000017ae: PUSH1 0x04
000017b0: DUP9
000017b1: ADD
000017b2: DUP4
000017b3: MSTORE
000017b4: SWAP3
000017b5: KECCAK256
000017b6: DUP3
000017b7: SLOAD
000017b8: SWAP1
000017b9: SWAP2
000017ba: DUP5
000017bb: ADD
000017bc: SWAP1
000017bd: PUSH7 0x01000000000000
000017c5: SWAP1
000017c6: DIV
000017c7: PUSH1 0xff
000017c9: AND
000017ca: PUSH1 0x01
000017cc: DUP2
000017cd: GT
000017ce: ISZERO
000017cf: PUSH2 0x17d4
000017d2: JUMPI
000017d3: INVALID
000017d4: JUMPDEST
000017d5: SWAP1
000017d6: DUP2
000017d7: PUSH1 0x01
000017d9: DUP2
000017da: GT
000017db: ISZERO
000017dc: PUSH2 0x17e1
000017df: JUMPI
000017e0: INVALID
000017e1: JUMPDEST
000017e2: SWAP1
000017e3: MSTORE
000017e4: POP
000017e5: DUP1
000017e6: SLOAD
000017e7: PUSH1 0x01
000017e9: DUP1
000017ea: DUP4
000017eb: ADD
000017ec: SLOAD
000017ed: PUSH1 0x01
000017ef: PUSH1 0x01
000017f1: PUSH1 0xa0
000017f3: SHL
000017f4: SUB
000017f5: SWAP3
000017f6: DUP4
000017f7: AND
000017f8: PUSH1 0x00
000017fa: DUP2
000017fb: DUP2
000017fc: MSTORE
000017fd: DUP11
000017fe: DUP5
000017ff: ADD
00001800: PUSH1 0x20
00001802: MSTORE
00001803: PUSH1 0x40
00001805: DUP2
00001806: KECCAK256
00001807: SWAP1
00001808: SWAP4
00001809: ADD
0000180a: SLOAD
0000180b: SWAP1
0000180c: SWAP4
0000180d: SWAP2
0000180e: DUP3
0000180f: AND
00001810: SWAP3
00001811: SWAP2
00001812: PUSH2 0x181c
00001815: SWAP2
00001816: AND
00001817: DUP5
00001818: PUSH2 0x1e99
0000181b: JUMP
0000181c: JUMPDEST
0000181d: PUSH1 0x01
0000181f: PUSH1 0x01
00001821: PUSH1 0xa0
00001823: SHL
00001824: SUB
00001825: DUP1
00001826: DUP5
00001827: AND
00001828: PUSH1 0x00
0000182a: SWAP1
0000182b: DUP2
0000182c: MSTORE
0000182d: PUSH1 0x01
0000182f: DUP1
00001830: DUP14
00001831: ADD
00001832: PUSH1 0x20
00001834: MSTORE
00001835: PUSH1 0x40
00001837: DUP3
00001838: KECCAK256
00001839: ADD
0000183a: SLOAD
0000183b: SWAP3
0000183c: SWAP4
0000183d: POP
0000183e: SWAP2
0000183f: PUSH2 0x1849
00001842: SWAP2
00001843: AND
00001844: DUP5
00001845: PUSH2 0x1e99
00001848: JUMP
00001849: JUMPDEST
0000184a: SWAP1
0000184b: POP
0000184c: PUSH1 0x00
0000184e: PUSH2 0x1859
00001851: DUP12
00001852: DUP7
00001853: DUP13
00001854: DUP13
00001855: PUSH2 0x202e
00001858: JUMP
00001859: JUMPDEST
0000185a: SWAP1
0000185b: POP
0000185c: PUSH1 0x00
0000185e: PUSH2 0x1869
00001861: DUP13
00001862: DUP7
00001863: DUP14
00001864: DUP14
00001865: PUSH2 0x202e
00001868: JUMP
00001869: JUMPDEST
0000186a: SWAP1
0000186b: POP
0000186c: PUSH2 0x1873
0000186f: PUSH2 0x2699
00001872: JUMP
00001873: JUMPDEST
00001874: PUSH2 0x189b
00001877: PUSH2 0x1886
0000187a: DUP5
0000187b: DUP8
0000187c: PUSH4 0xffffffff
00001881: PUSH2 0x26a5
00001884: AND
00001885: JUMP
00001886: JUMPDEST
00001887: PUSH2 0x1896
0000188a: DUP5
0000188b: DUP8
0000188c: PUSH4 0xffffffff
00001891: PUSH2 0x26a5
00001894: AND
00001895: JUMP
00001896: JUMPDEST
00001897: PUSH2 0x25db
0000189a: JUMP
0000189b: JUMPDEST
0000189c: DUP2
0000189d: PUSH2 0x18a2
000018a0: JUMPI
000018a1: INVALID
000018a2: JUMPDEST
000018a3: DIV
000018a4: PUSH1 0x40
000018a6: DUP11
000018a7: ADD
000018a8: MSTORE
000018a9: PUSH2 0x18b0
000018ac: PUSH2 0x2699
000018af: JUMP
000018b0: JUMPDEST
000018b1: PUSH1 0x01
000018b3: PUSH1 0x01
000018b5: PUSH1 0xa0
000018b7: SHL
000018b8: SUB
000018b9: DUP8
000018ba: AND
000018bb: PUSH1 0x00
000018bd: SWAP1
000018be: DUP2
000018bf: MSTORE
000018c0: PUSH1 0x01
000018c2: DUP11
000018c3: ADD
000018c4: PUSH1 0x20
000018c6: MSTORE
000018c7: PUSH1 0x40
000018c9: SWAP1
000018ca: KECCAK256
000018cb: SLOAD
000018cc: PUSH2 0x190a
000018cf: SWAP1
000018d0: PUSH2 0x18df
000018d3: SWAP1
000018d4: DUP8
000018d5: PUSH4 0xffffffff
000018da: PUSH2 0x26a5
000018dd: AND
000018de: JUMP
000018df: JUMPDEST
000018e0: PUSH1 0x01
000018e2: PUSH1 0x01
000018e4: PUSH1 0xa0
000018e6: SHL
000018e7: SUB
000018e8: DUP9
000018e9: AND
000018ea: PUSH1 0x00
000018ec: SWAP1
000018ed: DUP2
000018ee: MSTORE
000018ef: PUSH1 0x01
000018f1: DUP13
000018f2: ADD
000018f3: PUSH1 0x20
000018f5: MSTORE
000018f6: PUSH1 0x40
000018f8: SWAP1
000018f9: KECCAK256
000018fa: SLOAD
000018fb: PUSH2 0x1896
000018fe: SWAP1
000018ff: DUP8
00001900: PUSH4 0xffffffff
00001905: PUSH2 0x26a5
00001908: AND
00001909: JUMP
0000190a: JUMPDEST
0000190b: DUP2
0000190c: PUSH2 0x1911
0000190f: JUMPI
00001910: INVALID
00001911: JUMPDEST
00001912: DIV
00001913: PUSH1 0x60
00001915: DUP11
00001916: ADD
00001917: MSTORE
00001918: PUSH1 0x00
0000191a: DUP10
0000191b: PUSH1 0x20
0000191d: ADD
0000191e: MLOAD
0000191f: PUSH1 0x01
00001921: DUP2
00001922: GT
00001923: ISZERO
00001924: PUSH2 0x1929
00001927: JUMPI
00001928: INVALID
00001929: JUMPDEST
0000192a: EQ
0000192b: ISZERO
0000192c: PUSH2 0x194e
0000192f: JUMPI
00001930: PUSH2 0x1941
00001933: DUP10
00001934: PUSH1 0x40
00001936: ADD
00001937: MLOAD
00001938: DUP9
00001939: PUSH1 0x02
0000193b: ADD
0000193c: SLOAD
0000193d: PUSH2 0x26e2
00001940: JUMP
00001941: JUMPDEST
00001942: PUSH1 0x60
00001944: DUP11
00001945: ADD
00001946: MLOAD
00001947: LT
00001948: DUP10
00001949: MSTORE
0000194a: PUSH2 0x1953
0000194d: JUMP
0000194e: JUMPDEST
0000194f: PUSH1 0x00
00001951: DUP10
00001952: MSTORE
00001953: JUMPDEST
00001954: POP
00001955: POP
00001956: POP
00001957: POP
00001958: POP
00001959: POP
0000195a: POP
0000195b: POP
0000195c: SWAP4
0000195d: SWAP3
0000195e: POP
0000195f: POP
00001960: POP
00001961: JUMP
00001962: JUMPDEST
00001963: PUSH2 0xffff
00001966: DUP3
00001967: AND
00001968: PUSH1 0x00
0000196a: SWAP1
0000196b: DUP2
0000196c: MSTORE
0000196d: PUSH1 0x04
0000196f: DUP5
00001970: ADD
00001971: PUSH1 0x20
00001973: MSTORE
00001974: PUSH1 0x40
00001976: SWAP1
00001977: KECCAK256
00001978: SLOAD
00001979: PUSH1 0x01
0000197b: PUSH1 0x01
0000197d: PUSH1 0xa0
0000197f: SHL
00001980: SUB
00001981: DUP3
00001982: DUP2
00001983: AND
00001984: SWAP2
00001985: AND
00001986: EQ
00001987: DUP1
00001988: PUSH2 0x19b4
0000198b: JUMPI
0000198c: POP
0000198d: PUSH2 0xffff
00001990: DUP3
00001991: AND
00001992: PUSH1 0x00
00001994: SWAP1
00001995: DUP2
00001996: MSTORE
00001997: PUSH1 0x04
00001999: DUP5
0000199a: ADD
0000199b: PUSH1 0x20
0000199d: MSTORE
0000199e: PUSH1 0x40
000019a0: SWAP1
000019a1: KECCAK256
000019a2: PUSH1 0x01
000019a4: ADD
000019a5: SLOAD
000019a6: PUSH1 0x01
000019a8: PUSH1 0x01
000019aa: PUSH1 0xa0
000019ac: SHL
000019ad: SUB
000019ae: DUP3
000019af: DUP2
000019b0: AND
000019b1: SWAP2
000019b2: AND
000019b3: EQ
000019b4: JUMPDEST
000019b5: PUSH2 0x19d3
000019b8: JUMPI
000019b9: PUSH1 0x40
000019bb: MLOAD
000019bc: PUSH1 0x01
000019be: PUSH1 0xe5
000019c0: SHL
000019c1: PUSH3 0x461bcd
000019c5: MUL
000019c6: DUP2
000019c7: MSTORE
000019c8: PUSH1 0x04
000019ca: ADD
000019cb: PUSH2 0x0be3
000019ce: SWAP1
000019cf: PUSH2 0x56a5
000019d2: JUMP
000019d3: JUMPDEST
000019d4: POP
000019d5: POP
000019d6: POP
000019d7: JUMP
000019d8: JUMPDEST
000019d9: PUSH1 0x00
000019db: PUSH2 0x19e2
000019de: PUSH2 0x3a4b
000019e1: JUMP
000019e2: JUMPDEST
000019e3: PUSH2 0x19ed
000019e6: DUP7
000019e7: DUP6
000019e8: DUP8
000019e9: PUSH2 0x177c
000019ec: JUMP
000019ed: JUMPDEST
000019ee: PUSH1 0x01
000019f0: PUSH1 0x01
000019f2: PUSH1 0xa0
000019f4: SHL
000019f5: SUB
000019f6: DUP1
000019f7: DUP7
000019f8: AND
000019f9: PUSH1 0x00
000019fb: SWAP1
000019fc: DUP2
000019fd: MSTORE
000019fe: PUSH1 0x03
00001a00: DUP1
00001a01: DUP11
00001a02: ADD
00001a03: PUSH1 0x20
00001a05: SWAP1
00001a06: DUP2
00001a07: MSTORE
00001a08: PUSH1 0x40
00001a0a: DUP1
00001a0b: DUP5
00001a0c: KECCAK256
00001a0d: PUSH2 0xffff
00001a10: DUP13
00001a11: AND
00001a12: DUP1
00001a13: DUP7
00001a14: MSTORE
00001a15: SWAP1
00001a16: DUP4
00001a17: MSTORE
00001a18: DUP2
00001a19: DUP6
00001a1a: KECCAK256
00001a1b: SWAP6
00001a1c: DUP11
00001a1d: AND
00001a1e: DUP6
00001a1f: MSTORE
00001a20: PUSH1 0x01
00001a22: SWAP1
00001a23: SWAP6
00001a24: ADD
00001a25: DUP3
00001a26: MSTORE
00001a27: DUP1
00001a28: DUP5
00001a29: KECCAK256
00001a2a: SLOAD
00001a2b: DUP2
00001a2c: DUP8
00001a2d: ADD
00001a2e: MLOAD
00001a2f: SWAP6
00001a30: DUP6
00001a31: MSTORE
00001a32: PUSH1 0x04
00001a34: DUP14
00001a35: ADD
00001a36: SWAP1
00001a37: SWAP3
00001a38: MSTORE
00001a39: DUP4
00001a3a: KECCAK256
00001a3b: SWAP1
00001a3c: SWAP2
00001a3d: ADD
00001a3e: SLOAD
00001a3f: SWAP4
00001a40: SWAP5
00001a41: POP
00001a42: SWAP3
00001a43: SWAP1
00001a44: SWAP2
00001a45: PUSH2 0x1a4d
00001a48: SWAP2
00001a49: PUSH2 0x26e2
00001a4c: JUMP
00001a4d: JUMPDEST
00001a4e: SWAP1
00001a4f: POP
00001a50: DUP3
00001a51: PUSH1 0x60
00001a53: ADD
00001a54: MLOAD
00001a55: DUP2
00001a56: GT
00001a57: ISZERO
00001a58: PUSH2 0x1a67
00001a5b: JUMPI
00001a5c: PUSH1 0x00
00001a5e: SWAP4
00001a5f: POP
00001a60: POP
00001a61: POP
00001a62: POP
00001a63: PUSH2 0x0bb4
00001a66: JUMP
00001a67: JUMPDEST
00001a68: PUSH1 0x60
00001a6a: DUP4
00001a6b: ADD
00001a6c: MLOAD
00001a6d: PUSH1 0x01
00001a6f: PUSH1 0x01
00001a71: PUSH1 0xa0
00001a73: SHL
00001a74: SUB
00001a75: DUP1
00001a76: DUP8
00001a77: AND
00001a78: PUSH1 0x00
00001a7a: SWAP1
00001a7b: DUP2
00001a7c: MSTORE
00001a7d: PUSH1 0x01
00001a7f: DUP1
00001a80: DUP13
00001a81: ADD
00001a82: PUSH1 0x20
00001a84: MSTORE
00001a85: PUSH1 0x40
00001a87: DUP1
00001a88: DUP4
00001a89: KECCAK256
00001a8a: SWAP1
00001a8b: SWAP2
00001a8c: ADD
00001a8d: SLOAD
00001a8e: SWAP1
00001a8f: MLOAD
00001a90: PUSH1 0x01
00001a92: PUSH1 0xe0
00001a94: SHL
00001a95: PUSH4 0x41976e09
00001a9a: MUL
00001a9b: DUP2
00001a9c: MSTORE
00001a9d: SWAP4
00001a9e: DUP6
00001a9f: SWAP1
00001aa0: SUB
00001aa1: SWAP4
00001aa2: SWAP2
00001aa3: SWAP3
00001aa4: AND
00001aa5: SWAP1
00001aa6: PUSH4 0x41976e09
00001aab: SWAP1
00001aac: PUSH2 0x1ab9
00001aaf: SWAP1
00001ab0: DUP11
00001ab1: SWAP1
00001ab2: PUSH1 0x04
00001ab4: ADD
00001ab5: PUSH2 0x54fa
00001ab8: JUMP
00001ab9: JUMPDEST
00001aba: PUSH1 0x20
00001abc: PUSH1 0x40
00001abe: MLOAD
00001abf: DUP1
00001ac0: DUP4
00001ac1: SUB
00001ac2: DUP2
00001ac3: DUP7
00001ac4: DUP1
00001ac5: EXTCODESIZE
00001ac6: ISZERO
00001ac7: DUP1
00001ac8: ISZERO
00001ac9: PUSH2 0x1ad1
00001acc: JUMPI
00001acd: PUSH1 0x00
00001acf: DUP1
00001ad0: REVERT
00001ad1: JUMPDEST
00001ad2: POP
00001ad3: GAS
00001ad4: STATICCALL
00001ad5: ISZERO
00001ad6: DUP1
00001ad7: ISZERO
00001ad8: PUSH2 0x1ae5
00001adb: JUMPI
00001adc: RETURNDATASIZE
00001add: PUSH1 0x00
00001adf: DUP1
00001ae0: RETURNDATACOPY
00001ae1: RETURNDATASIZE
00001ae2: PUSH1 0x00
00001ae4: REVERT
00001ae5: JUMPDEST
00001ae6: POP
00001ae7: POP
00001ae8: POP
00001ae9: POP
00001aea: PUSH1 0x40
00001aec: MLOAD
00001aed: RETURNDATASIZE
00001aee: PUSH1 0x1f
00001af0: NOT
00001af1: PUSH1 0x1f
00001af3: DUP3
00001af4: ADD
00001af5: AND
00001af6: DUP3
00001af7: ADD
00001af8: DUP1
00001af9: PUSH1 0x40
00001afb: MSTORE
00001afc: POP
00001afd: PUSH2 0x1b09
00001b00: SWAP2
00001b01: SWAP1
00001b02: DUP2
00001b03: ADD
00001b04: SWAP1
00001b05: PUSH2 0x470e
00001b08: JUMP
00001b09: JUMPDEST
00001b0a: SWAP1
00001b0b: POP
00001b0c: PUSH1 0x00
00001b0e: PUSH2 0x1b17
00001b11: DUP4
00001b12: DUP4
00001b13: PUSH2 0x2700
00001b16: JUMP
00001b17: JUMPDEST
00001b18: SWAP1
00001b19: POP
00001b1a: DUP5
00001b1b: DUP2
00001b1c: GT
00001b1d: ISZERO
00001b1e: PUSH2 0x1b2f
00001b21: JUMPI
00001b22: DUP5
00001b23: SWAP7
00001b24: POP
00001b25: POP
00001b26: POP
00001b27: POP
00001b28: POP
00001b29: POP
00001b2a: POP
00001b2b: PUSH2 0x0bb4
00001b2e: JUMP
00001b2f: JUMPDEST
00001b30: SWAP6
00001b31: POP
00001b32: PUSH2 0x0bb4
00001b35: SWAP5
00001b36: POP
00001b37: POP
00001b38: POP
00001b39: POP
00001b3a: POP
00001b3b: JUMP
00001b3c: JUMPDEST
00001b3d: PUSH1 0x15
00001b3f: DUP3
00001b40: ADD
00001b41: SLOAD
00001b42: PUSH4 0xffffffff
00001b47: SWAP1
00001b48: DUP2
00001b49: AND
00001b4a: SWAP1
00001b4b: DUP3
00001b4c: AND
00001b4d: LT
00001b4e: PUSH2 0x174d
00001b51: JUMPI
00001b52: PUSH1 0x40
00001b54: MLOAD
00001b55: PUSH1 0x01
00001b57: PUSH1 0xe5
00001b59: SHL
00001b5a: PUSH3 0x461bcd
00001b5e: MUL
00001b5f: DUP2
00001b60: MSTORE
00001b61: PUSH1 0x04
00001b63: ADD
00001b64: PUSH2 0x0be3
00001b67: SWAP1
00001b68: PUSH2 0x5675
00001b6b: JUMP
00001b6c: JUMPDEST
00001b6d: PUSH1 0x00
00001b6f: PUSH4 0xffffffff
00001b74: DUP3
00001b75: AND
00001b76: PUSH1 0x00
00001b78: SWAP1
00001b79: DUP2
00001b7a: MSTORE
00001b7b: PUSH1 0x16
00001b7d: DUP5
00001b7e: ADD
00001b7f: PUSH1 0x20
00001b81: MSTORE
00001b82: PUSH1 0x40
00001b84: SWAP1
00001b85: KECCAK256
00001b86: SLOAD
00001b87: PUSH5 0x0100000000
00001b8d: SWAP1
00001b8e: DIV
00001b8f: PUSH1 0xff
00001b91: AND
00001b92: PUSH1 0x01
00001b94: DUP2
00001b95: GT
00001b96: ISZERO
00001b97: PUSH2 0x1b9c
00001b9a: JUMPI
00001b9b: INVALID
00001b9c: JUMPDEST
00001b9d: EQ
00001b9e: PUSH2 0x174d
00001ba1: JUMPI
00001ba2: PUSH1 0x40
00001ba4: MLOAD
00001ba5: PUSH1 0x01
00001ba7: PUSH1 0xe5
00001ba9: SHL
00001baa: PUSH3 0x461bcd
00001bae: MUL
00001baf: DUP2
00001bb0: MSTORE
00001bb1: PUSH1 0x04
00001bb3: ADD
00001bb4: PUSH2 0x0be3
00001bb7: SWAP1
00001bb8: PUSH2 0x5595
00001bbb: JUMP
00001bbc: JUMPDEST
00001bbd: PUSH2 0x1bc6
00001bc0: DUP3
00001bc1: DUP3
00001bc2: PUSH2 0x271e
00001bc5: JUMP
00001bc6: JUMPDEST
00001bc7: PUSH2 0x174d
00001bca: JUMPI
00001bcb: PUSH1 0x40
00001bcd: MLOAD
00001bce: PUSH1 0x01
00001bd0: PUSH1 0xe5
00001bd2: SHL
00001bd3: PUSH3 0x461bcd
00001bd7: MUL
00001bd8: DUP2
00001bd9: MSTORE
00001bda: PUSH1 0x04
00001bdc: ADD
00001bdd: PUSH2 0x0be3
00001be0: SWAP1
00001be1: PUSH2 0x55d5
00001be4: JUMP
00001be5: JUMPDEST
00001be6: PUSH1 0x00
00001be8: DUP1
00001be9: PUSH2 0x1bf2
00001bec: DUP6
00001bed: DUP6
00001bee: PUSH2 0x2333
00001bf1: JUMP
00001bf2: JUMPDEST
00001bf3: POP
00001bf4: SWAP1
00001bf5: POP
00001bf6: PUSH2 0x1c09
00001bf9: PUSH2 0x1c03
00001bfc: DUP7
00001bfd: DUP7
00001bfe: DUP7
00001bff: PUSH2 0x2744
00001c02: JUMP
00001c03: JUMPDEST
00001c04: DUP3
00001c05: PUSH2 0x27d8
00001c08: JUMP
00001c09: JUMPDEST
00001c0a: SWAP6
00001c0b: SWAP5
00001c0c: POP
00001c0d: POP
00001c0e: POP
00001c0f: POP
00001c10: POP
00001c11: JUMP
00001c12: JUMPDEST
00001c13: CALLER
00001c14: PUSH1 0x00
00001c16: DUP2
00001c17: DUP2
00001c18: MSTORE
00001c19: PUSH1 0x14
00001c1b: DUP4
00001c1c: ADD
00001c1d: PUSH1 0x20
00001c1f: MSTORE
00001c20: PUSH1 0x40
00001c22: SWAP1
00001c23: KECCAK256
00001c24: DUP1
00001c25: SLOAD
00001c26: PUSH1 0xff
00001c28: NOT
00001c29: AND
00001c2a: PUSH1 0x01
00001c2c: OR
00001c2d: SWAP1
00001c2e: SSTORE
00001c2f: PUSH2 0x0945
00001c32: SWAP1
00001c33: PUSH2 0x2802
00001c36: JUMP
00001c37: JUMPDEST
00001c38: PUSH1 0x00
00001c3a: CALLER
00001c3b: PUSH1 0x01
00001c3d: PUSH1 0x01
00001c3f: PUSH1 0xa0
00001c41: SHL
00001c42: SUB
00001c43: DUP4
00001c44: AND
00001c45: EQ
00001c46: DUP1
00001c47: PUSH2 0x0933
00001c4a: JUMPI
00001c4b: POP
00001c4c: POP
00001c4d: PUSH1 0x01
00001c4f: PUSH1 0x01
00001c51: PUSH1 0xa0
00001c53: SHL
00001c54: SUB
00001c55: AND
00001c56: PUSH1 0x00
00001c58: SWAP1
00001c59: DUP2
00001c5a: MSTORE
00001c5b: PUSH1 0x13
00001c5d: SWAP2
00001c5e: SWAP1
00001c5f: SWAP2
00001c60: ADD
00001c61: PUSH1 0x20
00001c63: SWAP1
00001c64: DUP2
00001c65: MSTORE
00001c66: PUSH1 0x40
00001c68: DUP1
00001c69: DUP4
00001c6a: KECCAK256
00001c6b: CALLER
00001c6c: DUP5
00001c6d: MSTORE
00001c6e: SWAP1
00001c6f: SWAP2
00001c70: MSTORE
00001c71: SWAP1
00001c72: KECCAK256
00001c73: SLOAD
00001c74: PUSH1 0xff
00001c76: AND
00001c77: ISZERO
00001c78: ISZERO
00001c79: PUSH1 0x01
00001c7b: EQ
00001c7c: SWAP1
00001c7d: JUMP
00001c7e: JUMPDEST
00001c7f: PUSH1 0x00
00001c81: DUP1
00001c82: PUSH1 0x00
00001c84: DUP1
00001c85: PUSH2 0x1c8e
00001c88: DUP8
00001c89: DUP8
00001c8a: PUSH2 0x2333
00001c8d: JUMP
00001c8e: JUMPDEST
00001c8f: SWAP2
00001c90: POP
00001c91: SWAP2
00001c92: POP
00001c93: PUSH1 0x00
00001c95: PUSH2 0x1c9f
00001c98: DUP9
00001c99: DUP9
00001c9a: DUP6
00001c9b: PUSH2 0x2839
00001c9e: JUMP
00001c9f: JUMPDEST
00001ca0: SWAP1
00001ca1: POP
00001ca2: DUP1
00001ca3: PUSH2 0x1cb6
00001ca6: JUMPI
00001ca7: POP
00001ca8: PUSH1 0x00
00001caa: SWAP4
00001cab: POP
00001cac: DUP4
00001cad: SWAP3
00001cae: POP
00001caf: PUSH2 0x1da9
00001cb2: SWAP2
00001cb3: POP
00001cb4: POP
00001cb5: JUMP
00001cb6: JUMPDEST
00001cb7: PUSH1 0x00
00001cb9: PUSH2 0x1cd3
00001cbc: DUP8
00001cbd: PUSH2 0x1cc7
00001cc0: DUP12
00001cc1: DUP12
00001cc2: DUP8
00001cc3: PUSH2 0x284e
00001cc6: JUMP
00001cc7: JUMPDEST
00001cc8: SWAP1
00001cc9: PUSH4 0xffffffff
00001cce: PUSH2 0x25db
00001cd1: AND
00001cd2: JUMP
00001cd3: JUMPDEST
00001cd4: SWAP1
00001cd5: POP
00001cd6: PUSH1 0x00
00001cd8: PUSH2 0x1cff
00001cdb: DUP4
00001cdc: PUSH2 0x1cf3
00001cdf: PUSH2 0x1ce6
00001ce2: PUSH2 0x2699
00001ce5: JUMP
00001ce6: JUMPDEST
00001ce7: DUP6
00001ce8: SWAP1
00001ce9: PUSH4 0xffffffff
00001cee: PUSH2 0x26a5
00001cf1: AND
00001cf2: JUMP
00001cf3: JUMPDEST
00001cf4: SWAP1
00001cf5: PUSH4 0xffffffff
00001cfa: PUSH2 0x2873
00001cfd: AND
00001cfe: JUMP
00001cff: JUMPDEST
00001d00: PUSH1 0x01
00001d02: PUSH1 0x01
00001d04: PUSH1 0xa0
00001d06: SHL
00001d07: SUB
00001d08: DUP1
00001d09: DUP12
00001d0a: AND
00001d0b: PUSH1 0x00
00001d0d: SWAP1
00001d0e: DUP2
00001d0f: MSTORE
00001d10: PUSH1 0x01
00001d12: DUP14
00001d13: ADD
00001d14: PUSH1 0x20
00001d16: MSTORE
00001d17: PUSH1 0x40
00001d19: SWAP1
00001d1a: KECCAK256
00001d1b: PUSH1 0x02
00001d1d: ADD
00001d1e: SLOAD
00001d1f: SWAP2
00001d20: SWAP3
00001d21: POP
00001d22: PUSH2 0x1d2c
00001d25: SWAP2
00001d26: AND
00001d27: DUP3
00001d28: PUSH2 0x28a0
00001d2b: JUMP
00001d2c: JUMPDEST
00001d2d: SWAP7
00001d2e: POP
00001d2f: PUSH2 0x1d36
00001d32: PUSH2 0x2699
00001d35: JUMP
00001d36: JUMPDEST
00001d37: PUSH1 0x03
00001d39: MUL
00001d3a: DUP8
00001d3b: GT
00001d3c: ISZERO
00001d3d: PUSH2 0x1d5b
00001d40: JUMPI
00001d41: PUSH1 0x40
00001d43: MLOAD
00001d44: PUSH1 0x01
00001d46: PUSH1 0xe5
00001d48: SHL
00001d49: PUSH3 0x461bcd
00001d4d: MUL
00001d4e: DUP2
00001d4f: MSTORE
00001d50: PUSH1 0x04
00001d52: ADD
00001d53: PUSH2 0x0be3
00001d56: SWAP1
00001d57: PUSH2 0x5725
00001d5a: JUMP
00001d5b: JUMPDEST
00001d5c: PUSH1 0x00
00001d5e: PUSH2 0x1d67
00001d61: DUP4
00001d62: DUP10
00001d63: PUSH2 0x26e2
00001d66: JUMP
00001d67: JUMPDEST
00001d68: SWAP1
00001d69: POP
00001d6a: PUSH1 0x00
00001d6c: PUSH2 0x1d93
00001d6f: DUP3
00001d70: PUSH2 0x1d8e
00001d73: DUP15
00001d74: PUSH1 0x06
00001d76: ADD
00001d77: PUSH1 0x00
00001d79: ADD
00001d7a: SLOAD
00001d7b: PUSH2 0x1d82
00001d7e: PUSH2 0x2699
00001d81: JUMP
00001d82: JUMPDEST
00001d83: SWAP1
00001d84: PUSH4 0xffffffff
00001d89: PUSH2 0x28de
00001d8c: AND
00001d8d: JUMP
00001d8e: JUMPDEST
00001d8f: PUSH2 0x27d8
00001d92: JUMP
00001d93: JUMPDEST
00001d94: SWAP1
00001d95: POP
00001d96: PUSH2 0x1d9f
00001d99: DUP2
00001d9a: DUP7
00001d9b: PUSH2 0x2700
00001d9e: JUMP
00001d9f: JUMPDEST
00001da0: SWAP8
00001da1: POP
00001da2: POP
00001da3: POP
00001da4: POP
00001da5: POP
00001da6: POP
00001da7: POP
00001da8: POP
00001da9: JUMPDEST
00001daa: SWAP4
00001dab: POP
00001dac: SWAP4
00001dad: SWAP2
00001dae: POP
00001daf: POP
00001db0: JUMP
00001db1: JUMPDEST
00001db2: PUSH1 0x12
00001db4: DUP3
00001db5: ADD
00001db6: SLOAD
00001db7: PUSH1 0x00
00001db9: SWAP1
00001dba: DUP2
00001dbb: SWAP1
00001dbc: PUSH2 0x1dce
00001dbf: SWAP1
00001dc0: PUSH1 0x01
00001dc2: PUSH1 0x01
00001dc4: PUSH1 0xa0
00001dc6: SHL
00001dc7: SUB
00001dc8: AND
00001dc9: DUP5
00001dca: PUSH2 0x2909
00001dcd: JUMP
00001dce: JUMPDEST
00001dcf: SWAP1
00001dd0: POP
00001dd1: DUP1
00001dd2: PUSH2 0x1de5
00001dd5: JUMPI
00001dd6: PUSH2 0x1ddd
00001dd9: PUSH2 0x2950
00001ddc: JUMP
00001ddd: JUMPDEST
00001dde: SWAP2
00001ddf: POP
00001de0: POP
00001de1: PUSH2 0x0d92
00001de4: JUMP
00001de5: JUMPDEST
00001de6: PUSH1 0x0f
00001de8: DUP5
00001de9: ADD
00001dea: SLOAD
00001deb: PUSH1 0xf8
00001ded: DUP2
00001dee: SWAP1
00001def: SHR
00001df0: PUSH1 0x00
00001df2: PUSH2 0x1e09
00001df5: DUP5
00001df6: PUSH8 0x0de0b6b3a7640000
00001dff: PUSH4 0xffffffff
00001e04: PUSH2 0x2873
00001e07: AND
00001e08: JUMP
00001e09: JUMPDEST
00001e0a: SWAP4
00001e0b: POP
00001e0c: PUSH1 0x00
00001e0e: JUMPDEST
00001e0f: DUP3
00001e10: DUP2
00001e11: LT
00001e12: ISZERO
00001e13: PUSH2 0x1e4f
00001e16: JUMPI
00001e17: PUSH1 0x08
00001e19: PUSH1 0x02
00001e1b: PUSH1 0x05
00001e1d: DUP4
00001e1e: MUL
00001e1f: ADD
00001e20: MUL
00001e21: DUP5
00001e22: SWAP1
00001e23: SHL
00001e24: PUSH1 0xe0
00001e26: SHR
00001e27: SWAP2
00001e28: POP
00001e29: DUP2
00001e2a: DUP6
00001e2b: LT
00001e2c: ISZERO
00001e2d: PUSH2 0x1e47
00001e30: JUMPI
00001e31: PUSH1 0x08
00001e33: PUSH1 0x06
00001e35: PUSH1 0x05
00001e37: DUP4
00001e38: MUL
00001e39: ADD
00001e3a: MUL
00001e3b: DUP5
00001e3c: SWAP1
00001e3d: SHL
00001e3e: PUSH1 0xf8
00001e40: SHR
00001e41: SWAP6
00001e42: POP
00001e43: PUSH2 0x1e4f
00001e46: JUMP
00001e47: JUMPDEST
00001e48: PUSH1 0x01
00001e4a: ADD
00001e4b: PUSH2 0x1e0e
00001e4e: JUMP
00001e4f: JUMPDEST
00001e50: POP
00001e51: DUP5
00001e52: PUSH2 0x1e65
00001e55: JUMPI
00001e56: DUP3
00001e57: PUSH1 0x01
00001e59: BYTE
00001e5a: PUSH1 0xf8
00001e5c: SHL
00001e5d: PUSH1 0xf8
00001e5f: SHR
00001e60: PUSH1 0xff
00001e62: AND
00001e63: SWAP5
00001e64: POP
00001e65: JUMPDEST
00001e66: PUSH2 0x1e6d
00001e69: PUSH2 0x2950
00001e6c: JUMP
00001e6d: JUMPDEST
00001e6e: DUP6
00001e6f: GT
00001e70: ISZERO
00001e71: PUSH2 0x1e8f
00001e74: JUMPI
00001e75: PUSH1 0x40
00001e77: MLOAD
00001e78: PUSH1 0x01
00001e7a: PUSH1 0xe5
00001e7c: SHL
00001e7d: PUSH3 0x461bcd
00001e81: MUL
00001e82: DUP2
00001e83: MSTORE
00001e84: PUSH1 0x04
00001e86: ADD
00001e87: PUSH2 0x0be3
00001e8a: SWAP1
00001e8b: PUSH2 0x55b5
00001e8e: JUMP
00001e8f: JUMPDEST
00001e90: POP
00001e91: POP
00001e92: POP
00001e93: POP
00001e94: SWAP3
00001e95: SWAP2
00001e96: POP
00001e97: POP
00001e98: JUMP
00001e99: JUMPDEST
00001e9a: PUSH1 0x00
00001e9c: PUSH1 0x01
00001e9e: PUSH1 0xe0
00001ea0: SHL
00001ea1: PUSH4 0x41976e09
00001ea6: MUL
00001ea7: DUP2
00001ea8: DUP1
00001ea9: PUSH2 0x1ebc
00001eac: DUP7
00001ead: DUP5
00001eae: PUSH1 0x01
00001eb0: PUSH1 0x01
00001eb2: PUSH1 0xa0
00001eb4: SHL
00001eb5: SUB
00001eb6: DUP9
00001eb7: AND
00001eb8: PUSH2 0x2955
00001ebb: JUMP
00001ebc: JUMPDEST
00001ebd: SWAP2
00001ebe: POP
00001ebf: SWAP2
00001ec0: POP
00001ec1: DUP1
00001ec2: PUSH2 0x1ee0
00001ec5: JUMPI
00001ec6: PUSH1 0x40
00001ec8: MLOAD
00001ec9: PUSH1 0x01
00001ecb: PUSH1 0xe5
00001ecd: SHL
00001ece: PUSH3 0x461bcd
00001ed2: MUL
00001ed3: DUP2
00001ed4: MSTORE
00001ed5: PUSH1 0x04
00001ed7: ADD
00001ed8: PUSH2 0x0be3
00001edb: SWAP1
00001edc: PUSH2 0x5605
00001edf: JUMP
00001ee0: JUMPDEST
00001ee1: POP
00001ee2: SWAP5
00001ee3: SWAP4
00001ee4: POP
00001ee5: POP
00001ee6: POP
00001ee7: POP
00001ee8: JUMP
00001ee9: JUMPDEST
00001eea: PUSH1 0x00
00001eec: DUP1
00001eed: PUSH2 0x1ef6
00001ef0: DUP5
00001ef1: DUP5
00001ef2: PUSH2 0x2333
00001ef5: JUMP
00001ef6: JUMPDEST
00001ef7: POP
00001ef8: SWAP1
00001ef9: POP
00001efa: PUSH2 0x0bb4
00001efd: DUP5
00001efe: DUP5
00001eff: DUP4
00001f00: PUSH2 0x2839
00001f03: JUMP
00001f04: JUMPDEST
00001f05: DUP1
00001f06: MLOAD
00001f07: PUSH1 0x00
00001f09: SWAP1
00001f0a: PUSH1 0x01
00001f0c: DUP2
00001f0d: SWAP1
00001f0e: BYTE
00001f0f: PUSH1 0xf8
00001f11: SWAP1
00001f12: DUP2
00001f13: SHL
00001f14: DUP2
00001f15: SHR
00001f16: SWAP2
00001f17: DUP4
00001f18: SWAP2
00001f19: SWAP1
00001f1a: DUP3
00001f1b: BYTE
00001f1c: DUP2
00001f1d: SHL
00001f1e: SWAP1
00001f1f: SHR
00001f20: DUP3
00001f21: PUSH2 0x1fa8
00001f24: JUMPI
00001f25: PUSH1 0x01
00001f27: DUP8
00001f28: PUSH1 0x40
00001f2a: MLOAD
00001f2b: PUSH1 0x20
00001f2d: ADD
00001f2e: PUSH2 0x1f37
00001f31: SWAP2
00001f32: SWAP1
00001f33: PUSH2 0x54ad
00001f36: JUMP
00001f37: JUMPDEST
00001f38: PUSH1 0x40
00001f3a: MLOAD
00001f3b: PUSH1 0x20
00001f3d: DUP2
00001f3e: DUP4
00001f3f: SUB
00001f40: SUB
00001f41: DUP2
00001f42: MSTORE
00001f43: SWAP1
00001f44: PUSH1 0x40
00001f46: MSTORE
00001f47: DUP1
00001f48: MLOAD
00001f49: SWAP1
00001f4a: PUSH1 0x20
00001f4c: ADD
00001f4d: KECCAK256
00001f4e: DUP3
00001f4f: DUP8
00001f50: PUSH1 0x20
00001f52: ADD
00001f53: MLOAD
00001f54: DUP9
00001f55: PUSH1 0x40
00001f57: ADD
00001f58: MLOAD
00001f59: PUSH1 0x40
00001f5b: MLOAD
00001f5c: PUSH1 0x00
00001f5e: DUP2
00001f5f: MSTORE
00001f60: PUSH1 0x20
00001f62: ADD
00001f63: PUSH1 0x40
00001f65: MSTORE
00001f66: PUSH1 0x40
00001f68: MLOAD
00001f69: PUSH2 0x1f75
00001f6c: SWAP5
00001f6d: SWAP4
00001f6e: SWAP3
00001f6f: SWAP2
00001f70: SWAP1
00001f71: PUSH2 0x5550
00001f74: JUMP
00001f75: JUMPDEST
00001f76: PUSH1 0x20
00001f78: PUSH1 0x40
00001f7a: MLOAD
00001f7b: PUSH1 0x20
00001f7d: DUP2
00001f7e: SUB
00001f7f: SWAP1
00001f80: DUP1
00001f81: DUP5
00001f82: SUB
00001f83: SWAP1
00001f84: DUP6
00001f85: GAS
00001f86: STATICCALL
00001f87: ISZERO
00001f88: DUP1
00001f89: ISZERO
00001f8a: PUSH2 0x1f97
00001f8d: JUMPI
00001f8e: RETURNDATASIZE
00001f8f: PUSH1 0x00
00001f91: DUP1
00001f92: RETURNDATACOPY
00001f93: RETURNDATASIZE
00001f94: PUSH1 0x00
00001f96: REVERT
00001f97: JUMPDEST
00001f98: POP
00001f99: POP
00001f9a: POP
00001f9b: PUSH1 0x20
00001f9d: PUSH1 0x40
00001f9f: MLOAD
00001fa0: SUB
00001fa1: MLOAD
00001fa2: SWAP2
00001fa3: POP
00001fa4: PUSH2 0x1ffa
00001fa7: JUMP
00001fa8: JUMPDEST
00001fa9: PUSH1 0xff
00001fab: DUP4
00001fac: AND
00001fad: PUSH1 0x01
00001faf: EQ
00001fb0: ISZERO
00001fb1: PUSH2 0x1fdf
00001fb4: JUMPI
00001fb5: PUSH1 0x01
00001fb7: DUP8
00001fb8: DUP3
00001fb9: DUP8
00001fba: PUSH1 0x20
00001fbc: ADD
00001fbd: MLOAD
00001fbe: DUP9
00001fbf: PUSH1 0x40
00001fc1: ADD
00001fc2: MLOAD
00001fc3: PUSH1 0x40
00001fc5: MLOAD
00001fc6: PUSH1 0x00
00001fc8: DUP2
00001fc9: MSTORE
00001fca: PUSH1 0x20
00001fcc: ADD
00001fcd: PUSH1 0x40
00001fcf: MSTORE
00001fd0: PUSH1 0x40
00001fd2: MLOAD
00001fd3: PUSH2 0x1f75
00001fd6: SWAP5
00001fd7: SWAP4
00001fd8: SWAP3
00001fd9: SWAP2
00001fda: SWAP1
00001fdb: PUSH2 0x5550
00001fde: JUMP
00001fdf: JUMPDEST
00001fe0: PUSH1 0x40
00001fe2: MLOAD
00001fe3: PUSH1 0x01
00001fe5: PUSH1 0xe5
00001fe7: SHL
00001fe8: PUSH3 0x461bcd
00001fec: MUL
00001fed: DUP2
00001fee: MSTORE
00001fef: PUSH1 0x04
00001ff1: ADD
00001ff2: PUSH2 0x0be3
00001ff5: SWAP1
00001ff6: PUSH2 0x5635
00001ff9: JUMP
00001ffa: JUMPDEST
00001ffb: POP
00001ffc: PUSH1 0x01
00001ffe: PUSH1 0x01
00002000: PUSH1 0xa0
00002002: SHL
00002003: SUB
00002004: DUP6
00002005: DUP2
00002006: AND
00002007: SWAP2
00002008: AND
00002009: EQ
0000200a: SWAP2
0000200b: POP
0000200c: POP
0000200d: SWAP4
0000200e: SWAP3
0000200f: POP
00002010: POP
00002011: POP
00002012: JUMP
00002013: JUMPDEST
00002014: PUSH1 0x00
00002016: DUP1
00002017: PUSH2 0x2020
0000201a: DUP5
0000201b: DUP5
0000201c: PUSH2 0x2333
0000201f: JUMP
00002020: JUMPDEST
00002021: SWAP2
00002022: POP
00002023: POP
00002024: PUSH2 0x0bb4
00002027: DUP5
00002028: DUP5
00002029: DUP4
0000202a: PUSH2 0x284e
0000202d: JUMP
0000202e: JUMPDEST
0000202f: PUSH1 0x00
00002031: DUP1
00002032: PUSH2 0x203b
00002035: DUP7
00002036: DUP7
00002037: PUSH2 0x2333
0000203a: JUMP
0000203b: JUMPDEST
0000203c: PUSH1 0x01
0000203e: PUSH1 0x01
00002040: PUSH1 0xa0
00002042: SHL
00002043: SUB
00002044: DUP1
00002045: DUP8
00002046: AND
00002047: PUSH1 0x00
00002049: SWAP1
0000204a: DUP2
0000204b: MSTORE
0000204c: PUSH1 0x0e
0000204e: DUP11
0000204f: ADD
00002050: PUSH1 0x20
00002052: SWAP1
00002053: DUP2
00002054: MSTORE
00002055: PUSH1 0x40
00002057: DUP1
00002058: DUP4
00002059: KECCAK256
0000205a: PUSH2 0xffff
0000205d: DUP11
0000205e: AND
0000205f: DUP5
00002060: MSTORE
00002061: DUP3
00002062: MSTORE
00002063: DUP1
00002064: DUP4
00002065: KECCAK256
00002066: SWAP4
00002067: DUP12
00002068: AND
00002069: DUP4
0000206a: MSTORE
0000206b: SWAP3
0000206c: SWAP1
0000206d: MSTORE
0000206e: KECCAK256
0000206f: SLOAD
00002070: SWAP1
00002071: SWAP3
00002072: POP
00002073: PUSH2 0x207d
00002076: SWAP2
00002077: POP
00002078: DUP3
00002079: PUSH2 0x26e2
0000207c: JUMP
0000207d: JUMPDEST
0000207e: SWAP7
0000207f: SWAP6
00002080: POP
00002081: POP
00002082: POP
00002083: POP
00002084: POP
00002085: POP
00002086: JUMP
00002087: JUMPDEST
00002088: PUSH1 0x01
0000208a: PUSH1 0x01
0000208c: PUSH1 0xa0
0000208e: SHL
0000208f: SUB
00002090: AND
00002091: PUSH1 0x00
00002093: SWAP1
00002094: DUP2
00002095: MSTORE
00002096: PUSH1 0x14
00002098: SWAP2
00002099: SWAP1
0000209a: SWAP2
0000209b: ADD
0000209c: PUSH1 0x20
0000209e: MSTORE
0000209f: PUSH1 0x40
000020a1: SWAP1
000020a2: KECCAK256
000020a3: SLOAD
000020a4: PUSH1 0xff
000020a6: AND
000020a7: ISZERO
000020a8: SWAP1
000020a9: JUMP
000020aa: JUMPDEST
000020ab: PUSH2 0x20bc
000020ae: DUP3
000020af: DUP3
000020b0: PUSH1 0x60
000020b2: ADD
000020b3: MLOAD
000020b4: PUSH1 0x40
000020b6: ADD
000020b7: MLOAD
000020b8: PUSH2 0x1c37
000020bb: JUMP
000020bc: JUMPDEST
000020bd: PUSH2 0x20db
000020c0: JUMPI
000020c1: PUSH1 0x40
000020c3: MLOAD
000020c4: PUSH1 0x01
000020c6: PUSH1 0xe5
000020c8: SHL
000020c9: PUSH3 0x461bcd
000020cd: MUL
000020ce: DUP2
000020cf: MSTORE
000020d0: PUSH1 0x04
000020d2: ADD
000020d3: PUSH2 0x0be3
000020d6: SWAP1
000020d7: PUSH2 0x5755
000020da: JUMP
000020db: JUMPDEST
000020dc: DUP1
000020dd: MLOAD
000020de: PUSH2 0x20e6
000020e1: SWAP1
000020e2: PUSH2 0x298a
000020e5: JUMP
000020e6: JUMPDEST
000020e7: ISZERO
000020e8: PUSH2 0x2106
000020eb: JUMPI
000020ec: PUSH1 0x40
000020ee: MLOAD
000020ef: PUSH1 0x01
000020f1: PUSH1 0xe5
000020f3: SHL
000020f4: PUSH3 0x461bcd
000020f8: MUL
000020f9: DUP2
000020fa: MSTORE
000020fb: PUSH1 0x04
000020fd: ADD
000020fe: PUSH2 0x0be3
00002101: SWAP1
00002102: PUSH2 0x56d5
00002105: JUMP
00002106: JUMPDEST
00002107: PUSH1 0x00
00002109: PUSH2 0x211a
0000210c: DUP4
0000210d: DUP4
0000210e: PUSH1 0x60
00002110: ADD
00002111: MLOAD
00002112: PUSH1 0x40
00002114: ADD
00002115: MLOAD
00002116: PUSH2 0x2087
00002119: JUMP
0000211a: JUMPDEST
0000211b: SWAP1
0000211c: POP
0000211d: PUSH1 0x00
0000211f: PUSH2 0x212d
00002122: DUP5
00002123: DUP5
00002124: PUSH1 0x00
00002126: ADD
00002127: MLOAD
00002128: DUP5
00002129: PUSH2 0x29a9
0000212c: JUMP
0000212d: JUMPDEST
0000212e: SWAP1
0000212f: POP
00002130: PUSH2 0x2137
00002133: PUSH2 0x3a96
00002136: JUMP
00002137: JUMPDEST
00002138: PUSH2 0x214a
0000213b: DUP6
0000213c: DUP6
0000213d: PUSH1 0x00
0000213f: ADD
00002140: MLOAD
00002141: DUP7
00002142: PUSH1 0x60
00002144: ADD
00002145: MLOAD
00002146: PUSH2 0x29c7
00002149: JUMP
0000214a: JUMPDEST
0000214b: SWAP1
0000214c: POP
0000214d: PUSH1 0x60
0000214f: DUP5
00002150: PUSH1 0x20
00002152: ADD
00002153: MLOAD
00002154: MLOAD
00002155: PUSH1 0x40
00002157: MLOAD
00002158: SWAP1
00002159: DUP1
0000215a: DUP3
0000215b: MSTORE
0000215c: DUP1
0000215d: PUSH1 0x20
0000215f: MUL
00002160: PUSH1 0x20
00002162: ADD
00002163: DUP3
00002164: ADD
00002165: PUSH1 0x40
00002167: MSTORE
00002168: DUP1
00002169: ISZERO
0000216a: PUSH2 0x218d
0000216d: JUMPI
0000216e: DUP2
0000216f: PUSH1 0x20
00002171: ADD
00002172: JUMPDEST
00002173: PUSH2 0x217a
00002176: PUSH2 0x3aba
00002179: JUMP
0000217a: JUMPDEST
0000217b: DUP2
0000217c: MSTORE
0000217d: PUSH1 0x20
0000217f: ADD
00002180: SWAP1
00002181: PUSH1 0x01
00002183: SWAP1
00002184: SUB
00002185: SWAP1
00002186: DUP2
00002187: PUSH2 0x2172
0000218a: JUMPI
0000218b: SWAP1
0000218c: POP
0000218d: JUMPDEST
0000218e: POP
0000218f: SWAP1
00002190: POP
00002191: PUSH1 0x00
00002193: JUMPDEST
00002194: DUP6
00002195: PUSH1 0x20
00002197: ADD
00002198: MLOAD
00002199: MLOAD
0000219a: DUP2
0000219b: LT
0000219c: ISZERO
0000219d: PUSH2 0x2303
000021a0: JUMPI
000021a1: PUSH2 0x21c0
000021a4: DUP7
000021a5: PUSH1 0x20
000021a7: ADD
000021a8: MLOAD
000021a9: DUP3
000021aa: DUP2
000021ab: MLOAD
000021ac: DUP2
000021ad: LT
000021ae: PUSH2 0x21b3
000021b1: JUMPI
000021b2: INVALID
000021b3: JUMPDEST
000021b4: PUSH1 0x20
000021b6: MUL
000021b7: PUSH1 0x20
000021b9: ADD
000021ba: ADD
000021bb: MLOAD
000021bc: PUSH2 0x2b3c
000021bf: JUMP
000021c0: JUMPDEST
000021c1: ISZERO
000021c2: PUSH2 0x21e0
000021c5: JUMPI
000021c6: PUSH1 0x40
000021c8: MLOAD
000021c9: PUSH1 0x01
000021cb: PUSH1 0xe5
000021cd: SHL
000021ce: PUSH3 0x461bcd
000021d2: MUL
000021d3: DUP2
000021d4: MSTORE
000021d5: PUSH1 0x04
000021d7: ADD
000021d8: PUSH2 0x0be3
000021db: SWAP1
000021dc: PUSH2 0x5765
000021df: JUMP
000021e0: JUMPDEST
000021e1: PUSH2 0x2200
000021e4: DUP7
000021e5: PUSH1 0x20
000021e7: ADD
000021e8: MLOAD
000021e9: DUP3
000021ea: DUP2
000021eb: MLOAD
000021ec: DUP2
000021ed: LT
000021ee: PUSH2 0x21f3
000021f1: JUMPI
000021f2: INVALID
000021f3: JUMPDEST
000021f4: PUSH1 0x20
000021f6: MUL
000021f7: PUSH1 0x20
000021f9: ADD
000021fa: ADD
000021fb: MLOAD
000021fc: PUSH2 0x2b4b
000021ff: JUMP
00002200: JUMPDEST
00002201: ISZERO
00002202: ISZERO
00002203: PUSH2 0x220f
00002206: DUP8
00002207: PUSH1 0x00
00002209: ADD
0000220a: MLOAD
0000220b: PUSH2 0x2b4b
0000220e: JUMP
0000220f: JUMPDEST
00002210: ISZERO
00002211: ISZERO
00002212: EQ
00002213: ISZERO
00002214: PUSH2 0x2232
00002217: JUMPI
00002218: PUSH1 0x40
0000221a: MLOAD
0000221b: PUSH1 0x01
0000221d: PUSH1 0xe5
0000221f: SHL
00002220: PUSH3 0x461bcd
00002224: MUL
00002225: DUP2
00002226: MSTORE
00002227: PUSH1 0x04
00002229: ADD
0000222a: PUSH2 0x0be3
0000222d: SWAP1
0000222e: PUSH2 0x5775
00002231: JUMP
00002232: JUMPDEST
00002233: PUSH2 0x2257
00002236: DUP7
00002237: PUSH1 0x00
00002239: ADD
0000223a: MLOAD
0000223b: DUP8
0000223c: PUSH1 0x20
0000223e: ADD
0000223f: MLOAD
00002240: DUP4
00002241: DUP2
00002242: MLOAD
00002243: DUP2
00002244: LT
00002245: PUSH2 0x224a
00002248: JUMPI
00002249: INVALID
0000224a: JUMPDEST
0000224b: PUSH1 0x20
0000224d: MUL
0000224e: PUSH1 0x20
00002250: ADD
00002251: ADD
00002252: MLOAD
00002253: PUSH2 0x2b5a
00002256: JUMP
00002257: JUMPDEST
00002258: PUSH2 0x225f
0000225b: PUSH2 0x3a96
0000225e: JUMP
0000225f: JUMPDEST
00002260: PUSH2 0x2285
00002263: DUP9
00002264: DUP9
00002265: PUSH1 0x20
00002267: ADD
00002268: MLOAD
00002269: DUP5
0000226a: DUP2
0000226b: MLOAD
0000226c: DUP2
0000226d: LT
0000226e: PUSH2 0x2273
00002271: JUMPI
00002272: INVALID
00002273: JUMPDEST
00002274: PUSH1 0x20
00002276: MUL
00002277: PUSH1 0x20
00002279: ADD
0000227a: ADD
0000227b: MLOAD
0000227c: DUP10
0000227d: PUSH1 0x60
0000227f: ADD
00002280: MLOAD
00002281: PUSH2 0x29c7
00002284: JUMP
00002285: JUMPDEST
00002286: SWAP1
00002287: POP
00002288: PUSH2 0x22c9
0000228b: DUP9
0000228c: DUP9
0000228d: PUSH1 0x00
0000228f: ADD
00002290: MLOAD
00002291: DUP7
00002292: DUP11
00002293: PUSH1 0x20
00002295: ADD
00002296: MLOAD
00002297: DUP7
00002298: DUP2
00002299: MLOAD
0000229a: DUP2
0000229b: LT
0000229c: PUSH2 0x22a1
0000229f: JUMPI
000022a0: INVALID
000022a1: JUMPDEST
000022a2: PUSH1 0x20
000022a4: MUL
000022a5: PUSH1 0x20
000022a7: ADD
000022a8: ADD
000022a9: MLOAD
000022aa: DUP6
000022ab: DUP13
000022ac: PUSH1 0x40
000022ae: ADD
000022af: MLOAD
000022b0: DUP9
000022b1: DUP2
000022b2: MLOAD
000022b3: DUP2
000022b4: LT
000022b5: PUSH2 0x22ba
000022b8: JUMPI
000022b9: INVALID
000022ba: JUMPDEST
000022bb: PUSH1 0x20
000022bd: MUL
000022be: PUSH1 0x20
000022c0: ADD
000022c1: ADD
000022c2: MLOAD
000022c3: DUP12
000022c4: DUP14
000022c5: PUSH2 0x2bd8
000022c8: JUMP
000022c9: JUMPDEST
000022ca: DUP4
000022cb: DUP4
000022cc: DUP2
000022cd: MLOAD
000022ce: DUP2
000022cf: LT
000022d0: PUSH2 0x22d5
000022d3: JUMPI
000022d4: INVALID
000022d5: JUMPDEST
000022d6: PUSH1 0x20
000022d8: SWAP1
000022d9: DUP2
000022da: MUL
000022db: SWAP2
000022dc: SWAP1
000022dd: SWAP2
000022de: ADD
000022df: DUP2
000022e0: ADD
000022e1: SWAP2
000022e2: SWAP1
000022e3: SWAP2
000022e4: MSTORE
000022e5: DUP2
000022e6: DUP2
000022e7: ADD
000022e8: MLOAD
000022e9: SWAP2
000022ea: MLOAD
000022eb: PUSH1 0x00
000022ed: SWAP1
000022ee: DUP2
000022ef: MSTORE
000022f0: PUSH1 0x10
000022f2: DUP11
000022f3: ADD
000022f4: SWAP1
000022f5: SWAP2
000022f6: MSTORE
000022f7: PUSH1 0x40
000022f9: SWAP1
000022fa: KECCAK256
000022fb: SSTORE
000022fc: PUSH1 0x01
000022fe: ADD
000022ff: PUSH2 0x2193
00002302: JUMP
00002303: JUMPDEST
00002304: POP
00002305: PUSH1 0x20
00002307: DUP1
00002308: DUP4
00002309: ADD
0000230a: MLOAD
0000230b: DUP4
0000230c: MLOAD
0000230d: PUSH1 0x00
0000230f: SWAP1
00002310: DUP2
00002311: MSTORE
00002312: PUSH1 0x10
00002314: DUP10
00002315: ADD
00002316: SWAP1
00002317: SWAP3
00002318: MSTORE
00002319: PUSH1 0x40
0000231b: SWAP1
0000231c: SWAP2
0000231d: KECCAK256
0000231e: SSTORE
0000231f: DUP5
00002320: MLOAD
00002321: PUSH1 0x60
00002323: DUP7
00002324: ADD
00002325: MLOAD
00002326: PUSH2 0x0ce9
00002329: SWAP2
0000232a: DUP9
0000232b: SWAP2
0000232c: DUP5
0000232d: SWAP2
0000232e: SWAP1
0000232f: PUSH2 0x2e68
00002332: JUMP
00002333: JUMPDEST
00002334: PUSH1 0x01
00002336: PUSH1 0x01
00002338: PUSH1 0xa0
0000233a: SHL
0000233b: SUB
0000233c: DUP2
0000233d: AND
0000233e: PUSH1 0x00
00002340: SWAP1
00002341: DUP2
00002342: MSTORE
00002343: PUSH1 0x0a
00002345: DUP4
00002346: ADD
00002347: PUSH1 0x20
00002349: MSTORE
0000234a: PUSH1 0x40
0000234c: DUP2
0000234d: KECCAK256
0000234e: SLOAD
0000234f: DUP2
00002350: SWAP1
00002351: DUP2
00002352: SWAP1
00002353: PUSH2 0x2363
00002356: SWAP1
00002357: TIMESTAMP
00002358: SWAP1
00002359: PUSH4 0xffffffff
0000235e: PUSH2 0x28de
00002361: AND
00002362: JUMP
00002363: JUMPDEST
00002364: PUSH1 0x01
00002366: PUSH1 0x01
00002368: PUSH1 0xa0
0000236a: SHL
0000236b: SUB
0000236c: DUP6
0000236d: AND
0000236e: PUSH1 0x00
00002370: SWAP1
00002371: DUP2
00002372: MSTORE
00002373: PUSH1 0x0b
00002375: DUP8
00002376: ADD
00002377: PUSH1 0x20
00002379: MSTORE
0000237a: PUSH1 0x40
0000237c: DUP2
0000237d: KECCAK256
0000237e: SLOAD
0000237f: SWAP2
00002380: SWAP3
00002381: POP
00002382: SWAP1
00002383: PUSH2 0x23a8
00002386: SWAP1
00002387: PUSH4 0x01e13380
0000238c: SWAP1
0000238d: PUSH2 0x239c
00002390: SWAP1
00002391: DUP6
00002392: PUSH4 0xffffffff
00002397: PUSH2 0x26a5
0000239a: AND
0000239b: JUMP
0000239c: JUMPDEST
0000239d: SWAP1
0000239e: PUSH4 0xffffffff
000023a3: PUSH2 0x3231
000023a6: AND
000023a7: JUMP
000023a8: JUMPDEST
000023a9: PUSH1 0x01
000023ab: PUSH1 0x01
000023ad: PUSH1 0xa0
000023af: SHL
000023b0: SUB
000023b1: DUP7
000023b2: AND
000023b3: PUSH1 0x00
000023b5: SWAP1
000023b6: DUP2
000023b7: MSTORE
000023b8: PUSH1 0x0c
000023ba: DUP9
000023bb: ADD
000023bc: PUSH1 0x20
000023be: MSTORE
000023bf: PUSH1 0x40
000023c1: DUP2
000023c2: KECCAK256
000023c3: SLOAD
000023c4: SWAP2
000023c5: SWAP3
000023c6: POP
000023c7: SWAP1
000023c8: PUSH2 0x23e1
000023cb: SWAP1
000023cc: PUSH4 0x01e13380
000023d1: SWAP1
000023d2: PUSH2 0x1cf3
000023d5: SWAP1
000023d6: DUP7
000023d7: PUSH4 0xffffffff
000023dc: PUSH2 0x26a5
000023df: AND
000023e0: JUMP
000023e1: JUMPDEST
000023e2: PUSH1 0x01
000023e4: PUSH1 0x01
000023e6: PUSH1 0xa0
000023e8: SHL
000023e9: SUB
000023ea: DUP8
000023eb: AND
000023ec: PUSH1 0x00
000023ee: SWAP1
000023ef: DUP2
000023f0: MSTORE
000023f1: PUSH1 0x08
000023f3: DUP10
000023f4: ADD
000023f5: PUSH1 0x20
000023f7: MSTORE
000023f8: PUSH1 0x40
000023fa: SWAP1
000023fb: KECCAK256
000023fc: SLOAD
000023fd: SWAP1
000023fe: SWAP2
000023ff: POP
00002400: PUSH2 0x2411
00002403: SWAP1
00002404: PUSH2 0x240c
00002407: DUP5
00002408: PUSH2 0x325e
0000240b: JUMP
0000240c: JUMPDEST
0000240d: PUSH2 0x26e2
00002410: JUMP
00002411: JUMPDEST
00002412: PUSH1 0x01
00002414: PUSH1 0x01
00002416: PUSH1 0xa0
00002418: SHL
00002419: SUB
0000241a: DUP8
0000241b: AND
0000241c: PUSH1 0x00
0000241e: SWAP1
0000241f: DUP2
00002420: MSTORE
00002421: PUSH1 0x09
00002423: DUP10
00002424: ADD
00002425: PUSH1 0x20
00002427: MSTORE
00002428: PUSH1 0x40
0000242a: SWAP1
0000242b: KECCAK256
0000242c: SLOAD
0000242d: SWAP1
0000242e: SWAP5
0000242f: POP
00002430: PUSH2 0x243c
00002433: SWAP1
00002434: PUSH2 0x1d8e
00002437: DUP4
00002438: PUSH2 0x325e
0000243b: JUMP
0000243c: JUMPDEST
0000243d: SWAP5
0000243e: POP
0000243f: POP
00002440: POP
00002441: POP
00002442: JUMPDEST
00002443: SWAP3
00002444: POP
00002445: SWAP3
00002446: SWAP1
00002447: POP
00002448: JUMP
00002449: JUMPDEST
0000244a: DUP1
0000244b: MLOAD
0000244c: PUSH1 0x01
0000244e: PUSH1 0x01
00002450: PUSH1 0xa0
00002452: SHL
00002453: SUB
00002454: AND
00002455: CALLER
00002456: EQ
00002457: PUSH2 0x2475
0000245a: JUMPI
0000245b: PUSH1 0x40
0000245d: MLOAD
0000245e: PUSH1 0x01
00002460: PUSH1 0xe5
00002462: SHL
00002463: PUSH3 0x461bcd
00002467: MUL
00002468: DUP2
00002469: MSTORE
0000246a: PUSH1 0x04
0000246c: ADD
0000246d: PUSH2 0x0be3
00002470: SWAP1
00002471: PUSH2 0x5645
00002474: JUMP
00002475: JUMPDEST
00002476: PUSH1 0x00
00002478: PUSH2 0x2480
0000247b: DUP3
0000247c: PUSH2 0x3278
0000247f: JUMP
00002480: JUMPDEST
00002481: PUSH1 0x00
00002483: DUP2
00002484: DUP2
00002485: MSTORE
00002486: PUSH1 0x11
00002488: DUP6
00002489: ADD
0000248a: PUSH1 0x20
0000248c: MSTORE
0000248d: PUSH1 0x40
0000248f: SWAP1
00002490: KECCAK256
00002491: DUP1
00002492: SLOAD
00002493: PUSH1 0xff
00002495: NOT
00002496: AND
00002497: PUSH1 0x01
00002499: OR
0000249a: SWAP1
0000249b: SSTORE
0000249c: SWAP1
0000249d: POP
0000249e: PUSH2 0x19d3
000024a1: DUP2
000024a2: PUSH2 0x328b
000024a5: JUMP
000024a6: JUMPDEST
000024a7: CALLER
000024a8: PUSH1 0x00
000024aa: DUP2
000024ab: DUP2
000024ac: MSTORE
000024ad: PUSH1 0x14
000024af: DUP4
000024b0: ADD
000024b1: PUSH1 0x20
000024b3: MSTORE
000024b4: PUSH1 0x40
000024b6: SWAP1
000024b7: KECCAK256
000024b8: DUP1
000024b9: SLOAD
000024ba: PUSH1 0xff
000024bc: NOT
000024bd: AND
000024be: SWAP1
000024bf: SSTORE
000024c0: PUSH2 0x0945
000024c3: SWAP1
000024c4: PUSH2 0x32b9
000024c7: JUMP
000024c8: JUMPDEST
000024c9: PUSH2 0x24d0
000024cc: PUSH2 0x3a74
000024cf: JUMP
000024d0: JUMPDEST
000024d1: POP
000024d2: PUSH1 0x40
000024d4: DUP1
000024d5: MLOAD
000024d6: PUSH1 0x60
000024d8: DUP2
000024d9: ADD
000024da: DUP3
000024db: MSTORE
000024dc: PUSH1 0x01
000024de: DUP2
000024df: MSTORE
000024e0: PUSH2 0xffff
000024e3: SWAP1
000024e4: SWAP3
000024e5: AND
000024e6: PUSH1 0x20
000024e8: DUP4
000024e9: ADD
000024ea: MSTORE
000024eb: PUSH1 0x01
000024ed: PUSH1 0x01
000024ef: PUSH1 0xa0
000024f1: SHL
000024f2: SUB
000024f3: SWAP1
000024f4: SWAP3
000024f5: AND
000024f6: SWAP2
000024f7: DUP2
000024f8: ADD
000024f9: SWAP2
000024fa: SWAP1
000024fb: SWAP2
000024fc: MSTORE
000024fd: SWAP1
000024fe: JUMP
000024ff: JUMPDEST
00002500: PUSH1 0x00
00002502: DUP1
00002503: PUSH2 0x2512
00002506: DUP5
00002507: DUP7
00002508: PUSH4 0xffffffff
0000250d: PUSH2 0x256d
00002510: AND
00002511: JUMP
00002512: JUMPDEST
00002513: PUSH1 0x01
00002515: PUSH1 0x01
00002517: PUSH1 0xa0
00002519: SHL
0000251a: SUB
0000251b: DUP5
0000251c: AND
0000251d: PUSH1 0x00
0000251f: SWAP1
00002520: DUP2
00002521: MSTORE
00002522: PUSH1 0x20
00002524: SWAP2
00002525: SWAP1
00002526: SWAP2
00002527: MSTORE
00002528: PUSH1 0x40
0000252a: SWAP1
0000252b: KECCAK256
0000252c: SLOAD
0000252d: SWAP2
0000252e: POP
0000252f: POP
00002530: SWAP4
00002531: SWAP3
00002532: POP
00002533: POP
00002534: POP
00002535: JUMP
00002536: JUMPDEST
00002537: CALLER
00002538: PUSH1 0x00
0000253a: DUP2
0000253b: DUP2
0000253c: MSTORE
0000253d: PUSH1 0x13
0000253f: DUP5
00002540: ADD
00002541: PUSH1 0x20
00002543: SWAP1
00002544: DUP2
00002545: MSTORE
00002546: PUSH1 0x40
00002548: DUP1
00002549: DUP4
0000254a: KECCAK256
0000254b: PUSH1 0x01
0000254d: PUSH1 0x01
0000254f: PUSH1 0xa0
00002551: SHL
00002552: SUB
00002553: DUP7
00002554: AND
00002555: DUP5
00002556: MSTORE
00002557: SWAP1
00002558: SWAP2
00002559: MSTORE
0000255a: SWAP1
0000255b: KECCAK256
0000255c: DUP1
0000255d: SLOAD
0000255e: PUSH1 0xff
00002560: NOT
00002561: AND
00002562: SWAP1
00002563: SSTORE
00002564: PUSH2 0x174d
00002567: SWAP1
00002568: DUP3
00002569: PUSH2 0x32f0
0000256c: JUMP
0000256d: JUMPDEST
0000256e: PUSH1 0x00
00002570: DUP1
00002571: DUP4
00002572: MLOAD
00002573: PUSH1 0x01
00002575: DUP2
00002576: GT
00002577: ISZERO
00002578: PUSH2 0x257d
0000257b: JUMPI
0000257c: INVALID
0000257d: JUMPDEST
0000257e: EQ
0000257f: ISZERO
00002580: PUSH2 0x25a5
00002583: JUMPI
00002584: POP
00002585: PUSH1 0x40
00002587: DUP1
00002588: DUP4
00002589: ADD
0000258a: MLOAD
0000258b: PUSH1 0x01
0000258d: PUSH1 0x01
0000258f: PUSH1 0xa0
00002591: SHL
00002592: SUB
00002593: AND
00002594: PUSH1 0x00
00002596: SWAP1
00002597: DUP2
00002598: MSTORE
00002599: PUSH1 0x05
0000259b: DUP4
0000259c: ADD
0000259d: PUSH1 0x20
0000259f: MSTORE
000025a0: KECCAK256
000025a1: PUSH2 0x0d92
000025a4: JUMP
000025a5: JUMPDEST
000025a6: POP
000025a7: PUSH1 0x40
000025a9: DUP1
000025aa: DUP4
000025ab: ADD
000025ac: MLOAD
000025ad: PUSH1 0x01
000025af: PUSH1 0x01
000025b1: PUSH1 0xa0
000025b3: SHL
000025b4: SUB
000025b5: AND
000025b6: PUSH1 0x00
000025b8: SWAP1
000025b9: DUP2
000025ba: MSTORE
000025bb: PUSH1 0x03
000025bd: DUP4
000025be: ADD
000025bf: PUSH1 0x20
000025c1: SWAP1
000025c2: DUP2
000025c3: MSTORE
000025c4: DUP3
000025c5: DUP3
000025c6: KECCAK256
000025c7: DUP2
000025c8: DUP7
000025c9: ADD
000025ca: MLOAD
000025cb: PUSH2 0xffff
000025ce: AND
000025cf: DUP4
000025d0: MSTORE
000025d1: SWAP1
000025d2: MSTORE
000025d3: KECCAK256
000025d4: PUSH1 0x01
000025d6: ADD
000025d7: PUSH2 0x0d92
000025da: JUMP
000025db: JUMPDEST
000025dc: PUSH1 0x00
000025de: DUP3
000025df: DUP3
000025e0: ADD
000025e1: DUP4
000025e2: DUP2
000025e3: LT
000025e4: ISZERO
000025e5: PUSH2 0x0933
000025e8: JUMPI
000025e9: PUSH1 0x40
000025eb: MLOAD
000025ec: PUSH1 0x01
000025ee: PUSH1 0xe5
000025f0: SHL
000025f1: PUSH3 0x461bcd
000025f5: MUL
000025f6: DUP2
000025f7: MSTORE
000025f8: PUSH1 0x04
000025fa: ADD
000025fb: PUSH2 0x0be3
000025fe: SWAP1
000025ff: PUSH2 0x5745
00002602: JUMP
00002603: JUMPDEST
00002604: PUSH1 0x00
00002606: PUSH1 0x01
00002608: PUSH1 0x01
0000260a: PUSH1 0xff
0000260c: SHL
0000260d: SUB
0000260e: DUP3
0000260f: GT
00002610: ISZERO
00002611: PUSH2 0x262f
00002614: JUMPI
00002615: PUSH1 0x40
00002617: MLOAD
00002618: PUSH1 0x01
0000261a: PUSH1 0xe5
0000261c: SHL
0000261d: PUSH3 0x461bcd
00002621: MUL
00002622: DUP2
00002623: MSTORE
00002624: PUSH1 0x04
00002626: ADD
00002627: PUSH2 0x0be3
0000262a: SWAP1
0000262b: PUSH2 0x5715
0000262e: JUMP
0000262f: JUMPDEST
00002630: DUP3
00002631: DUP3
00002632: ADD
00002633: DUP4
00002634: DUP2
00002635: SLT
00002636: ISZERO
00002637: PUSH2 0x0933
0000263a: JUMPI
0000263b: PUSH1 0x40
0000263d: MLOAD
0000263e: PUSH1 0x01
00002640: PUSH1 0xe5
00002642: SHL
00002643: PUSH3 0x461bcd
00002647: MUL
00002648: DUP2
00002649: MSTORE
0000264a: PUSH1 0x04
0000264c: ADD
0000264d: PUSH2 0x0be3
00002650: SWAP1
00002651: PUSH2 0x5715
00002654: JUMP
00002655: JUMPDEST
00002656: DUP1
00002657: PUSH1 0x01
00002659: PUSH1 0x01
0000265b: PUSH1 0xa0
0000265d: SHL
0000265e: SUB
0000265f: AND
00002660: DUP3
00002661: PUSH1 0x01
00002663: PUSH1 0x01
00002665: PUSH1 0xa0
00002667: SHL
00002668: SUB
00002669: AND
0000266a: PUSH32 0x7fa92f6e23fcdb0b7a7001ea137560a8ebee9b8302d16e3b37c64ae7116b69ad
0000268b: PUSH1 0x40
0000268d: MLOAD
0000268e: PUSH1 0x40
00002690: MLOAD
00002691: DUP1
00002692: SWAP2
00002693: SUB
00002694: SWAP1
00002695: LOG3
00002696: POP
00002697: POP
00002698: JUMP
00002699: JUMPDEST
0000269a: PUSH8 0x0de0b6b3a7640000
000026a3: SWAP1
000026a4: JUMP
000026a5: JUMPDEST
000026a6: PUSH1 0x00
000026a8: DUP3
000026a9: PUSH2 0x26b4
000026ac: JUMPI
000026ad: POP
000026ae: PUSH1 0x00
000026b0: PUSH2 0x0d92
000026b3: JUMP
000026b4: JUMPDEST
000026b5: DUP3
000026b6: DUP3
000026b7: MUL
000026b8: DUP3
000026b9: DUP5
000026ba: DUP3
000026bb: DUP2
000026bc: PUSH2 0x26c1
000026bf: JUMPI
000026c0: INVALID
000026c1: JUMPDEST
000026c2: DIV
000026c3: EQ
000026c4: PUSH2 0x0933
000026c7: JUMPI
000026c8: PUSH1 0x40
000026ca: MLOAD
000026cb: PUSH1 0x01
000026cd: PUSH1 0xe5
000026cf: SHL
000026d0: PUSH3 0x461bcd
000026d4: MUL
000026d5: DUP2
000026d6: MSTORE
000026d7: PUSH1 0x04
000026d9: ADD
000026da: PUSH2 0x0be3
000026dd: SWAP1
000026de: PUSH2 0x5785
000026e1: JUMP
000026e2: JUMPDEST
000026e3: PUSH1 0x00
000026e5: PUSH2 0x0933
000026e8: PUSH8 0x0de0b6b3a7640000
000026f1: PUSH2 0x239c
000026f4: DUP6
000026f5: DUP6
000026f6: PUSH4 0xffffffff
000026fb: PUSH2 0x26a5
000026fe: AND
000026ff: JUMP
00002700: JUMPDEST
00002701: PUSH1 0x00
00002703: PUSH2 0x0933
00002706: DUP3
00002707: PUSH2 0x1cf3
0000270a: DUP6
0000270b: PUSH8 0x0de0b6b3a7640000
00002714: PUSH4 0xffffffff
00002719: PUSH2 0x26a5
0000271c: AND
0000271d: JUMP
0000271e: JUMPDEST
0000271f: PUSH1 0x01
00002721: PUSH1 0x01
00002723: PUSH1 0xa0
00002725: SHL
00002726: SUB
00002727: SWAP1
00002728: DUP2
00002729: AND
0000272a: PUSH1 0x00
0000272c: SWAP1
0000272d: DUP2
0000272e: MSTORE
0000272f: PUSH1 0x01
00002731: SWAP3
00002732: DUP4
00002733: ADD
00002734: PUSH1 0x20
00002736: MSTORE
00002737: PUSH1 0x40
00002739: SWAP1
0000273a: KECCAK256
0000273b: SWAP1
0000273c: SWAP2
0000273d: ADD
0000273e: SLOAD
0000273f: AND
00002740: ISZERO
00002741: ISZERO
00002742: SWAP1
00002743: JUMP
00002744: JUMPDEST
00002745: PUSH1 0x01
00002747: PUSH1 0x01
00002749: PUSH1 0xa0
0000274b: SHL
0000274c: SUB
0000274d: DUP1
0000274e: DUP4
0000274f: AND
00002750: PUSH1 0x00
00002752: SWAP1
00002753: DUP2
00002754: MSTORE
00002755: PUSH1 0x01
00002757: DUP6
00002758: ADD
00002759: PUSH1 0x20
0000275b: MSTORE
0000275c: PUSH1 0x40
0000275e: DUP1
0000275f: DUP3
00002760: KECCAK256
00002761: SLOAD
00002762: SWAP1
00002763: MLOAD
00002764: PUSH1 0x01
00002766: PUSH1 0xe0
00002768: SHL
00002769: PUSH4 0x70a08231
0000276e: MUL
0000276f: DUP2
00002770: MSTORE
00002771: SWAP2
00002772: SWAP3
00002773: AND
00002774: SWAP1
00002775: PUSH4 0x70a08231
0000277a: SWAP1
0000277b: PUSH2 0x2788
0000277e: SWAP1
0000277f: DUP6
00002780: SWAP1
00002781: PUSH1 0x04
00002783: ADD
00002784: PUSH2 0x54fa
00002787: JUMP
00002788: JUMPDEST
00002789: PUSH1 0x20
0000278b: PUSH1 0x40
0000278d: MLOAD
0000278e: DUP1
0000278f: DUP4
00002790: SUB
00002791: DUP2
00002792: DUP7
00002793: DUP1
00002794: EXTCODESIZE
00002795: ISZERO
00002796: DUP1
00002797: ISZERO
00002798: PUSH2 0x27a0
0000279b: JUMPI
0000279c: PUSH1 0x00
0000279e: DUP1
0000279f: REVERT
000027a0: JUMPDEST
000027a1: POP
000027a2: GAS
000027a3: STATICCALL
000027a4: ISZERO
000027a5: DUP1
000027a6: ISZERO
000027a7: PUSH2 0x27b4
000027aa: JUMPI
000027ab: RETURNDATASIZE
000027ac: PUSH1 0x00
000027ae: DUP1
000027af: RETURNDATACOPY
000027b0: RETURNDATASIZE
000027b1: PUSH1 0x00
000027b3: REVERT
000027b4: JUMPDEST
000027b5: POP
000027b6: POP
000027b7: POP
000027b8: POP
000027b9: PUSH1 0x40
000027bb: MLOAD
000027bc: RETURNDATASIZE
000027bd: PUSH1 0x1f
000027bf: NOT
000027c0: PUSH1 0x1f
000027c2: DUP3
000027c3: ADD
000027c4: AND
000027c5: DUP3
000027c6: ADD
000027c7: DUP1
000027c8: PUSH1 0x40
000027ca: MSTORE
000027cb: POP
000027cc: PUSH2 0x0bb4
000027cf: SWAP2
000027d0: SWAP1
000027d1: DUP2
000027d2: ADD
000027d3: SWAP1
000027d4: PUSH2 0x470e
000027d7: JUMP
000027d8: JUMPDEST
000027d9: PUSH1 0x00
000027db: PUSH8 0x0de0b6b3a7640000
000027e4: PUSH2 0x27f3
000027e7: DUP5
000027e8: DUP5
000027e9: PUSH4 0xffffffff
000027ee: PUSH2 0x26a5
000027f1: AND
000027f2: JUMP
000027f3: JUMPDEST
000027f4: DUP2
000027f5: PUSH2 0x27fa
000027f8: JUMPI
000027f9: INVALID
000027fa: JUMPDEST
000027fb: DIV
000027fc: SWAP4
000027fd: SWAP3
000027fe: POP
000027ff: POP
00002800: POP
00002801: JUMP
00002802: JUMPDEST
00002803: PUSH1 0x40
00002805: MLOAD
00002806: PUSH1 0x01
00002808: PUSH1 0x01
0000280a: PUSH1 0xa0
0000280c: SHL
0000280d: SUB
0000280e: DUP3
0000280f: AND
00002810: SWAP1
00002811: PUSH32 0x9bdfcd96a99ab6dad403b4ef4562bb3471fdeaab5e699160abf7c3f2cbe66805
00002832: SWAP1
00002833: PUSH1 0x00
00002835: SWAP1
00002836: LOG2
00002837: POP
00002838: JUMP
00002839: JUMPDEST
0000283a: PUSH1 0x00
0000283c: PUSH2 0x0bb4
0000283f: PUSH2 0x2848
00002842: DUP6
00002843: DUP6
00002844: PUSH2 0x3334
00002847: JUMP
00002848: JUMPDEST
00002849: DUP4
0000284a: PUSH2 0x27d8
0000284d: JUMP
0000284e: JUMPDEST
0000284f: PUSH1 0x01
00002851: PUSH1 0x01
00002853: PUSH1 0xa0
00002855: SHL
00002856: SUB
00002857: DUP3
00002858: AND
00002859: PUSH1 0x00
0000285b: SWAP1
0000285c: DUP2
0000285d: MSTORE
0000285e: PUSH1 0x0d
00002860: DUP5
00002861: ADD
00002862: PUSH1 0x20
00002864: MSTORE
00002865: PUSH1 0x40
00002867: DUP2
00002868: KECCAK256
00002869: SLOAD
0000286a: PUSH2 0x0bb4
0000286d: SWAP1
0000286e: DUP4
0000286f: PUSH2 0x26e2
00002872: JUMP
00002873: JUMPDEST
00002874: PUSH1 0x00
00002876: DUP1
00002877: DUP3
00002878: GT
00002879: PUSH2 0x2897
0000287c: JUMPI
0000287d: PUSH1 0x40
0000287f: MLOAD
00002880: PUSH1 0x01
00002882: PUSH1 0xe5
00002884: SHL
00002885: PUSH3 0x461bcd
00002889: MUL
0000288a: DUP2
0000288b: MSTORE
0000288c: PUSH1 0x04
0000288e: ADD
0000288f: PUSH2 0x0be3
00002892: SWAP1
00002893: PUSH2 0x5665
00002896: JUMP
00002897: JUMPDEST
00002898: DUP2
00002899: DUP4
0000289a: DUP2
0000289b: PUSH2 0x27fa
0000289e: JUMPI
0000289f: INVALID
000028a0: JUMPDEST
000028a1: PUSH1 0x00
000028a3: PUSH1 0x01
000028a5: PUSH1 0xe0
000028a7: SHL
000028a8: PUSH4 0x69e8a15f
000028ad: MUL
000028ae: DUP2
000028af: DUP1
000028b0: PUSH2 0x28ba
000028b3: DUP7
000028b4: DUP5
000028b5: DUP8
000028b6: PUSH2 0x2955
000028b9: JUMP
000028ba: JUMPDEST
000028bb: SWAP2
000028bc: POP
000028bd: SWAP2
000028be: POP
000028bf: DUP1
000028c0: PUSH2 0x1ee0
000028c3: JUMPI
000028c4: PUSH1 0x40
000028c6: MLOAD
000028c7: PUSH1 0x01
000028c9: PUSH1 0xe5
000028cb: SHL
000028cc: PUSH3 0x461bcd
000028d0: MUL
000028d1: DUP2
000028d2: MSTORE
000028d3: PUSH1 0x04
000028d5: ADD
000028d6: PUSH2 0x0be3
000028d9: SWAP1
000028da: PUSH2 0x55f5
000028dd: JUMP
000028de: JUMPDEST
000028df: PUSH1 0x00
000028e1: DUP3
000028e2: DUP3
000028e3: GT
000028e4: ISZERO
000028e5: PUSH2 0x2903
000028e8: JUMPI
000028e9: PUSH1 0x40
000028eb: MLOAD
000028ec: PUSH1 0x01
000028ee: PUSH1 0xe5
000028f0: SHL
000028f1: PUSH3 0x461bcd
000028f5: MUL
000028f6: DUP2
000028f7: MSTORE
000028f8: PUSH1 0x04
000028fa: ADD
000028fb: PUSH2 0x0be3
000028fe: SWAP1
000028ff: PUSH2 0x56c5
00002902: JUMP
00002903: JUMPDEST
00002904: POP
00002905: SWAP1
00002906: SUB
00002907: SWAP1
00002908: JUMP
00002909: JUMPDEST
0000290a: PUSH1 0x00
0000290c: PUSH1 0x01
0000290e: PUSH1 0xe0
00002910: SHL
00002911: PUSH4 0x70a08231
00002916: MUL
00002917: DUP2
00002918: DUP1
00002919: PUSH2 0x292c
0000291c: DUP7
0000291d: DUP5
0000291e: PUSH1 0x01
00002920: PUSH1 0x01
00002922: PUSH1 0xa0
00002924: SHL
00002925: SUB
00002926: DUP9
00002927: AND
00002928: PUSH2 0x2955
0000292b: JUMP
0000292c: JUMPDEST
0000292d: SWAP2
0000292e: POP
0000292f: SWAP2
00002930: POP
00002931: DUP1
00002932: PUSH2 0x1ee0
00002935: JUMPI
00002936: PUSH1 0x40
00002938: MLOAD
00002939: PUSH1 0x01
0000293b: PUSH1 0xe5
0000293d: SHL
0000293e: PUSH3 0x461bcd
00002942: MUL
00002943: DUP2
00002944: MSTORE
00002945: PUSH1 0x04
00002947: ADD
00002948: PUSH2 0x0be3
0000294b: SWAP1
0000294c: PUSH2 0x5655
0000294f: JUMP
00002950: JUMPDEST
00002951: PUSH1 0x64
00002953: SWAP1
00002954: JUMP
00002955: JUMPDEST
00002956: PUSH1 0x00
00002958: DUP1
00002959: PUSH1 0x40
0000295b: MLOAD
0000295c: DUP1
0000295d: MLOAD
0000295e: PUSH1 0x04
00002960: DUP3
00002961: ADD
00002962: MLOAD
00002963: DUP7
00002964: DUP4
00002965: MSTORE
00002966: DUP6
00002967: PUSH1 0x04
00002969: DUP5
0000296a: ADD
0000296b: MSTORE
0000296c: PUSH1 0x20
0000296e: DUP4
0000296f: PUSH1 0x24
00002971: DUP6
00002972: DUP12
00002973: GAS
00002974: STATICCALL
00002975: DUP4
00002976: MLOAD
00002977: SWAP3
00002978: DUP5
00002979: MSTORE
0000297a: PUSH1 0x04
0000297c: SWAP1
0000297d: SWAP4
0000297e: ADD
0000297f: MSTORE
00002980: SWAP7
00002981: SWAP1
00002982: SWAP6
00002983: POP
00002984: SWAP4
00002985: POP
00002986: POP
00002987: POP
00002988: POP
00002989: JUMP
0000298a: JUMPDEST
0000298b: PUSH1 0x80
0000298d: DUP2
0000298e: ADD
0000298f: MLOAD
00002990: PUSH1 0x00
00002992: SWAP1
00002993: PUSH1 0x16
00002995: JUMPDEST
00002996: BYTE
00002997: PUSH1 0xf8
00002999: SHL
0000299a: PUSH1 0xf8
0000299c: SHR
0000299d: PUSH1 0xff
0000299f: AND
000029a0: PUSH1 0x01
000029a2: EQ
000029a3: SWAP1
000029a4: POP
000029a5: SWAP2
000029a6: SWAP1
000029a7: POP
000029a8: JUMP
000029a9: JUMPDEST
000029aa: PUSH1 0x00
000029ac: DUP1
000029ad: PUSH2 0x29b5
000029b0: DUP5
000029b1: PUSH2 0x33c3
000029b4: JUMP
000029b5: JUMPDEST
000029b6: SWAP1
000029b7: POP
000029b8: PUSH2 0x1c09
000029bb: DUP6
000029bc: DUP6
000029bd: PUSH1 0x00
000029bf: ADD
000029c0: MLOAD
000029c1: DUP4
000029c2: DUP7
000029c3: PUSH2 0x33d0
000029c6: JUMP
000029c7: JUMPDEST
000029c8: PUSH2 0x29cf
000029cb: PUSH2 0x3a96
000029ce: JUMP
000029cf: JUMPDEST
000029d0: PUSH1 0x02
000029d2: PUSH2 0x29da
000029d5: DUP5
000029d6: PUSH2 0x3404
000029d9: JUMP
000029da: JUMPDEST
000029db: EQ
000029dc: PUSH2 0x29fa
000029df: JUMPI
000029e0: PUSH1 0x40
000029e2: MLOAD
000029e3: PUSH1 0x01
000029e5: PUSH1 0xe5
000029e7: SHL
000029e8: PUSH3 0x461bcd
000029ec: MUL
000029ed: DUP2
000029ee: MSTORE
000029ef: PUSH1 0x04
000029f1: ADD
000029f2: PUSH2 0x0be3
000029f5: SWAP1
000029f6: PUSH2 0x55e5
000029f9: JUMP
000029fa: JUMPDEST
000029fb: PUSH2 0x2a02
000029fe: PUSH2 0x3b3c
00002a01: JUMP
00002a02: JUMPDEST
00002a03: PUSH2 0x2a0c
00002a06: DUP5
00002a07: DUP5
00002a08: PUSH2 0x340e
00002a0b: JUMP
00002a0c: JUMPDEST
00002a0d: SWAP1
00002a0e: POP
00002a0f: PUSH2 0x2a17
00002a12: DUP2
00002a13: PUSH2 0x3278
00002a16: JUMP
00002a17: JUMPDEST
00002a18: DUP1
00002a19: DUP4
00002a1a: MSTORE
00002a1b: PUSH1 0x00
00002a1d: SWAP1
00002a1e: DUP2
00002a1f: MSTORE
00002a20: PUSH1 0x10
00002a22: DUP7
00002a23: ADD
00002a24: PUSH1 0x20
00002a26: SWAP1
00002a27: DUP2
00002a28: MSTORE
00002a29: PUSH1 0x40
00002a2b: SWAP1
00002a2c: SWAP2
00002a2d: KECCAK256
00002a2e: SLOAD
00002a2f: SWAP1
00002a30: DUP4
00002a31: ADD
00002a32: MSTORE
00002a33: PUSH1 0x02
00002a35: PUSH2 0x2a3d
00002a38: DUP6
00002a39: PUSH2 0x3475
00002a3c: JUMP
00002a3d: JUMPDEST
00002a3e: ISZERO
00002a3f: DUP1
00002a40: ISZERO
00002a41: PUSH2 0x2a52
00002a44: JUMPI
00002a45: POP
00002a46: DUP2
00002a47: PUSH1 0x80
00002a49: ADD
00002a4a: MLOAD
00002a4b: DUP4
00002a4c: PUSH1 0x20
00002a4e: ADD
00002a4f: MLOAD
00002a50: LT
00002a51: ISZERO
00002a52: JUMPDEST
00002a53: ISZERO
00002a54: PUSH2 0x2a61
00002a57: JUMPI
00002a58: PUSH1 0x03
00002a5a: JUMPDEST
00002a5b: SWAP1
00002a5c: POP
00002a5d: PUSH2 0x2abf
00002a60: JUMP
00002a61: JUMPDEST
00002a62: PUSH2 0x2a6a
00002a65: DUP6
00002a66: PUSH2 0x3475
00002a69: JUMP
00002a6a: JUMPDEST
00002a6b: DUP1
00002a6c: ISZERO
00002a6d: PUSH2 0x2a7e
00002a70: JUMPI
00002a71: POP
00002a72: DUP2
00002a73: PUSH1 0xa0
00002a75: ADD
00002a76: MLOAD
00002a77: DUP4
00002a78: PUSH1 0x20
00002a7a: ADD
00002a7b: MLOAD
00002a7c: LT
00002a7d: ISZERO
00002a7e: JUMPDEST
00002a7f: ISZERO
00002a80: PUSH2 0x2a8a
00002a83: JUMPI
00002a84: PUSH1 0x03
00002a86: PUSH2 0x2a5a
00002a89: JUMP
00002a8a: JUMPDEST
00002a8b: PUSH2 0x2a93
00002a8e: DUP6
00002a8f: PUSH2 0x3491
00002a92: JUMP
00002a93: JUMPDEST
00002a94: TIMESTAMP
00002a95: LT
00002a96: PUSH2 0x2aa0
00002a99: JUMPI
00002a9a: PUSH1 0x00
00002a9c: PUSH2 0x2a5a
00002a9f: JUMP
00002aa0: JUMPDEST
00002aa1: DUP3
00002aa2: MLOAD
00002aa3: PUSH1 0x00
00002aa5: SWAP1
00002aa6: DUP2
00002aa7: MSTORE
00002aa8: PUSH1 0x11
00002aaa: DUP8
00002aab: ADD
00002aac: PUSH1 0x20
00002aae: MSTORE
00002aaf: PUSH1 0x40
00002ab1: SWAP1
00002ab2: KECCAK256
00002ab3: SLOAD
00002ab4: PUSH1 0xff
00002ab6: AND
00002ab7: ISZERO
00002ab8: PUSH2 0x2abf
00002abb: JUMPI
00002abc: POP
00002abd: PUSH1 0x01
00002abf: JUMPDEST
00002ac0: PUSH1 0xff
00002ac2: DUP2
00002ac3: AND
00002ac4: PUSH1 0x02
00002ac6: EQ
00002ac7: PUSH2 0x2ae5
00002aca: JUMPI
00002acb: PUSH1 0x40
00002acd: MLOAD
00002ace: PUSH1 0x01
00002ad0: PUSH1 0xe5
00002ad2: SHL
00002ad3: PUSH3 0x461bcd
00002ad7: MUL
00002ad8: DUP2
00002ad9: MSTORE
00002ada: PUSH1 0x04
00002adc: ADD
00002add: PUSH2 0x0be3
00002ae0: SWAP1
00002ae1: PUSH2 0x55a5
00002ae4: JUMP
00002ae5: JUMPDEST
00002ae6: DUP3
00002ae7: MLOAD
00002ae8: DUP6
00002ae9: MLOAD
00002aea: PUSH1 0xa0
00002aec: DUP8
00002aed: ADD
00002aee: MLOAD
00002aef: PUSH2 0x2af9
00002af2: SWAP3
00002af3: SWAP2
00002af4: SWAP1
00002af5: PUSH2 0x1f04
00002af8: JUMP
00002af9: JUMPDEST
00002afa: PUSH2 0x2b18
00002afd: JUMPI
00002afe: PUSH1 0x40
00002b00: MLOAD
00002b01: PUSH1 0x01
00002b03: PUSH1 0xe5
00002b05: SHL
00002b06: PUSH3 0x461bcd
00002b0a: MUL
00002b0b: DUP2
00002b0c: MSTORE
00002b0d: PUSH1 0x04
00002b0f: ADD
00002b10: PUSH2 0x0be3
00002b13: SWAP1
00002b14: PUSH2 0x5625
00002b17: JUMP
00002b18: JUMPDEST
00002b19: PUSH2 0x2b21
00002b1c: DUP6
00002b1d: PUSH2 0x349e
00002b20: JUMP
00002b21: JUMPDEST
00002b22: PUSH1 0x40
00002b24: DUP5
00002b25: ADD
00002b26: DUP2
00002b27: SWAP1
00002b28: MSTORE
00002b29: PUSH2 0x2b33
00002b2c: SWAP1
00002b2d: DUP8
00002b2e: SWAP1
00002b2f: PUSH2 0x351f
00002b32: JUMP
00002b33: JUMPDEST
00002b34: POP
00002b35: POP
00002b36: SWAP4
00002b37: SWAP3
00002b38: POP
00002b39: POP
00002b3a: POP
00002b3b: JUMP
00002b3c: JUMPDEST
00002b3d: PUSH1 0x80
00002b3f: DUP2
00002b40: ADD
00002b41: MLOAD
00002b42: PUSH1 0x00
00002b44: SWAP1
00002b45: PUSH1 0x02
00002b47: PUSH2 0x2995
00002b4a: JUMP
00002b4b: JUMPDEST
00002b4c: PUSH1 0x80
00002b4e: DUP2
00002b4f: ADD
00002b50: MLOAD
00002b51: PUSH1 0x00
00002b53: SWAP1
00002b54: PUSH1 0x01
00002b56: PUSH2 0x2995
00002b59: JUMP
00002b5a: JUMPDEST
00002b5b: PUSH1 0x00
00002b5d: PUSH2 0x2b77
00002b60: DUP3
00002b61: PUSH1 0x20
00002b63: ADD
00002b64: MLOAD
00002b65: DUP5
00002b66: PUSH1 0x40
00002b68: ADD
00002b69: MLOAD
00002b6a: PUSH2 0x26a5
00002b6d: SWAP1
00002b6e: SWAP2
00002b6f: SWAP1
00002b70: PUSH4 0xffffffff
00002b75: AND
00002b76: JUMP
00002b77: JUMPDEST
00002b78: SWAP1
00002b79: POP
00002b7a: PUSH1 0x00
00002b7c: PUSH2 0x2b96
00002b7f: DUP4
00002b80: PUSH1 0x40
00002b82: ADD
00002b83: MLOAD
00002b84: DUP6
00002b85: PUSH1 0x20
00002b87: ADD
00002b88: MLOAD
00002b89: PUSH2 0x26a5
00002b8c: SWAP1
00002b8d: SWAP2
00002b8e: SWAP1
00002b8f: PUSH4 0xffffffff
00002b94: AND
00002b95: JUMP
00002b96: JUMPDEST
00002b97: SWAP1
00002b98: POP
00002b99: PUSH2 0x2ba1
00002b9c: DUP5
00002b9d: PUSH2 0x2b4b
00002ba0: JUMP
00002ba1: JUMPDEST
00002ba2: PUSH2 0x2bae
00002ba5: JUMPI
00002ba6: DUP1
00002ba7: DUP3
00002ba8: LT
00002ba9: ISZERO
00002baa: PUSH2 0x2bb3
00002bad: JUMP
00002bae: JUMPDEST
00002baf: DUP1
00002bb0: DUP3
00002bb1: GT
00002bb2: ISZERO
00002bb3: JUMPDEST
00002bb4: PUSH2 0x2bd2
00002bb7: JUMPI
00002bb8: PUSH1 0x40
00002bba: MLOAD
00002bbb: PUSH1 0x01
00002bbd: PUSH1 0xe5
00002bbf: SHL
00002bc0: PUSH3 0x461bcd
00002bc4: MUL
00002bc5: DUP2
00002bc6: MSTORE
00002bc7: PUSH1 0x04
00002bc9: ADD
00002bca: PUSH2 0x0be3
00002bcd: SWAP1
00002bce: PUSH2 0x56e5
00002bd1: JUMP
00002bd2: JUMPDEST
00002bd3: POP
00002bd4: POP
00002bd5: POP
00002bd6: POP
00002bd7: JUMP
00002bd8: JUMPDEST
00002bd9: PUSH2 0x2be0
00002bdc: PUSH2 0x3aba
00002bdf: JUMP
00002be0: JUMPDEST
00002be1: PUSH2 0x0100
00002be4: DUP2
00002be5: ADD
00002be6: DUP5
00002be7: SWAP1
00002be8: MSTORE
00002be9: PUSH2 0x2bf2
00002bec: DUP7
00002bed: DUP6
00002bee: PUSH2 0x3547
00002bf1: JUMP
00002bf2: JUMPDEST
00002bf3: PUSH2 0x0120
00002bf6: DUP3
00002bf7: ADD
00002bf8: MSTORE
00002bf9: PUSH1 0x40
00002bfb: DUP1
00002bfc: DUP9
00002bfd: ADD
00002bfe: MLOAD
00002bff: PUSH2 0x0160
00002c02: DUP4
00002c03: ADD
00002c04: MSTORE
00002c05: DUP6
00002c06: ADD
00002c07: MLOAD
00002c08: PUSH2 0x0140
00002c0b: DUP3
00002c0c: ADD
00002c0d: MSTORE
00002c0e: PUSH1 0x20
00002c10: DUP8
00002c11: ADD
00002c12: MLOAD
00002c13: PUSH2 0x2c21
00002c16: JUMPI
00002c17: PUSH1 0x60
00002c19: DUP9
00002c1a: ADD
00002c1b: MLOAD
00002c1c: PUSH1 0xe0
00002c1e: DUP3
00002c1f: ADD
00002c20: MSTORE
00002c21: JUMPDEST
00002c22: PUSH1 0x20
00002c24: DUP6
00002c25: ADD
00002c26: MLOAD
00002c27: PUSH2 0x2c35
00002c2a: JUMPI
00002c2b: PUSH1 0x60
00002c2d: DUP7
00002c2e: ADD
00002c2f: MLOAD
00002c30: PUSH1 0xc0
00002c32: DUP3
00002c33: ADD
00002c34: MSTORE
00002c35: JUMPDEST
00002c36: PUSH2 0x2c3e
00002c39: DUP9
00002c3a: PUSH2 0x3475
00002c3d: JUMP
00002c3e: JUMPDEST
00002c3f: PUSH2 0x2c8d
00002c42: JUMPI
00002c43: PUSH2 0x0100
00002c46: DUP2
00002c47: ADD
00002c48: MLOAD
00002c49: PUSH1 0x20
00002c4b: DUP9
00002c4c: ADD
00002c4d: MLOAD
00002c4e: PUSH2 0x2c5c
00002c51: SWAP2
00002c52: PUSH4 0xffffffff
00002c57: PUSH2 0x25db
00002c5a: AND
00002c5b: JUMP
00002c5c: JUMPDEST
00002c5d: PUSH1 0x20
00002c5f: DUP1
00002c60: DUP10
00002c61: ADD
00002c62: DUP3
00002c63: SWAP1
00002c64: MSTORE
00002c65: DUP10
00002c66: ADD
00002c67: MLOAD
00002c68: LT
00002c69: ISZERO
00002c6a: PUSH2 0x2c88
00002c6d: JUMPI
00002c6e: PUSH1 0x40
00002c70: MLOAD
00002c71: PUSH1 0x01
00002c73: PUSH1 0xe5
00002c75: SHL
00002c76: PUSH3 0x461bcd
00002c7a: MUL
00002c7b: DUP2
00002c7c: MSTORE
00002c7d: PUSH1 0x04
00002c7f: ADD
00002c80: PUSH2 0x0be3
00002c83: SWAP1
00002c84: PUSH2 0x5705
00002c87: JUMP
00002c88: JUMPDEST
00002c89: PUSH2 0x2cd4
00002c8c: JUMP
00002c8d: JUMPDEST
00002c8e: PUSH2 0x0120
00002c91: DUP2
00002c92: ADD
00002c93: MLOAD
00002c94: PUSH1 0x20
00002c96: DUP9
00002c97: ADD
00002c98: MLOAD
00002c99: PUSH2 0x2ca7
00002c9c: SWAP2
00002c9d: PUSH4 0xffffffff
00002ca2: PUSH2 0x25db
00002ca5: AND
00002ca6: JUMP
00002ca7: JUMPDEST
00002ca8: PUSH1 0x20
00002caa: DUP9
00002cab: ADD
00002cac: DUP2
00002cad: SWAP1
00002cae: MSTORE
00002caf: PUSH1 0x40
00002cb1: DUP10
00002cb2: ADD
00002cb3: MLOAD
00002cb4: LT
00002cb5: ISZERO
00002cb6: PUSH2 0x2cd4
00002cb9: JUMPI
00002cba: PUSH1 0x40
00002cbc: MLOAD
00002cbd: PUSH1 0x01
00002cbf: PUSH1 0xe5
00002cc1: SHL
00002cc2: PUSH3 0x461bcd
00002cc6: MUL
00002cc7: DUP2
00002cc8: MSTORE
00002cc9: PUSH1 0x04
00002ccb: ADD
00002ccc: PUSH2 0x0be3
00002ccf: SWAP1
00002cd0: PUSH2 0x5705
00002cd3: JUMP
00002cd4: JUMPDEST
00002cd5: PUSH2 0x0100
00002cd8: DUP2
00002cd9: ADD
00002cda: MLOAD
00002cdb: PUSH1 0x20
00002cdd: DUP7
00002cde: ADD
00002cdf: MLOAD
00002ce0: PUSH2 0x2cee
00002ce3: SWAP2
00002ce4: PUSH4 0xffffffff
00002ce9: PUSH2 0x25db
00002cec: AND
00002ced: JUMP
00002cee: JUMPDEST
00002cef: PUSH1 0x20
00002cf1: DUP1
00002cf2: DUP8
00002cf3: ADD
00002cf4: DUP3
00002cf5: SWAP1
00002cf6: MSTORE
00002cf7: DUP8
00002cf8: ADD
00002cf9: MLOAD
00002cfa: LT
00002cfb: ISZERO
00002cfc: PUSH2 0x2d1a
00002cff: JUMPI
00002d00: PUSH1 0x40
00002d02: MLOAD
00002d03: PUSH1 0x01
00002d05: PUSH1 0xe5
00002d07: SHL
00002d08: PUSH3 0x461bcd
00002d0c: MUL
00002d0d: DUP2
00002d0e: MSTORE
00002d0f: PUSH1 0x04
00002d11: ADD
00002d12: PUSH2 0x0be3
00002d15: SWAP1
00002d16: PUSH2 0x5615
00002d19: JUMP
00002d1a: JUMPDEST
00002d1b: DUP6
00002d1c: MLOAD
00002d1d: PUSH1 0x01
00002d1f: PUSH1 0x01
00002d21: PUSH1 0xa0
00002d23: SHL
00002d24: SUB
00002d25: SWAP1
00002d26: DUP2
00002d27: AND
00002d28: DUP3
00002d29: MSTORE
00002d2a: DUP9
00002d2b: MLOAD
00002d2c: AND
00002d2d: PUSH1 0x20
00002d2f: DUP3
00002d30: ADD
00002d31: MSTORE
00002d32: PUSH2 0x2d3a
00002d35: DUP9
00002d36: PUSH2 0x2b4b
00002d39: JUMP
00002d3a: JUMPDEST
00002d3b: ISZERO
00002d3c: PUSH2 0x2d54
00002d3f: JUMPI
00002d40: DUP1
00002d41: MLOAD
00002d42: PUSH1 0x01
00002d44: PUSH1 0x01
00002d46: PUSH1 0xa0
00002d48: SHL
00002d49: SUB
00002d4a: AND
00002d4b: PUSH1 0x40
00002d4d: DUP3
00002d4e: ADD
00002d4f: MSTORE
00002d50: PUSH2 0x2d68
00002d53: JUMP
00002d54: JUMPDEST
00002d55: PUSH1 0x20
00002d57: DUP2
00002d58: ADD
00002d59: MLOAD
00002d5a: PUSH1 0x01
00002d5c: PUSH1 0x01
00002d5e: PUSH1 0xa0
00002d60: SHL
00002d61: SUB
00002d62: AND
00002d63: PUSH1 0x40
00002d65: DUP3
00002d66: ADD
00002d67: MSTORE
00002d68: JUMPDEST
00002d69: PUSH1 0x00
00002d6b: PUSH2 0x2d73
00002d6e: DUP8
00002d6f: PUSH2 0x355c
00002d72: JUMP
00002d73: JUMPDEST
00002d74: SWAP1
00002d75: POP
00002d76: DUP1
00002d77: ISZERO
00002d78: PUSH2 0x2ddd
00002d7b: JUMPI
00002d7c: PUSH1 0x00
00002d7e: PUSH1 0x60
00002d80: DUP4
00002d81: ADD
00002d82: MSTORE
00002d83: PUSH2 0x2dd3
00002d86: PUSH2 0x2db7
00002d89: PUSH2 0x2d90
00002d8c: PUSH2 0x2950
00002d8f: JUMP
00002d90: JUMPDEST
00002d91: PUSH2 0x2dab
00002d94: PUSH2 0x2d9b
00002d97: PUSH2 0x2950
00002d9a: JUMP
00002d9b: JUMPDEST
00002d9c: PUSH3 0x0186a0
00002da0: SWAP1
00002da1: PUSH4 0xffffffff
00002da6: PUSH2 0x26a5
00002da9: AND
00002daa: JUMP
00002dab: JUMPDEST
00002dac: SWAP1
00002dad: PUSH4 0xffffffff
00002db2: PUSH2 0x26a5
00002db5: AND
00002db6: JUMP
00002db7: JUMPDEST
00002db8: PUSH2 0x1cf3
00002dbb: DUP4
00002dbc: PUSH2 0x2dab
00002dbf: DUP9
00002dc0: DUP8
00002dc1: PUSH2 0x0120
00002dc4: ADD
00002dc5: MLOAD
00002dc6: PUSH2 0x26a5
00002dc9: SWAP1
00002dca: SWAP2
00002dcb: SWAP1
00002dcc: PUSH4 0xffffffff
00002dd1: AND
00002dd2: JUMP
00002dd3: JUMPDEST
00002dd4: PUSH1 0x80
00002dd6: DUP4
00002dd7: ADD
00002dd8: MSTORE
00002dd9: PUSH2 0x2e32
00002ddc: JUMP
00002ddd: JUMPDEST
00002dde: PUSH1 0x00
00002de0: PUSH2 0x2de8
00002de3: DUP9
00002de4: PUSH2 0x357b
00002de7: JUMP
00002de8: JUMPDEST
00002de9: PUSH1 0x00
00002deb: PUSH1 0x80
00002ded: DUP6
00002dee: ADD
00002def: DUP2
00002df0: SWAP1
00002df1: MSTORE
00002df2: DUP10
00002df3: MLOAD
00002df4: SWAP2
00002df5: SWAP3
00002df6: POP
00002df7: SWAP1
00002df8: PUSH2 0x2e04
00002dfb: SWAP1
00002dfc: DUP14
00002dfd: SWAP1
00002dfe: DUP5
00002dff: DUP9
00002e00: PUSH2 0x33d0
00002e03: JUMP
00002e04: JUMPDEST
00002e05: SWAP1
00002e06: POP
00002e07: PUSH2 0x2e2a
00002e0a: PUSH2 0x2e14
00002e0d: PUSH2 0x2d9b
00002e10: PUSH2 0x2950
00002e13: JUMP
00002e14: JUMPDEST
00002e15: PUSH2 0x0120
00002e18: DUP7
00002e19: ADD
00002e1a: MLOAD
00002e1b: PUSH2 0x1cf3
00002e1e: SWAP1
00002e1f: DUP5
00002e20: PUSH4 0xffffffff
00002e25: PUSH2 0x26a5
00002e28: AND
00002e29: JUMP
00002e2a: JUMPDEST
00002e2b: PUSH1 0x60
00002e2d: DUP6
00002e2e: ADD
00002e2f: MSTORE
00002e30: POP
00002e31: POP
00002e32: JUMPDEST
00002e33: PUSH2 0x2e56
00002e36: PUSH2 0x2e40
00002e39: PUSH2 0x2d9b
00002e3c: PUSH2 0x2950
00002e3f: JUMP
00002e40: JUMPDEST
00002e41: PUSH2 0x0120
00002e44: DUP5
00002e45: ADD
00002e46: MLOAD
00002e47: PUSH2 0x1cf3
00002e4a: SWAP1
00002e4b: DUP8
00002e4c: PUSH4 0xffffffff
00002e51: PUSH2 0x26a5
00002e54: AND
00002e55: JUMP
00002e56: JUMPDEST
00002e57: PUSH1 0xa0
00002e59: DUP4
00002e5a: ADD
00002e5b: MSTORE
00002e5c: POP
00002e5d: SWAP9
00002e5e: SWAP8
00002e5f: POP
00002e60: POP
00002e61: POP
00002e62: POP
00002e63: POP
00002e64: POP
00002e65: POP
00002e66: POP
00002e67: JUMP
00002e68: JUMPDEST
00002e69: PUSH1 0x00
00002e6b: PUSH2 0x2e73
00002e6e: DUP4
00002e6f: PUSH2 0x2b4b
00002e72: JUMP
00002e73: JUMPDEST
00002e74: SWAP1
00002e75: POP
00002e76: PUSH1 0x00
00002e78: PUSH2 0x2e7f
00002e7b: PUSH2 0x3a74
00002e7e: JUMP
00002e7f: JUMPDEST
00002e80: POP
00002e81: PUSH1 0x40
00002e83: DUP1
00002e84: MLOAD
00002e85: PUSH1 0x60
00002e87: DUP2
00002e88: ADD
00002e89: DUP3
00002e8a: MSTORE
00002e8b: PUSH1 0x00
00002e8d: DUP1
00002e8e: DUP3
00002e8f: MSTORE
00002e90: PUSH1 0x20
00002e92: DUP3
00002e93: ADD
00002e94: DUP2
00002e95: SWAP1
00002e96: MSTORE
00002e97: DUP6
00002e98: DUP4
00002e99: ADD
00002e9a: MLOAD
00002e9b: PUSH1 0x01
00002e9d: PUSH1 0x01
00002e9f: PUSH1 0xa0
00002ea1: SHL
00002ea2: SUB
00002ea3: AND
00002ea4: SWAP3
00002ea5: DUP3
00002ea6: ADD
00002ea7: SWAP3
00002ea8: SWAP1
00002ea9: SWAP3
00002eaa: MSTORE
00002eab: SWAP1
00002eac: JUMPDEST
00002ead: DUP7
00002eae: MLOAD
00002eaf: DUP2
00002eb0: LT
00002eb1: ISZERO
00002eb2: PUSH2 0x31e3
00002eb5: JUMPI
00002eb6: PUSH2 0x2f56
00002eb9: DUP9
00002eba: DUP7
00002ebb: PUSH1 0x00
00002ebd: ADD
00002ebe: MLOAD
00002ebf: DUP7
00002ec0: PUSH2 0x2ee1
00002ec3: JUMPI
00002ec4: DUP10
00002ec5: DUP5
00002ec6: DUP2
00002ec7: MLOAD
00002ec8: DUP2
00002ec9: LT
00002eca: PUSH2 0x2ecf
00002ecd: JUMPI
00002ece: INVALID
00002ecf: JUMPDEST
00002ed0: PUSH1 0x20
00002ed2: MUL
00002ed3: PUSH1 0x20
00002ed5: ADD
00002ed6: ADD
00002ed7: MLOAD
00002ed8: PUSH2 0x0140
00002edb: ADD
00002edc: MLOAD
00002edd: PUSH2 0x2efb
00002ee0: JUMP
00002ee1: JUMPDEST
00002ee2: DUP10
00002ee3: DUP5
00002ee4: DUP2
00002ee5: MLOAD
00002ee6: DUP2
00002ee7: LT
00002ee8: PUSH2 0x2eed
00002eeb: JUMPI
00002eec: INVALID
00002eed: JUMPDEST
00002eee: PUSH1 0x20
00002ef0: MUL
00002ef1: PUSH1 0x20
00002ef3: ADD
00002ef4: ADD
00002ef5: MLOAD
00002ef6: PUSH2 0x0160
00002ef9: ADD
00002efa: MLOAD
00002efb: JUMPDEST
00002efc: DUP8
00002efd: PUSH2 0x2f1e
00002f00: JUMPI
00002f01: DUP11
00002f02: DUP6
00002f03: DUP2
00002f04: MLOAD
00002f05: DUP2
00002f06: LT
00002f07: PUSH2 0x2f0c
00002f0a: JUMPI
00002f0b: INVALID
00002f0c: JUMPDEST
00002f0d: PUSH1 0x20
00002f0f: MUL
00002f10: PUSH1 0x20
00002f12: ADD
00002f13: ADD
00002f14: MLOAD
00002f15: PUSH2 0x0160
00002f18: ADD
00002f19: MLOAD
00002f1a: PUSH2 0x2f38
00002f1d: JUMP
00002f1e: JUMPDEST
00002f1f: DUP11
00002f20: DUP6
00002f21: DUP2
00002f22: MLOAD
00002f23: DUP2
00002f24: LT
00002f25: PUSH2 0x2f2a
00002f28: JUMPI
00002f29: INVALID
00002f2a: JUMPDEST
00002f2b: PUSH1 0x20
00002f2d: MUL
00002f2e: PUSH1 0x20
00002f30: ADD
00002f31: ADD
00002f32: MLOAD
00002f33: PUSH2 0x0140
00002f36: ADD
00002f37: MLOAD
00002f38: JUMPDEST
00002f39: DUP12
00002f3a: DUP7
00002f3b: DUP2
00002f3c: MLOAD
00002f3d: DUP2
00002f3e: LT
00002f3f: PUSH2 0x2f44
00002f42: JUMPI
00002f43: INVALID
00002f44: JUMPDEST
00002f45: PUSH1 0x20
00002f47: MUL
00002f48: PUSH1 0x20
00002f4a: ADD
00002f4b: ADD
00002f4c: MLOAD
00002f4d: PUSH2 0x0100
00002f50: ADD
00002f51: MLOAD
00002f52: PUSH2 0x3588
00002f55: JUMP
00002f56: JUMPDEST
00002f57: PUSH1 0x00
00002f59: DUP5
00002f5a: ISZERO
00002f5b: PUSH2 0x2fdd
00002f5e: JUMPI
00002f5f: PUSH2 0x2fd6
00002f62: DUP9
00002f63: DUP4
00002f64: DUP2
00002f65: MLOAD
00002f66: DUP2
00002f67: LT
00002f68: PUSH2 0x2f6d
00002f6b: JUMPI
00002f6c: INVALID
00002f6d: JUMPDEST
00002f6e: PUSH1 0x20
00002f70: MUL
00002f71: PUSH1 0x20
00002f73: ADD
00002f74: ADD
00002f75: MLOAD
00002f76: PUSH1 0x80
00002f78: ADD
00002f79: MLOAD
00002f7a: PUSH2 0x1d82
00002f7d: DUP11
00002f7e: DUP6
00002f7f: DUP2
00002f80: MLOAD
00002f81: DUP2
00002f82: LT
00002f83: PUSH2 0x2f88
00002f86: JUMPI
00002f87: INVALID
00002f88: JUMPDEST
00002f89: PUSH1 0x20
00002f8b: MUL
00002f8c: PUSH1 0x20
00002f8e: ADD
00002f8f: ADD
00002f90: MLOAD
00002f91: PUSH1 0xc0
00002f93: ADD
00002f94: MLOAD
00002f95: PUSH2 0x1cc7
00002f98: DUP13
00002f99: DUP8
00002f9a: DUP2
00002f9b: MLOAD
00002f9c: DUP2
00002f9d: LT
00002f9e: PUSH2 0x2fa3
00002fa1: JUMPI
00002fa2: INVALID
00002fa3: JUMPDEST
00002fa4: PUSH1 0x20
00002fa6: MUL
00002fa7: PUSH1 0x20
00002fa9: ADD
00002faa: ADD
00002fab: MLOAD
00002fac: PUSH1 0x60
00002fae: ADD
00002faf: MLOAD
00002fb0: DUP14
00002fb1: DUP9
00002fb2: DUP2
00002fb3: MLOAD
00002fb4: DUP2
00002fb5: LT
00002fb6: PUSH2 0x2fbb
00002fb9: JUMPI
00002fba: INVALID
00002fbb: JUMPDEST
00002fbc: PUSH1 0x20
00002fbe: MUL
00002fbf: PUSH1 0x20
00002fc1: ADD
00002fc2: ADD
00002fc3: MLOAD
00002fc4: PUSH2 0x0120
00002fc7: ADD
00002fc8: MLOAD
00002fc9: PUSH2 0x25db
00002fcc: SWAP1
00002fcd: SWAP2
00002fce: SWAP1
00002fcf: PUSH4 0xffffffff
00002fd4: AND
00002fd5: JUMP
00002fd6: JUMPDEST
00002fd7: SWAP1
00002fd8: POP
00002fd9: PUSH2 0x3058
00002fdc: JUMP
00002fdd: JUMPDEST
00002fde: PUSH2 0x3055
00002fe1: DUP9
00002fe2: DUP4
00002fe3: DUP2
00002fe4: MLOAD
00002fe5: DUP2
00002fe6: LT
00002fe7: PUSH2 0x2fec
00002fea: JUMPI
00002feb: INVALID
00002fec: JUMPDEST
00002fed: PUSH1 0x20
00002fef: MUL
00002ff0: PUSH1 0x20
00002ff2: ADD
00002ff3: ADD
00002ff4: MLOAD
00002ff5: PUSH1 0x80
00002ff7: ADD
00002ff8: MLOAD
00002ff9: PUSH2 0x1cc7
00002ffc: DUP11
00002ffd: DUP6
00002ffe: DUP2
00002fff: MLOAD
00003000: DUP2
00003001: LT
00003002: PUSH2 0x3007
00003005: JUMPI
00003006: INVALID
00003007: JUMPDEST
00003008: PUSH1 0x20
0000300a: MUL
0000300b: PUSH1 0x20
0000300d: ADD
0000300e: ADD
0000300f: MLOAD
00003010: PUSH1 0xc0
00003012: ADD
00003013: MLOAD
00003014: PUSH2 0x1d82
00003017: DUP13
00003018: DUP8
00003019: DUP2
0000301a: MLOAD
0000301b: DUP2
0000301c: LT
0000301d: PUSH2 0x3022
00003020: JUMPI
00003021: INVALID
00003022: JUMPDEST
00003023: PUSH1 0x20
00003025: MUL
00003026: PUSH1 0x20
00003028: ADD
00003029: ADD
0000302a: MLOAD
0000302b: PUSH1 0x60
0000302d: ADD
0000302e: MLOAD
0000302f: DUP14
00003030: DUP9
00003031: DUP2
00003032: MLOAD
00003033: DUP2
00003034: LT
00003035: PUSH2 0x303a
00003038: JUMPI
00003039: INVALID
0000303a: JUMPDEST
0000303b: PUSH1 0x20
0000303d: MUL
0000303e: PUSH1 0x20
00003040: ADD
00003041: ADD
00003042: MLOAD
00003043: PUSH2 0x0120
00003046: ADD
00003047: MLOAD
00003048: PUSH2 0x28de
0000304b: SWAP1
0000304c: SWAP2
0000304d: SWAP1
0000304e: PUSH4 0xffffffff
00003053: AND
00003054: JUMP
00003055: JUMPDEST
00003056: SWAP1
00003057: POP
00003058: JUMPDEST
00003059: PUSH2 0x30e1
0000305c: DUP10
0000305d: DUP8
0000305e: PUSH1 0x20
00003060: ADD
00003061: MLOAD
00003062: DUP8
00003063: PUSH2 0x3084
00003066: JUMPI
00003067: DUP11
00003068: DUP6
00003069: DUP2
0000306a: MLOAD
0000306b: DUP2
0000306c: LT
0000306d: PUSH2 0x3072
00003070: JUMPI
00003071: INVALID
00003072: JUMPDEST
00003073: PUSH1 0x20
00003075: MUL
00003076: PUSH1 0x20
00003078: ADD
00003079: ADD
0000307a: MLOAD
0000307b: PUSH2 0x0160
0000307e: ADD
0000307f: MLOAD
00003080: PUSH2 0x309e
00003083: JUMP
00003084: JUMPDEST
00003085: DUP11
00003086: DUP6
00003087: DUP2
00003088: MLOAD
00003089: DUP2
0000308a: LT
0000308b: PUSH2 0x3090
0000308e: JUMPI
0000308f: INVALID
00003090: JUMPDEST
00003091: PUSH1 0x20
00003093: MUL
00003094: PUSH1 0x20
00003096: ADD
00003097: ADD
00003098: MLOAD
00003099: PUSH2 0x0140
0000309c: ADD
0000309d: MLOAD
0000309e: JUMPDEST
0000309f: DUP9
000030a0: PUSH2 0x30c1
000030a3: JUMPI
000030a4: DUP12
000030a5: DUP7
000030a6: DUP2
000030a7: MLOAD
000030a8: DUP2
000030a9: LT
000030aa: PUSH2 0x30af
000030ad: JUMPI
000030ae: INVALID
000030af: JUMPDEST
000030b0: PUSH1 0x20
000030b2: MUL
000030b3: PUSH1 0x20
000030b5: ADD
000030b6: ADD
000030b7: MLOAD
000030b8: PUSH2 0x0140
000030bb: ADD
000030bc: MLOAD
000030bd: PUSH2 0x30db
000030c0: JUMP
000030c1: JUMPDEST
000030c2: DUP12
000030c3: DUP7
000030c4: DUP2
000030c5: MLOAD
000030c6: DUP2
000030c7: LT
000030c8: PUSH2 0x30cd
000030cb: JUMPI
000030cc: INVALID
000030cd: JUMPDEST
000030ce: PUSH1 0x20
000030d0: MUL
000030d1: PUSH1 0x20
000030d3: ADD
000030d4: ADD
000030d5: MLOAD
000030d6: PUSH2 0x0160
000030d9: ADD
000030da: MLOAD
000030db: JUMPDEST
000030dc: DUP6
000030dd: PUSH2 0x3588
000030e0: JUMP
000030e1: JUMPDEST
000030e2: PUSH2 0x3103
000030e5: DUP10
000030e6: DUP10
000030e7: DUP5
000030e8: DUP2
000030e9: MLOAD
000030ea: DUP2
000030eb: LT
000030ec: PUSH2 0x30f1
000030ef: JUMPI
000030f0: INVALID
000030f1: JUMPDEST
000030f2: PUSH1 0x20
000030f4: MUL
000030f5: PUSH1 0x20
000030f7: ADD
000030f8: ADD
000030f9: MLOAD
000030fa: PUSH2 0x0140
000030fd: ADD
000030fe: MLOAD
000030ff: PUSH2 0x365e
00003102: JUMP
00003103: JUMPDEST
00003104: PUSH2 0x3148
00003107: DUP9
00003108: DUP4
00003109: DUP2
0000310a: MLOAD
0000310b: DUP2
0000310c: LT
0000310d: PUSH2 0x3112
00003110: JUMPI
00003111: INVALID
00003112: JUMPDEST
00003113: PUSH1 0x20
00003115: MUL
00003116: PUSH1 0x20
00003118: ADD
00003119: ADD
0000311a: MLOAD
0000311b: PUSH1 0x60
0000311d: ADD
0000311e: MLOAD
0000311f: PUSH2 0x1cc7
00003122: DUP11
00003123: DUP6
00003124: DUP2
00003125: MLOAD
00003126: DUP2
00003127: LT
00003128: PUSH2 0x312d
0000312b: JUMPI
0000312c: INVALID
0000312d: JUMPDEST
0000312e: PUSH1 0x20
00003130: MUL
00003131: PUSH1 0x20
00003133: ADD
00003134: ADD
00003135: MLOAD
00003136: PUSH1 0xa0
00003138: ADD
00003139: MLOAD
0000313a: DUP8
0000313b: PUSH2 0x25db
0000313e: SWAP1
0000313f: SWAP2
00003140: SWAP1
00003141: PUSH4 0xffffffff
00003146: AND
00003147: JUMP
00003148: JUMPDEST
00003149: SWAP4
0000314a: POP
0000314b: PUSH2 0x318f
0000314e: DUP9
0000314f: DUP4
00003150: DUP2
00003151: MLOAD
00003152: DUP2
00003153: LT
00003154: PUSH2 0x3159
00003157: JUMPI
00003158: INVALID
00003159: JUMPDEST
0000315a: PUSH1 0x20
0000315c: MUL
0000315d: PUSH1 0x20
0000315f: ADD
00003160: ADD
00003161: MLOAD
00003162: PUSH1 0xe0
00003164: ADD
00003165: MLOAD
00003166: PUSH2 0x1cc7
00003169: DUP11
0000316a: DUP6
0000316b: DUP2
0000316c: MLOAD
0000316d: DUP2
0000316e: LT
0000316f: PUSH2 0x3174
00003172: JUMPI
00003173: INVALID
00003174: JUMPDEST
00003175: PUSH1 0x20
00003177: MUL
00003178: PUSH1 0x20
0000317a: ADD
0000317b: ADD
0000317c: MLOAD
0000317d: PUSH1 0xc0
0000317f: ADD
00003180: MLOAD
00003181: DUP8
00003182: PUSH2 0x25db
00003185: SWAP1
00003186: SWAP2
00003187: SWAP1
00003188: PUSH4 0xffffffff
0000318d: AND
0000318e: JUMP
0000318f: JUMPDEST
00003190: SWAP4
00003191: POP
00003192: PUSH2 0x31bb
00003195: DUP9
00003196: DUP4
00003197: DUP2
00003198: MLOAD
00003199: DUP2
0000319a: LT
0000319b: PUSH2 0x31a0
0000319e: JUMPI
0000319f: INVALID
000031a0: JUMPDEST
000031a1: PUSH1 0x20
000031a3: MUL
000031a4: PUSH1 0x20
000031a6: ADD
000031a7: ADD
000031a8: MLOAD
000031a9: PUSH1 0x80
000031ab: ADD
000031ac: MLOAD
000031ad: DUP6
000031ae: PUSH2 0x28de
000031b1: SWAP1
000031b2: SWAP2
000031b3: SWAP1
000031b4: PUSH4 0xffffffff
000031b9: AND
000031ba: JUMP
000031bb: JUMPDEST
000031bc: SWAP4
000031bd: POP
000031be: PUSH2 0x31da
000031c1: DUP9
000031c2: DUP4
000031c3: DUP2
000031c4: MLOAD
000031c5: DUP2
000031c6: LT
000031c7: PUSH2 0x31cc
000031ca: JUMPI
000031cb: INVALID
000031cc: JUMPDEST
000031cd: PUSH1 0x20
000031cf: MUL
000031d0: PUSH1 0x20
000031d2: ADD
000031d3: ADD
000031d4: MLOAD
000031d5: DUP8
000031d6: PUSH2 0x3686
000031d9: JUMP
000031da: JUMPDEST
000031db: POP
000031dc: PUSH1 0x01
000031de: ADD
000031df: PUSH2 0x2eac
000031e2: JUMP
000031e3: JUMPDEST
000031e4: POP
000031e5: PUSH2 0x320e
000031e8: DUP8
000031e9: DUP6
000031ea: PUSH1 0x20
000031ec: ADD
000031ed: MLOAD
000031ee: DUP9
000031ef: PUSH1 0x00
000031f1: DUP2
000031f2: MLOAD
000031f3: DUP2
000031f4: LT
000031f5: PUSH2 0x31fa
000031f8: JUMPI
000031f9: INVALID
000031fa: JUMPDEST
000031fb: PUSH1 0x20
000031fd: MUL
000031fe: PUSH1 0x20
00003200: ADD
00003201: ADD
00003202: MLOAD
00003203: PUSH2 0x0160
00003206: ADD
00003207: MLOAD
00003208: DUP5
00003209: DUP7
0000320a: PUSH2 0x3588
0000320d: JUMP
0000320e: JUMPDEST
0000320f: PUSH2 0x1136
00003212: DUP8
00003213: DUP8
00003214: PUSH1 0x00
00003216: DUP2
00003217: MLOAD
00003218: DUP2
00003219: LT
0000321a: PUSH2 0x321f
0000321d: JUMPI
0000321e: INVALID
0000321f: JUMPDEST
00003220: PUSH1 0x20
00003222: MUL
00003223: PUSH1 0x20
00003225: ADD
00003226: ADD
00003227: MLOAD
00003228: PUSH2 0x0160
0000322b: ADD
0000322c: MLOAD
0000322d: PUSH2 0x365e
00003230: JUMP
00003231: JUMPDEST
00003232: PUSH1 0x00
00003234: DUP1
00003235: PUSH2 0x323e
00003238: DUP5
00003239: DUP5
0000323a: PUSH2 0x2873
0000323d: JUMP
0000323e: JUMPDEST
0000323f: SWAP1
00003240: POP
00003241: DUP3
00003242: DUP2
00003243: MUL
00003244: DUP5
00003245: SUB
00003246: DUP1
00003247: ISZERO
00003248: PUSH2 0x3256
0000324b: JUMPI
0000324c: POP
0000324d: PUSH1 0x01
0000324f: ADD
00003250: SWAP1
00003251: POP
00003252: PUSH2 0x0d92
00003255: JUMP
00003256: JUMPDEST
00003257: POP
00003258: SWAP1
00003259: POP
0000325a: PUSH2 0x0d92
0000325d: JUMP
0000325e: JUMPDEST
0000325f: PUSH1 0x00
00003261: PUSH2 0x0d92
00003264: DUP3
00003265: PUSH8 0x0de0b6b3a7640000
0000326e: PUSH4 0xffffffff
00003273: PUSH2 0x25db
00003276: AND
00003277: JUMP
00003278: JUMPDEST
00003279: PUSH1 0x00
0000327b: PUSH2 0x0d92
0000327e: PUSH2 0x3286
00003281: DUP4
00003282: PUSH2 0x36ff
00003285: JUMP
00003286: JUMPDEST
00003287: PUSH2 0x3741
0000328a: JUMP
0000328b: JUMPDEST
0000328c: PUSH1 0x40
0000328e: MLOAD
0000328f: DUP2
00003290: SWAP1
00003291: PUSH32 0xdfcfd7b1e4d40c282e16bfdfa04bba6792f850249f83ed258c3fecc3c5962fbc
000032b2: SWAP1
000032b3: PUSH1 0x00
000032b5: SWAP1
000032b6: LOG2
000032b7: POP
000032b8: JUMP
000032b9: JUMPDEST
000032ba: PUSH1 0x40
000032bc: MLOAD
000032bd: PUSH1 0x01
000032bf: PUSH1 0x01
000032c1: PUSH1 0xa0
000032c3: SHL
000032c4: SUB
000032c5: DUP3
000032c6: AND
000032c7: SWAP1
000032c8: PUSH32 0xc3dd8edec722273de2ffd31b47b4f106689ae891ac1bfddf7ae6190589ab0f67
000032e9: SWAP1
000032ea: PUSH1 0x00
000032ec: SWAP1
000032ed: LOG2
000032ee: POP
000032ef: JUMP
000032f0: JUMPDEST
000032f1: DUP1
000032f2: PUSH1 0x01
000032f4: PUSH1 0x01
000032f6: PUSH1 0xa0
000032f8: SHL
000032f9: SUB
000032fa: AND
000032fb: DUP3
000032fc: PUSH1 0x01
000032fe: PUSH1 0x01
00003300: PUSH1 0xa0
00003302: SHL
00003303: SUB
00003304: AND
00003305: PUSH32 0xa6568d7ca1ae4c87043ca12f90308b8ef94330ee3a047c2101e1a40812d26c98
00003326: PUSH1 0x40
00003328: MLOAD
00003329: PUSH1 0x40
0000332b: MLOAD
0000332c: DUP1
0000332d: SWAP2
0000332e: SUB
0000332f: SWAP1
00003330: LOG3
00003331: POP
00003332: POP
00003333: JUMP
00003334: JUMPDEST
00003335: PUSH1 0x01
00003337: PUSH1 0x01
00003339: PUSH1 0xa0
0000333b: SHL
0000333c: SUB
0000333d: DUP1
0000333e: DUP3
0000333f: AND
00003340: PUSH1 0x00
00003342: SWAP1
00003343: DUP2
00003344: MSTORE
00003345: PUSH1 0x01
00003347: DUP5
00003348: ADD
00003349: PUSH1 0x20
0000334b: SWAP1
0000334c: DUP2
0000334d: MSTORE
0000334e: PUSH1 0x40
00003350: DUP1
00003351: DUP4
00003352: KECCAK256
00003353: SLOAD
00003354: DUP2
00003355: MLOAD
00003356: PUSH1 0x01
00003358: PUSH1 0xe0
0000335a: SHL
0000335b: PUSH4 0x18160ddd
00003360: MUL
00003361: DUP2
00003362: MSTORE
00003363: SWAP2
00003364: MLOAD
00003365: SWAP4
00003366: SWAP5
00003367: AND
00003368: SWAP3
00003369: PUSH4 0x18160ddd
0000336e: SWAP3
0000336f: PUSH1 0x04
00003371: DUP1
00003372: DUP5
00003373: ADD
00003374: SWAP4
00003375: SWAP2
00003376: SWAP3
00003377: SWAP2
00003378: DUP3
00003379: SWAP1
0000337a: SUB
0000337b: ADD
0000337c: DUP2
0000337d: DUP7
0000337e: DUP1
0000337f: EXTCODESIZE
00003380: ISZERO
00003381: DUP1
00003382: ISZERO
00003383: PUSH2 0x338b
00003386: JUMPI
00003387: PUSH1 0x00
00003389: DUP1
0000338a: REVERT
0000338b: JUMPDEST
0000338c: POP
0000338d: GAS
0000338e: STATICCALL
0000338f: ISZERO
00003390: DUP1
00003391: ISZERO
00003392: PUSH2 0x339f
00003395: JUMPI
00003396: RETURNDATASIZE
00003397: PUSH1 0x00
00003399: DUP1
0000339a: RETURNDATACOPY
0000339b: RETURNDATASIZE
0000339c: PUSH1 0x00
0000339e: REVERT
0000339f: JUMPDEST
000033a0: POP
000033a1: POP
000033a2: POP
000033a3: POP
000033a4: PUSH1 0x40
000033a6: MLOAD
000033a7: RETURNDATASIZE
000033a8: PUSH1 0x1f
000033aa: NOT
000033ab: PUSH1 0x1f
000033ad: DUP3
000033ae: ADD
000033af: AND
000033b0: DUP3
000033b1: ADD
000033b2: DUP1
000033b3: PUSH1 0x40
000033b5: MSTORE
000033b6: POP
000033b7: PUSH2 0x0933
000033ba: SWAP2
000033bb: SWAP1
000033bc: DUP2
000033bd: ADD
000033be: SWAP1
000033bf: PUSH2 0x470e
000033c2: JUMP
000033c3: JUMPDEST
000033c4: PUSH1 0x80
000033c6: ADD
000033c7: MLOAD
000033c8: PUSH1 0x50
000033ca: SHL
000033cb: PUSH1 0xf0
000033cd: SHR
000033ce: SWAP1
000033cf: JUMP
000033d0: JUMPDEST
000033d1: PUSH1 0x00
000033d3: DUP2
000033d4: ISZERO
000033d5: PUSH2 0x33f9
000033d8: JUMPI
000033d9: PUSH2 0x33f2
000033dc: PUSH2 0x33e5
000033df: DUP7
000033e0: DUP7
000033e1: PUSH2 0x1db1
000033e4: JUMP
000033e5: JUMPDEST
000033e6: DUP5
000033e7: SWAP1
000033e8: PUSH4 0xffffffff
000033ed: PUSH2 0x26a5
000033f0: AND
000033f1: JUMP
000033f2: JUMPDEST
000033f3: SWAP1
000033f4: POP
000033f5: PUSH2 0x0bb4
000033f8: JUMP
000033f9: JUMPDEST
000033fa: PUSH2 0x33f2
000033fd: PUSH2 0x33e5
00003400: PUSH2 0x2950
00003403: JUMP
00003404: JUMPDEST
00003405: PUSH1 0x80
00003407: ADD
00003408: MLOAD
00003409: PUSH1 0xf8
0000340b: SHR
0000340c: SWAP1
0000340d: JUMP
0000340e: JUMPDEST
0000340f: PUSH2 0x3416
00003412: PUSH2 0x3b3c
00003415: JUMP
00003416: JUMPDEST
00003417: DUP3
00003418: MLOAD
00003419: PUSH1 0x01
0000341b: PUSH1 0x01
0000341d: PUSH1 0xa0
0000341f: SHL
00003420: SUB
00003421: SWAP1
00003422: DUP2
00003423: AND
00003424: DUP3
00003425: MSTORE
00003426: PUSH1 0x20
00003428: DUP1
00003429: DUP6
0000342a: ADD
0000342b: MLOAD
0000342c: PUSH1 0x80
0000342e: DUP1
0000342f: DUP6
00003430: ADD
00003431: SWAP2
00003432: SWAP1
00003433: SWAP2
00003434: MSTORE
00003435: PUSH1 0x40
00003437: DUP1
00003438: DUP8
00003439: ADD
0000343a: MLOAD
0000343b: PUSH1 0xa0
0000343d: DUP7
0000343e: ADD
0000343f: MSTORE
00003440: PUSH1 0x60
00003442: DUP1
00003443: DUP9
00003444: ADD
00003445: MLOAD
00003446: PUSH1 0xc0
00003448: DUP8
00003449: ADD
0000344a: MSTORE
0000344b: SWAP2
0000344c: SWAP1
0000344d: SWAP7
0000344e: ADD
0000344f: MLOAD
00003450: PUSH1 0xe0
00003452: DUP6
00003453: ADD
00003454: MSTORE
00003455: DUP5
00003456: MLOAD
00003457: DUP4
00003458: AND
00003459: DUP7
0000345a: DUP6
0000345b: ADD
0000345c: MSTORE
0000345d: DUP5
0000345e: DUP3
0000345f: ADD
00003460: MLOAD
00003461: DUP4
00003462: AND
00003463: SWAP1
00003464: DUP5
00003465: ADD
00003466: MSTORE
00003467: SWAP3
00003468: SWAP1
00003469: SWAP4
0000346a: ADD
0000346b: MLOAD
0000346c: SWAP1
0000346d: SWAP3
0000346e: AND
0000346f: SWAP1
00003470: DUP3
00003471: ADD
00003472: MSTORE
00003473: SWAP1
00003474: JUMP
00003475: JUMPDEST
00003476: PUSH1 0x00
00003478: PUSH2 0x3480
0000347b: DUP3
0000347c: PUSH2 0x2b4b
0000347f: JUMP
00003480: JUMPDEST
00003481: ISZERO
00003482: DUP1
00003483: ISZERO
00003484: PUSH2 0x0d92
00003487: JUMPI
00003488: POP
00003489: PUSH2 0x0d92
0000348c: DUP3
0000348d: PUSH2 0x2b3c
00003490: JUMP
00003491: JUMPDEST
00003492: PUSH1 0x80
00003494: ADD
00003495: MLOAD
00003496: PUSH1 0x18
00003498: SHL
00003499: PUSH1 0xd8
0000349b: SHR
0000349c: SWAP1
0000349d: JUMP
0000349e: JUMPDEST
0000349f: PUSH2 0x34a6
000034a2: PUSH2 0x3a74
000034a5: JUMP
000034a6: JUMPDEST
000034a7: PUSH1 0x00
000034a9: DUP1
000034aa: PUSH1 0xb8
000034ac: DUP5
000034ad: PUSH1 0x80
000034af: ADD
000034b0: MLOAD
000034b1: SWAP1
000034b2: SHL
000034b3: PUSH1 0x01
000034b5: PUSH1 0x01
000034b7: PUSH1 0xf8
000034b9: SHL
000034ba: SUB
000034bb: NOT
000034bc: AND
000034bd: PUSH1 0x01
000034bf: PUSH1 0xf8
000034c1: SHL
000034c2: EQ
000034c3: ISZERO
000034c4: PUSH2 0x34dc
000034c7: JUMPI
000034c8: POP
000034c9: POP
000034ca: PUSH1 0x80
000034cc: DUP3
000034cd: ADD
000034ce: MLOAD
000034cf: PUSH1 0x01
000034d1: SWAP1
000034d2: PUSH1 0xc0
000034d4: SHL
000034d5: PUSH1 0xf0
000034d7: SHR
000034d8: PUSH2 0x34e3
000034db: JUMP
000034dc: JUMPDEST
000034dd: POP
000034de: PUSH1 0x00
000034e0: SWAP1
000034e1: POP
000034e2: DUP1
000034e3: JUMPDEST
000034e4: PUSH1 0x40
000034e6: MLOAD
000034e7: DUP1
000034e8: PUSH1 0x60
000034ea: ADD
000034eb: PUSH1 0x40
000034ed: MSTORE
000034ee: DUP1
000034ef: DUP4
000034f0: PUSH1 0x01
000034f2: DUP2
000034f3: GT
000034f4: ISZERO
000034f5: PUSH2 0x34fa
000034f8: JUMPI
000034f9: INVALID
000034fa: JUMPDEST
000034fb: DUP2
000034fc: MSTORE
000034fd: PUSH2 0xffff
00003500: SWAP1
00003501: SWAP3
00003502: AND
00003503: PUSH1 0x20
00003505: DUP4
00003506: ADD
00003507: MSTORE
00003508: SWAP4
00003509: MLOAD
0000350a: PUSH1 0x01
0000350c: PUSH1 0x01
0000350e: PUSH1 0xa0
00003510: SHL
00003511: SUB
00003512: AND
00003513: PUSH1 0x40
00003515: SWAP1
00003516: SWAP2
00003517: ADD
00003518: MSTORE
00003519: POP
0000351a: SWAP1
0000351b: SWAP2
0000351c: SWAP1
0000351d: POP
0000351e: JUMP
0000351f: JUMPDEST
00003520: PUSH1 0x01
00003522: DUP2
00003523: MLOAD
00003524: PUSH1 0x01
00003526: DUP2
00003527: GT
00003528: ISZERO
00003529: PUSH2 0x352e
0000352c: JUMPI
0000352d: INVALID
0000352e: JUMPDEST
0000352f: EQ
00003530: ISZERO
00003531: PUSH2 0x174d
00003534: JUMPI
00003535: PUSH2 0x174d
00003538: DUP3
00003539: DUP3
0000353a: PUSH1 0x20
0000353c: ADD
0000353d: MLOAD
0000353e: DUP4
0000353f: PUSH1 0x40
00003541: ADD
00003542: MLOAD
00003543: PUSH2 0x380f
00003546: JUMP
00003547: JUMPDEST
00003548: PUSH1 0x00
0000354a: PUSH2 0x0933
0000354d: DUP4
0000354e: PUSH1 0x40
00003550: ADD
00003551: MLOAD
00003552: DUP5
00003553: PUSH1 0x20
00003555: ADD
00003556: MLOAD
00003557: DUP5
00003558: PUSH2 0x3873
0000355b: JUMP
0000355c: JUMPDEST
0000355d: PUSH1 0x80
0000355f: DUP2
00003560: ADD
00003561: MLOAD
00003562: PUSH1 0x00
00003564: SWAP1
00003565: PUSH1 0x60
00003567: SHL
00003568: PUSH1 0xf0
0000356a: SHR
0000356b: PUSH2 0x0933
0000356e: DUP2
0000356f: PUSH2 0x3576
00003572: PUSH2 0x2950
00003575: JUMP
00003576: JUMPDEST
00003577: PUSH2 0x38b3
0000357a: JUMP
0000357b: JUMPDEST
0000357c: PUSH1 0x80
0000357e: ADD
0000357f: MLOAD
00003580: PUSH1 0x40
00003582: SHL
00003583: PUSH1 0xf0
00003585: SHR
00003586: SWAP1
00003587: JUMP
00003588: JUMPDEST
00003589: PUSH2 0x3593
0000358c: DUP6
0000358d: DUP5
0000358e: DUP7
0000358f: PUSH2 0x38c9
00003592: JUMP
00003593: JUMPDEST
00003594: PUSH2 0x359e
00003597: DUP6
00003598: DUP4
00003599: DUP7
0000359a: PUSH2 0x38c9
0000359d: JUMP
0000359e: JUMPDEST
0000359f: PUSH1 0x00
000035a1: PUSH2 0x35b0
000035a4: DUP5
000035a5: DUP8
000035a6: PUSH4 0xffffffff
000035ab: PUSH2 0x256d
000035ae: AND
000035af: JUMP
000035b0: JUMPDEST
000035b1: SWAP1
000035b2: POP
000035b3: PUSH1 0x00
000035b5: PUSH2 0x35c4
000035b8: DUP5
000035b9: DUP9
000035ba: PUSH4 0xffffffff
000035bf: PUSH2 0x256d
000035c2: AND
000035c3: JUMP
000035c4: JUMPDEST
000035c5: PUSH1 0x01
000035c7: PUSH1 0x01
000035c9: PUSH1 0xa0
000035cb: SHL
000035cc: SUB
000035cd: DUP8
000035ce: AND
000035cf: PUSH1 0x00
000035d1: SWAP1
000035d2: DUP2
000035d3: MSTORE
000035d4: PUSH1 0x20
000035d6: DUP5
000035d7: SWAP1
000035d8: MSTORE
000035d9: PUSH1 0x40
000035db: SWAP1
000035dc: KECCAK256
000035dd: SLOAD
000035de: SWAP1
000035df: SWAP2
000035e0: POP
000035e1: DUP4
000035e2: GT
000035e3: ISZERO
000035e4: PUSH2 0x3602
000035e7: JUMPI
000035e8: PUSH1 0x40
000035ea: MLOAD
000035eb: PUSH1 0x01
000035ed: PUSH1 0xe5
000035ef: SHL
000035f0: PUSH3 0x461bcd
000035f4: MUL
000035f5: DUP2
000035f6: MSTORE
000035f7: PUSH1 0x04
000035f9: ADD
000035fa: PUSH2 0x0be3
000035fd: SWAP1
000035fe: PUSH2 0x56b5
00003601: JUMP
00003602: JUMPDEST
00003603: PUSH1 0x01
00003605: PUSH1 0x01
00003607: PUSH1 0xa0
00003609: SHL
0000360a: SUB
0000360b: DUP7
0000360c: AND
0000360d: PUSH1 0x00
0000360f: SWAP1
00003610: DUP2
00003611: MSTORE
00003612: PUSH1 0x20
00003614: DUP4
00003615: DUP2
00003616: MSTORE
00003617: PUSH1 0x40
00003619: DUP1
0000361a: DUP4
0000361b: KECCAK256
0000361c: DUP1
0000361d: SLOAD
0000361e: DUP8
0000361f: SWAP1
00003620: SUB
00003621: SWAP1
00003622: SSTORE
00003623: SWAP1
00003624: DUP4
00003625: SWAP1
00003626: MSTORE
00003627: SWAP1
00003628: KECCAK256
00003629: SLOAD
0000362a: PUSH2 0x3639
0000362d: SWAP1
0000362e: DUP5
0000362f: PUSH4 0xffffffff
00003634: PUSH2 0x25db
00003637: AND
00003638: JUMP
00003639: JUMPDEST
0000363a: PUSH1 0x01
0000363c: PUSH1 0x01
0000363e: PUSH1 0xa0
00003640: SHL
00003641: SUB
00003642: SWAP1
00003643: SWAP7
00003644: AND
00003645: PUSH1 0x00
00003647: SWAP1
00003648: DUP2
00003649: MSTORE
0000364a: PUSH1 0x20
0000364c: SWAP2
0000364d: SWAP1
0000364e: SWAP2
0000364f: MSTORE
00003650: PUSH1 0x40
00003652: SWAP1
00003653: KECCAK256
00003654: SWAP5
00003655: SWAP1
00003656: SWAP5
00003657: SSTORE
00003658: POP
00003659: POP
0000365a: POP
0000365b: POP
0000365c: POP
0000365d: JUMP
0000365e: JUMPDEST
0000365f: PUSH1 0x01
00003661: DUP2
00003662: MLOAD
00003663: PUSH1 0x01
00003665: DUP2
00003666: GT
00003667: ISZERO
00003668: PUSH2 0x366d
0000366b: JUMPI
0000366c: INVALID
0000366d: JUMPDEST
0000366e: EQ
0000366f: ISZERO
00003670: PUSH2 0x174d
00003673: JUMPI
00003674: PUSH2 0x174d
00003677: DUP3
00003678: DUP3
00003679: PUSH1 0x40
0000367b: ADD
0000367c: MLOAD
0000367d: DUP4
0000367e: PUSH1 0x20
00003680: ADD
00003681: MLOAD
00003682: PUSH2 0x38fb
00003685: JUMP
00003686: JUMPDEST
00003687: PUSH32 0x6bf96fcc2cec9e08b082506ebbc10114578a497ff1ea436628ba8996b750677c
000036a8: DUP2
000036a9: DUP4
000036aa: PUSH1 0x00
000036ac: ADD
000036ad: MLOAD
000036ae: DUP5
000036af: PUSH1 0x20
000036b1: ADD
000036b2: MLOAD
000036b3: DUP6
000036b4: PUSH1 0x40
000036b6: ADD
000036b7: MLOAD
000036b8: DUP7
000036b9: PUSH1 0x60
000036bb: ADD
000036bc: MLOAD
000036bd: DUP8
000036be: PUSH1 0x80
000036c0: ADD
000036c1: MLOAD
000036c2: DUP9
000036c3: PUSH1 0xa0
000036c5: ADD
000036c6: MLOAD
000036c7: DUP10
000036c8: PUSH1 0xc0
000036ca: ADD
000036cb: MLOAD
000036cc: DUP11
000036cd: PUSH1 0xe0
000036cf: ADD
000036d0: MLOAD
000036d1: DUP12
000036d2: PUSH2 0x0100
000036d5: ADD
000036d6: MLOAD
000036d7: DUP13
000036d8: PUSH2 0x0120
000036db: ADD
000036dc: MLOAD
000036dd: PUSH1 0x40
000036df: MLOAD
000036e0: PUSH2 0x36f3
000036e3: SWAP12
000036e4: SWAP11
000036e5: SWAP10
000036e6: SWAP9
000036e7: SWAP8
000036e8: SWAP7
000036e9: SWAP6
000036ea: SWAP5
000036eb: SWAP4
000036ec: SWAP3
000036ed: SWAP2
000036ee: SWAP1
000036ef: PUSH2 0x57ee
000036f2: JUMP
000036f3: JUMPDEST
000036f4: PUSH1 0x40
000036f6: MLOAD
000036f7: DUP1
000036f8: SWAP2
000036f9: SUB
000036fa: SWAP1
000036fb: LOG1
000036fc: POP
000036fd: POP
000036fe: JUMP
000036ff: JUMPDEST
00003700: PUSH1 0x00
00003702: DUP1
00003703: PUSH1 0x40
00003705: MLOAD
00003706: PUSH1 0x20
00003708: ADD
00003709: PUSH2 0x3711
0000370c: SWAP1
0000370d: PUSH2 0x54e4
00003710: JUMP
00003711: JUMPDEST
00003712: PUSH1 0x40
00003714: DUP1
00003715: MLOAD
00003716: PUSH1 0x1f
00003718: NOT
00003719: DUP2
0000371a: DUP5
0000371b: SUB
0000371c: DUP2
0000371d: ADD
0000371e: DUP3
0000371f: MSTORE
00003720: SWAP3
00003721: SWAP1
00003722: SWAP2
00003723: MSTORE
00003724: DUP1
00003725: MLOAD
00003726: PUSH1 0x20
00003728: SWAP1
00003729: SWAP2
0000372a: ADD
0000372b: KECCAK256
0000372c: SWAP4
0000372d: ADD
0000372e: DUP1
0000372f: MLOAD
00003730: SWAP4
00003731: DUP2
00003732: MSTORE
00003733: PUSH2 0x0120
00003736: DUP2
00003737: KECCAK256
00003738: SWAP4
00003739: SWAP1
0000373a: MSTORE
0000373b: POP
0000373c: SWAP1
0000373d: SWAP2
0000373e: SWAP1
0000373f: POP
00003740: JUMP
00003741: JUMPDEST
00003742: PUSH1 0x00
00003744: PUSH1 0x40
00003746: MLOAD
00003747: PUSH1 0x20
00003749: ADD
0000374a: PUSH2 0x3752
0000374d: SWAP1
0000374e: PUSH2 0x54ef
00003751: JUMP
00003752: JUMPDEST
00003753: PUSH1 0x40
00003755: DUP1
00003756: MLOAD
00003757: PUSH1 0x1f
00003759: NOT
0000375a: DUP2
0000375b: DUP5
0000375c: SUB
0000375d: ADD
0000375e: DUP2
0000375f: MSTORE
00003760: DUP3
00003761: DUP3
00003762: MSTORE
00003763: DUP1
00003764: MLOAD
00003765: PUSH1 0x20
00003767: SWAP2
00003768: DUP3
00003769: ADD
0000376a: KECCAK256
0000376b: DUP4
0000376c: DUP4
0000376d: ADD
0000376e: DUP4
0000376f: MSTORE
00003770: PUSH1 0x0e
00003772: DUP5
00003773: MSTORE
00003774: PUSH32 0x487964726f2050726f746f636f6c000000000000000000000000000000000000
00003795: SWAP4
00003796: DUP3
00003797: ADD
00003798: SWAP4
00003799: SWAP1
0000379a: SWAP4
0000379b: MSTORE
0000379c: SWAP1
0000379d: MLOAD
0000379e: PUSH2 0x37ca
000037a1: SWAP3
000037a2: SWAP2
000037a3: PUSH32 0x7d6bdac60f484714e037e3b01ae95fef6e336481a5d2aed8f7224b14d41b82e2
000037c4: SWAP2
000037c5: ADD
000037c6: PUSH2 0x5487
000037c9: JUMP
000037ca: JUMPDEST
000037cb: PUSH1 0x40
000037cd: MLOAD
000037ce: PUSH1 0x20
000037d0: DUP2
000037d1: DUP4
000037d2: SUB
000037d3: SUB
000037d4: DUP2
000037d5: MSTORE
000037d6: SWAP1
000037d7: PUSH1 0x40
000037d9: MSTORE
000037da: DUP1
000037db: MLOAD
000037dc: SWAP1
000037dd: PUSH1 0x20
000037df: ADD
000037e0: KECCAK256
000037e1: DUP3
000037e2: PUSH1 0x40
000037e4: MLOAD
000037e5: PUSH1 0x20
000037e7: ADD
000037e8: PUSH2 0x37f2
000037eb: SWAP3
000037ec: SWAP2
000037ed: SWAP1
000037ee: PUSH2 0x54cd
000037f1: JUMP
000037f2: JUMPDEST
000037f3: PUSH1 0x40
000037f5: MLOAD
000037f6: PUSH1 0x20
000037f8: DUP2
000037f9: DUP4
000037fa: SUB
000037fb: SUB
000037fc: DUP2
000037fd: MSTORE
000037fe: SWAP1
000037ff: PUSH1 0x40
00003801: MSTORE
00003802: DUP1
00003803: MLOAD
00003804: SWAP1
00003805: PUSH1 0x20
00003807: ADD
00003808: KECCAK256
00003809: SWAP1
0000380a: POP
0000380b: SWAP2
0000380c: SWAP1
0000380d: POP
0000380e: JUMP
0000380f: JUMPDEST
00003810: PUSH1 0x00
00003812: PUSH1 0x01
00003814: PUSH1 0x01
00003816: PUSH1 0xa0
00003818: SHL
00003819: SUB
0000381a: DUP3
0000381b: AND
0000381c: PUSH1 0x00
0000381e: SWAP1
0000381f: DUP2
00003820: MSTORE
00003821: PUSH1 0x03
00003823: DUP6
00003824: ADD
00003825: PUSH1 0x20
00003827: SWAP1
00003828: DUP2
00003829: MSTORE
0000382a: PUSH1 0x40
0000382c: DUP1
0000382d: DUP4
0000382e: KECCAK256
0000382f: PUSH2 0xffff
00003832: DUP8
00003833: AND
00003834: DUP5
00003835: MSTORE
00003836: SWAP1
00003837: SWAP2
00003838: MSTORE
00003839: SWAP1
0000383a: KECCAK256
0000383b: SLOAD
0000383c: PUSH7 0x01000000000000
00003844: SWAP1
00003845: DIV
00003846: PUSH1 0xff
00003848: AND
00003849: PUSH1 0x01
0000384b: DUP2
0000384c: GT
0000384d: ISZERO
0000384e: PUSH2 0x3853
00003851: JUMPI
00003852: INVALID
00003853: JUMPDEST
00003854: EQ
00003855: PUSH2 0x19d3
00003858: JUMPI
00003859: PUSH1 0x40
0000385b: MLOAD
0000385c: PUSH1 0x01
0000385e: PUSH1 0xe5
00003860: SHL
00003861: PUSH3 0x461bcd
00003865: MUL
00003866: DUP2
00003867: MSTORE
00003868: PUSH1 0x04
0000386a: ADD
0000386b: PUSH2 0x0be3
0000386e: SWAP1
0000386f: PUSH2 0x5585
00003872: JUMP
00003873: JUMPDEST
00003874: PUSH1 0x00
00003876: PUSH2 0x3880
00003879: DUP5
0000387a: DUP5
0000387b: DUP5
0000387c: PUSH2 0x3927
0000387f: JUMP
00003880: JUMPDEST
00003881: ISZERO
00003882: PUSH2 0x38a0
00003885: JUMPI
00003886: PUSH1 0x40
00003888: MLOAD
00003889: PUSH1 0x01
0000388b: PUSH1 0xe5
0000388d: SHL
0000388e: PUSH3 0x461bcd
00003892: MUL
00003893: DUP2
00003894: MSTORE
00003895: PUSH1 0x04
00003897: ADD
00003898: PUSH2 0x0be3
0000389b: SWAP1
0000389c: PUSH2 0x5685
0000389f: JUMP
000038a0: JUMPDEST
000038a1: PUSH2 0x0bb4
000038a4: PUSH2 0x38ad
000038a7: DUP6
000038a8: DUP5
000038a9: PUSH2 0x26a5
000038ac: JUMP
000038ad: JUMPDEST
000038ae: DUP5
000038af: PUSH2 0x2873
000038b2: JUMP
000038b3: JUMPDEST
000038b4: PUSH1 0x00
000038b6: DUP2
000038b7: DUP4
000038b8: LT
000038b9: PUSH2 0x38c2
000038bc: JUMPI
000038bd: DUP2
000038be: PUSH2 0x0933
000038c1: JUMP
000038c2: JUMPDEST
000038c3: POP
000038c4: SWAP1
000038c5: SWAP2
000038c6: SWAP1
000038c7: POP
000038c8: JUMP
000038c9: JUMPDEST
000038ca: PUSH1 0x01
000038cc: DUP3
000038cd: MLOAD
000038ce: PUSH1 0x01
000038d0: DUP2
000038d1: GT
000038d2: ISZERO
000038d3: PUSH2 0x38d8
000038d6: JUMPI
000038d7: INVALID
000038d8: JUMPDEST
000038d9: EQ
000038da: ISZERO
000038db: PUSH2 0x19d3
000038de: JUMPI
000038df: PUSH2 0x38ec
000038e2: DUP4
000038e3: DUP4
000038e4: PUSH1 0x20
000038e6: ADD
000038e7: MLOAD
000038e8: PUSH2 0x1751
000038eb: JUMP
000038ec: JUMPDEST
000038ed: PUSH2 0x19d3
000038f0: DUP4
000038f1: DUP4
000038f2: PUSH1 0x20
000038f4: ADD
000038f5: MLOAD
000038f6: DUP4
000038f7: PUSH2 0x1962
000038fa: JUMP
000038fb: JUMPDEST
000038fc: PUSH2 0x3906
000038ff: DUP4
00003900: DUP4
00003901: DUP4
00003902: PUSH2 0x177c
00003905: JUMP
00003906: JUMPDEST
00003907: MLOAD
00003908: ISZERO
00003909: PUSH2 0x19d3
0000390c: JUMPI
0000390d: PUSH1 0x40
0000390f: MLOAD
00003910: PUSH1 0x01
00003912: PUSH1 0xe5
00003914: SHL
00003915: PUSH3 0x461bcd
00003919: MUL
0000391a: DUP2
0000391b: MSTORE
0000391c: PUSH1 0x04
0000391e: ADD
0000391f: PUSH2 0x0be3
00003922: SWAP1
00003923: PUSH2 0x5695
00003926: JUMP
00003927: JUMPDEST
00003928: PUSH1 0x00
0000392a: PUSH2 0x3933
0000392d: DUP5
0000392e: DUP4
0000392f: PUSH2 0x26a5
00003932: JUMP
00003933: JUMPDEST
00003934: PUSH2 0x3951
00003937: PUSH2 0x3949
0000393a: PUSH2 0x3943
0000393d: DUP8
0000393e: DUP7
0000393f: PUSH2 0x26a5
00003942: JUMP
00003943: JUMPDEST
00003944: DUP7
00003945: PUSH2 0x395b
00003948: JUMP
00003949: JUMPDEST
0000394a: PUSH2 0x03e8
0000394d: PUSH2 0x26a5
00003950: JUMP
00003951: JUMPDEST
00003952: LT
00003953: ISZERO
00003954: SWAP5
00003955: SWAP4
00003956: POP
00003957: POP
00003958: POP
00003959: POP
0000395a: JUMP
0000395b: JUMPDEST
0000395c: PUSH1 0x00
0000395e: DUP2
0000395f: PUSH2 0x397d
00003962: JUMPI
00003963: PUSH1 0x40
00003965: MLOAD
00003966: PUSH1 0x01
00003968: PUSH1 0xe5
0000396a: SHL
0000396b: PUSH3 0x461bcd
0000396f: MUL
00003970: DUP2
00003971: MSTORE
00003972: PUSH1 0x04
00003974: ADD
00003975: PUSH2 0x0be3
00003978: SWAP1
00003979: PUSH2 0x57a5
0000397c: JUMP
0000397d: JUMPDEST
0000397e: DUP2
0000397f: DUP4
00003980: DUP2
00003981: PUSH2 0x3986
00003984: JUMPI
00003985: INVALID
00003986: JUMPDEST
00003987: MOD
00003988: SWAP4
00003989: SWAP3
0000398a: POP
0000398b: POP
0000398c: POP
0000398d: JUMP
0000398e: JUMPDEST
0000398f: PUSH1 0x40
00003991: MLOAD
00003992: DUP1
00003993: PUSH1 0xe0
00003995: ADD
00003996: PUSH1 0x40
00003998: MSTORE
00003999: DUP1
0000399a: PUSH1 0x00
0000399c: PUSH1 0x01
0000399e: PUSH1 0x01
000039a0: PUSH1 0xa0
000039a2: SHL
000039a3: SUB
000039a4: AND
000039a5: DUP2
000039a6: MSTORE
000039a7: PUSH1 0x20
000039a9: ADD
000039aa: PUSH1 0x00
000039ac: PUSH1 0x01
000039ae: PUSH1 0x01
000039b0: PUSH1 0xa0
000039b2: SHL
000039b3: SUB
000039b4: AND
000039b5: DUP2
000039b6: MSTORE
000039b7: PUSH1 0x20
000039b9: ADD
000039ba: PUSH1 0x00
000039bc: DUP2
000039bd: MSTORE
000039be: PUSH1 0x20
000039c0: ADD
000039c1: PUSH1 0x00
000039c3: DUP2
000039c4: MSTORE
000039c5: PUSH1 0x20
000039c7: ADD
000039c8: PUSH1 0x00
000039ca: DUP2
000039cb: MSTORE
000039cc: PUSH1 0x20
000039ce: ADD
000039cf: PUSH1 0x00
000039d1: DUP2
000039d2: MSTORE
000039d3: PUSH1 0x20
000039d5: ADD
000039d6: PUSH1 0x00
000039d8: ISZERO
000039d9: ISZERO
000039da: DUP2
000039db: MSTORE
000039dc: POP
000039dd: SWAP1
000039de: JUMP
000039df: JUMPDEST
000039e0: PUSH1 0x40
000039e2: DUP1
000039e3: MLOAD
000039e4: PUSH2 0x0120
000039e7: DUP2
000039e8: ADD
000039e9: DUP3
000039ea: MSTORE
000039eb: PUSH1 0x00
000039ed: DUP1
000039ee: DUP3
000039ef: MSTORE
000039f0: PUSH1 0x20
000039f2: DUP3
000039f3: ADD
000039f4: DUP2
000039f5: SWAP1
000039f6: MSTORE
000039f7: SWAP2
000039f8: DUP2
000039f9: ADD
000039fa: DUP3
000039fb: SWAP1
000039fc: MSTORE
000039fd: PUSH1 0x60
000039ff: DUP2
00003a00: ADD
00003a01: DUP3
00003a02: SWAP1
00003a03: MSTORE
00003a04: PUSH1 0x80
00003a06: DUP2
00003a07: ADD
00003a08: DUP3
00003a09: SWAP1
00003a0a: MSTORE
00003a0b: PUSH1 0xa0
00003a0d: DUP2
00003a0e: ADD
00003a0f: DUP3
00003a10: SWAP1
00003a11: MSTORE
00003a12: PUSH1 0xc0
00003a14: DUP2
00003a15: ADD
00003a16: DUP3
00003a17: SWAP1
00003a18: MSTORE
00003a19: PUSH1 0xe0
00003a1b: DUP2
00003a1c: ADD
00003a1d: DUP3
00003a1e: SWAP1
00003a1f: MSTORE
00003a20: PUSH2 0x0100
00003a23: DUP2
00003a24: ADD
00003a25: SWAP2
00003a26: SWAP1
00003a27: SWAP2
00003a28: MSTORE
00003a29: SWAP1
00003a2a: JUMP
00003a2b: JUMPDEST
00003a2c: PUSH1 0x40
00003a2e: DUP1
00003a2f: MLOAD
00003a30: PUSH1 0x60
00003a32: DUP2
00003a33: ADD
00003a34: DUP3
00003a35: MSTORE
00003a36: PUSH1 0x00
00003a38: DUP1
00003a39: DUP3
00003a3a: MSTORE
00003a3b: PUSH1 0x20
00003a3d: DUP3
00003a3e: ADD
00003a3f: DUP2
00003a40: SWAP1
00003a41: MSTORE
00003a42: SWAP2
00003a43: DUP2
00003a44: ADD
00003a45: SWAP2
00003a46: SWAP1
00003a47: SWAP2
00003a48: MSTORE
00003a49: SWAP1
00003a4a: JUMP
00003a4b: JUMPDEST
00003a4c: PUSH1 0x40
00003a4e: DUP1
00003a4f: MLOAD
00003a50: PUSH1 0x80
00003a52: DUP2
00003a53: ADD
00003a54: SWAP1
00003a55: SWAP2
00003a56: MSTORE
00003a57: PUSH1 0x00
00003a59: DUP1
00003a5a: DUP3
00003a5b: MSTORE
00003a5c: PUSH1 0x20
00003a5e: DUP3
00003a5f: ADD
00003a60: SWAP1
00003a61: DUP2
00003a62: MSTORE
00003a63: PUSH1 0x20
00003a65: ADD
00003a66: PUSH1 0x00
00003a68: DUP2
00003a69: MSTORE
00003a6a: PUSH1 0x20
00003a6c: ADD
00003a6d: PUSH1 0x00
00003a6f: DUP2
00003a70: MSTORE
00003a71: POP
00003a72: SWAP1
00003a73: JUMP
00003a74: JUMPDEST
00003a75: PUSH1 0x40
00003a77: DUP1
00003a78: MLOAD
00003a79: PUSH1 0x60
00003a7b: DUP2
00003a7c: ADD
00003a7d: SWAP1
00003a7e: SWAP2
00003a7f: MSTORE
00003a80: DUP1
00003a81: PUSH1 0x00
00003a83: DUP2
00003a84: MSTORE
00003a85: PUSH1 0x00
00003a87: PUSH1 0x20
00003a89: DUP3
00003a8a: ADD
00003a8b: DUP2
00003a8c: SWAP1
00003a8d: MSTORE
00003a8e: PUSH1 0x40
00003a90: SWAP1
00003a91: SWAP2
00003a92: ADD
00003a93: MSTORE
00003a94: SWAP1
00003a95: JUMP
00003a96: JUMPDEST
00003a97: PUSH1 0x40
00003a99: DUP1
00003a9a: MLOAD
00003a9b: PUSH1 0xa0
00003a9d: DUP2
00003a9e: ADD
00003a9f: DUP3
00003aa0: MSTORE
00003aa1: PUSH1 0x00
00003aa3: DUP1
00003aa4: DUP3
00003aa5: MSTORE
00003aa6: PUSH1 0x20
00003aa8: DUP3
00003aa9: ADD
00003aaa: MSTORE
00003aab: SWAP1
00003aac: DUP2
00003aad: ADD
00003aae: PUSH2 0x3ab5
00003ab1: PUSH2 0x3a74
00003ab4: JUMP
00003ab5: JUMPDEST
00003ab6: SWAP1
00003ab7: MSTORE
00003ab8: SWAP1
00003ab9: JUMP
00003aba: JUMPDEST
00003abb: PUSH1 0x40
00003abd: MLOAD
00003abe: DUP1
00003abf: PUSH2 0x0200
00003ac2: ADD
00003ac3: PUSH1 0x40
00003ac5: MSTORE
00003ac6: DUP1
00003ac7: PUSH1 0x00
00003ac9: PUSH1 0x01
00003acb: PUSH1 0x01
00003acd: PUSH1 0xa0
00003acf: SHL
00003ad0: SUB
00003ad1: AND
00003ad2: DUP2
00003ad3: MSTORE
00003ad4: PUSH1 0x20
00003ad6: ADD
00003ad7: PUSH1 0x00
00003ad9: PUSH1 0x01
00003adb: PUSH1 0x01
00003add: PUSH1 0xa0
00003adf: SHL
00003ae0: SUB
00003ae1: AND
00003ae2: DUP2
00003ae3: MSTORE
00003ae4: PUSH1 0x20
00003ae6: ADD
00003ae7: PUSH1 0x00
00003ae9: PUSH1 0x01
00003aeb: PUSH1 0x01
00003aed: PUSH1 0xa0
00003aef: SHL
00003af0: SUB
00003af1: AND
00003af2: DUP2
00003af3: MSTORE
00003af4: PUSH1 0x20
00003af6: ADD
00003af7: PUSH1 0x00
00003af9: DUP2
00003afa: MSTORE
00003afb: PUSH1 0x20
00003afd: ADD
00003afe: PUSH1 0x00
00003b00: DUP2
00003b01: MSTORE
00003b02: PUSH1 0x20
00003b04: ADD
00003b05: PUSH1 0x00
00003b07: DUP2
00003b08: MSTORE
00003b09: PUSH1 0x20
00003b0b: ADD
00003b0c: PUSH1 0x00
00003b0e: DUP2
00003b0f: MSTORE
00003b10: PUSH1 0x20
00003b12: ADD
00003b13: PUSH1 0x00
00003b15: DUP2
00003b16: MSTORE
00003b17: PUSH1 0x20
00003b19: ADD
00003b1a: PUSH1 0x00
00003b1c: DUP2
00003b1d: MSTORE
00003b1e: PUSH1 0x20
00003b20: ADD
00003b21: PUSH1 0x00
00003b23: DUP2
00003b24: MSTORE
00003b25: PUSH1 0x20
00003b27: ADD
00003b28: PUSH2 0x3b2f
00003b2b: PUSH2 0x3a74
00003b2e: JUMP
00003b2f: JUMPDEST
00003b30: DUP2
00003b31: MSTORE
00003b32: PUSH1 0x20
00003b34: ADD
00003b35: PUSH2 0x3ab5
00003b38: PUSH2 0x3a74
00003b3b: JUMP
00003b3c: JUMPDEST
00003b3d: PUSH1 0x40
00003b3f: DUP1
00003b40: MLOAD
00003b41: PUSH2 0x0100
00003b44: DUP2
00003b45: ADD
00003b46: DUP3
00003b47: MSTORE
00003b48: PUSH1 0x00
00003b4a: DUP1
00003b4b: DUP3
00003b4c: MSTORE
00003b4d: PUSH1 0x20
00003b4f: DUP3
00003b50: ADD
00003b51: DUP2
00003b52: SWAP1
00003b53: MSTORE
00003b54: SWAP2
00003b55: DUP2
00003b56: ADD
00003b57: DUP3
00003b58: SWAP1
00003b59: MSTORE
00003b5a: PUSH1 0x60
00003b5c: DUP2
00003b5d: ADD
00003b5e: DUP3
00003b5f: SWAP1
00003b60: MSTORE
00003b61: PUSH1 0x80
00003b63: DUP2
00003b64: ADD
00003b65: DUP3
00003b66: SWAP1
00003b67: MSTORE
00003b68: PUSH1 0xa0
00003b6a: DUP2
00003b6b: ADD
00003b6c: DUP3
00003b6d: SWAP1
00003b6e: MSTORE
00003b6f: PUSH1 0xc0
00003b71: DUP2
00003b72: ADD
00003b73: DUP3
00003b74: SWAP1
00003b75: MSTORE
00003b76: PUSH1 0xe0
00003b78: DUP2
00003b79: ADD
00003b7a: SWAP2
00003b7b: SWAP1
00003b7c: SWAP2
00003b7d: MSTORE
00003b7e: SWAP1
00003b7f: JUMP
00003b80: JUMPDEST
00003b81: DUP1
00003b82: CALLDATALOAD
00003b83: PUSH2 0x0d92
00003b86: DUP2
00003b87: PUSH2 0x5bfd
00003b8a: JUMP
00003b8b: JUMPDEST
00003b8c: DUP1
00003b8d: MLOAD
00003b8e: PUSH2 0x0d92
00003b91: DUP2
00003b92: PUSH2 0x5bfd
00003b95: JUMP
00003b96: JUMPDEST
00003b97: PUSH1 0x00
00003b99: DUP3
00003b9a: PUSH1 0x1f
00003b9c: DUP4
00003b9d: ADD
00003b9e: SLT
00003b9f: PUSH2 0x3ba7
00003ba2: JUMPI
00003ba3: PUSH1 0x00
00003ba5: DUP1
00003ba6: REVERT
00003ba7: JUMPDEST
00003ba8: DUP2
00003ba9: CALLDATALOAD
00003baa: PUSH2 0x3bba
00003bad: PUSH2 0x3bb5
00003bb0: DUP3
00003bb1: PUSH2 0x5ada
00003bb4: JUMP
00003bb5: JUMPDEST
00003bb6: PUSH2 0x5ab3
00003bb9: JUMP
00003bba: JUMPDEST
00003bbb: DUP2
00003bbc: DUP2
00003bbd: MSTORE
00003bbe: PUSH1 0x20
00003bc0: SWAP4
00003bc1: DUP5
00003bc2: ADD
00003bc3: SWAP4
00003bc4: SWAP1
00003bc5: SWAP3
00003bc6: POP
00003bc7: DUP3
00003bc8: ADD
00003bc9: DUP4
00003bca: PUSH1 0x00
00003bcc: JUMPDEST
00003bcd: DUP4
00003bce: DUP2
00003bcf: LT
00003bd0: ISZERO
00003bd1: PUSH2 0x1e8f
00003bd4: JUMPI
00003bd5: DUP2
00003bd6: CALLDATALOAD
00003bd7: DUP7
00003bd8: ADD
00003bd9: PUSH2 0x3be2
00003bdc: DUP9
00003bdd: DUP3
00003bde: PUSH2 0x3d99
00003be1: JUMP
00003be2: JUMPDEST
00003be3: DUP5
00003be4: MSTORE
00003be5: POP
00003be6: PUSH1 0x20
00003be8: SWAP3
00003be9: DUP4
00003bea: ADD
00003beb: SWAP3
00003bec: SWAP2
00003bed: SWAP1
00003bee: SWAP2
00003bef: ADD
00003bf0: SWAP1
00003bf1: PUSH1 0x01
00003bf3: ADD
00003bf4: PUSH2 0x3bcc
00003bf7: JUMP
00003bf8: JUMPDEST
00003bf9: PUSH1 0x00
00003bfb: DUP3
00003bfc: PUSH1 0x1f
00003bfe: DUP4
00003bff: ADD
00003c00: SLT
00003c01: PUSH2 0x3c09
00003c04: JUMPI
00003c05: PUSH1 0x00
00003c07: DUP1
00003c08: REVERT
00003c09: JUMPDEST
00003c0a: DUP2
00003c0b: CALLDATALOAD
00003c0c: PUSH2 0x3c17
00003c0f: PUSH2 0x3bb5
00003c12: DUP3
00003c13: PUSH2 0x5ada
00003c16: JUMP
00003c17: JUMPDEST
00003c18: SWAP2
00003c19: POP
00003c1a: DUP2
00003c1b: DUP2
00003c1c: DUP4
00003c1d: MSTORE
00003c1e: PUSH1 0x20
00003c20: DUP5
00003c21: ADD
00003c22: SWAP4
00003c23: POP
00003c24: PUSH1 0x20
00003c26: DUP2
00003c27: ADD
00003c28: SWAP1
00003c29: POP
00003c2a: DUP4
00003c2b: DUP6
00003c2c: PUSH2 0x0100
00003c2f: DUP5
00003c30: MUL
00003c31: DUP3
00003c32: ADD
00003c33: GT
00003c34: ISZERO
00003c35: PUSH2 0x3c3d
00003c38: JUMPI
00003c39: PUSH1 0x00
00003c3b: DUP1
00003c3c: REVERT
00003c3d: JUMPDEST
00003c3e: PUSH1 0x00
00003c40: JUMPDEST
00003c41: DUP4
00003c42: DUP2
00003c43: LT
00003c44: ISZERO
00003c45: PUSH2 0x1e8f
00003c48: JUMPI
00003c49: DUP2
00003c4a: PUSH2 0x3c53
00003c4d: DUP9
00003c4e: DUP3
00003c4f: PUSH2 0x4078
00003c52: JUMP
00003c53: JUMPDEST
00003c54: DUP5
00003c55: MSTORE
00003c56: POP
00003c57: PUSH1 0x20
00003c59: SWAP1
00003c5a: SWAP3
00003c5b: ADD
00003c5c: SWAP2
00003c5d: PUSH2 0x0100
00003c60: SWAP2
00003c61: SWAP1
00003c62: SWAP2
00003c63: ADD
00003c64: SWAP1
00003c65: PUSH1 0x01
00003c67: ADD
00003c68: PUSH2 0x3c40
00003c6b: JUMP
00003c6c: JUMPDEST
00003c6d: PUSH1 0x00
00003c6f: DUP3
00003c70: PUSH1 0x1f
00003c72: DUP4
00003c73: ADD
00003c74: SLT
00003c75: PUSH2 0x3c7d
00003c78: JUMPI
00003c79: PUSH1 0x00
00003c7b: DUP1
00003c7c: REVERT
00003c7d: JUMPDEST
00003c7e: DUP2
00003c7f: CALLDATALOAD
00003c80: PUSH2 0x3c8b
00003c83: PUSH2 0x3bb5
00003c86: DUP3
00003c87: PUSH2 0x5ada
00003c8a: JUMP
00003c8b: JUMPDEST
00003c8c: SWAP2
00003c8d: POP
00003c8e: DUP2
00003c8f: DUP2
00003c90: DUP4
00003c91: MSTORE
00003c92: PUSH1 0x20
00003c94: DUP5
00003c95: ADD
00003c96: SWAP4
00003c97: POP
00003c98: PUSH1 0x20
00003c9a: DUP2
00003c9b: ADD
00003c9c: SWAP1
00003c9d: POP
00003c9e: DUP4
00003c9f: DUP6
00003ca0: PUSH1 0x20
00003ca2: DUP5
00003ca3: MUL
00003ca4: DUP3
00003ca5: ADD
00003ca6: GT
00003ca7: ISZERO
00003ca8: PUSH2 0x3cb0
00003cab: JUMPI
00003cac: PUSH1 0x00
00003cae: DUP1
00003caf: REVERT
00003cb0: JUMPDEST
00003cb1: PUSH1 0x00
00003cb3: JUMPDEST
00003cb4: DUP4
00003cb5: DUP2
00003cb6: LT
00003cb7: ISZERO
00003cb8: PUSH2 0x1e8f
00003cbb: JUMPI
00003cbc: DUP2
00003cbd: PUSH2 0x3cc6
00003cc0: DUP9
00003cc1: DUP3
00003cc2: PUSH2 0x3cf2
00003cc5: JUMP
00003cc6: JUMPDEST
00003cc7: DUP5
00003cc8: MSTORE
00003cc9: POP
00003cca: PUSH1 0x20
00003ccc: SWAP3
00003ccd: DUP4
00003cce: ADD
00003ccf: SWAP3
00003cd0: SWAP2
00003cd1: SWAP1
00003cd2: SWAP2
00003cd3: ADD
00003cd4: SWAP1
00003cd5: PUSH1 0x01
00003cd7: ADD
00003cd8: PUSH2 0x3cb3
00003cdb: JUMP
00003cdc: JUMPDEST
00003cdd: DUP1
00003cde: CALLDATALOAD
00003cdf: PUSH2 0x0d92
00003ce2: DUP2
00003ce3: PUSH2 0x5c11
00003ce6: JUMP
00003ce7: JUMPDEST
00003ce8: DUP1
00003ce9: MLOAD
00003cea: PUSH2 0x0d92
00003ced: DUP2
00003cee: PUSH2 0x5c11
00003cf1: JUMP
00003cf2: JUMPDEST
00003cf3: DUP1
00003cf4: CALLDATALOAD
00003cf5: PUSH2 0x0d92
00003cf8: DUP2
00003cf9: PUSH2 0x5c1a
00003cfc: JUMP
00003cfd: JUMPDEST
00003cfe: PUSH1 0x00
00003d00: DUP3
00003d01: PUSH1 0x1f
00003d03: DUP4
00003d04: ADD
00003d05: SLT
00003d06: PUSH2 0x3d0e
00003d09: JUMPI
00003d0a: PUSH1 0x00
00003d0c: DUP1
00003d0d: REVERT
00003d0e: JUMPDEST
00003d0f: DUP2
00003d10: CALLDATALOAD
00003d11: PUSH2 0x3d1c
00003d14: PUSH2 0x3bb5
00003d17: DUP3
00003d18: PUSH2 0x5afb
00003d1b: JUMP
00003d1c: JUMPDEST
00003d1d: SWAP2
00003d1e: POP
00003d1f: DUP1
00003d20: DUP3
00003d21: MSTORE
00003d22: PUSH1 0x20
00003d24: DUP4
00003d25: ADD
00003d26: PUSH1 0x20
00003d28: DUP4
00003d29: ADD
00003d2a: DUP6
00003d2b: DUP4
00003d2c: DUP4
00003d2d: ADD
00003d2e: GT
00003d2f: ISZERO
00003d30: PUSH2 0x3d38
00003d33: JUMPI
00003d34: PUSH1 0x00
00003d36: DUP1
00003d37: REVERT
00003d38: JUMPDEST
00003d39: PUSH2 0x3d43
00003d3c: DUP4
00003d3d: DUP3
00003d3e: DUP5
00003d3f: PUSH2 0x5ba7
00003d42: JUMP
00003d43: JUMPDEST
00003d44: POP
00003d45: POP
00003d46: POP
00003d47: SWAP3
00003d48: SWAP2
00003d49: POP
00003d4a: POP
00003d4b: JUMP
00003d4c: JUMPDEST
00003d4d: DUP1
00003d4e: CALLDATALOAD
00003d4f: PUSH2 0x0d92
00003d52: DUP2
00003d53: PUSH2 0x5c23
00003d56: JUMP
00003d57: JUMPDEST
00003d58: PUSH1 0x00
00003d5a: DUP1
00003d5b: DUP4
00003d5c: PUSH1 0x1f
00003d5e: DUP5
00003d5f: ADD
00003d60: SLT
00003d61: PUSH2 0x3d69
00003d64: JUMPI
00003d65: PUSH1 0x00
00003d67: DUP1
00003d68: REVERT
00003d69: JUMPDEST
00003d6a: POP
00003d6b: DUP2
00003d6c: CALLDATALOAD
00003d6d: PUSH8 0xffffffffffffffff
00003d76: DUP2
00003d77: GT
00003d78: ISZERO
00003d79: PUSH2 0x3d81
00003d7c: JUMPI
00003d7d: PUSH1 0x00
00003d7f: DUP1
00003d80: REVERT
00003d81: JUMPDEST
00003d82: PUSH1 0x20
00003d84: DUP4
00003d85: ADD
00003d86: SWAP2
00003d87: POP
00003d88: DUP4
00003d89: PUSH1 0x01
00003d8b: DUP3
00003d8c: MUL
00003d8d: DUP4
00003d8e: ADD
00003d8f: GT
00003d90: ISZERO
00003d91: PUSH2 0x2442
00003d94: JUMPI
00003d95: PUSH1 0x00
00003d97: DUP1
00003d98: REVERT
00003d99: JUMPDEST
00003d9a: PUSH1 0x00
00003d9c: PUSH1 0x40
00003d9e: DUP3
00003d9f: DUP5
00003da0: SUB
00003da1: SLT
00003da2: ISZERO
00003da3: PUSH2 0x3dab
00003da6: JUMPI
00003da7: PUSH1 0x00
00003da9: DUP1
00003daa: REVERT
00003dab: JUMPDEST
00003dac: PUSH2 0x3db5
00003daf: PUSH1 0x40
00003db1: PUSH2 0x5ab3
00003db4: JUMP
00003db5: JUMPDEST
00003db6: SWAP1
00003db7: POP
00003db8: PUSH1 0x00
00003dba: PUSH2 0x3dc3
00003dbd: DUP5
00003dbe: DUP5
00003dbf: PUSH2 0x3d4c
00003dc2: JUMP
00003dc3: JUMPDEST
00003dc4: DUP3
00003dc5: MSTORE
00003dc6: POP
00003dc7: PUSH1 0x20
00003dc9: DUP3
00003dca: ADD
00003dcb: CALLDATALOAD
00003dcc: PUSH8 0xffffffffffffffff
00003dd5: DUP2
00003dd6: GT
00003dd7: ISZERO
00003dd8: PUSH2 0x3de0
00003ddb: JUMPI
00003ddc: PUSH1 0x00
00003dde: DUP1
00003ddf: REVERT
00003de0: JUMPDEST
00003de1: PUSH2 0x3dec
00003de4: DUP5
00003de5: DUP3
00003de6: DUP6
00003de7: ADD
00003de8: PUSH2 0x3cfd
00003deb: JUMP
00003dec: JUMPDEST
00003ded: PUSH1 0x20
00003def: DUP4
00003df0: ADD
00003df1: MSTORE
00003df2: POP
00003df3: SWAP3
00003df4: SWAP2
00003df5: POP
00003df6: POP
00003df7: JUMP
00003df8: JUMPDEST
00003df9: PUSH1 0x00
00003dfb: PUSH2 0x0120
00003dfe: DUP3
00003dff: DUP5
00003e00: SUB
00003e01: SLT
00003e02: ISZERO
00003e03: PUSH2 0x3e0b
00003e06: JUMPI
00003e07: PUSH1 0x00
00003e09: DUP1
00003e0a: REVERT
00003e0b: JUMPDEST
00003e0c: PUSH2 0x3e16
00003e0f: PUSH2 0x0120
00003e12: PUSH2 0x5ab3
00003e15: JUMP
00003e16: JUMPDEST
00003e17: SWAP1
00003e18: POP
00003e19: PUSH1 0x00
00003e1b: PUSH2 0x3e24
00003e1e: DUP5
00003e1f: DUP5
00003e20: PUSH2 0x3b8b
00003e23: JUMP
00003e24: JUMPDEST
00003e25: DUP3
00003e26: MSTORE
00003e27: POP
00003e28: PUSH1 0x20
00003e2a: PUSH2 0x3e35
00003e2d: DUP5
00003e2e: DUP5
00003e2f: DUP4
00003e30: ADD
00003e31: PUSH2 0x4256
00003e34: JUMP
00003e35: JUMPDEST
00003e36: PUSH1 0x20
00003e38: DUP4
00003e39: ADD
00003e3a: MSTORE
00003e3b: POP
00003e3c: PUSH1 0x40
00003e3e: PUSH2 0x3e49
00003e41: DUP5
00003e42: DUP3
00003e43: DUP6
00003e44: ADD
00003e45: PUSH2 0x3b8b
00003e48: JUMP
00003e49: JUMPDEST
00003e4a: PUSH1 0x40
00003e4c: DUP4
00003e4d: ADD
00003e4e: MSTORE
00003e4f: POP
00003e50: PUSH1 0x60
00003e52: PUSH2 0x3e5d
00003e55: DUP5
00003e56: DUP3
00003e57: DUP6
00003e58: ADD
00003e59: PUSH2 0x3b8b
00003e5c: JUMP
00003e5d: JUMPDEST
00003e5e: PUSH1 0x60
00003e60: DUP4
00003e61: ADD
00003e62: MSTORE
00003e63: POP
00003e64: PUSH1 0x80
00003e66: PUSH2 0x3e71
00003e69: DUP5
00003e6a: DUP3
00003e6b: DUP6
00003e6c: ADD
00003e6d: PUSH2 0x4261
00003e70: JUMP
00003e71: JUMPDEST
00003e72: PUSH1 0x80
00003e74: DUP4
00003e75: ADD
00003e76: MSTORE
00003e77: POP
00003e78: PUSH1 0xa0
00003e7a: PUSH2 0x3e85
00003e7d: DUP5
00003e7e: DUP3
00003e7f: DUP6
00003e80: ADD
00003e81: PUSH2 0x4261
00003e84: JUMP
00003e85: JUMPDEST
00003e86: PUSH1 0xa0
00003e88: DUP4
00003e89: ADD
00003e8a: MSTORE
00003e8b: POP
00003e8c: PUSH1 0xc0
00003e8e: PUSH2 0x3e99
00003e91: DUP5
00003e92: DUP3
00003e93: DUP6
00003e94: ADD
00003e95: PUSH2 0x4261
00003e98: JUMP
00003e99: JUMPDEST
00003e9a: PUSH1 0xc0
00003e9c: DUP4
00003e9d: ADD
00003e9e: MSTORE
00003e9f: POP
00003ea0: PUSH1 0xe0
00003ea2: PUSH2 0x3ead
00003ea5: DUP5
00003ea6: DUP3
00003ea7: DUP6
00003ea8: ADD
00003ea9: PUSH2 0x4261
00003eac: JUMP
00003ead: JUMPDEST
00003eae: PUSH1 0xe0
00003eb0: DUP4
00003eb1: ADD
00003eb2: MSTORE
00003eb3: POP
00003eb4: PUSH2 0x0100
00003eb7: PUSH2 0x3ec2
00003eba: DUP5
00003ebb: DUP3
00003ebc: DUP6
00003ebd: ADD
00003ebe: PUSH2 0x3ce7
00003ec1: JUMP
00003ec2: JUMPDEST
00003ec3: PUSH2 0x0100
00003ec6: DUP4
00003ec7: ADD
00003ec8: MSTORE
00003ec9: POP
00003eca: SWAP3
00003ecb: SWAP2
00003ecc: POP
00003ecd: POP
00003ece: JUMP
00003ecf: JUMPDEST
00003ed0: PUSH1 0x00
00003ed2: PUSH1 0xe0
00003ed4: DUP3
00003ed5: DUP5
00003ed6: SUB
00003ed7: SLT
00003ed8: ISZERO
00003ed9: PUSH2 0x3ee1
00003edc: JUMPI
00003edd: PUSH1 0x00
00003edf: DUP1
00003ee0: REVERT
00003ee1: JUMPDEST
00003ee2: PUSH2 0x3eeb
00003ee5: PUSH1 0xe0
00003ee7: PUSH2 0x5ab3
00003eea: JUMP
00003eeb: JUMPDEST
00003eec: SWAP1
00003eed: POP
00003eee: PUSH1 0x00
00003ef0: PUSH2 0x3ef9
00003ef3: DUP5
00003ef4: DUP5
00003ef5: PUSH2 0x3b80
00003ef8: JUMP
00003ef9: JUMPDEST
00003efa: DUP3
00003efb: MSTORE
00003efc: POP
00003efd: PUSH1 0x20
00003eff: PUSH2 0x3f0a
00003f02: DUP5
00003f03: DUP5
00003f04: DUP4
00003f05: ADD
00003f06: PUSH2 0x3b80
00003f09: JUMP
00003f0a: JUMPDEST
00003f0b: PUSH1 0x20
00003f0d: DUP4
00003f0e: ADD
00003f0f: MSTORE
00003f10: POP
00003f11: PUSH1 0x40
00003f13: PUSH2 0x3f1e
00003f16: DUP5
00003f17: DUP3
00003f18: DUP6
00003f19: ADD
00003f1a: PUSH2 0x3cf2
00003f1d: JUMP
00003f1e: JUMPDEST
00003f1f: PUSH1 0x40
00003f21: DUP4
00003f22: ADD
00003f23: MSTORE
00003f24: POP
00003f25: PUSH1 0x60
00003f27: PUSH2 0x3f32
00003f2a: DUP5
00003f2b: DUP3
00003f2c: DUP6
00003f2d: ADD
00003f2e: PUSH2 0x3cf2
00003f31: JUMP
00003f32: JUMPDEST
00003f33: PUSH1 0x60
00003f35: DUP4
00003f36: ADD
00003f37: MSTORE
00003f38: POP
00003f39: PUSH1 0x80
00003f3b: PUSH2 0x3f46
00003f3e: DUP5
00003f3f: DUP3
00003f40: DUP6
00003f41: ADD
00003f42: PUSH2 0x3cf2
00003f45: JUMP
00003f46: JUMPDEST
00003f47: PUSH1 0x80
00003f49: DUP4
00003f4a: ADD
00003f4b: MSTORE
00003f4c: POP
00003f4d: PUSH1 0xa0
00003f4f: PUSH2 0x3f5a
00003f52: DUP5
00003f53: DUP3
00003f54: DUP6
00003f55: ADD
00003f56: PUSH2 0x3cf2
00003f59: JUMP
00003f5a: JUMPDEST
00003f5b: PUSH1 0xa0
00003f5d: DUP4
00003f5e: ADD
00003f5f: MSTORE
00003f60: POP
00003f61: PUSH1 0xc0
00003f63: PUSH2 0x3f6e
00003f66: DUP5
00003f67: DUP3
00003f68: DUP6
00003f69: ADD
00003f6a: PUSH2 0x3cdc
00003f6d: JUMP
00003f6e: JUMPDEST
00003f6f: PUSH1 0xc0
00003f71: DUP4
00003f72: ADD
00003f73: MSTORE
00003f74: POP
00003f75: SWAP3
00003f76: SWAP2
00003f77: POP
00003f78: POP
00003f79: JUMP
00003f7a: JUMPDEST
00003f7b: PUSH1 0x00
00003f7d: PUSH2 0x01a0
00003f80: DUP3
00003f81: DUP5
00003f82: SUB
00003f83: SLT
00003f84: ISZERO
00003f85: PUSH2 0x3f8d
00003f88: JUMPI
00003f89: PUSH1 0x00
00003f8b: DUP1
00003f8c: REVERT
00003f8d: JUMPDEST
00003f8e: PUSH2 0x3f97
00003f91: PUSH1 0x80
00003f93: PUSH2 0x5ab3
00003f96: JUMP
00003f97: JUMPDEST
00003f98: SWAP1
00003f99: POP
00003f9a: PUSH1 0x00
00003f9c: PUSH2 0x3fa5
00003f9f: DUP5
00003fa0: DUP5
00003fa1: PUSH2 0x4078
00003fa4: JUMP
00003fa5: JUMPDEST
00003fa6: DUP3
00003fa7: MSTORE
00003fa8: POP
00003fa9: PUSH2 0x0100
00003fac: DUP3
00003fad: ADD
00003fae: CALLDATALOAD
00003faf: PUSH8 0xffffffffffffffff
00003fb8: DUP2
00003fb9: GT
00003fba: ISZERO
00003fbb: PUSH2 0x3fc3
00003fbe: JUMPI
00003fbf: PUSH1 0x00
00003fc1: DUP1
00003fc2: REVERT
00003fc3: JUMPDEST
00003fc4: PUSH2 0x3fcf
00003fc7: DUP5
00003fc8: DUP3
00003fc9: DUP6
00003fca: ADD
00003fcb: PUSH2 0x3bf8
00003fce: JUMP
00003fcf: JUMPDEST
00003fd0: PUSH1 0x20
00003fd2: DUP4
00003fd3: ADD
00003fd4: MSTORE
00003fd5: POP
00003fd6: PUSH2 0x0120
00003fd9: DUP3
00003fda: ADD
00003fdb: CALLDATALOAD
00003fdc: PUSH8 0xffffffffffffffff
00003fe5: DUP2
00003fe6: GT
00003fe7: ISZERO
00003fe8: PUSH2 0x3ff0
00003feb: JUMPI
00003fec: PUSH1 0x00
00003fee: DUP1
00003fef: REVERT
00003ff0: JUMPDEST
00003ff1: PUSH2 0x3ffc
00003ff4: DUP5
00003ff5: DUP3
00003ff6: DUP6
00003ff7: ADD
00003ff8: PUSH2 0x3c6c
00003ffb: JUMP
00003ffc: JUMPDEST
00003ffd: PUSH1 0x40
00003fff: DUP4
00004000: ADD
00004001: MSTORE
00004002: POP
00004003: PUSH2 0x0140
00004006: PUSH2 0x4011
00004009: DUP5
0000400a: DUP3
0000400b: DUP6
0000400c: ADD
0000400d: PUSH2 0x401d
00004010: JUMP
00004011: JUMPDEST
00004012: PUSH1 0x60
00004014: DUP4
00004015: ADD
00004016: MSTORE
00004017: POP
00004018: SWAP3
00004019: SWAP2
0000401a: POP
0000401b: POP
0000401c: JUMP
0000401d: JUMPDEST
0000401e: PUSH1 0x00
00004020: PUSH1 0x60
00004022: DUP3
00004023: DUP5
00004024: SUB
00004025: SLT
00004026: ISZERO
00004027: PUSH2 0x402f
0000402a: JUMPI
0000402b: PUSH1 0x00
0000402d: DUP1
0000402e: REVERT
0000402f: JUMPDEST
00004030: PUSH2 0x4039
00004033: PUSH1 0x60
00004035: PUSH2 0x5ab3
00004038: JUMP
00004039: JUMPDEST
0000403a: SWAP1
0000403b: POP
0000403c: PUSH1 0x00
0000403e: PUSH2 0x4047
00004041: DUP5
00004042: DUP5
00004043: PUSH2 0x3b80
00004046: JUMP
00004047: JUMPDEST
00004048: DUP3
00004049: MSTORE
0000404a: POP
0000404b: PUSH1 0x20
0000404d: PUSH2 0x4058
00004050: DUP5
00004051: DUP5
00004052: DUP4
00004053: ADD
00004054: PUSH2 0x3b80
00004057: JUMP
00004058: JUMPDEST
00004059: PUSH1 0x20
0000405b: DUP4
0000405c: ADD
0000405d: MSTORE
0000405e: POP
0000405f: PUSH1 0x40
00004061: PUSH2 0x406c
00004064: DUP5
00004065: DUP3
00004066: DUP6
00004067: ADD
00004068: PUSH2 0x3b80
0000406b: JUMP
0000406c: JUMPDEST
0000406d: PUSH1 0x40
0000406f: DUP4
00004070: ADD
00004071: MSTORE
00004072: POP
00004073: SWAP3
00004074: SWAP2
00004075: POP
00004076: POP
00004077: JUMP
00004078: JUMPDEST
00004079: PUSH1 0x00
0000407b: PUSH2 0x0100
0000407e: DUP3
0000407f: DUP5
00004080: SUB
00004081: SLT
00004082: ISZERO
00004083: PUSH2 0x408b
00004086: JUMPI
00004087: PUSH1 0x00
00004089: DUP1
0000408a: REVERT
0000408b: JUMPDEST
0000408c: PUSH2 0x4095
0000408f: PUSH1 0xc0
00004091: PUSH2 0x5ab3
00004094: JUMP
00004095: JUMPDEST
00004096: SWAP1
00004097: POP
00004098: PUSH1 0x00
0000409a: PUSH2 0x40a3
0000409d: DUP5
0000409e: DUP5
0000409f: PUSH2 0x3b80
000040a2: JUMP
000040a3: JUMPDEST
000040a4: DUP3
000040a5: MSTORE
000040a6: POP
000040a7: PUSH1 0x20
000040a9: PUSH2 0x40b4
000040ac: DUP5
000040ad: DUP5
000040ae: DUP4
000040af: ADD
000040b0: PUSH2 0x3cf2
000040b3: JUMP
000040b4: JUMPDEST
000040b5: PUSH1 0x20
000040b7: DUP4
000040b8: ADD
000040b9: MSTORE
000040ba: POP
000040bb: PUSH1 0x40
000040bd: PUSH2 0x40c8
000040c0: DUP5
000040c1: DUP3
000040c2: DUP6
000040c3: ADD
000040c4: PUSH2 0x3cf2
000040c7: JUMP
000040c8: JUMPDEST
000040c9: PUSH1 0x40
000040cb: DUP4
000040cc: ADD
000040cd: MSTORE
000040ce: POP
000040cf: PUSH1 0x60
000040d1: PUSH2 0x40dc
000040d4: DUP5
000040d5: DUP3
000040d6: DUP6
000040d7: ADD
000040d8: PUSH2 0x3cf2
000040db: JUMP
000040dc: JUMPDEST
000040dd: PUSH1 0x60
000040df: DUP4
000040e0: ADD
000040e1: MSTORE
000040e2: POP
000040e3: PUSH1 0x80
000040e5: PUSH2 0x40f0
000040e8: DUP5
000040e9: DUP3
000040ea: DUP6
000040eb: ADD
000040ec: PUSH2 0x3cf2
000040ef: JUMP
000040f0: JUMPDEST
000040f1: PUSH1 0x80
000040f3: DUP4
000040f4: ADD
000040f5: MSTORE
000040f6: POP
000040f7: PUSH1 0xa0
000040f9: PUSH2 0x4104
000040fc: DUP5
000040fd: DUP3
000040fe: DUP6
000040ff: ADD
00004100: PUSH2 0x41fc
00004103: JUMP
00004104: JUMPDEST
00004105: PUSH1 0xa0
00004107: DUP4
00004108: ADD
00004109: MSTORE
0000410a: POP
0000410b: SWAP3
0000410c: SWAP2
0000410d: POP
0000410e: POP
0000410f: JUMP
00004110: JUMPDEST
00004111: PUSH1 0x00
00004113: PUSH2 0x0100
00004116: DUP3
00004117: DUP5
00004118: SUB
00004119: SLT
0000411a: ISZERO
0000411b: PUSH2 0x4123
0000411e: JUMPI
0000411f: PUSH1 0x00
00004121: DUP1
00004122: REVERT
00004123: JUMPDEST
00004124: POP
00004125: SWAP2
00004126: SWAP1
00004127: POP
00004128: JUMP
00004129: JUMPDEST
0000412a: PUSH1 0x00
0000412c: PUSH2 0x0100
0000412f: DUP3
00004130: DUP5
00004131: SUB
00004132: SLT
00004133: ISZERO
00004134: PUSH2 0x413c
00004137: JUMPI
00004138: PUSH1 0x00
0000413a: DUP1
0000413b: REVERT
0000413c: JUMPDEST
0000413d: PUSH2 0x4147
00004140: PUSH2 0x0100
00004143: PUSH2 0x5ab3
00004146: JUMP
00004147: JUMPDEST
00004148: SWAP1
00004149: POP
0000414a: PUSH1 0x00
0000414c: PUSH2 0x4155
0000414f: DUP5
00004150: DUP5
00004151: PUSH2 0x3b80
00004154: JUMP
00004155: JUMPDEST
00004156: DUP3
00004157: MSTORE
00004158: POP
00004159: PUSH1 0x20
0000415b: PUSH2 0x4166
0000415e: DUP5
0000415f: DUP5
00004160: DUP4
00004161: ADD
00004162: PUSH2 0x3b80
00004165: JUMP
00004166: JUMPDEST
00004167: PUSH1 0x20
00004169: DUP4
0000416a: ADD
0000416b: MSTORE
0000416c: POP
0000416d: PUSH1 0x40
0000416f: PUSH2 0x417a
00004172: DUP5
00004173: DUP3
00004174: DUP6
00004175: ADD
00004176: PUSH2 0x3b80
00004179: JUMP
0000417a: JUMPDEST
0000417b: PUSH1 0x40
0000417d: DUP4
0000417e: ADD
0000417f: MSTORE
00004180: POP
00004181: PUSH1 0x60
00004183: PUSH2 0x418e
00004186: DUP5
00004187: DUP3
00004188: DUP6
00004189: ADD
0000418a: PUSH2 0x3b80
0000418d: JUMP
0000418e: JUMPDEST
0000418f: PUSH1 0x60
00004191: DUP4
00004192: ADD
00004193: MSTORE
00004194: POP
00004195: PUSH1 0x80
00004197: PUSH2 0x41a2
0000419a: DUP5
0000419b: DUP3
0000419c: DUP6
0000419d: ADD
0000419e: PUSH2 0x3cf2
000041a1: JUMP
000041a2: JUMPDEST
000041a3: PUSH1 0x80
000041a5: DUP4
000041a6: ADD
000041a7: MSTORE
000041a8: POP
000041a9: PUSH1 0xa0
000041ab: PUSH2 0x41b6
000041ae: DUP5
000041af: DUP3
000041b0: DUP6
000041b1: ADD
000041b2: PUSH2 0x3cf2
000041b5: JUMP
000041b6: JUMPDEST
000041b7: PUSH1 0xa0
000041b9: DUP4
000041ba: ADD
000041bb: MSTORE
000041bc: POP
000041bd: PUSH1 0xc0
000041bf: PUSH2 0x41ca
000041c2: DUP5
000041c3: DUP3
000041c4: DUP6
000041c5: ADD
000041c6: PUSH2 0x3cf2
000041c9: JUMP
000041ca: JUMPDEST
000041cb: PUSH1 0xc0
000041cd: DUP4
000041ce: ADD
000041cf: MSTORE
000041d0: POP
000041d1: PUSH1 0xe0
000041d3: PUSH2 0x41de
000041d6: DUP5
000041d7: DUP3
000041d8: DUP6
000041d9: ADD
000041da: PUSH2 0x3cf2
000041dd: JUMP
000041de: JUMPDEST
000041df: PUSH1 0xe0
000041e1: DUP4
000041e2: ADD
000041e3: MSTORE
000041e4: POP
000041e5: SWAP3
000041e6: SWAP2
000041e7: POP
000041e8: POP
000041e9: JUMP
000041ea: JUMPDEST
000041eb: PUSH1 0x00
000041ed: PUSH1 0x60
000041ef: DUP3
000041f0: DUP5
000041f1: SUB
000041f2: SLT
000041f3: ISZERO
000041f4: PUSH2 0x4123
000041f7: JUMPI
000041f8: PUSH1 0x00
000041fa: DUP1
000041fb: REVERT
000041fc: JUMPDEST
000041fd: PUSH1 0x00
000041ff: PUSH1 0x60
00004201: DUP3
00004202: DUP5
00004203: SUB
00004204: SLT
00004205: ISZERO
00004206: PUSH2 0x420e
00004209: JUMPI
0000420a: PUSH1 0x00
0000420c: DUP1
0000420d: REVERT
0000420e: JUMPDEST
0000420f: PUSH2 0x4218
00004212: PUSH1 0x60
00004214: PUSH2 0x5ab3
00004217: JUMP
00004218: JUMPDEST
00004219: SWAP1
0000421a: POP
0000421b: PUSH1 0x00
0000421d: PUSH2 0x4226
00004220: DUP5
00004221: DUP5
00004222: PUSH2 0x3cf2
00004225: JUMP
00004226: JUMPDEST
00004227: DUP3
00004228: MSTORE
00004229: POP
0000422a: PUSH1 0x20
0000422c: PUSH2 0x4237
0000422f: DUP5
00004230: DUP5
00004231: DUP4
00004232: ADD
00004233: PUSH2 0x3cf2
00004236: JUMP
00004237: JUMPDEST
00004238: PUSH1 0x20
0000423a: DUP4
0000423b: ADD
0000423c: MSTORE
0000423d: POP
0000423e: PUSH1 0x40
00004240: PUSH2 0x406c
00004243: DUP5
00004244: DUP3
00004245: DUP6
00004246: ADD
00004247: PUSH2 0x3cf2
0000424a: JUMP
0000424b: JUMPDEST
0000424c: DUP1
0000424d: CALLDATALOAD
0000424e: PUSH2 0x0d92
00004251: DUP2
00004252: PUSH2 0x5c30
00004255: JUMP
00004256: JUMPDEST
00004257: DUP1
00004258: MLOAD
00004259: PUSH2 0x0d92
0000425c: DUP2
0000425d: PUSH2 0x5c30
00004260: JUMP
00004261: JUMPDEST
00004262: DUP1
00004263: MLOAD
00004264: PUSH2 0x0d92
00004267: DUP2
00004268: PUSH2 0x5c1a
0000426b: JUMP
0000426c: JUMPDEST
0000426d: DUP1
0000426e: CALLDATALOAD
0000426f: PUSH2 0x0d92
00004272: DUP2
00004273: PUSH2 0x5c39
00004276: JUMP
00004277: JUMPDEST
00004278: DUP1
00004279: MLOAD
0000427a: PUSH2 0x0d92
0000427d: DUP2
0000427e: PUSH2 0x5c39
00004281: JUMP
00004282: JUMPDEST
00004283: DUP1
00004284: CALLDATALOAD
00004285: PUSH2 0x0d92
00004288: DUP2
00004289: PUSH2 0x5c42
0000428c: JUMP
0000428d: JUMPDEST
0000428e: PUSH1 0x00
00004290: PUSH1 0x20
00004292: DUP3
00004293: DUP5
00004294: SUB
00004295: SLT
00004296: ISZERO
00004297: PUSH2 0x429f
0000429a: JUMPI
0000429b: PUSH1 0x00
0000429d: DUP1
0000429e: REVERT
0000429f: JUMPDEST
000042a0: PUSH1 0x00
000042a2: PUSH2 0x0bb4
000042a5: DUP5
000042a6: DUP5
000042a7: PUSH2 0x3b80
000042aa: JUMP
000042ab: JUMPDEST
000042ac: PUSH1 0x00
000042ae: DUP1
000042af: PUSH1 0x40
000042b1: DUP4
000042b2: DUP6
000042b3: SUB
000042b4: SLT
000042b5: ISZERO
000042b6: PUSH2 0x42be
000042b9: JUMPI
000042ba: PUSH1 0x00
000042bc: DUP1
000042bd: REVERT
000042be: JUMPDEST
000042bf: PUSH1 0x00
000042c1: PUSH2 0x42ca
000042c4: DUP6
000042c5: DUP6
000042c6: PUSH2 0x3b80
000042c9: JUMP
000042ca: JUMPDEST
000042cb: SWAP3
000042cc: POP
000042cd: POP
000042ce: PUSH1 0x20
000042d0: PUSH2 0x42db
000042d3: DUP6
000042d4: DUP3
000042d5: DUP7
000042d6: ADD
000042d7: PUSH2 0x3b80
000042da: JUMP
000042db: JUMPDEST
000042dc: SWAP2
000042dd: POP
000042de: POP
000042df: SWAP3
000042e0: POP
000042e1: SWAP3
000042e2: SWAP1
000042e3: POP
000042e4: JUMP
000042e5: JUMPDEST
000042e6: PUSH1 0x00
000042e8: DUP1
000042e9: PUSH1 0x00
000042eb: PUSH1 0x60
000042ed: DUP5
000042ee: DUP7
000042ef: SUB
000042f0: SLT
000042f1: ISZERO
000042f2: PUSH2 0x42fa
000042f5: JUMPI
000042f6: PUSH1 0x00
000042f8: DUP1
000042f9: REVERT
000042fa: JUMPDEST
000042fb: PUSH1 0x00
000042fd: PUSH2 0x4306
00004300: DUP7
00004301: DUP7
00004302: PUSH2 0x3b80
00004305: JUMP
00004306: JUMPDEST
00004307: SWAP4
00004308: POP
00004309: POP
0000430a: PUSH1 0x20
0000430c: PUSH2 0x4317
0000430f: DUP7
00004310: DUP3
00004311: DUP8
00004312: ADD
00004313: PUSH2 0x3b80
00004316: JUMP
00004317: JUMPDEST
00004318: SWAP3
00004319: POP
0000431a: POP
0000431b: PUSH1 0x40
0000431d: PUSH2 0x4328
00004320: DUP7
00004321: DUP3
00004322: DUP8
00004323: ADD
00004324: PUSH2 0x3b80
00004327: JUMP
00004328: JUMPDEST
00004329: SWAP2
0000432a: POP
0000432b: POP
0000432c: SWAP3
0000432d: POP
0000432e: SWAP3
0000432f: POP
00004330: SWAP3
00004331: JUMP
00004332: JUMPDEST
00004333: PUSH1 0x00
00004335: DUP1
00004336: PUSH1 0x00
00004338: DUP1
00004339: PUSH1 0x00
0000433b: DUP1
0000433c: PUSH1 0x00
0000433e: DUP1
0000433f: PUSH1 0xc0
00004341: DUP10
00004342: DUP12
00004343: SUB
00004344: SLT
00004345: ISZERO
00004346: PUSH2 0x434e
00004349: JUMPI
0000434a: PUSH1 0x00
0000434c: DUP1
0000434d: REVERT
0000434e: JUMPDEST
0000434f: PUSH1 0x00
00004351: PUSH2 0x435a
00004354: DUP12
00004355: DUP12
00004356: PUSH2 0x3b80
00004359: JUMP
0000435a: JUMPDEST
0000435b: SWAP9
0000435c: POP
0000435d: POP
0000435e: PUSH1 0x20
00004360: PUSH2 0x436b
00004363: DUP12
00004364: DUP3
00004365: DUP13
00004366: ADD
00004367: PUSH2 0x3b80
0000436a: JUMP
0000436b: JUMPDEST
0000436c: SWAP8
0000436d: POP
0000436e: POP
0000436f: PUSH1 0x40
00004371: PUSH2 0x437c
00004374: DUP12
00004375: DUP3
00004376: DUP13
00004377: ADD
00004378: PUSH2 0x3b80
0000437b: JUMP
0000437c: JUMPDEST
0000437d: SWAP7
0000437e: POP
0000437f: POP
00004380: PUSH1 0x60
00004382: DUP10
00004383: ADD
00004384: CALLDATALOAD
00004385: PUSH8 0xffffffffffffffff
0000438e: DUP2
0000438f: GT
00004390: ISZERO
00004391: PUSH2 0x4399
00004394: JUMPI
00004395: PUSH1 0x00
00004397: DUP1
00004398: REVERT
00004399: JUMPDEST
0000439a: PUSH2 0x43a5
0000439d: DUP12
0000439e: DUP3
0000439f: DUP13
000043a0: ADD
000043a1: PUSH2 0x3d57
000043a4: JUMP
000043a5: JUMPDEST
000043a6: SWAP6
000043a7: POP
000043a8: SWAP6
000043a9: POP
000043aa: POP
000043ab: PUSH1 0x80
000043ad: DUP10
000043ae: ADD
000043af: CALLDATALOAD
000043b0: PUSH8 0xffffffffffffffff
000043b9: DUP2
000043ba: GT
000043bb: ISZERO
000043bc: PUSH2 0x43c4
000043bf: JUMPI
000043c0: PUSH1 0x00
000043c2: DUP1
000043c3: REVERT
000043c4: JUMPDEST
000043c5: PUSH2 0x43d0
000043c8: DUP12
000043c9: DUP3
000043ca: DUP13
000043cb: ADD
000043cc: PUSH2 0x3d57
000043cf: JUMP
000043d0: JUMPDEST
000043d1: SWAP4
000043d2: POP
000043d3: SWAP4
000043d4: POP
000043d5: POP
000043d6: PUSH1 0xa0
000043d8: PUSH2 0x43e3
000043db: DUP12
000043dc: DUP3
000043dd: DUP13
000043de: ADD
000043df: PUSH2 0x4282
000043e2: JUMP
000043e3: JUMPDEST
000043e4: SWAP2
000043e5: POP
000043e6: POP
000043e7: SWAP3
000043e8: SWAP6
000043e9: SWAP9
000043ea: POP
000043eb: SWAP3
000043ec: SWAP6
000043ed: SWAP9
000043ee: SWAP1
000043ef: SWAP4
000043f0: SWAP7
000043f1: POP
000043f2: JUMP
000043f3: JUMPDEST
000043f4: PUSH1 0x00
000043f6: DUP1
000043f7: PUSH1 0x00
000043f9: PUSH1 0x60
000043fb: DUP5
000043fc: DUP7
000043fd: SUB
000043fe: SLT
000043ff: ISZERO
00004400: PUSH2 0x4408
00004403: JUMPI
00004404: PUSH1 0x00
00004406: DUP1
00004407: REVERT
00004408: JUMPDEST
00004409: PUSH1 0x00
0000440b: PUSH2 0x4414
0000440e: DUP7
0000440f: DUP7
00004410: PUSH2 0x3b80
00004413: JUMP
00004414: JUMPDEST
00004415: SWAP4
00004416: POP
00004417: POP
00004418: PUSH1 0x20
0000441a: PUSH2 0x4425
0000441d: DUP7
0000441e: DUP3
0000441f: DUP8
00004420: ADD
00004421: PUSH2 0x3b80
00004424: JUMP
00004425: JUMPDEST
00004426: SWAP3
00004427: POP
00004428: POP
00004429: PUSH1 0x40
0000442b: PUSH2 0x4328
0000442e: DUP7
0000442f: DUP3
00004430: DUP8
00004431: ADD
00004432: PUSH2 0x424b
00004435: JUMP
00004436: JUMPDEST
00004437: PUSH1 0x00
00004439: DUP1
0000443a: PUSH1 0x40
0000443c: DUP4
0000443d: DUP6
0000443e: SUB
0000443f: SLT
00004440: ISZERO
00004441: PUSH2 0x4449
00004444: JUMPI
00004445: PUSH1 0x00
00004447: DUP1
00004448: REVERT
00004449: JUMPDEST
0000444a: PUSH1 0x00
0000444c: PUSH2 0x4455
0000444f: DUP6
00004450: DUP6
00004451: PUSH2 0x3b80
00004454: JUMP
00004455: JUMPDEST
00004456: SWAP3
00004457: POP
00004458: POP
00004459: PUSH1 0x20
0000445b: PUSH2 0x42db
0000445e: DUP6
0000445f: DUP3
00004460: DUP7
00004461: ADD
00004462: PUSH2 0x424b
00004465: JUMP
00004466: JUMPDEST
00004467: PUSH1 0x00
00004469: DUP1
0000446a: PUSH1 0x40
0000446c: DUP4
0000446d: DUP6
0000446e: SUB
0000446f: SLT
00004470: ISZERO
00004471: PUSH2 0x4479
00004474: JUMPI
00004475: PUSH1 0x00
00004477: DUP1
00004478: REVERT
00004479: JUMPDEST
0000447a: PUSH1 0x00
0000447c: PUSH2 0x4485
0000447f: DUP6
00004480: DUP6
00004481: PUSH2 0x3b80
00004484: JUMP
00004485: JUMPDEST
00004486: SWAP3
00004487: POP
00004488: POP
00004489: PUSH1 0x20
0000448b: PUSH2 0x42db
0000448e: DUP6
0000448f: DUP3
00004490: DUP7
00004491: ADD
00004492: PUSH2 0x3cf2
00004495: JUMP
00004496: JUMPDEST
00004497: PUSH1 0x00
00004499: PUSH1 0x20
0000449b: DUP3
0000449c: DUP5
0000449d: SUB
0000449e: SLT
0000449f: ISZERO
000044a0: PUSH2 0x44a8
000044a3: JUMPI
000044a4: PUSH1 0x00
000044a6: DUP1
000044a7: REVERT
000044a8: JUMPDEST
000044a9: DUP2
000044aa: CALLDATALOAD
000044ab: PUSH8 0xffffffffffffffff
000044b4: DUP2
000044b5: GT
000044b6: ISZERO
000044b7: PUSH2 0x44bf
000044ba: JUMPI
000044bb: PUSH1 0x00
000044bd: DUP1
000044be: REVERT
000044bf: JUMPDEST
000044c0: PUSH2 0x0bb4
000044c3: DUP5
000044c4: DUP3
000044c5: DUP6
000044c6: ADD
000044c7: PUSH2 0x3b96
000044ca: JUMP
000044cb: JUMPDEST
000044cc: PUSH1 0x00
000044ce: DUP1
000044cf: PUSH1 0x40
000044d1: DUP4
000044d2: DUP6
000044d3: SUB
000044d4: SLT
000044d5: ISZERO
000044d6: PUSH2 0x44de
000044d9: JUMPI
000044da: PUSH1 0x00
000044dc: DUP1
000044dd: REVERT
000044de: JUMPDEST
000044df: PUSH1 0x00
000044e1: PUSH2 0x44ea
000044e4: DUP6
000044e5: DUP6
000044e6: PUSH2 0x3ce7
000044e9: JUMP
000044ea: JUMPDEST
000044eb: SWAP3
000044ec: POP
000044ed: POP
000044ee: PUSH1 0x20
000044f0: PUSH2 0x42db
000044f3: DUP6
000044f4: DUP3
000044f5: DUP7
000044f6: ADD
000044f7: PUSH2 0x4277
000044fa: JUMP
000044fb: JUMPDEST
000044fc: PUSH1 0x00
000044fe: PUSH1 0x20
00004500: DUP3
00004501: DUP5
00004502: SUB
00004503: SLT
00004504: ISZERO
00004505: PUSH2 0x450d
00004508: JUMPI
00004509: PUSH1 0x00
0000450b: DUP1
0000450c: REVERT
0000450d: JUMPDEST
0000450e: PUSH1 0x00
00004510: PUSH2 0x0bb4
00004513: DUP5
00004514: DUP5
00004515: PUSH2 0x3cf2
00004518: JUMP
00004519: JUMPDEST
0000451a: PUSH1 0x00
0000451c: DUP1
0000451d: PUSH1 0x00
0000451f: PUSH1 0xa0
00004521: DUP5
00004522: DUP7
00004523: SUB
00004524: SLT
00004525: ISZERO
00004526: PUSH2 0x452e
00004529: JUMPI
0000452a: PUSH1 0x00
0000452c: DUP1
0000452d: REVERT
0000452e: JUMPDEST
0000452f: PUSH1 0x00
00004531: PUSH2 0x453a
00004534: DUP7
00004535: DUP7
00004536: PUSH2 0x3cf2
00004539: JUMP
0000453a: JUMPDEST
0000453b: SWAP4
0000453c: POP
0000453d: POP
0000453e: PUSH1 0x20
00004540: PUSH2 0x454b
00004543: DUP7
00004544: DUP3
00004545: DUP8
00004546: ADD
00004547: PUSH2 0x3b80
0000454a: JUMP
0000454b: JUMPDEST
0000454c: SWAP3
0000454d: POP
0000454e: POP
0000454f: PUSH1 0x40
00004551: PUSH2 0x4328
00004554: DUP7
00004555: DUP3
00004556: DUP8
00004557: ADD
00004558: PUSH2 0x41ea
0000455b: JUMP
0000455c: JUMPDEST
0000455d: PUSH1 0x00
0000455f: PUSH2 0x0120
00004562: DUP3
00004563: DUP5
00004564: SUB
00004565: SLT
00004566: ISZERO
00004567: PUSH2 0x456f
0000456a: JUMPI
0000456b: PUSH1 0x00
0000456d: DUP1
0000456e: REVERT
0000456f: JUMPDEST
00004570: PUSH1 0x00
00004572: PUSH2 0x0bb4
00004575: DUP5
00004576: DUP5
00004577: PUSH2 0x3df8
0000457a: JUMP
0000457b: JUMPDEST
0000457c: PUSH1 0x00
0000457e: PUSH1 0xe0
00004580: DUP3
00004581: DUP5
00004582: SUB
00004583: SLT
00004584: ISZERO
00004585: PUSH2 0x458d
00004588: JUMPI
00004589: PUSH1 0x00
0000458b: DUP1
0000458c: REVERT
0000458d: JUMPDEST
0000458e: PUSH1 0x00
00004590: PUSH2 0x0bb4
00004593: DUP5
00004594: DUP5
00004595: PUSH2 0x3ecf
00004598: JUMP
00004599: JUMPDEST
0000459a: PUSH1 0x00
0000459c: PUSH1 0x20
0000459e: DUP3
0000459f: DUP5
000045a0: SUB
000045a1: SLT
000045a2: ISZERO
000045a3: PUSH2 0x45ab
000045a6: JUMPI
000045a7: PUSH1 0x00
000045a9: DUP1
000045aa: REVERT
000045ab: JUMPDEST
000045ac: DUP2
000045ad: CALLDATALOAD
000045ae: PUSH8 0xffffffffffffffff
000045b7: DUP2
000045b8: GT
000045b9: ISZERO
000045ba: PUSH2 0x45c2
000045bd: JUMPI
000045be: PUSH1 0x00
000045c0: DUP1
000045c1: REVERT
000045c2: JUMPDEST
000045c3: PUSH2 0x0bb4
000045c6: DUP5
000045c7: DUP3
000045c8: DUP6
000045c9: ADD
000045ca: PUSH2 0x3f7a
000045cd: JUMP
000045ce: JUMPDEST
000045cf: PUSH1 0x00
000045d1: PUSH2 0x0100
000045d4: DUP3
000045d5: DUP5
000045d6: SUB
000045d7: SLT
000045d8: ISZERO
000045d9: PUSH2 0x45e1
000045dc: JUMPI
000045dd: PUSH1 0x00
000045df: DUP1
000045e0: REVERT
000045e1: JUMPDEST
000045e2: PUSH1 0x00
000045e4: PUSH2 0x0bb4
000045e7: DUP5
000045e8: DUP5
000045e9: PUSH2 0x4110
000045ec: JUMP
000045ed: JUMPDEST
000045ee: PUSH1 0x00
000045f0: PUSH2 0x0100
000045f3: DUP3
000045f4: DUP5
000045f5: SUB
000045f6: SLT
000045f7: ISZERO
000045f8: PUSH2 0x4600
000045fb: JUMPI
000045fc: PUSH1 0x00
000045fe: DUP1
000045ff: REVERT
00004600: JUMPDEST
00004601: PUSH1 0x00
00004603: PUSH2 0x0bb4
00004606: DUP5
00004607: DUP5
00004608: PUSH2 0x4129
0000460b: JUMP
0000460c: JUMPDEST
0000460d: PUSH1 0x00
0000460f: PUSH1 0x60
00004611: DUP3
00004612: DUP5
00004613: SUB
00004614: SLT
00004615: ISZERO
00004616: PUSH2 0x461e
00004619: JUMPI
0000461a: PUSH1 0x00
0000461c: DUP1
0000461d: REVERT
0000461e: JUMPDEST
0000461f: PUSH1 0x00
00004621: PUSH2 0x0bb4
00004624: DUP5
00004625: DUP5
00004626: PUSH2 0x41fc
00004629: JUMP
0000462a: JUMPDEST
0000462b: PUSH1 0x00
0000462d: PUSH1 0x20
0000462f: DUP3
00004630: DUP5
00004631: SUB
00004632: SLT
00004633: ISZERO
00004634: PUSH2 0x463c
00004637: JUMPI
00004638: PUSH1 0x00
0000463a: DUP1
0000463b: REVERT
0000463c: JUMPDEST
0000463d: PUSH1 0x00
0000463f: PUSH2 0x0bb4
00004642: DUP5
00004643: DUP5
00004644: PUSH2 0x424b
00004647: JUMP
00004648: JUMPDEST
00004649: PUSH1 0x00
0000464b: DUP1
0000464c: PUSH1 0x00
0000464e: PUSH1 0x60
00004650: DUP5
00004651: DUP7
00004652: SUB
00004653: SLT
00004654: ISZERO
00004655: PUSH2 0x465d
00004658: JUMPI
00004659: PUSH1 0x00
0000465b: DUP1
0000465c: REVERT
0000465d: JUMPDEST
0000465e: PUSH1 0x00
00004660: PUSH2 0x4306
00004663: DUP7
00004664: DUP7
00004665: PUSH2 0x424b
00004668: JUMP
00004669: JUMPDEST
0000466a: PUSH1 0x00
0000466c: DUP1
0000466d: PUSH1 0x40
0000466f: DUP4
00004670: DUP6
00004671: SUB
00004672: SLT
00004673: ISZERO
00004674: PUSH2 0x467c
00004677: JUMPI
00004678: PUSH1 0x00
0000467a: DUP1
0000467b: REVERT
0000467c: JUMPDEST
0000467d: PUSH1 0x00
0000467f: PUSH2 0x4688
00004682: DUP6
00004683: DUP6
00004684: PUSH2 0x424b
00004687: JUMP
00004688: JUMPDEST
00004689: SWAP3
0000468a: POP
0000468b: POP
0000468c: PUSH1 0x20
0000468e: PUSH2 0x42db
00004691: DUP6
00004692: DUP3
00004693: DUP7
00004694: ADD
00004695: PUSH2 0x3cdc
00004698: JUMP
00004699: JUMPDEST
0000469a: PUSH1 0x00
0000469c: DUP1
0000469d: PUSH1 0x00
0000469f: DUP1
000046a0: PUSH1 0x00
000046a2: PUSH1 0xa0
000046a4: DUP7
000046a5: DUP9
000046a6: SUB
000046a7: SLT
000046a8: ISZERO
000046a9: PUSH2 0x46b1
000046ac: JUMPI
000046ad: PUSH1 0x00
000046af: DUP1
000046b0: REVERT
000046b1: JUMPDEST
000046b2: PUSH1 0x00
000046b4: PUSH2 0x46bd
000046b7: DUP9
000046b8: DUP9
000046b9: PUSH2 0x424b
000046bc: JUMP
000046bd: JUMPDEST
000046be: SWAP6
000046bf: POP
000046c0: POP
000046c1: PUSH1 0x20
000046c3: PUSH2 0x46ce
000046c6: DUP9
000046c7: DUP3
000046c8: DUP10
000046c9: ADD
000046ca: PUSH2 0x3cf2
000046cd: JUMP
000046ce: JUMPDEST
000046cf: SWAP5
000046d0: POP
000046d1: POP
000046d2: PUSH1 0x40
000046d4: PUSH2 0x46df
000046d7: DUP9
000046d8: DUP3
000046d9: DUP10
000046da: ADD
000046db: PUSH2 0x3cf2
000046de: JUMP
000046df: JUMPDEST
000046e0: SWAP4
000046e1: POP
000046e2: POP
000046e3: PUSH1 0x60
000046e5: PUSH2 0x46f0
000046e8: DUP9
000046e9: DUP3
000046ea: DUP10
000046eb: ADD
000046ec: PUSH2 0x3cf2
000046ef: JUMP
000046f0: JUMPDEST
000046f1: SWAP3
000046f2: POP
000046f3: POP
000046f4: PUSH1 0x80
000046f6: PUSH2 0x4701
000046f9: DUP9
000046fa: DUP3
000046fb: DUP10
000046fc: ADD
000046fd: PUSH2 0x3cf2
00004700: JUMP
00004701: JUMPDEST
00004702: SWAP2
00004703: POP
00004704: POP
00004705: SWAP3
00004706: SWAP6
00004707: POP
00004708: SWAP3
00004709: SWAP6
0000470a: SWAP1
0000470b: SWAP4
0000470c: POP
0000470d: JUMP
0000470e: JUMPDEST
0000470f: PUSH1 0x00
00004711: PUSH1 0x20
00004713: DUP3
00004714: DUP5
00004715: SUB
00004716: SLT
00004717: ISZERO
00004718: PUSH2 0x4720
0000471b: JUMPI
0000471c: PUSH1 0x00
0000471e: DUP1
0000471f: REVERT
00004720: JUMPDEST
00004721: PUSH1 0x00
00004723: PUSH2 0x0bb4
00004726: DUP5
00004727: DUP5
00004728: PUSH2 0x4261
0000472b: JUMP
0000472c: JUMPDEST
0000472d: PUSH1 0x00
0000472f: PUSH1 0x20
00004731: DUP3
00004732: DUP5
00004733: SUB
00004734: SLT
00004735: ISZERO
00004736: PUSH2 0x473e
00004739: JUMPI
0000473a: PUSH1 0x00
0000473c: DUP1
0000473d: REVERT
0000473e: JUMPDEST
0000473f: PUSH1 0x00
00004741: PUSH2 0x0bb4
00004744: DUP5
00004745: DUP5
00004746: PUSH2 0x426c
00004749: JUMP
0000474a: JUMPDEST
0000474b: PUSH1 0x00
0000474d: DUP1
0000474e: PUSH1 0x40
00004750: DUP4
00004751: DUP6
00004752: SUB
00004753: SLT
00004754: ISZERO
00004755: PUSH2 0x475d
00004758: JUMPI
00004759: PUSH1 0x00
0000475b: DUP1
0000475c: REVERT
0000475d: JUMPDEST
0000475e: PUSH1 0x00
00004760: PUSH2 0x4485
00004763: DUP6
00004764: DUP6
00004765: PUSH2 0x426c
00004768: JUMP
00004769: JUMPDEST
0000476a: PUSH1 0x00
0000476c: PUSH2 0x0933
0000476f: DUP4
00004770: DUP4
00004771: PUSH2 0x5255
00004774: JUMP
00004775: JUMPDEST
00004776: PUSH1 0x00
00004778: PUSH2 0x4781
0000477b: DUP4
0000477c: DUP4
0000477d: PUSH2 0x5475
00004780: JUMP
00004781: JUMPDEST
00004782: POP
00004783: POP
00004784: PUSH1 0x20
00004786: ADD
00004787: SWAP1
00004788: JUMP
00004789: JUMPDEST
0000478a: PUSH2 0x4792
0000478d: DUP2
0000478e: PUSH2 0x5b7f
00004791: JUMP
00004792: JUMPDEST
00004793: DUP3
00004794: MSTORE
00004795: POP
00004796: POP
00004797: JUMP
00004798: JUMPDEST
00004799: PUSH2 0x4792
0000479c: DUP2
0000479d: PUSH2 0x5b36
000047a0: JUMP
000047a1: JUMPDEST
000047a2: PUSH1 0x00
000047a4: PUSH2 0x47ac
000047a7: DUP3
000047a8: PUSH2 0x5b29
000047ab: JUMP
000047ac: JUMPDEST
000047ad: PUSH2 0x47b6
000047b0: DUP2
000047b1: DUP6
000047b2: PUSH2 0x5b2d
000047b5: JUMP
000047b6: JUMPDEST
000047b7: SWAP4
000047b8: POP
000047b9: DUP4
000047ba: PUSH1 0x20
000047bc: DUP3
000047bd: MUL
000047be: DUP6
000047bf: ADD
000047c0: PUSH2 0x47c8
000047c3: DUP6
000047c4: PUSH2 0x5b23
000047c7: JUMP
000047c8: JUMPDEST
000047c9: DUP1
000047ca: PUSH1 0x00
000047cc: JUMPDEST
000047cd: DUP6
000047ce: DUP2
000047cf: LT
000047d0: ISZERO
000047d1: PUSH2 0x4802
000047d4: JUMPI
000047d5: DUP5
000047d6: DUP5
000047d7: SUB
000047d8: DUP10
000047d9: MSTORE
000047da: DUP2
000047db: MLOAD
000047dc: PUSH2 0x47e5
000047df: DUP6
000047e0: DUP3
000047e1: PUSH2 0x4769
000047e4: JUMP
000047e5: JUMPDEST
000047e6: SWAP5
000047e7: POP
000047e8: PUSH2 0x47f0
000047eb: DUP4
000047ec: PUSH2 0x5b23
000047ef: JUMP
000047f0: JUMPDEST
000047f1: PUSH1 0x20
000047f3: SWAP11
000047f4: SWAP1
000047f5: SWAP11
000047f6: ADD
000047f7: SWAP10
000047f8: SWAP3
000047f9: POP
000047fa: POP
000047fb: PUSH1 0x01
000047fd: ADD
000047fe: PUSH2 0x47cc
00004801: JUMP
00004802: JUMPDEST
00004803: POP
00004804: SWAP2
00004805: SWAP8
00004806: SWAP7
00004807: POP
00004808: POP
00004809: POP
0000480a: POP
0000480b: POP
0000480c: POP
0000480d: POP
0000480e: JUMP
0000480f: JUMPDEST
00004810: PUSH1 0x00
00004812: PUSH2 0x481a
00004815: DUP3
00004816: PUSH2 0x5b29
00004819: JUMP
0000481a: JUMPDEST
0000481b: PUSH2 0x4824
0000481e: DUP2
0000481f: DUP6
00004820: PUSH2 0x5b2d
00004823: JUMP
00004824: JUMPDEST
00004825: SWAP4
00004826: POP
00004827: PUSH2 0x482f
0000482a: DUP4
0000482b: PUSH2 0x5b23
0000482e: JUMP
0000482f: JUMPDEST
00004830: DUP1
00004831: PUSH1 0x00
00004833: JUMPDEST
00004834: DUP4
00004835: DUP2
00004836: LT
00004837: ISZERO
00004838: PUSH2 0x485d
0000483b: JUMPI
0000483c: DUP2
0000483d: MLOAD
0000483e: PUSH2 0x4847
00004841: DUP9
00004842: DUP3
00004843: PUSH2 0x4775
00004846: JUMP
00004847: JUMPDEST
00004848: SWAP8
00004849: POP
0000484a: PUSH2 0x4852
0000484d: DUP4
0000484e: PUSH2 0x5b23
00004851: JUMP
00004852: JUMPDEST
00004853: SWAP3
00004854: POP
00004855: POP
00004856: PUSH1 0x01
00004858: ADD
00004859: PUSH2 0x4833
0000485c: JUMP
0000485d: JUMPDEST
0000485e: POP
0000485f: SWAP5
00004860: SWAP6
00004861: SWAP5
00004862: POP
00004863: POP
00004864: POP
00004865: POP
00004866: POP
00004867: JUMP
00004868: JUMPDEST
00004869: PUSH2 0x4792
0000486c: DUP2
0000486d: PUSH2 0x5b41
00004870: JUMP
00004871: JUMPDEST
00004872: PUSH2 0x4792
00004875: DUP2
00004876: PUSH2 0x5b46
00004879: JUMP
0000487a: JUMPDEST
0000487b: PUSH2 0x4792
0000487e: PUSH2 0x4886
00004881: DUP3
00004882: PUSH2 0x5b46
00004885: JUMP
00004886: JUMPDEST
00004887: PUSH2 0x5b46
0000488a: JUMP
0000488b: JUMPDEST
0000488c: PUSH1 0x00
0000488e: PUSH2 0x4896
00004891: DUP3
00004892: PUSH2 0x5b29
00004895: JUMP
00004896: JUMPDEST
00004897: PUSH2 0x48a0
0000489a: DUP2
0000489b: DUP6
0000489c: PUSH2 0x5b2d
0000489f: JUMP
000048a0: JUMPDEST
000048a1: SWAP4
000048a2: POP
000048a3: PUSH2 0x48b0
000048a6: DUP2
000048a7: DUP6
000048a8: PUSH1 0x20
000048aa: DUP7
000048ab: ADD
000048ac: PUSH2 0x5bb3
000048af: JUMP
000048b0: JUMPDEST
000048b1: PUSH2 0x48b9
000048b4: DUP2
000048b5: PUSH2 0x5bdf
000048b8: JUMP
000048b9: JUMPDEST
000048ba: SWAP1
000048bb: SWAP4
000048bc: ADD
000048bd: SWAP4
000048be: SWAP3
000048bf: POP
000048c0: POP
000048c1: POP
000048c2: JUMP
000048c3: JUMPDEST
000048c4: PUSH2 0x4792
000048c7: DUP2
000048c8: PUSH2 0x5b86
000048cb: JUMP
000048cc: JUMPDEST
000048cd: PUSH2 0x4792
000048d0: DUP2
000048d1: PUSH2 0x5b91
000048d4: JUMP
000048d5: JUMPDEST
000048d6: PUSH2 0x4792
000048d9: DUP2
000048da: PUSH2 0x5b9c
000048dd: JUMP
000048de: JUMPDEST
000048df: PUSH1 0x00
000048e1: PUSH2 0x48ea
000048e4: DUP4
000048e5: DUP6
000048e6: PUSH2 0x5b2d
000048e9: JUMP
000048ea: JUMPDEST
000048eb: SWAP4
000048ec: POP
000048ed: PUSH2 0x48f7
000048f0: DUP4
000048f1: DUP6
000048f2: DUP5
000048f3: PUSH2 0x5ba7
000048f6: JUMP
000048f7: JUMPDEST
000048f8: PUSH2 0x48b9
000048fb: DUP4
000048fc: PUSH2 0x5bdf
000048ff: JUMP
00004900: JUMPDEST
00004901: PUSH1 0x00
00004903: PUSH2 0x490d
00004906: PUSH1 0x2e
00004908: DUP4
00004909: PUSH2 0x5b2d
0000490c: JUMP
0000490d: JUMPDEST
0000490e: PUSH32 0x43414e5f4e4f545f4f5045524154455f4c49515549444154494e475f434f4c4c
0000492f: DUP2
00004930: MSTORE
00004931: PUSH32 0x41544552414c5f4143434f554e54000000000000000000000000000000000000
00004952: PUSH1 0x20
00004954: DUP3
00004955: ADD
00004956: MSTORE
00004957: PUSH1 0x40
00004959: ADD
0000495a: SWAP3
0000495b: SWAP2
0000495c: POP
0000495d: POP
0000495e: JUMP
0000495f: JUMPDEST
00004960: PUSH1 0x00
00004962: PUSH2 0x496c
00004965: PUSH1 0x18
00004967: DUP4
00004968: PUSH2 0x5b2d
0000496b: JUMP
0000496c: JUMPDEST
0000496d: PUSH32 0x41554354494f4e5f414c52454144595f46494e49534845440000000000000000
0000498e: DUP2
0000498f: MSTORE
00004990: PUSH1 0x20
00004992: ADD
00004993: SWAP3
00004994: SWAP2
00004995: POP
00004996: POP
00004997: JUMP
00004998: JUMPDEST
00004999: PUSH1 0x00
0000499b: PUSH2 0x49a5
0000499e: PUSH1 0x15
000049a0: DUP4
000049a1: PUSH2 0x5b2d
000049a4: JUMP
000049a5: JUMPDEST
000049a6: PUSH32 0x4f524445525f49535f4e4f545f46494c4c41424c450000000000000000000000
000049c7: DUP2
000049c8: MSTORE
000049c9: PUSH1 0x20
000049cb: ADD
000049cc: SWAP3
000049cd: SWAP2
000049ce: POP
000049cf: POP
000049d0: JUMP
000049d1: JUMPDEST
000049d2: PUSH1 0x00
000049d4: PUSH2 0x49de
000049d7: PUSH1 0x0e
000049d9: DUP4
000049da: PUSH2 0x5b2d
000049dd: JUMP
000049de: JUMPDEST
000049df: PUSH32 0x444953434f554e545f4552524f52000000000000000000000000000000000000
00004a00: DUP2
00004a01: MSTORE
00004a02: PUSH1 0x20
00004a04: ADD
00004a05: SWAP3
00004a06: SWAP2
00004a07: POP
00004a08: POP
00004a09: JUMP
00004a0a: JUMPDEST
00004a0b: PUSH1 0x00
00004a0d: PUSH2 0x4a17
00004a10: PUSH1 0x1c
00004a12: DUP4
00004a13: PUSH2 0x0a58
00004a16: JUMP
00004a17: JUMPDEST
00004a18: PUSH32 0x19457468657265756d205369676e6564204d6573736167653a0a333200000000
00004a39: DUP2
00004a3a: MSTORE
00004a3b: PUSH1 0x1c
00004a3d: ADD
00004a3e: SWAP3
00004a3f: SWAP2
00004a40: POP
00004a41: POP
00004a42: JUMP
00004a43: JUMPDEST
00004a44: PUSH1 0x00
00004a46: PUSH2 0x4a50
00004a49: PUSH1 0x19
00004a4b: DUP4
00004a4c: PUSH2 0x5b2d
00004a4f: JUMP
00004a50: JUMPDEST
00004a51: PUSH32 0x544f4b454e5f5452414e534645525f46524f4d5f4552524f5200000000000000
00004a72: DUP2
00004a73: MSTORE
00004a74: PUSH1 0x20
00004a76: ADD
00004a77: SWAP3
00004a78: SWAP2
00004a79: POP
00004a7a: POP
00004a7b: JUMP
00004a7c: JUMPDEST
00004a7d: PUSH1 0x00
00004a7f: PUSH2 0x4a89
00004a82: PUSH1 0x0f
00004a84: DUP4
00004a85: PUSH2 0x5b2d
00004a88: JUMP
00004a89: JUMPDEST
00004a8a: PUSH32 0x41535345545f4e4f545f45584953540000000000000000000000000000000000
00004aab: DUP2
00004aac: MSTORE
00004aad: PUSH1 0x20
00004aaf: ADD
00004ab0: SWAP3
00004ab1: SWAP2
00004ab2: POP
00004ab3: POP
00004ab4: JUMP
00004ab5: JUMPDEST
00004ab6: PUSH1 0x00
00004ab8: PUSH2 0x4ac2
00004abb: PUSH1 0x1b
00004abd: DUP4
00004abe: PUSH2 0x5b2d
00004ac1: JUMP
00004ac2: JUMPDEST
00004ac3: PUSH32 0x4f524445525f56455253494f4e5f4e4f545f535550504f525445440000000000
00004ae4: DUP2
00004ae5: MSTORE
00004ae6: PUSH1 0x20
00004ae8: ADD
00004ae9: SWAP3
00004aea: SWAP2
00004aeb: POP
00004aec: POP
00004aed: JUMP
00004aee: JUMPDEST
00004aef: PUSH1 0x00
00004af1: PUSH2 0x4afb
00004af4: PUSH1 0x02
00004af6: DUP4
00004af7: PUSH2 0x0a58
00004afa: JUMP
00004afb: JUMPDEST
00004afc: PUSH1 0x01
00004afe: PUSH1 0xf0
00004b00: SHL
00004b01: PUSH2 0x1901
00004b04: MUL
00004b05: DUP2
00004b06: MSTORE
00004b07: PUSH1 0x02
00004b09: ADD
00004b0a: SWAP3
00004b0b: SWAP2
00004b0c: POP
00004b0d: POP
00004b0e: JUMP
00004b0f: JUMPDEST
00004b10: PUSH1 0x00
00004b12: PUSH2 0x4b1c
00004b15: PUSH1 0x2d
00004b17: DUP4
00004b18: PUSH2 0x5b2d
00004b1b: JUMP
00004b1c: JUMPDEST
00004b1d: PUSH32 0x415353454d424c595f43414c4c5f4745545f424f52524f575f494e5445524553
00004b3e: DUP2
00004b3f: MSTORE
00004b40: PUSH32 0x545f524154455f4641494c454400000000000000000000000000000000000000
00004b61: PUSH1 0x20
00004b63: DUP3
00004b64: ADD
00004b65: MSTORE
00004b66: PUSH1 0x40
00004b68: ADD
00004b69: SWAP3
00004b6a: SWAP2
00004b6b: POP
00004b6c: POP
00004b6d: JUMP
00004b6e: JUMPDEST
00004b6f: PUSH1 0x00
00004b71: PUSH2 0x4b7b
00004b74: PUSH1 0x24
00004b76: DUP4
00004b77: PUSH2 0x5b2d
00004b7a: JUMP
00004b7b: JUMPDEST
00004b7c: PUSH32 0x415353454d424c595f43414c4c5f4745545f41535345545f50524943455f4641
00004b9d: DUP2
00004b9e: MSTORE
00004b9f: PUSH1 0x01
00004ba1: PUSH1 0xe2
00004ba3: SHL
00004ba4: PUSH4 0x12531151
00004ba9: MUL
00004baa: PUSH1 0x20
00004bac: DUP3
00004bad: ADD
00004bae: MSTORE
00004baf: PUSH1 0x40
00004bb1: ADD
00004bb2: SWAP3
00004bb3: SWAP2
00004bb4: POP
00004bb5: POP
00004bb6: JUMP
00004bb7: JUMPDEST
00004bb8: PUSH1 0x00
00004bba: PUSH2 0x4bc4
00004bbd: PUSH1 0x16
00004bbf: DUP4
00004bc0: PUSH2 0x5b2d
00004bc3: JUMP
00004bc4: JUMPDEST
00004bc5: PUSH32 0x4d414b45525f4f524445525f4f5645525f4d4154434800000000000000000000
00004be6: DUP2
00004be7: MSTORE
00004be8: PUSH1 0x20
00004bea: ADD
00004beb: SWAP3
00004bec: SWAP2
00004bed: POP
00004bee: POP
00004bef: JUMP
00004bf0: JUMPDEST
00004bf1: PUSH1 0x00
00004bf3: PUSH2 0x4bfd
00004bf6: PUSH1 0x17
00004bf8: DUP4
00004bf9: PUSH2 0x5b2d
00004bfc: JUMP
00004bfd: JUMPDEST
00004bfe: PUSH32 0x494e56414c49445f4f524445525f5349474e4154555245000000000000000000
00004c1f: DUP2
00004c20: MSTORE
00004c21: PUSH1 0x20
00004c23: ADD
00004c24: SWAP3
00004c25: SWAP2
00004c26: POP
00004c27: POP
00004c28: JUMP
00004c29: JUMPDEST
00004c2a: PUSH1 0x00
00004c2c: PUSH2 0x4c36
00004c2f: PUSH1 0x13
00004c31: DUP4
00004c32: PUSH2 0x5b2d
00004c35: JUMP
00004c36: JUMPDEST
00004c37: PUSH32 0x494e56414c49445f5349474e5f4d4554484f4400000000000000000000000000
00004c58: DUP2
00004c59: MSTORE
00004c5a: PUSH1 0x20
00004c5c: ADD
00004c5d: SWAP3
00004c5e: SWAP2
00004c5f: POP
00004c60: POP
00004c61: JUMP
00004c62: JUMPDEST
00004c63: PUSH1 0x00
00004c65: PUSH2 0x4c6f
00004c68: PUSH1 0x0e
00004c6a: DUP4
00004c6b: PUSH2 0x5b2d
00004c6e: JUMP
00004c6f: JUMPDEST
00004c70: PUSH32 0x494e56414c49445f545241444552000000000000000000000000000000000000
00004c91: DUP2
00004c92: MSTORE
00004c93: PUSH1 0x20
00004c95: ADD
00004c96: SWAP3
00004c97: SWAP2
00004c98: POP
00004c99: POP
00004c9a: JUMP
00004c9b: JUMPDEST
00004c9c: PUSH1 0x00
00004c9e: PUSH2 0x4ca8
00004ca1: PUSH1 0x24
00004ca3: DUP4
00004ca4: PUSH2 0x5b2d
00004ca7: JUMP
00004ca8: JUMPDEST
00004ca9: PUSH32 0x415353454d424c595f43414c4c5f4745545f484f545f42414c414e43455f4641
00004cca: DUP2
00004ccb: MSTORE
00004ccc: PUSH1 0x01
00004cce: PUSH1 0xe2
00004cd0: SHL
00004cd1: PUSH4 0x12531151
00004cd6: MUL
00004cd7: PUSH1 0x20
00004cd9: DUP3
00004cda: ADD
00004cdb: MSTORE
00004cdc: PUSH1 0x40
00004cde: ADD
00004cdf: SWAP3
00004ce0: SWAP2
00004ce1: POP
00004ce2: POP
00004ce3: JUMP
00004ce4: JUMPDEST
00004ce5: PUSH1 0x00
00004ce7: PUSH2 0x4cf1
00004cea: PUSH1 0x0e
00004cec: DUP4
00004ced: PUSH2 0x5b2d
00004cf0: JUMP
00004cf1: JUMPDEST
00004cf2: PUSH32 0x4449564944494e475f4552524f52000000000000000000000000000000000000
00004d13: DUP2
00004d14: MSTORE
00004d15: PUSH1 0x20
00004d17: ADD
00004d18: SWAP3
00004d19: SWAP2
00004d1a: POP
00004d1b: POP
00004d1c: JUMP
00004d1d: JUMPDEST
00004d1e: PUSH1 0x00
00004d20: PUSH2 0x4d2a
00004d23: PUSH1 0x11
00004d25: DUP4
00004d26: PUSH2 0x5b2d
00004d29: JUMP
00004d2a: JUMPDEST
00004d2b: PUSH32 0x41554354494f4e5f4e4f545f4558495354000000000000000000000000000000
00004d4c: DUP2
00004d4d: MSTORE
00004d4e: PUSH1 0x20
00004d50: ADD
00004d51: SWAP3
00004d52: SWAP2
00004d53: POP
00004d54: POP
00004d55: JUMP
00004d56: JUMPDEST
00004d57: PUSH1 0x00
00004d59: PUSH2 0x4d63
00004d5c: PUSH1 0x0e
00004d5e: DUP4
00004d5f: PUSH2 0x5b2d
00004d62: JUMP
00004d63: JUMPDEST
00004d64: PUSH32 0x524f554e44494e475f4552524f52000000000000000000000000000000000000
00004d85: DUP2
00004d86: MSTORE
00004d87: PUSH1 0x20
00004d89: ADD
00004d8a: SWAP3
00004d8b: SWAP2
00004d8c: POP
00004d8d: POP
00004d8e: JUMP
00004d8f: JUMPDEST
00004d90: PUSH1 0x00
00004d92: PUSH2 0x4d9c
00004d95: PUSH1 0x1f
00004d97: DUP4
00004d98: PUSH2 0x5b2d
00004d9b: JUMP
00004d9c: JUMPDEST
00004d9d: PUSH32 0x434f4c4c41544552414c5f4143434f554e545f4c4951554944415441424c4500
00004dbe: DUP2
00004dbf: MSTORE
00004dc0: PUSH1 0x20
00004dc2: ADD
00004dc3: SWAP3
00004dc4: SWAP2
00004dc5: POP
00004dc6: POP
00004dc7: JUMP
00004dc8: JUMPDEST
00004dc9: PUSH1 0x00
00004dcb: PUSH2 0x4dd5
00004dce: PUSH1 0x1b
00004dd0: DUP4
00004dd1: PUSH2 0x5b2d
00004dd4: JUMP
00004dd5: JUMPDEST
00004dd6: PUSH32 0x41535345545f4e4f545f42454c4f4e47535f544f5f4d41524b45540000000000
00004df7: DUP2
00004df8: MSTORE
00004df9: PUSH1 0x20
00004dfb: ADD
00004dfc: SWAP3
00004dfd: SWAP2
00004dfe: POP
00004dff: POP
00004e00: JUMP
00004e01: JUMPDEST
00004e02: PUSH1 0x00
00004e04: PUSH2 0x4e0e
00004e07: PUSH1 0x1b
00004e09: DUP4
00004e0a: PUSH2 0x5b2d
00004e0d: JUMP
00004e0e: JUMPDEST
00004e0f: PUSH32 0x5452414e534645525f42414c414e43455f4e4f545f454e4f5547480000000000
00004e30: DUP2
00004e31: MSTORE
00004e32: PUSH1 0x20
00004e34: ADD
00004e35: SWAP3
00004e36: SWAP2
00004e37: POP
00004e38: POP
00004e39: JUMP
00004e3a: JUMPDEST
00004e3b: PUSH1 0x00
00004e3d: PUSH2 0x4e47
00004e40: PUSH1 0x09
00004e42: DUP4
00004e43: PUSH2 0x5b2d
00004e46: JUMP
00004e47: JUMPDEST
00004e48: PUSH1 0x01
00004e4a: PUSH1 0xb9
00004e4c: SHL
00004e4d: PUSH9 0x29aaa12fa2a92927a9
00004e57: MUL
00004e58: DUP2
00004e59: MSTORE
00004e5a: PUSH1 0x20
00004e5c: ADD
00004e5d: SWAP3
00004e5e: SWAP2
00004e5f: POP
00004e60: POP
00004e61: JUMP
00004e62: JUMPDEST
00004e63: PUSH1 0x00
00004e65: PUSH2 0x4e6f
00004e68: PUSH1 0x9f
00004e6a: DUP4
00004e6b: PUSH2 0x0a58
00004e6e: JUMP
00004e6f: JUMPDEST
00004e70: PUSH32 0x4f726465722861646472657373207472616465722c616464726573732072656c
00004e91: DUP2
00004e92: MSTORE
00004e93: PUSH32 0x617965722c61646472657373206261736541737365742c616464726573732071
00004eb4: PUSH1 0x20
00004eb6: DUP3
00004eb7: ADD
00004eb8: MSTORE
00004eb9: PUSH32 0x756f746541737365742c75696e7432353620626173654173736574416d6f756e
00004eda: PUSH1 0x40
00004edc: DUP3
00004edd: ADD
00004ede: MSTORE
00004edf: PUSH32 0x742c75696e743235362071756f74654173736574416d6f756e742c75696e7432
00004f00: PUSH1 0x60
00004f02: DUP3
00004f03: ADD
00004f04: MSTORE
00004f05: PUSH32 0x353620676173546f6b656e416d6f756e742c6279746573333220646174612900
00004f26: PUSH1 0x80
00004f28: DUP3
00004f29: ADD
00004f2a: MSTORE
00004f2b: PUSH1 0x9f
00004f2d: ADD
00004f2e: SWAP3
00004f2f: SWAP2
00004f30: POP
00004f31: POP
00004f32: JUMP
00004f33: JUMPDEST
00004f34: PUSH1 0x00
00004f36: PUSH2 0x4f40
00004f39: PUSH1 0x20
00004f3b: DUP4
00004f3c: PUSH2 0x5b2d
00004f3f: JUMP
00004f40: JUMPDEST
00004f41: PUSH32 0x4d414b45525f4f4e4c595f4f524445525f43414e4e4f545f42455f54414b4552
00004f62: DUP2
00004f63: MSTORE
00004f64: PUSH1 0x20
00004f66: ADD
00004f67: SWAP3
00004f68: SWAP2
00004f69: POP
00004f6a: POP
00004f6b: JUMP
00004f6c: JUMPDEST
00004f6d: PUSH1 0x00
00004f6f: PUSH2 0x4f79
00004f72: PUSH1 0x0d
00004f74: DUP4
00004f75: PUSH2 0x5b2d
00004f78: JUMP
00004f79: JUMPDEST
00004f7a: PUSH32 0x494e56414c49445f4d4154434800000000000000000000000000000000000000
00004f9b: DUP2
00004f9c: MSTORE
00004f9d: PUSH1 0x20
00004f9f: ADD
00004fa0: SWAP3
00004fa1: SWAP2
00004fa2: POP
00004fa3: POP
00004fa4: JUMP
00004fa5: JUMPDEST
00004fa6: PUSH1 0x00
00004fa8: PUSH2 0x4fb2
00004fab: PUSH1 0x0d
00004fad: DUP4
00004fae: PUSH2 0x5b2d
00004fb1: JUMP
00004fb2: JUMPDEST
00004fb3: PUSH32 0x494e56414c49445f4f574e455200000000000000000000000000000000000000
00004fd4: DUP2
00004fd5: MSTORE
00004fd6: PUSH1 0x20
00004fd8: ADD
00004fd9: SWAP3
00004fda: SWAP2
00004fdb: POP
00004fdc: POP
00004fdd: JUMP
00004fde: JUMPDEST
00004fdf: PUSH1 0x00
00004fe1: PUSH2 0x4feb
00004fe4: PUSH1 0x16
00004fe6: DUP4
00004fe7: PUSH2 0x5b2d
00004fea: JUMP
00004feb: JUMPDEST
00004fec: PUSH32 0x54414b45525f4f524445525f4f5645525f4d4154434800000000000000000000
0000500d: DUP2
0000500e: MSTORE
0000500f: PUSH1 0x20
00005011: ADD
00005012: SWAP3
00005013: SWAP2
00005014: POP
00005015: POP
00005016: JUMP
00005017: JUMPDEST
00005018: PUSH1 0x00
0000501a: PUSH2 0x5024
0000501d: PUSH1 0x19
0000501f: DUP4
00005020: PUSH2 0x0a58
00005023: JUMP
00005024: JUMPDEST
00005025: PUSH32 0x454950373132446f6d61696e28737472696e67206e616d652900000000000000
00005046: DUP2
00005047: MSTORE
00005048: PUSH1 0x19
0000504a: ADD
0000504b: SWAP3
0000504c: SWAP2
0000504d: POP
0000504e: POP
0000504f: JUMP
00005050: JUMPDEST
00005051: PUSH1 0x00
00005053: PUSH2 0x505d
00005056: PUSH1 0x10
00005058: DUP4
00005059: PUSH2 0x5b2d
0000505c: JUMP
0000505d: JUMPDEST
0000505e: PUSH32 0x494e543235365f4144445f4552524f5200000000000000000000000000000000
0000507f: DUP2
00005080: MSTORE
00005081: PUSH1 0x20
00005083: ADD
00005084: SWAP3
00005085: SWAP2
00005086: POP
00005087: POP
00005088: JUMP
00005089: JUMPDEST
0000508a: PUSH1 0x00
0000508c: PUSH2 0x5096
0000508f: PUSH1 0x20
00005091: DUP4
00005092: PUSH2 0x5b2d
00005095: JUMP
00005096: JUMPDEST
00005097: PUSH32 0x424f52524f575f494e5445524553545f524154455f4558434545445f33303025
000050b8: DUP2
000050b9: MSTORE
000050ba: PUSH1 0x20
000050bc: ADD
000050bd: SWAP3
000050be: SWAP2
000050bf: POP
000050c0: POP
000050c1: JUMP
000050c2: JUMPDEST
000050c3: PUSH1 0x00
000050c5: PUSH2 0x50cf
000050c8: PUSH1 0x09
000050ca: DUP4
000050cb: PUSH2 0x5b2d
000050ce: JUMP
000050cf: JUMPDEST
000050d0: PUSH1 0x01
000050d2: PUSH1 0xb9
000050d4: SHL
000050d5: PUSH9 0x2727aa2fa7aba722a9
000050df: MUL
000050e0: DUP2
000050e1: MSTORE
000050e2: PUSH1 0x20
000050e4: ADD
000050e5: SWAP3
000050e6: SWAP2
000050e7: POP
000050e8: POP
000050e9: JUMP
000050ea: JUMPDEST
000050eb: PUSH1 0x00
000050ed: PUSH2 0x50f7
000050f0: PUSH1 0x09
000050f2: DUP4
000050f3: PUSH2 0x5b2d
000050f6: JUMP
000050f7: JUMPDEST
000050f8: PUSH1 0x01
000050fa: PUSH1 0xb9
000050fc: SHL
000050fd: PUSH9 0x20a2222fa2a92927a9
00005107: MUL
00005108: DUP2
00005109: MSTORE
0000510a: PUSH1 0x20
0000510c: ADD
0000510d: SWAP3
0000510e: SWAP2
0000510f: POP
00005110: POP
00005111: JUMP
00005112: JUMPDEST
00005113: PUSH1 0x00
00005115: PUSH2 0x511f
00005118: PUSH1 0x0e
0000511a: DUP4
0000511b: PUSH2 0x5b2d
0000511e: JUMP
0000511f: JUMPDEST
00005120: PUSH32 0x494e56414c49445f53454e444552000000000000000000000000000000000000
00005141: DUP2
00005142: MSTORE
00005143: PUSH1 0x20
00005145: ADD
00005146: SWAP3
00005147: SWAP2
00005148: POP
00005149: POP
0000514a: JUMP
0000514b: JUMPDEST
0000514c: PUSH1 0x00
0000514e: PUSH2 0x5158
00005151: PUSH1 0x23
00005153: DUP4
00005154: PUSH2 0x5b2d
00005157: JUMP
00005158: JUMPDEST
00005159: PUSH32 0x4d414b45525f4f524445525f43414e5f4e4f545f42455f4d41524b45545f4f52
0000517a: DUP2
0000517b: MSTORE
0000517c: PUSH1 0x01
0000517e: PUSH1 0xe9
00005180: SHL
00005181: PUSH3 0x2222a9
00005185: MUL
00005186: PUSH1 0x20
00005188: DUP3
00005189: ADD
0000518a: MSTORE
0000518b: PUSH1 0x40
0000518d: ADD
0000518e: SWAP3
0000518f: SWAP2
00005190: POP
00005191: POP
00005192: JUMP
00005193: JUMPDEST
00005194: PUSH1 0x00
00005196: PUSH2 0x51a0
00005199: PUSH1 0x0c
0000519b: DUP4
0000519c: PUSH2 0x5b2d
0000519f: JUMP
000051a0: JUMPDEST
000051a1: PUSH32 0x494e56414c49445f534944450000000000000000000000000000000000000000
000051c2: DUP2
000051c3: MSTORE
000051c4: PUSH1 0x20
000051c6: ADD
000051c7: SWAP3
000051c8: SWAP2
000051c9: POP
000051ca: POP
000051cb: JUMP
000051cc: JUMPDEST
000051cd: PUSH1 0x00
000051cf: PUSH2 0x51d9
000051d2: PUSH1 0x09
000051d4: DUP4
000051d5: PUSH2 0x5b2d
000051d8: JUMP
000051d9: JUMPDEST
000051da: PUSH1 0x01
000051dc: PUSH1 0xb9
000051de: SHL
000051df: PUSH9 0x26aaa62fa2a92927a9
000051e9: MUL
000051ea: DUP2
000051eb: MSTORE
000051ec: PUSH1 0x20
000051ee: ADD
000051ef: SWAP3
000051f0: SWAP2
000051f1: POP
000051f2: POP
000051f3: JUMP
000051f4: JUMPDEST
000051f5: PUSH1 0x00
000051f7: PUSH2 0x5201
000051fa: PUSH1 0x10
000051fc: DUP4
000051fd: PUSH2 0x5b2d
00005200: JUMP
00005201: JUMPDEST
00005202: PUSH32 0x4d41524b45545f4e4f545f455849535400000000000000000000000000000000
00005223: DUP2
00005224: MSTORE
00005225: PUSH1 0x20
00005227: ADD
00005228: SWAP3
00005229: SWAP2
0000522a: POP
0000522b: POP
0000522c: JUMP
0000522d: JUMPDEST
0000522e: PUSH1 0x00
00005230: PUSH2 0x523a
00005233: PUSH1 0x09
00005235: DUP4
00005236: PUSH2 0x5b2d
00005239: JUMP
0000523a: JUMPDEST
0000523b: PUSH1 0x01
0000523d: PUSH1 0xb9
0000523f: SHL
00005240: PUSH9 0x26a7a22fa2a92927a9
0000524a: MUL
0000524b: DUP2
0000524c: MSTORE
0000524d: PUSH1 0x20
0000524f: ADD
00005250: SWAP3
00005251: SWAP2
00005252: POP
00005253: POP
00005254: JUMP
00005255: JUMPDEST
00005256: DUP1
00005257: MLOAD
00005258: PUSH1 0x00
0000525a: SWAP1
0000525b: PUSH1 0x40
0000525d: DUP5
0000525e: ADD
0000525f: SWAP1
00005260: PUSH2 0x5269
00005263: DUP6
00005264: DUP3
00005265: PUSH2 0x48cc
00005268: JUMP
00005269: JUMPDEST
0000526a: POP
0000526b: PUSH1 0x20
0000526d: DUP4
0000526e: ADD
0000526f: MLOAD
00005270: DUP5
00005271: DUP3
00005272: SUB
00005273: PUSH1 0x20
00005275: DUP7
00005276: ADD
00005277: MSTORE
00005278: PUSH2 0x1c09
0000527b: DUP3
0000527c: DUP3
0000527d: PUSH2 0x488b
00005280: JUMP
00005281: JUMPDEST
00005282: DUP1
00005283: MLOAD
00005284: PUSH1 0x60
00005286: DUP4
00005287: ADD
00005288: SWAP1
00005289: PUSH2 0x5292
0000528c: DUP5
0000528d: DUP3
0000528e: PUSH2 0x48c3
00005291: JUMP
00005292: JUMPDEST
00005293: POP
00005294: PUSH1 0x20
00005296: DUP3
00005297: ADD
00005298: MLOAD
00005299: PUSH2 0x52a5
0000529c: PUSH1 0x20
0000529e: DUP6
0000529f: ADD
000052a0: DUP3
000052a1: PUSH2 0x48c3
000052a4: JUMP
000052a5: JUMPDEST
000052a6: POP
000052a7: PUSH1 0x40
000052a9: DUP3
000052aa: ADD
000052ab: MLOAD
000052ac: PUSH2 0x2bd2
000052af: PUSH1 0x40
000052b1: DUP6
000052b2: ADD
000052b3: DUP3
000052b4: PUSH2 0x48c3
000052b7: JUMP
000052b8: JUMPDEST
000052b9: DUP1
000052ba: MLOAD
000052bb: PUSH2 0x0120
000052be: DUP4
000052bf: ADD
000052c0: SWAP1
000052c1: PUSH2 0x52ca
000052c4: DUP5
000052c5: DUP3
000052c6: PUSH2 0x4798
000052c9: JUMP
000052ca: JUMPDEST
000052cb: POP
000052cc: PUSH1 0x20
000052ce: DUP3
000052cf: ADD
000052d0: MLOAD
000052d1: PUSH2 0x52dd
000052d4: PUSH1 0x20
000052d6: DUP6
000052d7: ADD
000052d8: DUP3
000052d9: PUSH2 0x546c
000052dc: JUMP
000052dd: JUMPDEST
000052de: POP
000052df: PUSH1 0x40
000052e1: DUP3
000052e2: ADD
000052e3: MLOAD
000052e4: PUSH2 0x52f0
000052e7: PUSH1 0x40
000052e9: DUP6
000052ea: ADD
000052eb: DUP3
000052ec: PUSH2 0x4798
000052ef: JUMP
000052f0: JUMPDEST
000052f1: POP
000052f2: PUSH1 0x60
000052f4: DUP3
000052f5: ADD
000052f6: MLOAD
000052f7: PUSH2 0x5303
000052fa: PUSH1 0x60
000052fc: DUP6
000052fd: ADD
000052fe: DUP3
000052ff: PUSH2 0x4798
00005302: JUMP
00005303: JUMPDEST
00005304: POP
00005305: PUSH1 0x80
00005307: DUP3
00005308: ADD
00005309: MLOAD
0000530a: PUSH2 0x5316
0000530d: PUSH1 0x80
0000530f: DUP6
00005310: ADD
00005311: DUP3
00005312: PUSH2 0x4871
00005315: JUMP
00005316: JUMPDEST
00005317: POP
00005318: PUSH1 0xa0
0000531a: DUP3
0000531b: ADD
0000531c: MLOAD
0000531d: PUSH2 0x5329
00005320: PUSH1 0xa0
00005322: DUP6
00005323: ADD
00005324: DUP3
00005325: PUSH2 0x4871
00005328: JUMP
00005329: JUMPDEST
0000532a: POP
0000532b: PUSH1 0xc0
0000532d: DUP3
0000532e: ADD
0000532f: MLOAD
00005330: PUSH2 0x533c
00005333: PUSH1 0xc0
00005335: DUP6
00005336: ADD
00005337: DUP3
00005338: PUSH2 0x4871
0000533b: JUMP
0000533c: JUMPDEST
0000533d: POP
0000533e: PUSH1 0xe0
00005340: DUP3
00005341: ADD
00005342: MLOAD
00005343: PUSH2 0x534f
00005346: PUSH1 0xe0
00005348: DUP6
00005349: ADD
0000534a: DUP3
0000534b: PUSH2 0x4871
0000534e: JUMP
0000534f: JUMPDEST
00005350: POP
00005351: PUSH2 0x0100
00005354: DUP3
00005355: ADD
00005356: MLOAD
00005357: PUSH2 0x2bd2
0000535a: PUSH2 0x0100
0000535d: DUP6
0000535e: ADD
0000535f: DUP3
00005360: PUSH2 0x4868
00005363: JUMP
00005364: JUMPDEST
00005365: DUP1
00005366: MLOAD
00005367: PUSH1 0x80
00005369: DUP4
0000536a: ADD
0000536b: SWAP1
0000536c: PUSH2 0x5375
0000536f: DUP5
00005370: DUP3
00005371: PUSH2 0x4868
00005374: JUMP
00005375: JUMPDEST
00005376: POP
00005377: PUSH1 0x20
00005379: DUP3
0000537a: ADD
0000537b: MLOAD
0000537c: PUSH2 0x5388
0000537f: PUSH1 0x20
00005381: DUP6
00005382: ADD
00005383: DUP3
00005384: PUSH2 0x48d5
00005387: JUMP
00005388: JUMPDEST
00005389: POP
0000538a: PUSH1 0x40
0000538c: DUP3
0000538d: ADD
0000538e: MLOAD
0000538f: PUSH2 0x539b
00005392: PUSH1 0x40
00005394: DUP6
00005395: ADD
00005396: DUP3
00005397: PUSH2 0x4871
0000539a: JUMP
0000539b: JUMPDEST
0000539c: POP
0000539d: PUSH1 0x60
0000539f: DUP3
000053a0: ADD
000053a1: MLOAD
000053a2: PUSH2 0x2bd2
000053a5: PUSH1 0x60
000053a7: DUP6
000053a8: ADD
000053a9: DUP3
000053aa: PUSH2 0x4871
000053ad: JUMP
000053ae: JUMPDEST
000053af: DUP1
000053b0: MLOAD
000053b1: PUSH1 0xe0
000053b3: DUP4
000053b4: ADD
000053b5: SWAP1
000053b6: PUSH2 0x53bf
000053b9: DUP5
000053ba: DUP3
000053bb: PUSH2 0x4798
000053be: JUMP
000053bf: JUMPDEST
000053c0: POP
000053c1: PUSH1 0x20
000053c3: DUP3
000053c4: ADD
000053c5: MLOAD
000053c6: PUSH2 0x53d2
000053c9: PUSH1 0x20
000053cb: DUP6
000053cc: ADD
000053cd: DUP3
000053ce: PUSH2 0x4798
000053d1: JUMP
000053d2: JUMPDEST
000053d3: POP
000053d4: PUSH1 0x40
000053d6: DUP3
000053d7: ADD
000053d8: MLOAD
000053d9: PUSH2 0x53e5
000053dc: PUSH1 0x40
000053de: DUP6
000053df: ADD
000053e0: DUP3
000053e1: PUSH2 0x4871
000053e4: JUMP
000053e5: JUMPDEST
000053e6: POP
000053e7: PUSH1 0x60
000053e9: DUP3
000053ea: ADD
000053eb: MLOAD
000053ec: PUSH2 0x53f8
000053ef: PUSH1 0x60
000053f1: DUP6
000053f2: ADD
000053f3: DUP3
000053f4: PUSH2 0x4871
000053f7: JUMP
000053f8: JUMPDEST
000053f9: POP
000053fa: PUSH1 0x80
000053fc: DUP3
000053fd: ADD
000053fe: MLOAD
000053ff: PUSH2 0x540b
00005402: PUSH1 0x80
00005404: DUP6
00005405: ADD
00005406: DUP3
00005407: PUSH2 0x4871
0000540a: JUMP
0000540b: JUMPDEST
0000540c: POP
0000540d: PUSH1 0xa0
0000540f: DUP3
00005410: ADD
00005411: MLOAD
00005412: PUSH2 0x541e
00005415: PUSH1 0xa0
00005417: DUP6
00005418: ADD
00005419: DUP3
0000541a: PUSH2 0x4871
0000541d: JUMP
0000541e: JUMPDEST
0000541f: POP
00005420: PUSH1 0xc0
00005422: DUP3
00005423: ADD
00005424: MLOAD
00005425: PUSH2 0x2bd2
00005428: PUSH1 0xc0
0000542a: DUP6
0000542b: ADD
0000542c: DUP3
0000542d: PUSH2 0x4868
00005430: JUMP
00005431: JUMPDEST
00005432: DUP1
00005433: MLOAD
00005434: PUSH1 0x60
00005436: DUP4
00005437: ADD
00005438: SWAP1
00005439: PUSH2 0x5442
0000543c: DUP5
0000543d: DUP3
0000543e: PUSH2 0x4798
00005441: JUMP
00005442: JUMPDEST
00005443: POP
00005444: PUSH1 0x20
00005446: DUP3
00005447: ADD
00005448: MLOAD
00005449: PUSH2 0x5455
0000544c: PUSH1 0x20
0000544e: DUP6
0000544f: ADD
00005450: DUP3
00005451: PUSH2 0x4798
00005454: JUMP
00005455: JUMPDEST
00005456: POP
00005457: PUSH1 0x40
00005459: DUP3
0000545a: ADD
0000545b: MLOAD
0000545c: PUSH2 0x2bd2
0000545f: PUSH1 0x40
00005461: DUP6
00005462: ADD
00005463: DUP3
00005464: PUSH2 0x4798
00005467: JUMP
00005468: JUMPDEST
00005469: SWAP1
0000546a: MSTORE
0000546b: JUMP
0000546c: JUMPDEST
0000546d: PUSH2 0x4792
00005470: DUP2
00005471: PUSH2 0x5b5d
00005474: JUMP
00005475: JUMPDEST
00005476: PUSH2 0x4792
00005479: DUP2
0000547a: PUSH2 0x5b70
0000547d: JUMP
0000547e: JUMPDEST
0000547f: PUSH2 0x4792
00005482: DUP2
00005483: PUSH2 0x5b79
00005486: JUMP
00005487: JUMPDEST
00005488: PUSH1 0x00
0000548a: PUSH2 0x5493
0000548d: DUP3
0000548e: DUP6
0000548f: PUSH2 0x487a
00005492: JUMP
00005493: JUMPDEST
00005494: PUSH1 0x20
00005496: DUP3
00005497: ADD
00005498: SWAP2
00005499: POP
0000549a: PUSH2 0x54a3
0000549d: DUP3
0000549e: DUP5
0000549f: PUSH2 0x487a
000054a2: JUMP
000054a3: JUMPDEST
000054a4: POP
000054a5: PUSH1 0x20
000054a7: ADD
000054a8: SWAP3
000054a9: SWAP2
000054aa: POP
000054ab: POP
000054ac: JUMP
000054ad: JUMPDEST
000054ae: PUSH1 0x00
000054b0: PUSH2 0x54b8
000054b3: DUP3
000054b4: PUSH2 0x4a0a
000054b7: JUMP
000054b8: JUMPDEST
000054b9: SWAP2
000054ba: POP
000054bb: PUSH2 0x54c4
000054be: DUP3
000054bf: DUP5
000054c0: PUSH2 0x487a
000054c3: JUMP
000054c4: JUMPDEST
000054c5: POP
000054c6: PUSH1 0x20
000054c8: ADD
000054c9: SWAP2
000054ca: SWAP1
000054cb: POP
000054cc: JUMP
000054cd: JUMPDEST
000054ce: PUSH1 0x00
000054d0: PUSH2 0x54d8
000054d3: DUP3
000054d4: PUSH2 0x4aee
000054d7: JUMP
000054d8: JUMPDEST
000054d9: SWAP2
000054da: POP
000054db: PUSH2 0x5493
000054de: DUP3
000054df: DUP6
000054e0: PUSH2 0x487a
000054e3: JUMP
000054e4: JUMPDEST
000054e5: PUSH1 0x00
000054e7: PUSH2 0x0d92
000054ea: DUP3
000054eb: PUSH2 0x4e62
000054ee: JUMP
000054ef: JUMPDEST
000054f0: PUSH1 0x00
000054f2: PUSH2 0x0d92
000054f5: DUP3
000054f6: PUSH2 0x5017
000054f9: JUMP
000054fa: JUMPDEST
000054fb: PUSH1 0x20
000054fd: DUP2
000054fe: ADD
000054ff: PUSH2 0x0d92
00005502: DUP3
00005503: DUP5
00005504: PUSH2 0x4798
00005507: JUMP
00005508: JUMPDEST
00005509: PUSH1 0x20
0000550b: DUP2
0000550c: ADD
0000550d: PUSH2 0x0d92
00005510: DUP3
00005511: DUP5
00005512: PUSH2 0x4789
00005515: JUMP
00005516: JUMPDEST
00005517: PUSH1 0x20
00005519: DUP1
0000551a: DUP3
0000551b: MSTORE
0000551c: DUP2
0000551d: ADD
0000551e: PUSH2 0x0933
00005521: DUP2
00005522: DUP5
00005523: PUSH2 0x480f
00005526: JUMP
00005527: JUMPDEST
00005528: PUSH1 0x20
0000552a: DUP2
0000552b: ADD
0000552c: PUSH2 0x0d92
0000552f: DUP3
00005530: DUP5
00005531: PUSH2 0x4868
00005534: JUMP
00005535: JUMPDEST
00005536: PUSH1 0x40
00005538: DUP2
00005539: ADD
0000553a: PUSH2 0x5543
0000553d: DUP3
0000553e: DUP6
0000553f: PUSH2 0x4868
00005542: JUMP
00005543: JUMPDEST
00005544: PUSH2 0x0933
00005547: PUSH1 0x20
00005549: DUP4
0000554a: ADD
0000554b: DUP5
0000554c: PUSH2 0x5475
0000554f: JUMP
00005550: JUMPDEST
00005551: PUSH1 0x80
00005553: DUP2
00005554: ADD
00005555: PUSH2 0x555e
00005558: DUP3
00005559: DUP8
0000555a: PUSH2 0x4871
0000555d: JUMP
0000555e: JUMPDEST
0000555f: PUSH2 0x556b
00005562: PUSH1 0x20
00005564: DUP4
00005565: ADD
00005566: DUP7
00005567: PUSH2 0x547e
0000556a: JUMP
0000556b: JUMPDEST
0000556c: PUSH2 0x5578
0000556f: PUSH1 0x40
00005571: DUP4
00005572: ADD
00005573: DUP6
00005574: PUSH2 0x4871
00005577: JUMP
00005578: JUMPDEST
00005579: PUSH2 0x1c09
0000557c: PUSH1 0x60
0000557e: DUP4
0000557f: ADD
00005580: DUP5
00005581: PUSH2 0x4871
00005584: JUMP
00005585: JUMPDEST
00005586: PUSH1 0x20
00005588: DUP1
00005589: DUP3
0000558a: MSTORE
0000558b: DUP2
0000558c: ADD
0000558d: PUSH2 0x0d92
00005590: DUP2
00005591: PUSH2 0x4900
00005594: JUMP
00005595: JUMPDEST
00005596: PUSH1 0x20
00005598: DUP1
00005599: DUP3
0000559a: MSTORE
0000559b: DUP2
0000559c: ADD
0000559d: PUSH2 0x0d92
000055a0: DUP2
000055a1: PUSH2 0x495f
000055a4: JUMP
000055a5: JUMPDEST
000055a6: PUSH1 0x20
000055a8: DUP1
000055a9: DUP3
000055aa: MSTORE
000055ab: DUP2
000055ac: ADD
000055ad: PUSH2 0x0d92
000055b0: DUP2
000055b1: PUSH2 0x4998
000055b4: JUMP
000055b5: JUMPDEST
000055b6: PUSH1 0x20
000055b8: DUP1
000055b9: DUP3
000055ba: MSTORE
000055bb: DUP2
000055bc: ADD
000055bd: PUSH2 0x0d92
000055c0: DUP2
000055c1: PUSH2 0x49d1
000055c4: JUMP
000055c5: JUMPDEST
000055c6: PUSH1 0x20
000055c8: DUP1
000055c9: DUP3
000055ca: MSTORE
000055cb: DUP2
000055cc: ADD
000055cd: PUSH2 0x0d92
000055d0: DUP2
000055d1: PUSH2 0x4a43
000055d4: JUMP
000055d5: JUMPDEST
000055d6: PUSH1 0x20
000055d8: DUP1
000055d9: DUP3
000055da: MSTORE
000055db: DUP2
000055dc: ADD
000055dd: PUSH2 0x0d92
000055e0: DUP2
000055e1: PUSH2 0x4a7c
000055e4: JUMP
000055e5: JUMPDEST
000055e6: PUSH1 0x20
000055e8: DUP1
000055e9: DUP3
000055ea: MSTORE
000055eb: DUP2
000055ec: ADD
000055ed: PUSH2 0x0d92
000055f0: DUP2
000055f1: PUSH2 0x4ab5
000055f4: JUMP
000055f5: JUMPDEST
000055f6: PUSH1 0x20
000055f8: DUP1
000055f9: DUP3
000055fa: MSTORE
000055fb: DUP2
000055fc: ADD
000055fd: PUSH2 0x0d92
00005600: DUP2
00005601: PUSH2 0x4b0f
00005604: JUMP
00005605: JUMPDEST
00005606: PUSH1 0x20
00005608: DUP1
00005609: DUP3
0000560a: MSTORE
0000560b: DUP2
0000560c: ADD
0000560d: PUSH2 0x0d92
00005610: DUP2
00005611: PUSH2 0x4b6e
00005614: JUMP
00005615: JUMPDEST
00005616: PUSH1 0x20
00005618: DUP1
00005619: DUP3
0000561a: MSTORE
0000561b: DUP2
0000561c: ADD
0000561d: PUSH2 0x0d92
00005620: DUP2
00005621: PUSH2 0x4bb7
00005624: JUMP
00005625: JUMPDEST
00005626: PUSH1 0x20
00005628: DUP1
00005629: DUP3
0000562a: MSTORE
0000562b: DUP2
0000562c: ADD
0000562d: PUSH2 0x0d92
00005630: DUP2
00005631: PUSH2 0x4bf0
00005634: JUMP
00005635: JUMPDEST
00005636: PUSH1 0x20
00005638: DUP1
00005639: DUP3
0000563a: MSTORE
0000563b: DUP2
0000563c: ADD
0000563d: PUSH2 0x0d92
00005640: DUP2
00005641: PUSH2 0x4c29
00005644: JUMP
00005645: JUMPDEST
00005646: PUSH1 0x20
00005648: DUP1
00005649: DUP3
0000564a: MSTORE
0000564b: DUP2
0000564c: ADD
0000564d: PUSH2 0x0d92
00005650: DUP2
00005651: PUSH2 0x4c62
00005654: JUMP
00005655: JUMPDEST
00005656: PUSH1 0x20
00005658: DUP1
00005659: DUP3
0000565a: MSTORE
0000565b: DUP2
0000565c: ADD
0000565d: PUSH2 0x0d92
00005660: DUP2
00005661: PUSH2 0x4c9b
00005664: JUMP
00005665: JUMPDEST
00005666: PUSH1 0x20
00005668: DUP1
00005669: DUP3
0000566a: MSTORE
0000566b: DUP2
0000566c: ADD
0000566d: PUSH2 0x0d92
00005670: DUP2
00005671: PUSH2 0x4ce4
00005674: JUMP
00005675: JUMPDEST
00005676: PUSH1 0x20
00005678: DUP1
00005679: DUP3
0000567a: MSTORE
0000567b: DUP2
0000567c: ADD
0000567d: PUSH2 0x0d92
00005680: DUP2
00005681: PUSH2 0x4d1d
00005684: JUMP
00005685: JUMPDEST
00005686: PUSH1 0x20
00005688: DUP1
00005689: DUP3
0000568a: MSTORE
0000568b: DUP2
0000568c: ADD
0000568d: PUSH2 0x0d92
00005690: DUP2
00005691: PUSH2 0x4d56
00005694: JUMP
00005695: JUMPDEST
00005696: PUSH1 0x20
00005698: DUP1
00005699: DUP3
0000569a: MSTORE
0000569b: DUP2
0000569c: ADD
0000569d: PUSH2 0x0d92
000056a0: DUP2
000056a1: PUSH2 0x4d8f
000056a4: JUMP
000056a5: JUMPDEST
000056a6: PUSH1 0x20
000056a8: DUP1
000056a9: DUP3
000056aa: MSTORE
000056ab: DUP2
000056ac: ADD
000056ad: PUSH2 0x0d92
000056b0: DUP2
000056b1: PUSH2 0x4dc8
000056b4: JUMP
000056b5: JUMPDEST
000056b6: PUSH1 0x20
000056b8: DUP1
000056b9: DUP3
000056ba: MSTORE
000056bb: DUP2
000056bc: ADD
000056bd: PUSH2 0x0d92
000056c0: DUP2
000056c1: PUSH2 0x4e01
000056c4: JUMP
000056c5: JUMPDEST
000056c6: PUSH1 0x20
000056c8: DUP1
000056c9: DUP3
000056ca: MSTORE
000056cb: DUP2
000056cc: ADD
000056cd: PUSH2 0x0d92
000056d0: DUP2
000056d1: PUSH2 0x4e3a
000056d4: JUMP
000056d5: JUMPDEST
000056d6: PUSH1 0x20
000056d8: DUP1
000056d9: DUP3
000056da: MSTORE
000056db: DUP2
000056dc: ADD
000056dd: PUSH2 0x0d92
000056e0: DUP2
000056e1: PUSH2 0x4f33
000056e4: JUMP
000056e5: JUMPDEST
000056e6: PUSH1 0x20
000056e8: DUP1
000056e9: DUP3
000056ea: MSTORE
000056eb: DUP2
000056ec: ADD
000056ed: PUSH2 0x0d92
000056f0: DUP2
000056f1: PUSH2 0x4f6c
000056f4: JUMP
000056f5: JUMPDEST
000056f6: PUSH1 0x20
000056f8: DUP1
000056f9: DUP3
000056fa: MSTORE
000056fb: DUP2
000056fc: ADD
000056fd: PUSH2 0x0d92
00005700: DUP2
00005701: PUSH2 0x4fa5
00005704: JUMP
00005705: JUMPDEST
00005706: PUSH1 0x20
00005708: DUP1
00005709: DUP3
0000570a: MSTORE
0000570b: DUP2
0000570c: ADD
0000570d: PUSH2 0x0d92
00005710: DUP2
00005711: PUSH2 0x4fde
00005714: JUMP
00005715: JUMPDEST
00005716: PUSH1 0x20
00005718: DUP1
00005719: DUP3
0000571a: MSTORE
0000571b: DUP2
0000571c: ADD
0000571d: PUSH2 0x0d92
00005720: DUP2
00005721: PUSH2 0x5050
00005724: JUMP
00005725: JUMPDEST
00005726: PUSH1 0x20
00005728: DUP1
00005729: DUP3
0000572a: MSTORE
0000572b: DUP2
0000572c: ADD
0000572d: PUSH2 0x0d92
00005730: DUP2
00005731: PUSH2 0x5089
00005734: JUMP
00005735: JUMPDEST
00005736: PUSH1 0x20
00005738: DUP1
00005739: DUP3
0000573a: MSTORE
0000573b: DUP2
0000573c: ADD
0000573d: PUSH2 0x0d92
00005740: DUP2
00005741: PUSH2 0x50c2
00005744: JUMP
00005745: JUMPDEST
00005746: PUSH1 0x20
00005748: DUP1
00005749: DUP3
0000574a: MSTORE
0000574b: DUP2
0000574c: ADD
0000574d: PUSH2 0x0d92
00005750: DUP2
00005751: PUSH2 0x50ea
00005754: JUMP
00005755: JUMPDEST
00005756: PUSH1 0x20
00005758: DUP1
00005759: DUP3
0000575a: MSTORE
0000575b: DUP2
0000575c: ADD
0000575d: PUSH2 0x0d92
00005760: DUP2
00005761: PUSH2 0x5112
00005764: JUMP
00005765: JUMPDEST
00005766: PUSH1 0x20
00005768: DUP1
00005769: DUP3
0000576a: MSTORE
0000576b: DUP2
0000576c: ADD
0000576d: PUSH2 0x0d92
00005770: DUP2
00005771: PUSH2 0x514b
00005774: JUMP
00005775: JUMPDEST
00005776: PUSH1 0x20
00005778: DUP1
00005779: DUP3
0000577a: MSTORE
0000577b: DUP2
0000577c: ADD
0000577d: PUSH2 0x0d92
00005780: DUP2
00005781: PUSH2 0x5193
00005784: JUMP
00005785: JUMPDEST
00005786: PUSH1 0x20
00005788: DUP1
00005789: DUP3
0000578a: MSTORE
0000578b: DUP2
0000578c: ADD
0000578d: PUSH2 0x0d92
00005790: DUP2
00005791: PUSH2 0x51cc
00005794: JUMP
00005795: JUMPDEST
00005796: PUSH1 0x20
00005798: DUP1
00005799: DUP3
0000579a: MSTORE
0000579b: DUP2
0000579c: ADD
0000579d: PUSH2 0x0d92
000057a0: DUP2
000057a1: PUSH2 0x51f4
000057a4: JUMP
000057a5: JUMPDEST
000057a6: PUSH1 0x20
000057a8: DUP1
000057a9: DUP3
000057aa: MSTORE
000057ab: DUP2
000057ac: ADD
000057ad: PUSH2 0x0d92
000057b0: DUP2
000057b1: PUSH2 0x522d
000057b4: JUMP
000057b5: JUMPDEST
000057b6: PUSH1 0x60
000057b8: DUP2
000057b9: ADD
000057ba: PUSH2 0x0d92
000057bd: DUP3
000057be: DUP5
000057bf: PUSH2 0x5281
000057c2: JUMP
000057c3: JUMPDEST
000057c4: PUSH2 0x0120
000057c7: DUP2
000057c8: ADD
000057c9: PUSH2 0x0d92
000057cc: DUP3
000057cd: DUP5
000057ce: PUSH2 0x52b8
000057d1: JUMP
000057d2: JUMPDEST
000057d3: PUSH1 0x80
000057d5: DUP2
000057d6: ADD
000057d7: PUSH2 0x0d92
000057da: DUP3
000057db: DUP5
000057dc: PUSH2 0x5364
000057df: JUMP
000057e0: JUMPDEST
000057e1: PUSH1 0xe0
000057e3: DUP2
000057e4: ADD
000057e5: PUSH2 0x0d92
000057e8: DUP3
000057e9: DUP5
000057ea: PUSH2 0x53ae
000057ed: JUMP
000057ee: JUMPDEST
000057ef: PUSH2 0x01a0
000057f2: DUP2
000057f3: ADD
000057f4: PUSH2 0x57fd
000057f7: DUP3
000057f8: DUP15
000057f9: PUSH2 0x5431
000057fc: JUMP
000057fd: JUMPDEST
000057fe: PUSH2 0x580a
00005801: PUSH1 0x60
00005803: DUP4
00005804: ADD
00005805: DUP14
00005806: PUSH2 0x4798
00005809: JUMP
0000580a: JUMPDEST
0000580b: PUSH2 0x5817
0000580e: PUSH1 0x80
00005810: DUP4
00005811: ADD
00005812: DUP13
00005813: PUSH2 0x4798
00005816: JUMP
00005817: JUMPDEST
00005818: PUSH2 0x5824
0000581b: PUSH1 0xa0
0000581d: DUP4
0000581e: ADD
0000581f: DUP12
00005820: PUSH2 0x4798
00005823: JUMP
00005824: JUMPDEST
00005825: PUSH2 0x5831
00005828: PUSH1 0xc0
0000582a: DUP4
0000582b: ADD
0000582c: DUP11
0000582d: PUSH2 0x4871
00005830: JUMP
00005831: JUMPDEST
00005832: PUSH2 0x583e
00005835: PUSH1 0xe0
00005837: DUP4
00005838: ADD
00005839: DUP10
0000583a: PUSH2 0x4871
0000583d: JUMP
0000583e: JUMPDEST
0000583f: PUSH2 0x584c
00005842: PUSH2 0x0100
00005845: DUP4
00005846: ADD
00005847: DUP9
00005848: PUSH2 0x4871
0000584b: JUMP
0000584c: JUMPDEST
0000584d: PUSH2 0x585a
00005850: PUSH2 0x0120
00005853: DUP4
00005854: ADD
00005855: DUP8
00005856: PUSH2 0x4871
00005859: JUMP
0000585a: JUMPDEST
0000585b: PUSH2 0x5868
0000585e: PUSH2 0x0140
00005861: DUP4
00005862: ADD
00005863: DUP7
00005864: PUSH2 0x4871
00005867: JUMP
00005868: JUMPDEST
00005869: PUSH2 0x5876
0000586c: PUSH2 0x0160
0000586f: DUP4
00005870: ADD
00005871: DUP6
00005872: PUSH2 0x4871
00005875: JUMP
00005876: JUMPDEST
00005877: PUSH2 0x5884
0000587a: PUSH2 0x0180
0000587d: DUP4
0000587e: ADD
0000587f: DUP5
00005880: PUSH2 0x4871
00005883: JUMP
00005884: JUMPDEST
00005885: SWAP13
00005886: SWAP12
00005887: POP
00005888: POP
00005889: POP
0000588a: POP
0000588b: POP
0000588c: POP
0000588d: POP
0000588e: POP
0000588f: POP
00005890: POP
00005891: POP
00005892: POP
00005893: JUMP
00005894: JUMPDEST
00005895: PUSH1 0x80
00005897: DUP2
00005898: ADD
00005899: PUSH2 0x58a2
0000589c: DUP3
0000589d: DUP8
0000589e: PUSH2 0x5468
000058a1: JUMP
000058a2: JUMPDEST
000058a3: PUSH2 0x58af
000058a6: PUSH1 0x20
000058a8: DUP4
000058a9: ADD
000058aa: DUP7
000058ab: PUSH2 0x4798
000058ae: JUMP
000058af: JUMPDEST
000058b0: PUSH2 0x58bc
000058b3: PUSH1 0x40
000058b5: DUP4
000058b6: ADD
000058b7: DUP6
000058b8: PUSH2 0x4798
000058bb: JUMP
000058bc: JUMPDEST
000058bd: PUSH2 0x1c09
000058c0: PUSH1 0x60
000058c2: DUP4
000058c3: ADD
000058c4: DUP5
000058c5: PUSH2 0x4798
000058c8: JUMP
000058c9: JUMPDEST
000058ca: PUSH1 0xe0
000058cc: DUP2
000058cd: ADD
000058ce: PUSH2 0x58d7
000058d1: DUP3
000058d2: DUP13
000058d3: PUSH2 0x5468
000058d6: JUMP
000058d7: JUMPDEST
000058d8: PUSH2 0x58e4
000058db: PUSH1 0x20
000058dd: DUP4
000058de: ADD
000058df: DUP12
000058e0: PUSH2 0x4798
000058e3: JUMP
000058e4: JUMPDEST
000058e5: PUSH2 0x58f1
000058e8: PUSH1 0x40
000058ea: DUP4
000058eb: ADD
000058ec: DUP11
000058ed: PUSH2 0x4798
000058f0: JUMP
000058f1: JUMPDEST
000058f2: PUSH2 0x58fe
000058f5: PUSH1 0x60
000058f7: DUP4
000058f8: ADD
000058f9: DUP10
000058fa: PUSH2 0x4798
000058fd: JUMP
000058fe: JUMPDEST
000058ff: DUP2
00005900: DUP2
00005901: SUB
00005902: PUSH1 0x80
00005904: DUP4
00005905: ADD
00005906: MSTORE
00005907: PUSH2 0x5911
0000590a: DUP2
0000590b: DUP8
0000590c: DUP10
0000590d: PUSH2 0x48de
00005910: JUMP
00005911: JUMPDEST
00005912: SWAP1
00005913: POP
00005914: DUP2
00005915: DUP2
00005916: SUB
00005917: PUSH1 0xa0
00005919: DUP4
0000591a: ADD
0000591b: MSTORE
0000591c: PUSH2 0x5926
0000591f: DUP2
00005920: DUP6
00005921: DUP8
00005922: PUSH2 0x48de
00005925: JUMP
00005926: JUMPDEST
00005927: SWAP1
00005928: POP
00005929: PUSH2 0x5935
0000592c: PUSH1 0xc0
0000592e: DUP4
0000592f: ADD
00005930: DUP5
00005931: PUSH2 0x547e
00005934: JUMP
00005935: JUMPDEST
00005936: SWAP11
00005937: SWAP10
00005938: POP
00005939: POP
0000593a: POP
0000593b: POP
0000593c: POP
0000593d: POP
0000593e: POP
0000593f: POP
00005940: POP
00005941: POP
00005942: JUMP
00005943: JUMPDEST
00005944: PUSH1 0x60
00005946: DUP2
00005947: ADD
00005948: PUSH2 0x5951
0000594b: DUP3
0000594c: DUP7
0000594d: PUSH2 0x5468
00005950: JUMP
00005951: JUMPDEST
00005952: PUSH2 0x595e
00005955: PUSH1 0x20
00005957: DUP4
00005958: ADD
00005959: DUP6
0000595a: PUSH2 0x4798
0000595d: JUMP
0000595e: JUMPDEST
0000595f: PUSH2 0x0bb4
00005962: PUSH1 0x40
00005964: DUP4
00005965: ADD
00005966: DUP5
00005967: PUSH2 0x546c
0000596a: JUMP
0000596b: JUMPDEST
0000596c: PUSH1 0x60
0000596e: DUP2
0000596f: ADD
00005970: PUSH2 0x5979
00005973: DUP3
00005974: DUP7
00005975: PUSH2 0x5468
00005978: JUMP
00005979: JUMPDEST
0000597a: DUP2
0000597b: DUP2
0000597c: SUB
0000597d: PUSH1 0x20
0000597f: DUP4
00005980: ADD
00005981: MSTORE
00005982: PUSH2 0x598b
00005985: DUP2
00005986: DUP6
00005987: PUSH2 0x47a1
0000598a: JUMP
0000598b: JUMPDEST
0000598c: SWAP1
0000598d: POP
0000598e: PUSH2 0x0bb4
00005991: PUSH1 0x40
00005993: DUP4
00005994: ADD
00005995: DUP5
00005996: PUSH2 0x4871
00005999: JUMP
0000599a: JUMPDEST
0000599b: PUSH1 0x40
0000599d: DUP2
0000599e: ADD
0000599f: PUSH2 0x59a8
000059a2: DUP3
000059a3: DUP6
000059a4: PUSH2 0x5468
000059a7: JUMP
000059a8: JUMPDEST
000059a9: PUSH2 0x0933
000059ac: PUSH1 0x20
000059ae: DUP4
000059af: ADD
000059b0: DUP5
000059b1: PUSH2 0x4871
000059b4: JUMP
000059b5: JUMPDEST
000059b6: PUSH2 0x0100
000059b9: DUP2
000059ba: ADD
000059bb: PUSH2 0x59c4
000059be: DUP3
000059bf: DUP6
000059c0: PUSH2 0x5468
000059c3: JUMP
000059c4: JUMPDEST
000059c5: PUSH2 0x0933
000059c8: PUSH1 0x20
000059ca: DUP4
000059cb: ADD
000059cc: DUP5
000059cd: PUSH2 0x53ae
000059d0: JUMP
000059d1: JUMPDEST
000059d2: PUSH1 0x60
000059d4: DUP2
000059d5: ADD
000059d6: PUSH2 0x59df
000059d9: DUP3
000059da: DUP7
000059db: PUSH2 0x5468
000059de: JUMP
000059df: JUMPDEST
000059e0: PUSH2 0x59ec
000059e3: PUSH1 0x20
000059e5: DUP4
000059e6: ADD
000059e7: DUP6
000059e8: PUSH2 0x546c
000059eb: JUMP
000059ec: JUMPDEST
000059ed: PUSH2 0x0bb4
000059f0: PUSH1 0x40
000059f2: DUP4
000059f3: ADD
000059f4: DUP5
000059f5: PUSH2 0x4868
000059f8: JUMP
000059f9: JUMPDEST
000059fa: PUSH1 0xc0
000059fc: DUP2
000059fd: ADD
000059fe: PUSH2 0x5a07
00005a01: DUP3
00005a02: DUP10
00005a03: PUSH2 0x5468
00005a06: JUMP
00005a07: JUMPDEST
00005a08: PUSH2 0x5a14
00005a0b: PUSH1 0x20
00005a0d: DUP4
00005a0e: ADD
00005a0f: DUP9
00005a10: PUSH2 0x546c
00005a13: JUMP
00005a14: JUMPDEST
00005a15: PUSH2 0x5a21
00005a18: PUSH1 0x40
00005a1a: DUP4
00005a1b: ADD
00005a1c: DUP8
00005a1d: PUSH2 0x4871
00005a20: JUMP
00005a21: JUMPDEST
00005a22: PUSH2 0x5a2e
00005a25: PUSH1 0x60
00005a27: DUP4
00005a28: ADD
00005a29: DUP7
00005a2a: PUSH2 0x4871
00005a2d: JUMP
00005a2e: JUMPDEST
00005a2f: PUSH2 0x5a3b
00005a32: PUSH1 0x80
00005a34: DUP4
00005a35: ADD
00005a36: DUP6
00005a37: PUSH2 0x4871
00005a3a: JUMP
00005a3b: JUMPDEST
00005a3c: PUSH2 0x5a48
00005a3f: PUSH1 0xa0
00005a41: DUP4
00005a42: ADD
00005a43: DUP5
00005a44: PUSH2 0x4871
00005a47: JUMP
00005a48: JUMPDEST
00005a49: SWAP8
00005a4a: SWAP7
00005a4b: POP
00005a4c: POP
00005a4d: POP
00005a4e: POP
00005a4f: POP
00005a50: POP
00005a51: POP
00005a52: JUMP
00005a53: JUMPDEST
00005a54: PUSH1 0x40
00005a56: DUP2
00005a57: ADD
00005a58: PUSH2 0x5543
00005a5b: DUP3
00005a5c: DUP6
00005a5d: PUSH2 0x5468
00005a60: JUMP
00005a61: JUMPDEST
00005a62: PUSH1 0x60
00005a64: DUP2
00005a65: ADD
00005a66: PUSH2 0x5a6f
00005a69: DUP3
00005a6a: DUP7
00005a6b: PUSH2 0x5468
00005a6e: JUMP
00005a6f: JUMPDEST
00005a70: PUSH2 0x5a7c
00005a73: PUSH1 0x20
00005a75: DUP4
00005a76: ADD
00005a77: DUP6
00005a78: PUSH2 0x5475
00005a7b: JUMP
00005a7c: JUMPDEST
00005a7d: PUSH2 0x0bb4
00005a80: PUSH1 0x40
00005a82: DUP4
00005a83: ADD
00005a84: DUP5
00005a85: PUSH2 0x4871
00005a88: JUMP
00005a89: JUMPDEST
00005a8a: PUSH1 0x20
00005a8c: DUP2
00005a8d: ADD
00005a8e: PUSH2 0x0d92
00005a91: DUP3
00005a92: DUP5
00005a93: PUSH2 0x4871
00005a96: JUMP
00005a97: JUMPDEST
00005a98: PUSH1 0x40
00005a9a: DUP2
00005a9b: ADD
00005a9c: PUSH2 0x59a8
00005a9f: DUP3
00005aa0: DUP6
00005aa1: PUSH2 0x4871
00005aa4: JUMP
00005aa5: JUMPDEST
00005aa6: PUSH1 0x20
00005aa8: DUP2
00005aa9: ADD
00005aaa: PUSH2 0x0d92
00005aad: DUP3
00005aae: DUP5
00005aaf: PUSH2 0x5475
00005ab2: JUMP
00005ab3: JUMPDEST
00005ab4: PUSH1 0x40
00005ab6: MLOAD
00005ab7: DUP2
00005ab8: DUP2
00005ab9: ADD
00005aba: PUSH8 0xffffffffffffffff
00005ac3: DUP2
00005ac4: GT
00005ac5: DUP3
00005ac6: DUP3
00005ac7: LT
00005ac8: OR
00005ac9: ISZERO
00005aca: PUSH2 0x5ad2
00005acd: JUMPI
00005ace: PUSH1 0x00
00005ad0: DUP1
00005ad1: REVERT
00005ad2: JUMPDEST
00005ad3: PUSH1 0x40
00005ad5: MSTORE
00005ad6: SWAP2
00005ad7: SWAP1
00005ad8: POP
00005ad9: JUMP
00005ada: JUMPDEST
00005adb: PUSH1 0x00
00005add: PUSH8 0xffffffffffffffff
00005ae6: DUP3
00005ae7: GT
00005ae8: ISZERO
00005ae9: PUSH2 0x5af1
00005aec: JUMPI
00005aed: PUSH1 0x00
00005aef: DUP1
00005af0: REVERT
00005af1: JUMPDEST
00005af2: POP
00005af3: PUSH1 0x20
00005af5: SWAP1
00005af6: DUP2
00005af7: MUL
00005af8: ADD
00005af9: SWAP1
00005afa: JUMP
00005afb: JUMPDEST
00005afc: PUSH1 0x00
00005afe: PUSH8 0xffffffffffffffff
00005b07: DUP3
00005b08: GT
00005b09: ISZERO
00005b0a: PUSH2 0x5b12
00005b0d: JUMPI
00005b0e: PUSH1 0x00
00005b10: DUP1
00005b11: REVERT
00005b12: JUMPDEST
00005b13: POP
00005b14: PUSH1 0x20
00005b16: PUSH1 0x1f
00005b18: SWAP2
00005b19: SWAP1
00005b1a: SWAP2
00005b1b: ADD
00005b1c: PUSH1 0x1f
00005b1e: NOT
00005b1f: AND
00005b20: ADD
00005b21: SWAP1
00005b22: JUMP
00005b23: JUMPDEST
00005b24: PUSH1 0x20
00005b26: ADD
00005b27: SWAP1
00005b28: JUMP
00005b29: JUMPDEST
00005b2a: MLOAD
00005b2b: SWAP1
00005b2c: JUMP
00005b2d: JUMPDEST
00005b2e: SWAP1
00005b2f: DUP2
00005b30: MSTORE
00005b31: PUSH1 0x20
00005b33: ADD
00005b34: SWAP1
00005b35: JUMP
00005b36: JUMPDEST
00005b37: PUSH1 0x00
00005b39: PUSH2 0x0d92
00005b3c: DUP3
00005b3d: PUSH2 0x5b64
00005b40: JUMP
00005b41: JUMPDEST
00005b42: ISZERO
00005b43: ISZERO
00005b44: SWAP1
00005b45: JUMP
00005b46: JUMPDEST
00005b47: SWAP1
00005b48: JUMP
00005b49: JUMPDEST
00005b4a: DUP1
00005b4b: PUSH2 0x0a58
00005b4e: DUP2
00005b4f: PUSH2 0x5be9
00005b52: JUMP
00005b53: JUMPDEST
00005b54: DUP1
00005b55: PUSH2 0x0a58
00005b58: DUP2
00005b59: PUSH2 0x5bf3
00005b5c: JUMP
00005b5d: JUMPDEST
00005b5e: PUSH2 0xffff
00005b61: AND
00005b62: SWAP1
00005b63: JUMP
00005b64: JUMPDEST
00005b65: PUSH1 0x01
00005b67: PUSH1 0x01
00005b69: PUSH1 0xa0
00005b6b: SHL
00005b6c: SUB
00005b6d: AND
00005b6e: SWAP1
00005b6f: JUMP
00005b70: JUMPDEST
00005b71: PUSH4 0xffffffff
00005b76: AND
00005b77: SWAP1
00005b78: JUMP
00005b79: JUMPDEST
00005b7a: PUSH1 0xff
00005b7c: AND
00005b7d: SWAP1
00005b7e: JUMP
00005b7f: JUMPDEST
00005b80: PUSH1 0x00
00005b82: PUSH2 0x0d92
00005b85: DUP3
00005b86: JUMPDEST
00005b87: PUSH1 0x00
00005b89: PUSH2 0x0d92
00005b8c: DUP3
00005b8d: PUSH2 0x5b36
00005b90: JUMP
00005b91: JUMPDEST
00005b92: PUSH1 0x00
00005b94: PUSH2 0x0d92
00005b97: DUP3
00005b98: PUSH2 0x5b49
00005b9b: JUMP
00005b9c: JUMPDEST
00005b9d: PUSH1 0x00
00005b9f: PUSH2 0x0d92
00005ba2: DUP3
00005ba3: PUSH2 0x5b53
00005ba6: JUMP
00005ba7: JUMPDEST
00005ba8: DUP3
00005ba9: DUP2
00005baa: DUP4
00005bab: CALLDATACOPY
00005bac: POP
00005bad: PUSH1 0x00
00005baf: SWAP2
00005bb0: ADD
00005bb1: MSTORE
00005bb2: JUMP
00005bb3: JUMPDEST
00005bb4: PUSH1 0x00
00005bb6: JUMPDEST
00005bb7: DUP4
00005bb8: DUP2
00005bb9: LT
00005bba: ISZERO
00005bbb: PUSH2 0x5bce
00005bbe: JUMPI
00005bbf: DUP2
00005bc0: DUP2
00005bc1: ADD
00005bc2: MLOAD
00005bc3: DUP4
00005bc4: DUP3
00005bc5: ADD
00005bc6: MSTORE
00005bc7: PUSH1 0x20
00005bc9: ADD
00005bca: PUSH2 0x5bb6
00005bcd: JUMP
00005bce: JUMPDEST
00005bcf: DUP4
00005bd0: DUP2
00005bd1: GT
00005bd2: ISZERO
00005bd3: PUSH2 0x2bd2
00005bd6: JUMPI
00005bd7: POP
00005bd8: POP
00005bd9: PUSH1 0x00
00005bdb: SWAP2
00005bdc: ADD
00005bdd: MSTORE
00005bde: JUMP
00005bdf: JUMPDEST
00005be0: PUSH1 0x1f
00005be2: ADD
00005be3: PUSH1 0x1f
00005be5: NOT
00005be6: AND
00005be7: SWAP1
00005be8: JUMP
00005be9: JUMPDEST
00005bea: PUSH1 0x07
00005bec: DUP2
00005bed: LT
00005bee: PUSH2 0x0945
00005bf1: JUMPI
00005bf2: INVALID
00005bf3: JUMPDEST
00005bf4: PUSH1 0x02
00005bf6: DUP2
00005bf7: LT
00005bf8: PUSH2 0x0945
00005bfb: JUMPI
00005bfc: INVALID
00005bfd: JUMPDEST
00005bfe: PUSH2 0x5c06
00005c01: DUP2
00005c02: PUSH2 0x5b36
00005c05: JUMP
00005c06: JUMPDEST
00005c07: DUP2
00005c08: EQ
00005c09: PUSH2 0x0945
00005c0c: JUMPI
00005c0d: PUSH1 0x00
00005c0f: DUP1
00005c10: REVERT
00005c11: JUMPDEST
00005c12: PUSH2 0x5c06
00005c15: DUP2
00005c16: PUSH2 0x5b41
00005c19: JUMP
00005c1a: JUMPDEST
00005c1b: PUSH2 0x5c06
00005c1e: DUP2
00005c1f: PUSH2 0x5b46
00005c22: JUMP
00005c23: JUMPDEST
00005c24: PUSH1 0x07
00005c26: DUP2
00005c27: LT
00005c28: PUSH2 0x0945
00005c2b: JUMPI
00005c2c: PUSH1 0x00
00005c2e: DUP1
00005c2f: REVERT
00005c30: JUMPDEST
00005c31: PUSH2 0x5c06
00005c34: DUP2
00005c35: PUSH2 0x5b5d
00005c38: JUMP
00005c39: JUMPDEST
00005c3a: PUSH2 0x5c06
00005c3d: DUP2
00005c3e: PUSH2 0x5b70
00005c41: JUMP
00005c42: JUMPDEST
00005c43: PUSH2 0x5c06
00005c46: DUP2
00005c47: PUSH2 0x5b79
00005c4a: JUMP
00005c4b: INVALID
00005c4c: LOG2
00005c4d: PUSH6 0x627a7a723058
00005c54: KECCAK256
00005c55: CODECOPY
00005c56: DUP12
00005c57: SWAP13
00005c58: UNKNOWN(0xC4)
00005c59: GASLIMIT
00005c5a: CALLDATALOAD
00005c5b: NOT
00005c5c: DIFFICULTY
00005c5d: DUP16
00005c5e: JUMPI
00005c5f: UNKNOWN(0x2A)
00005c60: DUP1
00005c61: SDIV
00005c62: EXP
00005c63: PUSH23 0xd547f927512a27d158ef90497e37907b1f6c6578706572
00005c7b: PUSH10

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical upgradeability detector Untrusted DELEGATECALL target reachable 70 no no
view
trace_id: 0x3126d1ccac44cd06a3ab2ad373802dcfc818a83136bafa158d26851472cb20b6
validation_json
{
    "sink": "DELEGATECALL",
    "errors": 0,
    "status": "unknown",
    "attempts": 192,
    "trace_id": "0x3126d1ccac44cd06a3ab2ad373802dcfc818a83136bafa158d26851472cb20b6",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": null,
    "matched_probe": null,
    "target_varies": null,
    "classification": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xddf1f0f4",
            "selector": "0xddf1f0f4",
            "calldata_variants": [
                "0xddf1f0f4",
                "0xddf1f0f40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe45c1879",
            "selector": "0xe45c1879",
            "calldata_variants": [
                "0xe45c1879",
                "0xe45c18790000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee684955",
            "selector": "0xee684955",
            "calldata_variants": [
                "0xee684955",
                "0xee6849550000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7888aec",
            "selector": "0xf7888aec",
            "calldata_variants": [
                "0xf7888aec",
                "0xf7888aec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa352c00",
            "selector": "0xfa352c00",
            "calldata_variants": [
                "0xfa352c00",
                "0xfa352c000000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa6fc9191",
            "selector": "0xa6fc9191",
            "calldata_variants": [
                "0xa6fc9191",
                "0xa6fc91910000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb31610db",
            "selector": "0xb31610db",
            "calldata_variants": [
                "0xb31610db",
                "0xb31610db0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 2894,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 3148,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        },
        {
            "pc": 3288,
            "opcode": "DELEGATECALL",
            "returndata_checked": null,
            "value_expression_category": "n/a",
            "target_expression_category": "computed"
        }
    ],
    "guards_detected": [],
    "delegatecall_count": 7,
    "untrusted_delegatecall_count": 7
}
high auth codex EIP712 domain omits chainId and verifying contract, enabling cross-contract order replay 85 no
view
evidence_json
{
    "evidence": "The EIP712 domain separator is computed only from the protocol name, with no chainId or contract address. Order hashes are derived from this domain and validated via `ecrecover`, so signatures are valid across any Hydro deployment.",
    "locations": [
        "contracts/Contract.sol:2862",
        "contracts/Contract.sol:2872",
        "contracts/Contract.sol:4831",
        "contracts/Contract.sol:4838",
        "contracts/Contract.sol:4264"
    ],
    "recommendation": "Include `chainId` and `verifyingContract` (and ideally a version) in the EIP712 domain separator and order hash, then invalidate/rotate any existing off-chain orders that were signed under the old domain.",
    "exploit_scenario": "1) Victim signs an order off-chain for a different Hydro deployment (or chain) where the domain is still just \"Hydro Protocol\". 2) Victim also has balances in this contract. 3) Attacker (the order\u2019s relayer or its approved delegate) calls `matchOrders` on this contract using the victim\u2019s signed order plus an attacker-controlled counter-order at a favorable price. 4) Because the order hash is derived from an EIP712 domain that lacks chainId/contract binding, `Signature.isValidSignature` accepts the replayed signature and the exchange settles, transferring victim assets to the attacker."
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x9523ce78ea0dbd8f7d18158b530e62ac779dcd4b51e5a3f3d2774db826a01f09
call_targets: 0x241e82c79452f51fbfc89fac6d912e021db1a3b7
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x9523ce78ea0dbd8f7d18158b530e62ac779dcd4b51e5a3f3d2774db826a01f09",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x241e82c79452f51fbfc89fac6d912e021db1a3b7"
    ],
    "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": "0xddf1f0f4",
            "selector": "0xddf1f0f4",
            "calldata_variants": [
                "0xddf1f0f4",
                "0xddf1f0f40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe45c1879",
            "selector": "0xe45c1879",
            "calldata_variants": [
                "0xe45c1879",
                "0xe45c18790000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee684955",
            "selector": "0xee684955",
            "calldata_variants": [
                "0xee684955",
                "0xee6849550000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7888aec",
            "selector": "0xf7888aec",
            "calldata_variants": [
                "0xf7888aec",
                "0xf7888aec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa352c00",
            "selector": "0xfa352c00",
            "calldata_variants": [
                "0xfa352c00",
                "0xfa352c000000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa6fc9191",
            "selector": "0xa6fc9191",
            "calldata_variants": [
                "0xa6fc9191",
                "0xa6fc91910000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb31610db",
            "selector": "0xb31610db",
            "calldata_variants": [
                "0xb31610db",
                "0xb31610db0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5551,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "constant"
        }
    ],
    "call_count": 1,
    "guards_detected": [],
    "untrusted_call_count": 1
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x9523ce78ea0dbd8f7d18158b530e62ac779dcd4b51e5a3f3d2774db826a01f09
call_targets: 0x241e82c79452f51fbfc89fac6d912e021db1a3b7
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x9523ce78ea0dbd8f7d18158b530e62ac779dcd4b51e5a3f3d2774db826a01f09",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0x241e82c79452f51fbfc89fac6d912e021db1a3b7"
    ],
    "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": "0xddf1f0f4",
            "selector": "0xddf1f0f4",
            "calldata_variants": [
                "0xddf1f0f4",
                "0xddf1f0f40000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe45c1879",
            "selector": "0xe45c1879",
            "calldata_variants": [
                "0xe45c1879",
                "0xe45c18790000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xee684955",
            "selector": "0xee684955",
            "calldata_variants": [
                "0xee684955",
                "0xee6849550000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf2fde38b",
            "selector": "0xf2fde38b",
            "calldata_variants": [
                "0xf2fde38b",
                "0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf7888aec",
            "selector": "0xf7888aec",
            "calldata_variants": [
                "0xf7888aec",
                "0xf7888aec0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfa352c00",
            "selector": "0xfa352c00",
            "calldata_variants": [
                "0xfa352c00",
                "0xfa352c000000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xa6fc9191",
            "selector": "0xa6fc9191",
            "calldata_variants": [
                "0xa6fc9191",
                "0xa6fc91910000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb31610db",
            "selector": "0xb31610db",
            "calldata_variants": [
                "0xb31610db",
                "0xb31610db0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 5551,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "constant"
        }
    ],
    "eth_value_calls": 1,
    "guards_detected": []
}
medium upgradeability cast DELEGATECALL present 80 no
view
evidence_json
{
    "notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
    "delegatecall_count": 7
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 12
}