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

Analysis Run

3c0a61cc-d6d4-400c-9d03-c6477aef3dd7

complete
Chain ID
1
Address
Block Number
Created
Thu, Jan 1, 2026 2:33 PM
Review Summary

What survived the funnel

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

Confirmed
0
Validated
0
Source
Verified
Review Backing
Present
Best current signal
Balance overwrite in `trade()` enables margin inflation and token drain
crit 0 high 0 proxy context implementation known
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
31041 report.consolidate complete 1 / 1 3 months ago
76060 artifact.fetch complete 1 / 3 1 week ago
76061 tool.cast_disasm complete 1 / 3 1 week ago
76062 analysis.bundle complete 1 / 3 1 week ago
76063 capability.graph complete 1 / 3 1 week ago
76064 detector.run complete 1 / 3 1 week ago
76065 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: yes
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
Batch trades can mint unbacked margin because P1Trade never updates the in-memory balances it later verifies.
View stderr
[codex:450907] OpenAI Codex v0.77.0 (research preview)
[codex:450907] --------
[codex:450907] workdir: /tmp/codex-multi-kewjpkfk
[codex:450907] model: gpt-5.2-codex
[codex:450907] provider: openai
[codex:450907] approval: never
[codex:450907] sandbox: read-only
[codex:450907] reasoning effort: xhigh
[codex:450907] reasoning summaries: auto
[codex:450907] session id: 019b79f5-9de4-7313-a70c-ea0b960df776
[codex:450907] --------
[codex:450907] user
[codex:450907] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:450907] 
[codex:450907] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:450907] 
[codex:450907] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:450907] - Gas inefficiency, code quality, naming, or best practices
[codex:450907] - Theoretical vulnerabilities without a clear extraction path
[codex:450907] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:450907] - Front-running unless it enables theft beyond MEV
[codex:450907] - DoS, griefing, or issues that don't result in attacker profit
[codex:450907] - Missing events, view function issues, or informational findings
[codex:450907] 
[codex:450907] HIGH-VALUE PATTERNS TO HUNT:
[codex:450907] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:450907] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:450907] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:450907] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:450907] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:450907] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:450907] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:450907] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:450907] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:450907] 
[codex:450907] For each finding, you MUST provide:
[codex:450907] 1. Exact file and line numbers of vulnerable code
[codex:450907] 2. Step-by-step exploit transaction sequence
[codex:450907] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:450907] 
[codex:450907] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:450907] 
[codex:450907] Output MUST be valid JSON matching the provided schema.
[codex:450907] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:450907] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:450907] mcp startup: no servers
[codex:450907] 
[codex:450907] thinking
[codex:450907] **Preparing to read AUDIT_BUNDLE.txt**
[codex:450907] exec
[codex:450907] /bin/bash -lc ls in /tmp/codex-multi-kewjpkfk succeeded in 5ms:
[codex:450907] AUDIT_BUNDLE.txt
[codex:450907] codex-output-schema.json
[codex:450907] contracts
[codex:450907] exec
[codex:450907] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kewjpkfk succeeded in 6ms:
[codex:450907] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:450907] 
[codex:450907] ================================================================================
[codex:450907] FILE: contracts/Contract.sol
[codex:450907] ================================================================================
[codex:450907] /*
[codex:450907] 
[codex:450907]     Copyright 2020 dYdX Trading Inc.
[codex:450907] 
[codex:450907]     Licensed under the Apache License, Version 2.0 (the "License");
[codex:450907]     you may not use this file except in compliance with the License.
[codex:450907]     You may obtain a copy of the License at
[codex:450907] 
[codex:450907]     http://www.apache.org/licenses/LICENSE-2.0
[codex:450907] 
[codex:450907]     Unless required by applicable law or agreed to in writing, software
[codex:450907]     distributed under the License is distributed on an "AS IS" BASIS,
[codex:450907]     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:450907]     See the License for the specific language governing permissions and
[codex:450907]     limitations under the License.
[codex:450907] 
[codex:450907] thinking
[codex:450907] **Continuing to read long AUDIT_BUNDLE file**
[codex:450907] exec
[codex:450907] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kewjpkfk succeeded in 6ms:
[codex:450907]      * invalid opcode to revert (consuming all remaining gas).
[codex:450907]      *
[codex:450907]      * Requirements:
[codex:450907]      * - The divisor cannot be zero.
[codex:450907]      */
[codex:450907]     function mod(uint256 a, uint256 b) internal pure returns (uint256) {
[codex:450907]         return mod(a, b, "SafeMath: modulo by zero");
[codex:450907]     }
[codex:450907] 
[codex:450907]     /**
[codex:450907]      * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
[codex:450907]      * Reverts with custom message when dividing by zero.
[codex:450907]      *
[codex:450907]      * Counterpart to Solidity's `%` operator. This function uses a `revert`
[codex:450907]      * opcode (which leaves remaining gas untouched) while Solidity uses an
[codex:450907]      * invalid opcode to revert (consuming all remaining gas).
[codex:450907]      *
[codex:450907]      * Requirements:
[codex:450907]      * - The divisor cannot be zero.
[codex:450907]      *
[codex:450907] exec
[codex:450907] /bin/bash -lc "sed -n '400,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kewjpkfk succeeded in 5ms:
[codex:450907]         // safeApprove should only be called when setting an initial allowance,
[codex:450907]         // or when resetting it to zero. To increase and decrease it, use
[codex:450907]         // 'safeIncreaseAllowance' and 'safeDecreaseAllowance'
[codex:450907]         // solhint-disable-next-line max-line-length
[codex:450907]         require((value == 0) || (token.allowance(address(this), spender) == 0),
[codex:450907]             "SafeERC20: approve from non-zero to non-zero allowance"
[codex:450907]         );
[codex:450907]         callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
[codex:450907]     }
[codex:450907] 
[codex:450907]     function safeIncreaseAllowance(IERC20 token, address spender, uint256 value) internal {
[codex:450907]         uint256 newAllowance = token.allowance(address(this), spender).add(value);
[codex:450907]         callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
[codex:450907]     }
[codex:450907] 
[codex:450907]     function safeDecreaseAllowance(IERC20 token, address spender, uint256 value) internal {
[codex:450907]         uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero");
[codex:450907]         callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
[codex:450907]     }
[codex:450907] 
[codex:450907] 
[codex:450907] thinking
[codex:450907] **Continuing to read large file**
[codex:450907] exec
[codex:450907] /bin/bash -lc "sed -n '800,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kewjpkfk succeeded in 6ms:
[codex:450907]                 value: value.add(sint.value),
[codex:450907]                 isPositive: false
[codex:450907]             });
[codex:450907]         }
[codex:450907]         if (sint.value > value) {
[codex:450907]             return Int({
[codex:450907]                 value: sint.value.sub(value),
[codex:450907]                 isPositive: true
[codex:450907]             });
[codex:450907]         }
[codex:450907]         return Int({
[codex:450907]             value: value.sub(sint.value),
[codex:450907]             isPositive: false
[codex:450907]         });
[codex:450907]     }
[codex:450907] 
[codex:450907]     /**
[codex:450907]      * @dev Returns a new signed integer equal to a signed integer plus another signed integer.
[codex:450907]      */
[codex:450907]     function signedAdd(
[codex:450907] 
[codex:450907] thinking
[codex:450907] **Continuing process**
[codex:450907] exec
[codex:450907] /bin/bash -lc "sed -n '1200,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kewjpkfk succeeded in 5ms:
[codex:450907] 
[codex:450907] // File: contracts/protocol/v1/impl/P1Settlement.sol
[codex:450907] 
[codex:450907] /**
[codex:450907]  * @title P1Settlement
[codex:450907]  * @author dYdX
[codex:450907]  *
[codex:450907]  * @notice Contract containing logic for settling funding payments between accounts.
[codex:450907]  */
[codex:450907] contract P1Settlement is
[codex:450907]     P1Storage
[codex:450907] {
[codex:450907]     using BaseMath for uint256;
[codex:450907]     using SafeCast for uint256;
[codex:450907]     using SafeMath for uint256;
[codex:450907]     using P1BalanceMath for P1Types.Balance;
[codex:450907]     using P1IndexMath for P1Types.Index;
[codex:450907]     using SignedMath for SignedMath.Int;
[codex:450907] 
[codex:450907]     // ============ Events ============
[codex:450907] exec
[codex:450907] /bin/bash -lc "sed -n '1600,2000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kewjpkfk succeeded in 6ms:
[codex:450907] contract P1Admin is
[codex:450907]     P1Storage,
[codex:450907]     P1FinalSettlement
[codex:450907] {
[codex:450907]     // ============ Events ============
[codex:450907] 
[codex:450907]     event LogSetGlobalOperator(
[codex:450907]         address operator,
[codex:450907]         bool approved
[codex:450907]     );
[codex:450907] 
[codex:450907]     event LogSetOracle(
[codex:450907]         address oracle
[codex:450907]     );
[codex:450907] 
[codex:450907]     event LogSetFunder(
[codex:450907]         address funder
[codex:450907]     );
[codex:450907] 
[codex:450907]     event LogSetMinCollateral(
[codex:450907] exec
[codex:450907] /bin/bash -lc "sed -n '2000,2400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kewjpkfk succeeded in 6ms:
[codex:450907]         P1Types.Balance memory balance = _settleAccount(context, account);
[codex:450907] 
[codex:450907]         SafeERC20.safeTransferFrom(
[codex:450907]             IERC20(_TOKEN_),
[codex:450907]             msg.sender,
[codex:450907]             address(this),
[codex:450907]             amount
[codex:450907]         );
[codex:450907] 
[codex:450907]         balance.addToMargin(amount);
[codex:450907]         _BALANCES_[account] = balance;
[codex:450907] 
[codex:450907]         emit LogDeposit(
[codex:450907]             account,
[codex:450907]             amount,
[codex:450907]             balance.toBytes32()
[codex:450907]         );
[codex:450907]     }
[codex:450907] 
[codex:450907]     /**
[codex:450907] exec
[codex:450907] /bin/bash -lc "sed -n '2400,2800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-kewjpkfk succeeded in 5ms:
[codex:450907]         P1Types.Balance[] memory initialBalances,
[codex:450907]         P1Types.Balance[] memory currentBalances
[codex:450907]     )
[codex:450907]         private
[codex:450907]         pure
[codex:450907]     {
[codex:450907]         for (uint256 i = 0; i < accounts.length; i++) {
[codex:450907]             P1Types.Balance memory currentBalance = currentBalances[i];
[codex:450907]             (uint256 currentPos, uint256 currentNeg) =
[codex:450907]                 currentBalance.getPositiveAndNegativeValue(context.price);
[codex:450907] 
[codex:450907]             // See P1Settlement._isCollateralized().
[codex:450907]             bool isCollateralized =
[codex:450907]                 currentPos.mul(BaseMath.base()) >= currentNeg.mul(context.minCollateral);
[codex:450907] 
[codex:450907]             if (isCollateralized) {
[codex:450907]                 continue;
[codex:450907]             }
[codex:450907] 
[codex:450907]             address account = accounts[i];
[codex:450907] 
[codex:450907] 
[codex:450907] 
[codex:450907] thinking
[codex:450907] **Analyzing contract for vulnerabilities**
[codex:450907] 
[codex:450907] I'm carefully examining the contract for potential exploits like reentrancy, access control issues, and arithmetic errors. I find a critical bug where the trade function modifies local balances without updating the memory array used for final verification, allowing collateral checks to be bypassed. This could let trades put accounts into unsafe states undetected, but profit exploitation depends on the trader contracts and admin-set global operators. Other parts like withdraw transfer-before-update are protected by nonReentrant guards, and access controls seem mostly sound. Overall, the biggest concern is the collateral verification bypass during trading due to failure to update currentBalances properly.
[codex:450907] thinking
[codex:450907] **Examining trade logic and collateral checks**
[codex:450907] 
[codex:450907] I'm exploring how the contract handles trade updates and collateral verification, especially focusing on a bug where updated balances aren’t written back to the memory array used for final collateral checks. This causes checks to compare against stale balances, potentially allowing undercollateralized trades to pass unnoticed. The implications depend heavily on external global operator contracts since permission enforcement mainly resides there. Still, the broken verification here opens scenarios where margin can be shifted improperly between accounts, risking unintended margin states and possible unauthorized withdrawals if combined with a permissive trader contract.
[codex:450907] thinking
[codex:450907] **Identifying margin inflation via multi-trade overwrite**
[codex:450907] 
[codex:450907] I'm uncovering how the trade function’s failure to update in-memory balances properly lets multiple trades in one call overwrite prior storage updates, enabling an attacker controlling multiple accounts to inflate margin artificially. By crafting trades so a victim’s balance is reset after an earlier transfer to the attacker, margin can be minted out of thin air and withdrawn, revealing a concrete profit exploit path linked to this accounting bug.
[codex:450907] exec
[codex:450907] /bin/bash -lc "rg -n \"function trade\\(\" -n contracts/Contract.sol" in /tmp/codex-multi-kewjpkfk succeeded in 6ms:
[codex:450907] 2210:    function trade(
[codex:450907] 2270:    function trade(
[codex:450907] 
[codex:450907] thinking
[codex:450907] **Investigating trade function definitions**
[codex:450907] exec
[codex:450907] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '2230,2350p'" in /tmp/codex-multi-kewjpkfk succeeded in 8ms:
[codex:450907]   2230	 *  I_P1Trader interface and approved as global operators on the PerpetualV1 contract.
[codex:450907]   2231	 */
[codex:450907]   2232	contract P1Trade is
[codex:450907]   2233	    P1FinalSettlement
[codex:450907]   2234	{
[codex:450907]   2235	    using SafeMath for uint120;
[codex:450907]   2236	    using P1BalanceMath for P1Types.Balance;
[codex:450907]   2237	
[codex:450907]   2238	    // ============ Structs ============
[codex:450907]   2239	
[codex:450907]   2240	    struct TradeArg {
[codex:450907]   2241	        uint256 takerIndex;
[codex:450907]   2242	        uint256 makerIndex;
[codex:450907]   2243	        address trader;
[codex:450907]   2244	        bytes data;
[codex:450907]   2245	    }
[codex:450907]   2246	
[codex:450907]   2247	    // ============ Events ============
[codex:450907]   2248	
[codex:450907]   2249	    event LogTrade(
[codex:450907] exec
[codex:450907] /bin/bash -lc "nl -ba contracts/Contract.sol | sed -n '2350,2435p'" in /tmp/codex-multi-kewjpkfk succeeded in 6ms:
[codex:450907]   2350	            initialBalances,
[codex:450907]   2351	            currentBalances
[codex:450907]   2352	        );
[codex:450907]   2353	    }
[codex:450907]   2354	
[codex:450907]   2355	    /**
[codex:450907]   2356	     * @dev Verify that `accounts` contains at least one address and that the contents are unique.
[codex:450907]   2357	     *  We verify uniqueness by requiring that the array is sorted.
[codex:450907]   2358	     */
[codex:450907]   2359	    function _verifyAccounts(
[codex:450907]   2360	        address[] memory accounts
[codex:450907]   2361	    )
[codex:450907]   2362	        private
[codex:450907]   2363	        pure
[codex:450907]   2364	    {
[codex:450907]   2365	        require(
[codex:450907]   2366	            accounts.length > 0,
[codex:450907]   2367	            "Accounts must have non-zero length"
[codex:450907]   2368	        );
[codex:450907]   2369	
[codex:450907] 
[codex:450907] 
[codex:450907] thinking
[codex:450907] **Detailing margin inflation exploit**
[codex:450907] thinking
[codex:450907] ```json
[codex:450907] {
[codex:450907]   "no_findings": false,
[codex:450907]   "summary": "Batch trades can mint unbacked margin because P1Trade never updates the in-memory balances it later verifies.",
[codex:450907]   "findings": [
[codex:450907]     {
[codex:450907]       "severity": "critical",
[codex:450907]       "category": "math",
[codex:450907]       "title": "Balance overwrite in `trade()` enables margin inflation and token drain",
[codex:450907]       "exploit_scenario": "1) Use any whitelisted global-operator trader contract `T` and call `trade()` with `accounts` sorted, including attacker A, dummy D, and victim/attacker-controlled V. 2) `trades[0]`: maker=V, taker=A, `marginAmount=X`, `positionAmount=0`, `isBuy=false`; storage credits A +X and debits V -X. 3) `trades[1]`: maker=V, taker=D, `marginAmount=0` (or tiny), `positionAmount=0`; because `currentBalances` was never updated, V’s balance is recomputed from the initial state, overwriting the -X loss. 4) After the call, A keeps +X margin while V is restored, inflating total margin. 5) A withdraws X `_TOKEN_` via `withdraw()`, draining contract liquidity. Repeat to drain remaining balance. Profit potential: up to the full `_TOKEN_` balance held by the contract (all deposits/liquidity).",
[codex:450907]       "recommendation": "After modifying `makerBalance` and `takerBalance`, write them back to `currentBalances` and base all subsequent trades and final checks on the updated array. Alternatively, accumulate changes in `currentBalances` and update storage once after all trades complete.",
[codex:450907]       "evidence": "In `P1Trade.trade`, balances are loaded from `currentBalances` and mutated locally (lines 2316-2329), then written directly to storage (lines 2331-2333) without updating `currentBalances`; however, `_verifyAccountsFinalBalances` later uses `currentBalances` (lines 2347-2351). This causes trades and final verification to operate on stale balances, enabling balance overwrite and margin inflation.",
[codex:450907]       "locations": [
[codex:450907]         "contracts/Contract.sol:2316",
[codex:450907]         "contracts/Contract.sol:2331",
[codex:450907]         "contracts/Contract.sol:2347"
[codex:450907]       ]
[codex:450907]     }
[codex:450907]   ]
[codex:450907] }
[codex:450907] ```
[codex:450907] codex
[codex:450907] {"no_findings":false,"summary":"Batch trades can mint unbacked margin because P1Trade never updates the in-memory balances it later verifies.","findings":[{"severity":"critical","category":"math","title":"Balance overwrite in `trade()` enables margin inflation and token drain","exploit_scenario":"1) Use any whitelisted global-operator trader contract `T` and call `trade()` with `accounts` sorted, including attacker A, dummy D, and victim/attacker-controlled V. 2) `trades[0]`: maker=V, taker=A, `marginAmount=X`, `positionAmount=0`, `isBuy=false`; storage credits A +X and debits V -X. 3) `trades[1]`: maker=V, taker=D, `marginAmount=0` (or tiny), `positionAmount=0`; because `currentBalances` was never updated, V’s balance is recomputed from the initial state, overwriting the -X loss. 4) After the call, A keeps +X margin while V is restored, inflating total margin. 5) A withdraws X `_TOKEN_` via `withdraw()`, draining contract liquidity. Profit potential: up to the full `_TOKEN_` balance held by the contract (all deposits/liquidity).","recommendation":"After modifying `makerBalance`/`takerBalance`, write them back to `currentBalances` and base all subsequent trades and final checks on the updated array. Alternatively, accumulate changes in `currentBalances` and only write to storage once after all trades.","evidence":"In `P1Trade.trade`, balances are loaded from `currentBalances` and mutated locally (2316-2329), then written straight to storage (2331-2333) without updating `currentBalances`, yet `_verifyAccountsFinalBalances` uses `currentBalances` later (2347-2351). This causes each trade (and the final verification) to use stale initial balances, enabling balance overwrites and margin inflation.","locations":["contracts/Contract.sol:2316","contracts/Contract.sol:2331","contracts/Contract.sol:2347"]}]}
[codex:450907] tokens used
[codex:450907] 44,432
[codex:450907] {"no_findings":false,"summary":"Batch trades can mint unbacked margin because P1Trade never updates the in-memory balances it later verifies.","findings":[{"severity":"critical","category":"math","title":"Balance overwrite in `trade()` enables margin inflation and token drain","exploit_scenario":"1) Use any whitelisted global-operator trader contract `T` and call `trade()` with `accounts` sorted, including attacker A, dummy D, and victim/attacker-controlled V. 2) `trades[0]`: maker=V, taker=A, `marginAmount=X`, `positionAmount=0`, `isBuy=false`; storage credits A +X and debits V -X. 3) `trades[1]`: maker=V, taker=D, `marginAmount=0` (or tiny), `positionAmount=0`; because `currentBalances` was never updated, V’s balance is recomputed from the initial state, overwriting the -X loss. 4) After the call, A keeps +X margin while V is restored, inflating total margin. 5) A withdraws X `_TOKEN_` via `withdraw()`, draining contract liquidity. Profit potential: up to the full `_TOKEN_` balance held by the contract (all deposits/liquidity).","recommendation":"After modifying `makerBalance`/`takerBalance`, write them back to `currentBalances` and base all subsequent trades and final checks on the updated array. Alternatively, accumulate changes in `currentBalances` and only write to storage once after all trades.","evidence":"In `P1Trade.trade`, balances are loaded from `currentBalances` and mutated locally (2316-2329), then written straight to storage (2331-2333) without updating `currentBalances`, yet `_verifyAccountsFinalBalances` uses `currentBalances` later (2347-2351). This causes each trade (and the final verification) to use stale initial balances, enabling balance overwrites and margin inflation.","locations":["contracts/Contract.sol:2316","contracts/Contract.sol:2331","contracts/Contract.sol:2347"]}]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-01T14:33:31.750508+00:00",
        "returncode": 0
    },
    "summary": "Batch trades can mint unbacked margin because P1Trade never updates the in-memory balances it later verifies.",
    "raw_final": {
        "summary": "Batch trades can mint unbacked margin because P1Trade never updates the in-memory balances it later verifies.",
        "findings": [
            {
                "title": "Balance overwrite in `trade()` enables margin inflation and token drain",
                "category": "math",
                "evidence": "In `P1Trade.trade`, balances are loaded from `currentBalances` and mutated locally (2316-2329), then written straight to storage (2331-2333) without updating `currentBalances`, yet `_verifyAccountsFinalBalances` uses `currentBalances` later (2347-2351). This causes each trade (and the final verification) to use stale initial balances, enabling balance overwrites and margin inflation.",
                "severity": "critical",
                "locations": [
                    "contracts/Contract.sol:2316",
                    "contracts/Contract.sol:2331",
                    "contracts/Contract.sol:2347"
                ],
                "recommendation": "After modifying `makerBalance`/`takerBalance`, write them back to `currentBalances` and base all subsequent trades and final checks on the updated array. Alternatively, accumulate changes in `currentBalances` and only write to storage once after all trades.",
                "exploit_scenario": "1) Use any whitelisted global-operator trader contract `T` and call `trade()` with `accounts` sorted, including attacker A, dummy D, and victim/attacker-controlled V. 2) `trades[0]`: maker=V, taker=A, `marginAmount=X`, `positionAmount=0`, `isBuy=false`; storage credits A +X and debits V -X. 3) `trades[1]`: maker=V, taker=D, `marginAmount=0` (or tiny), `positionAmount=0`; because `currentBalances` was never updated, V\u2019s balance is recomputed from the initial state, overwriting the -X loss. 4) After the call, A keeps +X margin while V is restored, inflating total margin. 5) A withdraws X `_TOKEN_` via `withdraw()`, draining contract liquidity. Profit potential: up to the full `_TOKEN_` balance held by the contract (all deposits/liquidity)."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
9
EXT*/BALANCE
9
Total opcodes
9682
Flags
heavy_ext_balance_usage
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: CALLVALUE
00000006: DUP1
00000007: ISZERO
00000008: PUSH2 0x0010
0000000b: JUMPI
0000000c: PUSH1 0x00
0000000e: DUP1
0000000f: REVERT
00000010: JUMPDEST
00000011: POP
00000012: PUSH1 0x04
00000014: CALLDATASIZE
00000015: LT
00000016: PUSH2 0x0198
00000019: JUMPI
0000001a: PUSH1 0x00
0000001c: CALLDATALOAD
0000001d: PUSH1 0xe0
0000001f: SHR
00000020: DUP1
00000021: PUSH4 0x80d63681
00000026: GT
00000027: PUSH2 0x00e3
0000002a: JUMPI
0000002b: DUP1
0000002c: PUSH4 0xb4959e72
00000031: GT
00000032: PUSH2 0x008c
00000035: JUMPI
00000036: DUP1
00000037: PUSH4 0xe3bbb565
0000003c: GT
0000003d: PUSH2 0x0066
00000040: JUMPI
00000041: DUP1
00000042: PUSH4 0xe3bbb565
00000047: EQ
00000048: PUSH2 0x032b
0000004b: JUMPI
0000004c: DUP1
0000004d: PUSH4 0xe830b690
00000052: EQ
00000053: PUSH2 0x0333
00000056: JUMPI
00000057: DUP1
00000058: PUSH4 0xf40c3699
0000005d: EQ
0000005e: PUSH2 0x033b
00000061: JUMPI
00000062: PUSH2 0x0198
00000065: JUMP
00000066: JUMPDEST
00000067: DUP1
00000068: PUSH4 0xb4959e72
0000006d: EQ
0000006e: PUSH2 0x02fd
00000071: JUMPI
00000072: DUP1
00000073: PUSH4 0xd9caed12
00000078: EQ
00000079: PUSH2 0x0310
0000007c: JUMPI
0000007d: DUP1
0000007e: PUSH4 0xdc4f3a0e
00000083: EQ
00000084: PUSH2 0x0323
00000087: JUMPI
00000088: PUSH2 0x0198
0000008b: JUMP
0000008c: JUMPDEST
0000008d: DUP1
0000008e: PUSH4 0x93423e9c
00000093: GT
00000094: PUSH2 0x00bd
00000097: JUMPI
00000098: DUP1
00000099: PUSH4 0x93423e9c
0000009e: EQ
0000009f: PUSH2 0x02b7
000000a2: JUMPI
000000a3: DUP1
000000a4: PUSH4 0x9ba63e9e
000000a9: EQ
000000aa: PUSH2 0x02d7
000000ad: JUMPI
000000ae: DUP1
000000af: PUSH4 0xa895155b
000000b4: EQ
000000b5: PUSH2 0x02ea
000000b8: JUMPI
000000b9: PUSH2 0x0198
000000bc: JUMP
000000bd: JUMPDEST
000000be: DUP1
000000bf: PUSH4 0x80d63681
000000c4: EQ
000000c5: PUSH2 0x027c
000000c8: JUMPI
000000c9: DUP1
000000ca: PUSH4 0x846321a4
000000cf: EQ
000000d0: PUSH2 0x0291
000000d3: JUMPI
000000d4: DUP1
000000d5: PUSH4 0x84ea2862
000000da: EQ
000000db: PUSH2 0x02a4
000000de: JUMPI
000000df: PUSH2 0x0198
000000e2: JUMP
000000e3: JUMPDEST
000000e4: DUP1
000000e5: PUSH4 0x47e7ef24
000000ea: GT
000000eb: PUSH2 0x0145
000000ee: JUMPI
000000ef: DUP1
000000f0: PUSH4 0x7099366b
000000f5: GT
000000f6: PUSH2 0x011f
000000f9: JUMPI
000000fa: DUP1
000000fb: PUSH4 0x7099366b
00000100: EQ
00000101: PUSH2 0x024c
00000104: JUMPI
00000105: DUP1
00000106: PUSH4 0x796da7af
0000010b: EQ
0000010c: PUSH2 0x0254
0000010f: JUMPI
00000110: DUP1
00000111: PUSH4 0x7adbf973
00000116: EQ
00000117: PUSH2 0x0269
0000011a: JUMPI
0000011b: PUSH2 0x0198
0000011e: JUMP
0000011f: JUMPDEST
00000120: DUP1
00000121: PUSH4 0x47e7ef24
00000126: EQ
00000127: PUSH2 0x021e
0000012a: JUMPI
0000012b: DUP1
0000012c: PUSH4 0x68eec3f6
00000131: EQ
00000132: PUSH2 0x0231
00000135: JUMPI
00000136: DUP1
00000137: PUSH4 0x6e9960c3
0000013c: EQ
0000013d: PUSH2 0x0244
00000140: JUMPI
00000141: PUSH2 0x0198
00000144: JUMP
00000145: JUMPDEST
00000146: DUP1
00000147: PUSH4 0x28b7bede
0000014c: GT
0000014d: PUSH2 0x0176
00000150: JUMPI
00000151: DUP1
00000152: PUSH4 0x28b7bede
00000157: EQ
00000158: PUSH2 0x01e3
0000015b: JUMPI
0000015c: DUP1
0000015d: PUSH4 0x3a031bf0
00000162: EQ
00000163: PUSH2 0x01f8
00000166: JUMPI
00000167: DUP1
00000168: PUSH4 0x46d256c5
0000016d: EQ
0000016e: PUSH2 0x020b
00000171: JUMPI
00000172: PUSH2 0x0198
00000175: JUMP
00000176: JUMPDEST
00000177: DUP1
00000178: PUSH4 0x052f72d7
0000017d: EQ
0000017e: PUSH2 0x019d
00000181: JUMPI
00000182: DUP1
00000183: PUSH4 0x0acc8cd1
00000188: EQ
00000189: PUSH2 0x01c6
0000018c: JUMPI
0000018d: DUP1
0000018e: PUSH4 0x142c69b3
00000193: EQ
00000194: PUSH2 0x01db
00000197: JUMPI
00000198: JUMPDEST
00000199: PUSH1 0x00
0000019b: DUP1
0000019c: REVERT
0000019d: JUMPDEST
0000019e: PUSH2 0x01b0
000001a1: PUSH2 0x01ab
000001a4: CALLDATASIZE
000001a5: PUSH1 0x04
000001a7: PUSH2 0x34f5
000001aa: JUMP
000001ab: JUMPDEST
000001ac: PUSH2 0x034e
000001af: JUMP
000001b0: JUMPDEST
000001b1: PUSH1 0x40
000001b3: MLOAD
000001b4: PUSH2 0x01bd
000001b7: SWAP2
000001b8: SWAP1
000001b9: PUSH2 0x41d5
000001bc: JUMP
000001bd: JUMPDEST
000001be: PUSH1 0x40
000001c0: MLOAD
000001c1: DUP1
000001c2: SWAP2
000001c3: SUB
000001c4: SWAP1
000001c5: RETURN
000001c6: JUMPDEST
000001c7: PUSH2 0x01d9
000001ca: PUSH2 0x01d4
000001cd: CALLDATASIZE
000001ce: PUSH1 0x04
000001d0: PUSH2 0x34f5
000001d3: JUMP
000001d4: JUMPDEST
000001d5: PUSH2 0x036c
000001d8: JUMP
000001d9: JUMPDEST
000001da: STOP
000001db: JUMPDEST
000001dc: PUSH2 0x01d9
000001df: PUSH2 0x04e1
000001e2: JUMP
000001e3: JUMPDEST
000001e4: PUSH2 0x01eb
000001e7: PUSH2 0x0826
000001ea: JUMP
000001eb: JUMPDEST
000001ec: PUSH1 0x40
000001ee: MLOAD
000001ef: PUSH2 0x01bd
000001f2: SWAP2
000001f3: SWAP1
000001f4: PUSH2 0x409e
000001f7: JUMP
000001f8: JUMPDEST
000001f9: PUSH2 0x01b0
000001fc: PUSH2 0x0206
000001ff: CALLDATASIZE
00000200: PUSH1 0x04
00000202: PUSH2 0x3513
00000205: JUMP
00000206: JUMPDEST
00000207: PUSH2 0x0835
0000020a: JUMP
0000020b: JUMPDEST
0000020c: PUSH2 0x01d9
0000020f: PUSH2 0x0219
00000212: CALLDATASIZE
00000213: PUSH1 0x04
00000215: PUSH2 0x35fb
00000218: JUMP
00000219: JUMPDEST
0000021a: PUSH2 0x0865
0000021d: JUMP
0000021e: JUMPDEST
0000021f: PUSH2 0x01d9
00000222: PUSH2 0x022c
00000225: CALLDATASIZE
00000226: PUSH1 0x04
00000228: PUSH2 0x362b
0000022b: JUMP
0000022c: JUMPDEST
0000022d: PUSH2 0x092d
00000230: JUMP
00000231: JUMPDEST
00000232: PUSH2 0x01d9
00000235: PUSH2 0x023f
00000238: CALLDATASIZE
00000239: PUSH1 0x04
0000023b: PUSH2 0x365b
0000023e: JUMP
0000023f: JUMPDEST
00000240: PUSH2 0x0aeb
00000243: JUMP
00000244: JUMPDEST
00000245: PUSH2 0x01eb
00000248: PUSH2 0x10cd
0000024b: JUMP
0000024c: JUMPDEST
0000024d: PUSH2 0x01b0
00000250: PUSH2 0x10fd
00000253: JUMP
00000254: JUMPDEST
00000255: PUSH2 0x025c
00000258: PUSH2 0x1106
0000025b: JUMP
0000025c: JUMPDEST
0000025d: PUSH1 0x40
0000025f: MLOAD
00000260: PUSH2 0x01bd
00000263: SWAP2
00000264: SWAP1
00000265: PUSH2 0x41f1
00000268: JUMP
00000269: JUMPDEST
0000026a: PUSH2 0x01d9
0000026d: PUSH2 0x0277
00000270: CALLDATASIZE
00000271: PUSH1 0x04
00000273: PUSH2 0x34f5
00000276: JUMP
00000277: JUMPDEST
00000278: PUSH2 0x11bb
0000027b: JUMP
0000027c: JUMPDEST
0000027d: PUSH2 0x0284
00000280: PUSH2 0x1310
00000283: JUMP
00000284: JUMPDEST
00000285: PUSH1 0x40
00000287: MLOAD
00000288: PUSH2 0x01bd
0000028b: SWAP2
0000028c: SWAP1
0000028d: PUSH2 0x439c
00000290: JUMP
00000291: JUMPDEST
00000292: PUSH2 0x01d9
00000295: PUSH2 0x029f
00000298: CALLDATASIZE
00000299: PUSH1 0x04
0000029b: PUSH2 0x3726
0000029e: JUMP
0000029f: JUMPDEST
000002a0: PUSH2 0x1366
000002a3: JUMP
000002a4: JUMPDEST
000002a5: PUSH2 0x01b0
000002a8: PUSH2 0x02b2
000002ab: CALLDATASIZE
000002ac: PUSH1 0x04
000002ae: PUSH2 0x3513
000002b1: JUMP
000002b2: JUMPDEST
000002b3: PUSH2 0x1424
000002b6: JUMP
000002b7: JUMPDEST
000002b8: PUSH2 0x02ca
000002bb: PUSH2 0x02c5
000002be: CALLDATASIZE
000002bf: PUSH1 0x04
000002c1: PUSH2 0x34f5
000002c4: JUMP
000002c5: JUMPDEST
000002c6: PUSH2 0x1495
000002c9: JUMP
000002ca: JUMPDEST
000002cb: PUSH1 0x40
000002cd: MLOAD
000002ce: PUSH2 0x01bd
000002d1: SWAP2
000002d2: SWAP1
000002d3: PUSH2 0x438e
000002d6: JUMP
000002d7: JUMPDEST
000002d8: PUSH2 0x0284
000002db: PUSH2 0x02e5
000002de: CALLDATASIZE
000002df: PUSH1 0x04
000002e1: PUSH2 0x34f5
000002e4: JUMP
000002e5: JUMPDEST
000002e6: PUSH2 0x151b
000002e9: JUMP
000002ea: JUMPDEST
000002eb: PUSH2 0x01d9
000002ee: PUSH2 0x02f8
000002f1: CALLDATASIZE
000002f2: PUSH1 0x04
000002f4: PUSH2 0x354d
000002f7: JUMP
000002f8: JUMPDEST
000002f9: PUSH2 0x158c
000002fc: JUMP
000002fd: JUMPDEST
000002fe: PUSH2 0x01d9
00000301: PUSH2 0x030b
00000304: CALLDATASIZE
00000305: PUSH1 0x04
00000307: PUSH2 0x35fb
0000030a: JUMP
0000030b: JUMPDEST
0000030c: PUSH2 0x171f
0000030f: JUMP
00000310: JUMPDEST
00000311: PUSH2 0x01d9
00000314: PUSH2 0x031e
00000317: CALLDATASIZE
00000318: PUSH1 0x04
0000031a: PUSH2 0x35ae
0000031d: JUMP
0000031e: JUMPDEST
0000031f: PUSH2 0x178c
00000322: JUMP
00000323: JUMPDEST
00000324: PUSH2 0x01eb
00000327: PUSH2 0x19a2
0000032a: JUMP
0000032b: JUMPDEST
0000032c: PUSH2 0x01eb
0000032f: PUSH2 0x19b1
00000332: JUMP
00000333: JUMPDEST
00000334: PUSH2 0x025c
00000337: PUSH2 0x19c0
0000033a: JUMP
0000033b: JUMPDEST
0000033c: PUSH2 0x01d9
0000033f: PUSH2 0x0349
00000342: CALLDATASIZE
00000343: PUSH1 0x04
00000345: PUSH2 0x3762
00000348: JUMP
00000349: JUMPDEST
0000034a: PUSH2 0x19c6
0000034d: JUMP
0000034e: JUMPDEST
0000034f: PUSH1 0x01
00000351: PUSH1 0x01
00000353: PUSH1 0xa0
00000355: SHL
00000356: SUB
00000357: AND
00000358: PUSH1 0x00
0000035a: SWAP1
0000035b: DUP2
0000035c: MSTORE
0000035d: PUSH1 0x03
0000035f: PUSH1 0x20
00000361: MSTORE
00000362: PUSH1 0x40
00000364: SWAP1
00000365: KECCAK256
00000366: SLOAD
00000367: PUSH1 0xff
00000369: AND
0000036a: SWAP1
0000036b: JUMP
0000036c: JUMPDEST
0000036d: PUSH2 0x0374
00000370: PUSH2 0x10cd
00000373: JUMP
00000374: JUMPDEST
00000375: PUSH1 0x01
00000377: PUSH1 0x01
00000379: PUSH1 0xa0
0000037b: SHL
0000037c: SUB
0000037d: AND
0000037e: CALLER
0000037f: PUSH1 0x01
00000381: PUSH1 0x01
00000383: PUSH1 0xa0
00000385: SHL
00000386: SUB
00000387: AND
00000388: EQ
00000389: PUSH2 0x03ad
0000038c: JUMPI
0000038d: PUSH1 0x40
0000038f: MLOAD
00000390: PUSH3 0x461bcd
00000394: PUSH1 0xe5
00000396: SHL
00000397: DUP2
00000398: MSTORE
00000399: PUSH1 0x04
0000039b: ADD
0000039c: PUSH2 0x03a4
0000039f: SWAP1
000003a0: PUSH2 0x42be
000003a3: JUMP
000003a4: JUMPDEST
000003a5: PUSH1 0x40
000003a7: MLOAD
000003a8: DUP1
000003a9: SWAP2
000003aa: SUB
000003ab: SWAP1
000003ac: REVERT
000003ad: JUMPDEST
000003ae: PUSH1 0x00
000003b0: NOT
000003b1: PUSH1 0x00
000003b3: SLOAD
000003b4: EQ
000003b5: ISZERO
000003b6: PUSH2 0x03d1
000003b9: JUMPI
000003ba: PUSH1 0x40
000003bc: MLOAD
000003bd: PUSH3 0x461bcd
000003c1: PUSH1 0xe5
000003c3: SHL
000003c4: DUP2
000003c5: MSTORE
000003c6: PUSH1 0x04
000003c8: ADD
000003c9: PUSH2 0x03a4
000003cc: SWAP1
000003cd: PUSH2 0x435e
000003d0: JUMP
000003d1: JUMPDEST
000003d2: PUSH1 0x00
000003d4: NOT
000003d5: PUSH1 0x00
000003d7: SWAP1
000003d8: DUP2
000003d9: SSTORE
000003da: PUSH1 0x40
000003dc: MLOAD
000003dd: PUSH32 0xebed4bd400000000000000000000000000000000000000000000000000000000
000003fe: DUP2
000003ff: MSTORE
00000400: PUSH1 0x01
00000402: PUSH1 0x01
00000404: PUSH1 0xa0
00000406: SHL
00000407: SUB
00000408: DUP4
00000409: AND
0000040a: SWAP2
0000040b: PUSH4 0xebed4bd4
00000410: SWAP2
00000411: PUSH2 0x041d
00000414: SWAP2
00000415: SWAP1
00000416: PUSH1 0x04
00000418: ADD
00000419: PUSH2 0x41ff
0000041c: JUMP
0000041d: JUMPDEST
0000041e: PUSH1 0x40
00000420: DUP1
00000421: MLOAD
00000422: DUP1
00000423: DUP4
00000424: SUB
00000425: DUP2
00000426: DUP7
00000427: DUP1
00000428: EXTCODESIZE
00000429: ISZERO
0000042a: DUP1
0000042b: ISZERO
0000042c: PUSH2 0x0434
0000042f: JUMPI
00000430: PUSH1 0x00
00000432: DUP1
00000433: REVERT
00000434: JUMPDEST
00000435: POP
00000436: GAS
00000437: STATICCALL
00000438: ISZERO
00000439: DUP1
0000043a: ISZERO
0000043b: PUSH2 0x0448
0000043e: JUMPI
0000043f: RETURNDATASIZE
00000440: PUSH1 0x00
00000442: DUP1
00000443: RETURNDATACOPY
00000444: RETURNDATASIZE
00000445: PUSH1 0x00
00000447: REVERT
00000448: JUMPDEST
00000449: POP
0000044a: POP
0000044b: POP
0000044c: POP
0000044d: PUSH1 0x40
0000044f: MLOAD
00000450: RETURNDATASIZE
00000451: PUSH1 0x1f
00000453: NOT
00000454: PUSH1 0x1f
00000456: DUP3
00000457: ADD
00000458: AND
00000459: DUP3
0000045a: ADD
0000045b: DUP1
0000045c: PUSH1 0x40
0000045e: MSTORE
0000045f: POP
00000460: PUSH2 0x046c
00000463: SWAP2
00000464: SWAP1
00000465: DUP2
00000466: ADD
00000467: SWAP1
00000468: PUSH2 0x36d8
0000046b: JUMP
0000046c: JUMPDEST
0000046d: POP
0000046e: POP
0000046f: PUSH1 0x07
00000471: DUP1
00000472: SLOAD
00000473: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00000494: AND
00000495: PUSH1 0x01
00000497: PUSH1 0x01
00000499: PUSH1 0xa0
0000049b: SHL
0000049c: SUB
0000049d: DUP4
0000049e: AND
0000049f: OR
000004a0: SWAP1
000004a1: SSTORE
000004a2: PUSH1 0x40
000004a4: MLOAD
000004a5: PUSH32 0x433b5c8c9ff78f62114ee8804a916537fa42009ebac4965bfed953f771789e47
000004c6: SWAP1
000004c7: PUSH2 0x04d1
000004ca: SWAP1
000004cb: DUP4
000004cc: SWAP1
000004cd: PUSH2 0x409e
000004d0: JUMP
000004d1: JUMPDEST
000004d2: PUSH1 0x40
000004d4: MLOAD
000004d5: DUP1
000004d6: SWAP2
000004d7: SUB
000004d8: SWAP1
000004d9: LOG1
000004da: POP
000004db: PUSH1 0x01
000004dd: PUSH1 0x00
000004df: SSTORE
000004e0: JUMP
000004e1: JUMPDEST
000004e2: PUSH1 0x0a
000004e4: SLOAD
000004e5: PUSH1 0xff
000004e7: AND
000004e8: PUSH2 0x0503
000004eb: JUMPI
000004ec: PUSH1 0x40
000004ee: MLOAD
000004ef: PUSH3 0x461bcd
000004f3: PUSH1 0xe5
000004f5: SHL
000004f6: DUP2
000004f7: MSTORE
000004f8: PUSH1 0x04
000004fa: ADD
000004fb: PUSH2 0x03a4
000004fe: SWAP1
000004ff: PUSH2 0x424e
00000502: JUMP
00000503: JUMPDEST
00000504: PUSH1 0x00
00000506: NOT
00000507: PUSH1 0x00
00000509: SLOAD
0000050a: EQ
0000050b: ISZERO
0000050c: PUSH2 0x0527
0000050f: JUMPI
00000510: PUSH1 0x40
00000512: MLOAD
00000513: PUSH3 0x461bcd
00000517: PUSH1 0xe5
00000519: SHL
0000051a: DUP2
0000051b: MSTORE
0000051c: PUSH1 0x04
0000051e: ADD
0000051f: PUSH2 0x03a4
00000522: SWAP1
00000523: PUSH2 0x435e
00000526: JUMP
00000527: JUMPDEST
00000528: PUSH1 0x00
0000052a: NOT
0000052b: PUSH1 0x00
0000052d: SSTORE
0000052e: PUSH2 0x0535
00000531: PUSH2 0x31f4
00000534: JUMP
00000535: JUMPDEST
00000536: POP
00000537: PUSH1 0x40
00000539: DUP1
0000053a: MLOAD
0000053b: PUSH1 0x60
0000053d: DUP1
0000053e: DUP3
0000053f: ADD
00000540: DUP4
00000541: MSTORE
00000542: PUSH1 0x0b
00000544: SLOAD
00000545: DUP3
00000546: MSTORE
00000547: PUSH1 0x09
00000549: SLOAD
0000054a: PUSH1 0x20
0000054c: DUP1
0000054d: DUP5
0000054e: ADD
0000054f: SWAP2
00000550: SWAP1
00000551: SWAP2
00000552: MSTORE
00000553: DUP4
00000554: MLOAD
00000555: SWAP2
00000556: DUP3
00000557: ADD
00000558: DUP5
00000559: MSTORE
0000055a: PUSH1 0x08
0000055c: SLOAD
0000055d: PUSH4 0xffffffff
00000562: DUP2
00000563: AND
00000564: DUP4
00000565: MSTORE
00000566: PUSH5 0x0100000000
0000056c: DUP2
0000056d: DIV
0000056e: PUSH1 0xff
00000570: AND
00000571: ISZERO
00000572: ISZERO
00000573: SWAP2
00000574: DUP4
00000575: ADD
00000576: SWAP2
00000577: SWAP1
00000578: SWAP2
00000579: MSTORE
0000057a: PUSH6 0x010000000000
00000581: SWAP1
00000582: DIV
00000583: PUSH16 0xffffffffffffffffffffffffffffffff
00000594: AND
00000595: DUP2
00000596: DUP5
00000597: ADD
00000598: MSTORE
00000599: SWAP2
0000059a: DUP2
0000059b: ADD
0000059c: SWAP2
0000059d: SWAP1
0000059e: SWAP2
0000059f: MSTORE
000005a0: PUSH2 0x05a7
000005a3: PUSH2 0x321a
000005a6: JUMP
000005a7: JUMPDEST
000005a8: PUSH2 0x05b1
000005ab: DUP3
000005ac: CALLER
000005ad: PUSH2 0x1af6
000005b0: JUMP
000005b1: JUMPDEST
000005b2: SWAP1
000005b3: POP
000005b4: PUSH1 0x00
000005b6: DUP1
000005b7: PUSH2 0x05c4
000005ba: DUP4
000005bb: DUP6
000005bc: PUSH1 0x00
000005be: ADD
000005bf: MLOAD
000005c0: PUSH2 0x1f5e
000005c3: JUMP
000005c4: JUMPDEST
000005c5: SWAP2
000005c6: POP
000005c7: SWAP2
000005c8: POP
000005c9: DUP1
000005ca: DUP3
000005cb: LT
000005cc: ISZERO
000005cd: PUSH2 0x05d9
000005d0: JUMPI
000005d1: POP
000005d2: POP
000005d3: POP
000005d4: POP
000005d5: PUSH2 0x081f
000005d8: JUMP
000005d9: JUMPDEST
000005da: PUSH1 0x00
000005dc: PUSH2 0x0602
000005df: PUSH2 0x05e6
000005e2: PUSH2 0x201b
000005e5: JUMP
000005e6: JUMPDEST
000005e7: PUSH2 0x05f6
000005ea: DUP6
000005eb: DUP6
000005ec: PUSH4 0xffffffff
000005f1: PUSH2 0x2027
000005f4: AND
000005f5: JUMP
000005f6: JUMPDEST
000005f7: SWAP1
000005f8: PUSH4 0xffffffff
000005fd: PUSH2 0x2069
00000600: AND
00000601: JUMP
00000602: JUMPDEST
00000603: PUSH1 0x05
00000605: SLOAD
00000606: PUSH1 0x40
00000608: MLOAD
00000609: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000
0000062a: DUP2
0000062b: MSTORE
0000062c: SWAP2
0000062d: SWAP3
0000062e: POP
0000062f: PUSH1 0x00
00000631: SWAP2
00000632: PUSH1 0x01
00000634: PUSH1 0x01
00000636: PUSH1 0xa0
00000638: SHL
00000639: SUB
0000063a: SWAP1
0000063b: SWAP2
0000063c: AND
0000063d: SWAP1
0000063e: PUSH4 0x70a08231
00000643: SWAP1
00000644: PUSH2 0x0651
00000647: SWAP1
00000648: ADDRESS
00000649: SWAP1
0000064a: PUSH1 0x04
0000064c: ADD
0000064d: PUSH2 0x409e
00000650: JUMP
00000651: JUMPDEST
00000652: PUSH1 0x20
00000654: PUSH1 0x40
00000656: MLOAD
00000657: DUP1
00000658: DUP4
00000659: SUB
0000065a: DUP2
0000065b: DUP7
0000065c: DUP1
0000065d: EXTCODESIZE
0000065e: ISZERO
0000065f: DUP1
00000660: ISZERO
00000661: PUSH2 0x0669
00000664: JUMPI
00000665: PUSH1 0x00
00000667: DUP1
00000668: REVERT
00000669: JUMPDEST
0000066a: POP
0000066b: GAS
0000066c: STATICCALL
0000066d: ISZERO
0000066e: DUP1
0000066f: ISZERO
00000670: PUSH2 0x067d
00000673: JUMPI
00000674: RETURNDATASIZE
00000675: PUSH1 0x00
00000677: DUP1
00000678: RETURNDATACOPY
00000679: RETURNDATASIZE
0000067a: PUSH1 0x00
0000067c: REVERT
0000067d: JUMPDEST
0000067e: POP
0000067f: POP
00000680: POP
00000681: POP
00000682: PUSH1 0x40
00000684: MLOAD
00000685: RETURNDATASIZE
00000686: PUSH1 0x1f
00000688: NOT
00000689: PUSH1 0x1f
0000068b: DUP3
0000068c: ADD
0000068d: AND
0000068e: DUP3
0000068f: ADD
00000690: DUP1
00000691: PUSH1 0x40
00000693: MSTORE
00000694: POP
00000695: PUSH2 0x06a1
00000698: SWAP2
00000699: SWAP1
0000069a: DUP2
0000069b: ADD
0000069c: SWAP1
0000069d: PUSH2 0x3744
000006a0: JUMP
000006a1: JUMPDEST
000006a2: SWAP1
000006a3: POP
000006a4: PUSH1 0x00
000006a6: PUSH2 0x06af
000006a9: DUP3
000006aa: DUP5
000006ab: PUSH2 0x20ab
000006ae: JUMP
000006af: JUMPDEST
000006b0: SWAP1
000006b1: POP
000006b2: PUSH1 0x00
000006b4: PUSH2 0x06cb
000006b7: PUSH2 0x06c6
000006ba: DUP6
000006bb: DUP5
000006bc: PUSH4 0xffffffff
000006c1: PUSH2 0x2027
000006c4: AND
000006c5: JUMP
000006c6: JUMPDEST
000006c7: PUSH2 0x20c1
000006ca: JUMP
000006cb: JUMPDEST
000006cc: PUSH1 0x40
000006ce: DUP1
000006cf: MLOAD
000006d0: PUSH1 0x80
000006d2: DUP2
000006d3: ADD
000006d4: DUP3
000006d5: MSTORE
000006d6: PUSH15 0xffffffffffffffffffffffffffffff
000006e6: DUP4
000006e7: DUP2
000006e8: AND
000006e9: DUP1
000006ea: ISZERO
000006eb: ISZERO
000006ec: DUP4
000006ed: MSTORE
000006ee: PUSH1 0x00
000006f0: PUSH1 0x20
000006f2: DUP1
000006f3: DUP6
000006f4: ADD
000006f5: DUP3
000006f6: DUP2
000006f7: MSTORE
000006f8: DUP6
000006f9: DUP8
000006fa: ADD
000006fb: SWAP4
000006fc: DUP5
000006fd: MSTORE
000006fe: PUSH1 0x60
00000700: DUP7
00000701: ADD
00000702: DUP4
00000703: DUP2
00000704: MSTORE
00000705: CALLER
00000706: DUP1
00000707: DUP6
00000708: MSTORE
00000709: PUSH1 0x01
0000070b: SWAP1
0000070c: SWAP4
0000070d: MSTORE
0000070e: SWAP7
0000070f: SWAP1
00000710: SWAP3
00000711: KECCAK256
00000712: DUP6
00000713: MLOAD
00000714: DUP2
00000715: SLOAD
00000716: SWAP4
00000717: MLOAD
00000718: SWAP5
00000719: MLOAD
0000071a: SWAP8
0000071b: MLOAD
0000071c: PUSH1 0xff
0000071e: NOT
0000071f: SWAP1
00000720: SWAP5
00000721: AND
00000722: SWAP1
00000723: ISZERO
00000724: ISZERO
00000725: OR
00000726: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
00000747: AND
00000748: PUSH2 0x0100
0000074b: SWAP5
0000074c: ISZERO
0000074d: ISZERO
0000074e: SWAP5
0000074f: SWAP1
00000750: SWAP5
00000751: MUL
00000752: SWAP4
00000753: SWAP1
00000754: SWAP4
00000755: OR
00000756: PUSH32 0xffffffffffffffffffffffffffffff000000000000000000000000000000ffff
00000777: AND
00000778: PUSH3 0x010000
0000077c: SWAP7
0000077d: DUP6
0000077e: AND
0000077f: SWAP7
00000780: SWAP1
00000781: SWAP7
00000782: MUL
00000783: SWAP6
00000784: SWAP1
00000785: SWAP6
00000786: OR
00000787: PUSH17 0xffffffffffffffffffffffffffffffffff
00000799: AND
0000079a: PUSH18 0x010000000000000000000000000000000000
000007ad: SWAP2
000007ae: SWAP1
000007af: SWAP4
000007b0: AND
000007b1: MUL
000007b2: SWAP2
000007b3: SWAP1
000007b4: SWAP2
000007b5: OR
000007b6: SWAP1
000007b7: SSTORE
000007b8: PUSH1 0x05
000007ba: SLOAD
000007bb: SWAP1
000007bc: SWAP10
000007bd: POP
000007be: SWAP2
000007bf: SWAP3
000007c0: POP
000007c1: PUSH2 0x07d4
000007c4: SWAP2
000007c5: PUSH1 0x01
000007c7: PUSH1 0x01
000007c9: PUSH1 0xa0
000007cb: SHL
000007cc: SUB
000007cd: AND
000007ce: SWAP1
000007cf: DUP5
000007d0: PUSH2 0x20f6
000007d3: JUMP
000007d4: JUMPDEST
000007d5: CALLER
000007d6: PUSH32 0xc3b34c584e097adcd5d59ecaf4107928698a4f075c7753b5dbe28cd20d7ac1fd
000007f7: DUP4
000007f8: PUSH2 0x0800
000007fb: DUP11
000007fc: PUSH2 0x21b8
000007ff: JUMP
00000800: JUMPDEST
00000801: PUSH1 0x40
00000803: MLOAD
00000804: PUSH2 0x080e
00000807: SWAP3
00000808: SWAP2
00000809: SWAP1
0000080a: PUSH2 0x43aa
0000080d: JUMP
0000080e: JUMPDEST
0000080f: PUSH1 0x40
00000811: MLOAD
00000812: DUP1
00000813: SWAP2
00000814: SUB
00000815: SWAP1
00000816: LOG2
00000817: POP
00000818: POP
00000819: POP
0000081a: POP
0000081b: POP
0000081c: POP
0000081d: POP
0000081e: POP
0000081f: JUMPDEST
00000820: PUSH1 0x01
00000822: PUSH1 0x00
00000824: SSTORE
00000825: JUMP
00000826: JUMPDEST
00000827: PUSH1 0x05
00000829: SLOAD
0000082a: PUSH1 0x01
0000082c: PUSH1 0x01
0000082e: PUSH1 0xa0
00000830: SHL
00000831: SUB
00000832: AND
00000833: SWAP1
00000834: JUMP
00000835: JUMPDEST
00000836: PUSH1 0x01
00000838: PUSH1 0x01
0000083a: PUSH1 0xa0
0000083c: SHL
0000083d: SUB
0000083e: DUP1
0000083f: DUP4
00000840: AND
00000841: PUSH1 0x00
00000843: SWAP1
00000844: DUP2
00000845: MSTORE
00000846: PUSH1 0x04
00000848: PUSH1 0x20
0000084a: SWAP1
0000084b: DUP2
0000084c: MSTORE
0000084d: PUSH1 0x40
0000084f: DUP1
00000850: DUP4
00000851: KECCAK256
00000852: SWAP4
00000853: DUP6
00000854: AND
00000855: DUP4
00000856: MSTORE
00000857: SWAP3
00000858: SWAP1
00000859: MSTORE
0000085a: KECCAK256
0000085b: SLOAD
0000085c: PUSH1 0xff
0000085e: AND
0000085f: JUMPDEST
00000860: SWAP3
00000861: SWAP2
00000862: POP
00000863: POP
00000864: JUMP
00000865: JUMPDEST
00000866: PUSH2 0x086d
00000869: PUSH2 0x10cd
0000086c: JUMP
0000086d: JUMPDEST
0000086e: PUSH1 0x01
00000870: PUSH1 0x01
00000872: PUSH1 0xa0
00000874: SHL
00000875: SUB
00000876: AND
00000877: CALLER
00000878: PUSH1 0x01
0000087a: PUSH1 0x01
0000087c: PUSH1 0xa0
0000087e: SHL
0000087f: SUB
00000880: AND
00000881: EQ
00000882: PUSH2 0x089d
00000885: JUMPI
00000886: PUSH1 0x40
00000888: MLOAD
00000889: PUSH3 0x461bcd
0000088d: PUSH1 0xe5
0000088f: SHL
00000890: DUP2
00000891: MSTORE
00000892: PUSH1 0x04
00000894: ADD
00000895: PUSH2 0x03a4
00000898: SWAP1
00000899: PUSH2 0x42be
0000089c: JUMP
0000089d: JUMPDEST
0000089e: PUSH1 0x00
000008a0: NOT
000008a1: PUSH1 0x00
000008a3: SLOAD
000008a4: EQ
000008a5: ISZERO
000008a6: PUSH2 0x08c1
000008a9: JUMPI
000008aa: PUSH1 0x40
000008ac: MLOAD
000008ad: PUSH3 0x461bcd
000008b1: PUSH1 0xe5
000008b3: SHL
000008b4: DUP2
000008b5: MSTORE
000008b6: PUSH1 0x04
000008b8: ADD
000008b9: PUSH2 0x03a4
000008bc: SWAP1
000008bd: PUSH2 0x435e
000008c0: JUMP
000008c1: JUMPDEST
000008c2: PUSH1 0x00
000008c4: NOT
000008c5: PUSH1 0x00
000008c7: SWAP1
000008c8: DUP2
000008c9: SSTORE
000008ca: PUSH1 0x01
000008cc: PUSH1 0x01
000008ce: PUSH1 0xa0
000008d0: SHL
000008d1: SUB
000008d2: DUP4
000008d3: AND
000008d4: DUP2
000008d5: MSTORE
000008d6: PUSH1 0x03
000008d8: PUSH1 0x20
000008da: MSTORE
000008db: PUSH1 0x40
000008dd: SWAP1
000008de: DUP2
000008df: SWAP1
000008e0: KECCAK256
000008e1: DUP1
000008e2: SLOAD
000008e3: PUSH1 0xff
000008e5: NOT
000008e6: AND
000008e7: DUP4
000008e8: ISZERO
000008e9: ISZERO
000008ea: OR
000008eb: SWAP1
000008ec: SSTORE
000008ed: MLOAD
000008ee: PUSH32 0xeaeee7699e70e6b31ac89ec999ef6936b97ac1e364f0e1fcf584772372caa0d3
0000090f: SWAP1
00000910: PUSH2 0x091c
00000913: SWAP1
00000914: DUP5
00000915: SWAP1
00000916: DUP5
00000917: SWAP1
00000918: PUSH2 0x4135
0000091b: JUMP
0000091c: JUMPDEST
0000091d: PUSH1 0x40
0000091f: MLOAD
00000920: DUP1
00000921: SWAP2
00000922: SUB
00000923: SWAP1
00000924: LOG1
00000925: POP
00000926: POP
00000927: PUSH1 0x01
00000929: PUSH1 0x00
0000092b: SSTORE
0000092c: JUMP
0000092d: JUMPDEST
0000092e: PUSH1 0x0a
00000930: SLOAD
00000931: PUSH1 0xff
00000933: AND
00000934: ISZERO
00000935: PUSH2 0x0950
00000938: JUMPI
00000939: PUSH1 0x40
0000093b: MLOAD
0000093c: PUSH3 0x461bcd
00000940: PUSH1 0xe5
00000942: SHL
00000943: DUP2
00000944: MSTORE
00000945: PUSH1 0x04
00000947: ADD
00000948: PUSH2 0x03a4
0000094b: SWAP1
0000094c: PUSH2 0x42ce
0000094f: JUMP
00000950: JUMPDEST
00000951: PUSH1 0x00
00000953: NOT
00000954: PUSH1 0x00
00000956: SLOAD
00000957: EQ
00000958: ISZERO
00000959: PUSH2 0x0974
0000095c: JUMPI
0000095d: PUSH1 0x40
0000095f: MLOAD
00000960: PUSH3 0x461bcd
00000964: PUSH1 0xe5
00000966: SHL
00000967: DUP2
00000968: MSTORE
00000969: PUSH1 0x04
0000096b: ADD
0000096c: PUSH2 0x03a4
0000096f: SWAP1
00000970: PUSH2 0x435e
00000973: JUMP
00000974: JUMPDEST
00000975: PUSH1 0x00
00000977: NOT
00000978: PUSH1 0x00
0000097a: SSTORE
0000097b: PUSH2 0x0982
0000097e: PUSH2 0x31f4
00000981: JUMP
00000982: JUMPDEST
00000983: PUSH2 0x098a
00000986: PUSH2 0x224d
00000989: JUMP
0000098a: JUMPDEST
0000098b: SWAP1
0000098c: POP
0000098d: PUSH2 0x0994
00000990: PUSH2 0x321a
00000993: JUMP
00000994: JUMPDEST
00000995: PUSH2 0x099e
00000998: DUP3
00000999: DUP6
0000099a: PUSH2 0x1af6
0000099d: JUMP
0000099e: JUMPDEST
0000099f: PUSH1 0x05
000009a1: SLOAD
000009a2: SWAP1
000009a3: SWAP2
000009a4: POP
000009a5: PUSH2 0x09b9
000009a8: SWAP1
000009a9: PUSH1 0x01
000009ab: PUSH1 0x01
000009ad: PUSH1 0xa0
000009af: SHL
000009b0: SUB
000009b1: AND
000009b2: CALLER
000009b3: ADDRESS
000009b4: DUP7
000009b5: PUSH2 0x25d7
000009b8: JUMP
000009b9: JUMPDEST
000009ba: PUSH2 0x09c9
000009bd: DUP2
000009be: DUP5
000009bf: PUSH4 0xffffffff
000009c4: PUSH2 0x261a
000009c7: AND
000009c8: JUMP
000009c9: JUMPDEST
000009ca: PUSH1 0x01
000009cc: PUSH1 0x01
000009ce: PUSH1 0xa0
000009d0: SHL
000009d1: SUB
000009d2: DUP5
000009d3: AND
000009d4: PUSH1 0x00
000009d6: DUP2
000009d7: DUP2
000009d8: MSTORE
000009d9: PUSH1 0x01
000009db: PUSH1 0x20
000009dd: SWAP1
000009de: DUP2
000009df: MSTORE
000009e0: PUSH1 0x40
000009e2: SWAP2
000009e3: DUP3
000009e4: SWAP1
000009e5: KECCAK256
000009e6: DUP5
000009e7: MLOAD
000009e8: DUP2
000009e9: SLOAD
000009ea: SWAP3
000009eb: DUP7
000009ec: ADD
000009ed: MLOAD
000009ee: SWAP4
000009ef: DUP7
000009f0: ADD
000009f1: MLOAD
000009f2: PUSH1 0x60
000009f4: DUP8
000009f5: ADD
000009f6: MLOAD
000009f7: PUSH1 0xff
000009f9: NOT
000009fa: SWAP1
000009fb: SWAP5
000009fc: AND
000009fd: SWAP2
000009fe: ISZERO
000009ff: ISZERO
00000a00: SWAP2
00000a01: SWAP1
00000a02: SWAP2
00000a03: OR
00000a04: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
00000a25: AND
00000a26: PUSH2 0x0100
00000a29: SWAP5
00000a2a: ISZERO
00000a2b: ISZERO
00000a2c: SWAP5
00000a2d: SWAP1
00000a2e: SWAP5
00000a2f: MUL
00000a30: SWAP4
00000a31: SWAP1
00000a32: SWAP4
00000a33: OR
00000a34: PUSH32 0xffffffffffffffffffffffffffffff000000000000000000000000000000ffff
00000a55: AND
00000a56: PUSH3 0x010000
00000a5a: PUSH15 0xffffffffffffffffffffffffffffff
00000a6a: SWAP5
00000a6b: DUP6
00000a6c: AND
00000a6d: MUL
00000a6e: OR
00000a6f: PUSH17 0xffffffffffffffffffffffffffffffffff
00000a81: AND
00000a82: PUSH18 0x010000000000000000000000000000000000
00000a95: SWAP4
00000a96: SWAP1
00000a97: SWAP3
00000a98: AND
00000a99: SWAP3
00000a9a: SWAP1
00000a9b: SWAP3
00000a9c: MUL
00000a9d: OR
00000a9e: SWAP1
00000a9f: SSTORE
00000aa0: PUSH32 0x40a9cb3a9707d3a68091d8ef7ffd4158d01d0b2ad92b1e489abe8312dd543023
00000ac1: DUP5
00000ac2: PUSH2 0x0aca
00000ac5: DUP5
00000ac6: PUSH2 0x21b8
00000ac9: JUMP
00000aca: JUMPDEST
00000acb: PUSH1 0x40
00000acd: MLOAD
00000ace: PUSH2 0x0ad8
00000ad1: SWAP3
00000ad2: SWAP2
00000ad3: SWAP1
00000ad4: PUSH2 0x43aa
00000ad7: JUMP
00000ad8: JUMPDEST
00000ad9: PUSH1 0x40
00000adb: MLOAD
00000adc: DUP1
00000add: SWAP2
00000ade: SUB
00000adf: SWAP1
00000ae0: LOG2
00000ae1: POP
00000ae2: POP
00000ae3: PUSH1 0x01
00000ae5: PUSH1 0x00
00000ae7: SSTORE
00000ae8: POP
00000ae9: POP
00000aea: JUMP
00000aeb: JUMPDEST
00000aec: PUSH1 0x0a
00000aee: SLOAD
00000aef: PUSH1 0xff
00000af1: AND
00000af2: ISZERO
00000af3: PUSH2 0x0b0e
00000af6: JUMPI
00000af7: PUSH1 0x40
00000af9: MLOAD
00000afa: PUSH3 0x461bcd
00000afe: PUSH1 0xe5
00000b00: SHL
00000b01: DUP2
00000b02: MSTORE
00000b03: PUSH1 0x04
00000b05: ADD
00000b06: PUSH2 0x03a4
00000b09: SWAP1
00000b0a: PUSH2 0x42ce
00000b0d: JUMP
00000b0e: JUMPDEST
00000b0f: PUSH1 0x00
00000b11: NOT
00000b12: PUSH1 0x00
00000b14: SLOAD
00000b15: EQ
00000b16: ISZERO
00000b17: PUSH2 0x0b32
00000b1a: JUMPI
00000b1b: PUSH1 0x40
00000b1d: MLOAD
00000b1e: PUSH3 0x461bcd
00000b22: PUSH1 0xe5
00000b24: SHL
00000b25: DUP2
00000b26: MSTORE
00000b27: PUSH1 0x04
00000b29: ADD
00000b2a: PUSH2 0x03a4
00000b2d: SWAP1
00000b2e: PUSH2 0x435e
00000b31: JUMP
00000b32: JUMPDEST
00000b33: PUSH1 0x00
00000b35: NOT
00000b36: PUSH1 0x00
00000b38: SSTORE
00000b39: PUSH2 0x0b41
00000b3c: DUP3
00000b3d: PUSH2 0x264f
00000b40: JUMP
00000b41: JUMPDEST
00000b42: PUSH2 0x0b49
00000b45: PUSH2 0x31f4
00000b48: JUMP
00000b49: JUMPDEST
00000b4a: PUSH2 0x0b51
00000b4d: PUSH2 0x224d
00000b50: JUMP
00000b51: JUMPDEST
00000b52: SWAP1
00000b53: POP
00000b54: PUSH1 0x60
00000b56: PUSH2 0x0b5f
00000b59: DUP3
00000b5a: DUP6
00000b5b: PUSH2 0x26ec
00000b5e: JUMP
00000b5f: JUMPDEST
00000b60: SWAP1
00000b61: POP
00000b62: PUSH1 0x60
00000b64: DUP2
00000b65: MLOAD
00000b66: PUSH1 0x40
00000b68: MLOAD
00000b69: SWAP1
00000b6a: DUP1
00000b6b: DUP3
00000b6c: MSTORE
00000b6d: DUP1
00000b6e: PUSH1 0x20
00000b70: MUL
00000b71: PUSH1 0x20
00000b73: ADD
00000b74: DUP3
00000b75: ADD
00000b76: PUSH1 0x40
00000b78: MSTORE
00000b79: DUP1
00000b7a: ISZERO
00000b7b: PUSH2 0x0b9e
00000b7e: JUMPI
00000b7f: DUP2
00000b80: PUSH1 0x20
00000b82: ADD
00000b83: JUMPDEST
00000b84: PUSH2 0x0b8b
00000b87: PUSH2 0x321a
00000b8a: JUMP
00000b8b: JUMPDEST
00000b8c: DUP2
00000b8d: MSTORE
00000b8e: PUSH1 0x20
00000b90: ADD
00000b91: SWAP1
00000b92: PUSH1 0x01
00000b94: SWAP1
00000b95: SUB
00000b96: SWAP1
00000b97: DUP2
00000b98: PUSH2 0x0b83
00000b9b: JUMPI
00000b9c: SWAP1
00000b9d: POP
00000b9e: JUMPDEST
00000b9f: POP
00000ba0: SWAP1
00000ba1: POP
00000ba2: PUSH1 0x00
00000ba4: JUMPDEST
00000ba5: DUP3
00000ba6: MLOAD
00000ba7: DUP2
00000ba8: LT
00000ba9: ISZERO
00000baa: PUSH2 0x0be8
00000bad: JUMPI
00000bae: PUSH2 0x0bc9
00000bb1: DUP4
00000bb2: DUP3
00000bb3: DUP2
00000bb4: MLOAD
00000bb5: DUP2
00000bb6: LT
00000bb7: PUSH2 0x0bbc
00000bba: JUMPI
00000bbb: INVALID
00000bbc: JUMPDEST
00000bbd: PUSH1 0x20
00000bbf: MUL
00000bc0: PUSH1 0x20
00000bc2: ADD
00000bc3: ADD
00000bc4: MLOAD
00000bc5: PUSH2 0x2783
00000bc8: JUMP
00000bc9: JUMPDEST
00000bca: DUP3
00000bcb: DUP3
00000bcc: DUP2
00000bcd: MLOAD
00000bce: DUP2
00000bcf: LT
00000bd0: PUSH2 0x0bd5
00000bd3: JUMPI
00000bd4: INVALID
00000bd5: JUMPDEST
00000bd6: PUSH1 0x20
00000bd8: SWAP1
00000bd9: DUP2
00000bda: MUL
00000bdb: SWAP2
00000bdc: SWAP1
00000bdd: SWAP2
00000bde: ADD
00000bdf: ADD
00000be0: MSTORE
00000be1: PUSH1 0x01
00000be3: ADD
00000be4: PUSH2 0x0ba4
00000be7: JUMP
00000be8: JUMPDEST
00000be9: POP
00000bea: PUSH1 0x00
00000bec: DUP1
00000bed: JUMPDEST
00000bee: DUP6
00000bef: MLOAD
00000bf0: DUP3
00000bf1: LT
00000bf2: ISZERO
00000bf3: PUSH2 0x10b3
00000bf6: JUMPI
00000bf7: PUSH2 0x0bfe
00000bfa: PUSH2 0x3241
00000bfd: JUMP
00000bfe: JUMPDEST
00000bff: DUP7
00000c00: DUP4
00000c01: DUP2
00000c02: MLOAD
00000c03: DUP2
00000c04: LT
00000c05: PUSH2 0x0c0a
00000c08: JUMPI
00000c09: INVALID
00000c0a: JUMPDEST
00000c0b: PUSH1 0x20
00000c0d: SWAP1
00000c0e: DUP2
00000c0f: MUL
00000c10: SWAP2
00000c11: SWAP1
00000c12: SWAP2
00000c13: ADD
00000c14: DUP2
00000c15: ADD
00000c16: MLOAD
00000c17: PUSH1 0x40
00000c19: DUP1
00000c1a: DUP3
00000c1b: ADD
00000c1c: MLOAD
00000c1d: PUSH1 0x01
00000c1f: PUSH1 0x01
00000c21: PUSH1 0xa0
00000c23: SHL
00000c24: SUB
00000c25: AND
00000c26: PUSH1 0x00
00000c28: SWAP1
00000c29: DUP2
00000c2a: MSTORE
00000c2b: PUSH1 0x03
00000c2d: SWAP1
00000c2e: SWAP4
00000c2f: MSTORE
00000c30: SWAP1
00000c31: SWAP2
00000c32: KECCAK256
00000c33: SLOAD
00000c34: SWAP1
00000c35: SWAP2
00000c36: POP
00000c37: PUSH1 0xff
00000c39: AND
00000c3a: PUSH2 0x0c55
00000c3d: JUMPI
00000c3e: PUSH1 0x40
00000c40: MLOAD
00000c41: PUSH3 0x461bcd
00000c45: PUSH1 0xe5
00000c47: SHL
00000c48: DUP2
00000c49: MSTORE
00000c4a: PUSH1 0x04
00000c4c: ADD
00000c4d: PUSH2 0x03a4
00000c50: SWAP1
00000c51: PUSH2 0x426e
00000c54: JUMP
00000c55: JUMPDEST
00000c56: PUSH1 0x00
00000c58: DUP9
00000c59: DUP3
00000c5a: PUSH1 0x20
00000c5c: ADD
00000c5d: MLOAD
00000c5e: DUP2
00000c5f: MLOAD
00000c60: DUP2
00000c61: LT
00000c62: PUSH2 0x0c67
00000c65: JUMPI
00000c66: INVALID
00000c67: JUMPDEST
00000c68: PUSH1 0x20
00000c6a: MUL
00000c6b: PUSH1 0x20
00000c6d: ADD
00000c6e: ADD
00000c6f: MLOAD
00000c70: SWAP1
00000c71: POP
00000c72: PUSH1 0x00
00000c74: DUP10
00000c75: DUP4
00000c76: PUSH1 0x00
00000c78: ADD
00000c79: MLOAD
00000c7a: DUP2
00000c7b: MLOAD
00000c7c: DUP2
00000c7d: LT
00000c7e: PUSH2 0x0c83
00000c81: JUMPI
00000c82: INVALID
00000c83: JUMPDEST
00000c84: PUSH1 0x20
00000c86: MUL
00000c87: PUSH1 0x20
00000c89: ADD
00000c8a: ADD
00000c8b: MLOAD
00000c8c: SWAP1
00000c8d: POP
00000c8e: PUSH2 0x0c95
00000c91: PUSH2 0x321a
00000c94: JUMP
00000c95: JUMPDEST
00000c96: PUSH1 0x40
00000c98: DUP1
00000c99: DUP6
00000c9a: ADD
00000c9b: MLOAD
00000c9c: DUP11
00000c9d: MLOAD
00000c9e: PUSH1 0x60
00000ca0: DUP8
00000ca1: ADD
00000ca2: MLOAD
00000ca3: SWAP3
00000ca4: MLOAD
00000ca5: PUSH32 0x970c2ba100000000000000000000000000000000000000000000000000000000
00000cc6: DUP2
00000cc7: MSTORE
00000cc8: PUSH1 0x01
00000cca: PUSH1 0x01
00000ccc: PUSH1 0xa0
00000cce: SHL
00000ccf: SUB
00000cd0: SWAP1
00000cd1: SWAP3
00000cd2: AND
00000cd3: SWAP3
00000cd4: PUSH4 0x970c2ba1
00000cd9: SWAP3
00000cda: PUSH2 0x0cef
00000cdd: SWAP3
00000cde: CALLER
00000cdf: SWAP3
00000ce0: DUP10
00000ce1: SWAP3
00000ce2: DUP10
00000ce3: SWAP3
00000ce4: SWAP2
00000ce5: SWAP1
00000ce6: DUP14
00000ce7: SWAP1
00000ce8: PUSH1 0x04
00000cea: ADD
00000ceb: PUSH2 0x40ac
00000cee: JUMP
00000cef: JUMPDEST
00000cf0: PUSH1 0x80
00000cf2: PUSH1 0x40
00000cf4: MLOAD
00000cf5: DUP1
00000cf6: DUP4
00000cf7: SUB
00000cf8: DUP2
00000cf9: PUSH1 0x00
00000cfb: DUP8
00000cfc: DUP1
00000cfd: EXTCODESIZE
00000cfe: ISZERO
00000cff: DUP1
00000d00: ISZERO
00000d01: PUSH2 0x0d09
00000d04: JUMPI
00000d05: PUSH1 0x00
00000d07: DUP1
00000d08: REVERT
00000d09: JUMPDEST
00000d0a: POP
00000d0b: GAS
00000d0c: CALL
00000d0d: ISZERO
00000d0e: DUP1
00000d0f: ISZERO
00000d10: PUSH2 0x0d1d
00000d13: JUMPI
00000d14: RETURNDATASIZE
00000d15: PUSH1 0x00
00000d17: DUP1
00000d18: RETURNDATACOPY
00000d19: RETURNDATASIZE
00000d1a: PUSH1 0x00
00000d1c: REVERT
00000d1d: JUMPDEST
00000d1e: POP
00000d1f: POP
00000d20: POP
00000d21: POP
00000d22: PUSH1 0x40
00000d24: MLOAD
00000d25: RETURNDATASIZE
00000d26: PUSH1 0x1f
00000d28: NOT
00000d29: PUSH1 0x1f
00000d2b: DUP3
00000d2c: ADD
00000d2d: AND
00000d2e: DUP3
00000d2f: ADD
00000d30: DUP1
00000d31: PUSH1 0x40
00000d33: MSTORE
00000d34: POP
00000d35: PUSH2 0x0d41
00000d38: SWAP2
00000d39: SWAP1
00000d3a: DUP2
00000d3b: ADD
00000d3c: SWAP1
00000d3d: PUSH2 0x3708
00000d40: JUMP
00000d41: JUMPDEST
00000d42: SWAP1
00000d43: POP
00000d44: DUP1
00000d45: PUSH1 0x60
00000d47: ADD
00000d48: MLOAD
00000d49: DUP6
00000d4a: OR
00000d4b: SWAP5
00000d4c: POP
00000d4d: DUP2
00000d4e: PUSH1 0x01
00000d50: PUSH1 0x01
00000d52: PUSH1 0xa0
00000d54: SHL
00000d55: SUB
00000d56: AND
00000d57: DUP4
00000d58: PUSH1 0x01
00000d5a: PUSH1 0x01
00000d5c: PUSH1 0xa0
00000d5e: SHL
00000d5f: SUB
00000d60: AND
00000d61: EQ
00000d62: ISZERO
00000d63: PUSH2 0x0d6f
00000d66: JUMPI
00000d67: POP
00000d68: POP
00000d69: POP
00000d6a: POP
00000d6b: PUSH2 0x10a8
00000d6e: JUMP
00000d6f: JUMPDEST
00000d70: PUSH2 0x0d77
00000d73: PUSH2 0x321a
00000d76: JUMP
00000d77: JUMPDEST
00000d78: DUP8
00000d79: DUP6
00000d7a: PUSH1 0x20
00000d7c: ADD
00000d7d: MLOAD
00000d7e: DUP2
00000d7f: MLOAD
00000d80: DUP2
00000d81: LT
00000d82: PUSH2 0x0d87
00000d85: JUMPI
00000d86: INVALID
00000d87: JUMPDEST
00000d88: PUSH1 0x20
00000d8a: MUL
00000d8b: PUSH1 0x20
00000d8d: ADD
00000d8e: ADD
00000d8f: MLOAD
00000d90: SWAP1
00000d91: POP
00000d92: PUSH2 0x0d99
00000d95: PUSH2 0x321a
00000d98: JUMP
00000d99: JUMPDEST
00000d9a: DUP9
00000d9b: DUP7
00000d9c: PUSH1 0x00
00000d9e: ADD
00000d9f: MLOAD
00000da0: DUP2
00000da1: MLOAD
00000da2: DUP2
00000da3: LT
00000da4: PUSH2 0x0da9
00000da7: JUMPI
00000da8: INVALID
00000da9: JUMPDEST
00000daa: PUSH1 0x20
00000dac: MUL
00000dad: PUSH1 0x20
00000daf: ADD
00000db0: ADD
00000db1: MLOAD
00000db2: SWAP1
00000db3: POP
00000db4: DUP3
00000db5: PUSH1 0x40
00000db7: ADD
00000db8: MLOAD
00000db9: ISZERO
00000dba: PUSH2 0x0e14
00000dbd: JUMPI
00000dbe: DUP3
00000dbf: MLOAD
00000dc0: PUSH2 0x0dd0
00000dc3: SWAP1
00000dc4: DUP4
00000dc5: SWAP1
00000dc6: PUSH4 0xffffffff
00000dcb: PUSH2 0x261a
00000dce: AND
00000dcf: JUMP
00000dd0: JUMPDEST
00000dd1: PUSH1 0x20
00000dd3: DUP4
00000dd4: ADD
00000dd5: MLOAD
00000dd6: PUSH2 0x0de6
00000dd9: SWAP1
00000dda: DUP4
00000ddb: SWAP1
00000ddc: PUSH4 0xffffffff
00000de1: PUSH2 0x27e9
00000de4: AND
00000de5: JUMP
00000de6: JUMPDEST
00000de7: DUP3
00000de8: MLOAD
00000de9: PUSH2 0x0df9
00000dec: SWAP1
00000ded: DUP3
00000dee: SWAP1
00000def: PUSH4 0xffffffff
00000df4: PUSH2 0x281e
00000df7: AND
00000df8: JUMP
00000df9: JUMPDEST
00000dfa: PUSH1 0x20
00000dfc: DUP4
00000dfd: ADD
00000dfe: MLOAD
00000dff: PUSH2 0x0e0f
00000e02: SWAP1
00000e03: DUP3
00000e04: SWAP1
00000e05: PUSH4 0xffffffff
00000e0a: PUSH2 0x2841
00000e0d: AND
00000e0e: JUMP
00000e0f: JUMPDEST
00000e10: PUSH2 0x0e66
00000e13: JUMP
00000e14: JUMPDEST
00000e15: DUP3
00000e16: MLOAD
00000e17: PUSH2 0x0e27
00000e1a: SWAP1
00000e1b: DUP4
00000e1c: SWAP1
00000e1d: PUSH4 0xffffffff
00000e22: PUSH2 0x281e
00000e25: AND
00000e26: JUMP
00000e27: JUMPDEST
00000e28: PUSH1 0x20
00000e2a: DUP4
00000e2b: ADD
00000e2c: MLOAD
00000e2d: PUSH2 0x0e3d
00000e30: SWAP1
00000e31: DUP4
00000e32: SWAP1
00000e33: PUSH4 0xffffffff
00000e38: PUSH2 0x2841
00000e3b: AND
00000e3c: JUMP
00000e3d: JUMPDEST
00000e3e: DUP3
00000e3f: MLOAD
00000e40: PUSH2 0x0e50
00000e43: SWAP1
00000e44: DUP3
00000e45: SWAP1
00000e46: PUSH4 0xffffffff
00000e4b: PUSH2 0x261a
00000e4e: AND
00000e4f: JUMP
00000e50: JUMPDEST
00000e51: PUSH1 0x20
00000e53: DUP4
00000e54: ADD
00000e55: MLOAD
00000e56: PUSH2 0x0e66
00000e59: SWAP1
00000e5a: DUP3
00000e5b: SWAP1
00000e5c: PUSH4 0xffffffff
00000e61: PUSH2 0x27e9
00000e64: AND
00000e65: JUMP
00000e66: JUMPDEST
00000e67: DUP2
00000e68: PUSH1 0x01
00000e6a: PUSH1 0x00
00000e6c: DUP8
00000e6d: PUSH1 0x01
00000e6f: PUSH1 0x01
00000e71: PUSH1 0xa0
00000e73: SHL
00000e74: SUB
00000e75: AND
00000e76: PUSH1 0x01
00000e78: PUSH1 0x01
00000e7a: PUSH1 0xa0
00000e7c: SHL
00000e7d: SUB
00000e7e: AND
00000e7f: DUP2
00000e80: MSTORE
00000e81: PUSH1 0x20
00000e83: ADD
00000e84: SWAP1
00000e85: DUP2
00000e86: MSTORE
00000e87: PUSH1 0x20
00000e89: ADD
00000e8a: PUSH1 0x00
00000e8c: KECCAK256
00000e8d: PUSH1 0x00
00000e8f: DUP3
00000e90: ADD
00000e91: MLOAD
00000e92: DUP2
00000e93: PUSH1 0x00
00000e95: ADD
00000e96: PUSH1 0x00
00000e98: PUSH2 0x0100
00000e9b: EXP
00000e9c: DUP2
00000e9d: SLOAD
00000e9e: DUP2
00000e9f: PUSH1 0xff
00000ea1: MUL
00000ea2: NOT
00000ea3: AND
00000ea4: SWAP1
00000ea5: DUP4
00000ea6: ISZERO
00000ea7: ISZERO
00000ea8: MUL
00000ea9: OR
00000eaa: SWAP1
00000eab: SSTORE
00000eac: POP
00000ead: PUSH1 0x20
00000eaf: DUP3
00000eb0: ADD
00000eb1: MLOAD
00000eb2: DUP2
00000eb3: PUSH1 0x00
00000eb5: ADD
00000eb6: PUSH1 0x01
00000eb8: PUSH2 0x0100
00000ebb: EXP
00000ebc: DUP2
00000ebd: SLOAD
00000ebe: DUP2
00000ebf: PUSH1 0xff
00000ec1: MUL
00000ec2: NOT
00000ec3: AND
00000ec4: SWAP1
00000ec5: DUP4
00000ec6: ISZERO
00000ec7: ISZERO
00000ec8: MUL
00000ec9: OR
00000eca: SWAP1
00000ecb: SSTORE
00000ecc: POP
00000ecd: PUSH1 0x40
00000ecf: DUP3
00000ed0: ADD
00000ed1: MLOAD
00000ed2: DUP2
00000ed3: PUSH1 0x00
00000ed5: ADD
00000ed6: PUSH1 0x02
00000ed8: PUSH2 0x0100
00000edb: EXP
00000edc: DUP2
00000edd: SLOAD
00000ede: DUP2
00000edf: PUSH15 0xffffffffffffffffffffffffffffff
00000eef: MUL
00000ef0: NOT
00000ef1: AND
00000ef2: SWAP1
00000ef3: DUP4
00000ef4: PUSH15 0xffffffffffffffffffffffffffffff
00000f04: AND
00000f05: MUL
00000f06: OR
00000f07: SWAP1
00000f08: SSTORE
00000f09: POP
00000f0a: PUSH1 0x60
00000f0c: DUP3
00000f0d: ADD
00000f0e: MLOAD
00000f0f: DUP2
00000f10: PUSH1 0x00
00000f12: ADD
00000f13: PUSH1 0x11
00000f15: PUSH2 0x0100
00000f18: EXP
00000f19: DUP2
00000f1a: SLOAD
00000f1b: DUP2
00000f1c: PUSH15 0xffffffffffffffffffffffffffffff
00000f2c: MUL
00000f2d: NOT
00000f2e: AND
00000f2f: SWAP1
00000f30: DUP4
00000f31: PUSH15 0xffffffffffffffffffffffffffffff
00000f41: AND
00000f42: MUL
00000f43: OR
00000f44: SWAP1
00000f45: SSTORE
00000f46: POP
00000f47: SWAP1
00000f48: POP
00000f49: POP
00000f4a: DUP1
00000f4b: PUSH1 0x01
00000f4d: PUSH1 0x00
00000f4f: DUP7
00000f50: PUSH1 0x01
00000f52: PUSH1 0x01
00000f54: PUSH1 0xa0
00000f56: SHL
00000f57: SUB
00000f58: AND
00000f59: PUSH1 0x01
00000f5b: PUSH1 0x01
00000f5d: PUSH1 0xa0
00000f5f: SHL
00000f60: SUB
00000f61: AND
00000f62: DUP2
00000f63: MSTORE
00000f64: PUSH1 0x20
00000f66: ADD
00000f67: SWAP1
00000f68: DUP2
00000f69: MSTORE
00000f6a: PUSH1 0x20
00000f6c: ADD
00000f6d: PUSH1 0x00
00000f6f: KECCAK256
00000f70: PUSH1 0x00
00000f72: DUP3
00000f73: ADD
00000f74: MLOAD
00000f75: DUP2
00000f76: PUSH1 0x00
00000f78: ADD
00000f79: PUSH1 0x00
00000f7b: PUSH2 0x0100
00000f7e: EXP
00000f7f: DUP2
00000f80: SLOAD
00000f81: DUP2
00000f82: PUSH1 0xff
00000f84: MUL
00000f85: NOT
00000f86: AND
00000f87: SWAP1
00000f88: DUP4
00000f89: ISZERO
00000f8a: ISZERO
00000f8b: MUL
00000f8c: OR
00000f8d: SWAP1
00000f8e: SSTORE
00000f8f: POP
00000f90: PUSH1 0x20
00000f92: DUP3
00000f93: ADD
00000f94: MLOAD
00000f95: DUP2
00000f96: PUSH1 0x00
00000f98: ADD
00000f99: PUSH1 0x01
00000f9b: PUSH2 0x0100
00000f9e: EXP
00000f9f: DUP2
00000fa0: SLOAD
00000fa1: DUP2
00000fa2: PUSH1 0xff
00000fa4: MUL
00000fa5: NOT
00000fa6: AND
00000fa7: SWAP1
00000fa8: DUP4
00000fa9: ISZERO
00000faa: ISZERO
00000fab: MUL
00000fac: OR
00000fad: SWAP1
00000fae: SSTORE
00000faf: POP
00000fb0: PUSH1 0x40
00000fb2: DUP3
00000fb3: ADD
00000fb4: MLOAD
00000fb5: DUP2
00000fb6: PUSH1 0x00
00000fb8: ADD
00000fb9: PUSH1 0x02
00000fbb: PUSH2 0x0100
00000fbe: EXP
00000fbf: DUP2
00000fc0: SLOAD
00000fc1: DUP2
00000fc2: PUSH15 0xffffffffffffffffffffffffffffff
00000fd2: MUL
00000fd3: NOT
00000fd4: AND
00000fd5: SWAP1
00000fd6: DUP4
00000fd7: PUSH15 0xffffffffffffffffffffffffffffff
00000fe7: AND
00000fe8: MUL
00000fe9: OR
00000fea: SWAP1
00000feb: SSTORE
00000fec: POP
00000fed: PUSH1 0x60
00000fef: DUP3
00000ff0: ADD
00000ff1: MLOAD
00000ff2: DUP2
00000ff3: PUSH1 0x00
00000ff5: ADD
00000ff6: PUSH1 0x11
00000ff8: PUSH2 0x0100
00000ffb: EXP
00000ffc: DUP2
00000ffd: SLOAD
00000ffe: DUP2
00000fff: PUSH15 0xffffffffffffffffffffffffffffff
0000100f: MUL
00001010: NOT
00001011: AND
00001012: SWAP1
00001013: DUP4
00001014: PUSH15 0xffffffffffffffffffffffffffffff
00001024: AND
00001025: MUL
00001026: OR
00001027: SWAP1
00001028: SSTORE
00001029: POP
0000102a: SWAP1
0000102b: POP
0000102c: POP
0000102d: DUP4
0000102e: PUSH1 0x01
00001030: PUSH1 0x01
00001032: PUSH1 0xa0
00001034: SHL
00001035: SUB
00001036: AND
00001037: DUP6
00001038: PUSH1 0x01
0000103a: PUSH1 0x01
0000103c: PUSH1 0xa0
0000103e: SHL
0000103f: SUB
00001040: AND
00001041: PUSH32 0x5171a2ba3550a103fd09ca39b7dcfdf328a5acef18e290c7802d69c8ba73d8d9
00001062: DUP9
00001063: PUSH1 0x40
00001065: ADD
00001066: MLOAD
00001067: DUP7
00001068: PUSH1 0x00
0000106a: ADD
0000106b: MLOAD
0000106c: DUP8
0000106d: PUSH1 0x20
0000106f: ADD
00001070: MLOAD
00001071: DUP9
00001072: PUSH1 0x40
00001074: ADD
00001075: MLOAD
00001076: PUSH2 0x107e
00001079: DUP10
0000107a: PUSH2 0x21b8
0000107d: JUMP
0000107e: JUMPDEST
0000107f: PUSH2 0x1087
00001082: DUP10
00001083: PUSH2 0x21b8
00001086: JUMP
00001087: JUMPDEST
00001088: PUSH1 0x40
0000108a: MLOAD
0000108b: PUSH2 0x1099
0000108e: SWAP7
0000108f: SWAP6
00001090: SWAP5
00001091: SWAP4
00001092: SWAP3
00001093: SWAP2
00001094: SWAP1
00001095: PUSH2 0x4186
00001098: JUMP
00001099: JUMPDEST
0000109a: PUSH1 0x40
0000109c: MLOAD
0000109d: DUP1
0000109e: SWAP2
0000109f: SUB
000010a0: SWAP1
000010a1: LOG3
000010a2: POP
000010a3: POP
000010a4: POP
000010a5: POP
000010a6: POP
000010a7: POP
000010a8: JUMPDEST
000010a9: PUSH1 0x01
000010ab: SWAP1
000010ac: SWAP2
000010ad: ADD
000010ae: SWAP1
000010af: PUSH2 0x0bed
000010b2: JUMP
000010b3: JUMPDEST
000010b4: PUSH2 0x10bf
000010b7: DUP6
000010b8: DUP9
000010b9: DUP7
000010ba: DUP7
000010bb: PUSH2 0x2864
000010be: JUMP
000010bf: JUMPDEST
000010c0: POP
000010c1: POP
000010c2: PUSH1 0x01
000010c4: PUSH1 0x00
000010c6: SSTORE
000010c7: POP
000010c8: POP
000010c9: POP
000010ca: POP
000010cb: POP
000010cc: JUMP
000010cd: JUMPDEST
000010ce: PUSH1 0x00
000010d0: PUSH2 0x10f8
000010d3: PUSH32 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103
000010f4: PUSH2 0x2a9f
000010f7: JUMP
000010f8: JUMPDEST
000010f9: SWAP1
000010fa: POP
000010fb: SWAP1
000010fc: JUMP
000010fd: JUMPDEST
000010fe: PUSH1 0x0a
00001100: SLOAD
00001101: PUSH1 0xff
00001103: AND
00001104: SWAP1
00001105: JUMP
00001106: JUMPDEST
00001107: CALLER
00001108: PUSH1 0x00
0000110a: SWAP1
0000110b: DUP2
0000110c: MSTORE
0000110d: PUSH1 0x03
0000110f: PUSH1 0x20
00001111: MSTORE
00001112: PUSH1 0x40
00001114: DUP2
00001115: KECCAK256
00001116: SLOAD
00001117: PUSH1 0xff
00001119: AND
0000111a: PUSH2 0x1135
0000111d: JUMPI
0000111e: PUSH1 0x40
00001120: MLOAD
00001121: PUSH3 0x461bcd
00001125: PUSH1 0xe5
00001127: SHL
00001128: DUP2
00001129: MSTORE
0000112a: PUSH1 0x04
0000112c: ADD
0000112d: PUSH2 0x03a4
00001130: SWAP1
00001131: PUSH2 0x42ae
00001134: JUMP
00001135: JUMPDEST
00001136: PUSH1 0x06
00001138: PUSH1 0x00
0000113a: SWAP1
0000113b: SLOAD
0000113c: SWAP1
0000113d: PUSH2 0x0100
00001140: EXP
00001141: SWAP1
00001142: DIV
00001143: PUSH1 0x01
00001145: PUSH1 0x01
00001147: PUSH1 0xa0
00001149: SHL
0000114a: SUB
0000114b: AND
0000114c: PUSH1 0x01
0000114e: PUSH1 0x01
00001150: PUSH1 0xa0
00001152: SHL
00001153: SUB
00001154: AND
00001155: PUSH4 0x98d5fdca
0000115a: PUSH1 0x40
0000115c: MLOAD
0000115d: DUP2
0000115e: PUSH4 0xffffffff
00001163: AND
00001164: PUSH1 0xe0
00001166: SHL
00001167: DUP2
00001168: MSTORE
00001169: PUSH1 0x04
0000116b: ADD
0000116c: PUSH1 0x20
0000116e: PUSH1 0x40
00001170: MLOAD
00001171: DUP1
00001172: DUP4
00001173: SUB
00001174: DUP2
00001175: DUP7
00001176: DUP1
00001177: EXTCODESIZE
00001178: ISZERO
00001179: DUP1
0000117a: ISZERO
0000117b: PUSH2 0x1183
0000117e: JUMPI
0000117f: PUSH1 0x00
00001181: DUP1
00001182: REVERT
00001183: JUMPDEST
00001184: POP
00001185: GAS
00001186: STATICCALL
00001187: ISZERO
00001188: DUP1
00001189: ISZERO
0000118a: PUSH2 0x1197
0000118d: JUMPI
0000118e: RETURNDATASIZE
0000118f: PUSH1 0x00
00001191: DUP1
00001192: RETURNDATACOPY
00001193: RETURNDATASIZE
00001194: PUSH1 0x00
00001196: REVERT
00001197: JUMPDEST
00001198: POP
00001199: POP
0000119a: POP
0000119b: POP
0000119c: PUSH1 0x40
0000119e: MLOAD
0000119f: RETURNDATASIZE
000011a0: PUSH1 0x1f
000011a2: NOT
000011a3: PUSH1 0x1f
000011a5: DUP3
000011a6: ADD
000011a7: AND
000011a8: DUP3
000011a9: ADD
000011aa: DUP1
000011ab: PUSH1 0x40
000011ad: MSTORE
000011ae: POP
000011af: PUSH2 0x10f8
000011b2: SWAP2
000011b3: SWAP1
000011b4: DUP2
000011b5: ADD
000011b6: SWAP1
000011b7: PUSH2 0x3744
000011ba: JUMP
000011bb: JUMPDEST
000011bc: PUSH2 0x11c3
000011bf: PUSH2 0x10cd
000011c2: JUMP
000011c3: JUMPDEST
000011c4: PUSH1 0x01
000011c6: PUSH1 0x01
000011c8: PUSH1 0xa0
000011ca: SHL
000011cb: SUB
000011cc: AND
000011cd: CALLER
000011ce: PUSH1 0x01
000011d0: PUSH1 0x01
000011d2: PUSH1 0xa0
000011d4: SHL
000011d5: SUB
000011d6: AND
000011d7: EQ
000011d8: PUSH2 0x11f3
000011db: JUMPI
000011dc: PUSH1 0x40
000011de: MLOAD
000011df: PUSH3 0x461bcd
000011e3: PUSH1 0xe5
000011e5: SHL
000011e6: DUP2
000011e7: MSTORE
000011e8: PUSH1 0x04
000011ea: ADD
000011eb: PUSH2 0x03a4
000011ee: SWAP1
000011ef: PUSH2 0x42be
000011f2: JUMP
000011f3: JUMPDEST
000011f4: PUSH1 0x00
000011f6: NOT
000011f7: PUSH1 0x00
000011f9: SLOAD
000011fa: EQ
000011fb: ISZERO
000011fc: PUSH2 0x1217
000011ff: JUMPI
00001200: PUSH1 0x40
00001202: MLOAD
00001203: PUSH3 0x461bcd
00001207: PUSH1 0xe5
00001209: SHL
0000120a: DUP2
0000120b: MSTORE
0000120c: PUSH1 0x04
0000120e: ADD
0000120f: PUSH2 0x03a4
00001212: SWAP1
00001213: PUSH2 0x435e
00001216: JUMP
00001217: JUMPDEST
00001218: PUSH1 0x00
0000121a: NOT
0000121b: PUSH1 0x00
0000121d: DUP2
0000121e: SWAP1
0000121f: SSTORE
00001220: POP
00001221: DUP1
00001222: PUSH1 0x01
00001224: PUSH1 0x01
00001226: PUSH1 0xa0
00001228: SHL
00001229: SUB
0000122a: AND
0000122b: PUSH4 0x98d5fdca
00001230: PUSH1 0x40
00001232: MLOAD
00001233: DUP2
00001234: PUSH4 0xffffffff
00001239: AND
0000123a: PUSH1 0xe0
0000123c: SHL
0000123d: DUP2
0000123e: MSTORE
0000123f: PUSH1 0x04
00001241: ADD
00001242: PUSH1 0x20
00001244: PUSH1 0x40
00001246: MLOAD
00001247: DUP1
00001248: DUP4
00001249: SUB
0000124a: DUP2
0000124b: DUP7
0000124c: DUP1
0000124d: EXTCODESIZE
0000124e: ISZERO
0000124f: DUP1
00001250: ISZERO
00001251: PUSH2 0x1259
00001254: JUMPI
00001255: PUSH1 0x00
00001257: DUP1
00001258: REVERT
00001259: JUMPDEST
0000125a: POP
0000125b: GAS
0000125c: STATICCALL
0000125d: ISZERO
0000125e: DUP1
0000125f: ISZERO
00001260: PUSH2 0x126d
00001263: JUMPI
00001264: RETURNDATASIZE
00001265: PUSH1 0x00
00001267: DUP1
00001268: RETURNDATACOPY
00001269: RETURNDATASIZE
0000126a: PUSH1 0x00
0000126c: REVERT
0000126d: JUMPDEST
0000126e: POP
0000126f: POP
00001270: POP
00001271: POP
00001272: PUSH1 0x40
00001274: MLOAD
00001275: RETURNDATASIZE
00001276: PUSH1 0x1f
00001278: NOT
00001279: PUSH1 0x1f
0000127b: DUP3
0000127c: ADD
0000127d: AND
0000127e: DUP3
0000127f: ADD
00001280: DUP1
00001281: PUSH1 0x40
00001283: MSTORE
00001284: POP
00001285: PUSH2 0x1291
00001288: SWAP2
00001289: SWAP1
0000128a: DUP2
0000128b: ADD
0000128c: SWAP1
0000128d: PUSH2 0x3744
00001290: JUMP
00001291: JUMPDEST
00001292: PUSH2 0x12ad
00001295: JUMPI
00001296: PUSH1 0x40
00001298: MLOAD
00001299: PUSH3 0x461bcd
0000129d: PUSH1 0xe5
0000129f: SHL
000012a0: DUP2
000012a1: MSTORE
000012a2: PUSH1 0x04
000012a4: ADD
000012a5: PUSH2 0x03a4
000012a8: SWAP1
000012a9: PUSH2 0x42fe
000012ac: JUMP
000012ad: JUMPDEST
000012ae: PUSH1 0x06
000012b0: DUP1
000012b1: SLOAD
000012b2: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
000012d3: AND
000012d4: PUSH1 0x01
000012d6: PUSH1 0x01
000012d8: PUSH1 0xa0
000012da: SHL
000012db: SUB
000012dc: DUP4
000012dd: AND
000012de: OR
000012df: SWAP1
000012e0: SSTORE
000012e1: PUSH1 0x40
000012e3: MLOAD
000012e4: PUSH32 0xad675642c3cba5442815383698d42cd28889533d9671a6d32cffea58ef0874da
00001305: SWAP1
00001306: PUSH2 0x04d1
00001309: SWAP1
0000130a: DUP4
0000130b: SWAP1
0000130c: PUSH2 0x409e
0000130f: JUMP
00001310: JUMPDEST
00001311: PUSH2 0x1318
00001314: PUSH2 0x3272
00001317: JUMP
00001318: JUMPDEST
00001319: POP
0000131a: PUSH1 0x40
0000131c: DUP1
0000131d: MLOAD
0000131e: PUSH1 0x60
00001320: DUP2
00001321: ADD
00001322: DUP3
00001323: MSTORE
00001324: PUSH1 0x08
00001326: SLOAD
00001327: PUSH4 0xffffffff
0000132c: DUP2
0000132d: AND
0000132e: DUP3
0000132f: MSTORE
00001330: PUSH5 0x0100000000
00001336: DUP2
00001337: DIV
00001338: PUSH1 0xff
0000133a: AND
0000133b: ISZERO
0000133c: ISZERO
0000133d: PUSH1 0x20
0000133f: DUP4
00001340: ADD
00001341: MSTORE
00001342: PUSH6 0x010000000000
00001349: SWAP1
0000134a: DIV
0000134b: PUSH16 0xffffffffffffffffffffffffffffffff
0000135c: AND
0000135d: SWAP2
0000135e: DUP2
0000135f: ADD
00001360: SWAP2
00001361: SWAP1
00001362: SWAP2
00001363: MSTORE
00001364: SWAP1
00001365: JUMP
00001366: JUMPDEST
00001367: PUSH2 0x136e
0000136a: PUSH2 0x10cd
0000136d: JUMP
0000136e: JUMPDEST
0000136f: PUSH1 0x01
00001371: PUSH1 0x01
00001373: PUSH1 0xa0
00001375: SHL
00001376: SUB
00001377: AND
00001378: CALLER
00001379: PUSH1 0x01
0000137b: PUSH1 0x01
0000137d: PUSH1 0xa0
0000137f: SHL
00001380: SUB
00001381: AND
00001382: EQ
00001383: PUSH2 0x139e
00001386: JUMPI
00001387: PUSH1 0x40
00001389: MLOAD
0000138a: PUSH3 0x461bcd
0000138e: PUSH1 0xe5
00001390: SHL
00001391: DUP2
00001392: MSTORE
00001393: PUSH1 0x04
00001395: ADD
00001396: PUSH2 0x03a4
00001399: SWAP1
0000139a: PUSH2 0x42be
0000139d: JUMP
0000139e: JUMPDEST
0000139f: PUSH1 0x00
000013a1: NOT
000013a2: PUSH1 0x00
000013a4: SLOAD
000013a5: EQ
000013a6: ISZERO
000013a7: PUSH2 0x13c2
000013aa: JUMPI
000013ab: PUSH1 0x40
000013ad: MLOAD
000013ae: PUSH3 0x461bcd
000013b2: PUSH1 0xe5
000013b4: SHL
000013b5: DUP2
000013b6: MSTORE
000013b7: PUSH1 0x04
000013b9: ADD
000013ba: PUSH2 0x03a4
000013bd: SWAP1
000013be: PUSH2 0x435e
000013c1: JUMP
000013c2: JUMPDEST
000013c3: PUSH1 0x00
000013c5: NOT
000013c6: PUSH1 0x00
000013c8: SSTORE
000013c9: PUSH2 0x13d0
000013cc: PUSH2 0x201b
000013cf: JUMP
000013d0: JUMPDEST
000013d1: DUP2
000013d2: LT
000013d3: ISZERO
000013d4: PUSH2 0x13ef
000013d7: JUMPI
000013d8: PUSH1 0x40
000013da: MLOAD
000013db: PUSH3 0x461bcd
000013df: PUSH1 0xe5
000013e1: SHL
000013e2: DUP2
000013e3: MSTORE
000013e4: PUSH1 0x04
000013e6: ADD
000013e7: PUSH2 0x03a4
000013ea: SWAP1
000013eb: PUSH2 0x423e
000013ee: JUMP
000013ef: JUMPDEST
000013f0: PUSH1 0x09
000013f2: DUP2
000013f3: SWAP1
000013f4: SSTORE
000013f5: PUSH1 0x40
000013f7: MLOAD
000013f8: PUSH32 0x248b36ced4662a14c995e0872f00eb61be4e3dea3913226cdeb513d64728cdca
00001419: SWAP1
0000141a: PUSH2 0x04d1
0000141d: SWAP1
0000141e: DUP4
0000141f: SWAP1
00001420: PUSH2 0x41f1
00001423: JUMP
00001424: JUMPDEST
00001425: PUSH1 0x00
00001427: DUP2
00001428: PUSH1 0x01
0000142a: PUSH1 0x01
0000142c: PUSH1 0xa0
0000142e: SHL
0000142f: SUB
00001430: AND
00001431: DUP4
00001432: PUSH1 0x01
00001434: PUSH1 0x01
00001436: PUSH1 0xa0
00001438: SHL
00001439: SUB
0000143a: AND
0000143b: EQ
0000143c: DUP1
0000143d: PUSH2 0x145e
00001440: JUMPI
00001441: POP
00001442: PUSH1 0x01
00001444: PUSH1 0x01
00001446: PUSH1 0xa0
00001448: SHL
00001449: SUB
0000144a: DUP3
0000144b: AND
0000144c: PUSH1 0x00
0000144e: SWAP1
0000144f: DUP2
00001450: MSTORE
00001451: PUSH1 0x03
00001453: PUSH1 0x20
00001455: MSTORE
00001456: PUSH1 0x40
00001458: SWAP1
00001459: KECCAK256
0000145a: SLOAD
0000145b: PUSH1 0xff
0000145d: AND
0000145e: JUMPDEST
0000145f: DUP1
00001460: PUSH2 0x148e
00001463: JUMPI
00001464: POP
00001465: PUSH1 0x01
00001467: PUSH1 0x01
00001469: PUSH1 0xa0
0000146b: SHL
0000146c: SUB
0000146d: DUP1
0000146e: DUP5
0000146f: AND
00001470: PUSH1 0x00
00001472: SWAP1
00001473: DUP2
00001474: MSTORE
00001475: PUSH1 0x04
00001477: PUSH1 0x20
00001479: SWAP1
0000147a: DUP2
0000147b: MSTORE
0000147c: PUSH1 0x40
0000147e: DUP1
0000147f: DUP4
00001480: KECCAK256
00001481: SWAP4
00001482: DUP7
00001483: AND
00001484: DUP4
00001485: MSTORE
00001486: SWAP3
00001487: SWAP1
00001488: MSTORE
00001489: KECCAK256
0000148a: SLOAD
0000148b: PUSH1 0xff
0000148d: AND
0000148e: JUMPDEST
0000148f: SWAP4
00001490: SWAP3
00001491: POP
00001492: POP
00001493: POP
00001494: JUMP
00001495: JUMPDEST
00001496: PUSH2 0x149d
00001499: PUSH2 0x321a
0000149c: JUMP
0000149d: JUMPDEST
0000149e: POP
0000149f: PUSH1 0x01
000014a1: PUSH1 0x01
000014a3: PUSH1 0xa0
000014a5: SHL
000014a6: SUB
000014a7: AND
000014a8: PUSH1 0x00
000014aa: SWAP1
000014ab: DUP2
000014ac: MSTORE
000014ad: PUSH1 0x01
000014af: PUSH1 0x20
000014b1: SWAP1
000014b2: DUP2
000014b3: MSTORE
000014b4: PUSH1 0x40
000014b6: SWAP2
000014b7: DUP3
000014b8: SWAP1
000014b9: KECCAK256
000014ba: DUP3
000014bb: MLOAD
000014bc: PUSH1 0x80
000014be: DUP2
000014bf: ADD
000014c0: DUP5
000014c1: MSTORE
000014c2: SWAP1
000014c3: SLOAD
000014c4: PUSH1 0xff
000014c6: DUP1
000014c7: DUP3
000014c8: AND
000014c9: ISZERO
000014ca: ISZERO
000014cb: DUP4
000014cc: MSTORE
000014cd: PUSH2 0x0100
000014d0: DUP3
000014d1: DIV
000014d2: AND
000014d3: ISZERO
000014d4: ISZERO
000014d5: SWAP3
000014d6: DUP3
000014d7: ADD
000014d8: SWAP3
000014d9: SWAP1
000014da: SWAP3
000014db: MSTORE
000014dc: PUSH15 0xffffffffffffffffffffffffffffff
000014ec: PUSH3 0x010000
000014f0: DUP4
000014f1: DIV
000014f2: DUP2
000014f3: AND
000014f4: SWAP4
000014f5: DUP3
000014f6: ADD
000014f7: SWAP4
000014f8: SWAP1
000014f9: SWAP4
000014fa: MSTORE
000014fb: PUSH18 0x010000000000000000000000000000000000
0000150e: SWAP1
0000150f: SWAP2
00001510: DIV
00001511: SWAP1
00001512: SWAP2
00001513: AND
00001514: PUSH1 0x60
00001516: DUP3
00001517: ADD
00001518: MSTORE
00001519: SWAP1
0000151a: JUMP
0000151b: JUMPDEST
0000151c: PUSH2 0x1523
0000151f: PUSH2 0x3272
00001522: JUMP
00001523: JUMPDEST
00001524: POP
00001525: PUSH1 0x01
00001527: PUSH1 0x01
00001529: PUSH1 0xa0
0000152b: SHL
0000152c: SUB
0000152d: AND
0000152e: PUSH1 0x00
00001530: SWAP1
00001531: DUP2
00001532: MSTORE
00001533: PUSH1 0x02
00001535: PUSH1 0x20
00001537: SWAP1
00001538: DUP2
00001539: MSTORE
0000153a: PUSH1 0x40
0000153c: SWAP2
0000153d: DUP3
0000153e: SWAP1
0000153f: KECCAK256
00001540: DUP3
00001541: MLOAD
00001542: PUSH1 0x60
00001544: DUP2
00001545: ADD
00001546: DUP5
00001547: MSTORE
00001548: SWAP1
00001549: SLOAD
0000154a: PUSH4 0xffffffff
0000154f: DUP2
00001550: AND
00001551: DUP3
00001552: MSTORE
00001553: PUSH5 0x0100000000
00001559: DUP2
0000155a: DIV
0000155b: PUSH1 0xff
0000155d: AND
0000155e: ISZERO
0000155f: ISZERO
00001560: SWAP3
00001561: DUP3
00001562: ADD
00001563: SWAP3
00001564: SWAP1
00001565: SWAP3
00001566: MSTORE
00001567: PUSH6 0x010000000000
0000156e: SWAP1
0000156f: SWAP2
00001570: DIV
00001571: PUSH16 0xffffffffffffffffffffffffffffffff
00001582: AND
00001583: SWAP2
00001584: DUP2
00001585: ADD
00001586: SWAP2
00001587: SWAP1
00001588: SWAP2
00001589: MSTORE
0000158a: SWAP1
0000158b: JUMP
0000158c: JUMPDEST
0000158d: PUSH2 0x1594
00001590: PUSH2 0x10cd
00001593: JUMP
00001594: JUMPDEST
00001595: PUSH1 0x01
00001597: PUSH1 0x01
00001599: PUSH1 0xa0
0000159b: SHL
0000159c: SUB
0000159d: AND
0000159e: CALLER
0000159f: PUSH1 0x01
000015a1: PUSH1 0x01
000015a3: PUSH1 0xa0
000015a5: SHL
000015a6: SUB
000015a7: AND
000015a8: EQ
000015a9: PUSH2 0x15c4
000015ac: JUMPI
000015ad: PUSH1 0x40
000015af: MLOAD
000015b0: PUSH3 0x461bcd
000015b4: PUSH1 0xe5
000015b6: SHL
000015b7: DUP2
000015b8: MSTORE
000015b9: PUSH1 0x04
000015bb: ADD
000015bc: PUSH2 0x03a4
000015bf: SWAP1
000015c0: PUSH2 0x42be
000015c3: JUMP
000015c4: JUMPDEST
000015c5: PUSH1 0x00
000015c7: NOT
000015c8: PUSH1 0x00
000015ca: SLOAD
000015cb: EQ
000015cc: ISZERO
000015cd: PUSH2 0x15e8
000015d0: JUMPI
000015d1: PUSH1 0x40
000015d3: MLOAD
000015d4: PUSH3 0x461bcd
000015d8: PUSH1 0xe5
000015da: SHL
000015db: DUP2
000015dc: MSTORE
000015dd: PUSH1 0x04
000015df: ADD
000015e0: PUSH2 0x03a4
000015e3: SWAP1
000015e4: PUSH2 0x435e
000015e7: JUMP
000015e8: JUMPDEST
000015e9: PUSH1 0x00
000015eb: NOT
000015ec: PUSH1 0x00
000015ee: SSTORE
000015ef: PUSH1 0x40
000015f1: MLOAD
000015f2: PUSH2 0x1610
000015f5: SWAP1
000015f6: PUSH1 0x01
000015f8: SWAP1
000015f9: PUSH2 0x1601
000015fc: SWAP1
000015fd: PUSH2 0x4093
00001600: JUMP
00001601: JUMPDEST
00001602: PUSH1 0x40
00001604: MLOAD
00001605: SWAP1
00001606: DUP2
00001607: SWAP1
00001608: SUB
00001609: SWAP1
0000160a: KECCAK256
0000160b: SUB
0000160c: PUSH2 0x2a9f
0000160f: JUMP
00001610: JUMPDEST
00001611: ISZERO
00001612: PUSH2 0x162d
00001615: JUMPI
00001616: PUSH1 0x40
00001618: MLOAD
00001619: PUSH3 0x461bcd
0000161d: PUSH1 0xe5
0000161f: SHL
00001620: DUP2
00001621: MSTORE
00001622: PUSH1 0x04
00001624: ADD
00001625: PUSH2 0x03a4
00001628: SWAP1
00001629: PUSH2 0x42de
0000162c: JUMP
0000162d: JUMPDEST
0000162e: PUSH2 0x164f
00001631: PUSH1 0x01
00001633: PUSH1 0x40
00001635: MLOAD
00001636: PUSH2 0x163e
00001639: SWAP1
0000163a: PUSH2 0x4093
0000163d: JUMP
0000163e: JUMPDEST
0000163f: PUSH1 0x40
00001641: MLOAD
00001642: SWAP1
00001643: DUP2
00001644: SWAP1
00001645: SUB
00001646: SWAP1
00001647: KECCAK256
00001648: SUB
00001649: PUSH1 0x01
0000164b: PUSH2 0x2aa3
0000164e: JUMP
0000164f: JUMPDEST
00001650: PUSH1 0x05
00001652: DUP1
00001653: SLOAD
00001654: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
00001675: SWAP1
00001676: DUP2
00001677: AND
00001678: PUSH1 0x01
0000167a: PUSH1 0x01
0000167c: PUSH1 0xa0
0000167e: SHL
0000167f: SUB
00001680: SWAP7
00001681: DUP8
00001682: AND
00001683: OR
00001684: SWAP1
00001685: SWAP2
00001686: SSTORE
00001687: PUSH1 0x06
00001689: DUP1
0000168a: SLOAD
0000168b: DUP3
0000168c: AND
0000168d: SWAP5
0000168e: DUP7
0000168f: AND
00001690: SWAP5
00001691: SWAP1
00001692: SWAP5
00001693: OR
00001694: SWAP1
00001695: SWAP4
00001696: SSTORE
00001697: PUSH1 0x07
00001699: DUP1
0000169a: SLOAD
0000169b: SWAP1
0000169c: SWAP4
0000169d: AND
0000169e: SWAP2
0000169f: SWAP1
000016a0: SWAP4
000016a1: AND
000016a2: OR
000016a3: SWAP1
000016a4: SSTORE
000016a5: PUSH1 0x09
000016a7: SSTORE
000016a8: PUSH1 0x40
000016aa: DUP1
000016ab: MLOAD
000016ac: PUSH1 0x60
000016ae: DUP2
000016af: ADD
000016b0: DUP3
000016b1: MSTORE
000016b2: TIMESTAMP
000016b3: PUSH4 0xffffffff
000016b8: AND
000016b9: DUP1
000016ba: DUP3
000016bb: MSTORE
000016bc: PUSH1 0x00
000016be: PUSH1 0x20
000016c0: DUP4
000016c1: ADD
000016c2: DUP2
000016c3: SWAP1
000016c4: MSTORE
000016c5: SWAP2
000016c6: SWAP1
000016c7: SWAP3
000016c8: ADD
000016c9: DUP2
000016ca: SWAP1
000016cb: MSTORE
000016cc: PUSH1 0x08
000016ce: DUP1
000016cf: SLOAD
000016d0: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000
000016f1: AND
000016f2: SWAP1
000016f3: SWAP3
000016f4: OR
000016f5: PUSH32 0xffffffffffffffffffffff0000000000000000000000000000000000ffffffff
00001716: AND
00001717: SWAP1
00001718: SWAP2
00001719: SSTORE
0000171a: PUSH1 0x01
0000171c: SWAP1
0000171d: SSTORE
0000171e: JUMP
0000171f: JUMPDEST
00001720: CALLER
00001721: PUSH1 0x00
00001723: DUP2
00001724: DUP2
00001725: MSTORE
00001726: PUSH1 0x04
00001728: PUSH1 0x20
0000172a: SWAP1
0000172b: DUP2
0000172c: MSTORE
0000172d: PUSH1 0x40
0000172f: DUP1
00001730: DUP4
00001731: KECCAK256
00001732: PUSH1 0x01
00001734: PUSH1 0x01
00001736: PUSH1 0xa0
00001738: SHL
00001739: SUB
0000173a: DUP8
0000173b: AND
0000173c: DUP5
0000173d: MSTORE
0000173e: SWAP1
0000173f: SWAP2
00001740: MSTORE
00001741: SWAP1
00001742: DUP2
00001743: SWAP1
00001744: KECCAK256
00001745: DUP1
00001746: SLOAD
00001747: PUSH1 0xff
00001749: NOT
0000174a: AND
0000174b: DUP5
0000174c: ISZERO
0000174d: ISZERO
0000174e: OR
0000174f: SWAP1
00001750: SSTORE
00001751: MLOAD
00001752: PUSH32 0xfe9fa8ad7dbd5e50cbcd1a903ea64717cb80b02e6b737e74f7e2f070b3e4d15f
00001773: SWAP1
00001774: PUSH2 0x1780
00001777: SWAP1
00001778: DUP6
00001779: SWAP1
0000177a: DUP6
0000177b: SWAP1
0000177c: PUSH2 0x4135
0000177f: JUMP
00001780: JUMPDEST
00001781: PUSH1 0x40
00001783: MLOAD
00001784: DUP1
00001785: SWAP2
00001786: SUB
00001787: SWAP1
00001788: LOG2
00001789: POP
0000178a: POP
0000178b: JUMP
0000178c: JUMPDEST
0000178d: PUSH1 0x0a
0000178f: SLOAD
00001790: PUSH1 0xff
00001792: AND
00001793: ISZERO
00001794: PUSH2 0x17af
00001797: JUMPI
00001798: PUSH1 0x40
0000179a: MLOAD
0000179b: PUSH3 0x461bcd
0000179f: PUSH1 0xe5
000017a1: SHL
000017a2: DUP2
000017a3: MSTORE
000017a4: PUSH1 0x04
000017a6: ADD
000017a7: PUSH2 0x03a4
000017aa: SWAP1
000017ab: PUSH2 0x42ce
000017ae: JUMP
000017af: JUMPDEST
000017b0: PUSH1 0x00
000017b2: NOT
000017b3: PUSH1 0x00
000017b5: SLOAD
000017b6: EQ
000017b7: ISZERO
000017b8: PUSH2 0x17d3
000017bb: JUMPI
000017bc: PUSH1 0x40
000017be: MLOAD
000017bf: PUSH3 0x461bcd
000017c3: PUSH1 0xe5
000017c5: SHL
000017c6: DUP2
000017c7: MSTORE
000017c8: PUSH1 0x04
000017ca: ADD
000017cb: PUSH2 0x03a4
000017ce: SWAP1
000017cf: PUSH2 0x435e
000017d2: JUMP
000017d3: JUMPDEST
000017d4: PUSH1 0x00
000017d6: NOT
000017d7: PUSH1 0x00
000017d9: SSTORE
000017da: PUSH2 0x17e3
000017dd: DUP4
000017de: CALLER
000017df: PUSH2 0x1424
000017e2: JUMP
000017e3: JUMPDEST
000017e4: PUSH2 0x17ff
000017e7: JUMPI
000017e8: PUSH1 0x40
000017ea: MLOAD
000017eb: PUSH3 0x461bcd
000017ef: PUSH1 0xe5
000017f1: SHL
000017f2: DUP2
000017f3: MSTORE
000017f4: PUSH1 0x04
000017f6: ADD
000017f7: PUSH2 0x03a4
000017fa: SWAP1
000017fb: PUSH2 0x421e
000017fe: JUMP
000017ff: JUMPDEST
00001800: PUSH2 0x1807
00001803: PUSH2 0x31f4
00001806: JUMP
00001807: JUMPDEST
00001808: PUSH2 0x180f
0000180b: PUSH2 0x224d
0000180e: JUMP
0000180f: JUMPDEST
00001810: SWAP1
00001811: POP
00001812: PUSH2 0x1819
00001815: PUSH2 0x321a
00001818: JUMP
00001819: JUMPDEST
0000181a: PUSH2 0x1823
0000181d: DUP3
0000181e: DUP7
0000181f: PUSH2 0x1af6
00001822: JUMP
00001823: JUMPDEST
00001824: PUSH1 0x05
00001826: SLOAD
00001827: SWAP1
00001828: SWAP2
00001829: POP
0000182a: PUSH2 0x183d
0000182d: SWAP1
0000182e: PUSH1 0x01
00001830: PUSH1 0x01
00001832: PUSH1 0xa0
00001834: SHL
00001835: SUB
00001836: AND
00001837: DUP6
00001838: DUP6
00001839: PUSH2 0x20f6
0000183c: JUMP
0000183d: JUMPDEST
0000183e: PUSH2 0x184d
00001841: DUP2
00001842: DUP5
00001843: PUSH4 0xffffffff
00001848: PUSH2 0x281e
0000184b: AND
0000184c: JUMP
0000184d: JUMPDEST
0000184e: PUSH1 0x01
00001850: PUSH1 0x01
00001852: PUSH1 0xa0
00001854: SHL
00001855: SUB
00001856: DUP6
00001857: AND
00001858: PUSH1 0x00
0000185a: SWAP1
0000185b: DUP2
0000185c: MSTORE
0000185d: PUSH1 0x01
0000185f: PUSH1 0x20
00001861: SWAP1
00001862: DUP2
00001863: MSTORE
00001864: PUSH1 0x40
00001866: SWAP2
00001867: DUP3
00001868: SWAP1
00001869: KECCAK256
0000186a: DUP4
0000186b: MLOAD
0000186c: DUP2
0000186d: SLOAD
0000186e: SWAP3
0000186f: DUP6
00001870: ADD
00001871: MLOAD
00001872: SWAP4
00001873: DUP6
00001874: ADD
00001875: MLOAD
00001876: PUSH1 0x60
00001878: DUP7
00001879: ADD
0000187a: MLOAD
0000187b: PUSH1 0xff
0000187d: NOT
0000187e: SWAP1
0000187f: SWAP5
00001880: AND
00001881: SWAP2
00001882: ISZERO
00001883: ISZERO
00001884: SWAP2
00001885: SWAP1
00001886: SWAP2
00001887: OR
00001888: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
000018a9: AND
000018aa: PUSH2 0x0100
000018ad: SWAP5
000018ae: ISZERO
000018af: ISZERO
000018b0: SWAP5
000018b1: SWAP1
000018b2: SWAP5
000018b3: MUL
000018b4: SWAP4
000018b5: SWAP1
000018b6: SWAP4
000018b7: OR
000018b8: PUSH32 0xffffffffffffffffffffffffffffff000000000000000000000000000000ffff
000018d9: AND
000018da: PUSH3 0x010000
000018de: PUSH15 0xffffffffffffffffffffffffffffff
000018ee: SWAP5
000018ef: DUP6
000018f0: AND
000018f1: MUL
000018f2: OR
000018f3: PUSH17 0xffffffffffffffffffffffffffffffffff
00001905: AND
00001906: PUSH18 0x010000000000000000000000000000000000
00001919: SWAP4
0000191a: SWAP1
0000191b: SWAP3
0000191c: AND
0000191d: SWAP3
0000191e: SWAP1
0000191f: SWAP3
00001920: MUL
00001921: OR
00001922: SWAP1
00001923: SSTORE
00001924: PUSH2 0x192d
00001927: DUP3
00001928: DUP3
00001929: PUSH2 0x2aa7
0000192c: JUMP
0000192d: JUMPDEST
0000192e: PUSH2 0x1949
00001931: JUMPI
00001932: PUSH1 0x40
00001934: MLOAD
00001935: PUSH3 0x461bcd
00001939: PUSH1 0xe5
0000193b: SHL
0000193c: DUP2
0000193d: MSTORE
0000193e: PUSH1 0x04
00001940: ADD
00001941: PUSH2 0x03a4
00001944: SWAP1
00001945: PUSH2 0x432e
00001948: JUMP
00001949: JUMPDEST
0000194a: DUP5
0000194b: PUSH1 0x01
0000194d: PUSH1 0x01
0000194f: PUSH1 0xa0
00001951: SHL
00001952: SUB
00001953: AND
00001954: PUSH32 0x74348e8cb927b5536fe550310d0cdf05914498fcb04ad61b99c29e3899b0bce9
00001975: DUP6
00001976: DUP6
00001977: PUSH2 0x197f
0000197a: DUP6
0000197b: PUSH2 0x21b8
0000197e: JUMP
0000197f: JUMPDEST
00001980: PUSH1 0x40
00001982: MLOAD
00001983: PUSH2 0x198e
00001986: SWAP4
00001987: SWAP3
00001988: SWAP2
00001989: SWAP1
0000198a: PUSH2 0x416b
0000198d: JUMP
0000198e: JUMPDEST
0000198f: PUSH1 0x40
00001991: MLOAD
00001992: DUP1
00001993: SWAP2
00001994: SUB
00001995: SWAP1
00001996: LOG2
00001997: POP
00001998: POP
00001999: PUSH1 0x01
0000199b: PUSH1 0x00
0000199d: SSTORE
0000199e: POP
0000199f: POP
000019a0: POP
000019a1: JUMP
000019a2: JUMPDEST
000019a3: PUSH1 0x07
000019a5: SLOAD
000019a6: PUSH1 0x01
000019a8: PUSH1 0x01
000019aa: PUSH1 0xa0
000019ac: SHL
000019ad: SUB
000019ae: AND
000019af: SWAP1
000019b0: JUMP
000019b1: JUMPDEST
000019b2: PUSH1 0x06
000019b4: SLOAD
000019b5: PUSH1 0x01
000019b7: PUSH1 0x01
000019b9: PUSH1 0xa0
000019bb: SHL
000019bc: SUB
000019bd: AND
000019be: SWAP1
000019bf: JUMP
000019c0: JUMPDEST
000019c1: PUSH1 0x09
000019c3: SLOAD
000019c4: SWAP1
000019c5: JUMP
000019c6: JUMPDEST
000019c7: PUSH2 0x19ce
000019ca: PUSH2 0x10cd
000019cd: JUMP
000019ce: JUMPDEST
000019cf: PUSH1 0x01
000019d1: PUSH1 0x01
000019d3: PUSH1 0xa0
000019d5: SHL
000019d6: SUB
000019d7: AND
000019d8: CALLER
000019d9: PUSH1 0x01
000019db: PUSH1 0x01
000019dd: PUSH1 0xa0
000019df: SHL
000019e0: SUB
000019e1: AND
000019e2: EQ
000019e3: PUSH2 0x19fe
000019e6: JUMPI
000019e7: PUSH1 0x40
000019e9: MLOAD
000019ea: PUSH3 0x461bcd
000019ee: PUSH1 0xe5
000019f0: SHL
000019f1: DUP2
000019f2: MSTORE
000019f3: PUSH1 0x04
000019f5: ADD
000019f6: PUSH2 0x03a4
000019f9: SWAP1
000019fa: PUSH2 0x42be
000019fd: JUMP
000019fe: JUMPDEST
000019ff: PUSH1 0x0a
00001a01: SLOAD
00001a02: PUSH1 0xff
00001a04: AND
00001a05: ISZERO
00001a06: PUSH2 0x1a21
00001a09: JUMPI
00001a0a: PUSH1 0x40
00001a0c: MLOAD
00001a0d: PUSH3 0x461bcd
00001a11: PUSH1 0xe5
00001a13: SHL
00001a14: DUP2
00001a15: MSTORE
00001a16: PUSH1 0x04
00001a18: ADD
00001a19: PUSH2 0x03a4
00001a1c: SWAP1
00001a1d: PUSH2 0x42ce
00001a20: JUMP
00001a21: JUMPDEST
00001a22: PUSH1 0x00
00001a24: NOT
00001a25: PUSH1 0x00
00001a27: SLOAD
00001a28: EQ
00001a29: ISZERO
00001a2a: PUSH2 0x1a45
00001a2d: JUMPI
00001a2e: PUSH1 0x40
00001a30: MLOAD
00001a31: PUSH3 0x461bcd
00001a35: PUSH1 0xe5
00001a37: SHL
00001a38: DUP2
00001a39: MSTORE
00001a3a: PUSH1 0x04
00001a3c: ADD
00001a3d: PUSH2 0x03a4
00001a40: SWAP1
00001a41: PUSH2 0x435e
00001a44: JUMP
00001a45: JUMPDEST
00001a46: PUSH1 0x00
00001a48: NOT
00001a49: PUSH1 0x00
00001a4b: SSTORE
00001a4c: PUSH2 0x1a53
00001a4f: PUSH2 0x31f4
00001a52: JUMP
00001a53: JUMPDEST
00001a54: PUSH2 0x1a5b
00001a57: PUSH2 0x224d
00001a5a: JUMP
00001a5b: JUMPDEST
00001a5c: SWAP1
00001a5d: POP
00001a5e: DUP3
00001a5f: DUP2
00001a60: PUSH1 0x00
00001a62: ADD
00001a63: MLOAD
00001a64: LT
00001a65: ISZERO
00001a66: PUSH2 0x1a81
00001a69: JUMPI
00001a6a: PUSH1 0x40
00001a6c: MLOAD
00001a6d: PUSH3 0x461bcd
00001a71: PUSH1 0xe5
00001a73: SHL
00001a74: DUP2
00001a75: MSTORE
00001a76: PUSH1 0x04
00001a78: ADD
00001a79: PUSH2 0x03a4
00001a7c: SWAP1
00001a7d: PUSH2 0x422e
00001a80: JUMP
00001a81: JUMPDEST
00001a82: DUP1
00001a83: MLOAD
00001a84: DUP3
00001a85: LT
00001a86: ISZERO
00001a87: PUSH2 0x1aa2
00001a8a: JUMPI
00001a8b: PUSH1 0x40
00001a8d: MLOAD
00001a8e: PUSH3 0x461bcd
00001a92: PUSH1 0xe5
00001a94: SHL
00001a95: DUP2
00001a96: MSTORE
00001a97: PUSH1 0x04
00001a99: ADD
00001a9a: PUSH2 0x03a4
00001a9d: SWAP1
00001a9e: PUSH2 0x433e
00001aa1: JUMP
00001aa2: JUMPDEST
00001aa3: DUP1
00001aa4: MLOAD
00001aa5: PUSH1 0x0b
00001aa7: DUP2
00001aa8: SWAP1
00001aa9: SSTORE
00001aaa: PUSH1 0x0a
00001aac: DUP1
00001aad: SLOAD
00001aae: PUSH1 0xff
00001ab0: NOT
00001ab1: AND
00001ab2: PUSH1 0x01
00001ab4: OR
00001ab5: SWAP1
00001ab6: SSTORE
00001ab7: PUSH1 0x40
00001ab9: MLOAD
00001aba: PUSH32 0x68e4c41627e835051be46337f1542645a60c7e6d6ea79efc5f20bdadae5f88d2
00001adb: SWAP2
00001adc: PUSH2 0x1ae4
00001adf: SWAP2
00001ae0: PUSH2 0x41f1
00001ae3: JUMP
00001ae4: JUMPDEST
00001ae5: PUSH1 0x40
00001ae7: MLOAD
00001ae8: DUP1
00001ae9: SWAP2
00001aea: SUB
00001aeb: SWAP1
00001aec: LOG1
00001aed: POP
00001aee: POP
00001aef: PUSH1 0x01
00001af1: PUSH1 0x00
00001af3: SSTORE
00001af4: POP
00001af5: JUMP
00001af6: JUMPDEST
00001af7: PUSH2 0x1afe
00001afa: PUSH2 0x321a
00001afd: JUMP
00001afe: JUMPDEST
00001aff: PUSH2 0x1b06
00001b02: PUSH2 0x3272
00001b05: JUMP
00001b06: JUMPDEST
00001b07: POP
00001b08: PUSH1 0x40
00001b0a: DUP4
00001b0b: ADD
00001b0c: MLOAD
00001b0d: PUSH2 0x1b14
00001b10: PUSH2 0x3272
00001b13: JUMP
00001b14: JUMPDEST
00001b15: POP
00001b16: PUSH1 0x01
00001b18: PUSH1 0x01
00001b1a: PUSH1 0xa0
00001b1c: SHL
00001b1d: SUB
00001b1e: DUP4
00001b1f: AND
00001b20: PUSH1 0x00
00001b22: SWAP1
00001b23: DUP2
00001b24: MSTORE
00001b25: PUSH1 0x02
00001b27: PUSH1 0x20
00001b29: SWAP1
00001b2a: DUP2
00001b2b: MSTORE
00001b2c: PUSH1 0x40
00001b2e: SWAP2
00001b2f: DUP3
00001b30: SWAP1
00001b31: KECCAK256
00001b32: DUP3
00001b33: MLOAD
00001b34: PUSH1 0x60
00001b36: DUP2
00001b37: ADD
00001b38: DUP5
00001b39: MSTORE
00001b3a: SWAP1
00001b3b: SLOAD
00001b3c: PUSH4 0xffffffff
00001b41: DUP2
00001b42: AND
00001b43: DUP3
00001b44: MSTORE
00001b45: PUSH5 0x0100000000
00001b4b: DUP2
00001b4c: DIV
00001b4d: PUSH1 0xff
00001b4f: AND
00001b50: ISZERO
00001b51: ISZERO
00001b52: SWAP3
00001b53: DUP3
00001b54: ADD
00001b55: SWAP3
00001b56: SWAP1
00001b57: SWAP3
00001b58: MSTORE
00001b59: PUSH6 0x010000000000
00001b60: SWAP1
00001b61: SWAP2
00001b62: DIV
00001b63: PUSH16 0xffffffffffffffffffffffffffffffff
00001b74: AND
00001b75: SWAP2
00001b76: DUP2
00001b77: ADD
00001b78: SWAP2
00001b79: SWAP1
00001b7a: SWAP2
00001b7b: MSTORE
00001b7c: PUSH2 0x1b83
00001b7f: PUSH2 0x321a
00001b82: JUMP
00001b83: JUMPDEST
00001b84: POP
00001b85: PUSH1 0x01
00001b87: PUSH1 0x01
00001b89: PUSH1 0xa0
00001b8b: SHL
00001b8c: SUB
00001b8d: DUP5
00001b8e: AND
00001b8f: PUSH1 0x00
00001b91: SWAP1
00001b92: DUP2
00001b93: MSTORE
00001b94: PUSH1 0x01
00001b96: PUSH1 0x20
00001b98: SWAP1
00001b99: DUP2
00001b9a: MSTORE
00001b9b: PUSH1 0x40
00001b9d: SWAP2
00001b9e: DUP3
00001b9f: SWAP1
00001ba0: KECCAK256
00001ba1: DUP3
00001ba2: MLOAD
00001ba3: PUSH1 0x80
00001ba5: DUP2
00001ba6: ADD
00001ba7: DUP5
00001ba8: MSTORE
00001ba9: SWAP1
00001baa: SLOAD
00001bab: PUSH1 0xff
00001bad: DUP1
00001bae: DUP3
00001baf: AND
00001bb0: ISZERO
00001bb1: ISZERO
00001bb2: DUP4
00001bb3: MSTORE
00001bb4: PUSH2 0x0100
00001bb7: DUP3
00001bb8: DIV
00001bb9: AND
00001bba: ISZERO
00001bbb: ISZERO
00001bbc: SWAP3
00001bbd: DUP3
00001bbe: ADD
00001bbf: SWAP3
00001bc0: SWAP1
00001bc1: SWAP3
00001bc2: MSTORE
00001bc3: PUSH15 0xffffffffffffffffffffffffffffff
00001bd3: PUSH3 0x010000
00001bd7: DUP4
00001bd8: DIV
00001bd9: DUP2
00001bda: AND
00001bdb: SWAP4
00001bdc: DUP3
00001bdd: ADD
00001bde: SWAP4
00001bdf: SWAP1
00001be0: SWAP4
00001be1: MSTORE
00001be2: PUSH18 0x010000000000000000000000000000000000
00001bf5: SWAP1
00001bf6: SWAP2
00001bf7: DIV
00001bf8: SWAP1
00001bf9: SWAP2
00001bfa: AND
00001bfb: PUSH1 0x60
00001bfd: DUP3
00001bfe: ADD
00001bff: MSTORE
00001c00: DUP3
00001c01: MLOAD
00001c02: DUP3
00001c03: MLOAD
00001c04: PUSH4 0xffffffff
00001c09: SWAP1
00001c0a: DUP2
00001c0b: AND
00001c0c: SWAP2
00001c0d: AND
00001c0e: EQ
00001c0f: ISZERO
00001c10: PUSH2 0x1c1d
00001c13: JUMPI
00001c14: SWAP3
00001c15: POP
00001c16: PUSH2 0x085f
00001c19: SWAP2
00001c1a: POP
00001c1b: POP
00001c1c: JUMP
00001c1d: JUMPDEST
00001c1e: PUSH1 0x01
00001c20: PUSH1 0x01
00001c22: PUSH1 0xa0
00001c24: SHL
00001c25: SUB
00001c26: DUP6
00001c27: AND
00001c28: PUSH1 0x00
00001c2a: SWAP1
00001c2b: DUP2
00001c2c: MSTORE
00001c2d: PUSH1 0x02
00001c2f: PUSH1 0x20
00001c31: SWAP1
00001c32: DUP2
00001c33: MSTORE
00001c34: PUSH1 0x40
00001c36: SWAP2
00001c37: DUP3
00001c38: SWAP1
00001c39: KECCAK256
00001c3a: DUP6
00001c3b: MLOAD
00001c3c: DUP2
00001c3d: SLOAD
00001c3e: SWAP3
00001c3f: DUP8
00001c40: ADD
00001c41: MLOAD
00001c42: SWAP4
00001c43: DUP8
00001c44: ADD
00001c45: MLOAD
00001c46: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000
00001c67: SWAP1
00001c68: SWAP4
00001c69: AND
00001c6a: PUSH4 0xffffffff
00001c6f: SWAP1
00001c70: SWAP2
00001c71: AND
00001c72: OR
00001c73: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff
00001c94: AND
00001c95: PUSH5 0x0100000000
00001c9b: SWAP4
00001c9c: ISZERO
00001c9d: ISZERO
00001c9e: SWAP4
00001c9f: SWAP1
00001ca0: SWAP4
00001ca1: MUL
00001ca2: SWAP3
00001ca3: SWAP1
00001ca4: SWAP3
00001ca5: OR
00001ca6: PUSH32 0xffffffffffffffffffffff00000000000000000000000000000000ffffffffff
00001cc7: AND
00001cc8: PUSH6 0x010000000000
00001ccf: PUSH16 0xffffffffffffffffffffffffffffffff
00001ce0: SWAP1
00001ce1: SWAP3
00001ce2: AND
00001ce3: SWAP2
00001ce4: SWAP1
00001ce5: SWAP2
00001ce6: MUL
00001ce7: OR
00001ce8: SWAP1
00001ce9: SSTORE
00001cea: PUSH1 0x60
00001cec: DUP2
00001ced: ADD
00001cee: MLOAD
00001cef: PUSH15 0xffffffffffffffffffffffffffffff
00001cff: AND
00001d00: PUSH2 0x1d0d
00001d03: JUMPI
00001d04: SWAP3
00001d05: POP
00001d06: PUSH2 0x085f
00001d09: SWAP2
00001d0a: POP
00001d0b: POP
00001d0c: JUMP
00001d0d: JUMPDEST
00001d0e: PUSH2 0x1d15
00001d11: PUSH2 0x3292
00001d14: JUMP
00001d15: JUMPDEST
00001d16: POP
00001d17: PUSH1 0x40
00001d19: DUP1
00001d1a: MLOAD
00001d1b: DUP1
00001d1c: DUP3
00001d1d: ADD
00001d1e: DUP3
00001d1f: MSTORE
00001d20: SWAP1
00001d21: DUP5
00001d22: ADD
00001d23: MLOAD
00001d24: PUSH16 0xffffffffffffffffffffffffffffffff
00001d35: AND
00001d36: DUP2
00001d37: MSTORE
00001d38: PUSH1 0x20
00001d3a: DUP1
00001d3b: DUP6
00001d3c: ADD
00001d3d: MLOAD
00001d3e: ISZERO
00001d3f: ISZERO
00001d40: DUP2
00001d41: DUP4
00001d42: ADD
00001d43: MSTORE
00001d44: DUP4
00001d45: ADD
00001d46: MLOAD
00001d47: ISZERO
00001d48: PUSH2 0x1d7a
00001d4b: JUMPI
00001d4c: PUSH1 0x40
00001d4e: DUP4
00001d4f: ADD
00001d50: MLOAD
00001d51: PUSH2 0x1d73
00001d54: SWAP1
00001d55: DUP3
00001d56: SWAP1
00001d57: PUSH16 0xffffffffffffffffffffffffffffffff
00001d68: AND
00001d69: PUSH4 0xffffffff
00001d6e: PUSH2 0x2b01
00001d71: AND
00001d72: JUMP
00001d73: JUMPDEST
00001d74: SWAP1
00001d75: POP
00001d76: PUSH2 0x1da5
00001d79: JUMP
00001d7a: JUMPDEST
00001d7b: PUSH1 0x40
00001d7d: DUP4
00001d7e: ADD
00001d7f: MLOAD
00001d80: PUSH2 0x1da2
00001d83: SWAP1
00001d84: DUP3
00001d85: SWAP1
00001d86: PUSH16 0xffffffffffffffffffffffffffffffff
00001d97: AND
00001d98: PUSH4 0xffffffff
00001d9d: PUSH2 0x2bb0
00001da0: AND
00001da1: JUMP
00001da2: JUMPDEST
00001da3: SWAP1
00001da4: POP
00001da5: JUMPDEST
00001da6: PUSH1 0x00
00001da8: DUP3
00001da9: PUSH1 0x20
00001dab: ADD
00001dac: MLOAD
00001dad: ISZERO
00001dae: ISZERO
00001daf: DUP3
00001db0: PUSH1 0x20
00001db2: ADD
00001db3: MLOAD
00001db4: ISZERO
00001db5: ISZERO
00001db6: EQ
00001db7: ISZERO
00001db8: SWAP1
00001db9: POP
00001dba: PUSH1 0x00
00001dbc: DUP2
00001dbd: ISZERO
00001dbe: PUSH2 0x1dff
00001dc1: JUMPI
00001dc2: PUSH1 0x60
00001dc4: DUP5
00001dc5: ADD
00001dc6: MLOAD
00001dc7: DUP4
00001dc8: MLOAD
00001dc9: PUSH2 0x1de8
00001dcc: SWAP2
00001dcd: PUSH15 0xffffffffffffffffffffffffffffff
00001ddd: AND
00001dde: PUSH4 0xffffffff
00001de3: PUSH2 0x2c2d
00001de6: AND
00001de7: JUMP
00001de8: JUMPDEST
00001de9: SWAP1
00001dea: POP
00001deb: PUSH2 0x1dfa
00001dee: DUP5
00001def: DUP3
00001df0: PUSH4 0xffffffff
00001df5: PUSH2 0x261a
00001df8: AND
00001df9: JUMP
00001dfa: JUMPDEST
00001dfb: PUSH2 0x1e38
00001dfe: JUMP
00001dff: JUMPDEST
00001e00: PUSH1 0x60
00001e02: DUP5
00001e03: ADD
00001e04: MLOAD
00001e05: DUP4
00001e06: MLOAD
00001e07: PUSH2 0x1e26
00001e0a: SWAP2
00001e0b: PUSH15 0xffffffffffffffffffffffffffffff
00001e1b: AND
00001e1c: PUSH4 0xffffffff
00001e21: PUSH2 0x2c4b
00001e24: AND
00001e25: JUMP
00001e26: JUMPDEST
00001e27: SWAP1
00001e28: POP
00001e29: PUSH2 0x1e38
00001e2c: DUP5
00001e2d: DUP3
00001e2e: PUSH4 0xffffffff
00001e33: PUSH2 0x281e
00001e36: AND
00001e37: JUMP
00001e38: JUMPDEST
00001e39: PUSH1 0x01
00001e3b: PUSH1 0x01
00001e3d: PUSH1 0xa0
00001e3f: SHL
00001e40: SUB
00001e41: DUP9
00001e42: AND
00001e43: PUSH1 0x00
00001e45: DUP2
00001e46: DUP2
00001e47: MSTORE
00001e48: PUSH1 0x01
00001e4a: PUSH1 0x20
00001e4c: SWAP1
00001e4d: DUP2
00001e4e: MSTORE
00001e4f: PUSH1 0x40
00001e51: SWAP2
00001e52: DUP3
00001e53: SWAP1
00001e54: KECCAK256
00001e55: DUP8
00001e56: MLOAD
00001e57: DUP2
00001e58: SLOAD
00001e59: SWAP3
00001e5a: DUP10
00001e5b: ADD
00001e5c: MLOAD
00001e5d: SWAP4
00001e5e: DUP10
00001e5f: ADD
00001e60: MLOAD
00001e61: PUSH1 0x60
00001e63: DUP11
00001e64: ADD
00001e65: MLOAD
00001e66: PUSH1 0xff
00001e68: NOT
00001e69: SWAP1
00001e6a: SWAP5
00001e6b: AND
00001e6c: SWAP2
00001e6d: ISZERO
00001e6e: ISZERO
00001e6f: SWAP2
00001e70: SWAP1
00001e71: SWAP2
00001e72: OR
00001e73: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff
00001e94: AND
00001e95: PUSH2 0x0100
00001e98: SWAP5
00001e99: ISZERO
00001e9a: ISZERO
00001e9b: SWAP5
00001e9c: SWAP1
00001e9d: SWAP5
00001e9e: MUL
00001e9f: SWAP4
00001ea0: SWAP1
00001ea1: SWAP4
00001ea2: OR
00001ea3: PUSH32 0xffffffffffffffffffffffffffffff000000000000000000000000000000ffff
00001ec4: AND
00001ec5: PUSH3 0x010000
00001ec9: PUSH15 0xffffffffffffffffffffffffffffff
00001ed9: SWAP5
00001eda: DUP6
00001edb: AND
00001edc: MUL
00001edd: OR
00001ede: PUSH17 0xffffffffffffffffffffffffffffffffff
00001ef0: AND
00001ef1: PUSH18 0x010000000000000000000000000000000000
00001f04: SWAP4
00001f05: SWAP1
00001f06: SWAP3
00001f07: AND
00001f08: SWAP3
00001f09: SWAP1
00001f0a: SWAP3
00001f0b: MUL
00001f0c: OR
00001f0d: SWAP1
00001f0e: SSTORE
00001f0f: PUSH32 0x022694ffbbd957d26de6b85c040be68ec582d13d40114b29130581793a1bf31e
00001f30: DUP4
00001f31: DUP4
00001f32: PUSH2 0x1f3a
00001f35: DUP9
00001f36: PUSH2 0x21b8
00001f39: JUMP
00001f3a: JUMPDEST
00001f3b: PUSH1 0x40
00001f3d: MLOAD
00001f3e: PUSH2 0x1f49
00001f41: SWAP4
00001f42: SWAP3
00001f43: SWAP2
00001f44: SWAP1
00001f45: PUSH2 0x41e3
00001f48: JUMP
00001f49: JUMPDEST
00001f4a: PUSH1 0x40
00001f4c: MLOAD
00001f4d: DUP1
00001f4e: SWAP2
00001f4f: SUB
00001f50: SWAP1
00001f51: LOG2
00001f52: POP
00001f53: SWAP2
00001f54: SWAP8
00001f55: SWAP7
00001f56: POP
00001f57: POP
00001f58: POP
00001f59: POP
00001f5a: POP
00001f5b: POP
00001f5c: POP
00001f5d: JUMP
00001f5e: JUMPDEST
00001f5f: DUP2
00001f60: MLOAD
00001f61: PUSH1 0x00
00001f63: SWAP1
00001f64: DUP2
00001f65: SWAP1
00001f66: DUP2
00001f67: SWAP1
00001f68: DUP2
00001f69: SWAP1
00001f6a: ISZERO
00001f6b: PUSH2 0x1fa2
00001f6e: JUMPI
00001f6f: PUSH2 0x1f9b
00001f72: PUSH2 0x1f79
00001f75: PUSH2 0x201b
00001f78: JUMP
00001f79: JUMPDEST
00001f7a: PUSH1 0x40
00001f7c: DUP9
00001f7d: ADD
00001f7e: MLOAD
00001f7f: PUSH15 0xffffffffffffffffffffffffffffff
00001f8f: AND
00001f90: SWAP1
00001f91: PUSH4 0xffffffff
00001f96: PUSH2 0x2ca2
00001f99: AND
00001f9a: JUMP
00001f9b: JUMPDEST
00001f9c: SWAP2
00001f9d: POP
00001f9e: PUSH2 0x1fb0
00001fa1: JUMP
00001fa2: JUMPDEST
00001fa3: PUSH2 0x1fad
00001fa6: PUSH2 0x1f79
00001fa9: PUSH2 0x201b
00001fac: JUMP
00001fad: JUMPDEST
00001fae: SWAP1
00001faf: POP
00001fb0: JUMPDEST
00001fb1: PUSH1 0x60
00001fb3: DUP7
00001fb4: ADD
00001fb5: MLOAD
00001fb6: PUSH1 0x00
00001fb8: SWAP1
00001fb9: PUSH2 0x1fd9
00001fbc: SWAP1
00001fbd: PUSH15 0xffffffffffffffffffffffffffffff
00001fcd: AND
00001fce: DUP8
00001fcf: PUSH4 0xffffffff
00001fd4: PUSH2 0x2ca2
00001fd7: AND
00001fd8: JUMP
00001fd9: JUMPDEST
00001fda: SWAP1
00001fdb: POP
00001fdc: DUP7
00001fdd: PUSH1 0x20
00001fdf: ADD
00001fe0: MLOAD
00001fe1: ISZERO
00001fe2: PUSH2 0x1ffc
00001fe5: JUMPI
00001fe6: PUSH2 0x1ff5
00001fe9: DUP4
00001fea: DUP3
00001feb: PUSH4 0xffffffff
00001ff0: PUSH2 0x2cdc
00001ff3: AND
00001ff4: JUMP
00001ff5: JUMPDEST
00001ff6: SWAP3
00001ff7: POP
00001ff8: PUSH2 0x200f
00001ffb: JUMP
00001ffc: JUMPDEST
00001ffd: PUSH2 0x200c
00002000: DUP3
00002001: DUP3
00002002: PUSH4 0xffffffff
00002007: PUSH2 0x2cdc
0000200a: AND
0000200b: JUMP
0000200c: JUMPDEST
0000200d: SWAP2
0000200e: POP
0000200f: JUMPDEST
00002010: POP
00002011: SWAP1
00002012: SWAP6
00002013: SWAP1
00002014: SWAP5
00002015: POP
00002016: SWAP3
00002017: POP
00002018: POP
00002019: POP
0000201a: JUMP
0000201b: JUMPDEST
0000201c: PUSH8 0x0de0b6b3a7640000
00002025: SWAP1
00002026: JUMP
00002027: JUMPDEST
00002028: PUSH1 0x00
0000202a: PUSH2 0x148e
0000202d: DUP4
0000202e: DUP4
0000202f: PUSH1 0x40
00002031: MLOAD
00002032: DUP1
00002033: PUSH1 0x40
00002035: ADD
00002036: PUSH1 0x40
00002038: MSTORE
00002039: DUP1
0000203a: PUSH1 0x1e
0000203c: DUP2
0000203d: MSTORE
0000203e: PUSH1 0x20
00002040: ADD
00002041: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
00002062: DUP2
00002063: MSTORE
00002064: POP
00002065: PUSH2 0x2d01
00002068: JUMP
00002069: JUMPDEST
0000206a: PUSH1 0x00
0000206c: PUSH2 0x148e
0000206f: DUP4
00002070: DUP4
00002071: PUSH1 0x40
00002073: MLOAD
00002074: DUP1
00002075: PUSH1 0x40
00002077: ADD
00002078: PUSH1 0x40
0000207a: MSTORE
0000207b: DUP1
0000207c: PUSH1 0x1a
0000207e: DUP2
0000207f: MSTORE
00002080: PUSH1 0x20
00002082: ADD
00002083: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000
000020a4: DUP2
000020a5: MSTORE
000020a6: POP
000020a7: PUSH2 0x2d2d
000020aa: JUMP
000020ab: JUMPDEST
000020ac: PUSH1 0x00
000020ae: DUP2
000020af: DUP4
000020b0: LT
000020b1: PUSH2 0x20ba
000020b4: JUMPI
000020b5: DUP2
000020b6: PUSH2 0x148e
000020b9: JUMP
000020ba: JUMPDEST
000020bb: POP
000020bc: SWAP1
000020bd: SWAP2
000020be: SWAP1
000020bf: POP
000020c0: JUMP
000020c1: JUMPDEST
000020c2: PUSH1 0x00
000020c4: PUSH16 0x01000000000000000000000000000000
000020d5: DUP3
000020d6: LT
000020d7: PUSH2 0x20f2
000020da: JUMPI
000020db: PUSH1 0x40
000020dd: MLOAD
000020de: PUSH3 0x461bcd
000020e2: PUSH1 0xe5
000020e4: SHL
000020e5: DUP2
000020e6: MSTORE
000020e7: PUSH1 0x04
000020e9: ADD
000020ea: PUSH2 0x03a4
000020ed: SWAP1
000020ee: PUSH2 0x427e
000020f1: JUMP
000020f2: JUMPDEST
000020f3: POP
000020f4: SWAP1
000020f5: JUMP
000020f6: JUMPDEST
000020f7: PUSH1 0x40
000020f9: MLOAD
000020fa: PUSH2 0x21b3
000020fd: SWAP1
000020fe: DUP5
000020ff: SWAP1
00002100: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000
00002121: SWAP1
00002122: PUSH2 0x2131
00002125: SWAP1
00002126: DUP7
00002127: SWAP1
00002128: DUP7
00002129: SWAP1
0000212a: PUSH1 0x24
0000212c: ADD
0000212d: PUSH2 0x4150
00002130: JUMP
00002131: JUMPDEST
00002132: PUSH1 0x40
00002134: DUP1
00002135: MLOAD
00002136: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00002157: DUP2
00002158: DUP5
00002159: SUB
0000215a: ADD
0000215b: DUP2
0000215c: MSTORE
0000215d: SWAP2
0000215e: SWAP1
0000215f: MSTORE
00002160: PUSH1 0x20
00002162: DUP2
00002163: ADD
00002164: DUP1
00002165: MLOAD
00002166: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00002183: AND
00002184: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000
000021a5: SWAP1
000021a6: SWAP4
000021a7: AND
000021a8: SWAP3
000021a9: SWAP1
000021aa: SWAP3
000021ab: OR
000021ac: SWAP1
000021ad: SWAP2
000021ae: MSTORE
000021af: PUSH2 0x2d64
000021b2: JUMP
000021b3: JUMPDEST
000021b4: POP
000021b5: POP
000021b6: POP
000021b7: JUMP
000021b8: JUMPDEST
000021b9: PUSH1 0x00
000021bb: DUP1
000021bc: DUP3
000021bd: PUSH1 0x20
000021bf: ADD
000021c0: MLOAD
000021c1: PUSH2 0x21cb
000021c4: JUMPI
000021c5: PUSH1 0x00
000021c7: PUSH2 0x21dd
000021ca: JUMP
000021cb: JUMPDEST
000021cc: PUSH16 0x01000000000000000000000000000000
000021dd: JUMPDEST
000021de: DUP4
000021df: MLOAD
000021e0: PUSH2 0x21ea
000021e3: JUMPI
000021e4: PUSH1 0x00
000021e6: PUSH2 0x220c
000021e9: JUMP
000021ea: JUMPDEST
000021eb: PUSH32 0x0100000000000000000000000000000000000000000000000000000000000000
0000220c: JUMPDEST
0000220d: PUSH1 0x80
0000220f: DUP6
00002210: PUSH1 0x40
00002212: ADD
00002213: MLOAD
00002214: PUSH15 0xffffffffffffffffffffffffffffff
00002224: AND
00002225: SWAP1
00002226: SHL
00002227: DUP6
00002228: PUSH1 0x60
0000222a: ADD
0000222b: MLOAD
0000222c: PUSH15 0xffffffffffffffffffffffffffffff
0000223c: AND
0000223d: OR
0000223e: OR
0000223f: OR
00002240: SWAP1
00002241: POP
00002242: DUP1
00002243: PUSH1 0x00
00002245: SHL
00002246: SWAP2
00002247: POP
00002248: POP
00002249: SWAP2
0000224a: SWAP1
0000224b: POP
0000224c: JUMP
0000224d: JUMPDEST
0000224e: PUSH2 0x2255
00002251: PUSH2 0x31f4
00002254: JUMP
00002255: JUMPDEST
00002256: PUSH2 0x225d
00002259: PUSH2 0x3272
0000225c: JUMP
0000225d: JUMPDEST
0000225e: POP
0000225f: PUSH1 0x40
00002261: DUP1
00002262: MLOAD
00002263: PUSH1 0x60
00002265: DUP2
00002266: ADD
00002267: DUP3
00002268: MSTORE
00002269: PUSH1 0x08
0000226b: SLOAD
0000226c: PUSH4 0xffffffff
00002271: DUP2
00002272: AND
00002273: DUP3
00002274: MSTORE
00002275: PUSH5 0x0100000000
0000227b: DUP2
0000227c: DIV
0000227d: PUSH1 0xff
0000227f: AND
00002280: ISZERO
00002281: ISZERO
00002282: PUSH1 0x20
00002284: DUP1
00002285: DUP5
00002286: ADD
00002287: SWAP2
00002288: SWAP1
00002289: SWAP2
0000228a: MSTORE
0000228b: PUSH6 0x010000000000
00002292: SWAP1
00002293: SWAP2
00002294: DIV
00002295: PUSH16 0xffffffffffffffffffffffffffffffff
000022a6: AND
000022a7: DUP3
000022a8: DUP5
000022a9: ADD
000022aa: MSTORE
000022ab: PUSH1 0x06
000022ad: SLOAD
000022ae: DUP4
000022af: MLOAD
000022b0: PUSH32 0x98d5fdca00000000000000000000000000000000000000000000000000000000
000022d1: DUP2
000022d2: MSTORE
000022d3: SWAP4
000022d4: MLOAD
000022d5: SWAP3
000022d6: SWAP4
000022d7: PUSH1 0x00
000022d9: SWAP4
000022da: PUSH1 0x01
000022dc: PUSH1 0x01
000022de: PUSH1 0xa0
000022e0: SHL
000022e1: SUB
000022e2: SWAP1
000022e3: SWAP3
000022e4: AND
000022e5: SWAP3
000022e6: PUSH4 0x98d5fdca
000022eb: SWAP3
000022ec: PUSH1 0x04
000022ee: DUP1
000022ef: DUP5
000022f0: ADD
000022f1: SWAP4
000022f2: DUP3
000022f3: SWAP1
000022f4: SUB
000022f5: ADD
000022f6: DUP2
000022f7: DUP7
000022f8: DUP1
000022f9: EXTCODESIZE
000022fa: ISZERO
000022fb: DUP1
000022fc: ISZERO
000022fd: PUSH2 0x2305
00002300: JUMPI
00002301: PUSH1 0x00
00002303: DUP1
00002304: REVERT
00002305: JUMPDEST
00002306: POP
00002307: GAS
00002308: STATICCALL
00002309: ISZERO
0000230a: DUP1
0000230b: ISZERO
0000230c: PUSH2 0x2319
0000230f: JUMPI
00002310: RETURNDATASIZE
00002311: PUSH1 0x00
00002313: DUP1
00002314: RETURNDATACOPY
00002315: RETURNDATASIZE
00002316: PUSH1 0x00
00002318: REVERT
00002319: JUMPDEST
0000231a: POP
0000231b: POP
0000231c: POP
0000231d: POP
0000231e: PUSH1 0x40
00002320: MLOAD
00002321: RETURNDATASIZE
00002322: PUSH1 0x1f
00002324: NOT
00002325: PUSH1 0x1f
00002327: DUP3
00002328: ADD
00002329: AND
0000232a: DUP3
0000232b: ADD
0000232c: DUP1
0000232d: PUSH1 0x40
0000232f: MSTORE
00002330: POP
00002331: PUSH2 0x233d
00002334: SWAP2
00002335: SWAP1
00002336: DUP2
00002337: ADD
00002338: SWAP1
00002339: PUSH2 0x3744
0000233c: JUMP
0000233d: JUMPDEST
0000233e: SWAP1
0000233f: POP
00002340: PUSH1 0x00
00002342: PUSH2 0x235e
00002345: DUP4
00002346: PUSH1 0x00
00002348: ADD
00002349: MLOAD
0000234a: PUSH4 0xffffffff
0000234f: AND
00002350: TIMESTAMP
00002351: PUSH2 0x2027
00002354: SWAP1
00002355: SWAP2
00002356: SWAP1
00002357: PUSH4 0xffffffff
0000235c: AND
0000235d: JUMP
0000235e: JUMPDEST
0000235f: SWAP1
00002360: POP
00002361: DUP1
00002362: ISZERO
00002363: PUSH2 0x2577
00002366: JUMPI
00002367: PUSH2 0x236e
0000236a: PUSH2 0x3292
0000236d: JUMP
0000236e: JUMPDEST
0000236f: POP
00002370: PUSH1 0x40
00002372: DUP1
00002373: MLOAD
00002374: DUP1
00002375: DUP3
00002376: ADD
00002377: DUP3
00002378: MSTORE
00002379: DUP5
0000237a: DUP3
0000237b: ADD
0000237c: MLOAD
0000237d: PUSH16 0xffffffffffffffffffffffffffffffff
0000238e: AND
0000238f: DUP2
00002390: MSTORE
00002391: PUSH1 0x20
00002393: DUP1
00002394: DUP7
00002395: ADD
00002396: MLOAD
00002397: ISZERO
00002398: ISZERO
00002399: SWAP1
0000239a: DUP3
0000239b: ADD
0000239c: MSTORE
0000239d: PUSH1 0x07
0000239f: SLOAD
000023a0: SWAP2
000023a1: MLOAD
000023a2: PUSH32 0xebed4bd400000000000000000000000000000000000000000000000000000000
000023c3: DUP2
000023c4: MSTORE
000023c5: SWAP1
000023c6: SWAP2
000023c7: PUSH1 0x00
000023c9: SWAP2
000023ca: DUP3
000023cb: SWAP2
000023cc: PUSH1 0x01
000023ce: PUSH1 0x01
000023d0: PUSH1 0xa0
000023d2: SHL
000023d3: SUB
000023d4: AND
000023d5: SWAP1
000023d6: PUSH4 0xebed4bd4
000023db: SWAP1
000023dc: PUSH2 0x23e9
000023df: SWAP1
000023e0: DUP8
000023e1: SWAP1
000023e2: PUSH1 0x04
000023e4: ADD
000023e5: PUSH2 0x41f1
000023e8: JUMP
000023e9: JUMPDEST
000023ea: PUSH1 0x40
000023ec: DUP1
000023ed: MLOAD
000023ee: DUP1
000023ef: DUP4
000023f0: SUB
000023f1: DUP2
000023f2: DUP7
000023f3: DUP1
000023f4: EXTCODESIZE
000023f5: ISZERO
000023f6: DUP1
000023f7: ISZERO
000023f8: PUSH2 0x2400
000023fb: JUMPI
000023fc: PUSH1 0x00
000023fe: DUP1
000023ff: REVERT
00002400: JUMPDEST
00002401: POP
00002402: GAS
00002403: STATICCALL
00002404: ISZERO
00002405: DUP1
00002406: ISZERO
00002407: PUSH2 0x2414
0000240a: JUMPI
0000240b: RETURNDATASIZE
0000240c: PUSH1 0x00
0000240e: DUP1
0000240f: RETURNDATACOPY
00002410: RETURNDATASIZE
00002411: PUSH1 0x00
00002413: REVERT
00002414: JUMPDEST
00002415: POP
00002416: POP
00002417: POP
00002418: POP
00002419: PUSH1 0x40
0000241b: MLOAD
0000241c: RETURNDATASIZE
0000241d: PUSH1 0x1f
0000241f: NOT
00002420: PUSH1 0x1f
00002422: DUP3
00002423: ADD
00002424: AND
00002425: DUP3
00002426: ADD
00002427: DUP1
00002428: PUSH1 0x40
0000242a: MSTORE
0000242b: POP
0000242c: PUSH2 0x2438
0000242f: SWAP2
00002430: SWAP1
00002431: DUP2
00002432: ADD
00002433: SWAP1
00002434: PUSH2 0x36d8
00002437: JUMP
00002438: JUMPDEST
00002439: SWAP1
0000243a: SWAP3
0000243b: POP
0000243c: SWAP1
0000243d: POP
0000243e: PUSH2 0x244d
00002441: DUP2
00002442: DUP7
00002443: PUSH4 0xffffffff
00002448: PUSH2 0x2c2d
0000244b: AND
0000244c: JUMP
0000244d: JUMPDEST
0000244e: SWAP1
0000244f: POP
00002450: DUP2
00002451: ISZERO
00002452: PUSH2 0x246c
00002455: JUMPI
00002456: PUSH2 0x2465
00002459: DUP4
0000245a: DUP3
0000245b: PUSH4 0xffffffff
00002460: PUSH2 0x2bb0
00002463: AND
00002464: JUMP
00002465: JUMPDEST
00002466: SWAP3
00002467: POP
00002468: PUSH2 0x247f
0000246b: JUMP
0000246c: JUMPDEST
0000246d: PUSH2 0x247c
00002470: DUP4
00002471: DUP3
00002472: PUSH4 0xffffffff
00002477: PUSH2 0x2b01
0000247a: AND
0000247b: JUMP
0000247c: JUMPDEST
0000247d: SWAP3
0000247e: POP
0000247f: JUMPDEST
00002480: PUSH1 0x40
00002482: MLOAD
00002483: DUP1
00002484: PUSH1 0x60
00002486: ADD
00002487: PUSH1 0x40
00002489: MSTORE
0000248a: DUP1
0000248b: PUSH2 0x2493
0000248e: TIMESTAMP
0000248f: PUSH2 0x2e49
00002492: JUMP
00002493: JUMPDEST
00002494: PUSH4 0xffffffff
00002499: AND
0000249a: DUP2
0000249b: MSTORE
0000249c: PUSH1 0x20
0000249e: ADD
0000249f: DUP5
000024a0: PUSH1 0x20
000024a2: ADD
000024a3: MLOAD
000024a4: ISZERO
000024a5: ISZERO
000024a6: DUP2
000024a7: MSTORE
000024a8: PUSH1 0x20
000024aa: ADD
000024ab: PUSH2 0x24b7
000024ae: DUP6
000024af: PUSH1 0x00
000024b1: ADD
000024b2: MLOAD
000024b3: PUSH2 0x2e6f
000024b6: JUMP
000024b7: JUMPDEST
000024b8: PUSH16 0xffffffffffffffffffffffffffffffff
000024c9: SWAP1
000024ca: DUP2
000024cb: AND
000024cc: SWAP1
000024cd: SWAP2
000024ce: MSTORE
000024cf: DUP2
000024d0: MLOAD
000024d1: PUSH1 0x08
000024d3: DUP1
000024d4: SLOAD
000024d5: PUSH1 0x20
000024d7: DUP6
000024d8: ADD
000024d9: MLOAD
000024da: PUSH1 0x40
000024dc: DUP7
000024dd: ADD
000024de: MLOAD
000024df: SWAP1
000024e0: SWAP5
000024e1: AND
000024e2: PUSH6 0x010000000000
000024e9: MUL
000024ea: PUSH32 0xffffffffffffffffffffff00000000000000000000000000000000ffffffffff
0000250b: SWAP5
0000250c: ISZERO
0000250d: ISZERO
0000250e: PUSH5 0x0100000000
00002514: MUL
00002515: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff
00002536: PUSH4 0xffffffff
0000253b: SWAP1
0000253c: SWAP6
0000253d: AND
0000253e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000
0000255f: SWAP1
00002560: SWAP4
00002561: AND
00002562: SWAP3
00002563: SWAP1
00002564: SWAP3
00002565: OR
00002566: SWAP4
00002567: SWAP1
00002568: SWAP4
00002569: AND
0000256a: OR
0000256b: SWAP3
0000256c: SWAP1
0000256d: SWAP3
0000256e: AND
0000256f: OR
00002570: SWAP1
00002571: SSTORE
00002572: SWAP6
00002573: POP
00002574: POP
00002575: POP
00002576: POP
00002577: JUMPDEST
00002578: PUSH32 0x995e61c355733308eab39a59e1e1ac167274cdd1ad707fe4d13e127a01076428
00002599: PUSH2 0x25a1
0000259c: DUP5
0000259d: PUSH2 0x2ea1
000025a0: JUMP
000025a1: JUMPDEST
000025a2: PUSH1 0x40
000025a4: MLOAD
000025a5: PUSH2 0x25ae
000025a8: SWAP2
000025a9: SWAP1
000025aa: PUSH2 0x41f1
000025ad: JUMP
000025ae: JUMPDEST
000025af: PUSH1 0x40
000025b1: MLOAD
000025b2: DUP1
000025b3: SWAP2
000025b4: SUB
000025b5: SWAP1
000025b6: LOG1
000025b7: POP
000025b8: PUSH1 0x40
000025ba: DUP1
000025bb: MLOAD
000025bc: PUSH1 0x60
000025be: DUP2
000025bf: ADD
000025c0: DUP3
000025c1: MSTORE
000025c2: SWAP2
000025c3: DUP3
000025c4: MSTORE
000025c5: PUSH1 0x09
000025c7: SLOAD
000025c8: PUSH1 0x20
000025ca: DUP4
000025cb: ADD
000025cc: MSTORE
000025cd: DUP2
000025ce: ADD
000025cf: SWAP2
000025d0: SWAP1
000025d1: SWAP2
000025d2: MSTORE
000025d3: SWAP1
000025d4: POP
000025d5: SWAP1
000025d6: JUMP
000025d7: JUMPDEST
000025d8: PUSH1 0x40
000025da: MLOAD
000025db: PUSH2 0x2614
000025de: SWAP1
000025df: DUP6
000025e0: SWAP1
000025e1: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000
00002602: SWAP1
00002603: PUSH2 0x2131
00002606: SWAP1
00002607: DUP8
00002608: SWAP1
00002609: DUP8
0000260a: SWAP1
0000260b: DUP8
0000260c: SWAP1
0000260d: PUSH1 0x24
0000260f: ADD
00002610: PUSH2 0x410d
00002613: JUMP
00002614: JUMPDEST
00002615: POP
00002616: POP
00002617: POP
00002618: POP
00002619: JUMP
0000261a: JUMPDEST
0000261b: PUSH2 0x2622
0000261e: PUSH2 0x3292
00002621: JUMP
00002622: JUMPDEST
00002623: PUSH2 0x262b
00002626: DUP4
00002627: PUSH2 0x2ef7
0000262a: JUMP
0000262b: JUMPDEST
0000262c: SWAP1
0000262d: POP
0000262e: PUSH2 0x263d
00002631: DUP2
00002632: DUP4
00002633: PUSH4 0xffffffff
00002638: PUSH2 0x2bb0
0000263b: AND
0000263c: JUMP
0000263d: JUMPDEST
0000263e: SWAP1
0000263f: POP
00002640: PUSH2 0x21b3
00002643: DUP4
00002644: DUP3
00002645: PUSH4 0xffffffff
0000264a: PUSH2 0x2f2c
0000264d: AND
0000264e: JUMP
0000264f: JUMPDEST
00002650: PUSH1 0x00
00002652: DUP2
00002653: MLOAD
00002654: GT
00002655: PUSH2 0x2670
00002658: JUMPI
00002659: PUSH1 0x40
0000265b: MLOAD
0000265c: PUSH3 0x461bcd
00002660: PUSH1 0xe5
00002662: SHL
00002663: DUP2
00002664: MSTORE
00002665: PUSH1 0x04
00002667: ADD
00002668: PUSH2 0x03a4
0000266b: SWAP1
0000266c: PUSH2 0x430e
0000266f: JUMP
00002670: JUMPDEST
00002671: PUSH1 0x00
00002673: DUP2
00002674: PUSH1 0x00
00002676: DUP2
00002677: MLOAD
00002678: DUP2
00002679: LT
0000267a: PUSH2 0x267f
0000267d: JUMPI
0000267e: INVALID
0000267f: JUMPDEST
00002680: PUSH1 0x20
00002682: MUL
00002683: PUSH1 0x20
00002685: ADD
00002686: ADD
00002687: MLOAD
00002688: SWAP1
00002689: POP
0000268a: PUSH1 0x00
0000268c: PUSH1 0x01
0000268e: SWAP1
0000268f: POP
00002690: JUMPDEST
00002691: DUP3
00002692: MLOAD
00002693: DUP2
00002694: LT
00002695: ISZERO
00002696: PUSH2 0x21b3
00002699: JUMPI
0000269a: PUSH1 0x00
0000269c: DUP4
0000269d: DUP3
0000269e: DUP2
0000269f: MLOAD
000026a0: DUP2
000026a1: LT
000026a2: PUSH2 0x26a7
000026a5: JUMPI
000026a6: INVALID
000026a7: JUMPDEST
000026a8: PUSH1 0x20
000026aa: MUL
000026ab: PUSH1 0x20
000026ad: ADD
000026ae: ADD
000026af: MLOAD
000026b0: SWAP1
000026b1: POP
000026b2: DUP3
000026b3: PUSH1 0x01
000026b5: PUSH1 0x01
000026b7: PUSH1 0xa0
000026b9: SHL
000026ba: SUB
000026bb: AND
000026bc: DUP2
000026bd: PUSH1 0x01
000026bf: PUSH1 0x01
000026c1: PUSH1 0xa0
000026c3: SHL
000026c4: SUB
000026c5: AND
000026c6: GT
000026c7: PUSH2 0x26e2
000026ca: JUMPI
000026cb: PUSH1 0x40
000026cd: MLOAD
000026ce: PUSH3 0x461bcd
000026d2: PUSH1 0xe5
000026d4: SHL
000026d5: DUP2
000026d6: MSTORE
000026d7: PUSH1 0x04
000026d9: ADD
000026da: PUSH2 0x03a4
000026dd: SWAP1
000026de: PUSH2 0x437e
000026e1: JUMP
000026e2: JUMPDEST
000026e3: SWAP2
000026e4: POP
000026e5: PUSH1 0x01
000026e7: ADD
000026e8: PUSH2 0x2690
000026eb: JUMP
000026ec: JUMPDEST
000026ed: PUSH1 0x60
000026ef: PUSH1 0x00
000026f1: DUP3
000026f2: MLOAD
000026f3: SWAP1
000026f4: POP
000026f5: PUSH1 0x60
000026f7: DUP2
000026f8: PUSH1 0x40
000026fa: MLOAD
000026fb: SWAP1
000026fc: DUP1
000026fd: DUP3
000026fe: MSTORE
000026ff: DUP1
00002700: PUSH1 0x20
00002702: MUL
00002703: PUSH1 0x20
00002705: ADD
00002706: DUP3
00002707: ADD
00002708: PUSH1 0x40
0000270a: MSTORE
0000270b: DUP1
0000270c: ISZERO
0000270d: PUSH2 0x2730
00002710: JUMPI
00002711: DUP2
00002712: PUSH1 0x20
00002714: ADD
00002715: JUMPDEST
00002716: PUSH2 0x271d
00002719: PUSH2 0x321a
0000271c: JUMP
0000271d: JUMPDEST
0000271e: DUP2
0000271f: MSTORE
00002720: PUSH1 0x20
00002722: ADD
00002723: SWAP1
00002724: PUSH1 0x01
00002726: SWAP1
00002727: SUB
00002728: SWAP1
00002729: DUP2
0000272a: PUSH2 0x2715
0000272d: JUMPI
0000272e: SWAP1
0000272f: POP
00002730: JUMPDEST
00002731: POP
00002732: SWAP1
00002733: POP
00002734: PUSH1 0x00
00002736: JUMPDEST
00002737: DUP3
00002738: DUP2
00002739: LT
0000273a: ISZERO
0000273b: PUSH2 0x277a
0000273e: JUMPI
0000273f: PUSH2 0x275b
00002742: DUP7
00002743: DUP7
00002744: DUP4
00002745: DUP2
00002746: MLOAD
00002747: DUP2
00002748: LT
00002749: PUSH2 0x274e
0000274c: JUMPI
0000274d: INVALID
0000274e: JUMPDEST
0000274f: PUSH1 0x20
00002751: MUL
00002752: PUSH1 0x20
00002754: ADD
00002755: ADD
00002756: MLOAD
00002757: PUSH2 0x1af6
0000275a: JUMP
0000275b: JUMPDEST
0000275c: DUP3
0000275d: DUP3
0000275e: DUP2
0000275f: MLOAD
00002760: DUP2
00002761: LT
00002762: PUSH2 0x2767
00002765: JUMPI
00002766: INVALID
00002767: JUMPDEST
00002768: PUSH1 0x20
0000276a: SWAP1
0000276b: DUP2
0000276c: MUL
0000276d: SWAP2
0000276e: SWAP1
0000276f: SWAP2
00002770: ADD
00002771: ADD
00002772: MSTORE
00002773: PUSH1 0x01
00002775: ADD
00002776: PUSH2 0x2736
00002779: JUMP
0000277a: JUMPDEST
0000277b: POP
0000277c: SWAP5
0000277d: SWAP4
0000277e: POP
0000277f: POP
00002780: POP
00002781: POP
00002782: JUMP
00002783: JUMPDEST
00002784: PUSH2 0x278b
00002787: PUSH2 0x321a
0000278a: JUMP
0000278b: JUMPDEST
0000278c: PUSH1 0x40
0000278e: MLOAD
0000278f: DUP1
00002790: PUSH1 0x80
00002792: ADD
00002793: PUSH1 0x40
00002795: MSTORE
00002796: DUP1
00002797: DUP4
00002798: PUSH1 0x00
0000279a: ADD
0000279b: MLOAD
0000279c: ISZERO
0000279d: ISZERO
0000279e: DUP2
0000279f: MSTORE
000027a0: PUSH1 0x20
000027a2: ADD
000027a3: DUP4
000027a4: PUSH1 0x20
000027a6: ADD
000027a7: MLOAD
000027a8: ISZERO
000027a9: ISZERO
000027aa: DUP2
000027ab: MSTORE
000027ac: PUSH1 0x20
000027ae: ADD
000027af: DUP4
000027b0: PUSH1 0x40
000027b2: ADD
000027b3: MLOAD
000027b4: PUSH15 0xffffffffffffffffffffffffffffff
000027c4: AND
000027c5: DUP2
000027c6: MSTORE
000027c7: PUSH1 0x20
000027c9: ADD
000027ca: DUP4
000027cb: PUSH1 0x60
000027cd: ADD
000027ce: MLOAD
000027cf: PUSH15 0xffffffffffffffffffffffffffffff
000027df: AND
000027e0: DUP2
000027e1: MSTORE
000027e2: POP
000027e3: SWAP1
000027e4: POP
000027e5: SWAP2
000027e6: SWAP1
000027e7: POP
000027e8: JUMP
000027e9: JUMPDEST
000027ea: PUSH2 0x27f1
000027ed: PUSH2 0x3292
000027f0: JUMP
000027f1: JUMPDEST
000027f2: PUSH2 0x27fa
000027f5: DUP4
000027f6: PUSH2 0x2f57
000027f9: JUMP
000027fa: JUMPDEST
000027fb: SWAP1
000027fc: POP
000027fd: PUSH2 0x280c
00002800: DUP2
00002801: DUP4
00002802: PUSH4 0xffffffff
00002807: PUSH2 0x2b01
0000280a: AND
0000280b: JUMP
0000280c: JUMPDEST
0000280d: SWAP1
0000280e: POP
0000280f: PUSH2 0x21b3
00002812: DUP4
00002813: DUP3
00002814: PUSH4 0xffffffff
00002819: PUSH2 0x2f96
0000281c: AND
0000281d: JUMP
0000281e: JUMPDEST
0000281f: PUSH2 0x2826
00002822: PUSH2 0x3292
00002825: JUMP
00002826: JUMPDEST
00002827: PUSH2 0x282f
0000282a: DUP4
0000282b: PUSH2 0x2ef7
0000282e: JUMP
0000282f: JUMPDEST
00002830: SWAP1
00002831: POP
00002832: PUSH2 0x263d
00002835: DUP2
00002836: DUP4
00002837: PUSH4 0xffffffff
0000283c: PUSH2 0x2b01
0000283f: AND
00002840: JUMP
00002841: JUMPDEST
00002842: PUSH2 0x2849
00002845: PUSH2 0x3292
00002848: JUMP
00002849: JUMPDEST
0000284a: PUSH2 0x2852
0000284d: DUP4
0000284e: PUSH2 0x2f57
00002851: JUMP
00002852: JUMPDEST
00002853: SWAP1
00002854: POP
00002855: PUSH2 0x280c
00002858: DUP2
00002859: DUP4
0000285a: PUSH4 0xffffffff
0000285f: PUSH2 0x2bb0
00002862: AND
00002863: JUMP
00002864: JUMPDEST
00002865: PUSH1 0x00
00002867: JUMPDEST
00002868: DUP4
00002869: MLOAD
0000286a: DUP2
0000286b: LT
0000286c: ISZERO
0000286d: PUSH2 0x2a98
00002870: JUMPI
00002871: PUSH2 0x2878
00002874: PUSH2 0x321a
00002877: JUMP
00002878: JUMPDEST
00002879: DUP3
0000287a: DUP3
0000287b: DUP2
0000287c: MLOAD
0000287d: DUP2
0000287e: LT
0000287f: PUSH2 0x2884
00002882: JUMPI
00002883: INVALID
00002884: JUMPDEST
00002885: PUSH1 0x20
00002887: MUL
00002888: PUSH1 0x20
0000288a: ADD
0000288b: ADD
0000288c: MLOAD
0000288d: SWAP1
0000288e: POP
0000288f: PUSH1 0x00
00002891: DUP1
00002892: PUSH2 0x28a8
00002895: DUP9
00002896: PUSH1 0x00
00002898: ADD
00002899: MLOAD
0000289a: DUP5
0000289b: PUSH2 0x1f5e
0000289e: SWAP1
0000289f: SWAP2
000028a0: SWAP1
000028a1: PUSH4 0xffffffff
000028a6: AND
000028a7: JUMP
000028a8: JUMPDEST
000028a9: SWAP2
000028aa: POP
000028ab: SWAP2
000028ac: POP
000028ad: PUSH1 0x00
000028af: PUSH2 0x28c5
000028b2: DUP10
000028b3: PUSH1 0x20
000028b5: ADD
000028b6: MLOAD
000028b7: DUP4
000028b8: PUSH2 0x2ca2
000028bb: SWAP1
000028bc: SWAP2
000028bd: SWAP1
000028be: PUSH4 0xffffffff
000028c3: AND
000028c4: JUMP
000028c5: JUMPDEST
000028c6: PUSH2 0x28dd
000028c9: PUSH2 0x28d0
000028cc: PUSH2 0x201b
000028cf: JUMP
000028d0: JUMPDEST
000028d1: DUP6
000028d2: SWAP1
000028d3: PUSH4 0xffffffff
000028d8: PUSH2 0x2ca2
000028db: AND
000028dc: JUMP
000028dd: JUMPDEST
000028de: LT
000028df: DUP1
000028e0: ISZERO
000028e1: SWAP2
000028e2: POP
000028e3: PUSH2 0x28ef
000028e6: JUMPI
000028e7: POP
000028e8: POP
000028e9: POP
000028ea: POP
000028eb: PUSH2 0x2a90
000028ee: JUMP
000028ef: JUMPDEST
000028f0: PUSH1 0x00
000028f2: DUP9
000028f3: DUP7
000028f4: DUP2
000028f5: MLOAD
000028f6: DUP2
000028f7: LT
000028f8: PUSH2 0x28fd
000028fb: JUMPI
000028fc: INVALID
000028fd: JUMPDEST
000028fe: PUSH1 0x20
00002900: MUL
00002901: PUSH1 0x20
00002903: ADD
00002904: ADD
00002905: MLOAD
00002906: SWAP1
00002907: POP
00002908: PUSH2 0x290f
0000290b: PUSH2 0x321a
0000290e: JUMP
0000290f: JUMPDEST
00002910: DUP9
00002911: DUP8
00002912: DUP2
00002913: MLOAD
00002914: DUP2
00002915: LT
00002916: PUSH2 0x291b
00002919: JUMPI
0000291a: INVALID
0000291b: JUMPDEST
0000291c: PUSH1 0x20
0000291e: MUL
0000291f: PUSH1 0x20
00002921: ADD
00002922: ADD
00002923: MLOAD
00002924: SWAP1
00002925: POP
00002926: PUSH1 0x00
00002928: DUP1
00002929: PUSH2 0x293f
0000292c: DUP14
0000292d: PUSH1 0x00
0000292f: ADD
00002930: MLOAD
00002931: DUP5
00002932: PUSH2 0x1f5e
00002935: SWAP1
00002936: SWAP2
00002937: SWAP1
00002938: PUSH4 0xffffffff
0000293d: AND
0000293e: JUMP
0000293f: JUMPDEST
00002940: SWAP2
00002941: POP
00002942: SWAP2
00002943: POP
00002944: PUSH2 0x296a
00002947: DUP8
00002948: PUSH1 0x00
0000294a: EQ
0000294b: ISZERO
0000294c: PUSH1 0x40
0000294e: MLOAD
0000294f: DUP1
00002950: PUSH1 0x60
00002952: ADD
00002953: PUSH1 0x40
00002955: MSTORE
00002956: DUP1
00002957: PUSH1 0x38
00002959: DUP2
0000295a: MSTORE
0000295b: PUSH1 0x20
0000295d: ADD
0000295e: PUSH2 0x45b7
00002961: PUSH1 0x38
00002963: SWAP2
00002964: CODECOPY
00002965: DUP7
00002966: PUSH2 0x2fc4
00002969: JUMP
0000296a: JUMPDEST
0000296b: PUSH2 0x29ba
0000296e: DUP4
0000296f: PUSH1 0x60
00002971: ADD
00002972: MLOAD
00002973: PUSH15 0xffffffffffffffffffffffffffffff
00002983: AND
00002984: DUP10
00002985: PUSH1 0x60
00002987: ADD
00002988: MLOAD
00002989: PUSH15 0xffffffffffffffffffffffffffffff
00002999: AND
0000299a: GT
0000299b: ISZERO
0000299c: PUSH1 0x40
0000299e: MLOAD
0000299f: DUP1
000029a0: PUSH1 0x80
000029a2: ADD
000029a3: PUSH1 0x40
000029a5: MSTORE
000029a6: DUP1
000029a7: PUSH1 0x43
000029a9: DUP2
000029aa: MSTORE
000029ab: PUSH1 0x20
000029ad: ADD
000029ae: PUSH2 0x4628
000029b1: PUSH1 0x43
000029b3: SWAP2
000029b4: CODECOPY
000029b5: DUP7
000029b6: PUSH2 0x2fc4
000029b9: JUMP
000029ba: JUMPDEST
000029bb: PUSH2 0x29eb
000029be: DUP4
000029bf: PUSH1 0x20
000029c1: ADD
000029c2: MLOAD
000029c3: ISZERO
000029c4: ISZERO
000029c5: DUP10
000029c6: PUSH1 0x20
000029c8: ADD
000029c9: MLOAD
000029ca: ISZERO
000029cb: ISZERO
000029cc: EQ
000029cd: PUSH1 0x40
000029cf: MLOAD
000029d0: DUP1
000029d1: PUSH1 0x60
000029d3: ADD
000029d4: PUSH1 0x40
000029d6: MSTORE
000029d7: DUP1
000029d8: PUSH1 0x39
000029da: DUP2
000029db: MSTORE
000029dc: PUSH1 0x20
000029de: ADD
000029df: PUSH2 0x45ef
000029e2: PUSH1 0x39
000029e4: SWAP2
000029e5: CODECOPY
000029e6: DUP7
000029e7: PUSH2 0x2fc4
000029ea: JUMP
000029eb: JUMPDEST
000029ec: PUSH2 0x2a12
000029ef: DUP2
000029f0: PUSH1 0x00
000029f2: EQ
000029f3: ISZERO
000029f4: PUSH1 0x40
000029f6: MLOAD
000029f7: DUP1
000029f8: PUSH1 0x60
000029fa: ADD
000029fb: PUSH1 0x40
000029fd: MSTORE
000029fe: DUP1
000029ff: PUSH1 0x35
00002a01: DUP2
00002a02: MSTORE
00002a03: PUSH1 0x20
00002a05: ADD
00002a06: PUSH2 0x466b
00002a09: PUSH1 0x35
00002a0b: SWAP2
00002a0c: CODECOPY
00002a0d: DUP7
00002a0e: PUSH2 0x2fc4
00002a11: JUMP
00002a12: JUMPDEST
00002a13: PUSH2 0x2a87
00002a16: DUP9
00002a17: PUSH1 0x20
00002a19: ADD
00002a1a: MLOAD
00002a1b: PUSH2 0x2a45
00002a1e: JUMPI
00002a1f: PUSH2 0x2a2e
00002a22: DUP9
00002a23: DUP4
00002a24: PUSH4 0xffffffff
00002a29: PUSH2 0x3028
00002a2c: AND
00002a2d: JUMP
00002a2e: JUMPDEST
00002a2f: PUSH2 0x2a3e
00002a32: DUP5
00002a33: DUP10
00002a34: PUSH4 0xffffffff
00002a39: PUSH2 0x3028
00002a3c: AND
00002a3d: JUMP
00002a3e: JUMPDEST
00002a3f: GT
00002a40: ISZERO
00002a41: PUSH2 0x2a68
00002a44: JUMP
00002a45: JUMPDEST
00002a46: PUSH2 0x2a55
00002a49: DUP3
00002a4a: DUP10
00002a4b: PUSH4 0xffffffff
00002a50: PUSH2 0x3028
00002a53: AND
00002a54: JUMP
00002a55: JUMPDEST
00002a56: PUSH2 0x2a65
00002a59: DUP9
00002a5a: DUP6
00002a5b: PUSH4 0xffffffff
00002a60: PUSH2 0x3028
00002a63: AND
00002a64: JUMP
00002a65: JUMPDEST
00002a66: GT
00002a67: ISZERO
00002a68: JUMPDEST
00002a69: PUSH1 0x40
00002a6b: MLOAD
00002a6c: DUP1
00002a6d: PUSH1 0x60
00002a6f: ADD
00002a70: PUSH1 0x40
00002a72: MSTORE
00002a73: DUP1
00002a74: PUSH1 0x3e
00002a76: DUP2
00002a77: MSTORE
00002a78: PUSH1 0x20
00002a7a: ADD
00002a7b: PUSH2 0x4579
00002a7e: PUSH1 0x3e
00002a80: SWAP2
00002a81: CODECOPY
00002a82: DUP7
00002a83: PUSH2 0x2fc4
00002a86: JUMP
00002a87: JUMPDEST
00002a88: POP
00002a89: POP
00002a8a: POP
00002a8b: POP
00002a8c: POP
00002a8d: POP
00002a8e: POP
00002a8f: POP
00002a90: JUMPDEST
00002a91: PUSH1 0x01
00002a93: ADD
00002a94: PUSH2 0x2867
00002a97: JUMP
00002a98: JUMPDEST
00002a99: POP
00002a9a: POP
00002a9b: POP
00002a9c: POP
00002a9d: POP
00002a9e: JUMP
00002a9f: JUMPDEST
00002aa0: SLOAD
00002aa1: SWAP1
00002aa2: JUMP
00002aa3: JUMPDEST
00002aa4: SWAP1
00002aa5: SSTORE
00002aa6: JUMP
00002aa7: JUMPDEST
00002aa8: PUSH1 0x00
00002aaa: DUP1
00002aab: PUSH1 0x00
00002aad: PUSH2 0x2ac3
00002ab0: DUP6
00002ab1: PUSH1 0x00
00002ab3: ADD
00002ab4: MLOAD
00002ab5: DUP6
00002ab6: PUSH2 0x1f5e
00002ab9: SWAP1
00002aba: SWAP2
00002abb: SWAP1
00002abc: PUSH4 0xffffffff
00002ac1: AND
00002ac2: JUMP
00002ac3: JUMPDEST
00002ac4: SWAP2
00002ac5: POP
00002ac6: SWAP2
00002ac7: POP
00002ac8: PUSH2 0x2ade
00002acb: DUP6
00002acc: PUSH1 0x20
00002ace: ADD
00002acf: MLOAD
00002ad0: DUP3
00002ad1: PUSH2 0x2ca2
00002ad4: SWAP1
00002ad5: SWAP2
00002ad6: SWAP1
00002ad7: PUSH4 0xffffffff
00002adc: AND
00002add: JUMP
00002ade: JUMPDEST
00002adf: PUSH2 0x2af6
00002ae2: PUSH2 0x2ae9
00002ae5: PUSH2 0x201b
00002ae8: JUMP
00002ae9: JUMPDEST
00002aea: DUP5
00002aeb: SWAP1
00002aec: PUSH4 0xffffffff
00002af1: PUSH2 0x2ca2
00002af4: AND
00002af5: JUMP
00002af6: JUMPDEST
00002af7: LT
00002af8: ISZERO
00002af9: SWAP6
00002afa: SWAP5
00002afb: POP
00002afc: POP
00002afd: POP
00002afe: POP
00002aff: POP
00002b00: JUMP
00002b01: JUMPDEST
00002b02: PUSH2 0x2b09
00002b05: PUSH2 0x3292
00002b08: JUMP
00002b09: JUMPDEST
00002b0a: DUP3
00002b0b: PUSH1 0x20
00002b0d: ADD
00002b0e: MLOAD
00002b0f: PUSH2 0x2b45
00002b12: JUMPI
00002b13: PUSH1 0x40
00002b15: MLOAD
00002b16: DUP1
00002b17: PUSH1 0x40
00002b19: ADD
00002b1a: PUSH1 0x40
00002b1c: MSTORE
00002b1d: DUP1
00002b1e: PUSH2 0x2b34
00002b21: DUP6
00002b22: PUSH1 0x00
00002b24: ADD
00002b25: MLOAD
00002b26: DUP6
00002b27: PUSH2 0x2cdc
00002b2a: SWAP1
00002b2b: SWAP2
00002b2c: SWAP1
00002b2d: PUSH4 0xffffffff
00002b32: AND
00002b33: JUMP
00002b34: JUMPDEST
00002b35: DUP2
00002b36: MSTORE
00002b37: PUSH1 0x00
00002b39: PUSH1 0x20
00002b3b: SWAP1
00002b3c: SWAP2
00002b3d: ADD
00002b3e: MSTORE
00002b3f: SWAP1
00002b40: POP
00002b41: PUSH2 0x085f
00002b44: JUMP
00002b45: JUMPDEST
00002b46: DUP3
00002b47: MLOAD
00002b48: DUP3
00002b49: LT
00002b4a: ISZERO
00002b4b: PUSH2 0x2b7d
00002b4e: JUMPI
00002b4f: PUSH1 0x40
00002b51: DUP1
00002b52: MLOAD
00002b53: DUP1
00002b54: DUP3
00002b55: ADD
00002b56: SWAP1
00002b57: SWAP2
00002b58: MSTORE
00002b59: DUP4
00002b5a: MLOAD
00002b5b: DUP2
00002b5c: SWAP1
00002b5d: PUSH2 0x2b6c
00002b60: SWAP1
00002b61: DUP6
00002b62: PUSH4 0xffffffff
00002b67: PUSH2 0x2027
00002b6a: AND
00002b6b: JUMP
00002b6c: JUMPDEST
00002b6d: DUP2
00002b6e: MSTORE
00002b6f: PUSH1 0x01
00002b71: PUSH1 0x20
00002b73: SWAP1
00002b74: SWAP2
00002b75: ADD
00002b76: MSTORE
00002b77: SWAP1
00002b78: POP
00002b79: PUSH2 0x085f
00002b7c: JUMP
00002b7d: JUMPDEST
00002b7e: PUSH1 0x40
00002b80: MLOAD
00002b81: DUP1
00002b82: PUSH1 0x40
00002b84: ADD
00002b85: PUSH1 0x40
00002b87: MSTORE
00002b88: DUP1
00002b89: PUSH2 0x2b9f
00002b8c: DUP6
00002b8d: PUSH1 0x00
00002b8f: ADD
00002b90: MLOAD
00002b91: DUP6
00002b92: PUSH2 0x2027
00002b95: SWAP1
00002b96: SWAP2
00002b97: SWAP1
00002b98: PUSH4 0xffffffff
00002b9d: AND
00002b9e: JUMP
00002b9f: JUMPDEST
00002ba0: DUP2
00002ba1: MSTORE
00002ba2: PUSH1 0x00
00002ba4: PUSH1 0x20
00002ba6: SWAP1
00002ba7: SWAP2
00002ba8: ADD
00002ba9: MSTORE
00002baa: SWAP4
00002bab: SWAP3
00002bac: POP
00002bad: POP
00002bae: POP
00002baf: JUMP
00002bb0: JUMPDEST
00002bb1: PUSH2 0x2bb8
00002bb4: PUSH2 0x3292
00002bb7: JUMP
00002bb8: JUMPDEST
00002bb9: DUP3
00002bba: PUSH1 0x20
00002bbc: ADD
00002bbd: MLOAD
00002bbe: ISZERO
00002bbf: PUSH2 0x2be4
00002bc2: JUMPI
00002bc3: PUSH1 0x40
00002bc5: MLOAD
00002bc6: DUP1
00002bc7: PUSH1 0x40
00002bc9: ADD
00002bca: PUSH1 0x40
00002bcc: MSTORE
00002bcd: DUP1
00002bce: PUSH2 0x2b6c
00002bd1: DUP6
00002bd2: PUSH1 0x00
00002bd4: ADD
00002bd5: MLOAD
00002bd6: DUP6
00002bd7: PUSH2 0x2cdc
00002bda: SWAP1
00002bdb: SWAP2
00002bdc: SWAP1
00002bdd: PUSH4 0xffffffff
00002be2: AND
00002be3: JUMP
00002be4: JUMPDEST
00002be5: DUP3
00002be6: MLOAD
00002be7: DUP3
00002be8: GT
00002be9: ISZERO
00002bea: PUSH2 0x2c0f
00002bed: JUMPI
00002bee: PUSH1 0x40
00002bf0: MLOAD
00002bf1: DUP1
00002bf2: PUSH1 0x40
00002bf4: ADD
00002bf5: PUSH1 0x40
00002bf7: MSTORE
00002bf8: DUP1
00002bf9: PUSH2 0x2b6c
00002bfc: DUP6
00002bfd: PUSH1 0x00
00002bff: ADD
00002c00: MLOAD
00002c01: DUP6
00002c02: PUSH2 0x2027
00002c05: SWAP1
00002c06: SWAP2
00002c07: SWAP1
00002c08: PUSH4 0xffffffff
00002c0d: AND
00002c0e: JUMP
00002c0f: JUMPDEST
00002c10: PUSH1 0x40
00002c12: DUP1
00002c13: MLOAD
00002c14: DUP1
00002c15: DUP3
00002c16: ADD
00002c17: SWAP1
00002c18: SWAP2
00002c19: MSTORE
00002c1a: DUP4
00002c1b: MLOAD
00002c1c: DUP2
00002c1d: SWAP1
00002c1e: PUSH2 0x2b9f
00002c21: SWAP1
00002c22: DUP6
00002c23: PUSH4 0xffffffff
00002c28: PUSH2 0x2027
00002c2b: AND
00002c2c: JUMP
00002c2d: JUMPDEST
00002c2e: PUSH1 0x00
00002c30: PUSH2 0x148e
00002c33: PUSH8 0x0de0b6b3a7640000
00002c3c: PUSH2 0x05f6
00002c3f: DUP6
00002c40: DUP6
00002c41: PUSH4 0xffffffff
00002c46: PUSH2 0x2ca2
00002c49: AND
00002c4a: JUMP
00002c4b: JUMPDEST
00002c4c: PUSH1 0x00
00002c4e: DUP3
00002c4f: ISZERO
00002c50: DUP1
00002c51: PUSH2 0x2c58
00002c54: JUMPI
00002c55: POP
00002c56: DUP2
00002c57: ISZERO
00002c58: JUMPDEST
00002c59: ISZERO
00002c5a: PUSH2 0x2c65
00002c5d: JUMPI
00002c5e: POP
00002c5f: PUSH1 0x00
00002c61: PUSH2 0x085f
00002c64: JUMP
00002c65: JUMPDEST
00002c66: PUSH2 0x148e
00002c69: PUSH1 0x01
00002c6b: PUSH2 0x2c96
00002c6e: PUSH8 0x0de0b6b3a7640000
00002c77: PUSH2 0x05f6
00002c7a: DUP4
00002c7b: PUSH2 0x2c8a
00002c7e: DUP10
00002c7f: DUP10
00002c80: PUSH4 0xffffffff
00002c85: PUSH2 0x2ca2
00002c88: AND
00002c89: JUMP
00002c8a: JUMPDEST
00002c8b: SWAP1
00002c8c: PUSH4 0xffffffff
00002c91: PUSH2 0x2027
00002c94: AND
00002c95: JUMP
00002c96: JUMPDEST
00002c97: SWAP1
00002c98: PUSH4 0xffffffff
00002c9d: PUSH2 0x2cdc
00002ca0: AND
00002ca1: JUMP
00002ca2: JUMPDEST
00002ca3: PUSH1 0x00
00002ca5: DUP3
00002ca6: PUSH2 0x2cb1
00002ca9: JUMPI
00002caa: POP
00002cab: PUSH1 0x00
00002cad: PUSH2 0x085f
00002cb0: JUMP
00002cb1: JUMPDEST
00002cb2: DUP3
00002cb3: DUP3
00002cb4: MUL
00002cb5: DUP3
00002cb6: DUP5
00002cb7: DUP3
00002cb8: DUP2
00002cb9: PUSH2 0x2cbe
00002cbc: JUMPI
00002cbd: INVALID
00002cbe: JUMPDEST
00002cbf: DIV
00002cc0: EQ
00002cc1: PUSH2 0x148e
00002cc4: JUMPI
00002cc5: PUSH1 0x40
00002cc7: MLOAD
00002cc8: PUSH3 0x461bcd
00002ccc: PUSH1 0xe5
00002cce: SHL
00002ccf: DUP2
00002cd0: MSTORE
00002cd1: PUSH1 0x04
00002cd3: ADD
00002cd4: PUSH2 0x03a4
00002cd7: SWAP1
00002cd8: PUSH2 0x42ee
00002cdb: JUMP
00002cdc: JUMPDEST
00002cdd: PUSH1 0x00
00002cdf: DUP3
00002ce0: DUP3
00002ce1: ADD
00002ce2: DUP4
00002ce3: DUP2
00002ce4: LT
00002ce5: ISZERO
00002ce6: PUSH2 0x148e
00002ce9: JUMPI
00002cea: PUSH1 0x40
00002cec: MLOAD
00002ced: PUSH3 0x461bcd
00002cf1: PUSH1 0xe5
00002cf3: SHL
00002cf4: DUP2
00002cf5: MSTORE
00002cf6: PUSH1 0x04
00002cf8: ADD
00002cf9: PUSH2 0x03a4
00002cfc: SWAP1
00002cfd: PUSH2 0x425e
00002d00: JUMP
00002d01: JUMPDEST
00002d02: PUSH1 0x00
00002d04: DUP2
00002d05: DUP5
00002d06: DUP5
00002d07: GT
00002d08: ISZERO
00002d09: PUSH2 0x2d25
00002d0c: JUMPI
00002d0d: PUSH1 0x40
00002d0f: MLOAD
00002d10: PUSH3 0x461bcd
00002d14: PUSH1 0xe5
00002d16: SHL
00002d17: DUP2
00002d18: MSTORE
00002d19: PUSH1 0x04
00002d1b: ADD
00002d1c: PUSH2 0x03a4
00002d1f: SWAP2
00002d20: SWAP1
00002d21: PUSH2 0x420d
00002d24: JUMP
00002d25: JUMPDEST
00002d26: POP
00002d27: POP
00002d28: POP
00002d29: SWAP1
00002d2a: SUB
00002d2b: SWAP1
00002d2c: JUMP
00002d2d: JUMPDEST
00002d2e: PUSH1 0x00
00002d30: DUP2
00002d31: DUP4
00002d32: PUSH2 0x2d4e
00002d35: JUMPI
00002d36: PUSH1 0x40
00002d38: MLOAD
00002d39: PUSH3 0x461bcd
00002d3d: PUSH1 0xe5
00002d3f: SHL
00002d40: DUP2
00002d41: MSTORE
00002d42: PUSH1 0x04
00002d44: ADD
00002d45: PUSH2 0x03a4
00002d48: SWAP2
00002d49: SWAP1
00002d4a: PUSH2 0x420d
00002d4d: JUMP
00002d4e: JUMPDEST
00002d4f: POP
00002d50: PUSH1 0x00
00002d52: DUP4
00002d53: DUP6
00002d54: DUP2
00002d55: PUSH2 0x2d5a
00002d58: JUMPI
00002d59: INVALID
00002d5a: JUMPDEST
00002d5b: DIV
00002d5c: SWAP6
00002d5d: SWAP5
00002d5e: POP
00002d5f: POP
00002d60: POP
00002d61: POP
00002d62: POP
00002d63: JUMP
00002d64: JUMPDEST
00002d65: PUSH2 0x2d76
00002d68: DUP3
00002d69: PUSH1 0x01
00002d6b: PUSH1 0x01
00002d6d: PUSH1 0xa0
00002d6f: SHL
00002d70: SUB
00002d71: AND
00002d72: PUSH2 0x3052
00002d75: JUMP
00002d76: JUMPDEST
00002d77: PUSH2 0x2d92
00002d7a: JUMPI
00002d7b: PUSH1 0x40
00002d7d: MLOAD
00002d7e: PUSH3 0x461bcd
00002d82: PUSH1 0xe5
00002d84: SHL
00002d85: DUP2
00002d86: MSTORE
00002d87: PUSH1 0x04
00002d89: ADD
00002d8a: PUSH2 0x03a4
00002d8d: SWAP1
00002d8e: PUSH2 0x436e
00002d91: JUMP
00002d92: JUMPDEST
00002d93: PUSH1 0x00
00002d95: PUSH1 0x60
00002d97: DUP4
00002d98: PUSH1 0x01
00002d9a: PUSH1 0x01
00002d9c: PUSH1 0xa0
00002d9e: SHL
00002d9f: SUB
00002da0: AND
00002da1: DUP4
00002da2: PUSH1 0x40
00002da4: MLOAD
00002da5: PUSH2 0x2dae
00002da8: SWAP2
00002da9: SWAP1
00002daa: PUSH2 0x406f
00002dad: JUMP
00002dae: JUMPDEST
00002daf: PUSH1 0x00
00002db1: PUSH1 0x40
00002db3: MLOAD
00002db4: DUP1
00002db5: DUP4
00002db6: SUB
00002db7: DUP2
00002db8: PUSH1 0x00
00002dba: DUP7
00002dbb: GAS
00002dbc: CALL
00002dbd: SWAP2
00002dbe: POP
00002dbf: POP
00002dc0: RETURNDATASIZE
00002dc1: DUP1
00002dc2: PUSH1 0x00
00002dc4: DUP2
00002dc5: EQ
00002dc6: PUSH2 0x2deb
00002dc9: JUMPI
00002dca: PUSH1 0x40
00002dcc: MLOAD
00002dcd: SWAP2
00002dce: POP
00002dcf: PUSH1 0x1f
00002dd1: NOT
00002dd2: PUSH1 0x3f
00002dd4: RETURNDATASIZE
00002dd5: ADD
00002dd6: AND
00002dd7: DUP3
00002dd8: ADD
00002dd9: PUSH1 0x40
00002ddb: MSTORE
00002ddc: RETURNDATASIZE
00002ddd: DUP3
00002dde: MSTORE
00002ddf: RETURNDATASIZE
00002de0: PUSH1 0x00
00002de2: PUSH1 0x20
00002de4: DUP5
00002de5: ADD
00002de6: RETURNDATACOPY
00002de7: PUSH2 0x2df0
00002dea: JUMP
00002deb: JUMPDEST
00002dec: PUSH1 0x60
00002dee: SWAP2
00002def: POP
00002df0: JUMPDEST
00002df1: POP
00002df2: SWAP2
00002df3: POP
00002df4: SWAP2
00002df5: POP
00002df6: DUP2
00002df7: PUSH2 0x2e12
00002dfa: JUMPI
00002dfb: PUSH1 0x40
00002dfd: MLOAD
00002dfe: PUSH3 0x461bcd
00002e02: PUSH1 0xe5
00002e04: SHL
00002e05: DUP2
00002e06: MSTORE
00002e07: PUSH1 0x04
00002e09: ADD
00002e0a: PUSH2 0x03a4
00002e0d: SWAP1
00002e0e: PUSH2 0x429e
00002e11: JUMP
00002e12: JUMPDEST
00002e13: DUP1
00002e14: MLOAD
00002e15: ISZERO
00002e16: PUSH2 0x2614
00002e19: JUMPI
00002e1a: DUP1
00002e1b: DUP1
00002e1c: PUSH1 0x20
00002e1e: ADD
00002e1f: SWAP1
00002e20: MLOAD
00002e21: PUSH2 0x2e2d
00002e24: SWAP2
00002e25: SWAP1
00002e26: DUP2
00002e27: ADD
00002e28: SWAP1
00002e29: PUSH2 0x36ba
00002e2c: JUMP
00002e2d: JUMPDEST
00002e2e: PUSH2 0x2614
00002e31: JUMPI
00002e32: PUSH1 0x40
00002e34: MLOAD
00002e35: PUSH3 0x461bcd
00002e39: PUSH1 0xe5
00002e3b: SHL
00002e3c: DUP2
00002e3d: MSTORE
00002e3e: PUSH1 0x04
00002e40: ADD
00002e41: PUSH2 0x03a4
00002e44: SWAP1
00002e45: PUSH2 0x434e
00002e48: JUMP
00002e49: JUMPDEST
00002e4a: PUSH1 0x00
00002e4c: PUSH5 0x0100000000
00002e52: DUP3
00002e53: LT
00002e54: PUSH2 0x20f2
00002e57: JUMPI
00002e58: PUSH1 0x40
00002e5a: MLOAD
00002e5b: PUSH3 0x461bcd
00002e5f: PUSH1 0xe5
00002e61: SHL
00002e62: DUP2
00002e63: MSTORE
00002e64: PUSH1 0x04
00002e66: ADD
00002e67: PUSH2 0x03a4
00002e6a: SWAP1
00002e6b: PUSH2 0x431e
00002e6e: JUMP
00002e6f: JUMPDEST
00002e70: PUSH1 0x00
00002e72: PUSH17 0x0100000000000000000000000000000000
00002e84: DUP3
00002e85: LT
00002e86: PUSH2 0x20f2
00002e89: JUMPI
00002e8a: PUSH1 0x40
00002e8c: MLOAD
00002e8d: PUSH3 0x461bcd
00002e91: PUSH1 0xe5
00002e93: SHL
00002e94: DUP2
00002e95: MSTORE
00002e96: PUSH1 0x04
00002e98: ADD
00002e99: PUSH2 0x03a4
00002e9c: SWAP1
00002e9d: PUSH2 0x428e
00002ea0: JUMP
00002ea1: JUMPDEST
00002ea2: PUSH1 0x00
00002ea4: DUP1
00002ea5: PUSH1 0x88
00002ea7: DUP4
00002ea8: PUSH1 0x00
00002eaa: ADD
00002eab: MLOAD
00002eac: PUSH4 0xffffffff
00002eb1: AND
00002eb2: SWAP1
00002eb3: SHL
00002eb4: DUP4
00002eb5: PUSH1 0x20
00002eb7: ADD
00002eb8: MLOAD
00002eb9: PUSH2 0x2ec3
00002ebc: JUMPI
00002ebd: PUSH1 0x00
00002ebf: PUSH2 0x2ed6
00002ec2: JUMP
00002ec3: JUMPDEST
00002ec4: PUSH17 0x0100000000000000000000000000000000
00002ed6: JUMPDEST
00002ed7: PUSH1 0x40
00002ed9: DUP6
00002eda: ADD
00002edb: MLOAD
00002edc: PUSH16 0xffffffffffffffffffffffffffffffff
00002eed: AND
00002eee: OR
00002eef: OR
00002ef0: SWAP2
00002ef1: POP
00002ef2: POP
00002ef3: SWAP2
00002ef4: SWAP1
00002ef5: POP
00002ef6: JUMP
00002ef7: JUMPDEST
00002ef8: PUSH2 0x2eff
00002efb: PUSH2 0x3292
00002efe: JUMP
00002eff: JUMPDEST
00002f00: POP
00002f01: PUSH1 0x40
00002f03: DUP1
00002f04: MLOAD
00002f05: DUP1
00002f06: DUP3
00002f07: ADD
00002f08: DUP3
00002f09: MSTORE
00002f0a: SWAP1
00002f0b: DUP3
00002f0c: ADD
00002f0d: MLOAD
00002f0e: PUSH15 0xffffffffffffffffffffffffffffff
00002f1e: AND
00002f1f: DUP2
00002f20: MSTORE
00002f21: SWAP1
00002f22: MLOAD
00002f23: ISZERO
00002f24: ISZERO
00002f25: PUSH1 0x20
00002f27: DUP3
00002f28: ADD
00002f29: MSTORE
00002f2a: SWAP1
00002f2b: JUMP
00002f2c: JUMPDEST
00002f2d: DUP1
00002f2e: MLOAD
00002f2f: PUSH2 0x2f37
00002f32: SWAP1
00002f33: PUSH2 0x20c1
00002f36: JUMP
00002f37: JUMPDEST
00002f38: PUSH15 0xffffffffffffffffffffffffffffff
00002f48: AND
00002f49: PUSH1 0x40
00002f4b: DUP4
00002f4c: ADD
00002f4d: MSTORE
00002f4e: PUSH1 0x20
00002f50: ADD
00002f51: MLOAD
00002f52: ISZERO
00002f53: ISZERO
00002f54: SWAP1
00002f55: MSTORE
00002f56: JUMP
00002f57: JUMPDEST
00002f58: PUSH2 0x2f5f
00002f5b: PUSH2 0x3292
00002f5e: JUMP
00002f5f: JUMPDEST
00002f60: PUSH1 0x40
00002f62: MLOAD
00002f63: DUP1
00002f64: PUSH1 0x40
00002f66: ADD
00002f67: PUSH1 0x40
00002f69: MSTORE
00002f6a: DUP1
00002f6b: DUP4
00002f6c: PUSH1 0x60
00002f6e: ADD
00002f6f: MLOAD
00002f70: PUSH15 0xffffffffffffffffffffffffffffff
00002f80: AND
00002f81: DUP2
00002f82: MSTORE
00002f83: PUSH1 0x20
00002f85: ADD
00002f86: DUP4
00002f87: PUSH1 0x20
00002f89: ADD
00002f8a: MLOAD
00002f8b: ISZERO
00002f8c: ISZERO
00002f8d: DUP2
00002f8e: MSTORE
00002f8f: POP
00002f90: SWAP1
00002f91: POP
00002f92: SWAP2
00002f93: SWAP1
00002f94: POP
00002f95: JUMP
00002f96: JUMPDEST
00002f97: DUP1
00002f98: MLOAD
00002f99: PUSH2 0x2fa1
00002f9c: SWAP1
00002f9d: PUSH2 0x20c1
00002fa0: JUMP
00002fa1: JUMPDEST
00002fa2: PUSH15 0xffffffffffffffffffffffffffffff
00002fb2: AND
00002fb3: PUSH1 0x60
00002fb5: DUP4
00002fb6: ADD
00002fb7: MSTORE
00002fb8: PUSH1 0x20
00002fba: SWAP1
00002fbb: DUP2
00002fbc: ADD
00002fbd: MLOAD
00002fbe: ISZERO
00002fbf: ISZERO
00002fc0: SWAP2
00002fc1: ADD
00002fc2: MSTORE
00002fc3: JUMP
00002fc4: JUMPDEST
00002fc5: DUP3
00002fc6: PUSH2 0x21b3
00002fc9: JUMPI
00002fca: DUP2
00002fcb: PUSH2 0x2fd3
00002fce: DUP3
00002fcf: PUSH2 0x308e
00002fd2: JUMP
00002fd3: JUMPDEST
00002fd4: PUSH1 0x40
00002fd6: MLOAD
00002fd7: PUSH1 0x20
00002fd9: ADD
00002fda: PUSH2 0x2fe4
00002fdd: SWAP3
00002fde: SWAP2
00002fdf: SWAP1
00002fe0: PUSH2 0x407b
00002fe3: JUMP
00002fe4: JUMPDEST
00002fe5: PUSH1 0x40
00002fe7: DUP1
00002fe8: MLOAD
00002fe9: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000300a: DUP2
0000300b: DUP5
0000300c: SUB
0000300d: ADD
0000300e: DUP2
0000300f: MSTORE
00003010: SWAP1
00003011: DUP3
00003012: SWAP1
00003013: MSTORE
00003014: PUSH3 0x461bcd
00003018: PUSH1 0xe5
0000301a: SHL
0000301b: DUP3
0000301c: MSTORE
0000301d: PUSH2 0x03a4
00003020: SWAP2
00003021: PUSH1 0x04
00003023: ADD
00003024: PUSH2 0x420d
00003027: JUMP
00003028: JUMPDEST
00003029: PUSH1 0x00
0000302b: PUSH2 0x148e
0000302e: DUP3
0000302f: PUSH2 0x3046
00003032: DUP6
00003033: PUSH8 0x0de0b6b3a7640000
0000303c: PUSH4 0xffffffff
00003041: PUSH2 0x2069
00003044: AND
00003045: JUMP
00003046: JUMPDEST
00003047: SWAP1
00003048: PUSH4 0xffffffff
0000304d: PUSH2 0x2ca2
00003050: AND
00003051: JUMP
00003052: JUMPDEST
00003053: PUSH1 0x00
00003055: DUP2
00003056: EXTCODEHASH
00003057: PUSH32 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470
00003078: DUP2
00003079: DUP2
0000307a: EQ
0000307b: DUP1
0000307c: ISZERO
0000307d: SWAP1
0000307e: PUSH2 0x3086
00003081: JUMPI
00003082: POP
00003083: DUP2
00003084: ISZERO
00003085: ISZERO
00003086: JUMPDEST
00003087: SWAP5
00003088: SWAP4
00003089: POP
0000308a: POP
0000308b: POP
0000308c: POP
0000308d: JUMP
0000308e: JUMPDEST
0000308f: PUSH1 0x60
00003091: DUP1
00003092: PUSH23 0x3a20307830303030303030302e2e2e3030303030303030
000030aa: PUSH1 0x48
000030ac: SHL
000030ad: PUSH1 0x40
000030af: MLOAD
000030b0: PUSH1 0x20
000030b2: ADD
000030b3: PUSH2 0x30bc
000030b6: SWAP2
000030b7: SWAP1
000030b8: PUSH2 0x405a
000030bb: JUMP
000030bc: JUMPDEST
000030bd: PUSH1 0x40
000030bf: DUP1
000030c0: MLOAD
000030c1: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
000030e2: DUP2
000030e3: DUP5
000030e4: SUB
000030e5: ADD
000030e6: DUP2
000030e7: MSTORE
000030e8: SWAP2
000030e9: SWAP1
000030ea: MSTORE
000030eb: SWAP1
000030ec: POP
000030ed: PUSH1 0x01
000030ef: PUSH1 0x01
000030f1: PUSH1 0xa0
000030f3: SHL
000030f4: SUB
000030f5: DUP4
000030f6: AND
000030f7: PUSH1 0x9c
000030f9: PUSH1 0x1c
000030fb: PUSH1 0x04
000030fd: JUMPDEST
000030fe: PUSH1 0x0c
00003100: DUP2
00003101: LT
00003102: ISZERO
00003103: PUSH2 0x31c7
00003106: JUMPI
00003107: PUSH2 0x3111
0000310a: DUP5
0000310b: DUP5
0000310c: SHR
0000310d: PUSH2 0x31d2
00003110: JUMP
00003111: JUMPDEST
00003112: DUP6
00003113: DUP3
00003114: DUP2
00003115: MLOAD
00003116: DUP2
00003117: LT
00003118: PUSH2 0x311d
0000311b: JUMPI
0000311c: INVALID
0000311d: JUMPDEST
0000311e: PUSH1 0x20
00003120: ADD
00003121: ADD
00003122: SWAP1
00003123: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003143: NOT
00003144: AND
00003145: SWAP1
00003146: DUP2
00003147: PUSH1 0x00
00003149: BYTE
0000314a: SWAP1
0000314b: MSTORE8
0000314c: POP
0000314d: PUSH2 0x3157
00003150: DUP5
00003151: DUP4
00003152: SHR
00003153: PUSH2 0x31d2
00003156: JUMP
00003157: JUMPDEST
00003158: DUP6
00003159: DUP3
0000315a: PUSH1 0x0b
0000315c: ADD
0000315d: DUP2
0000315e: MLOAD
0000315f: DUP2
00003160: LT
00003161: PUSH2 0x3166
00003164: JUMPI
00003165: INVALID
00003166: JUMPDEST
00003167: PUSH1 0x20
00003169: ADD
0000316a: ADD
0000316b: SWAP1
0000316c: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000318c: NOT
0000318d: AND
0000318e: SWAP1
0000318f: DUP2
00003190: PUSH1 0x00
00003192: BYTE
00003193: SWAP1
00003194: MSTORE8
00003195: POP
00003196: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
000031b7: SWAP3
000031b8: DUP4
000031b9: ADD
000031ba: SWAP3
000031bb: SWAP2
000031bc: SWAP1
000031bd: SWAP2
000031be: ADD
000031bf: SWAP1
000031c0: PUSH1 0x01
000031c2: ADD
000031c3: PUSH2 0x30fd
000031c6: JUMP
000031c7: JUMPDEST
000031c8: POP
000031c9: SWAP3
000031ca: SWAP6
000031cb: SWAP5
000031cc: POP
000031cd: POP
000031ce: POP
000031cf: POP
000031d0: POP
000031d1: JUMP
000031d2: JUMPDEST
000031d3: PUSH1 0x00
000031d5: PUSH1 0x0f
000031d7: DUP3
000031d8: AND
000031d9: PUSH1 0x0a
000031db: DUP2
000031dc: LT
000031dd: PUSH2 0x31e7
000031e0: JUMPI
000031e1: PUSH1 0x57
000031e3: PUSH2 0x31ea
000031e6: JUMP
000031e7: JUMPDEST
000031e8: PUSH1 0x30
000031ea: JUMPDEST
000031eb: ADD
000031ec: PUSH1 0xf8
000031ee: SHL
000031ef: SWAP3
000031f0: SWAP2
000031f1: POP
000031f2: POP
000031f3: JUMP
000031f4: JUMPDEST
000031f5: PUSH1 0x40
000031f7: MLOAD
000031f8: DUP1
000031f9: PUSH1 0x60
000031fb: ADD
000031fc: PUSH1 0x40
000031fe: MSTORE
000031ff: DUP1
00003200: PUSH1 0x00
00003202: DUP2
00003203: MSTORE
00003204: PUSH1 0x20
00003206: ADD
00003207: PUSH1 0x00
00003209: DUP2
0000320a: MSTORE
0000320b: PUSH1 0x20
0000320d: ADD
0000320e: PUSH2 0x3215
00003211: PUSH2 0x3272
00003214: JUMP
00003215: JUMPDEST
00003216: SWAP1
00003217: MSTORE
00003218: SWAP1
00003219: JUMP
0000321a: JUMPDEST
0000321b: PUSH1 0x40
0000321d: DUP1
0000321e: MLOAD
0000321f: PUSH1 0x80
00003221: DUP2
00003222: ADD
00003223: DUP3
00003224: MSTORE
00003225: PUSH1 0x00
00003227: DUP1
00003228: DUP3
00003229: MSTORE
0000322a: PUSH1 0x20
0000322c: DUP3
0000322d: ADD
0000322e: DUP2
0000322f: SWAP1
00003230: MSTORE
00003231: SWAP2
00003232: DUP2
00003233: ADD
00003234: DUP3
00003235: SWAP1
00003236: MSTORE
00003237: PUSH1 0x60
00003239: DUP2
0000323a: ADD
0000323b: SWAP2
0000323c: SWAP1
0000323d: SWAP2
0000323e: MSTORE
0000323f: SWAP1
00003240: JUMP
00003241: JUMPDEST
00003242: PUSH1 0x40
00003244: MLOAD
00003245: DUP1
00003246: PUSH1 0x80
00003248: ADD
00003249: PUSH1 0x40
0000324b: MSTORE
0000324c: DUP1
0000324d: PUSH1 0x00
0000324f: DUP2
00003250: MSTORE
00003251: PUSH1 0x20
00003253: ADD
00003254: PUSH1 0x00
00003256: DUP2
00003257: MSTORE
00003258: PUSH1 0x20
0000325a: ADD
0000325b: PUSH1 0x00
0000325d: PUSH1 0x01
0000325f: PUSH1 0x01
00003261: PUSH1 0xa0
00003263: SHL
00003264: SUB
00003265: AND
00003266: DUP2
00003267: MSTORE
00003268: PUSH1 0x20
0000326a: ADD
0000326b: PUSH1 0x60
0000326d: DUP2
0000326e: MSTORE
0000326f: POP
00003270: SWAP1
00003271: JUMP
00003272: JUMPDEST
00003273: PUSH1 0x40
00003275: DUP1
00003276: MLOAD
00003277: PUSH1 0x60
00003279: DUP2
0000327a: ADD
0000327b: DUP3
0000327c: MSTORE
0000327d: PUSH1 0x00
0000327f: DUP1
00003280: DUP3
00003281: MSTORE
00003282: PUSH1 0x20
00003284: DUP3
00003285: ADD
00003286: DUP2
00003287: SWAP1
00003288: MSTORE
00003289: SWAP2
0000328a: DUP2
0000328b: ADD
0000328c: SWAP2
0000328d: SWAP1
0000328e: SWAP2
0000328f: MSTORE
00003290: SWAP1
00003291: JUMP
00003292: JUMPDEST
00003293: PUSH1 0x40
00003295: DUP1
00003296: MLOAD
00003297: DUP1
00003298: DUP3
00003299: ADD
0000329a: SWAP1
0000329b: SWAP2
0000329c: MSTORE
0000329d: PUSH1 0x00
0000329f: DUP1
000032a0: DUP3
000032a1: MSTORE
000032a2: PUSH1 0x20
000032a4: DUP3
000032a5: ADD
000032a6: MSTORE
000032a7: SWAP1
000032a8: JUMP
000032a9: JUMPDEST
000032aa: DUP1
000032ab: CALLDATALOAD
000032ac: PUSH2 0x085f
000032af: DUP2
000032b0: PUSH2 0x454f
000032b3: JUMP
000032b4: JUMPDEST
000032b5: PUSH1 0x00
000032b7: DUP3
000032b8: PUSH1 0x1f
000032ba: DUP4
000032bb: ADD
000032bc: SLT
000032bd: PUSH2 0x32c5
000032c0: JUMPI
000032c1: PUSH1 0x00
000032c3: DUP1
000032c4: REVERT
000032c5: JUMPDEST
000032c6: DUP2
000032c7: CALLDATALOAD
000032c8: PUSH2 0x32d8
000032cb: PUSH2 0x32d3
000032ce: DUP3
000032cf: PUSH2 0x43df
000032d2: JUMP
000032d3: JUMPDEST
000032d4: PUSH2 0x43b8
000032d7: JUMP
000032d8: JUMPDEST
000032d9: SWAP2
000032da: POP
000032db: DUP2
000032dc: DUP2
000032dd: DUP4
000032de: MSTORE
000032df: PUSH1 0x20
000032e1: DUP5
000032e2: ADD
000032e3: SWAP4
000032e4: POP
000032e5: PUSH1 0x20
000032e7: DUP2
000032e8: ADD
000032e9: SWAP1
000032ea: POP
000032eb: DUP4
000032ec: DUP6
000032ed: PUSH1 0x20
000032ef: DUP5
000032f0: MUL
000032f1: DUP3
000032f2: ADD
000032f3: GT
000032f4: ISZERO
000032f5: PUSH2 0x32fd
000032f8: JUMPI
000032f9: PUSH1 0x00
000032fb: DUP1
000032fc: REVERT
000032fd: JUMPDEST
000032fe: PUSH1 0x00
00003300: JUMPDEST
00003301: DUP4
00003302: DUP2
00003303: LT
00003304: ISZERO
00003305: PUSH2 0x3329
00003308: JUMPI
00003309: DUP2
0000330a: PUSH2 0x3313
0000330d: DUP9
0000330e: DUP3
0000330f: PUSH2 0x32a9
00003312: JUMP
00003313: JUMPDEST
00003314: DUP5
00003315: MSTORE
00003316: POP
00003317: PUSH1 0x20
00003319: SWAP3
0000331a: DUP4
0000331b: ADD
0000331c: SWAP3
0000331d: SWAP2
0000331e: SWAP1
0000331f: SWAP2
00003320: ADD
00003321: SWAP1
00003322: PUSH1 0x01
00003324: ADD
00003325: PUSH2 0x3300
00003328: JUMP
00003329: JUMPDEST
0000332a: POP
0000332b: POP
0000332c: POP
0000332d: POP
0000332e: SWAP3
0000332f: SWAP2
00003330: POP
00003331: POP
00003332: JUMP
00003333: JUMPDEST
00003334: PUSH1 0x00
00003336: DUP3
00003337: PUSH1 0x1f
00003339: DUP4
0000333a: ADD
0000333b: SLT
0000333c: PUSH2 0x3344
0000333f: JUMPI
00003340: PUSH1 0x00
00003342: DUP1
00003343: REVERT
00003344: JUMPDEST
00003345: DUP2
00003346: CALLDATALOAD
00003347: PUSH2 0x3352
0000334a: PUSH2 0x32d3
0000334d: DUP3
0000334e: PUSH2 0x43df
00003351: JUMP
00003352: JUMPDEST
00003353: DUP2
00003354: DUP2
00003355: MSTORE
00003356: PUSH1 0x20
00003358: SWAP4
00003359: DUP5
0000335a: ADD
0000335b: SWAP4
0000335c: SWAP1
0000335d: SWAP3
0000335e: POP
0000335f: DUP3
00003360: ADD
00003361: DUP4
00003362: PUSH1 0x00
00003364: JUMPDEST
00003365: DUP4
00003366: DUP2
00003367: LT
00003368: ISZERO
00003369: PUSH2 0x3329
0000336c: JUMPI
0000336d: DUP2
0000336e: CALLDATALOAD
0000336f: DUP7
00003370: ADD
00003371: PUSH2 0x337a
00003374: DUP9
00003375: DUP3
00003376: PUSH2 0x3400
00003379: JUMP
0000337a: JUMPDEST
0000337b: DUP5
0000337c: MSTORE
0000337d: POP
0000337e: PUSH1 0x20
00003380: SWAP3
00003381: DUP4
00003382: ADD
00003383: SWAP3
00003384: SWAP2
00003385: SWAP1
00003386: SWAP2
00003387: ADD
00003388: SWAP1
00003389: PUSH1 0x01
0000338b: ADD
0000338c: PUSH2 0x3364
0000338f: JUMP
00003390: JUMPDEST
00003391: DUP1
00003392: CALLDATALOAD
00003393: PUSH2 0x085f
00003396: DUP2
00003397: PUSH2 0x4566
0000339a: JUMP
0000339b: JUMPDEST
0000339c: DUP1
0000339d: MLOAD
0000339e: PUSH2 0x085f
000033a1: DUP2
000033a2: PUSH2 0x4566
000033a5: JUMP
000033a6: JUMPDEST
000033a7: DUP1
000033a8: MLOAD
000033a9: PUSH2 0x085f
000033ac: DUP2
000033ad: PUSH2 0x456f
000033b0: JUMP
000033b1: JUMPDEST
000033b2: PUSH1 0x00
000033b4: DUP3
000033b5: PUSH1 0x1f
000033b7: DUP4
000033b8: ADD
000033b9: SLT
000033ba: PUSH2 0x33c2
000033bd: JUMPI
000033be: PUSH1 0x00
000033c0: DUP1
000033c1: REVERT
000033c2: JUMPDEST
000033c3: DUP2
000033c4: CALLDATALOAD
000033c5: PUSH2 0x33d0
000033c8: PUSH2 0x32d3
000033cb: DUP3
000033cc: PUSH2 0x4400
000033cf: JUMP
000033d0: JUMPDEST
000033d1: SWAP2
000033d2: POP
000033d3: DUP1
000033d4: DUP3
000033d5: MSTORE
000033d6: PUSH1 0x20
000033d8: DUP4
000033d9: ADD
000033da: PUSH1 0x20
000033dc: DUP4
000033dd: ADD
000033de: DUP6
000033df: DUP4
000033e0: DUP4
000033e1: ADD
000033e2: GT
000033e3: ISZERO
000033e4: PUSH2 0x33ec
000033e7: JUMPI
000033e8: PUSH1 0x00
000033ea: DUP1
000033eb: REVERT
000033ec: JUMPDEST
000033ed: PUSH2 0x33f7
000033f0: DUP4
000033f1: DUP3
000033f2: DUP5
000033f3: PUSH2 0x44ef
000033f6: JUMP
000033f7: JUMPDEST
000033f8: POP
000033f9: POP
000033fa: POP
000033fb: SWAP3
000033fc: SWAP2
000033fd: POP
000033fe: POP
000033ff: JUMP
00003400: JUMPDEST
00003401: PUSH1 0x00
00003403: PUSH1 0x80
00003405: DUP3
00003406: DUP5
00003407: SUB
00003408: SLT
00003409: ISZERO
0000340a: PUSH2 0x3412
0000340d: JUMPI
0000340e: PUSH1 0x00
00003410: DUP1
00003411: REVERT
00003412: JUMPDEST
00003413: PUSH2 0x341c
00003416: PUSH1 0x80
00003418: PUSH2 0x43b8
0000341b: JUMP
0000341c: JUMPDEST
0000341d: SWAP1
0000341e: POP
0000341f: PUSH1 0x00
00003421: PUSH2 0x342a
00003424: DUP5
00003425: DUP5
00003426: PUSH2 0x34ea
00003429: JUMP
0000342a: JUMPDEST
0000342b: DUP3
0000342c: MSTORE
0000342d: POP
0000342e: PUSH1 0x20
00003430: PUSH2 0x343b
00003433: DUP5
00003434: DUP5
00003435: DUP4
00003436: ADD
00003437: PUSH2 0x34ea
0000343a: JUMP
0000343b: JUMPDEST
0000343c: PUSH1 0x20
0000343e: DUP4
0000343f: ADD
00003440: MSTORE
00003441: POP
00003442: PUSH1 0x40
00003444: PUSH2 0x344f
00003447: DUP5
00003448: DUP3
00003449: DUP6
0000344a: ADD
0000344b: PUSH2 0x32a9
0000344e: JUMP
0000344f: JUMPDEST
00003450: PUSH1 0x40
00003452: DUP4
00003453: ADD
00003454: MSTORE
00003455: POP
00003456: PUSH1 0x60
00003458: DUP3
00003459: ADD
0000345a: CALLDATALOAD
0000345b: PUSH8 0xffffffffffffffff
00003464: DUP2
00003465: GT
00003466: ISZERO
00003467: PUSH2 0x346f
0000346a: JUMPI
0000346b: PUSH1 0x00
0000346d: DUP1
0000346e: REVERT
0000346f: JUMPDEST
00003470: PUSH2 0x347b
00003473: DUP5
00003474: DUP3
00003475: DUP6
00003476: ADD
00003477: PUSH2 0x33b1
0000347a: JUMP
0000347b: JUMPDEST
0000347c: PUSH1 0x60
0000347e: DUP4
0000347f: ADD
00003480: MSTORE
00003481: POP
00003482: SWAP3
00003483: SWAP2
00003484: POP
00003485: POP
00003486: JUMP
00003487: JUMPDEST
00003488: PUSH1 0x00
0000348a: PUSH1 0x80
0000348c: DUP3
0000348d: DUP5
0000348e: SUB
0000348f: SLT
00003490: ISZERO
00003491: PUSH2 0x3499
00003494: JUMPI
00003495: PUSH1 0x00
00003497: DUP1
00003498: REVERT
00003499: JUMPDEST
0000349a: PUSH2 0x34a3
0000349d: PUSH1 0x80
0000349f: PUSH2 0x43b8
000034a2: JUMP
000034a3: JUMPDEST
000034a4: SWAP1
000034a5: POP
000034a6: PUSH1 0x00
000034a8: PUSH2 0x34b1
000034ab: DUP5
000034ac: DUP5
000034ad: PUSH2 0x33a6
000034b0: JUMP
000034b1: JUMPDEST
000034b2: DUP3
000034b3: MSTORE
000034b4: POP
000034b5: PUSH1 0x20
000034b7: PUSH2 0x34c2
000034ba: DUP5
000034bb: DUP5
000034bc: DUP4
000034bd: ADD
000034be: PUSH2 0x33a6
000034c1: JUMP
000034c2: JUMPDEST
000034c3: PUSH1 0x20
000034c5: DUP4
000034c6: ADD
000034c7: MSTORE
000034c8: POP
000034c9: PUSH1 0x40
000034cb: PUSH2 0x34d6
000034ce: DUP5
000034cf: DUP3
000034d0: DUP6
000034d1: ADD
000034d2: PUSH2 0x339b
000034d5: JUMP
000034d6: JUMPDEST
000034d7: PUSH1 0x40
000034d9: DUP4
000034da: ADD
000034db: MSTORE
000034dc: POP
000034dd: PUSH1 0x60
000034df: PUSH2 0x347b
000034e2: DUP5
000034e3: DUP3
000034e4: DUP6
000034e5: ADD
000034e6: PUSH2 0x33a6
000034e9: JUMP
000034ea: JUMPDEST
000034eb: DUP1
000034ec: CALLDATALOAD
000034ed: PUSH2 0x085f
000034f0: DUP2
000034f1: PUSH2 0x456f
000034f4: JUMP
000034f5: JUMPDEST
000034f6: PUSH1 0x00
000034f8: PUSH1 0x20
000034fa: DUP3
000034fb: DUP5
000034fc: SUB
000034fd: SLT
000034fe: ISZERO
000034ff: PUSH2 0x3507
00003502: JUMPI
00003503: PUSH1 0x00
00003505: DUP1
00003506: REVERT
00003507: JUMPDEST
00003508: PUSH1 0x00
0000350a: PUSH2 0x3086
0000350d: DUP5
0000350e: DUP5
0000350f: PUSH2 0x32a9
00003512: JUMP
00003513: JUMPDEST
00003514: PUSH1 0x00
00003516: DUP1
00003517: PUSH1 0x40
00003519: DUP4
0000351a: DUP6
0000351b: SUB
0000351c: SLT
0000351d: ISZERO
0000351e: PUSH2 0x3526
00003521: JUMPI
00003522: PUSH1 0x00
00003524: DUP1
00003525: REVERT
00003526: JUMPDEST
00003527: PUSH1 0x00
00003529: PUSH2 0x3532
0000352c: DUP6
0000352d: DUP6
0000352e: PUSH2 0x32a9
00003531: JUMP
00003532: JUMPDEST
00003533: SWAP3
00003534: POP
00003535: POP
00003536: PUSH1 0x20
00003538: PUSH2 0x3543
0000353b: DUP6
0000353c: DUP3
0000353d: DUP7
0000353e: ADD
0000353f: PUSH2 0x32a9
00003542: JUMP
00003543: JUMPDEST
00003544: SWAP2
00003545: POP
00003546: POP
00003547: SWAP3
00003548: POP
00003549: SWAP3
0000354a: SWAP1
0000354b: POP
0000354c: JUMP
0000354d: JUMPDEST
0000354e: PUSH1 0x00
00003550: DUP1
00003551: PUSH1 0x00
00003553: DUP1
00003554: PUSH1 0x80
00003556: DUP6
00003557: DUP8
00003558: SUB
00003559: SLT
0000355a: ISZERO
0000355b: PUSH2 0x3563
0000355e: JUMPI
0000355f: PUSH1 0x00
00003561: DUP1
00003562: REVERT
00003563: JUMPDEST
00003564: PUSH1 0x00
00003566: PUSH2 0x356f
00003569: DUP8
0000356a: DUP8
0000356b: PUSH2 0x32a9
0000356e: JUMP
0000356f: JUMPDEST
00003570: SWAP5
00003571: POP
00003572: POP
00003573: PUSH1 0x20
00003575: PUSH2 0x3580
00003578: DUP8
00003579: DUP3
0000357a: DUP9
0000357b: ADD
0000357c: PUSH2 0x32a9
0000357f: JUMP
00003580: JUMPDEST
00003581: SWAP4
00003582: POP
00003583: POP
00003584: PUSH1 0x40
00003586: PUSH2 0x3591
00003589: DUP8
0000358a: DUP3
0000358b: DUP9
0000358c: ADD
0000358d: PUSH2 0x32a9
00003590: JUMP
00003591: JUMPDEST
00003592: SWAP3
00003593: POP
00003594: POP
00003595: PUSH1 0x60
00003597: PUSH2 0x35a2
0000359a: DUP8
0000359b: DUP3
0000359c: DUP9
0000359d: ADD
0000359e: PUSH2 0x34ea
000035a1: JUMP
000035a2: JUMPDEST
000035a3: SWAP2
000035a4: POP
000035a5: POP
000035a6: SWAP3
000035a7: SWAP6
000035a8: SWAP2
000035a9: SWAP5
000035aa: POP
000035ab: SWAP3
000035ac: POP
000035ad: JUMP
000035ae: JUMPDEST
000035af: PUSH1 0x00
000035b1: DUP1
000035b2: PUSH1 0x00
000035b4: PUSH1 0x60
000035b6: DUP5
000035b7: DUP7
000035b8: SUB
000035b9: SLT
000035ba: ISZERO
000035bb: PUSH2 0x35c3
000035be: JUMPI
000035bf: PUSH1 0x00
000035c1: DUP1
000035c2: REVERT
000035c3: JUMPDEST
000035c4: PUSH1 0x00
000035c6: PUSH2 0x35cf
000035c9: DUP7
000035ca: DUP7
000035cb: PUSH2 0x32a9
000035ce: JUMP
000035cf: JUMPDEST
000035d0: SWAP4
000035d1: POP
000035d2: POP
000035d3: PUSH1 0x20
000035d5: PUSH2 0x35e0
000035d8: DUP7
000035d9: DUP3
000035da: DUP8
000035db: ADD
000035dc: PUSH2 0x32a9
000035df: JUMP
000035e0: JUMPDEST
000035e1: SWAP3
000035e2: POP
000035e3: POP
000035e4: PUSH1 0x40
000035e6: PUSH2 0x35f1
000035e9: DUP7
000035ea: DUP3
000035eb: DUP8
000035ec: ADD
000035ed: PUSH2 0x34ea
000035f0: JUMP
000035f1: JUMPDEST
000035f2: SWAP2
000035f3: POP
000035f4: POP
000035f5: SWAP3
000035f6: POP
000035f7: SWAP3
000035f8: POP
000035f9: SWAP3
000035fa: JUMP
000035fb: JUMPDEST
000035fc: PUSH1 0x00
000035fe: DUP1
000035ff: PUSH1 0x40
00003601: DUP4
00003602: DUP6
00003603: SUB
00003604: SLT
00003605: ISZERO
00003606: PUSH2 0x360e
00003609: JUMPI
0000360a: PUSH1 0x00
0000360c: DUP1
0000360d: REVERT
0000360e: JUMPDEST
0000360f: PUSH1 0x00
00003611: PUSH2 0x361a
00003614: DUP6
00003615: DUP6
00003616: PUSH2 0x32a9
00003619: JUMP
0000361a: JUMPDEST
0000361b: SWAP3
0000361c: POP
0000361d: POP
0000361e: PUSH1 0x20
00003620: PUSH2 0x3543
00003623: DUP6
00003624: DUP3
00003625: DUP7
00003626: ADD
00003627: PUSH2 0x3390
0000362a: JUMP
0000362b: JUMPDEST
0000362c: PUSH1 0x00
0000362e: DUP1
0000362f: PUSH1 0x40
00003631: DUP4
00003632: DUP6
00003633: SUB
00003634: SLT
00003635: ISZERO
00003636: PUSH2 0x363e
00003639: JUMPI
0000363a: PUSH1 0x00
0000363c: DUP1
0000363d: REVERT
0000363e: JUMPDEST
0000363f: PUSH1 0x00
00003641: PUSH2 0x364a
00003644: DUP6
00003645: DUP6
00003646: PUSH2 0x32a9
00003649: JUMP
0000364a: JUMPDEST
0000364b: SWAP3
0000364c: POP
0000364d: POP
0000364e: PUSH1 0x20
00003650: PUSH2 0x3543
00003653: DUP6
00003654: DUP3
00003655: DUP7
00003656: ADD
00003657: PUSH2 0x34ea
0000365a: JUMP
0000365b: JUMPDEST
0000365c: PUSH1 0x00
0000365e: DUP1
0000365f: PUSH1 0x40
00003661: DUP4
00003662: DUP6
00003663: SUB
00003664: SLT
00003665: ISZERO
00003666: PUSH2 0x366e
00003669: JUMPI
0000366a: PUSH1 0x00
0000366c: DUP1
0000366d: REVERT
0000366e: JUMPDEST
0000366f: DUP3
00003670: CALLDATALOAD
00003671: PUSH8 0xffffffffffffffff
0000367a: DUP2
0000367b: GT
0000367c: ISZERO
0000367d: PUSH2 0x3685
00003680: JUMPI
00003681: PUSH1 0x00
00003683: DUP1
00003684: REVERT
00003685: JUMPDEST
00003686: PUSH2 0x3691
00003689: DUP6
0000368a: DUP3
0000368b: DUP7
0000368c: ADD
0000368d: PUSH2 0x32b4
00003690: JUMP
00003691: JUMPDEST
00003692: SWAP3
00003693: POP
00003694: POP
00003695: PUSH1 0x20
00003697: DUP4
00003698: ADD
00003699: CALLDATALOAD
0000369a: PUSH8 0xffffffffffffffff
000036a3: DUP2
000036a4: GT
000036a5: ISZERO
000036a6: PUSH2 0x36ae
000036a9: JUMPI
000036aa: PUSH1 0x00
000036ac: DUP1
000036ad: REVERT
000036ae: JUMPDEST
000036af: PUSH2 0x3543
000036b2: DUP6
000036b3: DUP3
000036b4: DUP7
000036b5: ADD
000036b6: PUSH2 0x3333
000036b9: JUMP
000036ba: JUMPDEST
000036bb: PUSH1 0x00
000036bd: PUSH1 0x20
000036bf: DUP3
000036c0: DUP5
000036c1: SUB
000036c2: SLT
000036c3: ISZERO
000036c4: PUSH2 0x36cc
000036c7: JUMPI
000036c8: PUSH1 0x00
000036ca: DUP1
000036cb: REVERT
000036cc: JUMPDEST
000036cd: PUSH1 0x00
000036cf: PUSH2 0x3086
000036d2: DUP5
000036d3: DUP5
000036d4: PUSH2 0x339b
000036d7: JUMP
000036d8: JUMPDEST
000036d9: PUSH1 0x00
000036db: DUP1
000036dc: PUSH1 0x40
000036de: DUP4
000036df: DUP6
000036e0: SUB
000036e1: SLT
000036e2: ISZERO
000036e3: PUSH2 0x36eb
000036e6: JUMPI
000036e7: PUSH1 0x00
000036e9: DUP1
000036ea: REVERT
000036eb: JUMPDEST
000036ec: PUSH1 0x00
000036ee: PUSH2 0x36f7
000036f1: DUP6
000036f2: DUP6
000036f3: PUSH2 0x339b
000036f6: JUMP
000036f7: JUMPDEST
000036f8: SWAP3
000036f9: POP
000036fa: POP
000036fb: PUSH1 0x20
000036fd: PUSH2 0x3543
00003700: DUP6
00003701: DUP3
00003702: DUP7
00003703: ADD
00003704: PUSH2 0x33a6
00003707: JUMP
00003708: JUMPDEST
00003709: PUSH1 0x00
0000370b: PUSH1 0x80
0000370d: DUP3
0000370e: DUP5
0000370f: SUB
00003710: SLT
00003711: ISZERO
00003712: PUSH2 0x371a
00003715: JUMPI
00003716: PUSH1 0x00
00003718: DUP1
00003719: REVERT
0000371a: JUMPDEST
0000371b: PUSH1 0x00
0000371d: PUSH2 0x3086
00003720: DUP5
00003721: DUP5
00003722: PUSH2 0x3487
00003725: JUMP
00003726: JUMPDEST
00003727: PUSH1 0x00
00003729: PUSH1 0x20
0000372b: DUP3
0000372c: DUP5
0000372d: SUB
0000372e: SLT
0000372f: ISZERO
00003730: PUSH2 0x3738
00003733: JUMPI
00003734: PUSH1 0x00
00003736: DUP1
00003737: REVERT
00003738: JUMPDEST
00003739: PUSH1 0x00
0000373b: PUSH2 0x3086
0000373e: DUP5
0000373f: DUP5
00003740: PUSH2 0x34ea
00003743: JUMP
00003744: JUMPDEST
00003745: PUSH1 0x00
00003747: PUSH1 0x20
00003749: DUP3
0000374a: DUP5
0000374b: SUB
0000374c: SLT
0000374d: ISZERO
0000374e: PUSH2 0x3756
00003751: JUMPI
00003752: PUSH1 0x00
00003754: DUP1
00003755: REVERT
00003756: JUMPDEST
00003757: PUSH1 0x00
00003759: PUSH2 0x3086
0000375c: DUP5
0000375d: DUP5
0000375e: PUSH2 0x33a6
00003761: JUMP
00003762: JUMPDEST
00003763: PUSH1 0x00
00003765: DUP1
00003766: PUSH1 0x40
00003768: DUP4
00003769: DUP6
0000376a: SUB
0000376b: SLT
0000376c: ISZERO
0000376d: PUSH2 0x3775
00003770: JUMPI
00003771: PUSH1 0x00
00003773: DUP1
00003774: REVERT
00003775: JUMPDEST
00003776: PUSH1 0x00
00003778: PUSH2 0x364a
0000377b: DUP6
0000377c: DUP6
0000377d: PUSH2 0x34ea
00003780: JUMP
00003781: JUMPDEST
00003782: PUSH2 0x378a
00003785: DUP2
00003786: PUSH2 0x44ce
00003789: JUMP
0000378a: JUMPDEST
0000378b: DUP3
0000378c: MSTORE
0000378d: POP
0000378e: POP
0000378f: JUMP
00003790: JUMPDEST
00003791: PUSH2 0x378a
00003794: DUP2
00003795: PUSH2 0x4458
00003798: JUMP
00003799: JUMPDEST
0000379a: PUSH2 0x378a
0000379d: DUP2
0000379e: PUSH2 0x4463
000037a1: JUMP
000037a2: JUMPDEST
000037a3: PUSH2 0x378a
000037a6: PUSH2 0x37ae
000037a9: DUP3
000037aa: PUSH2 0x4468
000037ad: JUMP
000037ae: JUMPDEST
000037af: PUSH2 0x448d
000037b2: JUMP
000037b3: JUMPDEST
000037b4: PUSH2 0x378a
000037b7: DUP2
000037b8: PUSH2 0x448d
000037bb: JUMP
000037bc: JUMPDEST
000037bd: PUSH1 0x00
000037bf: PUSH2 0x37c7
000037c2: DUP3
000037c3: PUSH2 0x4446
000037c6: JUMP
000037c7: JUMPDEST
000037c8: PUSH2 0x37d1
000037cb: DUP2
000037cc: DUP6
000037cd: PUSH2 0x4453
000037d0: JUMP
000037d1: JUMPDEST
000037d2: SWAP4
000037d3: POP
000037d4: PUSH2 0x37e1
000037d7: DUP2
000037d8: DUP6
000037d9: PUSH1 0x20
000037db: DUP7
000037dc: ADD
000037dd: PUSH2 0x44fb
000037e0: JUMP
000037e1: JUMPDEST
000037e2: SWAP3
000037e3: SWAP1
000037e4: SWAP3
000037e5: ADD
000037e6: SWAP3
000037e7: SWAP2
000037e8: POP
000037e9: POP
000037ea: JUMP
000037eb: JUMPDEST
000037ec: PUSH1 0x00
000037ee: PUSH2 0x37f6
000037f1: DUP3
000037f2: PUSH2 0x4446
000037f5: JUMP
000037f6: JUMPDEST
000037f7: PUSH2 0x3800
000037fa: DUP2
000037fb: DUP6
000037fc: PUSH2 0x444a
000037ff: JUMP
00003800: JUMPDEST
00003801: SWAP4
00003802: POP
00003803: PUSH2 0x3810
00003806: DUP2
00003807: DUP6
00003808: PUSH1 0x20
0000380a: DUP7
0000380b: ADD
0000380c: PUSH2 0x44fb
0000380f: JUMP
00003810: JUMPDEST
00003811: PUSH2 0x3819
00003814: DUP2
00003815: PUSH2 0x4527
00003818: JUMP
00003819: JUMPDEST
0000381a: SWAP1
0000381b: SWAP4
0000381c: ADD
0000381d: SWAP4
0000381e: SWAP3
0000381f: POP
00003820: POP
00003821: POP
00003822: JUMP
00003823: JUMPDEST
00003824: PUSH2 0x378a
00003827: DUP2
00003828: PUSH2 0x44d9
0000382b: JUMP
0000382c: JUMPDEST
0000382d: PUSH1 0x00
0000382f: PUSH2 0x3839
00003832: PUSH1 0x2b
00003834: DUP4
00003835: PUSH2 0x444a
00003838: JUMP
00003839: JUMPDEST
0000383a: PUSH32 0x73656e64657220646f6573206e6f742068617665207065726d697373696f6e20
0000385b: DUP2
0000385c: MSTORE
0000385d: PUSH32 0x746f207769746864726177000000000000000000000000000000000000000000
0000387e: PUSH1 0x20
00003880: DUP3
00003881: ADD
00003882: MSTORE
00003883: PUSH1 0x40
00003885: ADD
00003886: SWAP3
00003887: SWAP2
00003888: POP
00003889: POP
0000388a: JUMP
0000388b: JUMPDEST
0000388c: PUSH1 0x00
0000388e: PUSH2 0x3898
00003891: PUSH1 0x32
00003893: DUP4
00003894: PUSH2 0x444a
00003897: JUMP
00003898: JUMPDEST
00003899: PUSH32 0x4f7261636c65207072696365206973206c657373207468616e20746865207072
000038ba: DUP2
000038bb: MSTORE
000038bc: PUSH32 0x6f7669646564206c6f77657220626f756e640000000000000000000000000000
000038dd: PUSH1 0x20
000038df: DUP3
000038e0: ADD
000038e1: MSTORE
000038e2: PUSH1 0x40
000038e4: ADD
000038e5: SWAP3
000038e6: SWAP2
000038e7: POP
000038e8: POP
000038e9: JUMP
000038ea: JUMPDEST
000038eb: PUSH1 0x00
000038ed: PUSH2 0x38f7
000038f0: PUSH1 0x1b
000038f2: DUP4
000038f3: PUSH2 0x4453
000038f6: JUMP
000038f7: JUMPDEST
000038f8: PUSH32 0x645964582e50657270657475616c56312e696e697469616c697a650000000000
00003919: DUP2
0000391a: MSTORE
0000391b: PUSH1 0x1b
0000391d: ADD
0000391e: SWAP3
0000391f: SWAP2
00003920: POP
00003921: POP
00003922: JUMP
00003923: JUMPDEST
00003924: PUSH1 0x00
00003926: PUSH2 0x3930
00003929: PUSH1 0x2f
0000392b: DUP4
0000392c: PUSH2 0x444a
0000392f: JUMP
00003930: JUMPDEST
00003931: PUSH32 0x54686520636f6c6c61746572616c20726571756972656d656e742063616e6e6f
00003952: DUP2
00003953: MSTORE
00003954: PUSH32 0x7420626520756e64657220313030250000000000000000000000000000000000
00003975: PUSH1 0x20
00003977: DUP3
00003978: ADD
00003979: MSTORE
0000397a: PUSH1 0x40
0000397c: ADD
0000397d: SWAP3
0000397e: SWAP2
0000397f: POP
00003980: POP
00003981: JUMP
00003982: JUMPDEST
00003983: PUSH1 0x00
00003985: PUSH2 0x398f
00003988: PUSH1 0x26
0000398a: DUP4
0000398b: PUSH2 0x444a
0000398e: JUMP
0000398f: JUMPDEST
00003990: PUSH32 0x4f6e6c79207065726d697474656420647572696e672066696e616c2073657474
000039b1: DUP2
000039b2: MSTORE
000039b3: PUSH32 0x6c656d656e740000000000000000000000000000000000000000000000000000
000039d4: PUSH1 0x20
000039d6: DUP3
000039d7: ADD
000039d8: MSTORE
000039d9: PUSH1 0x40
000039db: ADD
000039dc: SWAP3
000039dd: SWAP2
000039de: POP
000039df: POP
000039e0: JUMP
000039e1: JUMPDEST
000039e2: PUSH1 0x00
000039e4: PUSH2 0x39ee
000039e7: PUSH1 0x1b
000039e9: DUP4
000039ea: PUSH2 0x444a
000039ed: JUMP
000039ee: JUMPDEST
000039ef: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000
00003a10: DUP2
00003a11: MSTORE
00003a12: PUSH1 0x20
00003a14: ADD
00003a15: SWAP3
00003a16: SWAP2
00003a17: POP
00003a18: POP
00003a19: JUMP
00003a1a: JUMPDEST
00003a1b: PUSH1 0x00
00003a1d: PUSH2 0x3a27
00003a20: PUSH1 0x1d
00003a22: DUP4
00003a23: PUSH2 0x444a
00003a26: JUMP
00003a27: JUMPDEST
00003a28: PUSH32 0x747261646572206973206e6f7420676c6f62616c206f70657261746f72000000
00003a49: DUP2
00003a4a: MSTORE
00003a4b: PUSH1 0x20
00003a4d: ADD
00003a4e: SWAP3
00003a4f: SWAP2
00003a50: POP
00003a51: POP
00003a52: JUMP
00003a53: JUMPDEST
00003a54: PUSH1 0x00
00003a56: PUSH2 0x3a60
00003a59: PUSH1 0x27
00003a5b: DUP4
00003a5c: PUSH2 0x444a
00003a5f: JUMP
00003a60: JUMPDEST
00003a61: PUSH32 0x53616665436173743a2076616c756520646f65736e27742066697420696e2031
00003a82: DUP2
00003a83: MSTORE
00003a84: PUSH32 0x3230206269747300000000000000000000000000000000000000000000000000
00003aa5: PUSH1 0x20
00003aa7: DUP3
00003aa8: ADD
00003aa9: MSTORE
00003aaa: PUSH1 0x40
00003aac: ADD
00003aad: SWAP3
00003aae: SWAP2
00003aaf: POP
00003ab0: POP
00003ab1: JUMP
00003ab2: JUMPDEST
00003ab3: PUSH1 0x00
00003ab5: PUSH2 0x3abf
00003ab8: PUSH1 0x27
00003aba: DUP4
00003abb: PUSH2 0x444a
00003abe: JUMP
00003abf: JUMPDEST
00003ac0: PUSH32 0x53616665436173743a2076616c756520646f65736e27742066697420696e2031
00003ae1: DUP2
00003ae2: MSTORE
00003ae3: PUSH32 0x3238206269747300000000000000000000000000000000000000000000000000
00003b04: PUSH1 0x20
00003b06: DUP3
00003b07: ADD
00003b08: MSTORE
00003b09: PUSH1 0x40
00003b0b: ADD
00003b0c: SWAP3
00003b0d: SWAP2
00003b0e: POP
00003b0f: POP
00003b10: JUMP
00003b11: JUMPDEST
00003b12: PUSH1 0x00
00003b14: PUSH2 0x3b1e
00003b17: PUSH1 0x20
00003b19: DUP4
00003b1a: PUSH2 0x444a
00003b1d: JUMP
00003b1e: JUMPDEST
00003b1f: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00003b40: DUP2
00003b41: MSTORE
00003b42: PUSH1 0x20
00003b44: ADD
00003b45: SWAP3
00003b46: SWAP2
00003b47: POP
00003b48: POP
00003b49: JUMP
00003b4a: JUMPDEST
00003b4b: PUSH1 0x00
00003b4d: PUSH2 0x3b57
00003b50: PUSH1 0x2a
00003b52: DUP4
00003b53: PUSH2 0x444a
00003b56: JUMP
00003b57: JUMPDEST
00003b58: PUSH32 0x4f7261636c6520707269636520726571756573746572206e6f7420676c6f6261
00003b79: DUP2
00003b7a: MSTORE
00003b7b: PUSH32 0x6c206f70657261746f7200000000000000000000000000000000000000000000
00003b9c: PUSH1 0x20
00003b9e: DUP3
00003b9f: ADD
00003ba0: MSTORE
00003ba1: PUSH1 0x40
00003ba3: ADD
00003ba4: SWAP3
00003ba5: SWAP2
00003ba6: POP
00003ba7: POP
00003ba8: JUMP
00003ba9: JUMPDEST
00003baa: PUSH1 0x00
00003bac: PUSH2 0x3bb6
00003baf: PUSH1 0x1e
00003bb1: DUP4
00003bb2: PUSH2 0x444a
00003bb5: JUMP
00003bb6: JUMPDEST
00003bb7: PUSH32 0x41646d696e61626c653a2063616c6c6572206973206e6f742061646d696e0000
00003bd8: DUP2
00003bd9: MSTORE
00003bda: PUSH1 0x20
00003bdc: ADD
00003bdd: SWAP3
00003bde: SWAP2
00003bdf: POP
00003be0: POP
00003be1: JUMP
00003be2: JUMPDEST
00003be3: PUSH1 0x00
00003be5: PUSH2 0x3bef
00003be8: PUSH1 0x25
00003bea: DUP4
00003beb: PUSH2 0x444a
00003bee: JUMP
00003bef: JUMPDEST
00003bf0: PUSH32 0x4e6f74207065726d697474656420647572696e672066696e616c20736574746c
00003c11: DUP2
00003c12: MSTORE
00003c13: PUSH32 0x656d656e74000000000000000000000000000000000000000000000000000000
00003c34: PUSH1 0x20
00003c36: DUP3
00003c37: ADD
00003c38: MSTORE
00003c39: PUSH1 0x40
00003c3b: ADD
00003c3c: SWAP3
00003c3d: SWAP2
00003c3e: POP
00003c3f: POP
00003c40: JUMP
00003c41: JUMPDEST
00003c42: PUSH1 0x00
00003c44: PUSH2 0x3c4e
00003c47: PUSH1 0x1f
00003c49: DUP4
00003c4a: PUSH2 0x444a
00003c4d: JUMP
00003c4e: JUMPDEST
00003c4f: PUSH32 0x50657270657475616c563120616c726561647920696e697469616c697a656400
00003c70: DUP2
00003c71: MSTORE
00003c72: PUSH1 0x20
00003c74: ADD
00003c75: SWAP3
00003c76: SWAP2
00003c77: POP
00003c78: POP
00003c79: JUMP
00003c7a: JUMPDEST
00003c7b: PUSH1 0x00
00003c7d: PUSH2 0x3c87
00003c80: PUSH1 0x21
00003c82: DUP4
00003c83: PUSH2 0x444a
00003c86: JUMP
00003c87: JUMPDEST
00003c88: PUSH32 0x536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f
00003ca9: DUP2
00003caa: MSTORE
00003cab: PUSH32 0x7700000000000000000000000000000000000000000000000000000000000000
00003ccc: PUSH1 0x20
00003cce: DUP3
00003ccf: ADD
00003cd0: MSTORE
00003cd1: PUSH1 0x40
00003cd3: ADD
00003cd4: SWAP3
00003cd5: SWAP2
00003cd6: POP
00003cd7: POP
00003cd8: JUMP
00003cd9: JUMPDEST
00003cda: PUSH1 0x00
00003cdc: PUSH2 0x3ce6
00003cdf: PUSH1 0x25
00003ce1: DUP4
00003ce2: PUSH2 0x444a
00003ce5: JUMP
00003ce6: JUMPDEST
00003ce7: PUSH32 0x4e6577206f7261636c652063616e6e6f742072657475726e2061207a65726f20
00003d08: DUP2
00003d09: MSTORE
00003d0a: PUSH32 0x7072696365000000000000000000000000000000000000000000000000000000
00003d2b: PUSH1 0x20
00003d2d: DUP3
00003d2e: ADD
00003d2f: MSTORE
00003d30: PUSH1 0x40
00003d32: ADD
00003d33: SWAP3
00003d34: SWAP2
00003d35: POP
00003d36: POP
00003d37: JUMP
00003d38: JUMPDEST
00003d39: PUSH1 0x00
00003d3b: PUSH2 0x3d45
00003d3e: PUSH1 0x22
00003d40: DUP4
00003d41: PUSH2 0x444a
00003d44: JUMP
00003d45: JUMPDEST
00003d46: PUSH32 0x4163636f756e7473206d7573742068617665206e6f6e2d7a65726f206c656e67
00003d67: DUP2
00003d68: MSTORE
00003d69: PUSH32 0x7468000000000000000000000000000000000000000000000000000000000000
00003d8a: PUSH1 0x20
00003d8c: DUP3
00003d8d: ADD
00003d8e: MSTORE
00003d8f: PUSH1 0x40
00003d91: ADD
00003d92: SWAP3
00003d93: SWAP2
00003d94: POP
00003d95: POP
00003d96: JUMP
00003d97: JUMPDEST
00003d98: PUSH1 0x00
00003d9a: PUSH2 0x3da4
00003d9d: PUSH1 0x26
00003d9f: DUP4
00003da0: PUSH2 0x444a
00003da3: JUMP
00003da4: JUMPDEST
00003da5: PUSH32 0x53616665436173743a2076616c756520646f65736e27742066697420696e2033
00003dc6: DUP2
00003dc7: MSTORE
00003dc8: PUSH32 0x3220626974730000000000000000000000000000000000000000000000000000
00003de9: PUSH1 0x20
00003deb: DUP3
00003dec: ADD
00003ded: MSTORE
00003dee: PUSH1 0x40
00003df0: ADD
00003df1: SWAP3
00003df2: SWAP2
00003df3: POP
00003df4: POP
00003df5: JUMP
00003df6: JUMPDEST
00003df7: PUSH1 0x00
00003df9: PUSH2 0x3e03
00003dfc: PUSH1 0x1a
00003dfe: DUP4
00003dff: PUSH2 0x444a
00003e02: JUMP
00003e03: JUMPDEST
00003e04: PUSH32 0x6163636f756e74206e6f7420636f6c6c61746572616c697a6564000000000000
00003e25: DUP2
00003e26: MSTORE
00003e27: PUSH1 0x20
00003e29: ADD
00003e2a: SWAP3
00003e2b: SWAP2
00003e2c: POP
00003e2d: POP
00003e2e: JUMP
00003e2f: JUMPDEST
00003e30: PUSH1 0x00
00003e32: PUSH2 0x3e3c
00003e35: PUSH1 0x35
00003e37: DUP4
00003e38: PUSH2 0x444a
00003e3b: JUMP
00003e3c: JUMPDEST
00003e3d: PUSH32 0x4f7261636c652070726963652069732067726561746572207468616e20746865
00003e5e: DUP2
00003e5f: MSTORE
00003e60: PUSH32 0x2070726f766964656420757070657220626f756e640000000000000000000000
00003e81: PUSH1 0x20
00003e83: DUP3
00003e84: ADD
00003e85: MSTORE
00003e86: PUSH1 0x40
00003e88: ADD
00003e89: SWAP3
00003e8a: SWAP2
00003e8b: POP
00003e8c: POP
00003e8d: JUMP
00003e8e: JUMPDEST
00003e8f: PUSH1 0x00
00003e91: PUSH2 0x3e9b
00003e94: PUSH1 0x2a
00003e96: DUP4
00003e97: PUSH2 0x444a
00003e9a: JUMP
00003e9b: JUMPDEST
00003e9c: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e
00003ebd: DUP2
00003ebe: MSTORE
00003ebf: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000
00003ee0: PUSH1 0x20
00003ee2: DUP3
00003ee3: ADD
00003ee4: MSTORE
00003ee5: PUSH1 0x40
00003ee7: ADD
00003ee8: SWAP3
00003ee9: SWAP2
00003eea: POP
00003eeb: POP
00003eec: JUMP
00003eed: JUMPDEST
00003eee: PUSH1 0x00
00003ef0: PUSH2 0x3efa
00003ef3: PUSH1 0x1f
00003ef5: DUP4
00003ef6: PUSH2 0x444a
00003ef9: JUMP
00003efa: JUMPDEST
00003efb: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00
00003f1c: DUP2
00003f1d: MSTORE
00003f1e: PUSH1 0x20
00003f20: ADD
00003f21: SWAP3
00003f22: SWAP2
00003f23: POP
00003f24: POP
00003f25: JUMP
00003f26: JUMPDEST
00003f27: PUSH1 0x00
00003f29: PUSH2 0x3f33
00003f2c: PUSH1 0x1f
00003f2e: DUP4
00003f2f: PUSH2 0x444a
00003f32: JUMP
00003f33: JUMPDEST
00003f34: PUSH32 0x5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400
00003f55: DUP2
00003f56: MSTORE
00003f57: PUSH1 0x20
00003f59: ADD
00003f5a: SWAP3
00003f5b: SWAP2
00003f5c: POP
00003f5d: POP
00003f5e: JUMP
00003f5f: JUMPDEST
00003f60: PUSH1 0x00
00003f62: PUSH2 0x3f6c
00003f65: PUSH1 0x22
00003f67: DUP4
00003f68: PUSH2 0x444a
00003f6b: JUMP
00003f6c: JUMPDEST
00003f6d: PUSH32 0x4163636f756e7473206d75737420626520736f7274656420616e6420756e6971
00003f8e: DUP2
00003f8f: MSTORE
00003f90: PUSH32 0x7565000000000000000000000000000000000000000000000000000000000000
00003fb1: PUSH1 0x20
00003fb3: DUP3
00003fb4: ADD
00003fb5: MSTORE
00003fb6: PUSH1 0x40
00003fb8: ADD
00003fb9: SWAP3
00003fba: SWAP2
00003fbb: POP
00003fbc: POP
00003fbd: JUMP
00003fbe: JUMPDEST
00003fbf: DUP1
00003fc0: MLOAD
00003fc1: PUSH1 0x80
00003fc3: DUP4
00003fc4: ADD
00003fc5: SWAP1
00003fc6: PUSH2 0x3fcf
00003fc9: DUP5
00003fca: DUP3
00003fcb: PUSH2 0x3799
00003fce: JUMP
00003fcf: JUMPDEST
00003fd0: POP
00003fd1: PUSH1 0x20
00003fd3: DUP3
00003fd4: ADD
00003fd5: MLOAD
00003fd6: PUSH2 0x3fe2
00003fd9: PUSH1 0x20
00003fdb: DUP6
00003fdc: ADD
00003fdd: DUP3
00003fde: PUSH2 0x3799
00003fe1: JUMP
00003fe2: JUMPDEST
00003fe3: POP
00003fe4: PUSH1 0x40
00003fe6: DUP3
00003fe7: ADD
00003fe8: MLOAD
00003fe9: PUSH2 0x3ff5
00003fec: PUSH1 0x40
00003fee: DUP6
00003fef: ADD
00003ff0: DUP3
00003ff1: PUSH2 0x403f
00003ff4: JUMP
00003ff5: JUMPDEST
00003ff6: POP
00003ff7: PUSH1 0x60
00003ff9: DUP3
00003ffa: ADD
00003ffb: MLOAD
00003ffc: PUSH2 0x2614
00003fff: PUSH1 0x60
00004001: DUP6
00004002: ADD
00004003: DUP3
00004004: PUSH2 0x403f
00004007: JUMP
00004008: JUMPDEST
00004009: DUP1
0000400a: MLOAD
0000400b: PUSH1 0x60
0000400d: DUP4
0000400e: ADD
0000400f: SWAP1
00004010: PUSH2 0x4019
00004013: DUP5
00004014: DUP3
00004015: PUSH2 0x4051
00004018: JUMP
00004019: JUMPDEST
0000401a: POP
0000401b: PUSH1 0x20
0000401d: DUP3
0000401e: ADD
0000401f: MLOAD
00004020: PUSH2 0x402c
00004023: PUSH1 0x20
00004025: DUP6
00004026: ADD
00004027: DUP3
00004028: PUSH2 0x3799
0000402b: JUMP
0000402c: JUMPDEST
0000402d: POP
0000402e: PUSH1 0x40
00004030: DUP3
00004031: ADD
00004032: MLOAD
00004033: PUSH2 0x2614
00004036: PUSH1 0x40
00004038: DUP6
00004039: ADD
0000403a: DUP3
0000403b: PUSH2 0x4048
0000403e: JUMP
0000403f: JUMPDEST
00004040: PUSH2 0x378a
00004043: DUP2
00004044: PUSH2 0x4490
00004047: JUMP
00004048: JUMPDEST
00004049: PUSH2 0x378a
0000404c: DUP2
0000404d: PUSH2 0x44a4
00004050: JUMP
00004051: JUMPDEST
00004052: PUSH2 0x378a
00004055: DUP2
00004056: PUSH2 0x44c5
00004059: JUMP
0000405a: JUMPDEST
0000405b: PUSH1 0x00
0000405d: PUSH2 0x4066
00004060: DUP3
00004061: DUP5
00004062: PUSH2 0x37a2
00004065: JUMP
00004066: JUMPDEST
00004067: POP
00004068: PUSH1 0x17
0000406a: ADD
0000406b: SWAP2
0000406c: SWAP1
0000406d: POP
0000406e: JUMP
0000406f: JUMPDEST
00004070: PUSH1 0x00
00004072: PUSH2 0x148e
00004075: DUP3
00004076: DUP5
00004077: PUSH2 0x37bc
0000407a: JUMP
0000407b: JUMPDEST
0000407c: PUSH1 0x00
0000407e: PUSH2 0x4087
00004081: DUP3
00004082: DUP6
00004083: PUSH2 0x37bc
00004086: JUMP
00004087: JUMPDEST
00004088: SWAP2
00004089: POP
0000408a: PUSH2 0x3086
0000408d: DUP3
0000408e: DUP5
0000408f: PUSH2 0x37bc
00004092: JUMP
00004093: JUMPDEST
00004094: PUSH1 0x00
00004096: PUSH2 0x085f
00004099: DUP3
0000409a: PUSH2 0x38ea
0000409d: JUMP
0000409e: JUMPDEST
0000409f: PUSH1 0x20
000040a1: DUP2
000040a2: ADD
000040a3: PUSH2 0x085f
000040a6: DUP3
000040a7: DUP5
000040a8: PUSH2 0x3790
000040ab: JUMP
000040ac: JUMPDEST
000040ad: PUSH1 0xc0
000040af: DUP2
000040b0: ADD
000040b1: PUSH2 0x40ba
000040b4: DUP3
000040b5: DUP10
000040b6: PUSH2 0x3781
000040b9: JUMP
000040ba: JUMPDEST
000040bb: PUSH2 0x40c7
000040be: PUSH1 0x20
000040c0: DUP4
000040c1: ADD
000040c2: DUP9
000040c3: PUSH2 0x3790
000040c6: JUMP
000040c7: JUMPDEST
000040c8: PUSH2 0x40d4
000040cb: PUSH1 0x40
000040cd: DUP4
000040ce: ADD
000040cf: DUP8
000040d0: PUSH2 0x3790
000040d3: JUMP
000040d4: JUMPDEST
000040d5: PUSH2 0x40e1
000040d8: PUSH1 0x60
000040da: DUP4
000040db: ADD
000040dc: DUP7
000040dd: PUSH2 0x37b3
000040e0: JUMP
000040e1: JUMPDEST
000040e2: DUP2
000040e3: DUP2
000040e4: SUB
000040e5: PUSH1 0x80
000040e7: DUP4
000040e8: ADD
000040e9: MSTORE
000040ea: PUSH2 0x40f3
000040ed: DUP2
000040ee: DUP6
000040ef: PUSH2 0x37eb
000040f2: JUMP
000040f3: JUMPDEST
000040f4: SWAP1
000040f5: POP
000040f6: PUSH2 0x4102
000040f9: PUSH1 0xa0
000040fb: DUP4
000040fc: ADD
000040fd: DUP5
000040fe: PUSH2 0x37b3
00004101: JUMP
00004102: JUMPDEST
00004103: SWAP8
00004104: SWAP7
00004105: POP
00004106: POP
00004107: POP
00004108: POP
00004109: POP
0000410a: POP
0000410b: POP
0000410c: JUMP
0000410d: JUMPDEST
0000410e: PUSH1 0x60
00004110: DUP2
00004111: ADD
00004112: PUSH2 0x411b
00004115: DUP3
00004116: DUP7
00004117: PUSH2 0x3790
0000411a: JUMP
0000411b: JUMPDEST
0000411c: PUSH2 0x4128
0000411f: PUSH1 0x20
00004121: DUP4
00004122: ADD
00004123: DUP6
00004124: PUSH2 0x3790
00004127: JUMP
00004128: JUMPDEST
00004129: PUSH2 0x3086
0000412c: PUSH1 0x40
0000412e: DUP4
0000412f: ADD
00004130: DUP5
00004131: PUSH2 0x37b3
00004134: JUMP
00004135: JUMPDEST
00004136: PUSH1 0x40
00004138: DUP2
00004139: ADD
0000413a: PUSH2 0x4143
0000413d: DUP3
0000413e: DUP6
0000413f: PUSH2 0x3790
00004142: JUMP
00004143: JUMPDEST
00004144: PUSH2 0x148e
00004147: PUSH1 0x20
00004149: DUP4
0000414a: ADD
0000414b: DUP5
0000414c: PUSH2 0x3799
0000414f: JUMP
00004150: JUMPDEST
00004151: PUSH1 0x40
00004153: DUP2
00004154: ADD
00004155: PUSH2 0x415e
00004158: DUP3
00004159: DUP6
0000415a: PUSH2 0x3790
0000415d: JUMP
0000415e: JUMPDEST
0000415f: PUSH2 0x148e
00004162: PUSH1 0x20
00004164: DUP4
00004165: ADD
00004166: DUP5
00004167: PUSH2 0x37b3
0000416a: JUMP
0000416b: JUMPDEST
0000416c: PUSH1 0x60
0000416e: DUP2
0000416f: ADD
00004170: PUSH2 0x4179
00004173: DUP3
00004174: DUP7
00004175: PUSH2 0x3790
00004178: JUMP
00004179: JUMPDEST
0000417a: PUSH2 0x4128
0000417d: PUSH1 0x20
0000417f: DUP4
00004180: ADD
00004181: DUP6
00004182: PUSH2 0x37b3
00004185: JUMP
00004186: JUMPDEST
00004187: PUSH1 0xc0
00004189: DUP2
0000418a: ADD
0000418b: PUSH2 0x4194
0000418e: DUP3
0000418f: DUP10
00004190: PUSH2 0x3790
00004193: JUMP
00004194: JUMPDEST
00004195: PUSH2 0x41a1
00004198: PUSH1 0x20
0000419a: DUP4
0000419b: ADD
0000419c: DUP9
0000419d: PUSH2 0x37b3
000041a0: JUMP
000041a1: JUMPDEST
000041a2: PUSH2 0x41ae
000041a5: PUSH1 0x40
000041a7: DUP4
000041a8: ADD
000041a9: DUP8
000041aa: PUSH2 0x37b3
000041ad: JUMP
000041ae: JUMPDEST
000041af: PUSH2 0x41bb
000041b2: PUSH1 0x60
000041b4: DUP4
000041b5: ADD
000041b6: DUP7
000041b7: PUSH2 0x3799
000041ba: JUMP
000041bb: JUMPDEST
000041bc: PUSH2 0x41c8
000041bf: PUSH1 0x80
000041c1: DUP4
000041c2: ADD
000041c3: DUP6
000041c4: PUSH2 0x37b3
000041c7: JUMP
000041c8: JUMPDEST
000041c9: PUSH2 0x4102
000041cc: PUSH1 0xa0
000041ce: DUP4
000041cf: ADD
000041d0: DUP5
000041d1: PUSH2 0x37b3
000041d4: JUMP
000041d5: JUMPDEST
000041d6: PUSH1 0x20
000041d8: DUP2
000041d9: ADD
000041da: PUSH2 0x085f
000041dd: DUP3
000041de: DUP5
000041df: PUSH2 0x3799
000041e2: JUMP
000041e3: JUMPDEST
000041e4: PUSH1 0x60
000041e6: DUP2
000041e7: ADD
000041e8: PUSH2 0x4179
000041eb: DUP3
000041ec: DUP7
000041ed: PUSH2 0x3799
000041f0: JUMP
000041f1: JUMPDEST
000041f2: PUSH1 0x20
000041f4: DUP2
000041f5: ADD
000041f6: PUSH2 0x085f
000041f9: DUP3
000041fa: DUP5
000041fb: PUSH2 0x37b3
000041fe: JUMP
000041ff: JUMPDEST
00004200: PUSH1 0x20
00004202: DUP2
00004203: ADD
00004204: PUSH2 0x085f
00004207: DUP3
00004208: DUP5
00004209: PUSH2 0x3823
0000420c: JUMP
0000420d: JUMPDEST
0000420e: PUSH1 0x20
00004210: DUP1
00004211: DUP3
00004212: MSTORE
00004213: DUP2
00004214: ADD
00004215: PUSH2 0x148e
00004218: DUP2
00004219: DUP5
0000421a: PUSH2 0x37eb
0000421d: JUMP
0000421e: JUMPDEST
0000421f: PUSH1 0x20
00004221: DUP1
00004222: DUP3
00004223: MSTORE
00004224: DUP2
00004225: ADD
00004226: PUSH2 0x085f
00004229: DUP2
0000422a: PUSH2 0x382c
0000422d: JUMP
0000422e: JUMPDEST
0000422f: PUSH1 0x20
00004231: DUP1
00004232: DUP3
00004233: MSTORE
00004234: DUP2
00004235: ADD
00004236: PUSH2 0x085f
00004239: DUP2
0000423a: PUSH2 0x388b
0000423d: JUMP
0000423e: JUMPDEST
0000423f: PUSH1 0x20
00004241: DUP1
00004242: DUP3
00004243: MSTORE
00004244: DUP2
00004245: ADD
00004246: PUSH2 0x085f
00004249: DUP2
0000424a: PUSH2 0x3923
0000424d: JUMP
0000424e: JUMPDEST
0000424f: PUSH1 0x20
00004251: DUP1
00004252: DUP3
00004253: MSTORE
00004254: DUP2
00004255: ADD
00004256: PUSH2 0x085f
00004259: DUP2
0000425a: PUSH2 0x3982
0000425d: JUMP
0000425e: JUMPDEST
0000425f: PUSH1 0x20
00004261: DUP1
00004262: DUP3
00004263: MSTORE
00004264: DUP2
00004265: ADD
00004266: PUSH2 0x085f
00004269: DUP2
0000426a: PUSH2 0x39e1
0000426d: JUMP
0000426e: JUMPDEST
0000426f: PUSH1 0x20
00004271: DUP1
00004272: DUP3
00004273: MSTORE
00004274: DUP2
00004275: ADD
00004276: PUSH2 0x085f
00004279: DUP2
0000427a: PUSH2 0x3a1a
0000427d: JUMP
0000427e: JUMPDEST
0000427f: PUSH1 0x20
00004281: DUP1
00004282: DUP3
00004283: MSTORE
00004284: DUP2
00004285: ADD
00004286: PUSH2 0x085f
00004289: DUP2
0000428a: PUSH2 0x3a53
0000428d: JUMP
0000428e: JUMPDEST
0000428f: PUSH1 0x20
00004291: DUP1
00004292: DUP3
00004293: MSTORE
00004294: DUP2
00004295: ADD
00004296: PUSH2 0x085f
00004299: DUP2
0000429a: PUSH2 0x3ab2
0000429d: JUMP
0000429e: JUMPDEST
0000429f: PUSH1 0x20
000042a1: DUP1
000042a2: DUP3
000042a3: MSTORE
000042a4: DUP2
000042a5: ADD
000042a6: PUSH2 0x085f
000042a9: DUP2
000042aa: PUSH2 0x3b11
000042ad: JUMP
000042ae: JUMPDEST
000042af: PUSH1 0x20
000042b1: DUP1
000042b2: DUP3
000042b3: MSTORE
000042b4: DUP2
000042b5: ADD
000042b6: PUSH2 0x085f
000042b9: DUP2
000042ba: PUSH2 0x3b4a
000042bd: JUMP
000042be: JUMPDEST
000042bf: PUSH1 0x20
000042c1: DUP1
000042c2: DUP3
000042c3: MSTORE
000042c4: DUP2
000042c5: ADD
000042c6: PUSH2 0x085f
000042c9: DUP2
000042ca: PUSH2 0x3ba9
000042cd: JUMP
000042ce: JUMPDEST
000042cf: PUSH1 0x20
000042d1: DUP1
000042d2: DUP3
000042d3: MSTORE
000042d4: DUP2
000042d5: ADD
000042d6: PUSH2 0x085f
000042d9: DUP2
000042da: PUSH2 0x3be2
000042dd: JUMP
000042de: JUMPDEST
000042df: PUSH1 0x20
000042e1: DUP1
000042e2: DUP3
000042e3: MSTORE
000042e4: DUP2
000042e5: ADD
000042e6: PUSH2 0x085f
000042e9: DUP2
000042ea: PUSH2 0x3c41
000042ed: JUMP
000042ee: JUMPDEST
000042ef: PUSH1 0x20
000042f1: DUP1
000042f2: DUP3
000042f3: MSTORE
000042f4: DUP2
000042f5: ADD
000042f6: PUSH2 0x085f
000042f9: DUP2
000042fa: PUSH2 0x3c7a
000042fd: JUMP
000042fe: JUMPDEST
000042ff: PUSH1 0x20
00004301: DUP1
00004302: DUP3
00004303: MSTORE
00004304: DUP2
00004305: ADD
00004306: PUSH2 0x085f
00004309: DUP2
0000430a: PUSH2 0x3cd9
0000430d: JUMP
0000430e: JUMPDEST
0000430f: PUSH1 0x20
00004311: DUP1
00004312: DUP3
00004313: MSTORE
00004314: DUP2
00004315: ADD
00004316: PUSH2 0x085f
00004319: DUP2
0000431a: PUSH2 0x3d38
0000431d: JUMP
0000431e: JUMPDEST
0000431f: PUSH1 0x20
00004321: DUP1
00004322: DUP3
00004323: MSTORE
00004324: DUP2
00004325: ADD
00004326: PUSH2 0x085f
00004329: DUP2
0000432a: PUSH2 0x3d97
0000432d: JUMP
0000432e: JUMPDEST
0000432f: PUSH1 0x20
00004331: DUP1
00004332: DUP3
00004333: MSTORE
00004334: DUP2
00004335: ADD
00004336: PUSH2 0x085f
00004339: DUP2
0000433a: PUSH2 0x3df6
0000433d: JUMP
0000433e: JUMPDEST
0000433f: PUSH1 0x20
00004341: DUP1
00004342: DUP3
00004343: MSTORE
00004344: DUP2
00004345: ADD
00004346: PUSH2 0x085f
00004349: DUP2
0000434a: PUSH2 0x3e2f
0000434d: JUMP
0000434e: JUMPDEST
0000434f: PUSH1 0x20
00004351: DUP1
00004352: DUP3
00004353: MSTORE
00004354: DUP2
00004355: ADD
00004356: PUSH2 0x085f
00004359: DUP2
0000435a: PUSH2 0x3e8e
0000435d: JUMP
0000435e: JUMPDEST
0000435f: PUSH1 0x20
00004361: DUP1
00004362: DUP3
00004363: MSTORE
00004364: DUP2
00004365: ADD
00004366: PUSH2 0x085f
00004369: DUP2
0000436a: PUSH2 0x3eed
0000436d: JUMP
0000436e: JUMPDEST
0000436f: PUSH1 0x20
00004371: DUP1
00004372: DUP3
00004373: MSTORE
00004374: DUP2
00004375: ADD
00004376: PUSH2 0x085f
00004379: DUP2
0000437a: PUSH2 0x3f26
0000437d: JUMP
0000437e: JUMPDEST
0000437f: PUSH1 0x20
00004381: DUP1
00004382: DUP3
00004383: MSTORE
00004384: DUP2
00004385: ADD
00004386: PUSH2 0x085f
00004389: DUP2
0000438a: PUSH2 0x3f5f
0000438d: JUMP
0000438e: JUMPDEST
0000438f: PUSH1 0x80
00004391: DUP2
00004392: ADD
00004393: PUSH2 0x085f
00004396: DUP3
00004397: DUP5
00004398: PUSH2 0x3fbe
0000439b: JUMP
0000439c: JUMPDEST
0000439d: PUSH1 0x60
0000439f: DUP2
000043a0: ADD
000043a1: PUSH2 0x085f
000043a4: DUP3
000043a5: DUP5
000043a6: PUSH2 0x4008
000043a9: JUMP
000043aa: JUMPDEST
000043ab: PUSH1 0x40
000043ad: DUP2
000043ae: ADD
000043af: PUSH2 0x415e
000043b2: DUP3
000043b3: DUP6
000043b4: PUSH2 0x37b3
000043b7: JUMP
000043b8: JUMPDEST
000043b9: PUSH1 0x40
000043bb: MLOAD
000043bc: DUP2
000043bd: DUP2
000043be: ADD
000043bf: PUSH8 0xffffffffffffffff
000043c8: DUP2
000043c9: GT
000043ca: DUP3
000043cb: DUP3
000043cc: LT
000043cd: OR
000043ce: ISZERO
000043cf: PUSH2 0x43d7
000043d2: JUMPI
000043d3: PUSH1 0x00
000043d5: DUP1
000043d6: REVERT
000043d7: JUMPDEST
000043d8: PUSH1 0x40
000043da: MSTORE
000043db: SWAP2
000043dc: SWAP1
000043dd: POP
000043de: JUMP
000043df: JUMPDEST
000043e0: PUSH1 0x00
000043e2: PUSH8 0xffffffffffffffff
000043eb: DUP3
000043ec: GT
000043ed: ISZERO
000043ee: PUSH2 0x43f6
000043f1: JUMPI
000043f2: PUSH1 0x00
000043f4: DUP1
000043f5: REVERT
000043f6: JUMPDEST
000043f7: POP
000043f8: PUSH1 0x20
000043fa: SWAP1
000043fb: DUP2
000043fc: MUL
000043fd: ADD
000043fe: SWAP1
000043ff: JUMP
00004400: JUMPDEST
00004401: PUSH1 0x00
00004403: PUSH8 0xffffffffffffffff
0000440c: DUP3
0000440d: GT
0000440e: ISZERO
0000440f: PUSH2 0x4417
00004412: JUMPI
00004413: PUSH1 0x00
00004415: DUP1
00004416: REVERT
00004417: JUMPDEST
00004418: POP
00004419: PUSH1 0x20
0000441b: PUSH1 0x1f
0000441d: SWAP2
0000441e: SWAP1
0000441f: SWAP2
00004420: ADD
00004421: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
00004442: AND
00004443: ADD
00004444: SWAP1
00004445: JUMP
00004446: JUMPDEST
00004447: MLOAD
00004448: SWAP1
00004449: JUMP
0000444a: JUMPDEST
0000444b: SWAP1
0000444c: DUP2
0000444d: MSTORE
0000444e: PUSH1 0x20
00004450: ADD
00004451: SWAP1
00004452: JUMP
00004453: JUMPDEST
00004454: SWAP2
00004455: SWAP1
00004456: POP
00004457: JUMP
00004458: JUMPDEST
00004459: PUSH1 0x00
0000445b: PUSH2 0x085f
0000445e: DUP3
0000445f: PUSH2 0x44b9
00004462: JUMP
00004463: JUMPDEST
00004464: ISZERO
00004465: ISZERO
00004466: SWAP1
00004467: JUMP
00004468: JUMPDEST
00004469: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffff000000000000000000
0000448a: AND
0000448b: SWAP1
0000448c: JUMP
0000448d: JUMPDEST
0000448e: SWAP1
0000448f: JUMP
00004490: JUMPDEST
00004491: PUSH15 0xffffffffffffffffffffffffffffff
000044a1: AND
000044a2: SWAP1
000044a3: JUMP
000044a4: JUMPDEST
000044a5: PUSH16 0xffffffffffffffffffffffffffffffff
000044b6: AND
000044b7: SWAP1
000044b8: JUMP
000044b9: JUMPDEST
000044ba: PUSH1 0x01
000044bc: PUSH1 0x01
000044be: PUSH1 0xa0
000044c0: SHL
000044c1: SUB
000044c2: AND
000044c3: SWAP1
000044c4: JUMP
000044c5: JUMPDEST
000044c6: PUSH4 0xffffffff
000044cb: AND
000044cc: SWAP1
000044cd: JUMP
000044ce: JUMPDEST
000044cf: PUSH1 0x00
000044d1: PUSH2 0x085f
000044d4: DUP3
000044d5: PUSH2 0x44e4
000044d8: JUMP
000044d9: JUMPDEST
000044da: PUSH1 0x00
000044dc: PUSH2 0x085f
000044df: DUP3
000044e0: PUSH2 0x448d
000044e3: JUMP
000044e4: JUMPDEST
000044e5: PUSH1 0x00
000044e7: PUSH2 0x085f
000044ea: DUP3
000044eb: PUSH2 0x4458
000044ee: JUMP
000044ef: JUMPDEST
000044f0: DUP3
000044f1: DUP2
000044f2: DUP4
000044f3: CALLDATACOPY
000044f4: POP
000044f5: PUSH1 0x00
000044f7: SWAP2
000044f8: ADD
000044f9: MSTORE
000044fa: JUMP
000044fb: JUMPDEST
000044fc: PUSH1 0x00
000044fe: JUMPDEST
000044ff: DUP4
00004500: DUP2
00004501: LT
00004502: ISZERO
00004503: PUSH2 0x4516
00004506: JUMPI
00004507: DUP2
00004508: DUP2
00004509: ADD
0000450a: MLOAD
0000450b: DUP4
0000450c: DUP3
0000450d: ADD
0000450e: MSTORE
0000450f: PUSH1 0x20
00004511: ADD
00004512: PUSH2 0x44fe
00004515: JUMP
00004516: JUMPDEST
00004517: DUP4
00004518: DUP2
00004519: GT
0000451a: ISZERO
0000451b: PUSH2 0x2614
0000451e: JUMPI
0000451f: POP
00004520: POP
00004521: PUSH1 0x00
00004523: SWAP2
00004524: ADD
00004525: MSTORE
00004526: JUMP
00004527: JUMPDEST
00004528: PUSH1 0x1f
0000452a: ADD
0000452b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0
0000454c: AND
0000454d: SWAP1
0000454e: JUMP
0000454f: JUMPDEST
00004550: PUSH2 0x4558
00004553: DUP2
00004554: PUSH2 0x4458
00004557: JUMP
00004558: JUMPDEST
00004559: DUP2
0000455a: EQ
0000455b: PUSH2 0x4563
0000455e: JUMPI
0000455f: PUSH1 0x00
00004561: DUP1
00004562: REVERT
00004563: JUMPDEST
00004564: POP
00004565: JUMP
00004566: JUMPDEST
00004567: PUSH2 0x4558
0000456a: DUP2
0000456b: PUSH2 0x4463
0000456e: JUMP
0000456f: JUMPDEST
00004570: PUSH2 0x4558
00004573: DUP2
00004574: PUSH2 0x448d
00004577: JUMP
00004578: INVALID
00004579: PUSH2 0x6363
0000457c: PUSH16 0x756e7420697320756e646572636f6c6c
0000458d: PUSH2 0x7465
00004590: PUSH19 0x616c697a656420616e6420636f6c6c61746572
000045a4: PUSH2 0x6c69
000045a7: PUSH27 0x6174696f6e206465637265617365646163636f756e742069732075
000045c3: PUSH15 0x646572636f6c6c61746572616c697a
000045d3: PUSH6 0x6420616e6420
000045da: PUSH9 0x6173206e6f20706f73
000045e4: PUSH10 0x746976652076616c7565
000045ef: PUSH2 0x6363
000045f2: PUSH16 0x756e7420697320756e646572636f6c6c
00004603: PUSH2 0x7465
00004606: PUSH19 0x616c697a656420616e6420706f736974696f6e
0000461a: KECCAK256
0000461b: PUSH4 0x68616e67
00004620: PUSH6 0x64207369676e
00004627: PUSH20 0x6163636f756e7420697320756e646572636f6c6c
0000463c: PUSH2 0x7465
0000463f: PUSH19 0x616c697a656420616e64206162736f6c757465
00004653: KECCAK256
00004654: PUSH17 0x6f736974696f6e2073697a6520696e6372
00004666: PUSH6 0x617365646163
0000466d: PUSH4 0x6f756e74
00004672: KECCAK256
00004673: PUSH10 0x7320756e646572636f6c
0000467e: PUSH13 0x61746572616c697a656420616e
0000468c: PUSH5 0x2077617320
00004692: PUSH15 0x6f742070726576696f75736c79a365
000046a2: PUSH3 0x7a7a72
000046a6: BALANCE
000046a7: PC
000046a8: KECCAK256
000046a9: UNKNOWN(0xDC)
000046aa: CALL
000046ab: SWAP3
000046ac: UNKNOWN(0xE7)
000046ad: EXP
000046ae: DUP10
000046af: UNKNOWN(0x29)
000046b0: UNKNOWN(0xCC)
000046b1: MCOPY
000046b2: RETURNDATACOPY
000046b3: SWAP10
000046b4: UNKNOWN(0xAD)
000046b5: UNKNOWN(0xC8)
000046b6: MSIZE
000046b7: JUMP
000046b8: COINBASE
000046b9: GAS
000046ba: LOG0
000046bb: UNKNOWN(0xE7)
000046bc: UNKNOWN(0xC1)
000046bd: RETURNDATASIZE
000046be: SWAP5
000046bf: PUSH17 0x433bfcdc5fe26e674c6c6578706572696d
000046d1: PUSH6 0x6e74616cf564
000046d8: PUSH20

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
critical math codex Balance overwrite in `trade()` enables margin inflation and token drain 90 no
view
evidence_json
{
    "evidence": "In `P1Trade.trade`, balances are loaded from `currentBalances` and mutated locally (2316-2329), then written straight to storage (2331-2333) without updating `currentBalances`, yet `_verifyAccountsFinalBalances` uses `currentBalances` later (2347-2351). This causes each trade (and the final verification) to use stale initial balances, enabling balance overwrites and margin inflation.",
    "locations": [
        "contracts/Contract.sol:2316",
        "contracts/Contract.sol:2331",
        "contracts/Contract.sol:2347"
    ],
    "recommendation": "After modifying `makerBalance`/`takerBalance`, write them back to `currentBalances` and base all subsequent trades and final checks on the updated array. Alternatively, accumulate changes in `currentBalances` and only write to storage once after all trades.",
    "exploit_scenario": "1) Use any whitelisted global-operator trader contract `T` and call `trade()` with `accounts` sorted, including attacker A, dummy D, and victim/attacker-controlled V. 2) `trades[0]`: maker=V, taker=A, `marginAmount=X`, `positionAmount=0`, `isBuy=false`; storage credits A +X and debits V -X. 3) `trades[1]`: maker=V, taker=D, `marginAmount=0` (or tiny), `positionAmount=0`; because `currentBalances` was never updated, V\u2019s balance is recomputed from the initial state, overwriting the -X loss. 4) After the call, A keeps +X margin while V is restored, inflating total margin. 5) A withdraws X `_TOKEN_` via `withdraw()`, draining contract liquidity. Profit potential: up to the full `_TOKEN_` balance held by the contract (all deposits/liquidity)."
}
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x136218b170c3902519931c8e8fd23039855f445943ccaba76b021f06d267b6db
call_targets: 0xe883b3efdae637fc599b467478a23199778f2ccf
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x136218b170c3902519931c8e8fd23039855f445943ccaba76b021f06d267b6db",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xe883b3efdae637fc599b467478a23199778f2ccf"
    ],
    "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": "0xe3bbb565",
            "selector": "0xe3bbb565",
            "calldata_variants": [
                "0xe3bbb565",
                "0xe3bbb5650000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe830b690",
            "selector": "0xe830b690",
            "calldata_variants": [
                "0xe830b690",
                "0xe830b6900000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf40c3699",
            "selector": "0xf40c3699",
            "calldata_variants": [
                "0xf40c3699",
                "0xf40c36990000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb4959e72",
            "selector": "0xb4959e72",
            "calldata_variants": [
                "0xb4959e72",
                "0xb4959e720000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd9caed12",
            "selector": "0xd9caed12",
            "calldata_variants": [
                "0xd9caed12",
                "0xd9caed120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc4f3a0e",
            "selector": "0xdc4f3a0e",
            "calldata_variants": [
                "0xdc4f3a0e",
                "0xdc4f3a0e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x93423e9c",
            "selector": "0x93423e9c",
            "calldata_variants": [
                "0x93423e9c",
                "0x93423e9c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9ba63e9e",
            "selector": "0x9ba63e9e",
            "calldata_variants": [
                "0x9ba63e9e",
                "0x9ba63e9e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3340,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 11708,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 18090,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "constant"
        }
    ],
    "call_count": 3,
    "guards_detected": [],
    "untrusted_call_count": 3
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x136218b170c3902519931c8e8fd23039855f445943ccaba76b021f06d267b6db
call_targets: 0xe883b3efdae637fc599b467478a23199778f2ccf
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x136218b170c3902519931c8e8fd23039855f445943ccaba76b021f06d267b6db",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xe883b3efdae637fc599b467478a23199778f2ccf"
    ],
    "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": "0xe3bbb565",
            "selector": "0xe3bbb565",
            "calldata_variants": [
                "0xe3bbb565",
                "0xe3bbb5650000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe830b690",
            "selector": "0xe830b690",
            "calldata_variants": [
                "0xe830b690",
                "0xe830b6900000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf40c3699",
            "selector": "0xf40c3699",
            "calldata_variants": [
                "0xf40c3699",
                "0xf40c36990000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xb4959e72",
            "selector": "0xb4959e72",
            "calldata_variants": [
                "0xb4959e72",
                "0xb4959e720000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xd9caed12",
            "selector": "0xd9caed12",
            "calldata_variants": [
                "0xd9caed12",
                "0xd9caed120000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xdc4f3a0e",
            "selector": "0xdc4f3a0e",
            "calldata_variants": [
                "0xdc4f3a0e",
                "0xdc4f3a0e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x93423e9c",
            "selector": "0x93423e9c",
            "calldata_variants": [
                "0x93423e9c",
                "0x93423e9c0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x9ba63e9e",
            "selector": "0x9ba63e9e",
            "calldata_variants": [
                "0x9ba63e9e",
                "0x9ba63e9e0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 3340,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 11708,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 18090,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "constant"
        }
    ],
    "eth_value_calls": 3,
    "guards_detected": []
}
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": 9
}