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

Analysis Run

5ca1ae8a-9ddf-4b4a-88ef-09e4f55fd259

complete
Chain ID
1
Address
Block Number
Created
Sat, Dec 27, 2025 10:54 PM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
30217 report.consolidate complete 1 / 1 3 months ago
73486 artifact.fetch complete 1 / 3 1 week ago
73487 tool.cast_disasm complete 1 / 3 1 week ago
73488 analysis.bundle complete 1 / 3 1 week ago
73489 capability.graph complete 1 / 3 1 week ago
73490 detector.run complete 1 / 3 1 week ago
73491 validation.fork complete 1 / 3 1 week ago

Artifact

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

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
3
No findings?
no
Summary
Found 3 issues: TWAP oracle manipulation risk, top-contributor min tracking bug, and pre-launch pool DoS.
View stderr
[codex:1232275] OpenAI Codex v0.77.0 (research preview)
[codex:1232275] --------
[codex:1232275] workdir: /tmp/codex-multi-5psf8t5f
[codex:1232275] model: gpt-5.2-codex
[codex:1232275] provider: openai
[codex:1232275] approval: never
[codex:1232275] sandbox: read-only
[codex:1232275] reasoning effort: xhigh
[codex:1232275] reasoning summaries: auto
[codex:1232275] session id: 019b61fb-46b1-7052-9561-3c2631a58b50
[codex:1232275] --------
[codex:1232275] user
[codex:1232275] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1232275] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1232275] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1232275] 
[codex:1232275] Scope rules:
[codex:1232275] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1232275] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1232275] 
[codex:1232275] Output MUST be valid JSON matching the provided schema.
[codex:1232275] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1232275] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1232275] 
[codex:1232275] Output constraints (IMPORTANT):
[codex:1232275] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1232275] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1232275] mcp startup: no servers
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Preparing to audit with AUDIT_BUNDLE.txt**
[codex:1232275] exec
[codex:1232275] /bin/bash -lc ls in /tmp/codex-multi-5psf8t5f succeeded in 5ms:
[codex:1232275] AUDIT_BUNDLE.txt
[codex:1232275] codex-output-schema.json
[codex:1232275] contracts
[codex:1232275] exec
[codex:1232275] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-5psf8t5f succeeded in 6ms:
[codex:1232275] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1232275] 
[codex:1232275] ================================================================================
[codex:1232275] FILE: contracts/@openzeppelin/contracts/access/Ownable.sol
[codex:1232275] ================================================================================
[codex:1232275] // SPDX-License-Identifier: MIT
[codex:1232275] // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)
[codex:1232275] 
[codex:1232275] pragma solidity ^0.8.20;
[codex:1232275] 
[codex:1232275] import {Context} from "../utils/Context.sol";
[codex:1232275] 
[codex:1232275] /**
[codex:1232275]  * @dev Contract module which provides a basic access control mechanism, where
[codex:1232275]  * there is an account (an owner) that can be granted exclusive access to
[codex:1232275]  * specific functions.
[codex:1232275]  *
[codex:1232275]  * The initial owner is set to the address provided by the deployer. This can
[codex:1232275]  * later be changed with {transferOwnership}.
[codex:1232275]  *
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Searching for first-party contract files**
[codex:1232275] exec
[codex:1232275] /bin/bash -lc 'rg -n "''^FILE: contracts/" AUDIT_BUNDLE.txt' in /tmp/codex-multi-5psf8t5f succeeded in 7ms:
[codex:1232275] 4:FILE: contracts/@openzeppelin/contracts/access/Ownable.sol
[codex:1232275] 108:FILE: contracts/@openzeppelin/contracts/interfaces/IERC1363.sol
[codex:1232275] 198:FILE: contracts/@openzeppelin/contracts/interfaces/IERC165.sol
[codex:1232275] 208:FILE: contracts/@openzeppelin/contracts/interfaces/IERC20.sol
[codex:1232275] 218:FILE: contracts/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol
[codex:1232275] 228:FILE: contracts/@openzeppelin/contracts/interfaces/IERC721Metadata.sol
[codex:1232275] 238:FILE: contracts/@openzeppelin/contracts/interfaces/draft-IERC6093.sol
[codex:1232275] 403:FILE: contracts/@openzeppelin/contracts/token/ERC20/ERC20.sol
[codex:1232275] 719:FILE: contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:1232275] 802:FILE: contracts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol
[codex:1232275] 832:FILE: contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
[codex:1232275] 1035:FILE: contracts/@openzeppelin/contracts/token/ERC721/IERC721.sol
[codex:1232275] 1174:FILE: contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol
[codex:1232275] 1207:FILE: contracts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol
[codex:1232275] 1238:FILE: contracts/@openzeppelin/contracts/utils/Address.sol
[codex:1232275] 1392:FILE: contracts/@openzeppelin/contracts/utils/Context.sol
[codex:1232275] 1424:FILE: contracts/@openzeppelin/contracts/utils/Errors.sol
[codex:1232275] 1462:FILE: contracts/@openzeppelin/contracts/utils/Panic.sol
[codex:1232275] 1523:FILE: contracts/@openzeppelin/contracts/utils/ReentrancyGuard.sol
[codex:1232275] 1614:FILE: contracts/@openzeppelin/contracts/utils/introspection/IERC165.sol
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Identifying key first-party contracts**
[codex:1232275] exec
[codex:1232275] /bin/bash -lc "sed -n '5578,7428p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-5psf8t5f succeeded in 7ms:
[codex:1232275] FILE: contracts/contracts/ULTI.sol
[codex:1232275] ================================================================================
[codex:1232275] // SPDX-License-Identifier: MIT
[codex:1232275] 
[codex:1232275] // Permission is hereby granted, free of charge, to any person obtaining a copy
[codex:1232275] // of this software and associated documentation files (the "Software"), to deal
[codex:1232275] // in the Software without restriction, including without limitation the rights
[codex:1232275] // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
[codex:1232275] // copies of the Software, and to permit persons to whom the Software is
[codex:1232275] // furnished to do so, subject to the following conditions:
[codex:1232275] //
[codex:1232275] // 1. The above copyright notice and this permission notice shall be included
[codex:1232275] // in all copies or substantial portions of the Software.
[codex:1232275] //
[codex:1232275] // 2. Any use, reproduction, or distribution of this Software, in whole or in part,
[codex:1232275] // must include clear and appropriate attribution to @0xStef as the original author.
[codex:1232275] //
[codex:1232275] // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
[codex:1232275] // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
[codex:1232275] // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Planning segmented file extraction**
[codex:1232275] exec
[codex:1232275] /bin/bash -lc "sed -n '5578,6200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-5psf8t5f succeeded in 6ms:
[codex:1232275] FILE: contracts/contracts/ULTI.sol
[codex:1232275] ================================================================================
[codex:1232275] // SPDX-License-Identifier: MIT
[codex:1232275] 
[codex:1232275] // Permission is hereby granted, free of charge, to any person obtaining a copy
[codex:1232275] // of this software and associated documentation files (the "Software"), to deal
[codex:1232275] // in the Software without restriction, including without limitation the rights
[codex:1232275] // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
[codex:1232275] // copies of the Software, and to permit persons to whom the Software is
[codex:1232275] // furnished to do so, subject to the following conditions:
[codex:1232275] //
[codex:1232275] // 1. The above copyright notice and this permission notice shall be included
[codex:1232275] // in all copies or substantial portions of the Software.
[codex:1232275] //
[codex:1232275] // 2. Any use, reproduction, or distribution of this Software, in whole or in part,
[codex:1232275] // must include clear and appropriate attribution to @0xStef as the original author.
[codex:1232275] //
[codex:1232275] // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
[codex:1232275] // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
[codex:1232275] // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Continuing code review from line 6200**
[codex:1232275] exec
[codex:1232275] /bin/bash -lc "sed -n '6200,6800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-5psf8t5f succeeded in 7ms:
[codex:1232275]         // 3. Calculate the square root price to initialize the pool
[codex:1232275]         uint160 initialSqrtPriceX96;
[codex:1232275]         if (isUltiToken0) {
[codex:1232275]             uint256 sqrtPrice = Math.sqrt((1 << 192) / initialRatio);
[codex:1232275]             initialSqrtPriceX96 = uint160(sqrtPrice);
[codex:1232275]         } else {
[codex:1232275]             uint256 sqrtPrice = Math.sqrt(uint256(initialRatio) << 192);
[codex:1232275]             initialSqrtPriceX96 = uint160(sqrtPrice);
[codex:1232275]         }
[codex:1232275] 
[codex:1232275]         // 4. Initialize the Uniswap pool with the calculated price
[codex:1232275]         IUniswapV3Pool(liquidityPoolAddress).initialize(initialSqrtPriceX96);
[codex:1232275] 
[codex:1232275]         // 5. Increase observation cardinality to prevent TWAP manipulation
[codex:1232275]         IUniswapV3Pool(liquidityPoolAddress).increaseObservationCardinalityNext(minimumTwapObservations);
[codex:1232275] 
[codex:1232275]         // 6. Calculate and mint ULTI tokens for liquidity
[codex:1232275]         uint256 ultiForLP = inputTokenForLP * initialRatio;
[codex:1232275]         _mint(address(this), ultiForLP);
[codex:1232275] 
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Continuing with updates and contributor details**
[codex:1232275] exec
[codex:1232275] /bin/bash -lc "sed -n '6800,7400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-5psf8t5f succeeded in 6ms:
[codex:1232275]     /**
[codex:1232275]      * @notice Keeps track of how many times a user has pumped in a cycle
[codex:1232275]      * @dev Adds pumper to set if not present and increments their pump count.
[codex:1232275]      *      Using unchecked is safe since pump counts are limited by MAX_PUMPS_FOR_ACTIVE_PUMPERS.
[codex:1232275]      *      For new pumpers, incrementing from 0 gives us 1.
[codex:1232275]      *      For existing pumpers, we increment their current count.
[codex:1232275]      * @param cycle The current cycle number
[codex:1232275]      * @param pumper The address of the user who performed the pump
[codex:1232275]      */
[codex:1232275]     function _updatePumpCount(uint32 cycle, address pumper) private {
[codex:1232275]         pumpers[cycle].add(pumper);
[codex:1232275]         unchecked {
[codex:1232275]             pumpCounts[cycle][pumper]++;
[codex:1232275]         }
[codex:1232275]     }
[codex:1232275] 
[codex:1232275]     /**
[codex:1232275]      * @notice Gets a list of all addresses that have participated in pumping during a specific cycle
[codex:1232275]      * @dev Retrieves pumper addresses as an array from EnumerableSet
[codex:1232275]      * @param cycle The cycle number to get pumpers for
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Verifying end of ULTI.sol file**
[codex:1232275] exec
[codex:1232275] /bin/bash -lc "sed -n '7360,7445p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-5psf8t5f succeeded in 6ms:
[codex:1232275]      * @dev Uses the internal _getSnipingProtectionFactor function to fetch the factor
[codex:1232275]      * @param dayInCycle The day number within the current cycle (1-33)
[codex:1232275]      * @return The sniping protection factor for the given day, scaled by 10^6
[codex:1232275]      */
[codex:1232275]     function getSnipingProtectionFactor(uint8 dayInCycle) external pure returns (uint32) {
[codex:1232275]         return _getSnipingProtectionFactor(dayInCycle);
[codex:1232275]     }
[codex:1232275] 
[codex:1232275]     /// @notice Sniping Protection Factor Array - used as last minute snipping protection when updating top contributors
[codex:1232275]     /// @dev This array represents a logistic function that creates a sharply falling curve.
[codex:1232275]     /// It smoothly transitions from 100% protection at the start of the cycle
[codex:1232275]     /// to approximately ~1% protection at the end of the cycle.
[codex:1232275]     /// Mathematical formula: f(d) = 3 / (1 + exp(0.4 * (d - 35) + 0.09)) - 2
[codex:1232275]     /// Where:
[codex:1232275]     ///   d: day of the cycle (1 to 33)
[codex:1232275]     ///   f(d): discounting factor for day d
[codex:1232275]     /// Array contains discrete values for d = [1, 33]
[codex:1232275]     /// Each value is scaled by 10^6 for precision (~1X =>  999,996)
[codex:1232275]     /// Usage:
[codex:1232275]     /// - Input 1 corresponds to day 1 of the cycle
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Continuing to read key interfaces**
[codex:1232275] exec
[codex:1232275] /bin/bash -lc "sed -n '7429,7800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-5psf8t5f succeeded in 6ms:
[codex:1232275] FILE: contracts/contracts/ULTIShared.sol
[codex:1232275] ================================================================================
[codex:1232275] // SPDX-License-Identifier: MIT
[codex:1232275] pragma solidity ^0.8.28;
[codex:1232275] 
[codex:1232275] /// @title ULTI Protocol Constants
[codex:1232275] /// @notice Contains all constants used in the ULTI protocol
[codex:1232275] /// @author @0xStef
[codex:1232275] library ULTIShared {
[codex:1232275]     // ===============================================
[codex:1232275]     // Constants
[codex:1232275]     // ===============================================
[codex:1232275] 
[codex:1232275]     /// @notice The number associated with ULTI, used in various calculations
[codex:1232275]     uint256 public constant ULTI_NUMBER = 33;
[codex:1232275] 
[codex:1232275]     /// @notice Maximum number of top contributors that can be tracked per cycle (33)
[codex:1232275]     uint256 public constant MAX_TOP_CONTRIBUTORS = ULTI_NUMBER;
[codex:1232275] 
[codex:1232275]     // Time-related constants
[codex:1232275] 
[codex:1232275] 
[codex:1232275] 
[codex:1232275] 
[codex:1232275] 
[codex:1232275] 
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Examining ULTI.sol vulnerabilities in detail**
[codex:1232275] 
[codex:1232275] I'm carefully analyzing ULTI.sol step-by-step, focusing on potential reentrancy risks, token transfer safety, referral bonus accounting, cooldown logic, and oracle price manipulation. I’m weighing how the contract uses Uniswap pools, ownership rules, and guards like nonReentrant to identify if subtle bugs or economic exploits could arise from interactions like minting, burning, referral resets, or TWAP reliance. There is a lot here to unpack, especially on how external calls, token hooks, and state updates interplay.
[codex:1232275] thinking
[codex:1232275] **Analyzing token transfer and referral logic intricacies**
[codex:1232275] 
[codex:1232275] I’m unpacking the pump function’s token burn mechanics, how TWAP and decimal math align, implications of referral bonus resets, and potential quirks in contract interactions like receive/fallback and ERC20 transfers. There’s detailed attention on whether external calls or contract recipients could cause unexpected behavior and how internal mappings and cooldowns maintain or fail to maintain intended state.
[codex:1232275] thinking
[codex:1232275] **Evaluating top contributors tracking and deposit logic**
[codex:1232275] 
[codex:1232275] I’m reviewing how the min contributor is tracked in the top contributors list and noticing that stale minimums can cause higher contributors to be wrongly removed when the list is full, impacting fairness in rewards and pump privileges. There’s also attention on token deposit accounting, cooldown timers for claiming and depositing, and price oracle usage that could influence calculations subtly.
[codex:1232275] thinking
[codex:1232275] **Analyzing contribution bonus calculations and edge cases**
[codex:1232275] 
[codex:1232275] I’m looking closely at how top contributor bonuses are calculated and spotted a potential division-by-zero if all discounted contributions are zero despite positive bonuses, which could disrupt bonus distribution. I’m also checking subtle token wrapping, deposit minimums, and TWAP-related calculations to understand possible edge-case behaviors affecting protocol accounting and fairness.
[codex:1232275] thinking
[codex:1232275] **Evaluating reentrancy, cooldown logic, and launch DoS risks**
[codex:1232275] 
[codex:1232275] I’m reviewing how claim and deposit cooldowns interact, confirming deposit enforces timing properly though claim doesn’t update cooldown itself. I’m also thinking about potential reentrancy via wrapped native token calls, pump and TWAP assumptions, and a possible launch DoS from pre-created pools that can block protocol start, plus nuances in bonus accounting and swap mechanics.
[codex:1232275] thinking
[codex:1232275] **Analyzing deposit, bonus calculation, and TWAP mechanics**
[codex:1232275] 
[codex:1232275] I’m examining how deposits handle validations, auto-claim, token transfers, bonus calculations, and streak updates, noting some complexities in streak logic and referral bonus caps. I’m also focusing on TWAP reliance and potential issues when the Uniswap pool lacks enough observations, which might cause protocol operations to revert if price data isn’t fresh.
[codex:1232275] thinking
[codex:1232275] **Preparing to map findings to source code lines**
[codex:1232275] 
[codex:1232275] I’m planning to locate relevant code sections with exact line numbers in `contracts/contracts/ULTI.sol` to prepare JSON-formatted findings including severity, category, and evidence references for each vulnerability. This will help me provide precise locations for the user’s review.
[codex:1232275] exec
[codex:1232275] /bin/bash -lc "nl -ba contracts/contracts/ULTI.sol | sed -n '300,520p'" in /tmp/codex-multi-5psf8t5f succeeded in 9ms:
[codex:1232275]    300	        address indexed user,
[codex:1232275]    301	        uint256 inputTokenToSwap,
[codex:1232275]    302	        uint256 ultiBurned,
[codex:1232275]    303	        uint16 pumpCount,
[codex:1232275]    304	        uint256 twap
[codex:1232275]    305	    );
[codex:1232275]    306	
[codex:1232275]    307	    /// @notice Emitted when a top contributor is added, updated, or replaced in a cycle
[codex:1232275]    308	    /// @dev This event tracks changes to the top contributors list, including:
[codex:1232275]    309	    ///      - When a new contributor is added (up to MAX_TOP_CONTRIBUTORS)
[codex:1232275]    310	    ///      - When an existing contributor's contribution is updated
[codex:1232275]    311	    ///      - When a contributor replaces another in the top contributors list
[codex:1232275]    312	    /// @param cycle The cycle number in which the top contributor change occurred
[codex:1232275]    313	    /// @param contributorAddress The address of the contributor being added or updated
[codex:1232275]    314	    /// @param removedContributorAddress The address of the contributor that was removed (address(0) if no removal)
[codex:1232275]    315	    /// @param contribution The new total discounted contribution amount for this contributor
[codex:1232275]    316	    event TopContributorsUpdated(
[codex:1232275]    317	        uint32 indexed cycle,
[codex:1232275]    318	        address indexed contributorAddress,
[codex:1232275]    319	        address indexed removedContributorAddress,
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Searching function definitions with line numbers**
[codex:1232275] exec
[codex:1232275] /bin/bash -lc 'rg -n "_updateTopContributors" -n contracts/contracts/ULTI.sol' in /tmp/codex-multi-5psf8t5f succeeded in 6ms:
[codex:1232275] 1318:        _updateTopContributors(cycle, contributorAddress, cycleContribution);
[codex:1232275] 1342:    function _updateTopContributors(uint32 cycle, address contributorAddress, uint256 cycleContribution) private {
[codex:1232275] exec
[codex:1232275] /bin/bash -lc "nl -ba contracts/contracts/ULTI.sol | sed -n '1330,1420p'" in /tmp/codex-multi-5psf8t5f succeeded in 6ms:
[codex:1232275]   1330	     *      3. Caches minimum contribution
[codex:1232275]   1331	     *      4. If less than max contributors (33):
[codex:1232275]   1332	     *         - Adds or updates the contributor directly
[codex:1232275]   1333	     *         - Updates minimum contribution tracking if needed
[codex:1232275]   1334	     *      5. Most common case: early exits if contribution not higher than minimum
[codex:1232275]   1335	     *      6. Try to set the new contributor or update the existing contribution
[codex:1232275]   1336	     *      7. Finds new minimum contributor by iterating through all contributors
[codex:1232275]   1337	     *      8. Updates minimum tracking variables
[codex:1232275]   1338	     * @param cycle The current cycle number
[codex:1232275]   1339	     * @param contributorAddress The address of the contributor to update or add
[codex:1232275]   1340	     * @param cycleContribution The discounted contribution of the user for the cycle
[codex:1232275]   1341	     */
[codex:1232275]   1342	    function _updateTopContributors(uint32 cycle, address contributorAddress, uint256 cycleContribution) private {
[codex:1232275]   1343	        // 1. Get current top contributors mapping
[codex:1232275]   1344	        EnumerableMap.AddressToUintMap storage _topContributors = topContributors[cycle];
[codex:1232275]   1345	        uint256 length = _topContributors.length();
[codex:1232275]   1346	
[codex:1232275]   1347	        // 3. Cache minimum contribution
[codex:1232275]   1348	        uint256 minContribution = minDiscountedContribution[cycle];
[codex:1232275]   1349	
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Identifying key code lines for bug tracking**
[codex:1232275] exec
[codex:1232275] /bin/bash -lc 'rg -n "accumulatedReferralBonuses" contracts/contracts/ULTI.sol' in /tmp/codex-multi-5psf8t5f succeeded in 6ms:
[codex:1232275] 192:    mapping(address user => uint256 referralBonuses) public accumulatedReferralBonuses;
[codex:1232275] 1073:        accumulatedReferralBonuses[msg.sender] = 0;
[codex:1232275] 1572:            uint256 remainingBonusAllowance = skinInAGameCap > accumulatedReferralBonuses[effectiveReferrer]
[codex:1232275] 1573:                ? skinInAGameCap - accumulatedReferralBonuses[effectiveReferrer]
[codex:1232275] 1586:                accumulatedReferralBonuses[effectiveReferrer] += referrerBonus;
[codex:1232275] exec
[codex:1232275] /bin/bash -lc "nl -ba contracts/contracts/ULTI.sol | sed -n '1030,1105p'" in /tmp/codex-multi-5psf8t5f succeeded in 7ms:
[codex:1232275]   1030	     *      5. Emits claim event with details
[codex:1232275]   1031	     */
[codex:1232275]   1032	    function _claimUlti() private {
[codex:1232275]   1033	        // 1. Validate cooldown period
[codex:1232275]   1034	        if (block.timestamp < nextDepositOrClaimTimestamp[msg.sender]) revert ClaimUltiCooldownActive();
[codex:1232275]   1035	
[codex:1232275]   1036	        // 2. Validate claimable amount
[codex:1232275]   1037	        if (claimableUlti[msg.sender] == 0) revert ClaimUltiEmpty();
[codex:1232275]   1038	
[codex:1232275]   1039	        // 3. Record amount and reset allocation
[codex:1232275]   1040	        uint256 ultiToClaim = claimableUlti[msg.sender];
[codex:1232275]   1041	        claimableUlti[msg.sender] = 0;
[codex:1232275]   1042	
[codex:1232275]   1043	        // 4. Mint tokens to user
[codex:1232275]   1044	        _mint(msg.sender, ultiToClaim);
[codex:1232275]   1045	
[codex:1232275]   1046	        // 5. Emit claim event
[codex:1232275]   1047	        emit Claimed(getCurrentCycle(), msg.sender, ultiToClaim);
[codex:1232275]   1048	    }
[codex:1232275]   1049	
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Preparing to update _updateReferrals section**
[codex:1232275] exec
[codex:1232275] /bin/bash -lc "nl -ba contracts/contracts/ULTI.sol | sed -n '1530,1615p'" in /tmp/codex-multi-5psf8t5f succeeded in 6ms:
[codex:1232275]   1530	    // ===============================================
[codex:1232275]   1531	    // Referral System
[codex:1232275]   1532	    // ===============================================
[codex:1232275]   1533	
[codex:1232275]   1534	    /**
[codex:1232275]   1535	     * @notice Processes referral bonuses (2-way) when a user makes a deposit
[codex:1232275]   1536	     * @dev Execution steps:
[codex:1232275]   1537	     *      1. Gets effective referrer (stored or provided)
[codex:1232275]   1538	     *      2. Updates referrer mapping if not already set and valid referrer provided
[codex:1232275]   1539	     *      3. If valid referrer exists:
[codex:1232275]   1540	     *         a. Cap referral bonus based on skin-in-game limit
[codex:1232275]   1541	     *         b. Initialize next bonus claim timestamp for referrer if needed
[codex:1232275]   1542	     *         c. Update referrer's allocated bonuses and contributions
[codex:1232275]   1543	     *         d. Calculate and allocate referred user bonus (33% of referrer bonus)
[codex:1232275]   1544	     * @param referrer The address of the referrer
[codex:1232275]   1545	     * @param inputTokenReferred The amount of input token deposited by user (referred by referrer)
[codex:1232275]   1546	     * @param ultiToMint The amount of ULTI tokens to mint for the depositor before calculating the referral bonuses
[codex:1232275]   1547	     * @param cycle The current cycle number
[codex:1232275]   1548	     * @return effectiveReferrer The actual referrer used (stored or provided)
[codex:1232275]   1549	     * @return referrerBonus The amount of bonus tokens allocated to the referrer
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Analyzing potential vulnerabilities and design issues**
[codex:1232275] exec
[codex:1232275] /bin/bash -lc 'rg -n "_createLiquidity" contracts/contracts/ULTI.sol' in /tmp/codex-multi-5psf8t5f succeeded in 6ms:
[codex:1232275] 473:        _createLiquidity(founderGiveaway, block.timestamp);
[codex:1232275] 607:    function _createLiquidity(uint256 inputTokenForLP, uint256 deadline) private {
[codex:1232275] exec
[codex:1232275] /bin/bash -lc "nl -ba contracts/contracts/ULTI.sol | sed -n '600,690p'" in /tmp/codex-multi-5psf8t5f succeeded in 6ms:
[codex:1232275]    600	     *      6. Mints ULTI tokens to match input token amount at initial ratio
[codex:1232275]    601	     *      7. Creates full range liquidity position with both tokens
[codex:1232275]    602	     *      8. Stores position token ID for future operations
[codex:1232275]    603	     *      9. Keeps any leftover tokens in contract for future use
[codex:1232275]    604	     * @param inputTokenForLP Amount of input token to add to the liquidity position
[codex:1232275]    605	     * @param deadline The timestamp after which the transaction will revert
[codex:1232275]    606	     */
[codex:1232275]    607	    function _createLiquidity(uint256 inputTokenForLP, uint256 deadline) private {
[codex:1232275]    608	        // 1. Check if the Uniswap pool already exists
[codex:1232275]    609	        address liquidityPoolAddress = uniswapFactory.getPool(address(this), inputTokenAddress, ULTIShared.LP_FEE);
[codex:1232275]    610	
[codex:1232275]    611	        // 2. Create and store pool if it doesn't exist
[codex:1232275]    612	        if (liquidityPoolAddress == address(0)) {
[codex:1232275]    613	            liquidityPoolAddress = uniswapFactory.createPool(address(this), inputTokenAddress, ULTIShared.LP_FEE);
[codex:1232275]    614	            liquidityPool = IUniswapV3Pool(liquidityPoolAddress);
[codex:1232275]    615	        } else {
[codex:1232275]    616	            // SECURITY NOTE: DoS risk if a pool with the same parameters is created before `launch` is executed.
[codex:1232275]    617	            // This risk is accepted due to its low impact (cost of deploying ULTI) and very low likelihood of happening.
[codex:1232275]    618	            revert LiquidityPoolAlreadyExists();
[codex:1232275]    619	        }
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Evaluating oracle manipulation risk**
[codex:1232275] exec
[codex:1232275] /bin/bash -lc 'rg -n "_calculateTWAP" contracts/contracts/ULTI.sol' in /tmp/codex-multi-5psf8t5f succeeded in 6ms:
[codex:1232275] 536:        return _calculateTWAP();
[codex:1232275] 553:    function _calculateTWAP() internal view returns (uint256 twap) {
[codex:1232275] 990:        uint256 twap = _calculateTWAP();
[codex:1232275] 1143:        uint256 twap = _calculateTWAP();
[codex:1232275] exec
[codex:1232275] /bin/bash -lc "nl -ba contracts/contracts/ULTI.sol | sed -n '520,620p'" in /tmp/codex-multi-5psf8t5f succeeded in 6ms:
[codex:1232275]    520	            // This keeps intermediate values manageable
[codex:1232275]    521	            uint256 invPriceX96 = Math.mulDiv(1 << 96, 1e18, sqrtPrice);
[codex:1232275]    522	
[codex:1232275]    523	            // Second step: Calculate (invPriceX96 * 2^96) / sqrtPrice
[codex:1232275]    524	            // This completes the inverse price calculation
[codex:1232275]    525	            spotPrice = Math.mulDiv(invPriceX96, 1 << 96, sqrtPrice);
[codex:1232275]    526	        }
[codex:1232275]    527	    }
[codex:1232275]    528	
[codex:1232275]    529	    /**
[codex:1232275]    530	     * @notice Gets the average price of ULTI tokens over a recent time period
[codex:1232275]    531	     * @dev External wrapper that returns the current Time-Weighted Average Price (TWAP).
[codex:1232275]    532	     * Always calculates fresh TWAP value to avoid returning stale data.
[codex:1232275]    533	     * @return currentTwap The current time-weighted average price
[codex:1232275]    534	     */
[codex:1232275]    535	    function getTWAP() external view returns (uint256 currentTwap) {
[codex:1232275]    536	        return _calculateTWAP();
[codex:1232275]    537	    }
[codex:1232275]    538	
[codex:1232275]    539	    /**
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Summarizing oracle manipulation and contract issues**
[codex:1232275] 
[codex:1232275] I’m outlining three main findings: the TWAP oracle risk from a low-liquidity Uniswap pool allowing mint manipulation, a contributor tracking bug misallocating bonuses, and a pre-launch denial-of-service where anyone can create the Uniswap pool to block launch. I’m gathering evidence by locating key functions like `_calculateTWAP` and `_allocateDeposit` to back these points with precise code references.
[codex:1232275] exec
[codex:1232275] /bin/bash -lc 'rg -n "_allocateDeposit" -n contracts/contracts/ULTI.sol' in /tmp/codex-multi-5psf8t5f succeeded in 7ms:
[codex:1232275] 924:            _allocateDeposit(inputTokenAmount, minUltiToAllocate, deadline);
[codex:1232275] 985:    function _allocateDeposit(uint256 inputTokenAmount, uint256 minUltiToAllocate, uint256 deadline)
[codex:1232275] exec
[codex:1232275] /bin/bash -lc "nl -ba contracts/contracts/ULTI.sol | sed -n '900,1020p'" in /tmp/codex-multi-5psf8t5f succeeded in 7ms:
[codex:1232275]    900	        // 1. Validate deposit requirements
[codex:1232275]    901	        if (inputTokenAmount < minimumDepositAmount) revert DepositInsufficientAmount();
[codex:1232275]    902	        if (referrer == msg.sender) revert DepositCannotReferSelf();
[codex:1232275]    903	        if (referrers[referrer] == msg.sender) revert DepositCircularReferral();
[codex:1232275]    904	        if (block.timestamp > deadline) revert DepositExpired();
[codex:1232275]    905	        if (block.timestamp < nextDepositOrClaimTimestamp[msg.sender]) revert DepositCooldownActive();
[codex:1232275]    906	
[codex:1232275]    907	        // 2. Auto-claim pending ULTI if requested
[codex:1232275]    908	        bool autoClaimed;
[codex:1232275]    909	        if (autoClaim && claimableUlti[msg.sender] > 0) {
[codex:1232275]    910	            _claimUlti();
[codex:1232275]    911	            autoClaimed = true;
[codex:1232275]    912	        }
[codex:1232275]    913	
[codex:1232275]    914	        // 3. Transfer input tokens from user to contract
[codex:1232275]    915	        if (isNative) {
[codex:1232275]    916	            // Convert native to wrapped native (e.g. ETH to WETH)
[codex:1232275]    917	            IWrappedNative(wrappedNativeTokenAddress).deposit{value: msg.value}();
[codex:1232275]    918	        } else {
[codex:1232275]    919	            IERC20(inputTokenAddress).safeTransferFrom(msg.sender, address(this), inputTokenAmount);
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Identifying TWAP usage in pump**
[codex:1232275] exec
[codex:1232275] /bin/bash -lc "nl -ba contracts/contracts/ULTI.sol | sed -n '1110,1210p'" in /tmp/codex-multi-5psf8t5f succeeded in 6ms:
[codex:1232275]   1110	     *      4. Calculates input token amount for pump:
[codex:1232275]   1111	     *         - Takes 0.00419061% of contract balance per pump
[codex:1232275]   1112	     *         - Equivalent to ~3.55% per cycle and ~33% per year
[codex:1232275]   1113	     *      5. Calculate minimum ULTI output based on user's max price
[codex:1232275]   1114	     *      6. Swaps input tokens for ULTI via Uniswap
[codex:1232275]   1115	     *      7. Burns received ULTI tokens
[codex:1232275]   1116	     *      8. Increments pump count for current cycle
[codex:1232275]   1117	     *      9. Sets next pump timestamp
[codex:1232275]   1118	     * @param maxInputTokenPerUlti The maximum amount of input token per ULTI to use for a pump
[codex:1232275]   1119	     * @param deadline The timestamp after which the transaction will revert
[codex:1232275]   1120	     * @return inputTokenToSwap The amount of input token used for the pump
[codex:1232275]   1121	     * @return ultiToBurn The amount of ULTI tokens burned in the process
[codex:1232275]   1122	     */
[codex:1232275]   1123	    function pump(uint256 maxInputTokenPerUlti, uint256 deadline)
[codex:1232275]   1124	        external
[codex:1232275]   1125	        nonReentrant
[codex:1232275]   1126	        unstoppable
[codex:1232275]   1127	        returns (uint256 inputTokenToSwap, uint256 ultiToBurn)
[codex:1232275]   1128	    {
[codex:1232275]   1129	        // 1. Validate transaction requirements
[codex:1232275] 
[codex:1232275] thinking
[codex:1232275] **Summarizing audit findings and crafting JSON report**
[codex:1232275] 
[codex:1232275] I'll compile three key findings—oracle manipulation, top contributor bug, and pre-launch pool DoS—into a structured JSON report with evidence, severity, and recommended fixes for the user’s review.
[codex:1232275] codex
[codex:1232275] {"no_findings":false,"summary":"Found 3 issues: TWAP oracle manipulation risk, top-contributor min tracking bug, and pre-launch pool DoS.","findings":[{"severity":"medium","category":"oracle","title":"TWAP from internal Uniswap pool can be manipulated to over-mint ULTI","exploit_scenario":"An attacker with sufficient capital temporarily skews the ULTI/INPUT pool price for the 18m9s window (especially when liquidity is low), then deposits input tokens. Because `_allocateDeposit` uses this TWAP without any liquidity or deviation checks, the attacker receives more ULTI than fair, inflating supply and diluting others. The same manipulated TWAP also relaxes pump slippage bounds, wasting contract reserves.","recommendation":"Add oracle hardening: enforce minimum pool liquidity, lengthen the TWAP window, add a deviation check vs. spot/anchor price, or use an external oracle (or multiple sources). Consider pausing deposits/pumps when TWAP cannot be trusted.","evidence":"`_calculateTWAP` reads price solely from the pool and `_allocateDeposit` uses it to compute `ultiForUser` with no sanity checks.","locations":["contracts/contracts/ULTI.sol:553","contracts/contracts/ULTI.sol:985","contracts/contracts/ULTI.sol:1123"]},{"severity":"low","category":"other","title":"Stale minimum contributor tracking can evict non-min contributors","exploit_scenario":"While the list is below MAX, if the current minimum contributor later increases their contribution, `minDiscountedContribution` and `minContributorAddress` are not updated. Once the list is full, any new contributor with `cycleContribution > minContribution` can trigger removal of the stale `minContributorAddress`, even if that address is no longer the true minimum, skewing bonus allocation and pump eligibility.","recommendation":"When updating an existing contributor while length < MAX, recompute minimum if the updated contributor was the minimum or if their value increases past it. Alternatively, recompute the minimum whenever the list fills or use a heap/ordered structure.","evidence":"`_updateTopContributors` updates the map under the <MAX branch but only adjusts the minimum when the new value is lower; later it uses the cached minimum to evict contributors.","locations":["contracts/contracts/ULTI.sol:1351","contracts/contracts/ULTI.sol:1355","contracts/contracts/ULTI.sol:1365"]},{"severity":"low","category":"other","title":"Launch can be blocked by pre-creating the Uniswap pool","exploit_scenario":"After deployment but before `launch`, any third party can call the Uniswap factory to create the ULTI/input pool. `_createLiquidity` then reverts with `LiquidityPoolAlreadyExists`, permanently preventing launch unless the contract is redeployed.","recommendation":"Use `createAndInitializePoolIfNecessary` (or accept an existing pool after verifying its parameters) instead of reverting when a pool already exists. Alternatively, ensure launch happens atomically from a factory.","evidence":"`_createLiquidity` explicitly reverts if a pool already exists, and `launch` depends on it.","locations":["contracts/contracts/ULTI.sol:607","contracts/contracts/ULTI.sol:616","contracts/contracts/ULTI.sol:461"]}]}
[codex:1232275] tokens used
[codex:1232275] 177,053
[codex:1232275] {"no_findings":false,"summary":"Found 3 issues: TWAP oracle manipulation risk, top-contributor min tracking bug, and pre-launch pool DoS.","findings":[{"severity":"medium","category":"oracle","title":"TWAP from internal Uniswap pool can be manipulated to over-mint ULTI","exploit_scenario":"An attacker with sufficient capital temporarily skews the ULTI/INPUT pool price for the 18m9s window (especially when liquidity is low), then deposits input tokens. Because `_allocateDeposit` uses this TWAP without any liquidity or deviation checks, the attacker receives more ULTI than fair, inflating supply and diluting others. The same manipulated TWAP also relaxes pump slippage bounds, wasting contract reserves.","recommendation":"Add oracle hardening: enforce minimum pool liquidity, lengthen the TWAP window, add a deviation check vs. spot/anchor price, or use an external oracle (or multiple sources). Consider pausing deposits/pumps when TWAP cannot be trusted.","evidence":"`_calculateTWAP` reads price solely from the pool and `_allocateDeposit` uses it to compute `ultiForUser` with no sanity checks.","locations":["contracts/contracts/ULTI.sol:553","contracts/contracts/ULTI.sol:985","contracts/contracts/ULTI.sol:1123"]},{"severity":"low","category":"other","title":"Stale minimum contributor tracking can evict non-min contributors","exploit_scenario":"While the list is below MAX, if the current minimum contributor later increases their contribution, `minDiscountedContribution` and `minContributorAddress` are not updated. Once the list is full, any new contributor with `cycleContribution > minContribution` can trigger removal of the stale `minContributorAddress`, even if that address is no longer the true minimum, skewing bonus allocation and pump eligibility.","recommendation":"When updating an existing contributor while length < MAX, recompute minimum if the updated contributor was the minimum or if their value increases past it. Alternatively, recompute the minimum whenever the list fills or use a heap/ordered structure.","evidence":"`_updateTopContributors` updates the map under the <MAX branch but only adjusts the minimum when the new value is lower; later it uses the cached minimum to evict contributors.","locations":["contracts/contracts/ULTI.sol:1351","contracts/contracts/ULTI.sol:1355","contracts/contracts/ULTI.sol:1365"]},{"severity":"low","category":"other","title":"Launch can be blocked by pre-creating the Uniswap pool","exploit_scenario":"After deployment but before `launch`, any third party can call the Uniswap factory to create the ULTI/input pool. `_createLiquidity` then reverts with `LiquidityPoolAlreadyExists`, permanently preventing launch unless the contract is redeployed.","recommendation":"Use `createAndInitializePoolIfNecessary` (or accept an existing pool after verifying its parameters) instead of reverting when a pool already exists. Alternatively, ensure launch happens atomically from a factory.","evidence":"`_createLiquidity` explicitly reverts if a pool already exists, and `launch` depends on it.","locations":["contracts/contracts/ULTI.sol:607","contracts/contracts/ULTI.sol:616","contracts/contracts/ULTI.sol:461"]}]}
Metadata
{
    "codex": {
        "ran_at": "2025-12-27T22:54:43.114654+00:00",
        "returncode": 0
    },
    "summary": "Found 3 issues: TWAP oracle manipulation risk, top-contributor min tracking bug, and pre-launch pool DoS.",
    "raw_final": {
        "summary": "Found 3 issues: TWAP oracle manipulation risk, top-contributor min tracking bug, and pre-launch pool DoS.",
        "findings": [
            {
                "title": "TWAP from internal Uniswap pool can be manipulated to over-mint ULTI",
                "category": "oracle",
                "evidence": "`_calculateTWAP` reads price solely from the pool and `_allocateDeposit` uses it to compute `ultiForUser` with no sanity checks.",
                "severity": "medium",
                "locations": [
                    "contracts/contracts/ULTI.sol:553",
                    "contracts/contracts/ULTI.sol:985",
                    "contracts/contracts/ULTI.sol:1123"
                ],
                "recommendation": "Add oracle hardening: enforce minimum pool liquidity, lengthen the TWAP window, add a deviation check vs. spot/anchor price, or use an external oracle (or multiple sources). Consider pausing deposits/pumps when TWAP cannot be trusted.",
                "exploit_scenario": "An attacker with sufficient capital temporarily skews the ULTI/INPUT pool price for the 18m9s window (especially when liquidity is low), then deposits input tokens. Because `_allocateDeposit` uses this TWAP without any liquidity or deviation checks, the attacker receives more ULTI than fair, inflating supply and diluting others. The same manipulated TWAP also relaxes pump slippage bounds, wasting contract reserves."
            },
            {
                "title": "Stale minimum contributor tracking can evict non-min contributors",
                "category": "other",
                "evidence": "`_updateTopContributors` updates the map under the <MAX branch but only adjusts the minimum when the new value is lower; later it uses the cached minimum to evict contributors.",
                "severity": "low",
                "locations": [
                    "contracts/contracts/ULTI.sol:1351",
                    "contracts/contracts/ULTI.sol:1355",
                    "contracts/contracts/ULTI.sol:1365"
                ],
                "recommendation": "When updating an existing contributor while length < MAX, recompute minimum if the updated contributor was the minimum or if their value increases past it. Alternatively, recompute the minimum whenever the list fills or use a heap/ordered structure.",
                "exploit_scenario": "While the list is below MAX, if the current minimum contributor later increases their contribution, `minDiscountedContribution` and `minContributorAddress` are not updated. Once the list is full, any new contributor with `cycleContribution > minContribution` can trigger removal of the stale `minContributorAddress`, even if that address is no longer the true minimum, skewing bonus allocation and pump eligibility."
            },
            {
                "title": "Launch can be blocked by pre-creating the Uniswap pool",
                "category": "other",
                "evidence": "`_createLiquidity` explicitly reverts if a pool already exists, and `launch` depends on it.",
                "severity": "low",
                "locations": [
                    "contracts/contracts/ULTI.sol:607",
                    "contracts/contracts/ULTI.sol:616",
                    "contracts/contracts/ULTI.sol:461"
                ],
                "recommendation": "Use `createAndInitializePoolIfNecessary` (or accept an existing pool after verifying its parameters) instead of reverting when a pool already exists. Alternatively, ensure launch happens atomically from a factory.",
                "exploit_scenario": "After deployment but before `launch`, any third party can call the Uniswap factory to create the ULTI/input pool. `_createLiquidity` then reverts with `LiquidityPoolAlreadyExists`, permanently preventing launch unless the contract is redeployed."
            }
        ],
        "no_findings": false
    },
    "no_findings": false,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
19
EXT*/BALANCE
5
Total opcodes
13505
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: DUP1
00000003: PUSH1 0x40
00000005: MSTORE
00000006: PUSH1 0x04
00000008: CALLDATASIZE
00000009: LT
0000000a: ISZERO
0000000b: PUSH2 0x0028
0000000e: JUMPI
0000000f: JUMPDEST
00000010: POP
00000011: CALLDATASIZE
00000012: ISZERO
00000013: PUSH2 0x0020
00000016: JUMPI
00000017: PUSH2 0x001e
0000001a: PUSH2 0x39b3
0000001d: JUMP
0000001e: JUMPDEST
0000001f: STOP
00000020: JUMPDEST
00000021: PUSH2 0x001e
00000024: PUSH2 0x39b3
00000027: JUMP
00000028: JUMPDEST
00000029: PUSH1 0x00
0000002b: SWAP1
0000002c: DUP2
0000002d: CALLDATALOAD
0000002e: PUSH1 0xe0
00000030: SHR
00000031: SWAP1
00000032: DUP2
00000033: PUSH3 0x1cf236
00000037: EQ
00000038: PUSH2 0x35ee
0000003b: JUMPI
0000003c: POP
0000003d: DUP1
0000003e: PUSH4 0x05ecd003
00000043: EQ
00000044: PUSH2 0x35d3
00000047: JUMPI
00000048: DUP1
00000049: PUSH4 0x06fdde03
0000004e: EQ
0000004f: PUSH2 0x3516
00000052: JUMPI
00000053: DUP1
00000054: PUSH4 0x080c279a
00000059: EQ
0000005a: PUSH2 0x34db
0000005d: JUMPI
0000005e: DUP1
0000005f: PUSH4 0x095ea7b3
00000064: EQ
00000065: PUSH2 0x3431
00000068: JUMPI
00000069: DUP1
0000006a: PUSH4 0x1296afb6
0000006f: EQ
00000070: PUSH2 0x3400
00000073: JUMPI
00000074: DUP1
00000075: PUSH4 0x18160ddd
0000007a: EQ
0000007b: PUSH2 0x33e2
0000007e: JUMPI
0000007f: DUP1
00000080: PUSH4 0x218acfd2
00000085: EQ
00000086: PUSH2 0x33ad
00000089: JUMPI
0000008a: DUP1
0000008b: PUSH4 0x2299e862
00000090: EQ
00000091: PUSH2 0x2ca6
00000094: JUMPI
00000095: DUP1
00000096: PUSH4 0x23b872dd
0000009b: EQ
0000009c: PUSH2 0x2bc6
0000009f: JUMPI
000000a0: DUP1
000000a1: PUSH4 0x24ac0a93
000000a6: EQ
000000a7: PUSH2 0x2b8d
000000aa: JUMPI
000000ab: DUP1
000000ac: PUSH4 0x2554447f
000000b1: EQ
000000b2: PUSH2 0x2b54
000000b5: JUMPI
000000b6: DUP1
000000b7: PUSH4 0x29595390
000000bc: EQ
000000bd: PUSH2 0x2b16
000000c0: JUMPI
000000c1: DUP1
000000c2: PUSH4 0x313ce567
000000c7: EQ
000000c8: PUSH2 0x2afa
000000cb: JUMPI
000000cc: DUP1
000000cd: PUSH4 0x37255977
000000d2: EQ
000000d3: PUSH2 0x2aa8
000000d6: JUMPI
000000d7: DUP1
000000d8: PUSH4 0x37bdb730
000000dd: EQ
000000de: PUSH2 0x2a58
000000e1: JUMPI
000000e2: DUP1
000000e3: PUSH4 0x39fb339e
000000e8: EQ
000000e9: PUSH2 0x294e
000000ec: JUMPI
000000ed: DUP1
000000ee: PUSH4 0x3ad863b5
000000f3: EQ
000000f4: PUSH2 0x28fe
000000f7: JUMPI
000000f8: DUP1
000000f9: PUSH4 0x3e29da71
000000fe: EQ
000000ff: PUSH2 0x28c9
00000102: JUMPI
00000103: DUP1
00000104: PUSH4 0x41161da1
00000109: EQ
0000010a: PUSH2 0x2890
0000010d: JUMPI
0000010e: DUP1
0000010f: PUSH4 0x46ef64c4
00000114: EQ
00000115: PUSH2 0x286a
00000118: JUMPI
00000119: DUP1
0000011a: PUSH4 0x48c56b97
0000011f: EQ
00000120: PUSH2 0x2846
00000123: JUMPI
00000124: DUP1
00000125: PUSH4 0x49401a3c
0000012a: EQ
0000012b: PUSH2 0x2801
0000012e: JUMPI
0000012f: DUP1
00000130: PUSH4 0x4a3b68cc
00000135: EQ
00000136: PUSH2 0x27c0
00000139: JUMPI
0000013a: DUP1
0000013b: PUSH4 0x59d7fff5
00000140: EQ
00000141: PUSH2 0x2787
00000144: JUMPI
00000145: DUP1
00000146: PUSH4 0x647d153d
0000014b: EQ
0000014c: PUSH2 0x2748
0000014f: JUMPI
00000150: DUP1
00000151: PUSH4 0x65cf7c9b
00000156: EQ
00000157: PUSH2 0x2721
0000015a: JUMPI
0000015b: DUP1
0000015c: PUSH4 0x665a11ca
00000161: EQ
00000162: PUSH2 0x26f8
00000165: JUMPI
00000166: DUP1
00000167: PUSH4 0x70a08231
0000016c: EQ
0000016d: PUSH2 0x26c0
00000170: JUMPI
00000171: DUP1
00000172: PUSH4 0x715018a6
00000177: EQ
00000178: PUSH2 0x269c
0000017b: JUMPI
0000017c: DUP1
0000017d: PUSH4 0x735de9f7
00000182: EQ
00000183: PUSH2 0x2657
00000186: JUMPI
00000187: DUP1
00000188: PUSH4 0x80ad62a2
0000018d: EQ
0000018e: PUSH2 0x261a
00000191: JUMPI
00000192: DUP1
00000193: PUSH4 0x82969bc3
00000198: EQ
00000199: PUSH2 0x24d3
0000019c: JUMPI
0000019d: DUP1
0000019e: PUSH4 0x85b12c7c
000001a3: EQ
000001a4: PUSH2 0x1eb4
000001a7: JUMPI
000001a8: DUP1
000001a9: PUSH4 0x8b996100
000001ae: EQ
000001af: PUSH2 0x1e6f
000001b2: JUMPI
000001b3: DUP1
000001b4: PUSH4 0x8bbcc07b
000001b9: EQ
000001ba: PUSH2 0x1e45
000001bd: JUMPI
000001be: DUP1
000001bf: PUSH4 0x8bdb2afa
000001c4: EQ
000001c5: PUSH2 0x1e00
000001c8: JUMPI
000001c9: DUP1
000001ca: PUSH4 0x8da5cb5b
000001cf: EQ
000001d0: PUSH2 0x1dd7
000001d3: JUMPI
000001d4: DUP1
000001d5: PUSH4 0x91eb4bd6
000001da: EQ
000001db: PUSH2 0x1db9
000001de: JUMPI
000001df: DUP1
000001e0: PUSH4 0x93b8898f
000001e5: EQ
000001e6: PUSH2 0x1d80
000001e9: JUMPI
000001ea: DUP1
000001eb: PUSH4 0x95d89b41
000001f0: EQ
000001f1: PUSH2 0x1c77
000001f4: JUMPI
000001f5: DUP1
000001f6: PUSH4 0x97d088f8
000001fb: EQ
000001fc: PUSH2 0x1a62
000001ff: JUMPI
00000200: DUP1
00000201: PUSH4 0xa7e0c604
00000206: EQ
00000207: PUSH2 0x1a0f
0000020a: JUMPI
0000020b: DUP1
0000020c: PUSH4 0xa9059cbb
00000211: EQ
00000212: PUSH2 0x19dd
00000215: JUMPI
00000216: DUP1
00000217: PUSH4 0xb30d0aa2
0000021c: EQ
0000021d: PUSH2 0x15e2
00000220: JUMPI
00000221: DUP1
00000222: PUSH4 0xb44a2722
00000227: EQ
00000228: PUSH2 0x159d
0000022b: JUMPI
0000022c: DUP1
0000022d: PUSH4 0xbe26ed7f
00000232: EQ
00000233: PUSH2 0x1582
00000236: JUMPI
00000237: DUP1
00000238: PUSH4 0xc9c44de2
0000023d: EQ
0000023e: PUSH2 0x1549
00000241: JUMPI
00000242: DUP1
00000243: PUSH4 0xcaa18928
00000248: EQ
00000249: PUSH2 0x14f6
0000024c: JUMPI
0000024d: DUP1
0000024e: PUSH4 0xd1ea4054
00000253: EQ
00000254: PUSH2 0x14bd
00000257: JUMPI
00000258: DUP1
00000259: PUSH4 0xd4611ec2
0000025e: EQ
0000025f: PUSH2 0x1482
00000262: JUMPI
00000263: DUP1
00000264: PUSH4 0xdbd5ac62
00000269: EQ
0000026a: PUSH2 0x0d84
0000026d: JUMPI
0000026e: DUP1
0000026f: PUSH4 0xdc76fabc
00000274: EQ
00000275: PUSH2 0x0ca7
00000278: JUMPI
00000279: DUP1
0000027a: PUSH4 0xdd62ed3e
0000027f: EQ
00000280: PUSH2 0x0c52
00000283: JUMPI
00000284: DUP1
00000285: PUSH4 0xe0770b3e
0000028a: EQ
0000028b: PUSH2 0x043a
0000028e: JUMPI
0000028f: DUP1
00000290: PUSH4 0xe4ec10d6
00000295: EQ
00000296: PUSH2 0x03d5
00000299: JUMPI
0000029a: DUP1
0000029b: PUSH4 0xf20eeb55
000002a0: EQ
000002a1: PUSH2 0x037e
000002a4: JUMPI
000002a5: DUP1
000002a6: PUSH4 0xf2fde38b
000002ab: EQ
000002ac: PUSH2 0x02f5
000002af: JUMPI
000002b0: PUSH4 0xf628e49f
000002b5: SUB
000002b6: PUSH2 0x000f
000002b9: JUMPI
000002ba: CALLVALUE
000002bb: PUSH2 0x02f2
000002be: JUMPI
000002bf: PUSH1 0x20
000002c1: CALLDATASIZE
000002c2: PUSH1 0x03
000002c4: NOT
000002c5: ADD
000002c6: SLT
000002c7: PUSH2 0x02f2
000002ca: JUMPI
000002cb: PUSH1 0xff
000002cd: PUSH1 0x40
000002cf: PUSH1 0x20
000002d1: SWAP3
000002d2: PUSH4 0xffffffff
000002d7: PUSH2 0x02de
000002da: PUSH2 0x3665
000002dd: JUMP
000002de: JUMPDEST
000002df: AND
000002e0: DUP2
000002e1: MSTORE
000002e2: PUSH1 0x1a
000002e4: DUP5
000002e5: MSTORE
000002e6: KECCAK256
000002e7: SLOAD
000002e8: AND
000002e9: PUSH1 0x40
000002eb: MLOAD
000002ec: SWAP1
000002ed: ISZERO
000002ee: ISZERO
000002ef: DUP2
000002f0: MSTORE
000002f1: RETURN
000002f2: JUMPDEST
000002f3: DUP1
000002f4: REVERT
000002f5: JUMPDEST
000002f6: POP
000002f7: CALLVALUE
000002f8: PUSH2 0x02f2
000002fb: JUMPI
000002fc: PUSH1 0x20
000002fe: CALLDATASIZE
000002ff: PUSH1 0x03
00000301: NOT
00000302: ADD
00000303: SLT
00000304: PUSH2 0x02f2
00000307: JUMPI
00000308: PUSH2 0x030f
0000030b: PUSH2 0x3704
0000030e: JUMP
0000030f: JUMPDEST
00000310: PUSH2 0x0317
00000313: PUSH2 0x44c8
00000316: JUMP
00000317: JUMPDEST
00000318: PUSH1 0x01
0000031a: PUSH1 0x01
0000031c: PUSH1 0xa0
0000031e: SHL
0000031f: SUB
00000320: AND
00000321: DUP1
00000322: ISZERO
00000323: PUSH2 0x036a
00000326: JUMPI
00000327: PUSH1 0x05
00000329: DUP1
0000032a: SLOAD
0000032b: PUSH1 0x01
0000032d: PUSH1 0x01
0000032f: PUSH1 0xa0
00000331: SHL
00000332: SUB
00000333: NOT
00000334: DUP2
00000335: AND
00000336: DUP4
00000337: OR
00000338: SWAP1
00000339: SWAP2
0000033a: SSTORE
0000033b: PUSH1 0x01
0000033d: PUSH1 0x01
0000033f: PUSH1 0xa0
00000341: SHL
00000342: SUB
00000343: AND
00000344: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00000365: DUP4
00000366: DUP1
00000367: LOG3
00000368: DUP1
00000369: RETURN
0000036a: JUMPDEST
0000036b: PUSH4 0x1e4fbdf7
00000370: PUSH1 0xe0
00000372: SHL
00000373: DUP3
00000374: MSTORE
00000375: PUSH1 0x04
00000377: DUP3
00000378: SWAP1
00000379: MSTORE
0000037a: PUSH1 0x24
0000037c: DUP3
0000037d: REVERT
0000037e: JUMPDEST
0000037f: POP
00000380: CALLVALUE
00000381: PUSH2 0x02f2
00000384: JUMPI
00000385: PUSH1 0x40
00000387: CALLDATASIZE
00000388: PUSH1 0x03
0000038a: NOT
0000038b: ADD
0000038c: SLT
0000038d: PUSH2 0x02f2
00000390: JUMPI
00000391: PUSH1 0x40
00000393: PUSH2 0x039a
00000396: PUSH2 0x3665
00000399: JUMP
0000039a: JUMPDEST
0000039b: SWAP2
0000039c: PUSH4 0xffffffff
000003a1: PUSH2 0x03a8
000003a4: PUSH2 0x371a
000003a7: JUMP
000003a8: JUMPDEST
000003a9: SWAP4
000003aa: AND
000003ab: DUP2
000003ac: MSTORE
000003ad: PUSH1 0x1c
000003af: PUSH1 0x20
000003b1: MSTORE
000003b2: KECCAK256
000003b3: SWAP1
000003b4: PUSH1 0x01
000003b6: DUP1
000003b7: PUSH1 0xa0
000003b9: SHL
000003ba: SUB
000003bb: AND
000003bc: PUSH1 0x00
000003be: MSTORE
000003bf: PUSH1 0x20
000003c1: MSTORE
000003c2: PUSH1 0x20
000003c4: PUSH2 0xffff
000003c7: PUSH1 0x40
000003c9: PUSH1 0x00
000003cb: KECCAK256
000003cc: SLOAD
000003cd: AND
000003ce: PUSH1 0x40
000003d0: MLOAD
000003d1: SWAP1
000003d2: DUP2
000003d3: MSTORE
000003d4: RETURN
000003d5: JUMPDEST
000003d6: POP
000003d7: CALLVALUE
000003d8: PUSH2 0x02f2
000003db: JUMPI
000003dc: PUSH1 0x40
000003de: CALLDATASIZE
000003df: PUSH1 0x03
000003e1: NOT
000003e2: ADD
000003e3: SLT
000003e4: PUSH2 0x02f2
000003e7: JUMPI
000003e8: PUSH2 0x0430
000003eb: PUSH1 0x20
000003ed: SWAP2
000003ee: PUSH1 0x40
000003f0: PUSH2 0x03f7
000003f3: PUSH2 0x3665
000003f6: JUMP
000003f7: JUMPDEST
000003f8: SWAP2
000003f9: PUSH4 0xffffffff
000003fe: PUSH2 0x0405
00000401: PUSH2 0x371a
00000404: JUMP
00000405: JUMPDEST
00000406: SWAP4
00000407: AND
00000408: DUP2
00000409: MSTORE
0000040a: PUSH1 0x16
0000040c: DUP6
0000040d: MSTORE
0000040e: KECCAK256
0000040f: PUSH1 0x01
00000411: PUSH1 0x01
00000413: PUSH1 0xa0
00000415: SHL
00000416: SUB
00000417: SWAP1
00000418: SWAP2
00000419: AND
0000041a: PUSH1 0x00
0000041c: SWAP1
0000041d: DUP2
0000041e: MSTORE
0000041f: PUSH1 0x01
00000421: SWAP1
00000422: SWAP2
00000423: ADD
00000424: PUSH1 0x20
00000426: MSTORE
00000427: PUSH1 0x40
00000429: SWAP1
0000042a: KECCAK256
0000042b: SLOAD
0000042c: ISZERO
0000042d: ISZERO
0000042e: SWAP1
0000042f: JUMP
00000430: JUMPDEST
00000431: PUSH1 0x40
00000433: MLOAD
00000434: SWAP1
00000435: ISZERO
00000436: ISZERO
00000437: DUP2
00000438: MSTORE
00000439: RETURN
0000043a: JUMPDEST
0000043b: POP
0000043c: PUSH1 0x80
0000043e: CALLDATASIZE
0000043f: PUSH1 0x03
00000441: NOT
00000442: ADD
00000443: SLT
00000444: PUSH2 0x02f2
00000447: JUMPI
00000448: PUSH2 0x044f
0000044b: PUSH2 0x3704
0000044e: JUMP
0000044f: JUMPDEST
00000450: PUSH1 0x44
00000452: CALLDATALOAD
00000453: SWAP1
00000454: PUSH1 0x64
00000456: CALLDATALOAD
00000457: DUP1
00000458: ISZERO
00000459: ISZERO
0000045a: DUP2
0000045b: SUB
0000045c: PUSH2 0x0c4e
0000045f: JUMPI
00000460: PUSH2 0x0467
00000463: PUSH2 0x4141
00000466: JUMP
00000467: JUMPDEST
00000468: PUSH1 0x08
0000046a: SLOAD
0000046b: ISZERO
0000046c: PUSH2 0x0c3f
0000046f: JUMPI
00000470: PUSH1 0x01
00000472: PUSH1 0x01
00000474: PUSH1 0xa0
00000476: SHL
00000477: SUB
00000478: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000499: DUP2
0000049a: AND
0000049b: SWAP4
0000049c: SWAP1
0000049d: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000004be: AND
000004bf: DUP5
000004c0: SWAP1
000004c1: SUB
000004c2: PUSH2 0x0c30
000004c5: JUMPI
000004c6: PUSH32 0x000000000000000000000000000000000000000000000000000000e8d4a51000
000004e7: CALLVALUE
000004e8: LT
000004e9: PUSH2 0x0c21
000004ec: JUMPI
000004ed: PUSH1 0x01
000004ef: PUSH1 0x01
000004f1: PUSH1 0xa0
000004f3: SHL
000004f4: SUB
000004f5: DUP4
000004f6: AND
000004f7: SWAP4
000004f8: CALLER
000004f9: DUP6
000004fa: EQ
000004fb: PUSH2 0x0c12
000004fe: JUMPI
000004ff: DUP5
00000500: DUP7
00000501: MSTORE
00000502: PUSH1 0x0d
00000504: PUSH1 0x20
00000506: MSTORE
00000507: PUSH1 0x40
00000509: DUP7
0000050a: KECCAK256
0000050b: SLOAD
0000050c: PUSH1 0x01
0000050e: PUSH1 0x01
00000510: PUSH1 0xa0
00000512: SHL
00000513: SUB
00000514: AND
00000515: CALLER
00000516: EQ
00000517: PUSH2 0x0c03
0000051a: JUMPI
0000051b: DUP2
0000051c: TIMESTAMP
0000051d: GT
0000051e: PUSH2 0x0bf4
00000521: JUMPI
00000522: CALLER
00000523: DUP7
00000524: MSTORE
00000525: PUSH1 0x0c
00000527: PUSH1 0x20
00000529: MSTORE
0000052a: PUSH1 0x40
0000052c: DUP7
0000052d: KECCAK256
0000052e: SLOAD
0000052f: TIMESTAMP
00000530: LT
00000531: PUSH2 0x0be6
00000534: JUMPI
00000535: DUP6
00000536: SWAP1
00000537: DUP2
00000538: SWAP4
00000539: DUP1
0000053a: PUSH2 0x0bd1
0000053d: JUMPI
0000053e: JUMPDEST
0000053f: PUSH2 0x0bbd
00000542: JUMPI
00000543: JUMPDEST
00000544: DUP1
00000545: EXTCODESIZE
00000546: ISZERO
00000547: PUSH2 0x0bb9
0000054a: JUMPI
0000054b: DUP2
0000054c: PUSH1 0x04
0000054e: SWAP2
0000054f: PUSH1 0x40
00000551: MLOAD
00000552: SWAP3
00000553: DUP4
00000554: DUP1
00000555: SWAP3
00000556: PUSH4 0x0d0e30db
0000055b: PUSH1 0xe4
0000055d: SHL
0000055e: DUP3
0000055f: MSTORE
00000560: CALLVALUE
00000561: SWAP1
00000562: GAS
00000563: CALL
00000564: DUP1
00000565: ISZERO
00000566: PUSH2 0x0bae
00000569: JUMPI
0000056a: PUSH2 0x0b95
0000056d: JUMPI
0000056e: JUMPDEST
0000056f: POP
00000570: POP
00000571: PUSH2 0x0578
00000574: PUSH2 0x3a54
00000577: JUMP
00000578: JUMPDEST
00000579: SWAP2
0000057a: PUSH1 0x01
0000057c: PUSH1 0x01
0000057e: PUSH1 0x40
00000580: SHL
00000581: SUB
00000582: PUSH1 0x09
00000584: SLOAD
00000585: AND
00000586: PUSH3 0x015180
0000058a: DUP2
0000058b: ADD
0000058c: DUP1
0000058d: SWAP2
0000058e: GT
0000058f: PUSH2 0x0b81
00000592: JUMPI
00000593: TIMESTAMP
00000594: LT
00000595: ISZERO
00000596: PUSH2 0x0b55
00000599: JUMPI
0000059a: PUSH2 0x05c3
0000059d: PUSH32 0x0000000000000000000000000000000000000000000000000000000000050910
000005be: CALLVALUE
000005bf: PUSH2 0x3895
000005c2: JUMP
000005c3: JUMPDEST
000005c4: SWAP4
000005c5: JUMPDEST
000005c6: PUSH1 0x24
000005c8: CALLDATALOAD
000005c9: DUP6
000005ca: LT
000005cb: PUSH2 0x0b46
000005ce: JUMPI
000005cf: PUSH1 0x03
000005d1: CALLVALUE
000005d2: MUL
000005d3: CALLVALUE
000005d4: DUP2
000005d5: DIV
000005d6: PUSH1 0x03
000005d8: EQ
000005d9: CALLVALUE
000005da: ISZERO
000005db: OR
000005dc: ISZERO
000005dd: PUSH2 0x0b32
000005e0: JUMPI
000005e1: PUSH1 0x64
000005e3: SWAP1
000005e4: DIV
000005e5: SWAP4
000005e6: DUP5
000005e7: PUSH8 0x0de0b6b3a7640000
000005f0: MUL
000005f1: PUSH8 0x0de0b6b3a7640000
000005fa: DUP2
000005fb: DIV
000005fc: DUP7
000005fd: SUB
000005fe: PUSH2 0x0b1e
00000601: JUMPI
00000602: SWAP1
00000603: PUSH2 0x060b
00000606: SWAP2
00000607: PUSH2 0x37b8
0000060a: JUMP
0000060b: JUMPDEST
0000060c: SWAP3
0000060d: DUP5
0000060e: ISZERO
0000060f: PUSH2 0x0b0f
00000612: JUMPI
00000613: DUP4
00000614: ISZERO
00000615: PUSH2 0x0afd
00000618: JUMPI
00000619: PUSH2 0x0622
0000061c: DUP5
0000061d: ADDRESS
0000061e: PUSH2 0x42cf
00000621: JUMP
00000622: JUMPDEST
00000623: PUSH2 0x2710
00000626: PUSH2 0x062e
00000629: DUP6
0000062a: PUSH2 0x387d
0000062d: JUMP
0000062e: JUMPDEST
0000062f: DIV
00000630: SWAP1
00000631: PUSH2 0x2710
00000634: PUSH2 0x063c
00000637: DUP8
00000638: PUSH2 0x387d
0000063b: JUMP
0000063c: JUMPDEST
0000063d: DIV
0000063e: SWAP2
0000063f: DUP10
00000640: PUSH1 0x08
00000642: SLOAD
00000643: SWAP4
00000644: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00000665: SWAP1
00000666: DUP2
00000667: PUSH1 0x00
00000669: EQ
0000066a: PUSH2 0x0af6
0000066d: JUMPI
0000066e: DUP9
0000066f: SWAP4
00000670: JUMPDEST
00000671: DUP3
00000672: ISZERO
00000673: PUSH2 0x0aef
00000676: JUMPI
00000677: DUP11
00000678: SWAP3
00000679: JUMPDEST
0000067a: DUP1
0000067b: ISZERO
0000067c: PUSH2 0x0ae8
0000067f: JUMPI
00000680: DUP2
00000681: SWAP5
00000682: JUMPDEST
00000683: POP
00000684: ISZERO
00000685: PUSH2 0x0ae0
00000688: JUMPI
00000689: POP
0000068a: SWAP3
0000068b: JUMPDEST
0000068c: PUSH1 0x40
0000068e: MLOAD
0000068f: SWAP6
00000690: PUSH2 0x0698
00000693: DUP8
00000694: PUSH2 0x3730
00000697: JUMP
00000698: JUMPDEST
00000699: DUP7
0000069a: MSTORE
0000069b: PUSH1 0x20
0000069d: DUP7
0000069e: ADD
0000069f: SWAP1
000006a0: DUP2
000006a1: MSTORE
000006a2: PUSH1 0x40
000006a4: DUP7
000006a5: ADD
000006a6: SWAP2
000006a7: DUP3
000006a8: MSTORE
000006a9: PUSH1 0x60
000006ab: DUP7
000006ac: ADD
000006ad: SWAP3
000006ae: DUP4
000006af: MSTORE
000006b0: PUSH1 0x80
000006b2: DUP7
000006b3: ADD
000006b4: SWAP4
000006b5: DUP5
000006b6: MSTORE
000006b7: PUSH1 0xa0
000006b9: DUP7
000006ba: ADD
000006bb: SWAP5
000006bc: DUP6
000006bd: MSTORE
000006be: PUSH1 0x40
000006c0: MLOAD
000006c1: SWAP6
000006c2: PUSH4 0x219f5d17
000006c7: PUSH1 0xe0
000006c9: SHL
000006ca: DUP8
000006cb: MSTORE
000006cc: MLOAD
000006cd: PUSH1 0x04
000006cf: DUP8
000006d0: ADD
000006d1: MSTORE
000006d2: MLOAD
000006d3: PUSH1 0x24
000006d5: DUP7
000006d6: ADD
000006d7: MSTORE
000006d8: MLOAD
000006d9: PUSH1 0x44
000006db: DUP6
000006dc: ADD
000006dd: MSTORE
000006de: MLOAD
000006df: PUSH1 0x64
000006e1: DUP5
000006e2: ADD
000006e3: MSTORE
000006e4: MLOAD
000006e5: PUSH1 0x84
000006e7: DUP4
000006e8: ADD
000006e9: MSTORE
000006ea: MLOAD
000006eb: PUSH1 0xa4
000006ed: DUP3
000006ee: ADD
000006ef: MSTORE
000006f0: PUSH1 0x60
000006f2: DUP2
000006f3: PUSH1 0xc4
000006f5: DUP2
000006f6: DUP12
000006f7: PUSH1 0x01
000006f9: DUP1
000006fa: PUSH1 0xa0
000006fc: SHL
000006fd: SUB
000006fe: PUSH32 0x000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe88
0000071f: AND
00000720: GAS
00000721: CALL
00000722: PUSH2 0x0aa3
00000725: JUMPI
00000726: JUMPDEST
00000727: POP
00000728: CALLER
00000729: DUP8
0000072a: MSTORE
0000072b: PUSH1 0x0a
0000072d: PUSH1 0x20
0000072f: MSTORE
00000730: PUSH1 0x40
00000732: DUP8
00000733: KECCAK256
00000734: PUSH2 0x073e
00000737: DUP7
00000738: DUP3
00000739: SLOAD
0000073a: PUSH2 0x379e
0000073d: JUMP
0000073e: JUMPDEST
0000073f: SWAP1
00000740: SSTORE
00000741: PUSH2 0x0748
00000744: PUSH2 0x396f
00000747: JUMP
00000748: JUMPDEST
00000749: SWAP5
0000074a: PUSH2 0x0755
0000074d: DUP7
0000074e: DUP3
0000074f: CALLVALUE
00000750: CALLER
00000751: PUSH2 0x49cf
00000754: JUMP
00000755: JUMPDEST
00000756: SWAP1
00000757: PUSH2 0x0760
0000075a: DUP2
0000075b: DUP5
0000075c: PUSH2 0x379e
0000075f: JUMP
00000760: JUMPDEST
00000761: SWAP3
00000762: CALLER
00000763: DUP12
00000764: MSTORE
00000765: PUSH1 0x0f
00000767: PUSH1 0x20
00000769: MSTORE
0000076a: PUSH1 0x40
0000076c: DUP12
0000076d: KECCAK256
0000076e: PUSH2 0x0778
00000771: DUP6
00000772: DUP3
00000773: SLOAD
00000774: PUSH2 0x379e
00000777: JUMP
00000778: JUMPDEST
00000779: SWAP1
0000077a: SSTORE
0000077b: CALLER
0000077c: DUP12
0000077d: MSTORE
0000077e: PUSH1 0x0d
00000780: PUSH1 0x20
00000782: MSTORE
00000783: PUSH1 0x40
00000785: DUP12
00000786: KECCAK256
00000787: SLOAD
00000788: DUP12
00000789: SWAP6
0000078a: DUP7
0000078b: SWAP6
0000078c: SWAP2
0000078d: PUSH1 0x01
0000078f: PUSH1 0x01
00000791: PUSH1 0xa0
00000793: SHL
00000794: SUB
00000795: AND
00000796: ISZERO
00000797: PUSH2 0x0a9d
0000079a: JUMPI
0000079b: POP
0000079c: CALLER
0000079d: DUP13
0000079e: MSTORE
0000079f: PUSH1 0x0d
000007a1: PUSH1 0x20
000007a3: MSTORE
000007a4: PUSH1 0x40
000007a6: DUP13
000007a7: KECCAK256
000007a8: SLOAD
000007a9: PUSH1 0x01
000007ab: PUSH1 0x01
000007ad: PUSH1 0xa0
000007af: SHL
000007b0: SUB
000007b1: AND
000007b2: SWAP11
000007b3: JUMPDEST
000007b4: CALLER
000007b5: DUP14
000007b6: MSTORE
000007b7: PUSH1 0x0d
000007b9: PUSH1 0x20
000007bb: MSTORE
000007bc: PUSH1 0x40
000007be: DUP14
000007bf: KECCAK256
000007c0: SLOAD
000007c1: PUSH1 0x01
000007c3: PUSH1 0x01
000007c5: PUSH1 0xa0
000007c7: SHL
000007c8: SUB
000007c9: AND
000007ca: ISZERO
000007cb: DUP1
000007cc: PUSH2 0x0a94
000007cf: JUMPI
000007d0: JUMPDEST
000007d1: PUSH2 0x0a71
000007d4: JUMPI
000007d5: JUMPDEST
000007d6: POP
000007d7: PUSH1 0x01
000007d9: PUSH1 0x01
000007db: PUSH1 0xa0
000007dd: SHL
000007de: SUB
000007df: DUP12
000007e0: AND
000007e1: SWAP11
000007e2: DUP12
000007e3: PUSH2 0x08cd
000007e6: JUMPI
000007e7: JUMPDEST
000007e8: POP
000007e9: PUSH2 0x07f4
000007ec: SWAP1
000007ed: CALLVALUE
000007ee: CALLER
000007ef: DUP13
000007f0: PUSH2 0x4c55
000007f3: JUMP
000007f4: JUMPDEST
000007f5: SWAP7
000007f6: PUSH3 0x015180
000007fa: TIMESTAMP
000007fb: ADD
000007fc: DUP1
000007fd: TIMESTAMP
000007fe: GT
000007ff: PUSH2 0x08b9
00000802: JUMPI
00000803: CALLER
00000804: DUP14
00000805: MSTORE
00000806: PUSH1 0x0c
00000808: PUSH1 0x20
0000080a: MSTORE
0000080b: PUSH1 0x40
0000080d: DUP14
0000080e: KECCAK256
0000080f: SSTORE
00000810: CALLER
00000811: DUP13
00000812: MSTORE
00000813: PUSH1 0x0e
00000815: PUSH1 0x20
00000817: MSTORE
00000818: PUSH1 0x40
0000081a: DUP13
0000081b: KECCAK256
0000081c: SLOAD
0000081d: ISZERO
0000081e: PUSH2 0x089a
00000821: JUMPI
00000822: JUMPDEST
00000823: SWAP1
00000824: PUSH4 0xffffffff
00000829: SWAP4
0000082a: SWAP3
0000082b: SWAP2
0000082c: PUSH1 0x40
0000082e: MLOAD
0000082f: SWAP10
00000830: CALLVALUE
00000831: DUP12
00000832: MSTORE
00000833: PUSH1 0x20
00000835: DUP12
00000836: ADD
00000837: MSTORE
00000838: PUSH1 0x40
0000083a: DUP11
0000083b: ADD
0000083c: MSTORE
0000083d: PUSH1 0x60
0000083f: DUP10
00000840: ADD
00000841: MSTORE
00000842: PUSH1 0x80
00000844: DUP9
00000845: ADD
00000846: MSTORE
00000847: AND
00000848: PUSH1 0xa0
0000084a: DUP7
0000084b: ADD
0000084c: MSTORE
0000084d: PUSH1 0xc0
0000084f: DUP6
00000850: ADD
00000851: MSTORE
00000852: PUSH1 0xe0
00000854: DUP5
00000855: ADD
00000856: MSTORE
00000857: ISZERO
00000858: ISZERO
00000859: PUSH2 0x0100
0000085c: DUP4
0000085d: ADD
0000085e: MSTORE
0000085f: PUSH2 0x0120
00000862: DUP3
00000863: ADD
00000864: MSTORE
00000865: PUSH32 0x907a4953eafd8d897ea997ad9bfa21da6e8cfbebaa112f8644d5d0820168f94d
00000886: PUSH2 0x0140
00000889: PUSH4 0xffffffff
0000088e: CALLER
0000088f: SWAP5
00000890: AND
00000891: SWAP3
00000892: LOG4
00000893: PUSH1 0x01
00000895: PUSH1 0x06
00000897: SSTORE
00000898: DUP1
00000899: RETURN
0000089a: JUMPDEST
0000089b: PUSH3 0x828480
0000089f: TIMESTAMP
000008a0: ADD
000008a1: DUP1
000008a2: TIMESTAMP
000008a3: GT
000008a4: PUSH2 0x08b9
000008a7: JUMPI
000008a8: CALLER
000008a9: DUP14
000008aa: MSTORE
000008ab: PUSH1 0x0e
000008ad: PUSH1 0x20
000008af: MSTORE
000008b0: PUSH1 0x40
000008b2: DUP14
000008b3: KECCAK256
000008b4: SSTORE
000008b5: PUSH2 0x0822
000008b8: JUMP
000008b9: JUMPDEST
000008ba: PUSH4 0x4e487b71
000008bf: PUSH1 0xe0
000008c1: SHL
000008c2: DUP14
000008c3: MSTORE
000008c4: PUSH1 0x11
000008c6: PUSH1 0x04
000008c8: MSTORE
000008c9: PUSH1 0x24
000008cb: DUP14
000008cc: REVERT
000008cd: JUMPDEST
000008ce: SWAP1
000008cf: SWAP2
000008d0: SWAP3
000008d1: SWAP4
000008d2: SWAP5
000008d3: POP
000008d4: PUSH4 0x05f5e100
000008d9: PUSH2 0x08f0
000008dc: PUSH4 0xffffffff
000008e1: PUSH2 0x08e9
000008e4: DUP14
000008e5: PUSH2 0x433e
000008e8: JUMP
000008e9: JUMPDEST
000008ea: AND
000008eb: DUP5
000008ec: PUSH2 0x3895
000008ef: JUMP
000008f0: JUMPDEST
000008f1: DIV
000008f2: DUP12
000008f3: DUP14
000008f4: MSTORE
000008f5: PUSH1 0x0f
000008f7: PUSH1 0x20
000008f9: MSTORE
000008fa: PUSH1 0x40
000008fc: DUP14
000008fd: KECCAK256
000008fe: SLOAD
000008ff: PUSH1 0x0a
00000901: DUP2
00000902: MUL
00000903: SWAP1
00000904: DUP1
00000905: DUP3
00000906: DIV
00000907: PUSH1 0x0a
00000909: EQ
0000090a: SWAP1
0000090b: ISZERO
0000090c: OR
0000090d: ISZERO
0000090e: PUSH2 0x0a5d
00000911: JUMPI
00000912: DUP14
00000913: SWAP7
00000914: SWAP6
00000915: SWAP5
00000916: SWAP4
00000917: SWAP3
00000918: SWAP2
00000919: DUP14
0000091a: SWAP2
0000091b: DUP3
0000091c: DUP10
0000091d: MSTORE
0000091e: PUSH1 0x10
00000920: PUSH1 0x20
00000922: MSTORE
00000923: PUSH1 0x40
00000925: DUP10
00000926: KECCAK256
00000927: SLOAD
00000928: DUP2
00000929: GT
0000092a: PUSH1 0x00
0000092c: EQ
0000092d: PUSH2 0x0a55
00000930: JUMPI
00000931: DUP3
00000932: DUP10
00000933: MSTORE
00000934: PUSH1 0x10
00000936: PUSH1 0x20
00000938: MSTORE
00000939: PUSH1 0x40
0000093b: DUP10
0000093c: KECCAK256
0000093d: SLOAD
0000093e: PUSH2 0x0946
00000941: SWAP2
00000942: PUSH2 0x37ab
00000945: JUMP
00000946: JUMPDEST
00000947: SWAP1
00000948: JUMPDEST
00000949: DUP2
0000094a: DUP2
0000094b: GT
0000094c: ISZERO
0000094d: PUSH2 0x0a4d
00000950: JUMPI
00000951: POP
00000952: SWAP2
00000953: JUMPDEST
00000954: DUP13
00000955: DUP4
00000956: SWAP9
00000957: DUP5
00000958: ISZERO
00000959: SWAP4
0000095a: DUP5
0000095b: ISZERO
0000095c: PUSH2 0x096a
0000095f: JUMPI
00000960: JUMPDEST
00000961: POP
00000962: POP
00000963: POP
00000964: POP
00000965: POP
00000966: PUSH2 0x07e7
00000969: JUMP
0000096a: JUMPDEST
0000096b: DUP6
0000096c: SWAP7
0000096d: SWAP12
0000096e: POP
0000096f: DUP1
00000970: DUP3
00000971: SWAP7
00000972: SWAP5
00000973: SWAP6
00000974: SWAP7
00000975: MSTORE
00000976: PUSH1 0x0e
00000978: PUSH1 0x20
0000097a: MSTORE
0000097b: PUSH1 0x40
0000097d: DUP3
0000097e: KECCAK256
0000097f: SLOAD
00000980: ISZERO
00000981: PUSH2 0x0a12
00000984: JUMPI
00000985: JUMPDEST
00000986: DUP2
00000987: DUP2
00000988: PUSH1 0x40
0000098a: SWAP3
0000098b: PUSH2 0x09c1
0000098e: SWAP8
0000098f: SWAP5
00000990: MSTORE
00000991: PUSH1 0x0b
00000993: PUSH1 0x20
00000995: MSTORE
00000996: DUP3
00000997: DUP3
00000998: KECCAK256
00000999: PUSH2 0x09a3
0000099c: DUP8
0000099d: DUP3
0000099e: SLOAD
0000099f: PUSH2 0x379e
000009a2: JUMP
000009a3: JUMPDEST
000009a4: SWAP1
000009a5: SSTORE
000009a6: DUP2
000009a7: MSTORE
000009a8: PUSH1 0x10
000009aa: PUSH1 0x20
000009ac: MSTORE
000009ad: KECCAK256
000009ae: PUSH2 0x09b8
000009b1: DUP5
000009b2: DUP3
000009b3: SLOAD
000009b4: PUSH2 0x379e
000009b7: JUMP
000009b8: JUMPDEST
000009b9: SWAP1
000009ba: SSTORE
000009bb: CALLVALUE
000009bc: SWAP2
000009bd: PUSH2 0x4b3f
000009c0: JUMP
000009c1: JUMPDEST
000009c2: POP
000009c3: PUSH1 0x21
000009c5: DUP3
000009c6: MUL
000009c7: SWAP2
000009c8: DUP3
000009c9: DIV
000009ca: PUSH1 0x21
000009cc: EQ
000009cd: OR
000009ce: ISZERO
000009cf: PUSH2 0x09fe
000009d2: JUMPI
000009d3: PUSH1 0x64
000009d5: PUSH2 0x07f4
000009d8: SWAP2
000009d9: DIV
000009da: SWAP6
000009db: CALLER
000009dc: DUP14
000009dd: MSTORE
000009de: PUSH1 0x0b
000009e0: PUSH1 0x20
000009e2: MSTORE
000009e3: PUSH1 0x40
000009e5: DUP14
000009e6: KECCAK256
000009e7: PUSH2 0x09f1
000009ea: DUP9
000009eb: DUP3
000009ec: SLOAD
000009ed: PUSH2 0x379e
000009f0: JUMP
000009f1: JUMPDEST
000009f2: SWAP1
000009f3: SSTORE
000009f4: SWAP1
000009f5: CODESIZE
000009f6: DUP1
000009f7: DUP13
000009f8: DUP16
000009f9: DUP16
000009fa: PUSH2 0x0960
000009fd: JUMP
000009fe: JUMPDEST
000009ff: PUSH4 0x4e487b71
00000a04: PUSH1 0xe0
00000a06: SHL
00000a07: DUP13
00000a08: MSTORE
00000a09: PUSH1 0x11
00000a0b: PUSH1 0x04
00000a0d: MSTORE
00000a0e: PUSH1 0x24
00000a10: DUP13
00000a11: REVERT
00000a12: JUMPDEST
00000a13: POP
00000a14: POP
00000a15: POP
00000a16: POP
00000a17: PUSH3 0x828480
00000a1b: TIMESTAMP
00000a1c: ADD
00000a1d: DUP1
00000a1e: TIMESTAMP
00000a1f: GT
00000a20: PUSH2 0x0a39
00000a23: JUMPI
00000a24: DUP14
00000a25: DUP16
00000a26: MSTORE
00000a27: PUSH1 0x0e
00000a29: PUSH1 0x20
00000a2b: MSTORE
00000a2c: PUSH1 0x40
00000a2e: DUP16
00000a2f: KECCAK256
00000a30: SSTORE
00000a31: DUP3
00000a32: DUP13
00000a33: DUP16
00000a34: DUP16
00000a35: PUSH2 0x0985
00000a38: JUMP
00000a39: JUMPDEST
00000a3a: PUSH4 0x4e487b71
00000a3f: PUSH1 0xe0
00000a41: SHL
00000a42: DUP16
00000a43: MSTORE
00000a44: PUSH1 0x11
00000a46: PUSH1 0x04
00000a48: MSTORE
00000a49: PUSH1 0x24
00000a4b: DUP16
00000a4c: REVERT
00000a4d: JUMPDEST
00000a4e: SWAP1
00000a4f: POP
00000a50: SWAP2
00000a51: PUSH2 0x0953
00000a54: JUMP
00000a55: JUMPDEST
00000a56: POP
00000a57: DUP8
00000a58: SWAP1
00000a59: PUSH2 0x0948
00000a5c: JUMP
00000a5d: JUMPDEST
00000a5e: PUSH4 0x4e487b71
00000a63: PUSH1 0xe0
00000a65: SHL
00000a66: DUP15
00000a67: MSTORE
00000a68: PUSH1 0x11
00000a6a: PUSH1 0x04
00000a6c: MSTORE
00000a6d: PUSH1 0x24
00000a6f: DUP15
00000a70: REVERT
00000a71: JUMPDEST
00000a72: CALLER
00000a73: DUP14
00000a74: MSTORE
00000a75: PUSH1 0x0d
00000a77: PUSH1 0x20
00000a79: MSTORE
00000a7a: PUSH1 0x40
00000a7c: DUP14
00000a7d: KECCAK256
00000a7e: DUP1
00000a7f: SLOAD
00000a80: PUSH1 0x01
00000a82: PUSH1 0x01
00000a84: PUSH1 0xa0
00000a86: SHL
00000a87: SUB
00000a88: NOT
00000a89: AND
00000a8a: SWAP1
00000a8b: SWAP2
00000a8c: OR
00000a8d: SWAP1
00000a8e: SSTORE
00000a8f: CODESIZE
00000a90: PUSH2 0x07d5
00000a93: JUMP
00000a94: JUMPDEST
00000a95: POP
00000a96: DUP1
00000a97: ISZERO
00000a98: ISZERO
00000a99: PUSH2 0x07d0
00000a9c: JUMP
00000a9d: JUMPDEST
00000a9e: SWAP11
00000a9f: PUSH2 0x07b3
00000aa2: JUMP
00000aa3: JUMPDEST
00000aa4: PUSH1 0x60
00000aa6: DUP2
00000aa7: RETURNDATASIZE
00000aa8: PUSH1 0x60
00000aaa: GT
00000aab: PUSH2 0x0ad8
00000aae: JUMPI
00000aaf: JUMPDEST
00000ab0: DUP2
00000ab1: PUSH2 0x0abc
00000ab4: PUSH1 0x60
00000ab6: SWAP4
00000ab7: DUP4
00000ab8: PUSH2 0x377d
00000abb: JUMP
00000abc: JUMPDEST
00000abd: DUP2
00000abe: ADD
00000abf: SUB
00000ac0: SLT
00000ac1: PUSH2 0x0ad4
00000ac4: JUMPI
00000ac5: PUSH2 0x0acd
00000ac8: SWAP1
00000ac9: PUSH2 0x38ca
00000acc: JUMP
00000acd: JUMPDEST
00000ace: POP
00000acf: CODESIZE
00000ad0: PUSH2 0x0726
00000ad3: JUMP
00000ad4: JUMPDEST
00000ad5: DUP8
00000ad6: DUP1
00000ad7: REVERT
00000ad8: JUMPDEST
00000ad9: RETURNDATASIZE
00000ada: SWAP2
00000adb: POP
00000adc: PUSH2 0x0aaf
00000adf: JUMP
00000ae0: JUMPDEST
00000ae1: SWAP1
00000ae2: POP
00000ae3: SWAP3
00000ae4: PUSH2 0x068b
00000ae7: JUMP
00000ae8: JUMPDEST
00000ae9: DUP3
00000aea: SWAP5
00000aeb: PUSH2 0x0682
00000aee: JUMP
00000aef: JUMPDEST
00000af0: DUP10
00000af1: SWAP3
00000af2: PUSH2 0x0679
00000af5: JUMP
00000af6: JUMPDEST
00000af7: DUP10
00000af8: SWAP4
00000af9: PUSH2 0x0670
00000afc: JUMP
00000afd: JUMPDEST
00000afe: PUSH1 0x01
00000b00: PUSH3 0x292fd7
00000b04: PUSH1 0xe1
00000b06: SHL
00000b07: SUB
00000b08: NOT
00000b09: DUP9
00000b0a: MSTORE
00000b0b: PUSH1 0x04
00000b0d: DUP9
00000b0e: REVERT
00000b0f: JUMPDEST
00000b10: PUSH4 0x0531ac17
00000b15: PUSH1 0xe1
00000b17: SHL
00000b18: DUP9
00000b19: MSTORE
00000b1a: PUSH1 0x04
00000b1c: DUP9
00000b1d: REVERT
00000b1e: JUMPDEST
00000b1f: PUSH4 0x4e487b71
00000b24: PUSH1 0xe0
00000b26: SHL
00000b27: DUP10
00000b28: MSTORE
00000b29: PUSH1 0x11
00000b2b: PUSH1 0x04
00000b2d: MSTORE
00000b2e: PUSH1 0x24
00000b30: DUP10
00000b31: REVERT
00000b32: JUMPDEST
00000b33: PUSH4 0x4e487b71
00000b38: PUSH1 0xe0
00000b3a: SHL
00000b3b: DUP9
00000b3c: MSTORE
00000b3d: PUSH1 0x11
00000b3f: PUSH1 0x04
00000b41: MSTORE
00000b42: PUSH1 0x24
00000b44: DUP9
00000b45: REVERT
00000b46: JUMPDEST
00000b47: PUSH4 0xb9c5901b
00000b4c: PUSH1 0xe0
00000b4e: SHL
00000b4f: DUP8
00000b50: MSTORE
00000b51: PUSH1 0x04
00000b53: DUP8
00000b54: REVERT
00000b55: JUMPDEST
00000b56: CALLVALUE
00000b57: PUSH8 0x0de0b6b3a7640000
00000b60: MUL
00000b61: PUSH8 0x0de0b6b3a7640000
00000b6a: DUP2
00000b6b: DIV
00000b6c: CALLVALUE
00000b6d: SUB
00000b6e: PUSH2 0x0b81
00000b71: JUMPI
00000b72: DUP4
00000b73: PUSH2 0x0b7b
00000b76: SWAP2
00000b77: PUSH2 0x37b8
00000b7a: JUMP
00000b7b: JUMPDEST
00000b7c: SWAP4
00000b7d: PUSH2 0x05c5
00000b80: JUMP
00000b81: JUMPDEST
00000b82: PUSH4 0x4e487b71
00000b87: PUSH1 0xe0
00000b89: SHL
00000b8a: DUP8
00000b8b: MSTORE
00000b8c: PUSH1 0x11
00000b8e: PUSH1 0x04
00000b90: MSTORE
00000b91: PUSH1 0x24
00000b93: DUP8
00000b94: REVERT
00000b95: JUMPDEST
00000b96: DUP2
00000b97: PUSH2 0x0b9f
00000b9a: SWAP2
00000b9b: PUSH2 0x377d
00000b9e: JUMP
00000b9f: JUMPDEST
00000ba0: PUSH2 0x0baa
00000ba3: JUMPI
00000ba4: DUP5
00000ba5: CODESIZE
00000ba6: PUSH2 0x056e
00000ba9: JUMP
00000baa: JUMPDEST
00000bab: DUP5
00000bac: DUP1
00000bad: REVERT
00000bae: JUMPDEST
00000baf: PUSH1 0x40
00000bb1: MLOAD
00000bb2: RETURNDATASIZE
00000bb3: DUP5
00000bb4: DUP3
00000bb5: RETURNDATACOPY
00000bb6: RETURNDATASIZE
00000bb7: SWAP1
00000bb8: REVERT
00000bb9: JUMPDEST
00000bba: POP
00000bbb: DUP1
00000bbc: REVERT
00000bbd: JUMPDEST
00000bbe: SWAP3
00000bbf: POP
00000bc0: POP
00000bc1: PUSH2 0x0bc8
00000bc4: PUSH2 0x4163
00000bc7: JUMP
00000bc8: JUMPDEST
00000bc9: DUP5
00000bca: PUSH1 0x01
00000bcc: SWAP3
00000bcd: PUSH2 0x0543
00000bd0: JUMP
00000bd1: JUMPDEST
00000bd2: POP
00000bd3: CALLER
00000bd4: DUP3
00000bd5: MSTORE
00000bd6: PUSH1 0x0a
00000bd8: PUSH1 0x20
00000bda: MSTORE
00000bdb: PUSH1 0x40
00000bdd: DUP3
00000bde: KECCAK256
00000bdf: SLOAD
00000be0: ISZERO
00000be1: ISZERO
00000be2: PUSH2 0x053e
00000be5: JUMP
00000be6: JUMPDEST
00000be7: PUSH3 0x2ddbdd
00000beb: PUSH1 0xe5
00000bed: SHL
00000bee: DUP7
00000bef: MSTORE
00000bf0: PUSH1 0x04
00000bf2: DUP7
00000bf3: REVERT
00000bf4: JUMPDEST
00000bf5: PUSH4 0x80040f8d
00000bfa: PUSH1 0xe0
00000bfc: SHL
00000bfd: DUP7
00000bfe: MSTORE
00000bff: PUSH1 0x04
00000c01: DUP7
00000c02: REVERT
00000c03: JUMPDEST
00000c04: PUSH4 0x3eb1c491
00000c09: PUSH1 0xe2
00000c0b: SHL
00000c0c: DUP7
00000c0d: MSTORE
00000c0e: PUSH1 0x04
00000c10: DUP7
00000c11: REVERT
00000c12: JUMPDEST
00000c13: PUSH4 0x5f4ccded
00000c18: PUSH1 0xe1
00000c1a: SHL
00000c1b: DUP7
00000c1c: MSTORE
00000c1d: PUSH1 0x04
00000c1f: DUP7
00000c20: REVERT
00000c21: JUMPDEST
00000c22: PUSH4 0x1210e847
00000c27: PUSH1 0xe0
00000c29: SHL
00000c2a: DUP6
00000c2b: MSTORE
00000c2c: PUSH1 0x04
00000c2e: DUP6
00000c2f: REVERT
00000c30: JUMPDEST
00000c31: PUSH4 0x052dd2e7
00000c36: PUSH1 0xe4
00000c38: SHL
00000c39: DUP6
00000c3a: MSTORE
00000c3b: PUSH1 0x04
00000c3d: DUP6
00000c3e: REVERT
00000c3f: JUMPDEST
00000c40: PUSH4 0xb806e7fd
00000c45: PUSH1 0xe0
00000c47: SHL
00000c48: DUP5
00000c49: MSTORE
00000c4a: PUSH1 0x04
00000c4c: DUP5
00000c4d: REVERT
00000c4e: JUMPDEST
00000c4f: DUP4
00000c50: DUP1
00000c51: REVERT
00000c52: JUMPDEST
00000c53: POP
00000c54: CALLVALUE
00000c55: PUSH2 0x02f2
00000c58: JUMPI
00000c59: PUSH1 0x40
00000c5b: CALLDATASIZE
00000c5c: PUSH1 0x03
00000c5e: NOT
00000c5f: ADD
00000c60: SLT
00000c61: PUSH2 0x02f2
00000c64: JUMPI
00000c65: PUSH1 0x40
00000c67: PUSH2 0x0c6e
00000c6a: PUSH2 0x3704
00000c6d: JUMP
00000c6e: JUMPDEST
00000c6f: SWAP2
00000c70: PUSH2 0x0c77
00000c73: PUSH2 0x371a
00000c76: JUMP
00000c77: JUMPDEST
00000c78: SWAP3
00000c79: PUSH1 0x01
00000c7b: DUP1
00000c7c: PUSH1 0xa0
00000c7e: SHL
00000c7f: SUB
00000c80: AND
00000c81: DUP2
00000c82: MSTORE
00000c83: PUSH1 0x01
00000c85: PUSH1 0x20
00000c87: MSTORE
00000c88: KECCAK256
00000c89: SWAP1
00000c8a: PUSH1 0x01
00000c8c: DUP1
00000c8d: PUSH1 0xa0
00000c8f: SHL
00000c90: SUB
00000c91: AND
00000c92: PUSH1 0x00
00000c94: MSTORE
00000c95: PUSH1 0x20
00000c97: MSTORE
00000c98: PUSH1 0x20
00000c9a: PUSH1 0x40
00000c9c: PUSH1 0x00
00000c9e: KECCAK256
00000c9f: SLOAD
00000ca0: PUSH1 0x40
00000ca2: MLOAD
00000ca3: SWAP1
00000ca4: DUP2
00000ca5: MSTORE
00000ca6: RETURN
00000ca7: JUMPDEST
00000ca8: POP
00000ca9: CALLVALUE
00000caa: PUSH2 0x02f2
00000cad: JUMPI
00000cae: DUP1
00000caf: PUSH1 0x03
00000cb1: NOT
00000cb2: CALLDATASIZE
00000cb3: ADD
00000cb4: SLT
00000cb5: PUSH2 0x02f2
00000cb8: JUMPI
00000cb9: PUSH1 0x07
00000cbb: SLOAD
00000cbc: PUSH1 0x40
00000cbe: MLOAD
00000cbf: PUSH4 0x3850c7bd
00000cc4: PUSH1 0xe0
00000cc6: SHL
00000cc7: DUP2
00000cc8: MSTORE
00000cc9: SWAP1
00000cca: PUSH1 0xe0
00000ccc: SWAP1
00000ccd: DUP3
00000cce: SWAP1
00000ccf: PUSH1 0x04
00000cd1: SWAP1
00000cd2: DUP3
00000cd3: SWAP1
00000cd4: PUSH1 0x01
00000cd6: PUSH1 0x01
00000cd8: PUSH1 0xa0
00000cda: SHL
00000cdb: SUB
00000cdc: AND
00000cdd: GAS
00000cde: STATICCALL
00000cdf: SWAP1
00000ce0: DUP2
00000ce1: ISZERO
00000ce2: PUSH2 0x0bae
00000ce5: JUMPI
00000ce6: PUSH1 0x20
00000ce8: SWAP3
00000ce9: SWAP2
00000cea: PUSH2 0x0d4f
00000ced: JUMPI
00000cee: JUMPDEST
00000cef: POP
00000cf0: PUSH1 0x01
00000cf2: PUSH1 0x01
00000cf4: PUSH1 0xa0
00000cf6: SHL
00000cf7: SUB
00000cf8: AND
00000cf9: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00000d1a: ISZERO
00000d1b: PUSH2 0x0d38
00000d1e: JUMPI
00000d1f: PUSH2 0x0d2b
00000d22: DUP2
00000d23: PUSH2 0x0d30
00000d26: SWAP3
00000d27: PUSH2 0x4f7d
00000d2a: JUMP
00000d2b: JUMPDEST
00000d2c: PUSH2 0x4fdd
00000d2f: JUMP
00000d30: JUMPDEST
00000d31: PUSH1 0x40
00000d33: MLOAD
00000d34: SWAP1
00000d35: DUP2
00000d36: MSTORE
00000d37: RETURN
00000d38: JUMPDEST
00000d39: DUP1
00000d3a: PUSH2 0x0d45
00000d3d: PUSH2 0x0d4a
00000d40: SWAP3
00000d41: PUSH2 0x4ebe
00000d44: JUMP
00000d45: JUMPDEST
00000d46: PUSH2 0x4ed2
00000d49: JUMP
00000d4a: JUMPDEST
00000d4b: PUSH2 0x0d30
00000d4e: JUMP
00000d4f: JUMPDEST
00000d50: PUSH2 0x0d71
00000d53: SWAP2
00000d54: POP
00000d55: PUSH1 0xe0
00000d57: RETURNDATASIZE
00000d58: PUSH1 0xe0
00000d5a: GT
00000d5b: PUSH2 0x0d7d
00000d5e: JUMPI
00000d5f: JUMPDEST
00000d60: PUSH2 0x0d69
00000d63: DUP2
00000d64: DUP4
00000d65: PUSH2 0x377d
00000d68: JUMP
00000d69: JUMPDEST
00000d6a: DUP2
00000d6b: ADD
00000d6c: SWAP1
00000d6d: PUSH2 0x38ed
00000d70: JUMP
00000d71: JUMPDEST
00000d72: POP
00000d73: POP
00000d74: POP
00000d75: POP
00000d76: POP
00000d77: POP
00000d78: CODESIZE
00000d79: PUSH2 0x0cee
00000d7c: JUMP
00000d7d: JUMPDEST
00000d7e: POP
00000d7f: RETURNDATASIZE
00000d80: PUSH2 0x0d5f
00000d83: JUMP
00000d84: JUMPDEST
00000d85: POP
00000d86: CALLVALUE
00000d87: PUSH2 0x02f2
00000d8a: JUMPI
00000d8b: PUSH1 0x40
00000d8d: CALLDATASIZE
00000d8e: PUSH1 0x03
00000d90: NOT
00000d91: ADD
00000d92: SLT
00000d93: PUSH2 0x02f2
00000d96: JUMPI
00000d97: PUSH1 0x24
00000d99: CALLDATALOAD
00000d9a: PUSH2 0x0da1
00000d9d: PUSH2 0x4141
00000da0: JUMP
00000da1: JUMPDEST
00000da2: PUSH1 0x08
00000da4: SLOAD
00000da5: ISZERO
00000da6: PUSH2 0x1473
00000da9: JUMPI
00000daa: DUP1
00000dab: TIMESTAMP
00000dac: GT
00000dad: PUSH2 0x1464
00000db0: JUMPI
00000db1: PUSH1 0x01
00000db3: PUSH1 0x01
00000db5: PUSH1 0x40
00000db7: SHL
00000db8: SUB
00000db9: PUSH1 0x09
00000dbb: SLOAD
00000dbc: PUSH1 0x40
00000dbe: SHR
00000dbf: AND
00000dc0: TIMESTAMP
00000dc1: LT
00000dc2: PUSH2 0x1455
00000dc5: JUMPI
00000dc6: PUSH2 0x0dcd
00000dc9: PUSH2 0x396f
00000dcc: JUMP
00000dcd: JUMPDEST
00000dce: PUSH4 0xffffffff
00000dd3: DUP2
00000dd4: AND
00000dd5: SWAP1
00000dd6: DUP2
00000dd7: DUP5
00000dd8: MSTORE
00000dd9: PUSH1 0x16
00000ddb: PUSH1 0x20
00000ddd: MSTORE
00000dde: PUSH2 0x0dfb
00000de1: PUSH1 0x40
00000de3: DUP6
00000de4: KECCAK256
00000de5: CALLER
00000de6: SWAP1
00000de7: PUSH1 0x01
00000de9: SWAP2
00000dea: PUSH1 0x00
00000dec: MSTORE
00000ded: ADD
00000dee: PUSH1 0x20
00000df0: MSTORE
00000df1: PUSH1 0x40
00000df3: PUSH1 0x00
00000df5: KECCAK256
00000df6: SLOAD
00000df7: ISZERO
00000df8: ISZERO
00000df9: SWAP1
00000dfa: JUMP
00000dfb: JUMPDEST
00000dfc: ISZERO
00000dfd: PUSH2 0x1446
00000e00: JUMPI
00000e01: DUP2
00000e02: DUP5
00000e03: MSTORE
00000e04: PUSH1 0x1c
00000e06: PUSH1 0x20
00000e08: MSTORE
00000e09: PUSH1 0x40
00000e0b: DUP5
00000e0c: KECCAK256
00000e0d: PUSH1 0x01
00000e0f: DUP1
00000e10: PUSH1 0xa0
00000e12: SHL
00000e13: SUB
00000e14: CALLER
00000e15: AND
00000e16: PUSH1 0x00
00000e18: MSTORE
00000e19: PUSH1 0x20
00000e1b: MSTORE
00000e1c: PUSH1 0x21
00000e1e: PUSH2 0xffff
00000e21: PUSH1 0x40
00000e23: PUSH1 0x00
00000e25: KECCAK256
00000e26: SLOAD
00000e27: AND
00000e28: LT
00000e29: ISZERO
00000e2a: PUSH2 0x1437
00000e2d: JUMPI
00000e2e: PUSH1 0x01
00000e30: DUP3
00000e31: GT
00000e32: DUP1
00000e33: PUSH2 0x1412
00000e36: JUMPI
00000e37: JUMPDEST
00000e38: PUSH2 0x11fd
00000e3b: JUMPI
00000e3c: JUMPDEST
00000e3d: POP
00000e3e: PUSH2 0x0e45
00000e41: PUSH2 0x3a54
00000e44: JUMP
00000e45: JUMPDEST
00000e46: PUSH1 0x40
00000e48: MLOAD
00000e49: PUSH4 0x70a08231
00000e4e: PUSH1 0xe0
00000e50: SHL
00000e51: DUP2
00000e52: MSTORE
00000e53: ADDRESS
00000e54: PUSH1 0x04
00000e56: DUP3
00000e57: ADD
00000e58: MSTORE
00000e59: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00000e7a: PUSH1 0x01
00000e7c: PUSH1 0x01
00000e7e: PUSH1 0xa0
00000e80: SHL
00000e81: SUB
00000e82: AND
00000e83: SWAP3
00000e84: SWAP1
00000e85: PUSH1 0x20
00000e87: DUP2
00000e88: PUSH1 0x24
00000e8a: DUP2
00000e8b: DUP8
00000e8c: GAS
00000e8d: STATICCALL
00000e8e: SWAP1
00000e8f: DUP2
00000e90: ISZERO
00000e91: PUSH2 0x1172
00000e94: JUMPI
00000e95: DUP7
00000e96: SWAP2
00000e97: PUSH2 0x11cb
00000e9a: JUMPI
00000e9b: JUMPDEST
00000e9c: POP
00000e9d: PUSH3 0x0664f5
00000ea1: DUP2
00000ea2: MUL
00000ea3: SWAP1
00000ea4: DUP1
00000ea5: DUP3
00000ea6: DIV
00000ea7: PUSH3 0x0664f5
00000eab: EQ
00000eac: SWAP1
00000ead: ISZERO
00000eae: OR
00000eaf: ISZERO
00000eb0: PUSH2 0x11b7
00000eb3: JUMPI
00000eb4: PUSH5 0x02540be400
00000eba: SWAP1
00000ebb: DIV
00000ebc: SWAP4
00000ebd: PUSH8 0x0de0b6b3a7640000
00000ec6: DUP6
00000ec7: MUL
00000ec8: DUP6
00000ec9: ISZERO
00000eca: SWAP1
00000ecb: DUP7
00000ecc: DUP2
00000ecd: DIV
00000ece: PUSH8 0x0de0b6b3a7640000
00000ed7: EQ
00000ed8: DUP3
00000ed9: OR
00000eda: ISZERO
00000edb: PUSH2 0x0b32
00000ede: JUMPI
00000edf: PUSH2 0x0eea
00000ee2: PUSH1 0x04
00000ee4: CALLDATALOAD
00000ee5: DUP3
00000ee6: PUSH2 0x37b8
00000ee9: JUMP
00000eea: JUMPDEST
00000eeb: SWAP2
00000eec: PUSH2 0x11a8
00000eef: JUMPI
00000ef0: DUP2
00000ef1: ISZERO
00000ef2: PUSH2 0x1199
00000ef5: JUMPI
00000ef6: DUP5
00000ef7: PUSH2 0x0eff
00000efa: SWAP2
00000efb: PUSH2 0x37b8
00000efe: JUMP
00000eff: JUMPDEST
00000f00: PUSH2 0x268c
00000f03: DUP2
00000f04: MUL
00000f05: SWAP1
00000f06: DUP1
00000f07: DUP3
00000f08: DIV
00000f09: PUSH2 0x268c
00000f0c: EQ
00000f0d: SWAP1
00000f0e: ISZERO
00000f0f: OR
00000f10: ISZERO
00000f11: PUSH2 0x0b32
00000f14: JUMPI
00000f15: PUSH2 0x2710
00000f18: SWAP1
00000f19: DIV
00000f1a: DUP1
00000f1b: DUP3
00000f1c: GT
00000f1d: ISZERO
00000f1e: PUSH2 0x1191
00000f21: JUMPI
00000f22: POP
00000f23: SWAP1
00000f24: JUMPDEST
00000f25: PUSH1 0x40
00000f27: MLOAD
00000f28: SWAP5
00000f29: PUSH2 0x0100
00000f2c: DUP7
00000f2d: ADD
00000f2e: DUP7
00000f2f: DUP2
00000f30: LT
00000f31: PUSH1 0x01
00000f33: PUSH1 0x01
00000f35: PUSH1 0x40
00000f37: SHL
00000f38: SUB
00000f39: DUP3
00000f3a: GT
00000f3b: OR
00000f3c: PUSH2 0x117d
00000f3f: JUMPI
00000f40: PUSH1 0x40
00000f42: SWAP1
00000f43: DUP2
00000f44: MSTORE
00000f45: SWAP1
00000f46: DUP7
00000f47: MSTORE
00000f48: ADDRESS
00000f49: PUSH1 0x20
00000f4b: DUP1
00000f4c: DUP9
00000f4d: ADD
00000f4e: SWAP2
00000f4f: DUP3
00000f50: MSTORE
00000f51: PUSH2 0x2710
00000f54: DUP9
00000f55: DUP5
00000f56: ADD
00000f57: SWAP1
00000f58: DUP2
00000f59: MSTORE
00000f5a: CALLER
00000f5b: PUSH1 0x60
00000f5d: DUP11
00000f5e: ADD
00000f5f: SWAP1
00000f60: DUP2
00000f61: MSTORE
00000f62: PUSH1 0x80
00000f64: DUP11
00000f65: ADD
00000f66: SWAP6
00000f67: DUP7
00000f68: MSTORE
00000f69: PUSH1 0xa0
00000f6b: DUP11
00000f6c: ADD
00000f6d: DUP12
00000f6e: DUP2
00000f6f: MSTORE
00000f70: PUSH1 0xc0
00000f72: DUP12
00000f73: ADD
00000f74: DUP9
00000f75: DUP2
00000f76: MSTORE
00000f77: PUSH1 0xe0
00000f79: DUP13
00000f7a: ADD
00000f7b: DUP15
00000f7c: DUP2
00000f7d: MSTORE
00000f7e: SWAP7
00000f7f: MLOAD
00000f80: PUSH4 0x414bf389
00000f85: PUSH1 0xe0
00000f87: SHL
00000f88: DUP2
00000f89: MSTORE
00000f8a: SWAP12
00000f8b: MLOAD
00000f8c: PUSH1 0x01
00000f8e: PUSH1 0x01
00000f90: PUSH1 0xa0
00000f92: SHL
00000f93: SUB
00000f94: SWAP1
00000f95: DUP2
00000f96: AND
00000f97: PUSH1 0x04
00000f99: DUP15
00000f9a: ADD
00000f9b: MSTORE
00000f9c: SWAP6
00000f9d: MLOAD
00000f9e: DUP7
00000f9f: AND
00000fa0: PUSH1 0x24
00000fa2: DUP14
00000fa3: ADD
00000fa4: MSTORE
00000fa5: SWAP3
00000fa6: MLOAD
00000fa7: PUSH3 0xffffff
00000fab: AND
00000fac: PUSH1 0x44
00000fae: DUP13
00000faf: ADD
00000fb0: MSTORE
00000fb1: SWAP1
00000fb2: MLOAD
00000fb3: DUP5
00000fb4: AND
00000fb5: PUSH1 0x64
00000fb7: DUP12
00000fb8: ADD
00000fb9: MSTORE
00000fba: SWAP5
00000fbb: MLOAD
00000fbc: PUSH1 0x84
00000fbe: DUP11
00000fbf: ADD
00000fc0: MSTORE
00000fc1: SWAP4
00000fc2: MLOAD
00000fc3: PUSH1 0xa4
00000fc5: DUP10
00000fc6: ADD
00000fc7: MSTORE
00000fc8: SWAP3
00000fc9: MLOAD
00000fca: PUSH1 0xc4
00000fcc: DUP9
00000fcd: ADD
00000fce: MSTORE
00000fcf: SWAP1
00000fd0: MLOAD
00000fd1: DUP2
00000fd2: AND
00000fd3: PUSH1 0xe4
00000fd5: DUP8
00000fd6: ADD
00000fd7: MSTORE
00000fd8: DUP6
00000fd9: SWAP1
00000fda: PUSH2 0x0104
00000fdd: SWAP1
00000fde: DUP3
00000fdf: SWAP1
00000fe0: DUP11
00000fe1: SWAP1
00000fe2: PUSH32 0x000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564
00001003: AND
00001004: GAS
00001005: CALL
00001006: SWAP4
00001007: DUP5
00001008: ISZERO
00001009: PUSH2 0x1172
0000100c: JUMPI
0000100d: DUP7
0000100e: SWAP5
0000100f: PUSH2 0x1139
00001012: JUMPI
00001013: JUMPDEST
00001014: POP
00001015: DUP4
00001016: LT
00001017: PUSH2 0x112a
0000101a: JUMPI
0000101b: PUSH2 0x1024
0000101e: DUP4
0000101f: CALLER
00001020: PUSH2 0x494e
00001023: JUMP
00001024: JUMPDEST
00001025: DUP1
00001026: DUP6
00001027: MSTORE
00001028: PUSH1 0x1b
0000102a: PUSH1 0x20
0000102c: MSTORE
0000102d: PUSH2 0x1039
00001030: CALLER
00001031: PUSH1 0x40
00001033: DUP8
00001034: KECCAK256
00001035: PUSH2 0x5426
00001038: JUMP
00001039: JUMPDEST
0000103a: POP
0000103b: DUP1
0000103c: DUP6
0000103d: MSTORE
0000103e: PUSH1 0x1c
00001040: PUSH1 0x20
00001042: MSTORE
00001043: PUSH1 0x40
00001045: DUP6
00001046: KECCAK256
00001047: PUSH1 0x01
00001049: DUP1
0000104a: PUSH1 0xa0
0000104c: SHL
0000104d: SUB
0000104e: CALLER
0000104f: AND
00001050: PUSH1 0x00
00001052: MSTORE
00001053: PUSH1 0x20
00001055: MSTORE
00001056: PUSH1 0x40
00001058: PUSH1 0x00
0000105a: KECCAK256
0000105b: DUP1
0000105c: SLOAD
0000105d: PUSH2 0xffff
00001060: PUSH1 0x01
00001062: DUP2
00001063: DUP4
00001064: AND
00001065: ADD
00001066: AND
00001067: SWAP1
00001068: PUSH2 0xffff
0000106b: NOT
0000106c: AND
0000106d: OR
0000106e: SWAP1
0000106f: SSTORE
00001070: PUSH2 0x0ce4
00001073: TIMESTAMP
00001074: ADD
00001075: DUP1
00001076: TIMESTAMP
00001077: GT
00001078: PUSH2 0x1114
0000107b: JUMPI
0000107c: PUSH1 0x40
0000107e: SWAP6
0000107f: DUP7
00001080: SWAP2
00001081: PUSH8 0xffffffffffffffff
0000108a: PUSH1 0x40
0000108c: SHL
0000108d: PUSH1 0x09
0000108f: SLOAD
00001090: SWAP2
00001091: DUP5
00001092: SHL
00001093: AND
00001094: SWAP1
00001095: PUSH8 0xffffffffffffffff
0000109e: PUSH1 0x40
000010a0: SHL
000010a1: NOT
000010a2: AND
000010a3: OR
000010a4: PUSH1 0x09
000010a6: SSTORE
000010a7: DUP3
000010a8: DUP2
000010a9: MSTORE
000010aa: PUSH1 0x1c
000010ac: PUSH1 0x20
000010ae: MSTORE
000010af: KECCAK256
000010b0: PUSH1 0x01
000010b2: DUP1
000010b3: PUSH1 0xa0
000010b5: SHL
000010b6: SUB
000010b7: CALLER
000010b8: AND
000010b9: PUSH1 0x00
000010bb: MSTORE
000010bc: PUSH1 0x20
000010be: MSTORE
000010bf: PUSH2 0xffff
000010c2: DUP6
000010c3: PUSH1 0x00
000010c5: KECCAK256
000010c6: SLOAD
000010c7: AND
000010c8: SWAP2
000010c9: DUP6
000010ca: MLOAD
000010cb: SWAP3
000010cc: DUP6
000010cd: DUP5
000010ce: MSTORE
000010cf: DUP5
000010d0: PUSH1 0x20
000010d2: DUP6
000010d3: ADD
000010d4: MSTORE
000010d5: DUP7
000010d6: DUP5
000010d7: ADD
000010d8: MSTORE
000010d9: PUSH1 0x60
000010db: DUP4
000010dc: ADD
000010dd: MSTORE
000010de: PUSH32 0xef77962ab378257316a9b3549cbb270fce18ce65180332939e21bda117ed1492
000010ff: PUSH1 0x80
00001101: CALLER
00001102: SWAP4
00001103: LOG3
00001104: PUSH1 0x01
00001106: PUSH1 0x06
00001108: SSTORE
00001109: DUP3
0000110a: MLOAD
0000110b: SWAP2
0000110c: DUP3
0000110d: MSTORE
0000110e: PUSH1 0x20
00001110: DUP3
00001111: ADD
00001112: MSTORE
00001113: RETURN
00001114: JUMPDEST
00001115: PUSH4 0x4e487b71
0000111a: PUSH1 0xe0
0000111c: SHL
0000111d: PUSH1 0x00
0000111f: MSTORE
00001120: PUSH1 0x11
00001122: PUSH1 0x04
00001124: MSTORE
00001125: PUSH1 0x24
00001127: PUSH1 0x00
00001129: REVERT
0000112a: JUMPDEST
0000112b: PUSH4 0x3aee2ed9
00001130: PUSH1 0xe2
00001132: SHL
00001133: DUP6
00001134: MSTORE
00001135: PUSH1 0x04
00001137: DUP6
00001138: REVERT
00001139: JUMPDEST
0000113a: SWAP1
0000113b: SWAP4
0000113c: POP
0000113d: PUSH1 0x20
0000113f: DUP2
00001140: RETURNDATASIZE
00001141: PUSH1 0x20
00001143: GT
00001144: PUSH2 0x116a
00001147: JUMPI
00001148: JUMPDEST
00001149: DUP2
0000114a: PUSH2 0x1155
0000114d: PUSH1 0x20
0000114f: SWAP4
00001150: DUP4
00001151: PUSH2 0x377d
00001154: JUMP
00001155: JUMPDEST
00001156: DUP2
00001157: ADD
00001158: SUB
00001159: SLT
0000115a: PUSH2 0x1165
0000115d: JUMPI
0000115e: MLOAD
0000115f: SWAP3
00001160: CODESIZE
00001161: PUSH2 0x1013
00001164: JUMP
00001165: JUMPDEST
00001166: PUSH1 0x00
00001168: DUP1
00001169: REVERT
0000116a: JUMPDEST
0000116b: RETURNDATASIZE
0000116c: SWAP2
0000116d: POP
0000116e: PUSH2 0x1148
00001171: JUMP
00001172: JUMPDEST
00001173: PUSH1 0x40
00001175: MLOAD
00001176: RETURNDATASIZE
00001177: DUP9
00001178: DUP3
00001179: RETURNDATACOPY
0000117a: RETURNDATASIZE
0000117b: SWAP1
0000117c: REVERT
0000117d: JUMPDEST
0000117e: PUSH4 0x4e487b71
00001183: PUSH1 0xe0
00001185: SHL
00001186: DUP10
00001187: MSTORE
00001188: PUSH1 0x41
0000118a: PUSH1 0x04
0000118c: MSTORE
0000118d: PUSH1 0x24
0000118f: DUP10
00001190: REVERT
00001191: JUMPDEST
00001192: SWAP1
00001193: POP
00001194: SWAP1
00001195: PUSH2 0x0f24
00001198: JUMP
00001199: JUMPDEST
0000119a: PUSH4 0x8abef0a5
0000119f: PUSH1 0xe0
000011a1: SHL
000011a2: DUP9
000011a3: MSTORE
000011a4: PUSH1 0x04
000011a6: DUP9
000011a7: REVERT
000011a8: JUMPDEST
000011a9: PUSH4 0x3ff4ef43
000011ae: PUSH1 0xe0
000011b0: SHL
000011b1: DUP9
000011b2: MSTORE
000011b3: PUSH1 0x04
000011b5: DUP9
000011b6: REVERT
000011b7: JUMPDEST
000011b8: PUSH4 0x4e487b71
000011bd: PUSH1 0xe0
000011bf: SHL
000011c0: DUP7
000011c1: MSTORE
000011c2: PUSH1 0x11
000011c4: PUSH1 0x04
000011c6: MSTORE
000011c7: PUSH1 0x24
000011c9: DUP7
000011ca: REVERT
000011cb: JUMPDEST
000011cc: SWAP1
000011cd: POP
000011ce: PUSH1 0x20
000011d0: DUP2
000011d1: RETURNDATASIZE
000011d2: PUSH1 0x20
000011d4: GT
000011d5: PUSH2 0x11f5
000011d8: JUMPI
000011d9: JUMPDEST
000011da: DUP2
000011db: PUSH2 0x11e6
000011de: PUSH1 0x20
000011e0: SWAP4
000011e1: DUP4
000011e2: PUSH2 0x377d
000011e5: JUMP
000011e6: JUMPDEST
000011e7: DUP2
000011e8: ADD
000011e9: SUB
000011ea: SLT
000011eb: PUSH2 0x1165
000011ee: JUMPI
000011ef: MLOAD
000011f0: CODESIZE
000011f1: PUSH2 0x0e9b
000011f4: JUMP
000011f5: JUMPDEST
000011f6: RETURNDATASIZE
000011f7: SWAP2
000011f8: POP
000011f9: PUSH2 0x11d9
000011fc: JUMP
000011fd: JUMPDEST
000011fe: PUSH2 0x1209
00001201: PUSH2 0x120e
00001204: SWAP2
00001205: PUSH2 0x399a
00001208: JUMP
00001209: JUMPDEST
0000120a: PUSH2 0x47ad
0000120d: JUMP
0000120e: JUMPDEST
0000120f: PUSH1 0x08
00001211: SLOAD
00001212: PUSH1 0x40
00001214: MLOAD
00001215: SWAP1
00001216: PUSH1 0x80
00001218: DUP3
00001219: ADD
0000121a: DUP3
0000121b: DUP2
0000121c: LT
0000121d: PUSH1 0x01
0000121f: PUSH1 0x01
00001221: PUSH1 0x40
00001223: SHL
00001224: SUB
00001225: DUP3
00001226: GT
00001227: OR
00001228: PUSH2 0x13fe
0000122b: JUMPI
0000122c: PUSH1 0x40
0000122e: SWAP1
0000122f: DUP2
00001230: MSTORE
00001231: SWAP1
00001232: DUP3
00001233: MSTORE
00001234: ADDRESS
00001235: PUSH1 0x20
00001237: DUP4
00001238: ADD
00001239: SWAP1
0000123a: DUP2
0000123b: MSTORE
0000123c: PUSH1 0x01
0000123e: PUSH1 0x01
00001240: PUSH1 0x80
00001242: SHL
00001243: SUB
00001244: DUP4
00001245: DUP4
00001246: ADD
00001247: DUP2
00001248: DUP2
00001249: MSTORE
0000124a: PUSH1 0x60
0000124c: DUP6
0000124d: ADD
0000124e: DUP3
0000124f: DUP2
00001250: MSTORE
00001251: DUP5
00001252: MLOAD
00001253: PUSH4 0xfc6f7865
00001258: PUSH1 0xe0
0000125a: SHL
0000125b: DUP2
0000125c: MSTORE
0000125d: SWAP6
0000125e: MLOAD
0000125f: PUSH1 0x04
00001261: DUP8
00001262: ADD
00001263: MSTORE
00001264: SWAP3
00001265: MLOAD
00001266: PUSH1 0x01
00001268: PUSH1 0x01
0000126a: PUSH1 0xa0
0000126c: SHL
0000126d: SUB
0000126e: SWAP1
0000126f: DUP2
00001270: AND
00001271: PUSH1 0x24
00001273: DUP8
00001274: ADD
00001275: MSTORE
00001276: SWAP1
00001277: MLOAD
00001278: DUP3
00001279: AND
0000127a: PUSH1 0x44
0000127c: DUP7
0000127d: ADD
0000127e: MSTORE
0000127f: SWAP2
00001280: MLOAD
00001281: AND
00001282: PUSH1 0x64
00001284: DUP5
00001285: ADD
00001286: MSTORE
00001287: DUP3
00001288: SWAP1
00001289: PUSH1 0x84
0000128b: SWAP1
0000128c: DUP3
0000128d: SWAP1
0000128e: DUP9
0000128f: SWAP1
00001290: PUSH32 0x000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe88
000012b1: AND
000012b2: GAS
000012b3: CALL
000012b4: DUP1
000012b5: ISZERO
000012b6: PUSH2 0x13f3
000012b9: JUMPI
000012ba: DUP5
000012bb: SWAP2
000012bc: DUP6
000012bd: SWAP2
000012be: PUSH2 0x13ba
000012c1: JUMPI
000012c2: JUMPDEST
000012c3: POP
000012c4: DUP5
000012c5: SWAP1
000012c6: DUP6
000012c7: SWAP3
000012c8: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
000012e9: PUSH1 0x00
000012eb: EQ
000012ec: PUSH2 0x1362
000012ef: JUMPI
000012f0: DUP1
000012f1: PUSH2 0x1339
000012f4: JUMPI
000012f5: JUMPDEST
000012f6: POP
000012f7: PUSH1 0x00
000012f9: DUP1
000012fa: MLOAD
000012fb: PUSH1 0x20
000012fd: PUSH2 0x558c
00001300: DUP4
00001301: CODECOPY
00001302: DUP2
00001303: MLOAD
00001304: SWAP2
00001305: MSTORE
00001306: SWAP2
00001307: DUP2
00001308: PUSH1 0x40
0000130a: SWAP3
0000130b: PUSH2 0x1331
0000130e: JUMPI
0000130f: JUMPDEST
00001310: POP
00001311: JUMPDEST
00001312: PUSH4 0xffffffff
00001317: PUSH2 0x131e
0000131a: PUSH2 0x396f
0000131d: JUMP
0000131e: JUMPDEST
0000131f: AND
00001320: SWAP4
00001321: DUP3
00001322: MLOAD
00001323: SWAP2
00001324: DUP3
00001325: MSTORE
00001326: PUSH1 0x20
00001328: DUP3
00001329: ADD
0000132a: MSTORE
0000132b: LOG2
0000132c: CODESIZE
0000132d: PUSH2 0x0e3c
00001330: JUMP
00001331: JUMPDEST
00001332: SWAP1
00001333: POP
00001334: CODESIZE
00001335: PUSH2 0x130f
00001338: JUMP
00001339: JUMPDEST
0000133a: PUSH1 0x40
0000133c: SWAP2
0000133d: SWAP4
0000133e: POP
0000133f: SWAP2
00001340: DUP3
00001341: PUSH2 0x1359
00001344: PUSH1 0x00
00001346: DUP1
00001347: MLOAD
00001348: PUSH1 0x20
0000134a: PUSH2 0x558c
0000134d: DUP4
0000134e: CODECOPY
0000134f: DUP2
00001350: MLOAD
00001351: SWAP2
00001352: MSTORE
00001353: SWAP5
00001354: ADDRESS
00001355: PUSH2 0x494e
00001358: JUMP
00001359: JUMPDEST
0000135a: SWAP4
0000135b: SWAP2
0000135c: POP
0000135d: SWAP2
0000135e: PUSH2 0x12f5
00001361: JUMP
00001362: JUMPDEST
00001363: SWAP1
00001364: DUP1
00001365: PUSH2 0x1391
00001368: JUMPI
00001369: JUMPDEST
0000136a: POP
0000136b: PUSH1 0x00
0000136d: DUP1
0000136e: MLOAD
0000136f: PUSH1 0x20
00001371: PUSH2 0x558c
00001374: DUP4
00001375: CODECOPY
00001376: DUP2
00001377: MLOAD
00001378: SWAP2
00001379: MSTORE
0000137a: SWAP2
0000137b: DUP2
0000137c: PUSH1 0x40
0000137e: SWAP3
0000137f: PUSH2 0x1389
00001382: JUMPI
00001383: JUMPDEST
00001384: POP
00001385: PUSH2 0x1311
00001388: JUMP
00001389: JUMPDEST
0000138a: SWAP1
0000138b: POP
0000138c: CODESIZE
0000138d: PUSH2 0x1383
00001390: JUMP
00001391: JUMPDEST
00001392: PUSH1 0x40
00001394: SWAP2
00001395: SWAP4
00001396: POP
00001397: SWAP2
00001398: DUP3
00001399: PUSH2 0x13b1
0000139c: PUSH1 0x00
0000139e: DUP1
0000139f: MLOAD
000013a0: PUSH1 0x20
000013a2: PUSH2 0x558c
000013a5: DUP4
000013a6: CODECOPY
000013a7: DUP2
000013a8: MLOAD
000013a9: SWAP2
000013aa: MSTORE
000013ab: SWAP5
000013ac: ADDRESS
000013ad: PUSH2 0x494e
000013b0: JUMP
000013b1: JUMPDEST
000013b2: SWAP4
000013b3: SWAP2
000013b4: POP
000013b5: SWAP2
000013b6: PUSH2 0x1369
000013b9: JUMP
000013ba: JUMPDEST
000013bb: SWAP2
000013bc: POP
000013bd: POP
000013be: PUSH1 0x40
000013c0: DUP2
000013c1: RETURNDATASIZE
000013c2: PUSH1 0x40
000013c4: GT
000013c5: PUSH2 0x13eb
000013c8: JUMPI
000013c9: JUMPDEST
000013ca: DUP2
000013cb: PUSH2 0x13d6
000013ce: PUSH1 0x40
000013d0: SWAP4
000013d1: DUP4
000013d2: PUSH2 0x377d
000013d5: JUMP
000013d6: JUMPDEST
000013d7: DUP2
000013d8: ADD
000013d9: SUB
000013da: SLT
000013db: PUSH2 0x0c4e
000013de: JUMPI
000013df: PUSH1 0x20
000013e1: DUP2
000013e2: MLOAD
000013e3: SWAP2
000013e4: ADD
000013e5: MLOAD
000013e6: CODESIZE
000013e7: PUSH2 0x12c2
000013ea: JUMP
000013eb: JUMPDEST
000013ec: RETURNDATASIZE
000013ed: SWAP2
000013ee: POP
000013ef: PUSH2 0x13c9
000013f2: JUMP
000013f3: JUMPDEST
000013f4: PUSH1 0x40
000013f6: MLOAD
000013f7: RETURNDATASIZE
000013f8: DUP7
000013f9: DUP3
000013fa: RETURNDATACOPY
000013fb: RETURNDATASIZE
000013fc: SWAP1
000013fd: REVERT
000013fe: JUMPDEST
000013ff: PUSH4 0x4e487b71
00001404: PUSH1 0xe0
00001406: SHL
00001407: DUP7
00001408: MSTORE
00001409: PUSH1 0x41
0000140b: PUSH1 0x04
0000140d: MSTORE
0000140e: PUSH1 0x24
00001410: DUP7
00001411: REVERT
00001412: JUMPDEST
00001413: POP
00001414: PUSH4 0xffffffff
00001419: PUSH2 0x1421
0000141c: DUP3
0000141d: PUSH2 0x399a
00001420: JUMP
00001421: JUMPDEST
00001422: AND
00001423: DUP5
00001424: MSTORE
00001425: PUSH1 0x1a
00001427: PUSH1 0x20
00001429: MSTORE
0000142a: PUSH1 0xff
0000142c: PUSH1 0x40
0000142e: DUP6
0000142f: KECCAK256
00001430: SLOAD
00001431: AND
00001432: ISZERO
00001433: PUSH2 0x0e37
00001436: JUMP
00001437: JUMPDEST
00001438: PUSH4 0x1dcf30bf
0000143d: PUSH1 0xe1
0000143f: SHL
00001440: DUP5
00001441: MSTORE
00001442: PUSH1 0x04
00001444: DUP5
00001445: REVERT
00001446: JUMPDEST
00001447: PUSH4 0x38002019
0000144c: PUSH1 0xe0
0000144e: SHL
0000144f: DUP5
00001450: MSTORE
00001451: PUSH1 0x04
00001453: DUP5
00001454: REVERT
00001455: JUMPDEST
00001456: PUSH4 0xdf74c15f
0000145b: PUSH1 0xe0
0000145d: SHL
0000145e: DUP3
0000145f: MSTORE
00001460: PUSH1 0x04
00001462: DUP3
00001463: REVERT
00001464: JUMPDEST
00001465: PUSH4 0x7ea1c91b
0000146a: PUSH1 0xe1
0000146c: SHL
0000146d: DUP3
0000146e: MSTORE
0000146f: PUSH1 0x04
00001471: DUP3
00001472: REVERT
00001473: JUMPDEST
00001474: PUSH4 0xb806e7fd
00001479: PUSH1 0xe0
0000147b: SHL
0000147c: DUP3
0000147d: MSTORE
0000147e: PUSH1 0x04
00001480: DUP3
00001481: REVERT
00001482: JUMPDEST
00001483: POP
00001484: CALLVALUE
00001485: PUSH2 0x02f2
00001488: JUMPI
00001489: DUP1
0000148a: PUSH1 0x03
0000148c: NOT
0000148d: CALLDATASIZE
0000148e: ADD
0000148f: SLT
00001490: PUSH2 0x02f2
00001493: JUMPI
00001494: PUSH1 0x20
00001496: PUSH1 0x40
00001498: MLOAD
00001499: PUSH32 0x0000000000000000000000000000000000000000000000000000000000050910
000014ba: DUP2
000014bb: MSTORE
000014bc: RETURN
000014bd: JUMPDEST
000014be: POP
000014bf: CALLVALUE
000014c0: PUSH2 0x02f2
000014c3: JUMPI
000014c4: PUSH1 0x20
000014c6: CALLDATASIZE
000014c7: PUSH1 0x03
000014c9: NOT
000014ca: ADD
000014cb: SLT
000014cc: PUSH2 0x02f2
000014cf: JUMPI
000014d0: PUSH1 0x20
000014d2: SWAP1
000014d3: PUSH1 0x40
000014d5: SWAP1
000014d6: PUSH1 0x01
000014d8: PUSH1 0x01
000014da: PUSH1 0xa0
000014dc: SHL
000014dd: SUB
000014de: PUSH2 0x14e5
000014e1: PUSH2 0x3704
000014e4: JUMP
000014e5: JUMPDEST
000014e6: AND
000014e7: DUP2
000014e8: MSTORE
000014e9: PUSH1 0x0e
000014eb: DUP4
000014ec: MSTORE
000014ed: KECCAK256
000014ee: SLOAD
000014ef: PUSH1 0x40
000014f1: MLOAD
000014f2: SWAP1
000014f3: DUP2
000014f4: MSTORE
000014f5: RETURN
000014f6: JUMPDEST
000014f7: POP
000014f8: CALLVALUE
000014f9: PUSH2 0x02f2
000014fc: JUMPI
000014fd: PUSH1 0x40
000014ff: CALLDATASIZE
00001500: PUSH1 0x03
00001502: NOT
00001503: ADD
00001504: SLT
00001505: PUSH2 0x02f2
00001508: JUMPI
00001509: PUSH1 0x40
0000150b: PUSH2 0x1512
0000150e: PUSH2 0x3665
00001511: JUMP
00001512: JUMPDEST
00001513: SWAP2
00001514: PUSH4 0xffffffff
00001519: PUSH2 0x1520
0000151c: PUSH2 0x371a
0000151f: JUMP
00001520: JUMPDEST
00001521: SWAP4
00001522: AND
00001523: DUP2
00001524: MSTORE
00001525: PUSH1 0x12
00001527: PUSH1 0x20
00001529: MSTORE
0000152a: KECCAK256
0000152b: SWAP1
0000152c: PUSH1 0x01
0000152e: DUP1
0000152f: PUSH1 0xa0
00001531: SHL
00001532: SUB
00001533: AND
00001534: PUSH1 0x00
00001536: MSTORE
00001537: PUSH1 0x20
00001539: MSTORE
0000153a: PUSH1 0x20
0000153c: PUSH1 0x40
0000153e: PUSH1 0x00
00001540: KECCAK256
00001541: SLOAD
00001542: PUSH1 0x40
00001544: MLOAD
00001545: SWAP1
00001546: DUP2
00001547: MSTORE
00001548: RETURN
00001549: JUMPDEST
0000154a: POP
0000154b: CALLVALUE
0000154c: PUSH2 0x02f2
0000154f: JUMPI
00001550: PUSH1 0x20
00001552: CALLDATASIZE
00001553: PUSH1 0x03
00001555: NOT
00001556: ADD
00001557: SLT
00001558: PUSH2 0x02f2
0000155b: JUMPI
0000155c: PUSH1 0x04
0000155e: CALLDATALOAD
0000155f: SWAP1
00001560: PUSH1 0xff
00001562: DUP3
00001563: AND
00001564: DUP3
00001565: SUB
00001566: PUSH2 0x02f2
00001569: JUMPI
0000156a: PUSH1 0x20
0000156c: PUSH2 0x1574
0000156f: DUP4
00001570: PUSH2 0x4613
00001573: JUMP
00001574: JUMPDEST
00001575: PUSH4 0xffffffff
0000157a: PUSH1 0x40
0000157c: MLOAD
0000157d: SWAP2
0000157e: AND
0000157f: DUP2
00001580: MSTORE
00001581: RETURN
00001582: JUMPDEST
00001583: POP
00001584: CALLVALUE
00001585: PUSH2 0x02f2
00001588: JUMPI
00001589: DUP1
0000158a: PUSH1 0x03
0000158c: NOT
0000158d: CALLDATASIZE
0000158e: ADD
0000158f: SLT
00001590: PUSH2 0x02f2
00001593: JUMPI
00001594: PUSH1 0x20
00001596: PUSH2 0x1574
00001599: PUSH2 0x396f
0000159c: JUMP
0000159d: JUMPDEST
0000159e: POP
0000159f: CALLVALUE
000015a0: PUSH2 0x02f2
000015a3: JUMPI
000015a4: DUP1
000015a5: PUSH1 0x03
000015a7: NOT
000015a8: CALLDATASIZE
000015a9: ADD
000015aa: SLT
000015ab: PUSH2 0x02f2
000015ae: JUMPI
000015af: PUSH1 0x40
000015b1: MLOAD
000015b2: PUSH32 0x000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe88
000015d3: PUSH1 0x01
000015d5: PUSH1 0x01
000015d7: PUSH1 0xa0
000015d9: SHL
000015da: SUB
000015db: AND
000015dc: DUP2
000015dd: MSTORE
000015de: PUSH1 0x20
000015e0: SWAP1
000015e1: RETURN
000015e2: JUMPDEST
000015e3: POP
000015e4: CALLVALUE
000015e5: PUSH2 0x02f2
000015e8: JUMPI
000015e9: DUP1
000015ea: PUSH1 0x03
000015ec: NOT
000015ed: CALLDATASIZE
000015ee: ADD
000015ef: SLT
000015f0: PUSH2 0x02f2
000015f3: JUMPI
000015f4: PUSH1 0x08
000015f6: SLOAD
000015f7: PUSH1 0x40
000015f9: MLOAD
000015fa: PUSH4 0x133f7571
000015ff: PUSH1 0xe3
00001601: SHL
00001602: DUP2
00001603: MSTORE
00001604: PUSH1 0x04
00001606: DUP2
00001607: ADD
00001608: SWAP2
00001609: SWAP1
0000160a: SWAP2
0000160b: MSTORE
0000160c: SWAP1
0000160d: PUSH2 0x0180
00001610: DUP3
00001611: PUSH1 0x24
00001613: DUP2
00001614: PUSH32 0x000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe88
00001635: PUSH1 0x01
00001637: PUSH1 0x01
00001639: PUSH1 0xa0
0000163b: SHL
0000163c: SUB
0000163d: AND
0000163e: GAS
0000163f: STATICCALL
00001640: SWAP2
00001641: DUP3
00001642: ISZERO
00001643: PUSH2 0x19d0
00001646: JUMPI
00001647: DUP2
00001648: SWAP3
00001649: PUSH2 0x190d
0000164c: JUMPI
0000164d: JUMPDEST
0000164e: POP
0000164f: PUSH1 0x07
00001651: SLOAD
00001652: PUSH1 0x40
00001654: MLOAD
00001655: PUSH4 0x3850c7bd
0000165a: PUSH1 0xe0
0000165c: SHL
0000165d: DUP2
0000165e: MSTORE
0000165f: PUSH1 0x01
00001661: PUSH1 0x01
00001663: PUSH1 0xa0
00001665: SHL
00001666: SUB
00001667: SWAP1
00001668: SWAP2
00001669: AND
0000166a: SWAP3
0000166b: PUSH1 0xe0
0000166d: DUP3
0000166e: PUSH1 0x04
00001670: DUP2
00001671: DUP8
00001672: GAS
00001673: STATICCALL
00001674: SWAP2
00001675: DUP3
00001676: ISZERO
00001677: PUSH2 0x1902
0000167a: JUMPI
0000167b: DUP4
0000167c: SWAP3
0000167d: PUSH2 0x18db
00001680: JUMPI
00001681: JUMPDEST
00001682: POP
00001683: PUSH3 0x0d89a0
00001687: SWAP3
00001688: PUSH2 0x18b2
0000168b: JUMPI
0000168c: PUSH5 0x0100eed0b4
00001692: SWAP3
00001693: POP
00001694: PUSH1 0x00
00001696: SWAP2
00001697: PUSH20 0xff120d460d67f1db5b71087bd404babb342b5987
000016ac: SWAP1
000016ad: PUSH1 0x01
000016af: PUSH1 0x01
000016b1: PUSH1 0xa0
000016b3: SHL
000016b4: SUB
000016b5: DUP2
000016b6: AND
000016b7: DUP5
000016b8: DUP7
000016b9: DUP3
000016ba: GT
000016bb: PUSH2 0x1807
000016be: JUMPI
000016bf: POP
000016c0: POP
000016c1: POP
000016c2: PUSH2 0x16cb
000016c5: SWAP3
000016c6: SWAP4
000016c7: PUSH2 0x4e4a
000016ca: JUMP
000016cb: JUMPDEST
000016cc: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
000016ed: ISZERO
000016ee: PUSH2 0x1801
000016f1: JUMPI
000016f2: JUMPDEST
000016f3: PUSH1 0x40
000016f5: MLOAD
000016f6: PUSH4 0x70a08231
000016fb: PUSH1 0xe0
000016fd: SHL
000016fe: DUP2
000016ff: MSTORE
00001700: PUSH1 0x04
00001702: DUP2
00001703: ADD
00001704: DUP5
00001705: SWAP1
00001706: MSTORE
00001707: PUSH1 0x20
00001709: DUP2
0000170a: PUSH1 0x24
0000170c: DUP2
0000170d: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
0000172e: PUSH1 0x01
00001730: PUSH1 0x01
00001732: PUSH1 0xa0
00001734: SHL
00001735: SUB
00001736: AND
00001737: GAS
00001738: STATICCALL
00001739: SWAP1
0000173a: DUP2
0000173b: ISZERO
0000173c: PUSH2 0x17c3
0000173f: JUMPI
00001740: PUSH1 0x00
00001742: SWAP2
00001743: PUSH2 0x17cf
00001746: JUMPI
00001747: JUMPDEST
00001748: POP
00001749: PUSH1 0x40
0000174b: MLOAD
0000174c: SWAP4
0000174d: PUSH4 0x70a08231
00001752: PUSH1 0xe0
00001754: SHL
00001755: DUP6
00001756: MSTORE
00001757: PUSH1 0x04
00001759: DUP6
0000175a: ADD
0000175b: MSTORE
0000175c: PUSH1 0x20
0000175e: DUP5
0000175f: PUSH1 0x24
00001761: DUP2
00001762: ADDRESS
00001763: GAS
00001764: STATICCALL
00001765: SWAP2
00001766: DUP3
00001767: ISZERO
00001768: PUSH2 0x17c3
0000176b: JUMPI
0000176c: PUSH1 0x00
0000176e: SWAP3
0000176f: PUSH2 0x178e
00001772: JUMPI
00001773: JUMPDEST
00001774: PUSH1 0x80
00001776: SWAP5
00001777: POP
00001778: PUSH1 0x40
0000177a: MLOAD
0000177b: SWAP4
0000177c: DUP5
0000177d: MSTORE
0000177e: PUSH1 0x20
00001780: DUP5
00001781: ADD
00001782: MSTORE
00001783: PUSH1 0x40
00001785: DUP4
00001786: ADD
00001787: MSTORE
00001788: PUSH1 0x60
0000178a: DUP3
0000178b: ADD
0000178c: MSTORE
0000178d: RETURN
0000178e: JUMPDEST
0000178f: SWAP2
00001790: POP
00001791: PUSH1 0x20
00001793: DUP5
00001794: RETURNDATASIZE
00001795: PUSH1 0x20
00001797: GT
00001798: PUSH2 0x17bb
0000179b: JUMPI
0000179c: JUMPDEST
0000179d: DUP2
0000179e: PUSH2 0x17a9
000017a1: PUSH1 0x20
000017a3: SWAP4
000017a4: DUP4
000017a5: PUSH2 0x377d
000017a8: JUMP
000017a9: JUMPDEST
000017aa: DUP2
000017ab: ADD
000017ac: SUB
000017ad: SLT
000017ae: PUSH2 0x1165
000017b1: JUMPI
000017b2: PUSH1 0x80
000017b4: SWAP4
000017b5: MLOAD
000017b6: SWAP2
000017b7: PUSH2 0x1773
000017ba: JUMP
000017bb: JUMPDEST
000017bc: RETURNDATASIZE
000017bd: SWAP2
000017be: POP
000017bf: PUSH2 0x179c
000017c2: JUMP
000017c3: JUMPDEST
000017c4: PUSH1 0x40
000017c6: MLOAD
000017c7: RETURNDATASIZE
000017c8: PUSH1 0x00
000017ca: DUP3
000017cb: RETURNDATACOPY
000017cc: RETURNDATASIZE
000017cd: SWAP1
000017ce: REVERT
000017cf: JUMPDEST
000017d0: SWAP1
000017d1: POP
000017d2: PUSH1 0x20
000017d4: DUP2
000017d5: RETURNDATASIZE
000017d6: PUSH1 0x20
000017d8: GT
000017d9: PUSH2 0x17f9
000017dc: JUMPI
000017dd: JUMPDEST
000017de: DUP2
000017df: PUSH2 0x17ea
000017e2: PUSH1 0x20
000017e4: SWAP4
000017e5: DUP4
000017e6: PUSH2 0x377d
000017e9: JUMP
000017ea: JUMPDEST
000017eb: DUP2
000017ec: ADD
000017ed: SUB
000017ee: SLT
000017ef: PUSH2 0x1165
000017f2: JUMPI
000017f3: MLOAD
000017f4: CODESIZE
000017f5: PUSH2 0x1747
000017f8: JUMP
000017f9: JUMPDEST
000017fa: RETURNDATASIZE
000017fb: SWAP2
000017fc: POP
000017fd: PUSH2 0x17dd
00001800: JUMP
00001801: JUMPDEST
00001802: SWAP1
00001803: PUSH2 0x16f2
00001806: JUMP
00001807: JUMPDEST
00001808: SWAP1
00001809: SWAP3
0000180a: SWAP2
0000180b: SWAP5
0000180c: DUP3
0000180d: DUP5
0000180e: LT
0000180f: PUSH1 0x00
00001811: EQ
00001812: PUSH2 0x1877
00001815: JUMPI
00001816: POP
00001817: POP
00001818: SWAP4
00001819: PUSH1 0x01
0000181b: PUSH1 0x01
0000181d: PUSH1 0x80
0000181f: SHL
00001820: SUB
00001821: SWAP2
00001822: PUSH2 0x1830
00001825: DUP5
00001826: DUP7
00001827: SWAP8
00001828: PUSH2 0x1864
0000182b: SWAP8
0000182c: PUSH2 0x4e4a
0000182f: JUMP
00001830: JUMPDEST
00001831: SWAP6
00001832: SWAP2
00001833: SWAP1
00001834: DUP3
00001835: SWAP1
00001836: DUP3
00001837: SWAP1
00001838: PUSH1 0x01
0000183a: PUSH1 0x01
0000183c: PUSH1 0xa0
0000183e: SHL
0000183f: SUB
00001840: DUP3
00001841: AND
00001842: GT
00001843: PUSH2 0x186a
00001846: JUMPI
00001847: JUMPDEST
00001848: POP
00001849: PUSH1 0x01
0000184b: PUSH1 0x01
0000184d: PUSH1 0xa0
0000184f: SHL
00001850: SUB
00001851: SWAP3
00001852: PUSH2 0x185c
00001855: SWAP3
00001856: SWAP2
00001857: POP
00001858: PUSH2 0x4e31
0000185b: JUMP
0000185c: JUMPDEST
0000185d: AND
0000185e: SWAP2
0000185f: AND
00001860: PUSH2 0x4f7d
00001863: JUMP
00001864: JUMPDEST
00001865: SWAP1
00001866: PUSH2 0x16cb
00001869: JUMP
0000186a: JUMPDEST
0000186b: SWAP3
0000186c: POP
0000186d: SWAP1
0000186e: POP
0000186f: PUSH2 0x185c
00001872: CODESIZE
00001873: PUSH2 0x1847
00001876: JUMP
00001877: JUMPDEST
00001878: POP
00001879: SWAP5
0000187a: PUSH2 0x1864
0000187d: SWAP5
0000187e: POP
0000187f: PUSH1 0x01
00001881: PUSH1 0x01
00001883: PUSH1 0x80
00001885: SHL
00001886: SUB
00001887: SWAP3
00001888: POP
00001889: DUP2
0000188a: DUP2
0000188b: PUSH1 0x01
0000188d: PUSH1 0x01
0000188f: PUSH1 0xa0
00001891: SHL
00001892: SUB
00001893: DUP1
00001894: DUP4
00001895: AND
00001896: SWAP1
00001897: DUP3
00001898: AND
00001899: GT
0000189a: PUSH2 0x186a
0000189d: JUMPI
0000189e: POP
0000189f: PUSH1 0x01
000018a1: PUSH1 0x01
000018a3: PUSH1 0xa0
000018a5: SHL
000018a6: SUB
000018a7: SWAP3
000018a8: PUSH2 0x185c
000018ab: SWAP3
000018ac: SWAP2
000018ad: POP
000018ae: PUSH2 0x4e31
000018b1: JUMP
000018b2: JUMPDEST
000018b3: PUSH1 0x40
000018b5: MLOAD
000018b6: PUSH3 0x461bcd
000018ba: PUSH1 0xe5
000018bc: SHL
000018bd: DUP2
000018be: MSTORE
000018bf: PUSH1 0x20
000018c1: PUSH1 0x04
000018c3: DUP3
000018c4: ADD
000018c5: MSTORE
000018c6: PUSH1 0x01
000018c8: PUSH1 0x24
000018ca: DUP3
000018cb: ADD
000018cc: MSTORE
000018cd: PUSH1 0x15
000018cf: PUSH1 0xfa
000018d1: SHL
000018d2: PUSH1 0x44
000018d4: DUP3
000018d5: ADD
000018d6: MSTORE
000018d7: PUSH1 0x64
000018d9: SWAP1
000018da: REVERT
000018db: JUMPDEST
000018dc: PUSH2 0x18f5
000018df: SWAP2
000018e0: SWAP3
000018e1: POP
000018e2: PUSH1 0xe0
000018e4: RETURNDATASIZE
000018e5: PUSH1 0xe0
000018e7: GT
000018e8: PUSH2 0x0d7d
000018eb: JUMPI
000018ec: PUSH2 0x0d69
000018ef: DUP2
000018f0: DUP4
000018f1: PUSH2 0x377d
000018f4: JUMP
000018f5: JUMPDEST
000018f6: POP
000018f7: POP
000018f8: POP
000018f9: POP
000018fa: POP
000018fb: POP
000018fc: SWAP1
000018fd: CODESIZE
000018fe: PUSH2 0x1681
00001901: JUMP
00001902: JUMPDEST
00001903: PUSH1 0x40
00001905: MLOAD
00001906: RETURNDATASIZE
00001907: DUP6
00001908: DUP3
00001909: RETURNDATACOPY
0000190a: RETURNDATASIZE
0000190b: SWAP1
0000190c: REVERT
0000190d: JUMPDEST
0000190e: SWAP1
0000190f: SWAP2
00001910: POP
00001911: PUSH2 0x0180
00001914: DUP2
00001915: RETURNDATASIZE
00001916: DUP3
00001917: GT
00001918: PUSH2 0x19c8
0000191b: JUMPI
0000191c: JUMPDEST
0000191d: DUP2
0000191e: PUSH2 0x192a
00001921: PUSH2 0x0180
00001924: SWAP4
00001925: DUP4
00001926: PUSH2 0x377d
00001929: JUMP
0000192a: JUMPDEST
0000192b: DUP2
0000192c: ADD
0000192d: SUB
0000192e: SLT
0000192f: PUSH2 0x0bb9
00001932: JUMPI
00001933: DUP1
00001934: MLOAD
00001935: PUSH12 0xffffffffffffffffffffffff
00001942: DUP2
00001943: AND
00001944: SUB
00001945: PUSH2 0x0bb9
00001948: JUMPI
00001949: PUSH2 0x1954
0000194c: PUSH1 0x20
0000194e: DUP3
0000194f: ADD
00001950: PUSH2 0x38a8
00001953: JUMP
00001954: JUMPDEST
00001955: POP
00001956: PUSH2 0x1961
00001959: PUSH1 0x40
0000195b: DUP3
0000195c: ADD
0000195d: PUSH2 0x38a8
00001960: JUMP
00001961: JUMPDEST
00001962: POP
00001963: PUSH2 0x196e
00001966: PUSH1 0x60
00001968: DUP3
00001969: ADD
0000196a: PUSH2 0x38a8
0000196d: JUMP
0000196e: JUMPDEST
0000196f: POP
00001970: PUSH1 0x80
00001972: DUP2
00001973: ADD
00001974: MLOAD
00001975: PUSH3 0xffffff
00001979: DUP2
0000197a: AND
0000197b: SUB
0000197c: PUSH2 0x0bb9
0000197f: JUMPI
00001980: PUSH2 0x198b
00001983: PUSH1 0xa0
00001985: DUP3
00001986: ADD
00001987: PUSH2 0x38bc
0000198a: JUMP
0000198b: JUMPDEST
0000198c: POP
0000198d: PUSH2 0x1998
00001990: PUSH1 0xc0
00001992: DUP3
00001993: ADD
00001994: PUSH2 0x38bc
00001997: JUMP
00001998: JUMPDEST
00001999: POP
0000199a: PUSH2 0x19c0
0000199d: PUSH2 0x0160
000019a0: PUSH2 0x19ab
000019a3: PUSH1 0xe0
000019a5: DUP5
000019a6: ADD
000019a7: PUSH2 0x38ca
000019aa: JUMP
000019ab: JUMPDEST
000019ac: SWAP3
000019ad: PUSH2 0x19b9
000019b0: PUSH2 0x0140
000019b3: DUP3
000019b4: ADD
000019b5: PUSH2 0x38ca
000019b8: JUMP
000019b9: JUMPDEST
000019ba: POP
000019bb: ADD
000019bc: PUSH2 0x38ca
000019bf: JUMP
000019c0: JUMPDEST
000019c1: POP
000019c2: SWAP1
000019c3: CODESIZE
000019c4: PUSH2 0x164d
000019c7: JUMP
000019c8: JUMPDEST
000019c9: RETURNDATASIZE
000019ca: SWAP2
000019cb: POP
000019cc: PUSH2 0x191c
000019cf: JUMP
000019d0: JUMPDEST
000019d1: POP
000019d2: PUSH1 0x40
000019d4: MLOAD
000019d5: SWAP1
000019d6: RETURNDATASIZE
000019d7: SWAP1
000019d8: DUP3
000019d9: RETURNDATACOPY
000019da: RETURNDATASIZE
000019db: SWAP1
000019dc: REVERT
000019dd: JUMPDEST
000019de: POP
000019df: CALLVALUE
000019e0: PUSH2 0x02f2
000019e3: JUMPI
000019e4: PUSH1 0x40
000019e6: CALLDATASIZE
000019e7: PUSH1 0x03
000019e9: NOT
000019ea: ADD
000019eb: SLT
000019ec: PUSH2 0x02f2
000019ef: JUMPI
000019f0: PUSH2 0x1a04
000019f3: PUSH2 0x19fa
000019f6: PUSH2 0x3704
000019f9: JUMP
000019fa: JUMPDEST
000019fb: PUSH1 0x24
000019fd: CALLDATALOAD
000019fe: SWAP1
000019ff: CALLER
00001a00: PUSH2 0x420a
00001a03: JUMP
00001a04: JUMPDEST
00001a05: PUSH1 0x20
00001a07: PUSH1 0x40
00001a09: MLOAD
00001a0a: PUSH1 0x01
00001a0c: DUP2
00001a0d: MSTORE
00001a0e: RETURN
00001a0f: JUMPDEST
00001a10: POP
00001a11: CALLVALUE
00001a12: PUSH2 0x02f2
00001a15: JUMPI
00001a16: PUSH1 0x40
00001a18: CALLDATASIZE
00001a19: PUSH1 0x03
00001a1b: NOT
00001a1c: ADD
00001a1d: SLT
00001a1e: PUSH2 0x02f2
00001a21: JUMPI
00001a22: PUSH1 0x40
00001a24: PUSH2 0x1a2b
00001a27: PUSH2 0x3665
00001a2a: JUMP
00001a2b: JUMPDEST
00001a2c: SWAP2
00001a2d: PUSH4 0xffffffff
00001a32: PUSH2 0x1a39
00001a35: PUSH2 0x371a
00001a38: JUMP
00001a39: JUMPDEST
00001a3a: SWAP4
00001a3b: AND
00001a3c: DUP2
00001a3d: MSTORE
00001a3e: PUSH1 0x13
00001a40: PUSH1 0x20
00001a42: MSTORE
00001a43: KECCAK256
00001a44: SWAP1
00001a45: PUSH1 0x01
00001a47: DUP1
00001a48: PUSH1 0xa0
00001a4a: SHL
00001a4b: SUB
00001a4c: AND
00001a4d: PUSH1 0x00
00001a4f: MSTORE
00001a50: PUSH1 0x20
00001a52: MSTORE
00001a53: PUSH1 0x20
00001a55: PUSH1 0x40
00001a57: PUSH1 0x00
00001a59: KECCAK256
00001a5a: SLOAD
00001a5b: PUSH1 0x40
00001a5d: MLOAD
00001a5e: SWAP1
00001a5f: DUP2
00001a60: MSTORE
00001a61: RETURN
00001a62: JUMPDEST
00001a63: POP
00001a64: CALLVALUE
00001a65: PUSH2 0x02f2
00001a68: JUMPI
00001a69: PUSH1 0x20
00001a6b: CALLDATASIZE
00001a6c: PUSH1 0x03
00001a6e: NOT
00001a6f: ADD
00001a70: SLT
00001a71: PUSH2 0x02f2
00001a74: JUMPI
00001a75: PUSH4 0xffffffff
00001a7a: PUSH2 0x1a81
00001a7d: PUSH2 0x3665
00001a80: JUMP
00001a81: JUMPDEST
00001a82: AND
00001a83: DUP1
00001a84: DUP3
00001a85: MSTORE
00001a86: PUSH1 0x16
00001a88: PUSH1 0x20
00001a8a: MSTORE
00001a8b: PUSH1 0x40
00001a8d: DUP3
00001a8e: KECCAK256
00001a8f: SWAP1
00001a90: DUP2
00001a91: SLOAD
00001a92: SWAP1
00001a93: PUSH2 0x1a9b
00001a96: DUP3
00001a97: PUSH2 0x381f
00001a9a: JUMP
00001a9b: JUMPDEST
00001a9c: SWAP1
00001a9d: PUSH2 0x1aa9
00001aa0: PUSH1 0x40
00001aa2: MLOAD
00001aa3: SWAP3
00001aa4: DUP4
00001aa5: PUSH2 0x377d
00001aa8: JUMP
00001aa9: JUMPDEST
00001aaa: DUP3
00001aab: DUP3
00001aac: MSTORE
00001aad: PUSH1 0x1f
00001aaf: NOT
00001ab0: PUSH2 0x1ab8
00001ab3: DUP5
00001ab4: PUSH2 0x381f
00001ab7: JUMP
00001ab8: JUMPDEST
00001ab9: ADD
00001aba: DUP6
00001abb: JUMPDEST
00001abc: DUP2
00001abd: DUP2
00001abe: LT
00001abf: PUSH2 0x1c3c
00001ac2: JUMPI
00001ac3: POP
00001ac4: POP
00001ac5: DUP5
00001ac6: JUMPDEST
00001ac7: PUSH1 0xff
00001ac9: DUP2
00001aca: AND
00001acb: DUP5
00001acc: DUP2
00001acd: LT
00001ace: ISZERO
00001acf: PUSH2 0x1bb7
00001ad2: JUMPI
00001ad3: SWAP1
00001ad4: PUSH2 0x1bac
00001ad7: DUP3
00001ad8: PUSH2 0x1ae4
00001adb: PUSH2 0x1bb2
00001ade: SWAP5
00001adf: DUP10
00001ae0: PUSH2 0x4e00
00001ae3: JUMP
00001ae4: JUMPDEST
00001ae5: DUP7
00001ae6: DUP12
00001ae7: MSTORE
00001ae8: PUSH1 0x11
00001aea: PUSH1 0x20
00001aec: MSTORE
00001aed: PUSH1 0x40
00001aef: DUP1
00001af0: DUP13
00001af1: KECCAK256
00001af2: PUSH1 0x00
00001af4: SWAP1
00001af5: PUSH1 0x01
00001af7: DUP1
00001af8: PUSH1 0xa0
00001afa: SHL
00001afb: SUB
00001afc: DUP6
00001afd: AND
00001afe: DUP3
00001aff: MSTORE
00001b00: PUSH1 0x20
00001b02: MSTORE
00001b03: KECCAK256
00001b04: SLOAD
00001b05: SWAP1
00001b06: DUP8
00001b07: DUP13
00001b08: MSTORE
00001b09: PUSH1 0x12
00001b0b: PUSH1 0x20
00001b0d: MSTORE
00001b0e: DUP12
00001b0f: PUSH1 0x40
00001b11: DUP1
00001b12: DUP3
00001b13: KECCAK256
00001b14: PUSH1 0x00
00001b16: SWAP1
00001b17: PUSH1 0x01
00001b19: DUP1
00001b1a: PUSH1 0xa0
00001b1c: SHL
00001b1d: SUB
00001b1e: DUP8
00001b1f: AND
00001b20: DUP3
00001b21: MSTORE
00001b22: PUSH1 0x20
00001b24: MSTORE
00001b25: KECCAK256
00001b26: SLOAD
00001b27: DUP10
00001b28: DUP3
00001b29: MSTORE
00001b2a: PUSH1 0x13
00001b2c: PUSH1 0x20
00001b2e: MSTORE
00001b2f: PUSH2 0xffff
00001b32: PUSH1 0x40
00001b34: DUP1
00001b35: DUP1
00001b36: DUP1
00001b37: DUP7
00001b38: KECCAK256
00001b39: PUSH1 0x00
00001b3b: SWAP1
00001b3c: PUSH1 0x01
00001b3e: DUP1
00001b3f: PUSH1 0xa0
00001b41: SHL
00001b42: SUB
00001b43: DUP12
00001b44: AND
00001b45: DUP3
00001b46: MSTORE
00001b47: PUSH1 0x20
00001b49: MSTORE
00001b4a: KECCAK256
00001b4b: SLOAD
00001b4c: SWAP5
00001b4d: DUP14
00001b4e: DUP2
00001b4f: MSTORE
00001b50: PUSH1 0x1c
00001b52: PUSH1 0x20
00001b54: MSTORE
00001b55: KECCAK256
00001b56: PUSH1 0x00
00001b58: SWAP1
00001b59: PUSH1 0x01
00001b5b: DUP1
00001b5c: PUSH1 0xa0
00001b5e: SHL
00001b5f: SUB
00001b60: DUP10
00001b61: AND
00001b62: DUP3
00001b63: MSTORE
00001b64: PUSH1 0x20
00001b66: MSTORE
00001b67: KECCAK256
00001b68: SLOAD
00001b69: AND
00001b6a: SWAP4
00001b6b: PUSH1 0x40
00001b6d: MLOAD
00001b6e: SWAP6
00001b6f: PUSH2 0x1b77
00001b72: DUP8
00001b73: PUSH2 0x3730
00001b76: JUMP
00001b77: JUMPDEST
00001b78: PUSH1 0x01
00001b7a: PUSH1 0x01
00001b7c: PUSH1 0xa0
00001b7e: SHL
00001b7f: SUB
00001b80: AND
00001b81: DUP7
00001b82: MSTORE
00001b83: PUSH1 0x20
00001b85: DUP7
00001b86: ADD
00001b87: MSTORE
00001b88: PUSH1 0x40
00001b8a: DUP6
00001b8b: ADD
00001b8c: MSTORE
00001b8d: PUSH1 0x60
00001b8f: DUP5
00001b90: ADD
00001b91: MSTORE
00001b92: PUSH1 0x80
00001b94: DUP4
00001b95: ADD
00001b96: MSTORE
00001b97: PUSH1 0xa0
00001b99: DUP3
00001b9a: ADD
00001b9b: MSTORE
00001b9c: PUSH2 0x1ba5
00001b9f: DUP3
00001ba0: DUP9
00001ba1: PUSH2 0x3869
00001ba4: JUMP
00001ba5: JUMPDEST
00001ba6: MSTORE
00001ba7: DUP6
00001ba8: PUSH2 0x3869
00001bab: JUMP
00001bac: JUMPDEST
00001bad: POP
00001bae: PUSH2 0x4602
00001bb1: JUMP
00001bb2: JUMPDEST
00001bb3: PUSH2 0x1ac6
00001bb6: JUMP
00001bb7: JUMPDEST
00001bb8: DUP4
00001bb9: DUP8
00001bba: PUSH1 0x40
00001bbc: MLOAD
00001bbd: SWAP2
00001bbe: DUP3
00001bbf: SWAP2
00001bc0: PUSH1 0x20
00001bc2: DUP4
00001bc3: ADD
00001bc4: PUSH1 0x20
00001bc6: DUP5
00001bc7: MSTORE
00001bc8: DUP3
00001bc9: MLOAD
00001bca: DUP1
00001bcb: SWAP2
00001bcc: MSTORE
00001bcd: PUSH1 0x20
00001bcf: PUSH1 0x40
00001bd1: DUP6
00001bd2: ADD
00001bd3: SWAP4
00001bd4: ADD
00001bd5: SWAP2
00001bd6: JUMPDEST
00001bd7: DUP2
00001bd8: DUP2
00001bd9: LT
00001bda: PUSH2 0x1be4
00001bdd: JUMPI
00001bde: POP
00001bdf: POP
00001be0: POP
00001be1: SUB
00001be2: SWAP1
00001be3: RETURN
00001be4: JUMPDEST
00001be5: SWAP2
00001be6: SWAP4
00001be7: POP
00001be8: SWAP2
00001be9: PUSH1 0x20
00001beb: PUSH1 0xc0
00001bed: PUSH1 0x01
00001bef: SWAP3
00001bf0: PUSH2 0xffff
00001bf3: PUSH1 0xa0
00001bf5: DUP9
00001bf6: MLOAD
00001bf7: DUP7
00001bf8: DUP1
00001bf9: DUP4
00001bfa: SHL
00001bfb: SUB
00001bfc: DUP2
00001bfd: MLOAD
00001bfe: AND
00001bff: DUP5
00001c00: MSTORE
00001c01: DUP6
00001c02: DUP2
00001c03: ADD
00001c04: MLOAD
00001c05: DUP7
00001c06: DUP6
00001c07: ADD
00001c08: MSTORE
00001c09: PUSH1 0x40
00001c0b: DUP2
00001c0c: ADD
00001c0d: MLOAD
00001c0e: PUSH1 0x40
00001c10: DUP6
00001c11: ADD
00001c12: MSTORE
00001c13: PUSH1 0x60
00001c15: DUP2
00001c16: ADD
00001c17: MLOAD
00001c18: PUSH1 0x60
00001c1a: DUP6
00001c1b: ADD
00001c1c: MSTORE
00001c1d: PUSH1 0x80
00001c1f: DUP2
00001c20: ADD
00001c21: MLOAD
00001c22: PUSH1 0x80
00001c24: DUP6
00001c25: ADD
00001c26: MSTORE
00001c27: ADD
00001c28: MLOAD
00001c29: AND
00001c2a: PUSH1 0xa0
00001c2c: DUP3
00001c2d: ADD
00001c2e: MSTORE
00001c2f: ADD
00001c30: SWAP5
00001c31: ADD
00001c32: SWAP2
00001c33: ADD
00001c34: SWAP2
00001c35: DUP5
00001c36: SWAP4
00001c37: SWAP3
00001c38: PUSH2 0x1bd6
00001c3b: JUMP
00001c3c: JUMPDEST
00001c3d: PUSH1 0x20
00001c3f: SWAP1
00001c40: PUSH1 0x40
00001c42: MLOAD
00001c43: PUSH2 0x1c4b
00001c46: DUP2
00001c47: PUSH2 0x3730
00001c4a: JUMP
00001c4b: JUMPDEST
00001c4c: DUP9
00001c4d: DUP2
00001c4e: MSTORE
00001c4f: DUP9
00001c50: DUP4
00001c51: DUP3
00001c52: ADD
00001c53: MSTORE
00001c54: DUP9
00001c55: PUSH1 0x40
00001c57: DUP3
00001c58: ADD
00001c59: MSTORE
00001c5a: DUP9
00001c5b: PUSH1 0x60
00001c5d: DUP3
00001c5e: ADD
00001c5f: MSTORE
00001c60: DUP9
00001c61: PUSH1 0x80
00001c63: DUP3
00001c64: ADD
00001c65: MSTORE
00001c66: DUP9
00001c67: PUSH1 0xa0
00001c69: DUP3
00001c6a: ADD
00001c6b: MSTORE
00001c6c: DUP3
00001c6d: DUP3
00001c6e: DUP8
00001c6f: ADD
00001c70: ADD
00001c71: MSTORE
00001c72: ADD
00001c73: PUSH2 0x1abb
00001c76: JUMP
00001c77: JUMPDEST
00001c78: POP
00001c79: CALLVALUE
00001c7a: PUSH2 0x02f2
00001c7d: JUMPI
00001c7e: DUP1
00001c7f: PUSH1 0x03
00001c81: NOT
00001c82: CALLDATASIZE
00001c83: ADD
00001c84: SLT
00001c85: PUSH2 0x02f2
00001c88: JUMPI
00001c89: PUSH1 0x40
00001c8b: MLOAD
00001c8c: SWAP1
00001c8d: DUP1
00001c8e: PUSH1 0x04
00001c90: SLOAD
00001c91: SWAP1
00001c92: DUP2
00001c93: PUSH1 0x01
00001c95: SHR
00001c96: SWAP2
00001c97: PUSH1 0x01
00001c99: DUP2
00001c9a: AND
00001c9b: DUP1
00001c9c: ISZERO
00001c9d: PUSH2 0x1d76
00001ca0: JUMPI
00001ca1: JUMPDEST
00001ca2: PUSH1 0x20
00001ca4: DUP5
00001ca5: LT
00001ca6: DUP2
00001ca7: EQ
00001ca8: PUSH2 0x1d62
00001cab: JUMPI
00001cac: DUP4
00001cad: DUP7
00001cae: MSTORE
00001caf: SWAP1
00001cb0: DUP2
00001cb1: ISZERO
00001cb2: PUSH2 0x1d3b
00001cb5: JUMPI
00001cb6: POP
00001cb7: PUSH1 0x01
00001cb9: EQ
00001cba: PUSH2 0x1cde
00001cbd: JUMPI
00001cbe: JUMPDEST
00001cbf: PUSH2 0x1cda
00001cc2: DUP5
00001cc3: PUSH2 0x1cce
00001cc6: DUP2
00001cc7: DUP7
00001cc8: SUB
00001cc9: DUP3
00001cca: PUSH2 0x377d
00001ccd: JUMP
00001cce: JUMPDEST
00001ccf: PUSH1 0x40
00001cd1: MLOAD
00001cd2: SWAP2
00001cd3: DUP3
00001cd4: SWAP2
00001cd5: DUP3
00001cd6: PUSH2 0x36bb
00001cd9: JUMP
00001cda: JUMPDEST
00001cdb: SUB
00001cdc: SWAP1
00001cdd: RETURN
00001cde: JUMPDEST
00001cdf: PUSH1 0x04
00001ce1: DUP2
00001ce2: MSTORE
00001ce3: PUSH32 0x8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b
00001d04: SWAP4
00001d05: SWAP3
00001d06: POP
00001d07: SWAP1
00001d08: JUMPDEST
00001d09: DUP1
00001d0a: DUP3
00001d0b: LT
00001d0c: PUSH2 0x1d21
00001d0f: JUMPI
00001d10: POP
00001d11: SWAP1
00001d12: SWAP2
00001d13: POP
00001d14: DUP2
00001d15: ADD
00001d16: PUSH1 0x20
00001d18: ADD
00001d19: PUSH2 0x1cce
00001d1c: DUP3
00001d1d: PUSH2 0x1cbe
00001d20: JUMP
00001d21: JUMPDEST
00001d22: SWAP2
00001d23: SWAP3
00001d24: PUSH1 0x01
00001d26: DUP2
00001d27: PUSH1 0x20
00001d29: SWAP3
00001d2a: SLOAD
00001d2b: DUP4
00001d2c: DUP6
00001d2d: DUP9
00001d2e: ADD
00001d2f: ADD
00001d30: MSTORE
00001d31: ADD
00001d32: SWAP2
00001d33: ADD
00001d34: SWAP1
00001d35: SWAP3
00001d36: SWAP2
00001d37: PUSH2 0x1d08
00001d3a: JUMP
00001d3b: JUMPDEST
00001d3c: PUSH1 0xff
00001d3e: NOT
00001d3f: AND
00001d40: PUSH1 0x20
00001d42: DUP1
00001d43: DUP8
00001d44: ADD
00001d45: SWAP2
00001d46: SWAP1
00001d47: SWAP2
00001d48: MSTORE
00001d49: SWAP3
00001d4a: ISZERO
00001d4b: ISZERO
00001d4c: PUSH1 0x05
00001d4e: SHL
00001d4f: DUP6
00001d50: ADD
00001d51: SWAP1
00001d52: SWAP3
00001d53: ADD
00001d54: SWAP3
00001d55: POP
00001d56: PUSH2 0x1cce
00001d59: SWAP2
00001d5a: POP
00001d5b: DUP4
00001d5c: SWAP1
00001d5d: POP
00001d5e: PUSH2 0x1cbe
00001d61: JUMP
00001d62: JUMPDEST
00001d63: PUSH4 0x4e487b71
00001d68: PUSH1 0xe0
00001d6a: SHL
00001d6b: DUP4
00001d6c: MSTORE
00001d6d: PUSH1 0x22
00001d6f: PUSH1 0x04
00001d71: MSTORE
00001d72: PUSH1 0x24
00001d74: DUP4
00001d75: REVERT
00001d76: JUMPDEST
00001d77: SWAP3
00001d78: PUSH1 0x7f
00001d7a: AND
00001d7b: SWAP3
00001d7c: PUSH2 0x1ca1
00001d7f: JUMP
00001d80: JUMPDEST
00001d81: POP
00001d82: CALLVALUE
00001d83: PUSH2 0x02f2
00001d86: JUMPI
00001d87: PUSH1 0x20
00001d89: CALLDATASIZE
00001d8a: PUSH1 0x03
00001d8c: NOT
00001d8d: ADD
00001d8e: SLT
00001d8f: PUSH2 0x02f2
00001d92: JUMPI
00001d93: PUSH1 0x20
00001d95: SWAP1
00001d96: PUSH1 0x40
00001d98: SWAP1
00001d99: PUSH1 0x01
00001d9b: PUSH1 0x01
00001d9d: PUSH1 0xa0
00001d9f: SHL
00001da0: SUB
00001da1: PUSH2 0x1da8
00001da4: PUSH2 0x3704
00001da7: JUMP
00001da8: JUMPDEST
00001da9: AND
00001daa: DUP2
00001dab: MSTORE
00001dac: PUSH1 0x0f
00001dae: DUP4
00001daf: MSTORE
00001db0: KECCAK256
00001db1: SLOAD
00001db2: PUSH1 0x40
00001db4: MLOAD
00001db5: SWAP1
00001db6: DUP2
00001db7: MSTORE
00001db8: RETURN
00001db9: JUMPDEST
00001dba: POP
00001dbb: CALLVALUE
00001dbc: PUSH2 0x02f2
00001dbf: JUMPI
00001dc0: DUP1
00001dc1: PUSH1 0x03
00001dc3: NOT
00001dc4: CALLDATASIZE
00001dc5: ADD
00001dc6: SLT
00001dc7: PUSH2 0x02f2
00001dca: JUMPI
00001dcb: PUSH1 0x20
00001dcd: PUSH1 0x08
00001dcf: SLOAD
00001dd0: PUSH1 0x40
00001dd2: MLOAD
00001dd3: SWAP1
00001dd4: DUP2
00001dd5: MSTORE
00001dd6: RETURN
00001dd7: JUMPDEST
00001dd8: POP
00001dd9: CALLVALUE
00001dda: PUSH2 0x02f2
00001ddd: JUMPI
00001dde: DUP1
00001ddf: PUSH1 0x03
00001de1: NOT
00001de2: CALLDATASIZE
00001de3: ADD
00001de4: SLT
00001de5: PUSH2 0x02f2
00001de8: JUMPI
00001de9: PUSH1 0x05
00001deb: SLOAD
00001dec: PUSH1 0x40
00001dee: MLOAD
00001def: PUSH1 0x01
00001df1: PUSH1 0x01
00001df3: PUSH1 0xa0
00001df5: SHL
00001df6: SUB
00001df7: SWAP1
00001df8: SWAP2
00001df9: AND
00001dfa: DUP2
00001dfb: MSTORE
00001dfc: PUSH1 0x20
00001dfe: SWAP1
00001dff: RETURN
00001e00: JUMPDEST
00001e01: POP
00001e02: CALLVALUE
00001e03: PUSH2 0x02f2
00001e06: JUMPI
00001e07: DUP1
00001e08: PUSH1 0x03
00001e0a: NOT
00001e0b: CALLDATASIZE
00001e0c: ADD
00001e0d: SLT
00001e0e: PUSH2 0x02f2
00001e11: JUMPI
00001e12: PUSH1 0x40
00001e14: MLOAD
00001e15: PUSH32 0x0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984
00001e36: PUSH1 0x01
00001e38: PUSH1 0x01
00001e3a: PUSH1 0xa0
00001e3c: SHL
00001e3d: SUB
00001e3e: AND
00001e3f: DUP2
00001e40: MSTORE
00001e41: PUSH1 0x20
00001e43: SWAP1
00001e44: RETURN
00001e45: JUMPDEST
00001e46: POP
00001e47: CALLVALUE
00001e48: PUSH2 0x02f2
00001e4b: JUMPI
00001e4c: DUP1
00001e4d: PUSH1 0x03
00001e4f: NOT
00001e50: CALLDATASIZE
00001e51: ADD
00001e52: SLT
00001e53: PUSH2 0x02f2
00001e56: JUMPI
00001e57: PUSH1 0x20
00001e59: PUSH1 0x01
00001e5b: PUSH1 0x01
00001e5d: PUSH1 0x40
00001e5f: SHL
00001e60: SUB
00001e61: PUSH1 0x09
00001e63: SLOAD
00001e64: PUSH1 0x40
00001e66: SHR
00001e67: AND
00001e68: PUSH1 0x40
00001e6a: MLOAD
00001e6b: SWAP1
00001e6c: DUP2
00001e6d: MSTORE
00001e6e: RETURN
00001e6f: JUMPDEST
00001e70: POP
00001e71: CALLVALUE
00001e72: PUSH2 0x02f2
00001e75: JUMPI
00001e76: DUP1
00001e77: PUSH1 0x03
00001e79: NOT
00001e7a: CALLDATASIZE
00001e7b: ADD
00001e7c: SLT
00001e7d: PUSH2 0x02f2
00001e80: JUMPI
00001e81: PUSH1 0x40
00001e83: MLOAD
00001e84: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001ea5: PUSH1 0x01
00001ea7: PUSH1 0x01
00001ea9: PUSH1 0xa0
00001eab: SHL
00001eac: SUB
00001ead: AND
00001eae: DUP2
00001eaf: MSTORE
00001eb0: PUSH1 0x20
00001eb2: SWAP1
00001eb3: RETURN
00001eb4: JUMPDEST
00001eb5: POP
00001eb6: CALLVALUE
00001eb7: PUSH2 0x02f2
00001eba: JUMPI
00001ebb: PUSH1 0x20
00001ebd: CALLDATASIZE
00001ebe: PUSH1 0x03
00001ec0: NOT
00001ec1: ADD
00001ec2: SLT
00001ec3: PUSH2 0x02f2
00001ec6: JUMPI
00001ec7: PUSH1 0x04
00001ec9: CALLDATALOAD
00001eca: PUSH2 0x1ed1
00001ecd: PUSH2 0x44c8
00001ed0: JUMP
00001ed1: JUMPDEST
00001ed2: PUSH1 0x08
00001ed4: SLOAD
00001ed5: PUSH2 0x24c4
00001ed8: JUMPI
00001ed9: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00001efa: PUSH2 0x1f0e
00001efd: DUP3
00001efe: ADDRESS
00001eff: CALLER
00001f00: PUSH1 0x01
00001f02: PUSH1 0x01
00001f04: PUSH1 0xa0
00001f06: SHL
00001f07: SUB
00001f08: DUP6
00001f09: AND
00001f0a: PUSH2 0x4568
00001f0d: JUMP
00001f0e: JUMPDEST
00001f0f: PUSH1 0x09
00001f11: SLOAD
00001f12: PUSH2 0x0ce4
00001f15: TIMESTAMP
00001f16: ADD
00001f17: DUP1
00001f18: TIMESTAMP
00001f19: GT
00001f1a: PUSH2 0x24b0
00001f1d: JUMPI
00001f1e: PUSH16 0xffffffffffffffffffffffffffffffff
00001f2f: NOT
00001f30: SWAP1
00001f31: SWAP2
00001f32: AND
00001f33: TIMESTAMP
00001f34: PUSH1 0x01
00001f36: PUSH1 0x01
00001f38: PUSH1 0x40
00001f3a: SHL
00001f3b: SUB
00001f3c: AND
00001f3d: OR
00001f3e: PUSH1 0x40
00001f40: SWAP2
00001f41: DUP3
00001f42: SHL
00001f43: PUSH8 0xffffffffffffffff
00001f4c: PUSH1 0x40
00001f4e: SHL
00001f4f: AND
00001f50: OR
00001f51: PUSH1 0x09
00001f53: SSTORE
00001f54: MLOAD
00001f55: PUSH4 0x0b4c7741
00001f5a: PUSH1 0xe1
00001f5c: SHL
00001f5d: DUP2
00001f5e: MSTORE
00001f5f: ADDRESS
00001f60: PUSH1 0x04
00001f62: DUP3
00001f63: ADD
00001f64: MSTORE
00001f65: PUSH1 0x01
00001f67: PUSH1 0x01
00001f69: PUSH1 0xa0
00001f6b: SHL
00001f6c: SUB
00001f6d: DUP3
00001f6e: DUP2
00001f6f: AND
00001f70: PUSH1 0x24
00001f72: DUP4
00001f73: ADD
00001f74: MSTORE
00001f75: PUSH2 0x2710
00001f78: PUSH1 0x44
00001f7a: DUP4
00001f7b: ADD
00001f7c: MSTORE
00001f7d: PUSH32 0x0000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984
00001f9e: AND
00001f9f: SWAP1
00001fa0: PUSH1 0x20
00001fa2: DUP2
00001fa3: DUP1
00001fa4: PUSH1 0x64
00001fa6: DUP2
00001fa7: ADD
00001fa8: SUB
00001fa9: DUP2
00001faa: DUP6
00001fab: GAS
00001fac: STATICCALL
00001fad: SWAP1
00001fae: DUP2
00001faf: ISZERO
00001fb0: PUSH2 0x24a5
00001fb3: JUMPI
00001fb4: DUP6
00001fb5: SWAP2
00001fb6: PUSH2 0x246b
00001fb9: JUMPI
00001fba: JUMPDEST
00001fbb: POP
00001fbc: PUSH1 0x01
00001fbe: PUSH1 0x01
00001fc0: PUSH1 0xa0
00001fc2: SHL
00001fc3: SUB
00001fc4: AND
00001fc5: PUSH2 0x245c
00001fc8: JUMPI
00001fc9: PUSH1 0x40
00001fcb: MLOAD
00001fcc: PUSH4 0xa1671295
00001fd1: PUSH1 0xe0
00001fd3: SHL
00001fd4: DUP2
00001fd5: MSTORE
00001fd6: ADDRESS
00001fd7: PUSH1 0x04
00001fd9: DUP3
00001fda: ADD
00001fdb: MSTORE
00001fdc: PUSH1 0x01
00001fde: PUSH1 0x01
00001fe0: PUSH1 0xa0
00001fe2: SHL
00001fe3: SUB
00001fe4: DUP4
00001fe5: AND
00001fe6: PUSH1 0x24
00001fe8: DUP3
00001fe9: ADD
00001fea: MSTORE
00001feb: PUSH2 0x2710
00001fee: PUSH1 0x44
00001ff0: DUP3
00001ff1: ADD
00001ff2: MSTORE
00001ff3: SWAP1
00001ff4: PUSH1 0x20
00001ff6: SWAP1
00001ff7: DUP3
00001ff8: SWAP1
00001ff9: PUSH1 0x64
00001ffb: SWAP1
00001ffc: DUP3
00001ffd: SWAP1
00001ffe: DUP9
00001fff: SWAP1
00002000: GAS
00002001: CALL
00002002: SWAP1
00002003: DUP2
00002004: ISZERO
00002005: PUSH2 0x13f3
00002008: JUMPI
00002009: DUP5
0000200a: SWAP2
0000200b: PUSH2 0x2422
0000200e: JUMPI
0000200f: JUMPDEST
00002010: POP
00002011: PUSH1 0x07
00002013: DUP1
00002014: SLOAD
00002015: PUSH1 0x01
00002017: PUSH1 0x01
00002019: PUSH1 0xa0
0000201b: SHL
0000201c: SUB
0000201d: NOT
0000201e: AND
0000201f: PUSH1 0x01
00002021: PUSH1 0x01
00002023: PUSH1 0xa0
00002025: SHL
00002026: SUB
00002027: DUP4
00002028: AND
00002029: OR
0000202a: SWAP1
0000202b: SSTORE
0000202c: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
0000204d: SWAP1
0000204e: DUP2
0000204f: ISZERO
00002050: PUSH2 0x23e7
00002053: JUMPI
00002054: PUSH32 0x0000000000000000000000000000000000000000000000000000000000050910
00002075: DUP1
00002076: ISZERO
00002077: PUSH2 0x23d3
0000207a: JUMPI
0000207b: PUSH1 0x01
0000207d: PUSH1 0x01
0000207f: PUSH1 0xa0
00002081: SHL
00002082: SUB
00002083: SWAP1
00002084: PUSH2 0x2092
00002087: SWAP1
00002088: PUSH1 0x01
0000208a: PUSH1 0xc0
0000208c: SHL
0000208d: DIV
0000208e: PUSH2 0x4cde
00002091: JUMP
00002092: JUMPDEST
00002093: AND
00002094: SWAP1
00002095: JUMPDEST
00002096: PUSH1 0x01
00002098: PUSH1 0x01
0000209a: PUSH1 0xa0
0000209c: SHL
0000209d: SUB
0000209e: AND
0000209f: SWAP1
000020a0: DUP2
000020a1: EXTCODESIZE
000020a2: ISZERO
000020a3: PUSH2 0x23cf
000020a6: JUMPI
000020a7: PUSH1 0x40
000020a9: MLOAD
000020aa: PUSH4 0xf637731d
000020af: PUSH1 0xe0
000020b1: SHL
000020b2: DUP2
000020b3: MSTORE
000020b4: PUSH1 0x01
000020b6: PUSH1 0x01
000020b8: PUSH1 0xa0
000020ba: SHL
000020bb: SUB
000020bc: SWAP1
000020bd: SWAP2
000020be: AND
000020bf: PUSH1 0x04
000020c1: DUP3
000020c2: ADD
000020c3: MSTORE
000020c4: DUP6
000020c5: DUP2
000020c6: PUSH1 0x24
000020c8: DUP2
000020c9: DUP4
000020ca: DUP7
000020cb: GAS
000020cc: CALL
000020cd: DUP1
000020ce: ISZERO
000020cf: PUSH2 0x1172
000020d2: JUMPI
000020d3: PUSH2 0x23bb
000020d6: JUMPI
000020d7: JUMPDEST
000020d8: POP
000020d9: DUP1
000020da: DUP6
000020db: SWAP2
000020dc: EXTCODESIZE
000020dd: ISZERO
000020de: PUSH2 0x0bb9
000020e1: JUMPI
000020e2: DUP2
000020e3: DUP1
000020e4: SWAP2
000020e5: PUSH1 0x24
000020e7: PUSH1 0x40
000020e9: MLOAD
000020ea: DUP1
000020eb: SWAP5
000020ec: DUP2
000020ed: SWAP4
000020ee: PUSH4 0x32148f67
000020f3: PUSH1 0xe0
000020f5: SHL
000020f6: DUP4
000020f7: MSTORE
000020f8: PUSH2 0xffff
000020fb: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000060
0000211c: AND
0000211d: PUSH1 0x04
0000211f: DUP5
00002120: ADD
00002121: MSTORE
00002122: GAS
00002123: CALL
00002124: DUP1
00002125: ISZERO
00002126: PUSH2 0x0bae
00002129: JUMPI
0000212a: PUSH2 0x23a6
0000212d: JUMPI
0000212e: JUMPDEST
0000212f: POP
00002130: POP
00002131: PUSH2 0x215a
00002134: PUSH32 0x0000000000000000000000000000000000000000000000000000000000050910
00002155: DUP5
00002156: PUSH2 0x3895
00002159: JUMP
0000215a: JUMPDEST
0000215b: SWAP1
0000215c: PUSH2 0x2165
0000215f: DUP3
00002160: ADDRESS
00002161: PUSH2 0x42cf
00002164: JUMP
00002165: JUMPDEST
00002166: DUP1
00002167: ISZERO
00002168: PUSH2 0x23a0
0000216b: JUMPI
0000216c: ADDRESS
0000216d: SWAP3
0000216e: JUMPDEST
0000216f: DUP2
00002170: ISZERO
00002171: PUSH2 0x2398
00002174: JUMPI
00002175: SWAP2
00002176: JUMPDEST
00002177: DUP2
00002178: ISZERO
00002179: PUSH2 0x2391
0000217c: JUMPI
0000217d: DUP1
0000217e: SWAP2
0000217f: JUMPDEST
00002180: ISZERO
00002181: PUSH2 0x238c
00002184: JUMPI
00002185: POP
00002186: DUP4
00002187: JUMPDEST
00002188: PUSH1 0x40
0000218a: MLOAD
0000218b: SWAP4
0000218c: PUSH2 0x0160
0000218f: DUP6
00002190: ADD
00002191: DUP6
00002192: DUP2
00002193: LT
00002194: PUSH1 0x01
00002196: PUSH1 0x01
00002198: PUSH1 0x40
0000219a: SHL
0000219b: SUB
0000219c: DUP3
0000219d: GT
0000219e: OR
0000219f: PUSH2 0x2378
000021a2: JUMPI
000021a3: PUSH1 0x40
000021a5: SWAP1
000021a6: DUP2
000021a7: MSTORE
000021a8: PUSH1 0x01
000021aa: PUSH1 0x01
000021ac: PUSH1 0xa0
000021ae: SHL
000021af: SUB
000021b0: SWAP2
000021b1: DUP3
000021b2: AND
000021b3: DUP7
000021b4: MSTORE
000021b5: SWAP4
000021b6: DUP2
000021b7: AND
000021b8: PUSH1 0x20
000021ba: DUP7
000021bb: ADD
000021bc: SWAP1
000021bd: DUP2
000021be: MSTORE
000021bf: PUSH2 0x2710
000021c2: DUP7
000021c3: DUP7
000021c4: ADD
000021c5: SWAP1
000021c6: DUP2
000021c7: MSTORE
000021c8: PUSH3 0x0d899f
000021cc: NOT
000021cd: PUSH1 0x60
000021cf: DUP9
000021d0: ADD
000021d1: SWAP1
000021d2: DUP2
000021d3: MSTORE
000021d4: PUSH3 0x0d89a0
000021d8: PUSH1 0x80
000021da: DUP1
000021db: DUP11
000021dc: ADD
000021dd: SWAP2
000021de: DUP3
000021df: MSTORE
000021e0: PUSH1 0xa0
000021e2: DUP11
000021e3: ADD
000021e4: SWAP8
000021e5: DUP9
000021e6: MSTORE
000021e7: PUSH1 0xc0
000021e9: DUP11
000021ea: ADD
000021eb: SWAP7
000021ec: DUP8
000021ed: MSTORE
000021ee: PUSH1 0xe0
000021f0: DUP11
000021f1: ADD
000021f2: DUP13
000021f3: DUP2
000021f4: MSTORE
000021f5: PUSH2 0x0100
000021f8: DUP12
000021f9: ADD
000021fa: DUP14
000021fb: DUP2
000021fc: MSTORE
000021fd: ADDRESS
000021fe: PUSH2 0x0120
00002201: DUP14
00002202: ADD
00002203: SWAP1
00002204: DUP2
00002205: MSTORE
00002206: TIMESTAMP
00002207: PUSH2 0x0140
0000220a: DUP15
0000220b: ADD
0000220c: SWAP1
0000220d: DUP2
0000220e: MSTORE
0000220f: SWAP12
00002210: MLOAD
00002211: PUSH4 0x4418b22b
00002216: PUSH1 0xe1
00002218: SHL
00002219: DUP2
0000221a: MSTORE
0000221b: SWAP13
0000221c: MLOAD
0000221d: DUP10
0000221e: AND
0000221f: PUSH1 0x04
00002221: DUP15
00002222: ADD
00002223: MSTORE
00002224: SWAP7
00002225: MLOAD
00002226: DUP9
00002227: AND
00002228: PUSH1 0x24
0000222a: DUP14
0000222b: ADD
0000222c: MSTORE
0000222d: SWAP5
0000222e: MLOAD
0000222f: PUSH3 0xffffff
00002233: AND
00002234: PUSH1 0x44
00002236: DUP13
00002237: ADD
00002238: MSTORE
00002239: SWAP3
0000223a: MLOAD
0000223b: PUSH1 0x02
0000223d: SWAP1
0000223e: DUP2
0000223f: SIGNEXTEND
00002240: PUSH1 0x64
00002242: DUP13
00002243: ADD
00002244: MSTORE
00002245: SWAP2
00002246: MLOAD
00002247: SWAP1
00002248: SWAP2
00002249: SIGNEXTEND
0000224a: PUSH1 0x84
0000224c: DUP11
0000224d: ADD
0000224e: MSTORE
0000224f: SWAP6
00002250: MLOAD
00002251: PUSH1 0xa4
00002253: DUP10
00002254: ADD
00002255: MSTORE
00002256: SWAP4
00002257: MLOAD
00002258: PUSH1 0xc4
0000225a: DUP9
0000225b: ADD
0000225c: MSTORE
0000225d: SWAP3
0000225e: MLOAD
0000225f: PUSH1 0xe4
00002261: DUP8
00002262: ADD
00002263: MSTORE
00002264: SWAP2
00002265: MLOAD
00002266: PUSH2 0x0104
00002269: DUP7
0000226a: ADD
0000226b: MSTORE
0000226c: SWAP1
0000226d: MLOAD
0000226e: DUP2
0000226f: AND
00002270: PUSH2 0x0124
00002273: DUP6
00002274: ADD
00002275: MSTORE
00002276: SWAP2
00002277: MLOAD
00002278: PUSH2 0x0144
0000227b: DUP5
0000227c: ADD
0000227d: MSTORE
0000227e: SWAP1
0000227f: DUP3
00002280: SWAP1
00002281: PUSH2 0x0164
00002284: SWAP1
00002285: DUP3
00002286: SWAP1
00002287: DUP8
00002288: SWAP1
00002289: PUSH32 0x000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe88
000022aa: AND
000022ab: GAS
000022ac: CALL
000022ad: SWAP1
000022ae: DUP2
000022af: ISZERO
000022b0: PUSH2 0x1902
000022b3: JUMPI
000022b4: DUP4
000022b5: SWAP2
000022b6: PUSH2 0x230d
000022b9: JUMPI
000022ba: JUMPDEST
000022bb: POP
000022bc: PUSH32 0x4bf60f71216c4f27fc663266fdd59a59dcba5c15a9c784b6996f75ad305099d1
000022dd: SWAP2
000022de: PUSH1 0x40
000022e0: SWAP2
000022e1: PUSH1 0x08
000022e3: SSTORE
000022e4: PUSH2 0x22eb
000022e7: PUSH2 0x44c8
000022ea: JUMP
000022eb: JUMPDEST
000022ec: PUSH2 0x22f3
000022ef: PUSH2 0x44f1
000022f2: JUMP
000022f3: JUMPDEST
000022f4: PUSH1 0x07
000022f6: SLOAD
000022f7: DUP3
000022f8: MLOAD
000022f9: SWAP2
000022fa: DUP3
000022fb: MSTORE
000022fc: PUSH1 0x01
000022fe: PUSH1 0x01
00002300: PUSH1 0xa0
00002302: SHL
00002303: SUB
00002304: AND
00002305: PUSH1 0x20
00002307: DUP3
00002308: ADD
00002309: MSTORE
0000230a: LOG1
0000230b: DUP1
0000230c: RETURN
0000230d: JUMPDEST
0000230e: SWAP1
0000230f: POP
00002310: PUSH1 0x80
00002312: DUP2
00002313: RETURNDATASIZE
00002314: PUSH1 0x80
00002316: GT
00002317: PUSH2 0x2370
0000231a: JUMPI
0000231b: JUMPDEST
0000231c: DUP2
0000231d: PUSH2 0x2328
00002320: PUSH1 0x80
00002322: SWAP4
00002323: DUP4
00002324: PUSH2 0x377d
00002327: JUMP
00002328: JUMPDEST
00002329: DUP2
0000232a: ADD
0000232b: SUB
0000232c: SLT
0000232d: PUSH2 0x236c
00002330: JUMPI
00002331: PUSH32 0x4bf60f71216c4f27fc663266fdd59a59dcba5c15a9c784b6996f75ad305099d1
00002352: SWAP2
00002353: DUP2
00002354: PUSH2 0x2363
00002357: PUSH1 0x20
00002359: PUSH1 0x40
0000235b: SWAP5
0000235c: MLOAD
0000235d: SWAP3
0000235e: ADD
0000235f: PUSH2 0x38ca
00002362: JUMP
00002363: JUMPDEST
00002364: POP
00002365: SWAP2
00002366: POP
00002367: SWAP2
00002368: PUSH2 0x22ba
0000236b: JUMP
0000236c: JUMPDEST
0000236d: DUP3
0000236e: DUP1
0000236f: REVERT
00002370: JUMPDEST
00002371: RETURNDATASIZE
00002372: SWAP2
00002373: POP
00002374: PUSH2 0x231b
00002377: JUMP
00002378: JUMPDEST
00002379: PUSH4 0x4e487b71
0000237e: PUSH1 0xe0
00002380: SHL
00002381: DUP9
00002382: MSTORE
00002383: PUSH1 0x41
00002385: PUSH1 0x04
00002387: MSTORE
00002388: PUSH1 0x24
0000238a: DUP9
0000238b: REVERT
0000238c: JUMPDEST
0000238d: PUSH2 0x2187
00002390: JUMP
00002391: JUMPDEST
00002392: DUP5
00002393: SWAP2
00002394: PUSH2 0x217f
00002397: JUMP
00002398: JUMPDEST
00002399: POP
0000239a: ADDRESS
0000239b: SWAP2
0000239c: PUSH2 0x2176
0000239f: JUMP
000023a0: JUMPDEST
000023a1: DUP3
000023a2: PUSH2 0x216e
000023a5: JUMP
000023a6: JUMPDEST
000023a7: DUP2
000023a8: PUSH2 0x23b0
000023ab: SWAP2
000023ac: PUSH2 0x377d
000023af: JUMP
000023b0: JUMPDEST
000023b1: PUSH2 0x0c4e
000023b4: JUMPI
000023b5: DUP4
000023b6: CODESIZE
000023b7: PUSH2 0x212e
000023ba: JUMP
000023bb: JUMPDEST
000023bc: DUP6
000023bd: PUSH2 0x23c8
000023c0: SWAP2
000023c1: SWAP7
000023c2: SWAP3
000023c3: SWAP7
000023c4: PUSH2 0x377d
000023c7: JUMP
000023c8: JUMPDEST
000023c9: SWAP4
000023ca: CODESIZE
000023cb: PUSH2 0x20d7
000023ce: JUMP
000023cf: JUMPDEST
000023d0: DUP6
000023d1: DUP1
000023d2: REVERT
000023d3: JUMPDEST
000023d4: PUSH4 0x4e487b71
000023d9: PUSH1 0xe0
000023db: SHL
000023dc: DUP7
000023dd: MSTORE
000023de: PUSH1 0x12
000023e0: PUSH1 0x04
000023e2: MSTORE
000023e3: PUSH1 0x24
000023e5: DUP7
000023e6: REVERT
000023e7: JUMPDEST
000023e8: PUSH1 0x01
000023ea: PUSH1 0x01
000023ec: PUSH1 0xa0
000023ee: SHL
000023ef: SUB
000023f0: PUSH2 0x241b
000023f3: PUSH32 0x0000000000000000000000000000000000000000000000000000000000050910
00002414: PUSH1 0xc0
00002416: SHL
00002417: PUSH2 0x4cde
0000241a: JUMP
0000241b: JUMPDEST
0000241c: AND
0000241d: SWAP1
0000241e: PUSH2 0x2095
00002421: JUMP
00002422: JUMPDEST
00002423: SWAP1
00002424: POP
00002425: PUSH1 0x20
00002427: DUP2
00002428: RETURNDATASIZE
00002429: PUSH1 0x20
0000242b: GT
0000242c: PUSH2 0x2454
0000242f: JUMPI
00002430: JUMPDEST
00002431: DUP2
00002432: PUSH2 0x243d
00002435: PUSH1 0x20
00002437: SWAP4
00002438: DUP4
00002439: PUSH2 0x377d
0000243c: JUMP
0000243d: JUMPDEST
0000243e: DUP2
0000243f: ADD
00002440: SUB
00002441: SLT
00002442: PUSH2 0x0c4e
00002445: JUMPI
00002446: PUSH2 0x244e
00002449: SWAP1
0000244a: PUSH2 0x38a8
0000244d: JUMP
0000244e: JUMPDEST
0000244f: CODESIZE
00002450: PUSH2 0x200f
00002453: JUMP
00002454: JUMPDEST
00002455: RETURNDATASIZE
00002456: SWAP2
00002457: POP
00002458: PUSH2 0x2430
0000245b: JUMP
0000245c: JUMPDEST
0000245d: PUSH4 0x1da01aeb
00002462: PUSH1 0xe1
00002464: SHL
00002465: DUP5
00002466: MSTORE
00002467: PUSH1 0x04
00002469: DUP5
0000246a: REVERT
0000246b: JUMPDEST
0000246c: SWAP1
0000246d: POP
0000246e: PUSH1 0x20
00002470: DUP2
00002471: RETURNDATASIZE
00002472: PUSH1 0x20
00002474: GT
00002475: PUSH2 0x249d
00002478: JUMPI
00002479: JUMPDEST
0000247a: DUP2
0000247b: PUSH2 0x2486
0000247e: PUSH1 0x20
00002480: SWAP4
00002481: DUP4
00002482: PUSH2 0x377d
00002485: JUMP
00002486: JUMPDEST
00002487: DUP2
00002488: ADD
00002489: SUB
0000248a: SLT
0000248b: PUSH2 0x0baa
0000248e: JUMPI
0000248f: PUSH2 0x2497
00002492: SWAP1
00002493: PUSH2 0x38a8
00002496: JUMP
00002497: JUMPDEST
00002498: CODESIZE
00002499: PUSH2 0x1fba
0000249c: JUMP
0000249d: JUMPDEST
0000249e: RETURNDATASIZE
0000249f: SWAP2
000024a0: POP
000024a1: PUSH2 0x2479
000024a4: JUMP
000024a5: JUMPDEST
000024a6: PUSH1 0x40
000024a8: MLOAD
000024a9: RETURNDATASIZE
000024aa: DUP8
000024ab: DUP3
000024ac: RETURNDATACOPY
000024ad: RETURNDATASIZE
000024ae: SWAP1
000024af: REVERT
000024b0: JUMPDEST
000024b1: PUSH4 0x4e487b71
000024b6: PUSH1 0xe0
000024b8: SHL
000024b9: DUP6
000024ba: MSTORE
000024bb: PUSH1 0x11
000024bd: PUSH1 0x04
000024bf: MSTORE
000024c0: PUSH1 0x24
000024c2: DUP6
000024c3: REVERT
000024c4: JUMPDEST
000024c5: PUSH4 0x32ecf575
000024ca: PUSH1 0xe0
000024cc: SHL
000024cd: DUP3
000024ce: MSTORE
000024cf: PUSH1 0x04
000024d1: DUP3
000024d2: REVERT
000024d3: JUMPDEST
000024d4: POP
000024d5: CALLVALUE
000024d6: PUSH2 0x02f2
000024d9: JUMPI
000024da: PUSH1 0x20
000024dc: CALLDATASIZE
000024dd: PUSH1 0x03
000024df: NOT
000024e0: ADD
000024e1: SLT
000024e2: PUSH2 0x02f2
000024e5: JUMPI
000024e6: PUSH2 0x24ed
000024e9: PUSH2 0x3665
000024ec: JUMP
000024ed: JUMPDEST
000024ee: PUSH4 0xffffffff
000024f3: DUP2
000024f4: AND
000024f5: DUP3
000024f6: MSTORE
000024f7: PUSH1 0x1b
000024f9: PUSH1 0x20
000024fb: MSTORE
000024fc: PUSH1 0x40
000024fe: DUP3
000024ff: KECCAK256
00002500: DUP1
00002501: SLOAD
00002502: SWAP2
00002503: SWAP1
00002504: DUP4
00002505: SWAP1
00002506: DUP2
00002507: JUMPDEST
00002508: PUSH4 0xffffffff
0000250d: DUP2
0000250e: AND
0000250f: DUP6
00002510: DUP2
00002511: LT
00002512: ISZERO
00002513: PUSH2 0x2563
00002516: JUMPI
00002517: PUSH2 0x2523
0000251a: PUSH2 0x253b
0000251d: SWAP2
0000251e: DUP5
0000251f: PUSH2 0x4cc6
00002522: JUMP
00002523: JUMPDEST
00002524: SWAP1
00002525: SLOAD
00002526: PUSH1 0x03
00002528: SWAP2
00002529: SWAP1
0000252a: SWAP2
0000252b: SHL
0000252c: SHR
0000252d: PUSH1 0x01
0000252f: PUSH1 0x01
00002531: PUSH1 0xa0
00002533: SHL
00002534: SUB
00002535: AND
00002536: DUP6
00002537: PUSH2 0x4535
0000253a: JUMP
0000253b: JUMPDEST
0000253c: PUSH2 0x254e
0000253f: JUMPI
00002540: JUMPDEST
00002541: PUSH2 0x2549
00002544: SWAP1
00002545: PUSH2 0x3808
00002548: JUMP
00002549: JUMPDEST
0000254a: PUSH2 0x2507
0000254d: JUMP
0000254e: JUMPDEST
0000254f: SWAP5
00002550: PUSH2 0x255b
00002553: PUSH2 0x2549
00002556: SWAP2
00002557: PUSH2 0x3808
0000255a: JUMP
0000255b: JUMPDEST
0000255c: SWAP6
0000255d: SWAP1
0000255e: POP
0000255f: PUSH2 0x2540
00002562: JUMP
00002563: JUMPDEST
00002564: POP
00002565: POP
00002566: SWAP3
00002567: SWAP4
00002568: PUSH4 0xffffffff
0000256d: AND
0000256e: SWAP2
0000256f: PUSH2 0x2577
00002572: DUP4
00002573: PUSH2 0x381f
00002576: JUMP
00002577: JUMPDEST
00002578: SWAP3
00002579: PUSH2 0x2585
0000257c: PUSH1 0x40
0000257e: MLOAD
0000257f: SWAP5
00002580: DUP6
00002581: PUSH2 0x377d
00002584: JUMP
00002585: JUMPDEST
00002586: DUP1
00002587: DUP5
00002588: MSTORE
00002589: PUSH2 0x2594
0000258c: PUSH1 0x1f
0000258e: NOT
0000258f: SWAP2
00002590: PUSH2 0x381f
00002593: JUMP
00002594: JUMPDEST
00002595: ADD
00002596: CALLDATASIZE
00002597: PUSH1 0x20
00002599: DUP6
0000259a: ADD
0000259b: CALLDATACOPY
0000259c: DUP2
0000259d: JUMPDEST
0000259e: PUSH4 0xffffffff
000025a3: DUP2
000025a4: AND
000025a5: DUP7
000025a6: DUP2
000025a7: LT
000025a8: ISZERO
000025a9: PUSH2 0x260c
000025ac: JUMPI
000025ad: PUSH2 0x25b6
000025b0: SWAP1
000025b1: DUP7
000025b2: PUSH2 0x4cc6
000025b5: JUMP
000025b6: JUMPDEST
000025b7: SWAP1
000025b8: SLOAD
000025b9: PUSH1 0x03
000025bb: SWAP2
000025bc: SWAP1
000025bd: SWAP2
000025be: SHL
000025bf: SHR
000025c0: PUSH1 0x01
000025c2: PUSH1 0x01
000025c4: PUSH1 0xa0
000025c6: SHL
000025c7: SUB
000025c8: AND
000025c9: PUSH2 0x25d2
000025cc: DUP2
000025cd: DUP5
000025ce: PUSH2 0x4535
000025d1: JUMP
000025d2: JUMPDEST
000025d3: PUSH2 0x25e6
000025d6: JUMPI
000025d7: JUMPDEST
000025d8: POP
000025d9: PUSH2 0x25e1
000025dc: SWAP1
000025dd: PUSH2 0x3808
000025e0: JUMP
000025e1: JUMPDEST
000025e2: PUSH2 0x259d
000025e5: JUMP
000025e6: JUMPDEST
000025e7: DUP4
000025e8: PUSH2 0x2605
000025eb: SWAP2
000025ec: PUSH2 0x25ff
000025ef: PUSH4 0xffffffff
000025f4: PUSH2 0x25e1
000025f7: SWAP6
000025f8: SWAP8
000025f9: AND
000025fa: DUP9
000025fb: PUSH2 0x3869
000025fe: JUMP
000025ff: JUMPDEST
00002600: MSTORE
00002601: PUSH2 0x3808
00002604: JUMP
00002605: JUMPDEST
00002606: SWAP3
00002607: SWAP1
00002608: PUSH2 0x25d7
0000260b: JUMP
0000260c: JUMPDEST
0000260d: PUSH1 0x40
0000260f: MLOAD
00002610: DUP1
00002611: PUSH2 0x1cda
00002614: DUP8
00002615: DUP3
00002616: PUSH2 0x3678
00002619: JUMP
0000261a: JUMPDEST
0000261b: POP
0000261c: CALLVALUE
0000261d: PUSH2 0x02f2
00002620: JUMPI
00002621: DUP1
00002622: PUSH1 0x03
00002624: NOT
00002625: CALLDATASIZE
00002626: ADD
00002627: SLT
00002628: PUSH2 0x02f2
0000262b: JUMPI
0000262c: PUSH1 0x20
0000262e: PUSH1 0x40
00002630: MLOAD
00002631: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00002652: ISZERO
00002653: ISZERO
00002654: DUP2
00002655: MSTORE
00002656: RETURN
00002657: JUMPDEST
00002658: POP
00002659: CALLVALUE
0000265a: PUSH2 0x02f2
0000265d: JUMPI
0000265e: DUP1
0000265f: PUSH1 0x03
00002661: NOT
00002662: CALLDATASIZE
00002663: ADD
00002664: SLT
00002665: PUSH2 0x02f2
00002668: JUMPI
00002669: PUSH1 0x40
0000266b: MLOAD
0000266c: PUSH32 0x000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564
0000268d: PUSH1 0x01
0000268f: PUSH1 0x01
00002691: PUSH1 0xa0
00002693: SHL
00002694: SUB
00002695: AND
00002696: DUP2
00002697: MSTORE
00002698: PUSH1 0x20
0000269a: SWAP1
0000269b: RETURN
0000269c: JUMPDEST
0000269d: POP
0000269e: CALLVALUE
0000269f: PUSH2 0x02f2
000026a2: JUMPI
000026a3: DUP1
000026a4: PUSH1 0x03
000026a6: NOT
000026a7: CALLDATASIZE
000026a8: ADD
000026a9: SLT
000026aa: PUSH2 0x02f2
000026ad: JUMPI
000026ae: PUSH2 0x26b5
000026b1: PUSH2 0x44c8
000026b4: JUMP
000026b5: JUMPDEST
000026b6: PUSH2 0x26bd
000026b9: PUSH2 0x44f1
000026bc: JUMP
000026bd: JUMPDEST
000026be: DUP1
000026bf: RETURN
000026c0: JUMPDEST
000026c1: POP
000026c2: CALLVALUE
000026c3: PUSH2 0x02f2
000026c6: JUMPI
000026c7: PUSH1 0x20
000026c9: CALLDATASIZE
000026ca: PUSH1 0x03
000026cc: NOT
000026cd: ADD
000026ce: SLT
000026cf: PUSH2 0x02f2
000026d2: JUMPI
000026d3: PUSH1 0x20
000026d5: SWAP1
000026d6: PUSH1 0x40
000026d8: SWAP1
000026d9: PUSH1 0x01
000026db: PUSH1 0x01
000026dd: PUSH1 0xa0
000026df: SHL
000026e0: SUB
000026e1: PUSH2 0x26e8
000026e4: PUSH2 0x3704
000026e7: JUMP
000026e8: JUMPDEST
000026e9: AND
000026ea: DUP2
000026eb: MSTORE
000026ec: DUP1
000026ed: DUP4
000026ee: MSTORE
000026ef: KECCAK256
000026f0: SLOAD
000026f1: PUSH1 0x40
000026f3: MLOAD
000026f4: SWAP1
000026f5: DUP2
000026f6: MSTORE
000026f7: RETURN
000026f8: JUMPDEST
000026f9: POP
000026fa: CALLVALUE
000026fb: PUSH2 0x02f2
000026fe: JUMPI
000026ff: DUP1
00002700: PUSH1 0x03
00002702: NOT
00002703: CALLDATASIZE
00002704: ADD
00002705: SLT
00002706: PUSH2 0x02f2
00002709: JUMPI
0000270a: PUSH1 0x07
0000270c: SLOAD
0000270d: PUSH1 0x40
0000270f: MLOAD
00002710: PUSH1 0x01
00002712: PUSH1 0x01
00002714: PUSH1 0xa0
00002716: SHL
00002717: SUB
00002718: SWAP1
00002719: SWAP2
0000271a: AND
0000271b: DUP2
0000271c: MSTORE
0000271d: PUSH1 0x20
0000271f: SWAP1
00002720: RETURN
00002721: JUMPDEST
00002722: POP
00002723: CALLVALUE
00002724: PUSH2 0x02f2
00002727: JUMPI
00002728: DUP1
00002729: PUSH1 0x03
0000272b: NOT
0000272c: CALLDATASIZE
0000272d: ADD
0000272e: SLT
0000272f: PUSH2 0x02f2
00002732: JUMPI
00002733: PUSH1 0x20
00002735: PUSH1 0x01
00002737: PUSH1 0x01
00002739: PUSH1 0x40
0000273b: SHL
0000273c: SUB
0000273d: PUSH1 0x09
0000273f: SLOAD
00002740: AND
00002741: PUSH1 0x40
00002743: MLOAD
00002744: SWAP1
00002745: DUP2
00002746: MSTORE
00002747: RETURN
00002748: JUMPDEST
00002749: POP
0000274a: CALLVALUE
0000274b: PUSH2 0x02f2
0000274e: JUMPI
0000274f: DUP1
00002750: PUSH1 0x03
00002752: NOT
00002753: CALLDATASIZE
00002754: ADD
00002755: SLT
00002756: PUSH2 0x02f2
00002759: JUMPI
0000275a: PUSH1 0x20
0000275c: PUSH1 0x40
0000275e: MLOAD
0000275f: PUSH2 0xffff
00002762: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000060
00002783: AND
00002784: DUP2
00002785: MSTORE
00002786: RETURN
00002787: JUMPDEST
00002788: POP
00002789: CALLVALUE
0000278a: PUSH2 0x02f2
0000278d: JUMPI
0000278e: PUSH1 0x20
00002790: CALLDATASIZE
00002791: PUSH1 0x03
00002793: NOT
00002794: ADD
00002795: SLT
00002796: PUSH2 0x02f2
00002799: JUMPI
0000279a: PUSH1 0x20
0000279c: SWAP1
0000279d: PUSH1 0x40
0000279f: SWAP1
000027a0: PUSH1 0x01
000027a2: PUSH1 0x01
000027a4: PUSH1 0xa0
000027a6: SHL
000027a7: SUB
000027a8: PUSH2 0x27af
000027ab: PUSH2 0x3704
000027ae: JUMP
000027af: JUMPDEST
000027b0: AND
000027b1: DUP2
000027b2: MSTORE
000027b3: PUSH1 0x10
000027b5: DUP4
000027b6: MSTORE
000027b7: KECCAK256
000027b8: SLOAD
000027b9: PUSH1 0x40
000027bb: MLOAD
000027bc: SWAP1
000027bd: DUP2
000027be: MSTORE
000027bf: RETURN
000027c0: JUMPDEST
000027c1: POP
000027c2: CALLVALUE
000027c3: PUSH2 0x02f2
000027c6: JUMPI
000027c7: PUSH1 0x20
000027c9: CALLDATASIZE
000027ca: PUSH1 0x03
000027cc: NOT
000027cd: ADD
000027ce: SLT
000027cf: PUSH2 0x02f2
000027d2: JUMPI
000027d3: PUSH1 0x20
000027d5: SWAP1
000027d6: PUSH1 0x01
000027d8: PUSH1 0x01
000027da: PUSH1 0xa0
000027dc: SHL
000027dd: SUB
000027de: PUSH2 0x27e5
000027e1: PUSH2 0x3704
000027e4: JUMP
000027e5: JUMPDEST
000027e6: AND
000027e7: DUP2
000027e8: MSTORE
000027e9: PUSH1 0x0d
000027eb: DUP3
000027ec: MSTORE
000027ed: PUSH1 0x40
000027ef: PUSH1 0x01
000027f1: DUP1
000027f2: PUSH1 0xa0
000027f4: SHL
000027f5: SUB
000027f6: SWAP2
000027f7: KECCAK256
000027f8: SLOAD
000027f9: AND
000027fa: PUSH1 0x40
000027fc: MLOAD
000027fd: SWAP1
000027fe: DUP2
000027ff: MSTORE
00002800: RETURN
00002801: JUMPDEST
00002802: POP
00002803: CALLVALUE
00002804: PUSH2 0x02f2
00002807: JUMPI
00002808: DUP1
00002809: PUSH1 0x03
0000280b: NOT
0000280c: CALLDATASIZE
0000280d: ADD
0000280e: SLT
0000280f: PUSH2 0x02f2
00002812: JUMPI
00002813: PUSH1 0x40
00002815: MLOAD
00002816: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002837: PUSH1 0x01
00002839: PUSH1 0x01
0000283b: PUSH1 0xa0
0000283d: SHL
0000283e: SUB
0000283f: AND
00002840: DUP2
00002841: MSTORE
00002842: PUSH1 0x20
00002844: SWAP1
00002845: RETURN
00002846: JUMPDEST
00002847: POP
00002848: CALLVALUE
00002849: PUSH2 0x02f2
0000284c: JUMPI
0000284d: PUSH1 0x20
0000284f: CALLDATASIZE
00002850: PUSH1 0x03
00002852: NOT
00002853: ADD
00002854: SLT
00002855: PUSH2 0x02f2
00002858: JUMPI
00002859: PUSH1 0x20
0000285b: PUSH2 0x1574
0000285e: PUSH2 0x2865
00002861: PUSH2 0x3665
00002864: JUMP
00002865: JUMPDEST
00002866: PUSH2 0x433e
00002869: JUMP
0000286a: JUMPDEST
0000286b: POP
0000286c: CALLVALUE
0000286d: PUSH2 0x02f2
00002870: JUMPI
00002871: DUP1
00002872: PUSH1 0x03
00002874: NOT
00002875: CALLDATASIZE
00002876: ADD
00002877: SLT
00002878: PUSH2 0x02f2
0000287b: JUMPI
0000287c: PUSH1 0x20
0000287e: PUSH2 0x2885
00002881: PUSH2 0x37d8
00002884: JUMP
00002885: JUMPDEST
00002886: PUSH1 0xff
00002888: PUSH1 0x40
0000288a: MLOAD
0000288b: SWAP2
0000288c: AND
0000288d: DUP2
0000288e: MSTORE
0000288f: RETURN
00002890: JUMPDEST
00002891: POP
00002892: CALLVALUE
00002893: PUSH2 0x02f2
00002896: JUMPI
00002897: PUSH1 0x20
00002899: CALLDATASIZE
0000289a: PUSH1 0x03
0000289c: NOT
0000289d: ADD
0000289e: SLT
0000289f: PUSH2 0x02f2
000028a2: JUMPI
000028a3: PUSH1 0x20
000028a5: SWAP1
000028a6: PUSH1 0x40
000028a8: SWAP1
000028a9: PUSH1 0x01
000028ab: PUSH1 0x01
000028ad: PUSH1 0xa0
000028af: SHL
000028b0: SUB
000028b1: PUSH2 0x28b8
000028b4: PUSH2 0x3704
000028b7: JUMP
000028b8: JUMPDEST
000028b9: AND
000028ba: DUP2
000028bb: MSTORE
000028bc: PUSH1 0x0b
000028be: DUP4
000028bf: MSTORE
000028c0: KECCAK256
000028c1: SLOAD
000028c2: PUSH1 0x40
000028c4: MLOAD
000028c5: SWAP1
000028c6: DUP2
000028c7: MSTORE
000028c8: RETURN
000028c9: JUMPDEST
000028ca: POP
000028cb: CALLVALUE
000028cc: PUSH2 0x02f2
000028cf: JUMPI
000028d0: PUSH1 0x20
000028d2: CALLDATASIZE
000028d3: PUSH1 0x03
000028d5: NOT
000028d6: ADD
000028d7: SLT
000028d8: PUSH2 0x02f2
000028db: JUMPI
000028dc: PUSH1 0x40
000028de: PUSH1 0x20
000028e0: SWAP2
000028e1: PUSH4 0xffffffff
000028e6: PUSH2 0x28ed
000028e9: PUSH2 0x3665
000028ec: JUMP
000028ed: JUMPDEST
000028ee: AND
000028ef: DUP2
000028f0: MSTORE
000028f1: PUSH1 0x18
000028f3: DUP4
000028f4: MSTORE
000028f5: KECCAK256
000028f6: SLOAD
000028f7: PUSH1 0x40
000028f9: MLOAD
000028fa: SWAP1
000028fb: DUP2
000028fc: MSTORE
000028fd: RETURN
000028fe: JUMPDEST
000028ff: POP
00002900: CALLVALUE
00002901: PUSH2 0x02f2
00002904: JUMPI
00002905: PUSH1 0x40
00002907: CALLDATASIZE
00002908: PUSH1 0x03
0000290a: NOT
0000290b: ADD
0000290c: SLT
0000290d: PUSH2 0x02f2
00002910: JUMPI
00002911: PUSH1 0x40
00002913: PUSH1 0x20
00002915: SWAP2
00002916: PUSH2 0x291d
00002919: PUSH2 0x3665
0000291c: JUMP
0000291d: JUMPDEST
0000291e: PUSH4 0xffffffff
00002923: PUSH2 0x292a
00002926: PUSH2 0x371a
00002929: JUMP
0000292a: JUMPDEST
0000292b: SWAP2
0000292c: AND
0000292d: DUP3
0000292e: MSTORE
0000292f: PUSH1 0x11
00002931: DUP5
00002932: MSTORE
00002933: DUP3
00002934: DUP3
00002935: KECCAK256
00002936: PUSH1 0x01
00002938: PUSH1 0x01
0000293a: PUSH1 0xa0
0000293c: SHL
0000293d: SUB
0000293e: SWAP1
0000293f: SWAP2
00002940: AND
00002941: DUP3
00002942: MSTORE
00002943: DUP4
00002944: MSTORE
00002945: KECCAK256
00002946: SLOAD
00002947: PUSH1 0x40
00002949: MLOAD
0000294a: SWAP1
0000294b: DUP2
0000294c: MSTORE
0000294d: RETURN
0000294e: JUMPDEST
0000294f: POP
00002950: CALLVALUE
00002951: PUSH2 0x02f2
00002954: JUMPI
00002955: DUP1
00002956: PUSH1 0x03
00002958: NOT
00002959: CALLDATASIZE
0000295a: ADD
0000295b: SLT
0000295c: PUSH2 0x02f2
0000295f: JUMPI
00002960: PUSH2 0x2967
00002963: PUSH2 0x4141
00002966: JUMP
00002967: JUMPDEST
00002968: PUSH1 0x08
0000296a: SLOAD
0000296b: ISZERO
0000296c: PUSH2 0x2a49
0000296f: JUMPI
00002970: CALLER
00002971: DUP2
00002972: MSTORE
00002973: PUSH1 0x0e
00002975: PUSH1 0x20
00002977: MSTORE
00002978: PUSH1 0x40
0000297a: DUP2
0000297b: KECCAK256
0000297c: SLOAD
0000297d: TIMESTAMP
0000297e: LT
0000297f: PUSH2 0x2a3a
00002982: JUMPI
00002983: CALLER
00002984: DUP2
00002985: MSTORE
00002986: PUSH1 0x0b
00002988: PUSH1 0x20
0000298a: MSTORE
0000298b: PUSH1 0x40
0000298d: DUP2
0000298e: KECCAK256
0000298f: SLOAD
00002990: DUP1
00002991: ISZERO
00002992: PUSH2 0x2a2b
00002995: JUMPI
00002996: CALLER
00002997: DUP3
00002998: MSTORE
00002999: PUSH1 0x0b
0000299b: PUSH1 0x20
0000299d: MSTORE
0000299e: DUP2
0000299f: PUSH1 0x40
000029a1: DUP2
000029a2: KECCAK256
000029a3: SSTORE
000029a4: CALLER
000029a5: DUP3
000029a6: MSTORE
000029a7: PUSH1 0x10
000029a9: PUSH1 0x20
000029ab: MSTORE
000029ac: DUP2
000029ad: PUSH1 0x40
000029af: DUP2
000029b0: KECCAK256
000029b1: SSTORE
000029b2: PUSH2 0x29bb
000029b5: DUP2
000029b6: CALLER
000029b7: PUSH2 0x42cf
000029ba: JUMP
000029bb: JUMPDEST
000029bc: PUSH3 0x828480
000029c0: TIMESTAMP
000029c1: ADD
000029c2: DUP1
000029c3: TIMESTAMP
000029c4: GT
000029c5: PUSH2 0x2a17
000029c8: JUMPI
000029c9: CALLER
000029ca: DUP4
000029cb: MSTORE
000029cc: PUSH1 0x0e
000029ce: PUSH1 0x20
000029d0: MSTORE
000029d1: PUSH1 0x40
000029d3: DUP4
000029d4: KECCAK256
000029d5: SSTORE
000029d6: PUSH4 0xffffffff
000029db: PUSH2 0x29e2
000029de: PUSH2 0x396f
000029e1: JUMP
000029e2: JUMPDEST
000029e3: AND
000029e4: PUSH1 0x40
000029e6: MLOAD
000029e7: SWAP2
000029e8: DUP3
000029e9: MSTORE
000029ea: PUSH32 0x3317998f30c22a741914cbb8b3f65cce45e8817db54aa6509a6ecb004753d05e
00002a0b: PUSH1 0x20
00002a0d: CALLER
00002a0e: SWAP4
00002a0f: LOG3
00002a10: PUSH1 0x01
00002a12: PUSH1 0x06
00002a14: SSTORE
00002a15: DUP1
00002a16: RETURN
00002a17: JUMPDEST
00002a18: PUSH4 0x4e487b71
00002a1d: PUSH1 0xe0
00002a1f: SHL
00002a20: DUP4
00002a21: MSTORE
00002a22: PUSH1 0x11
00002a24: PUSH1 0x04
00002a26: MSTORE
00002a27: PUSH1 0x24
00002a29: DUP4
00002a2a: REVERT
00002a2b: JUMPDEST
00002a2c: PUSH4 0x05950abd
00002a31: PUSH1 0xe5
00002a33: SHL
00002a34: DUP3
00002a35: MSTORE
00002a36: PUSH1 0x04
00002a38: DUP3
00002a39: REVERT
00002a3a: JUMPDEST
00002a3b: PUSH4 0x42355f99
00002a40: PUSH1 0xe1
00002a42: SHL
00002a43: DUP2
00002a44: MSTORE
00002a45: PUSH1 0x04
00002a47: SWAP1
00002a48: REVERT
00002a49: JUMPDEST
00002a4a: PUSH4 0xb806e7fd
00002a4f: PUSH1 0xe0
00002a51: SHL
00002a52: DUP2
00002a53: MSTORE
00002a54: PUSH1 0x04
00002a56: SWAP1
00002a57: REVERT
00002a58: JUMPDEST
00002a59: POP
00002a5a: CALLVALUE
00002a5b: PUSH2 0x02f2
00002a5e: JUMPI
00002a5f: PUSH1 0x40
00002a61: CALLDATASIZE
00002a62: PUSH1 0x03
00002a64: NOT
00002a65: ADD
00002a66: SLT
00002a67: PUSH2 0x02f2
00002a6a: JUMPI
00002a6b: PUSH1 0x40
00002a6d: PUSH1 0x20
00002a6f: SWAP2
00002a70: PUSH2 0x2a77
00002a73: PUSH2 0x3665
00002a76: JUMP
00002a77: JUMPDEST
00002a78: PUSH4 0xffffffff
00002a7d: PUSH2 0x2a84
00002a80: PUSH2 0x371a
00002a83: JUMP
00002a84: JUMPDEST
00002a85: SWAP2
00002a86: AND
00002a87: DUP3
00002a88: MSTORE
00002a89: PUSH1 0x15
00002a8b: DUP5
00002a8c: MSTORE
00002a8d: DUP3
00002a8e: DUP3
00002a8f: KECCAK256
00002a90: PUSH1 0x01
00002a92: PUSH1 0x01
00002a94: PUSH1 0xa0
00002a96: SHL
00002a97: SUB
00002a98: SWAP1
00002a99: SWAP2
00002a9a: AND
00002a9b: DUP3
00002a9c: MSTORE
00002a9d: DUP4
00002a9e: MSTORE
00002a9f: KECCAK256
00002aa0: SLOAD
00002aa1: PUSH1 0x40
00002aa3: MLOAD
00002aa4: SWAP1
00002aa5: DUP2
00002aa6: MSTORE
00002aa7: RETURN
00002aa8: JUMPDEST
00002aa9: POP
00002aaa: CALLVALUE
00002aab: PUSH2 0x02f2
00002aae: JUMPI
00002aaf: PUSH1 0x40
00002ab1: CALLDATASIZE
00002ab2: PUSH1 0x03
00002ab4: NOT
00002ab5: ADD
00002ab6: SLT
00002ab7: PUSH2 0x02f2
00002aba: JUMPI
00002abb: PUSH4 0xffffffff
00002ac0: PUSH1 0x40
00002ac2: PUSH1 0x20
00002ac4: SWAP3
00002ac5: PUSH2 0x2acc
00002ac8: PUSH2 0x3665
00002acb: JUMP
00002acc: JUMPDEST
00002acd: DUP4
00002ace: PUSH2 0x2ad5
00002ad1: PUSH2 0x371a
00002ad4: JUMP
00002ad5: JUMPDEST
00002ad6: SWAP2
00002ad7: AND
00002ad8: DUP3
00002ad9: MSTORE
00002ada: PUSH1 0x14
00002adc: DUP6
00002add: MSTORE
00002ade: DUP3
00002adf: DUP3
00002ae0: KECCAK256
00002ae1: PUSH1 0x01
00002ae3: PUSH1 0x01
00002ae5: PUSH1 0xa0
00002ae7: SHL
00002ae8: SUB
00002ae9: SWAP1
00002aea: SWAP2
00002aeb: AND
00002aec: DUP3
00002aed: MSTORE
00002aee: DUP5
00002aef: MSTORE
00002af0: KECCAK256
00002af1: SLOAD
00002af2: PUSH1 0x40
00002af4: MLOAD
00002af5: SWAP2
00002af6: AND
00002af7: DUP2
00002af8: MSTORE
00002af9: RETURN
00002afa: JUMPDEST
00002afb: POP
00002afc: CALLVALUE
00002afd: PUSH2 0x02f2
00002b00: JUMPI
00002b01: DUP1
00002b02: PUSH1 0x03
00002b04: NOT
00002b05: CALLDATASIZE
00002b06: ADD
00002b07: SLT
00002b08: PUSH2 0x02f2
00002b0b: JUMPI
00002b0c: PUSH1 0x20
00002b0e: PUSH1 0x40
00002b10: MLOAD
00002b11: PUSH1 0x12
00002b13: DUP2
00002b14: MSTORE
00002b15: RETURN
00002b16: JUMPDEST
00002b17: POP
00002b18: CALLVALUE
00002b19: PUSH2 0x02f2
00002b1c: JUMPI
00002b1d: PUSH1 0x20
00002b1f: CALLDATASIZE
00002b20: PUSH1 0x03
00002b22: NOT
00002b23: ADD
00002b24: SLT
00002b25: PUSH2 0x02f2
00002b28: JUMPI
00002b29: PUSH1 0x20
00002b2b: SWAP1
00002b2c: PUSH4 0xffffffff
00002b31: PUSH2 0x2b38
00002b34: PUSH2 0x3665
00002b37: JUMP
00002b38: JUMPDEST
00002b39: AND
00002b3a: DUP2
00002b3b: MSTORE
00002b3c: PUSH1 0x17
00002b3e: DUP3
00002b3f: MSTORE
00002b40: PUSH1 0x40
00002b42: PUSH1 0x01
00002b44: DUP1
00002b45: PUSH1 0xa0
00002b47: SHL
00002b48: SUB
00002b49: SWAP2
00002b4a: KECCAK256
00002b4b: SLOAD
00002b4c: AND
00002b4d: PUSH1 0x40
00002b4f: MLOAD
00002b50: SWAP1
00002b51: DUP2
00002b52: MSTORE
00002b53: RETURN
00002b54: JUMPDEST
00002b55: POP
00002b56: CALLVALUE
00002b57: PUSH2 0x02f2
00002b5a: JUMPI
00002b5b: PUSH1 0x20
00002b5d: CALLDATASIZE
00002b5e: PUSH1 0x03
00002b60: NOT
00002b61: ADD
00002b62: SLT
00002b63: PUSH2 0x02f2
00002b66: JUMPI
00002b67: PUSH1 0x20
00002b69: SWAP1
00002b6a: PUSH1 0x40
00002b6c: SWAP1
00002b6d: PUSH1 0x01
00002b6f: PUSH1 0x01
00002b71: PUSH1 0xa0
00002b73: SHL
00002b74: SUB
00002b75: PUSH2 0x2b7c
00002b78: PUSH2 0x3704
00002b7b: JUMP
00002b7c: JUMPDEST
00002b7d: AND
00002b7e: DUP2
00002b7f: MSTORE
00002b80: PUSH1 0x0a
00002b82: DUP4
00002b83: MSTORE
00002b84: KECCAK256
00002b85: SLOAD
00002b86: PUSH1 0x40
00002b88: MLOAD
00002b89: SWAP1
00002b8a: DUP2
00002b8b: MSTORE
00002b8c: RETURN
00002b8d: JUMPDEST
00002b8e: POP
00002b8f: CALLVALUE
00002b90: PUSH2 0x02f2
00002b93: JUMPI
00002b94: PUSH1 0x20
00002b96: CALLDATASIZE
00002b97: PUSH1 0x03
00002b99: NOT
00002b9a: ADD
00002b9b: SLT
00002b9c: PUSH2 0x02f2
00002b9f: JUMPI
00002ba0: PUSH1 0x20
00002ba2: SWAP1
00002ba3: PUSH1 0x40
00002ba5: SWAP1
00002ba6: PUSH1 0x01
00002ba8: PUSH1 0x01
00002baa: PUSH1 0xa0
00002bac: SHL
00002bad: SUB
00002bae: PUSH2 0x2bb5
00002bb1: PUSH2 0x3704
00002bb4: JUMP
00002bb5: JUMPDEST
00002bb6: AND
00002bb7: DUP2
00002bb8: MSTORE
00002bb9: PUSH1 0x0c
00002bbb: DUP4
00002bbc: MSTORE
00002bbd: KECCAK256
00002bbe: SLOAD
00002bbf: PUSH1 0x40
00002bc1: MLOAD
00002bc2: SWAP1
00002bc3: DUP2
00002bc4: MSTORE
00002bc5: RETURN
00002bc6: JUMPDEST
00002bc7: POP
00002bc8: CALLVALUE
00002bc9: PUSH2 0x02f2
00002bcc: JUMPI
00002bcd: PUSH1 0x60
00002bcf: CALLDATASIZE
00002bd0: PUSH1 0x03
00002bd2: NOT
00002bd3: ADD
00002bd4: SLT
00002bd5: PUSH2 0x02f2
00002bd8: JUMPI
00002bd9: PUSH2 0x2be0
00002bdc: PUSH2 0x3704
00002bdf: JUMP
00002be0: JUMPDEST
00002be1: PUSH2 0x2be8
00002be4: PUSH2 0x371a
00002be7: JUMP
00002be8: JUMPDEST
00002be9: PUSH1 0x01
00002beb: PUSH1 0x01
00002bed: PUSH1 0xa0
00002bef: SHL
00002bf0: SUB
00002bf1: DUP3
00002bf2: AND
00002bf3: DUP1
00002bf4: DUP5
00002bf5: MSTORE
00002bf6: PUSH1 0x01
00002bf8: PUSH1 0x20
00002bfa: DUP2
00002bfb: DUP2
00002bfc: MSTORE
00002bfd: PUSH1 0x40
00002bff: DUP1
00002c00: DUP8
00002c01: KECCAK256
00002c02: CALLER
00002c03: DUP9
00002c04: MSTORE
00002c05: SWAP1
00002c06: SWAP2
00002c07: MSTORE
00002c08: DUP6
00002c09: KECCAK256
00002c0a: SLOAD
00002c0b: PUSH1 0x44
00002c0d: CALLDATALOAD
00002c0e: SWAP5
00002c0f: SWAP3
00002c10: SWAP1
00002c11: SWAP2
00002c12: DUP3
00002c13: ADD
00002c14: PUSH2 0x2c24
00002c17: JUMPI
00002c18: JUMPDEST
00002c19: POP
00002c1a: POP
00002c1b: PUSH2 0x1a04
00002c1e: SWAP4
00002c1f: POP
00002c20: PUSH2 0x420a
00002c23: JUMP
00002c24: JUMPDEST
00002c25: DUP5
00002c26: DUP3
00002c27: LT
00002c28: PUSH2 0x2c8b
00002c2b: JUMPI
00002c2c: DUP1
00002c2d: ISZERO
00002c2e: PUSH2 0x2c77
00002c31: JUMPI
00002c32: CALLER
00002c33: ISZERO
00002c34: PUSH2 0x2c63
00002c37: JUMPI
00002c38: PUSH1 0x40
00002c3a: DUP7
00002c3b: DUP7
00002c3c: SWAP3
00002c3d: PUSH2 0x1a04
00002c40: SWAP9
00002c41: MSTORE
00002c42: PUSH1 0x01
00002c44: PUSH1 0x20
00002c46: MSTORE
00002c47: DUP2
00002c48: DUP2
00002c49: KECCAK256
00002c4a: PUSH1 0x01
00002c4c: DUP1
00002c4d: PUSH1 0xa0
00002c4f: SHL
00002c50: SUB
00002c51: CALLER
00002c52: AND
00002c53: DUP3
00002c54: MSTORE
00002c55: PUSH1 0x20
00002c57: MSTORE
00002c58: KECCAK256
00002c59: SWAP2
00002c5a: SUB
00002c5b: SWAP1
00002c5c: SSTORE
00002c5d: CODESIZE
00002c5e: DUP1
00002c5f: PUSH2 0x2c18
00002c62: JUMP
00002c63: JUMPDEST
00002c64: PUSH4 0x4a1406b1
00002c69: PUSH1 0xe1
00002c6b: SHL
00002c6c: DUP7
00002c6d: MSTORE
00002c6e: PUSH1 0x04
00002c70: DUP7
00002c71: SWAP1
00002c72: MSTORE
00002c73: PUSH1 0x24
00002c75: DUP7
00002c76: REVERT
00002c77: JUMPDEST
00002c78: PUSH4 0xe602df05
00002c7d: PUSH1 0xe0
00002c7f: SHL
00002c80: DUP7
00002c81: MSTORE
00002c82: PUSH1 0x04
00002c84: DUP7
00002c85: SWAP1
00002c86: MSTORE
00002c87: PUSH1 0x24
00002c89: DUP7
00002c8a: REVERT
00002c8b: JUMPDEST
00002c8c: PUSH1 0x64
00002c8e: DUP7
00002c8f: DUP7
00002c90: DUP5
00002c91: PUSH4 0x7dc7a0d9
00002c96: PUSH1 0xe1
00002c98: SHL
00002c99: DUP4
00002c9a: MSTORE
00002c9b: CALLER
00002c9c: PUSH1 0x04
00002c9e: MSTORE
00002c9f: PUSH1 0x24
00002ca1: MSTORE
00002ca2: PUSH1 0x44
00002ca4: MSTORE
00002ca5: REVERT
00002ca6: JUMPDEST
00002ca7: POP
00002ca8: CALLVALUE
00002ca9: PUSH2 0x02f2
00002cac: JUMPI
00002cad: PUSH1 0xa0
00002caf: CALLDATASIZE
00002cb0: PUSH1 0x03
00002cb2: NOT
00002cb3: ADD
00002cb4: SLT
00002cb5: PUSH2 0x02f2
00002cb8: JUMPI
00002cb9: PUSH1 0x04
00002cbb: CALLDATALOAD
00002cbc: SWAP1
00002cbd: PUSH2 0x2cc4
00002cc0: PUSH2 0x371a
00002cc3: JUMP
00002cc4: JUMPDEST
00002cc5: PUSH1 0x64
00002cc7: CALLDATALOAD
00002cc8: SWAP3
00002cc9: PUSH1 0x84
00002ccb: CALLDATALOAD
00002ccc: SWAP2
00002ccd: DUP3
00002cce: ISZERO
00002ccf: ISZERO
00002cd0: DUP4
00002cd1: SUB
00002cd2: PUSH2 0x0c4e
00002cd5: JUMPI
00002cd6: PUSH2 0x2cdd
00002cd9: PUSH2 0x4141
00002cdc: JUMP
00002cdd: JUMPDEST
00002cde: PUSH1 0x08
00002ce0: SLOAD
00002ce1: ISZERO
00002ce2: PUSH2 0x0c3f
00002ce5: JUMPI
00002ce6: PUSH32 0x000000000000000000000000000000000000000000000000000000e8d4a51000
00002d07: DUP3
00002d08: LT
00002d09: PUSH2 0x339e
00002d0c: JUMPI
00002d0d: PUSH1 0x01
00002d0f: PUSH1 0x01
00002d11: PUSH1 0xa0
00002d13: SHL
00002d14: SUB
00002d15: DUP2
00002d16: AND
00002d17: SWAP3
00002d18: CALLER
00002d19: DUP5
00002d1a: EQ
00002d1b: PUSH2 0x338f
00002d1e: JUMPI
00002d1f: DUP4
00002d20: DUP6
00002d21: MSTORE
00002d22: PUSH1 0x0d
00002d24: PUSH1 0x20
00002d26: MSTORE
00002d27: PUSH1 0x40
00002d29: DUP6
00002d2a: KECCAK256
00002d2b: SLOAD
00002d2c: PUSH1 0x01
00002d2e: PUSH1 0x01
00002d30: PUSH1 0xa0
00002d32: SHL
00002d33: SUB
00002d34: AND
00002d35: CALLER
00002d36: EQ
00002d37: PUSH2 0x3380
00002d3a: JUMPI
00002d3b: DUP6
00002d3c: TIMESTAMP
00002d3d: GT
00002d3e: PUSH2 0x3371
00002d41: JUMPI
00002d42: CALLER
00002d43: DUP6
00002d44: MSTORE
00002d45: PUSH1 0x0c
00002d47: PUSH1 0x20
00002d49: MSTORE
00002d4a: PUSH1 0x40
00002d4c: DUP6
00002d4d: KECCAK256
00002d4e: SLOAD
00002d4f: TIMESTAMP
00002d50: LT
00002d51: PUSH2 0x3363
00002d54: JUMPI
00002d55: DUP5
00002d56: SWAP1
00002d57: DUP1
00002d58: PUSH2 0x334e
00002d5b: JUMPI
00002d5c: JUMPDEST
00002d5d: PUSH2 0x333e
00002d60: JUMPI
00002d61: JUMPDEST
00002d62: PUSH2 0x2d96
00002d65: DUP4
00002d66: ADDRESS
00002d67: CALLER
00002d68: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00002d89: PUSH1 0x01
00002d8b: PUSH1 0x01
00002d8d: PUSH1 0xa0
00002d8f: SHL
00002d90: SUB
00002d91: AND
00002d92: PUSH2 0x4568
00002d95: JUMP
00002d96: JUMPDEST
00002d97: PUSH2 0x2d9e
00002d9a: PUSH2 0x3a54
00002d9d: JUMP
00002d9e: JUMPDEST
00002d9f: SWAP2
00002da0: PUSH1 0x01
00002da2: PUSH1 0x01
00002da4: PUSH1 0x40
00002da6: SHL
00002da7: SUB
00002da8: PUSH1 0x09
00002daa: SLOAD
00002dab: AND
00002dac: PUSH3 0x015180
00002db0: DUP2
00002db1: ADD
00002db2: DUP1
00002db3: SWAP2
00002db4: GT
00002db5: PUSH2 0x0b81
00002db8: JUMPI
00002db9: TIMESTAMP
00002dba: LT
00002dbb: ISZERO
00002dbc: PUSH2 0x3312
00002dbf: JUMPI
00002dc0: PUSH2 0x2de9
00002dc3: PUSH32 0x0000000000000000000000000000000000000000000000000000000000050910
00002de4: DUP6
00002de5: PUSH2 0x3895
00002de8: JUMP
00002de9: JUMPDEST
00002dea: SWAP5
00002deb: JUMPDEST
00002dec: PUSH1 0x44
00002dee: CALLDATALOAD
00002def: DUP7
00002df0: LT
00002df1: PUSH2 0x0b46
00002df4: JUMPI
00002df5: PUSH1 0x03
00002df7: DUP6
00002df8: MUL
00002df9: DUP6
00002dfa: DUP2
00002dfb: DIV
00002dfc: PUSH1 0x03
00002dfe: EQ
00002dff: DUP7
00002e00: ISZERO
00002e01: OR
00002e02: ISZERO
00002e03: PUSH2 0x0b32
00002e06: JUMPI
00002e07: PUSH1 0x64
00002e09: SWAP1
00002e0a: DIV
00002e0b: SWAP4
00002e0c: DUP5
00002e0d: PUSH8 0x0de0b6b3a7640000
00002e16: MUL
00002e17: PUSH8 0x0de0b6b3a7640000
00002e20: DUP2
00002e21: DIV
00002e22: DUP7
00002e23: SUB
00002e24: PUSH2 0x0b1e
00002e27: JUMPI
00002e28: SWAP1
00002e29: PUSH2 0x2e31
00002e2c: SWAP2
00002e2d: PUSH2 0x37b8
00002e30: JUMP
00002e31: JUMPDEST
00002e32: SWAP6
00002e33: DUP5
00002e34: ISZERO
00002e35: PUSH2 0x0b0f
00002e38: JUMPI
00002e39: DUP7
00002e3a: ISZERO
00002e3b: PUSH2 0x0afd
00002e3e: JUMPI
00002e3f: DUP8
00002e40: SWAP9
00002e41: PUSH2 0x2e4a
00002e44: DUP9
00002e45: ADDRESS
00002e46: PUSH2 0x42cf
00002e49: JUMP
00002e4a: JUMPDEST
00002e4b: PUSH2 0x2710
00002e4e: PUSH2 0x2e56
00002e51: DUP10
00002e52: PUSH2 0x387d
00002e55: JUMP
00002e56: JUMPDEST
00002e57: DIV
00002e58: SWAP1
00002e59: PUSH2 0x2710
00002e5c: PUSH2 0x2e64
00002e5f: DUP9
00002e60: PUSH2 0x387d
00002e63: JUMP
00002e64: JUMPDEST
00002e65: DIV
00002e66: SWAP2
00002e67: DUP11
00002e68: PUSH1 0x08
00002e6a: SLOAD
00002e6b: SWAP4
00002e6c: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000
00002e8d: SWAP1
00002e8e: DUP2
00002e8f: PUSH1 0x00
00002e91: EQ
00002e92: PUSH2 0x330b
00002e95: JUMPI
00002e96: DUP13
00002e97: SWAP4
00002e98: JUMPDEST
00002e99: DUP3
00002e9a: ISZERO
00002e9b: PUSH2 0x3304
00002e9e: JUMPI
00002e9f: DUP12
00002ea0: SWAP3
00002ea1: JUMPDEST
00002ea2: DUP1
00002ea3: ISZERO
00002ea4: PUSH2 0x32fd
00002ea7: JUMPI
00002ea8: DUP2
00002ea9: SWAP5
00002eaa: JUMPDEST
00002eab: POP
00002eac: ISZERO
00002ead: PUSH2 0x32f5
00002eb0: JUMPI
00002eb1: POP
00002eb2: SWAP3
00002eb3: JUMPDEST
00002eb4: PUSH1 0x40
00002eb6: MLOAD
00002eb7: SWAP6
00002eb8: PUSH2 0x2ec0
00002ebb: DUP8
00002ebc: PUSH2 0x3730
00002ebf: JUMP
00002ec0: JUMPDEST
00002ec1: DUP7
00002ec2: MSTORE
00002ec3: PUSH1 0x20
00002ec5: DUP7
00002ec6: ADD
00002ec7: SWAP1
00002ec8: DUP2
00002ec9: MSTORE
00002eca: PUSH1 0x40
00002ecc: DUP7
00002ecd: ADD
00002ece: SWAP2
00002ecf: DUP3
00002ed0: MSTORE
00002ed1: PUSH1 0x60
00002ed3: DUP7
00002ed4: ADD
00002ed5: SWAP3
00002ed6: DUP4
00002ed7: MSTORE
00002ed8: PUSH1 0x80
00002eda: DUP7
00002edb: ADD
00002edc: SWAP4
00002edd: DUP5
00002ede: MSTORE
00002edf: PUSH1 0xa0
00002ee1: DUP7
00002ee2: ADD
00002ee3: SWAP5
00002ee4: DUP6
00002ee5: MSTORE
00002ee6: PUSH1 0x40
00002ee8: MLOAD
00002ee9: SWAP6
00002eea: PUSH4 0x219f5d17
00002eef: PUSH1 0xe0
00002ef1: SHL
00002ef2: DUP8
00002ef3: MSTORE
00002ef4: MLOAD
00002ef5: PUSH1 0x04
00002ef7: DUP8
00002ef8: ADD
00002ef9: MSTORE
00002efa: MLOAD
00002efb: PUSH1 0x24
00002efd: DUP7
00002efe: ADD
00002eff: MSTORE
00002f00: MLOAD
00002f01: PUSH1 0x44
00002f03: DUP6
00002f04: ADD
00002f05: MSTORE
00002f06: MLOAD
00002f07: PUSH1 0x64
00002f09: DUP5
00002f0a: ADD
00002f0b: MSTORE
00002f0c: MLOAD
00002f0d: PUSH1 0x84
00002f0f: DUP4
00002f10: ADD
00002f11: MSTORE
00002f12: MLOAD
00002f13: PUSH1 0xa4
00002f15: DUP3
00002f16: ADD
00002f17: MSTORE
00002f18: PUSH1 0x60
00002f1a: DUP2
00002f1b: PUSH1 0xc4
00002f1d: DUP2
00002f1e: DUP13
00002f1f: PUSH1 0x01
00002f21: DUP1
00002f22: PUSH1 0xa0
00002f24: SHL
00002f25: SUB
00002f26: PUSH32 0x000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe88
00002f47: AND
00002f48: GAS
00002f49: CALL
00002f4a: PUSH2 0x32b8
00002f4d: JUMPI
00002f4e: JUMPDEST
00002f4f: POP
00002f50: CALLER
00002f51: DUP9
00002f52: MSTORE
00002f53: PUSH1 0x0a
00002f55: PUSH1 0x20
00002f57: MSTORE
00002f58: PUSH1 0x40
00002f5a: DUP9
00002f5b: KECCAK256
00002f5c: PUSH2 0x2f66
00002f5f: DUP3
00002f60: DUP3
00002f61: SLOAD
00002f62: PUSH2 0x379e
00002f65: JUMP
00002f66: JUMPDEST
00002f67: SWAP1
00002f68: SSTORE
00002f69: PUSH2 0x2f70
00002f6c: PUSH2 0x396f
00002f6f: JUMP
00002f70: JUMPDEST
00002f71: SWAP7
00002f72: PUSH2 0x2f7d
00002f75: DUP9
00002f76: DUP4
00002f77: DUP10
00002f78: CALLER
00002f79: PUSH2 0x49cf
00002f7c: JUMP
00002f7d: JUMPDEST
00002f7e: SWAP3
00002f7f: SWAP1
00002f80: SWAP2
00002f81: PUSH2 0x2f8a
00002f84: DUP4
00002f85: DUP4
00002f86: PUSH2 0x379e
00002f89: JUMP
00002f8a: JUMPDEST
00002f8b: CALLER
00002f8c: DUP13
00002f8d: MSTORE
00002f8e: PUSH1 0x0f
00002f90: PUSH1 0x20
00002f92: MSTORE
00002f93: PUSH1 0x40
00002f95: DUP13
00002f96: KECCAK256
00002f97: PUSH2 0x2fa1
00002f9a: DUP3
00002f9b: DUP3
00002f9c: SLOAD
00002f9d: PUSH2 0x379e
00002fa0: JUMP
00002fa1: JUMPDEST
00002fa2: SWAP1
00002fa3: SSTORE
00002fa4: CALLER
00002fa5: DUP13
00002fa6: MSTORE
00002fa7: PUSH1 0x0d
00002fa9: PUSH1 0x20
00002fab: MSTORE
00002fac: PUSH1 0x40
00002fae: DUP13
00002faf: KECCAK256
00002fb0: SLOAD
00002fb1: DUP13
00002fb2: SWAP8
00002fb3: DUP9
00002fb4: SWAP8
00002fb5: SWAP2
00002fb6: PUSH1 0x01
00002fb8: PUSH1 0x01
00002fba: PUSH1 0xa0
00002fbc: SHL
00002fbd: SUB
00002fbe: AND
00002fbf: ISZERO
00002fc0: PUSH2 0x32b2
00002fc3: JUMPI
00002fc4: POP
00002fc5: CALLER
00002fc6: DUP14
00002fc7: MSTORE
00002fc8: PUSH1 0x0d
00002fca: PUSH1 0x20
00002fcc: MSTORE
00002fcd: PUSH1 0x40
00002fcf: DUP14
00002fd0: KECCAK256
00002fd1: SLOAD
00002fd2: PUSH1 0x01
00002fd4: PUSH1 0x01
00002fd6: PUSH1 0xa0
00002fd8: SHL
00002fd9: SUB
00002fda: AND
00002fdb: SWAP1
00002fdc: JUMPDEST
00002fdd: CALLER
00002fde: DUP15
00002fdf: MSTORE
00002fe0: PUSH1 0x0d
00002fe2: PUSH1 0x20
00002fe4: MSTORE
00002fe5: PUSH1 0x40
00002fe7: DUP15
00002fe8: KECCAK256
00002fe9: SLOAD
00002fea: DUP15
00002feb: SWAP1
00002fec: PUSH1 0x01
00002fee: PUSH1 0x01
00002ff0: PUSH1 0xa0
00002ff2: SHL
00002ff3: SUB
00002ff4: AND
00002ff5: ISZERO
00002ff6: DUP1
00002ff7: PUSH2 0x32a9
00002ffa: JUMPI
00002ffb: JUMPDEST
00002ffc: PUSH2 0x3285
00002fff: JUMPI
00003000: JUMPDEST
00003001: POP
00003002: POP
00003003: PUSH1 0x01
00003005: PUSH1 0x01
00003007: PUSH1 0xa0
00003009: SHL
0000300a: SUB
0000300b: DUP2
0000300c: AND
0000300d: SWAP13
0000300e: DUP14
0000300f: SWAP1
00003010: DUP14
00003011: DUP3
00003012: PUSH2 0x30eb
00003015: JUMPI
00003016: JUMPDEST
00003017: POP
00003018: POP
00003019: POP
0000301a: POP
0000301b: PUSH2 0x3026
0000301e: SWAP1
0000301f: DUP11
00003020: CALLER
00003021: DUP14
00003022: PUSH2 0x4c55
00003025: JUMP
00003026: JUMPDEST
00003027: SWAP8
00003028: PUSH3 0x015180
0000302c: TIMESTAMP
0000302d: ADD
0000302e: DUP1
0000302f: TIMESTAMP
00003030: GT
00003031: PUSH2 0x0a5d
00003034: JUMPI
00003035: PUSH1 0x40
00003037: DUP15
00003038: CALLER
00003039: DUP2
0000303a: MSTORE
0000303b: PUSH1 0x0c
0000303d: PUSH1 0x20
0000303f: MSTORE
00003040: KECCAK256
00003041: SSTORE
00003042: CALLER
00003043: DUP14
00003044: MSTORE
00003045: PUSH1 0x0e
00003047: PUSH1 0x20
00003049: MSTORE
0000304a: PUSH1 0x40
0000304c: DUP14
0000304d: KECCAK256
0000304e: SLOAD
0000304f: ISZERO
00003050: PUSH2 0x30cc
00003053: JUMPI
00003054: JUMPDEST
00003055: SWAP1
00003056: PUSH4 0xffffffff
0000305b: SWAP5
0000305c: SWAP4
0000305d: SWAP3
0000305e: SWAP2
0000305f: PUSH1 0x40
00003061: MLOAD
00003062: SWAP11
00003063: DUP12
00003064: MSTORE
00003065: PUSH1 0x20
00003067: DUP12
00003068: ADD
00003069: MSTORE
0000306a: PUSH1 0x40
0000306c: DUP11
0000306d: ADD
0000306e: MSTORE
0000306f: PUSH1 0x60
00003071: DUP10
00003072: ADD
00003073: MSTORE
00003074: PUSH1 0x80
00003076: DUP9
00003077: ADD
00003078: MSTORE
00003079: AND
0000307a: PUSH1 0xa0
0000307c: DUP7
0000307d: ADD
0000307e: MSTORE
0000307f: PUSH1 0xc0
00003081: DUP6
00003082: ADD
00003083: MSTORE
00003084: PUSH1 0xe0
00003086: DUP5
00003087: ADD
00003088: MSTORE
00003089: ISZERO
0000308a: ISZERO
0000308b: PUSH2 0x0100
0000308e: DUP4
0000308f: ADD
00003090: MSTORE
00003091: PUSH2 0x0120
00003094: DUP3
00003095: ADD
00003096: MSTORE
00003097: PUSH32 0x907a4953eafd8d897ea997ad9bfa21da6e8cfbebaa112f8644d5d0820168f94d
000030b8: PUSH2 0x0140
000030bb: PUSH4 0xffffffff
000030c0: CALLER
000030c1: SWAP5
000030c2: AND
000030c3: SWAP3
000030c4: LOG4
000030c5: PUSH1 0x01
000030c7: PUSH1 0x06
000030c9: SSTORE
000030ca: DUP1
000030cb: RETURN
000030cc: JUMPDEST
000030cd: PUSH3 0x828480
000030d1: TIMESTAMP
000030d2: ADD
000030d3: DUP1
000030d4: TIMESTAMP
000030d5: GT
000030d6: PUSH2 0x0a5d
000030d9: JUMPI
000030da: CALLER
000030db: DUP15
000030dc: MSTORE
000030dd: PUSH1 0x0e
000030df: PUSH1 0x20
000030e1: MSTORE
000030e2: PUSH1 0x40
000030e4: DUP15
000030e5: KECCAK256
000030e6: SSTORE
000030e7: PUSH2 0x3054
000030ea: JUMP
000030eb: JUMPDEST
000030ec: PUSH1 0x40
000030ee: SWAP3
000030ef: SWAP4
000030f0: SWAP5
000030f1: SWAP6
000030f2: SWAP7
000030f3: SWAP8
000030f4: SWAP9
000030f5: SWAP10
000030f6: POP
000030f7: PUSH2 0x3113
000030fa: PUSH4 0xffffffff
000030ff: PUSH2 0x310c
00003102: PUSH4 0x05f5e100
00003107: SWAP4
00003108: PUSH2 0x433e
0000310b: JUMP
0000310c: JUMPDEST
0000310d: AND
0000310e: DUP8
0000310f: PUSH2 0x3895
00003112: JUMP
00003113: JUMPDEST
00003114: DIV
00003115: SWAP3
00003116: DUP2
00003117: MSTORE
00003118: PUSH1 0x0f
0000311a: PUSH1 0x20
0000311c: MSTORE
0000311d: KECCAK256
0000311e: SLOAD
0000311f: PUSH1 0x0a
00003121: DUP2
00003122: MUL
00003123: SWAP1
00003124: DUP1
00003125: DUP3
00003126: DIV
00003127: PUSH1 0x0a
00003129: EQ
0000312a: SWAP1
0000312b: ISZERO
0000312c: OR
0000312d: ISZERO
0000312e: PUSH2 0x0a39
00003131: JUMPI
00003132: DUP15
00003133: DUP13
00003134: DUP16
00003135: SWAP3
00003136: SWAP4
00003137: DUP16
00003138: SWAP11
00003139: SWAP10
0000313a: SWAP9
0000313b: SWAP8
0000313c: SWAP7
0000313d: SWAP6
0000313e: SWAP5
0000313f: DUP5
00003140: DUP5
00003141: MSTORE
00003142: PUSH1 0x10
00003144: PUSH1 0x20
00003146: MSTORE
00003147: PUSH1 0x40
00003149: DUP5
0000314a: KECCAK256
0000314b: SLOAD
0000314c: DUP2
0000314d: GT
0000314e: PUSH1 0x00
00003150: EQ
00003151: PUSH2 0x327d
00003154: JUMPI
00003155: DUP5
00003156: DUP5
00003157: MSTORE
00003158: PUSH1 0x10
0000315a: PUSH1 0x20
0000315c: MSTORE
0000315d: PUSH1 0x40
0000315f: DUP5
00003160: KECCAK256
00003161: SLOAD
00003162: PUSH2 0x316a
00003165: SWAP2
00003166: PUSH2 0x37ab
00003169: JUMP
0000316a: JUMPDEST
0000316b: SWAP1
0000316c: JUMPDEST
0000316d: DUP2
0000316e: DUP2
0000316f: GT
00003170: ISZERO
00003171: PUSH2 0x3275
00003174: JUMPI
00003175: POP
00003176: SWAP4
00003177: JUMPDEST
00003178: DUP5
00003179: SWAP11
0000317a: DUP6
0000317b: ISZERO
0000317c: SWAP5
0000317d: DUP6
0000317e: ISZERO
0000317f: PUSH2 0x318d
00003182: JUMPI
00003183: JUMPDEST
00003184: SWAP5
00003185: POP
00003186: SWAP2
00003187: POP
00003188: POP
00003189: PUSH2 0x3016
0000318c: JUMP
0000318d: JUMPDEST
0000318e: DUP7
0000318f: SWAP8
00003190: SWAP9
00003191: SWAP10
00003192: SWAP11
00003193: SWAP12
00003194: SWAP13
00003195: SWAP14
00003196: POP
00003197: DUP1
00003198: DUP6
00003199: SWAP7
0000319a: SWAP8
0000319b: SWAP6
0000319c: MSTORE
0000319d: PUSH1 0x0e
0000319f: PUSH1 0x20
000031a1: MSTORE
000031a2: PUSH1 0x40
000031a4: DUP7
000031a5: KECCAK256
000031a6: SLOAD
000031a7: ISZERO
000031a8: PUSH2 0x3229
000031ab: JUMPI
000031ac: JUMPDEST
000031ad: DUP6
000031ae: DUP2
000031af: PUSH1 0x40
000031b1: SWAP3
000031b2: PUSH2 0x31e5
000031b5: SWAP9
000031b6: MSTORE
000031b7: PUSH1 0x0b
000031b9: PUSH1 0x20
000031bb: MSTORE
000031bc: DUP3
000031bd: DUP3
000031be: KECCAK256
000031bf: PUSH2 0x31c9
000031c2: DUP9
000031c3: DUP3
000031c4: SLOAD
000031c5: PUSH2 0x379e
000031c8: JUMP
000031c9: JUMPDEST
000031ca: SWAP1
000031cb: SSTORE
000031cc: DUP2
000031cd: MSTORE
000031ce: PUSH1 0x10
000031d0: PUSH1 0x20
000031d2: MSTORE
000031d3: KECCAK256
000031d4: PUSH2 0x31de
000031d7: DUP6
000031d8: DUP3
000031d9: SLOAD
000031da: PUSH2 0x379e
000031dd: JUMP
000031de: JUMPDEST
000031df: SWAP1
000031e0: SSTORE
000031e1: PUSH2 0x4b3f
000031e4: JUMP
000031e5: JUMPDEST
000031e6: POP
000031e7: PUSH1 0x21
000031e9: DUP3
000031ea: MUL
000031eb: SWAP2
000031ec: DUP3
000031ed: DIV
000031ee: PUSH1 0x21
000031f0: EQ
000031f1: OR
000031f2: ISZERO
000031f3: PUSH2 0x08b9
000031f6: JUMPI
000031f7: DUP13
000031f8: SWAP7
000031f9: SWAP6
000031fa: SWAP5
000031fb: SWAP4
000031fc: SWAP3
000031fd: SWAP2
000031fe: PUSH1 0x40
00003200: PUSH1 0x64
00003202: PUSH2 0x3026
00003205: SWAP4
00003206: DIV
00003207: SWAP9
00003208: CALLER
00003209: DUP2
0000320a: MSTORE
0000320b: PUSH1 0x0b
0000320d: PUSH1 0x20
0000320f: MSTORE
00003210: KECCAK256
00003211: PUSH2 0x321b
00003214: DUP10
00003215: DUP3
00003216: SLOAD
00003217: PUSH2 0x379e
0000321a: JUMP
0000321b: JUMPDEST
0000321c: SWAP1
0000321d: SSTORE
0000321e: SWAP1
0000321f: CODESIZE
00003220: DUP15
00003221: DUP13
00003222: DUP16
00003223: DUP16
00003224: DUP2
00003225: PUSH2 0x3183
00003228: JUMP
00003229: JUMPDEST
0000322a: POP
0000322b: POP
0000322c: SWAP3
0000322d: POP
0000322e: POP
0000322f: POP
00003230: PUSH3 0x828480
00003234: TIMESTAMP
00003235: ADD
00003236: DUP1
00003237: TIMESTAMP
00003238: GT
00003239: PUSH2 0x3260
0000323c: JUMPI
0000323d: DUP16
0000323e: DUP16
0000323f: SWAP3
00003240: DUP16
00003241: DUP16
00003242: SWAP3
00003243: DUP1
00003244: DUP7
00003245: DUP10
00003246: SWAP7
00003247: PUSH2 0x31e5
0000324a: SWAP9
0000324b: PUSH1 0x40
0000324d: SWAP5
0000324e: MSTORE
0000324f: PUSH1 0x0e
00003251: PUSH1 0x20
00003253: MSTORE
00003254: DUP4
00003255: DUP4
00003256: KECCAK256
00003257: SSTORE
00003258: SWAP2
00003259: POP
0000325a: SWAP6
0000325b: POP
0000325c: PUSH2 0x31ac
0000325f: JUMP
00003260: JUMPDEST
00003261: POP
00003262: PUSH4 0x4e487b71
00003267: PUSH1 0xe0
00003269: SHL
0000326a: DUP16
0000326b: MSTORE
0000326c: PUSH1 0x11
0000326e: PUSH1 0x04
00003270: MSTORE
00003271: PUSH1 0x24
00003273: DUP16
00003274: REVERT
00003275: JUMPDEST
00003276: SWAP1
00003277: POP
00003278: SWAP4
00003279: PUSH2 0x3177
0000327c: JUMP
0000327d: JUMPDEST
0000327e: POP
0000327f: DUP3
00003280: SWAP1
00003281: PUSH2 0x316c
00003284: JUMP
00003285: JUMPDEST
00003286: CALLER
00003287: DUP2
00003288: MSTORE
00003289: PUSH1 0x0d
0000328b: PUSH1 0x20
0000328d: MSTORE
0000328e: PUSH1 0x40
00003290: SWAP1
00003291: KECCAK256
00003292: DUP1
00003293: SLOAD
00003294: PUSH1 0x01
00003296: PUSH1 0x01
00003298: PUSH1 0xa0
0000329a: SHL
0000329b: SUB
0000329c: NOT
0000329d: AND
0000329e: SWAP1
0000329f: SWAP2
000032a0: OR
000032a1: SWAP1
000032a2: SSTORE
000032a3: CODESIZE
000032a4: DUP14
000032a5: PUSH2 0x3000
000032a8: JUMP
000032a9: JUMPDEST
000032aa: POP
000032ab: DUP2
000032ac: ISZERO
000032ad: ISZERO
000032ae: PUSH2 0x2ffb
000032b1: JUMP
000032b2: JUMPDEST
000032b3: SWAP1
000032b4: PUSH2 0x2fdc
000032b7: JUMP
000032b8: JUMPDEST
000032b9: PUSH1 0x60
000032bb: DUP2
000032bc: RETURNDATASIZE
000032bd: PUSH1 0x60
000032bf: GT
000032c0: PUSH2 0x32ed
000032c3: JUMPI
000032c4: JUMPDEST
000032c5: DUP2
000032c6: PUSH2 0x32d1
000032c9: PUSH1 0x60
000032cb: SWAP4
000032cc: DUP4
000032cd: PUSH2 0x377d
000032d0: JUMP
000032d1: JUMPDEST
000032d2: DUP2
000032d3: ADD
000032d4: SUB
000032d5: SLT
000032d6: PUSH2 0x32e9
000032d9: JUMPI
000032da: PUSH2 0x32e2
000032dd: SWAP1
000032de: PUSH2 0x38ca
000032e1: JUMP
000032e2: JUMPDEST
000032e3: POP
000032e4: CODESIZE
000032e5: PUSH2 0x2f4e
000032e8: JUMP
000032e9: JUMPDEST
000032ea: DUP9
000032eb: DUP1
000032ec: REVERT
000032ed: JUMPDEST
000032ee: RETURNDATASIZE
000032ef: SWAP2
000032f0: POP
000032f1: PUSH2 0x32c4
000032f4: JUMP
000032f5: JUMPDEST
000032f6: SWAP1
000032f7: POP
000032f8: SWAP3
000032f9: PUSH2 0x2eb3
000032fc: JUMP
000032fd: JUMPDEST
000032fe: DUP3
000032ff: SWAP5
00003300: PUSH2 0x2eaa
00003303: JUMP
00003304: JUMPDEST
00003305: DUP14
00003306: SWAP3
00003307: PUSH2 0x2ea1
0000330a: JUMP
0000330b: JUMPDEST
0000330c: DUP11
0000330d: SWAP4
0000330e: PUSH2 0x2e98
00003311: JUMP
00003312: JUMPDEST
00003313: DUP4
00003314: PUSH8 0x0de0b6b3a7640000
0000331d: MUL
0000331e: PUSH8 0x0de0b6b3a7640000
00003327: DUP2
00003328: DIV
00003329: DUP6
0000332a: SUB
0000332b: PUSH2 0x0b81
0000332e: JUMPI
0000332f: DUP4
00003330: PUSH2 0x3338
00003333: SWAP2
00003334: PUSH2 0x37b8
00003337: JUMP
00003338: JUMPDEST
00003339: SWAP5
0000333a: PUSH2 0x2deb
0000333d: JUMP
0000333e: JUMPDEST
0000333f: POP
00003340: PUSH2 0x3347
00003343: PUSH2 0x4163
00003346: JUMP
00003347: JUMPDEST
00003348: PUSH1 0x01
0000334a: PUSH2 0x2d61
0000334d: JUMP
0000334e: JUMPDEST
0000334f: POP
00003350: CALLER
00003351: DUP6
00003352: MSTORE
00003353: PUSH1 0x0a
00003355: PUSH1 0x20
00003357: MSTORE
00003358: PUSH1 0x40
0000335a: DUP6
0000335b: KECCAK256
0000335c: SLOAD
0000335d: ISZERO
0000335e: ISZERO
0000335f: PUSH2 0x2d5c
00003362: JUMP
00003363: JUMPDEST
00003364: PUSH3 0x2ddbdd
00003368: PUSH1 0xe5
0000336a: SHL
0000336b: DUP6
0000336c: MSTORE
0000336d: PUSH1 0x04
0000336f: DUP6
00003370: REVERT
00003371: JUMPDEST
00003372: PUSH4 0x80040f8d
00003377: PUSH1 0xe0
00003379: SHL
0000337a: DUP6
0000337b: MSTORE
0000337c: PUSH1 0x04
0000337e: DUP6
0000337f: REVERT
00003380: JUMPDEST
00003381: PUSH4 0x3eb1c491
00003386: PUSH1 0xe2
00003388: SHL
00003389: DUP6
0000338a: MSTORE
0000338b: PUSH1 0x04
0000338d: DUP6
0000338e: REVERT
0000338f: JUMPDEST
00003390: PUSH4 0x5f4ccded
00003395: PUSH1 0xe1
00003397: SHL
00003398: DUP6
00003399: MSTORE
0000339a: PUSH1 0x04
0000339c: DUP6
0000339d: REVERT
0000339e: JUMPDEST
0000339f: PUSH4 0x1210e847
000033a4: PUSH1 0xe0
000033a6: SHL
000033a7: DUP5
000033a8: MSTORE
000033a9: PUSH1 0x04
000033ab: DUP5
000033ac: REVERT
000033ad: JUMPDEST
000033ae: POP
000033af: CALLVALUE
000033b0: PUSH2 0x02f2
000033b3: JUMPI
000033b4: PUSH1 0x20
000033b6: CALLDATASIZE
000033b7: PUSH1 0x03
000033b9: NOT
000033ba: ADD
000033bb: SLT
000033bc: PUSH2 0x02f2
000033bf: JUMPI
000033c0: PUSH1 0x40
000033c2: PUSH1 0x20
000033c4: SWAP2
000033c5: PUSH4 0xffffffff
000033ca: PUSH2 0x33d1
000033cd: PUSH2 0x3665
000033d0: JUMP
000033d1: JUMPDEST
000033d2: AND
000033d3: DUP2
000033d4: MSTORE
000033d5: PUSH1 0x19
000033d7: DUP4
000033d8: MSTORE
000033d9: KECCAK256
000033da: SLOAD
000033db: PUSH1 0x40
000033dd: MLOAD
000033de: SWAP1
000033df: DUP2
000033e0: MSTORE
000033e1: RETURN
000033e2: JUMPDEST
000033e3: POP
000033e4: CALLVALUE
000033e5: PUSH2 0x02f2
000033e8: JUMPI
000033e9: DUP1
000033ea: PUSH1 0x03
000033ec: NOT
000033ed: CALLDATASIZE
000033ee: ADD
000033ef: SLT
000033f0: PUSH2 0x02f2
000033f3: JUMPI
000033f4: PUSH1 0x20
000033f6: PUSH1 0x02
000033f8: SLOAD
000033f9: PUSH1 0x40
000033fb: MLOAD
000033fc: SWAP1
000033fd: DUP2
000033fe: MSTORE
000033ff: RETURN
00003400: JUMPDEST
00003401: POP
00003402: CALLVALUE
00003403: PUSH2 0x02f2
00003406: JUMPI
00003407: DUP1
00003408: PUSH1 0x03
0000340a: NOT
0000340b: CALLDATASIZE
0000340c: ADD
0000340d: SLT
0000340e: PUSH2 0x02f2
00003411: JUMPI
00003412: PUSH2 0x3419
00003415: PUSH2 0x4141
00003418: JUMP
00003419: JUMPDEST
0000341a: PUSH1 0x08
0000341c: SLOAD
0000341d: ISZERO
0000341e: PUSH2 0x2a49
00003421: JUMPI
00003422: PUSH2 0x3429
00003425: PUSH2 0x4163
00003428: JUMP
00003429: JUMPDEST
0000342a: PUSH1 0x01
0000342c: PUSH1 0x06
0000342e: SSTORE
0000342f: DUP1
00003430: RETURN
00003431: JUMPDEST
00003432: POP
00003433: CALLVALUE
00003434: PUSH2 0x02f2
00003437: JUMPI
00003438: PUSH1 0x40
0000343a: CALLDATASIZE
0000343b: PUSH1 0x03
0000343d: NOT
0000343e: ADD
0000343f: SLT
00003440: PUSH2 0x02f2
00003443: JUMPI
00003444: PUSH2 0x344b
00003447: PUSH2 0x3704
0000344a: JUMP
0000344b: JUMPDEST
0000344c: PUSH1 0x24
0000344e: CALLDATALOAD
0000344f: SWAP1
00003450: CALLER
00003451: ISZERO
00003452: PUSH2 0x34c7
00003455: JUMPI
00003456: PUSH1 0x01
00003458: PUSH1 0x01
0000345a: PUSH1 0xa0
0000345c: SHL
0000345d: SUB
0000345e: AND
0000345f: SWAP2
00003460: DUP3
00003461: ISZERO
00003462: PUSH2 0x34b3
00003465: JUMPI
00003466: PUSH1 0x40
00003468: DUP3
00003469: SWAP2
0000346a: CALLER
0000346b: DUP2
0000346c: MSTORE
0000346d: PUSH1 0x01
0000346f: PUSH1 0x20
00003471: MSTORE
00003472: DUP2
00003473: DUP2
00003474: KECCAK256
00003475: DUP6
00003476: DUP3
00003477: MSTORE
00003478: PUSH1 0x20
0000347a: MSTORE
0000347b: KECCAK256
0000347c: SSTORE
0000347d: PUSH1 0x40
0000347f: MLOAD
00003480: SWAP1
00003481: DUP2
00003482: MSTORE
00003483: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925
000034a4: PUSH1 0x20
000034a6: CALLER
000034a7: SWAP3
000034a8: LOG3
000034a9: PUSH1 0x20
000034ab: PUSH1 0x40
000034ad: MLOAD
000034ae: PUSH1 0x01
000034b0: DUP2
000034b1: MSTORE
000034b2: RETURN
000034b3: JUMPDEST
000034b4: PUSH4 0x4a1406b1
000034b9: PUSH1 0xe1
000034bb: SHL
000034bc: DUP2
000034bd: MSTORE
000034be: PUSH1 0x04
000034c0: DUP2
000034c1: SWAP1
000034c2: MSTORE
000034c3: PUSH1 0x24
000034c5: SWAP1
000034c6: REVERT
000034c7: JUMPDEST
000034c8: PUSH4 0xe602df05
000034cd: PUSH1 0xe0
000034cf: SHL
000034d0: DUP4
000034d1: MSTORE
000034d2: PUSH1 0x04
000034d4: DUP4
000034d5: SWAP1
000034d6: MSTORE
000034d7: PUSH1 0x24
000034d9: DUP4
000034da: REVERT
000034db: JUMPDEST
000034dc: POP
000034dd: CALLVALUE
000034de: PUSH2 0x02f2
000034e1: JUMPI
000034e2: DUP1
000034e3: PUSH1 0x03
000034e5: NOT
000034e6: CALLDATASIZE
000034e7: ADD
000034e8: SLT
000034e9: PUSH2 0x02f2
000034ec: JUMPI
000034ed: PUSH1 0x20
000034ef: PUSH1 0x40
000034f1: MLOAD
000034f2: PUSH32 0x000000000000000000000000000000000000000000000000000000e8d4a51000
00003513: DUP2
00003514: MSTORE
00003515: RETURN
00003516: JUMPDEST
00003517: POP
00003518: CALLVALUE
00003519: PUSH2 0x02f2
0000351c: JUMPI
0000351d: DUP1
0000351e: PUSH1 0x03
00003520: NOT
00003521: CALLDATASIZE
00003522: ADD
00003523: SLT
00003524: PUSH2 0x02f2
00003527: JUMPI
00003528: PUSH1 0x40
0000352a: MLOAD
0000352b: SWAP1
0000352c: DUP1
0000352d: PUSH1 0x03
0000352f: SLOAD
00003530: SWAP1
00003531: DUP2
00003532: PUSH1 0x01
00003534: SHR
00003535: SWAP2
00003536: PUSH1 0x01
00003538: DUP2
00003539: AND
0000353a: DUP1
0000353b: ISZERO
0000353c: PUSH2 0x35c9
0000353f: JUMPI
00003540: JUMPDEST
00003541: PUSH1 0x20
00003543: DUP5
00003544: LT
00003545: DUP2
00003546: EQ
00003547: PUSH2 0x1d62
0000354a: JUMPI
0000354b: DUP4
0000354c: DUP7
0000354d: MSTORE
0000354e: SWAP1
0000354f: DUP2
00003550: ISZERO
00003551: PUSH2 0x1d3b
00003554: JUMPI
00003555: POP
00003556: PUSH1 0x01
00003558: EQ
00003559: PUSH2 0x356c
0000355c: JUMPI
0000355d: PUSH2 0x1cda
00003560: DUP5
00003561: PUSH2 0x1cce
00003564: DUP2
00003565: DUP7
00003566: SUB
00003567: DUP3
00003568: PUSH2 0x377d
0000356b: JUMP
0000356c: JUMPDEST
0000356d: PUSH1 0x03
0000356f: DUP2
00003570: MSTORE
00003571: PUSH32 0xc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b
00003592: SWAP4
00003593: SWAP3
00003594: POP
00003595: SWAP1
00003596: JUMPDEST
00003597: DUP1
00003598: DUP3
00003599: LT
0000359a: PUSH2 0x35af
0000359d: JUMPI
0000359e: POP
0000359f: SWAP1
000035a0: SWAP2
000035a1: POP
000035a2: DUP2
000035a3: ADD
000035a4: PUSH1 0x20
000035a6: ADD
000035a7: PUSH2 0x1cce
000035aa: DUP3
000035ab: PUSH2 0x1cbe
000035ae: JUMP
000035af: JUMPDEST
000035b0: SWAP2
000035b1: SWAP3
000035b2: PUSH1 0x01
000035b4: DUP2
000035b5: PUSH1 0x20
000035b7: SWAP3
000035b8: SLOAD
000035b9: DUP4
000035ba: DUP6
000035bb: DUP9
000035bc: ADD
000035bd: ADD
000035be: MSTORE
000035bf: ADD
000035c0: SWAP2
000035c1: ADD
000035c2: SWAP1
000035c3: SWAP3
000035c4: SWAP2
000035c5: PUSH2 0x3596
000035c8: JUMP
000035c9: JUMPDEST
000035ca: SWAP3
000035cb: PUSH1 0x7f
000035cd: AND
000035ce: SWAP3
000035cf: PUSH2 0x3540
000035d2: JUMP
000035d3: JUMPDEST
000035d4: POP
000035d5: CALLVALUE
000035d6: PUSH2 0x02f2
000035d9: JUMPI
000035da: DUP1
000035db: PUSH1 0x03
000035dd: NOT
000035de: CALLDATASIZE
000035df: ADD
000035e0: SLT
000035e1: PUSH2 0x02f2
000035e4: JUMPI
000035e5: PUSH1 0x20
000035e7: PUSH2 0x0d30
000035ea: PUSH2 0x3a54
000035ed: JUMP
000035ee: JUMPDEST
000035ef: DUP3
000035f0: CALLVALUE
000035f1: PUSH2 0x02f2
000035f4: JUMPI
000035f5: PUSH1 0x20
000035f7: CALLDATASIZE
000035f8: PUSH1 0x03
000035fa: NOT
000035fb: ADD
000035fc: SLT
000035fd: PUSH2 0x02f2
00003600: JUMPI
00003601: PUSH4 0xffffffff
00003606: PUSH2 0x360d
00003609: PUSH2 0x3665
0000360c: JUMP
0000360d: JUMPDEST
0000360e: AND
0000360f: DUP2
00003610: MSTORE
00003611: PUSH1 0x1b
00003613: PUSH1 0x20
00003615: MSTORE
00003616: PUSH1 0x40
00003618: DUP2
00003619: KECCAK256
0000361a: SWAP1
0000361b: DUP2
0000361c: SLOAD
0000361d: DUP1
0000361e: DUP5
0000361f: MSTORE
00003620: PUSH1 0x20
00003622: DUP5
00003623: ADD
00003624: SWAP3
00003625: DUP3
00003626: MSTORE
00003627: PUSH1 0x20
00003629: DUP3
0000362a: KECCAK256
0000362b: SWAP2
0000362c: JUMPDEST
0000362d: DUP2
0000362e: DUP2
0000362f: LT
00003630: PUSH2 0x364f
00003633: JUMPI
00003634: PUSH2 0x1cda
00003637: DUP6
00003638: PUSH2 0x3643
0000363b: DUP2
0000363c: DUP8
0000363d: SUB
0000363e: DUP3
0000363f: PUSH2 0x377d
00003642: JUMP
00003643: JUMPDEST
00003644: PUSH1 0x40
00003646: MLOAD
00003647: SWAP2
00003648: DUP3
00003649: SWAP2
0000364a: DUP3
0000364b: PUSH2 0x3678
0000364e: JUMP
0000364f: JUMPDEST
00003650: DUP3
00003651: SLOAD
00003652: DUP5
00003653: MSTORE
00003654: PUSH1 0x20
00003656: SWAP1
00003657: SWAP4
00003658: ADD
00003659: SWAP3
0000365a: PUSH1 0x01
0000365c: SWAP3
0000365d: DUP4
0000365e: ADD
0000365f: SWAP3
00003660: ADD
00003661: PUSH2 0x362c
00003664: JUMP
00003665: JUMPDEST
00003666: PUSH1 0x04
00003668: CALLDATALOAD
00003669: SWAP1
0000366a: PUSH4 0xffffffff
0000366f: DUP3
00003670: AND
00003671: DUP3
00003672: SUB
00003673: PUSH2 0x1165
00003676: JUMPI
00003677: JUMP
00003678: JUMPDEST
00003679: PUSH1 0x20
0000367b: PUSH1 0x40
0000367d: DUP2
0000367e: DUP4
0000367f: ADD
00003680: SWAP3
00003681: DUP3
00003682: DUP2
00003683: MSTORE
00003684: DUP5
00003685: MLOAD
00003686: DUP1
00003687: SWAP5
00003688: MSTORE
00003689: ADD
0000368a: SWAP3
0000368b: ADD
0000368c: SWAP1
0000368d: PUSH1 0x00
0000368f: JUMPDEST
00003690: DUP2
00003691: DUP2
00003692: LT
00003693: PUSH2 0x369c
00003696: JUMPI
00003697: POP
00003698: POP
00003699: POP
0000369a: SWAP1
0000369b: JUMP
0000369c: JUMPDEST
0000369d: DUP3
0000369e: MLOAD
0000369f: PUSH1 0x01
000036a1: PUSH1 0x01
000036a3: PUSH1 0xa0
000036a5: SHL
000036a6: SUB
000036a7: AND
000036a8: DUP5
000036a9: MSTORE
000036aa: PUSH1 0x20
000036ac: SWAP4
000036ad: DUP5
000036ae: ADD
000036af: SWAP4
000036b0: SWAP1
000036b1: SWAP3
000036b2: ADD
000036b3: SWAP2
000036b4: PUSH1 0x01
000036b6: ADD
000036b7: PUSH2 0x368f
000036ba: JUMP
000036bb: JUMPDEST
000036bc: SWAP2
000036bd: SWAP1
000036be: SWAP2
000036bf: PUSH1 0x20
000036c1: DUP2
000036c2: MSTORE
000036c3: DUP3
000036c4: MLOAD
000036c5: DUP1
000036c6: PUSH1 0x20
000036c8: DUP4
000036c9: ADD
000036ca: MSTORE
000036cb: PUSH1 0x00
000036cd: JUMPDEST
000036ce: DUP2
000036cf: DUP2
000036d0: LT
000036d1: PUSH2 0x36ee
000036d4: JUMPI
000036d5: POP
000036d6: PUSH1 0x40
000036d8: SWAP3
000036d9: SWAP4
000036da: POP
000036db: PUSH1 0x00
000036dd: DUP4
000036de: DUP3
000036df: DUP5
000036e0: ADD
000036e1: ADD
000036e2: MSTORE
000036e3: PUSH1 0x1f
000036e5: DUP1
000036e6: NOT
000036e7: SWAP2
000036e8: ADD
000036e9: AND
000036ea: ADD
000036eb: ADD
000036ec: SWAP1
000036ed: JUMP
000036ee: JUMPDEST
000036ef: DUP1
000036f0: PUSH1 0x20
000036f2: DUP1
000036f3: SWAP3
000036f4: DUP8
000036f5: ADD
000036f6: ADD
000036f7: MLOAD
000036f8: PUSH1 0x40
000036fa: DUP3
000036fb: DUP7
000036fc: ADD
000036fd: ADD
000036fe: MSTORE
000036ff: ADD
00003700: PUSH2 0x36cd
00003703: JUMP
00003704: JUMPDEST
00003705: PUSH1 0x04
00003707: CALLDATALOAD
00003708: SWAP1
00003709: PUSH1 0x01
0000370b: PUSH1 0x01
0000370d: PUSH1 0xa0
0000370f: SHL
00003710: SUB
00003711: DUP3
00003712: AND
00003713: DUP3
00003714: SUB
00003715: PUSH2 0x1165
00003718: JUMPI
00003719: JUMP
0000371a: JUMPDEST
0000371b: PUSH1 0x24
0000371d: CALLDATALOAD
0000371e: SWAP1
0000371f: PUSH1 0x01
00003721: PUSH1 0x01
00003723: PUSH1 0xa0
00003725: SHL
00003726: SUB
00003727: DUP3
00003728: AND
00003729: DUP3
0000372a: SUB
0000372b: PUSH2 0x1165
0000372e: JUMPI
0000372f: JUMP
00003730: JUMPDEST
00003731: PUSH1 0xc0
00003733: DUP2
00003734: ADD
00003735: SWAP1
00003736: DUP2
00003737: LT
00003738: PUSH1 0x01
0000373a: PUSH1 0x01
0000373c: PUSH1 0x40
0000373e: SHL
0000373f: SUB
00003740: DUP3
00003741: GT
00003742: OR
00003743: PUSH2 0x374b
00003746: JUMPI
00003747: PUSH1 0x40
00003749: MSTORE
0000374a: JUMP
0000374b: JUMPDEST
0000374c: PUSH4 0x4e487b71
00003751: PUSH1 0xe0
00003753: SHL
00003754: PUSH1 0x00
00003756: MSTORE
00003757: PUSH1 0x41
00003759: PUSH1 0x04
0000375b: MSTORE
0000375c: PUSH1 0x24
0000375e: PUSH1 0x00
00003760: REVERT
00003761: JUMPDEST
00003762: PUSH2 0x0420
00003765: DUP2
00003766: ADD
00003767: SWAP1
00003768: DUP2
00003769: LT
0000376a: PUSH1 0x01
0000376c: PUSH1 0x01
0000376e: PUSH1 0x40
00003770: SHL
00003771: SUB
00003772: DUP3
00003773: GT
00003774: OR
00003775: PUSH2 0x374b
00003778: JUMPI
00003779: PUSH1 0x40
0000377b: MSTORE
0000377c: JUMP
0000377d: JUMPDEST
0000377e: SWAP1
0000377f: PUSH1 0x1f
00003781: DUP1
00003782: NOT
00003783: SWAP2
00003784: ADD
00003785: AND
00003786: DUP2
00003787: ADD
00003788: SWAP1
00003789: DUP2
0000378a: LT
0000378b: PUSH1 0x01
0000378d: PUSH1 0x01
0000378f: PUSH1 0x40
00003791: SHL
00003792: SUB
00003793: DUP3
00003794: GT
00003795: OR
00003796: PUSH2 0x374b
00003799: JUMPI
0000379a: PUSH1 0x40
0000379c: MSTORE
0000379d: JUMP
0000379e: JUMPDEST
0000379f: SWAP2
000037a0: SWAP1
000037a1: DUP3
000037a2: ADD
000037a3: DUP1
000037a4: SWAP3
000037a5: GT
000037a6: PUSH2 0x1114
000037a9: JUMPI
000037aa: JUMP
000037ab: JUMPDEST
000037ac: SWAP2
000037ad: SWAP1
000037ae: DUP3
000037af: SUB
000037b0: SWAP2
000037b1: DUP3
000037b2: GT
000037b3: PUSH2 0x1114
000037b6: JUMPI
000037b7: JUMP
000037b8: JUMPDEST
000037b9: DUP2
000037ba: ISZERO
000037bb: PUSH2 0x37c2
000037be: JUMPI
000037bf: DIV
000037c0: SWAP1
000037c1: JUMP
000037c2: JUMPDEST
000037c3: PUSH4 0x4e487b71
000037c8: PUSH1 0xe0
000037ca: SHL
000037cb: PUSH1 0x00
000037cd: MSTORE
000037ce: PUSH1 0x12
000037d0: PUSH1 0x04
000037d2: MSTORE
000037d3: PUSH1 0x24
000037d5: PUSH1 0x00
000037d7: REVERT
000037d8: JUMPDEST
000037d9: PUSH3 0x015180
000037dd: PUSH3 0x2b8180
000037e1: PUSH2 0x37f5
000037e4: PUSH1 0x01
000037e6: PUSH1 0x01
000037e8: PUSH1 0x40
000037ea: SHL
000037eb: SUB
000037ec: PUSH1 0x09
000037ee: SLOAD
000037ef: AND
000037f0: TIMESTAMP
000037f1: PUSH2 0x37ab
000037f4: JUMP
000037f5: JUMPDEST
000037f6: MOD
000037f7: DIV
000037f8: PUSH1 0x01
000037fa: DUP2
000037fb: ADD
000037fc: DUP1
000037fd: SWAP2
000037fe: GT
000037ff: PUSH2 0x1114
00003802: JUMPI
00003803: PUSH1 0xff
00003805: AND
00003806: SWAP1
00003807: JUMP
00003808: JUMPDEST
00003809: PUSH4 0xffffffff
0000380e: AND
0000380f: PUSH4 0xffffffff
00003814: DUP2
00003815: EQ
00003816: PUSH2 0x1114
00003819: JUMPI
0000381a: PUSH1 0x01
0000381c: ADD
0000381d: SWAP1
0000381e: JUMP
0000381f: JUMPDEST
00003820: PUSH1 0x01
00003822: PUSH1 0x01
00003824: PUSH1 0x40
00003826: SHL
00003827: SUB
00003828: DUP2
00003829: GT
0000382a: PUSH2 0x374b
0000382d: JUMPI
0000382e: PUSH1 0x05
00003830: SHL
00003831: PUSH1 0x20
00003833: ADD
00003834: SWAP1
00003835: JUMP
00003836: JUMPDEST
00003837: DUP1
00003838: MLOAD
00003839: ISZERO
0000383a: PUSH2 0x3843
0000383d: JUMPI
0000383e: PUSH1 0x20
00003840: ADD
00003841: SWAP1
00003842: JUMP
00003843: JUMPDEST
00003844: PUSH4 0x4e487b71
00003849: PUSH1 0xe0
0000384b: SHL
0000384c: PUSH1 0x00
0000384e: MSTORE
0000384f: PUSH1 0x32
00003851: PUSH1 0x04
00003853: MSTORE
00003854: PUSH1 0x24
00003856: PUSH1 0x00
00003858: REVERT
00003859: JUMPDEST
0000385a: DUP1
0000385b: MLOAD
0000385c: PUSH1 0x01
0000385e: LT
0000385f: ISZERO
00003860: PUSH2 0x3843
00003863: JUMPI
00003864: PUSH1 0x40
00003866: ADD
00003867: SWAP1
00003868: JUMP
00003869: JUMPDEST
0000386a: DUP1
0000386b: MLOAD
0000386c: DUP3
0000386d: LT
0000386e: ISZERO
0000386f: PUSH2 0x3843
00003872: JUMPI
00003873: PUSH1 0x20
00003875: SWAP2
00003876: PUSH1 0x05
00003878: SHL
00003879: ADD
0000387a: ADD
0000387b: SWAP1
0000387c: JUMP
0000387d: JUMPDEST
0000387e: SWAP1
0000387f: PUSH2 0x26ad
00003882: DUP3
00003883: MUL
00003884: SWAP2
00003885: DUP1
00003886: DUP4
00003887: DIV
00003888: PUSH2 0x26ad
0000388b: EQ
0000388c: SWAP1
0000388d: ISZERO
0000388e: OR
0000388f: ISZERO
00003890: PUSH2 0x1114
00003893: JUMPI
00003894: JUMP
00003895: JUMPDEST
00003896: DUP2
00003897: DUP2
00003898: MUL
00003899: SWAP3
0000389a: SWAP2
0000389b: DUP2
0000389c: ISZERO
0000389d: SWAP2
0000389e: DUP5
0000389f: DIV
000038a0: EQ
000038a1: OR
000038a2: ISZERO
000038a3: PUSH2 0x1114
000038a6: JUMPI
000038a7: JUMP
000038a8: JUMPDEST
000038a9: MLOAD
000038aa: SWAP1
000038ab: PUSH1 0x01
000038ad: PUSH1 0x01
000038af: PUSH1 0xa0
000038b1: SHL
000038b2: SUB
000038b3: DUP3
000038b4: AND
000038b5: DUP3
000038b6: SUB
000038b7: PUSH2 0x1165
000038ba: JUMPI
000038bb: JUMP
000038bc: JUMPDEST
000038bd: MLOAD
000038be: SWAP1
000038bf: DUP2
000038c0: PUSH1 0x02
000038c2: SIGNEXTEND
000038c3: DUP3
000038c4: SUB
000038c5: PUSH2 0x1165
000038c8: JUMPI
000038c9: JUMP
000038ca: JUMPDEST
000038cb: MLOAD
000038cc: SWAP1
000038cd: PUSH1 0x01
000038cf: PUSH1 0x01
000038d1: PUSH1 0x80
000038d3: SHL
000038d4: SUB
000038d5: DUP3
000038d6: AND
000038d7: DUP3
000038d8: SUB
000038d9: PUSH2 0x1165
000038dc: JUMPI
000038dd: JUMP
000038de: JUMPDEST
000038df: MLOAD
000038e0: SWAP1
000038e1: PUSH2 0xffff
000038e4: DUP3
000038e5: AND
000038e6: DUP3
000038e7: SUB
000038e8: PUSH2 0x1165
000038eb: JUMPI
000038ec: JUMP
000038ed: JUMPDEST
000038ee: SWAP1
000038ef: DUP2
000038f0: PUSH1 0xe0
000038f2: SWAP2
000038f3: SUB
000038f4: SLT
000038f5: PUSH2 0x1165
000038f8: JUMPI
000038f9: PUSH2 0x3901
000038fc: DUP2
000038fd: PUSH2 0x38a8
00003900: JUMP
00003901: JUMPDEST
00003902: SWAP2
00003903: PUSH2 0x390e
00003906: PUSH1 0x20
00003908: DUP4
00003909: ADD
0000390a: PUSH2 0x38bc
0000390d: JUMP
0000390e: JUMPDEST
0000390f: SWAP2
00003910: PUSH2 0x391b
00003913: PUSH1 0x40
00003915: DUP3
00003916: ADD
00003917: PUSH2 0x38de
0000391a: JUMP
0000391b: JUMPDEST
0000391c: SWAP2
0000391d: PUSH2 0x3928
00003920: PUSH1 0x60
00003922: DUP4
00003923: ADD
00003924: PUSH2 0x38de
00003927: JUMP
00003928: JUMPDEST
00003929: SWAP2
0000392a: PUSH2 0x3935
0000392d: PUSH1 0x80
0000392f: DUP3
00003930: ADD
00003931: PUSH2 0x38de
00003934: JUMP
00003935: JUMPDEST
00003936: SWAP2
00003937: PUSH1 0xa0
00003939: DUP3
0000393a: ADD
0000393b: MLOAD
0000393c: PUSH1 0xff
0000393e: DUP2
0000393f: AND
00003940: DUP2
00003941: SUB
00003942: PUSH2 0x1165
00003945: JUMPI
00003946: PUSH1 0xc0
00003948: SWAP1
00003949: SWAP3
0000394a: ADD
0000394b: MLOAD
0000394c: DUP1
0000394d: ISZERO
0000394e: ISZERO
0000394f: DUP2
00003950: SUB
00003951: PUSH2 0x1165
00003954: JUMPI
00003955: SWAP1
00003956: JUMP
00003957: JUMPDEST
00003958: PUSH4 0xffffffff
0000395d: PUSH1 0x01
0000395f: SWAP2
00003960: AND
00003961: ADD
00003962: SWAP1
00003963: PUSH4 0xffffffff
00003968: DUP3
00003969: GT
0000396a: PUSH2 0x1114
0000396d: JUMPI
0000396e: JUMP
0000396f: JUMPDEST
00003970: PUSH2 0x3997
00003973: PUSH4 0xffffffff
00003978: PUSH3 0x2b8180
0000397c: PUSH2 0x3990
0000397f: PUSH1 0x01
00003981: PUSH1 0x01
00003983: PUSH1 0x40
00003985: SHL
00003986: SUB
00003987: PUSH1 0x09
00003989: SLOAD
0000398a: AND
0000398b: TIMESTAMP
0000398c: PUSH2 0x37ab
0000398f: JUMP
00003990: JUMPDEST
00003991: DIV
00003992: AND
00003993: PUSH2 0x3957
00003996: JUMP
00003997: JUMPDEST
00003998: SWAP1
00003999: JUMP
0000399a: JUMPDEST
0000399b: PUSH4 0xffffffff
000039a0: PUSH1 0x00
000039a2: NOT
000039a3: SWAP2
000039a4: AND
000039a5: ADD
000039a6: SWAP1
000039a7: PUSH4 0xffffffff
000039ac: DUP3
000039ad: GT
000039ae: PUSH2 0x1114
000039b1: JUMPI
000039b2: JUMP
000039b3: JUMPDEST
000039b4: PUSH1 0x01
000039b6: PUSH1 0x01
000039b8: PUSH1 0xa0
000039ba: SHL
000039bb: SUB
000039bc: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
000039dd: DUP2
000039de: AND
000039df: SWAP1
000039e0: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00003a01: AND
00003a02: DUP2
00003a03: SWAP1
00003a04: SUB
00003a05: PUSH2 0x3a43
00003a08: JUMPI
00003a09: DUP1
00003a0a: EXTCODESIZE
00003a0b: ISZERO
00003a0c: PUSH2 0x1165
00003a0f: JUMPI
00003a10: PUSH1 0x00
00003a12: PUSH1 0x04
00003a14: SWAP2
00003a15: PUSH1 0x40
00003a17: MLOAD
00003a18: SWAP3
00003a19: DUP4
00003a1a: DUP1
00003a1b: SWAP3
00003a1c: PUSH4 0x0d0e30db
00003a21: PUSH1 0xe4
00003a23: SHL
00003a24: DUP3
00003a25: MSTORE
00003a26: CALLVALUE
00003a27: SWAP1
00003a28: GAS
00003a29: CALL
00003a2a: DUP1
00003a2b: ISZERO
00003a2c: PUSH2 0x17c3
00003a2f: JUMPI
00003a30: PUSH2 0x3a36
00003a33: JUMPI
00003a34: POP
00003a35: JUMP
00003a36: JUMPDEST
00003a37: PUSH1 0x00
00003a39: PUSH2 0x3a41
00003a3c: SWAP2
00003a3d: PUSH2 0x377d
00003a40: JUMP
00003a41: JUMPDEST
00003a42: JUMP
00003a43: JUMPDEST
00003a44: PUSH4 0x052dd2e7
00003a49: PUSH1 0xe4
00003a4b: SHL
00003a4c: PUSH1 0x00
00003a4e: MSTORE
00003a4f: PUSH1 0x04
00003a51: PUSH1 0x00
00003a53: REVERT
00003a54: JUMPDEST
00003a55: PUSH2 0x0441
00003a58: PUSH1 0x01
00003a5a: PUSH1 0x01
00003a5c: PUSH1 0x40
00003a5e: SHL
00003a5f: SUB
00003a60: PUSH1 0x09
00003a62: SLOAD
00003a63: AND
00003a64: ADD
00003a65: PUSH1 0x01
00003a67: PUSH1 0x01
00003a69: PUSH1 0x40
00003a6b: SHL
00003a6c: SUB
00003a6d: DUP2
00003a6e: GT
00003a6f: PUSH2 0x1114
00003a72: JUMPI
00003a73: PUSH1 0x01
00003a75: PUSH1 0x01
00003a77: PUSH1 0x40
00003a79: SHL
00003a7a: SUB
00003a7b: AND
00003a7c: TIMESTAMP
00003a7d: LT
00003a7e: PUSH2 0x410d
00003a81: JUMPI
00003a82: PUSH1 0x40
00003a84: MLOAD
00003a85: PUSH2 0x3a8f
00003a88: PUSH1 0x60
00003a8a: DUP3
00003a8b: PUSH2 0x377d
00003a8e: JUMP
00003a8f: JUMPDEST
00003a90: PUSH1 0x02
00003a92: DUP2
00003a93: MSTORE
00003a94: PUSH1 0x20
00003a96: DUP2
00003a97: ADD
00003a98: PUSH1 0x40
00003a9a: CALLDATASIZE
00003a9b: DUP3
00003a9c: CALLDATACOPY
00003a9d: PUSH2 0x0441
00003aa0: PUSH2 0x3aa8
00003aa3: DUP4
00003aa4: PUSH2 0x3836
00003aa7: JUMP
00003aa8: JUMPDEST
00003aa9: MSTORE
00003aaa: PUSH1 0x00
00003aac: PUSH2 0x3ab4
00003aaf: DUP4
00003ab0: PUSH2 0x3859
00003ab3: JUMP
00003ab4: JUMPDEST
00003ab5: MSTORE
00003ab6: PUSH1 0x01
00003ab8: DUP1
00003ab9: PUSH1 0xa0
00003abb: SHL
00003abc: SUB
00003abd: PUSH1 0x07
00003abf: SLOAD
00003ac0: AND
00003ac1: PUSH1 0x40
00003ac3: MLOAD
00003ac4: DUP1
00003ac5: SWAP3
00003ac6: PUSH4 0x883bdbfd
00003acb: PUSH1 0xe0
00003acd: SHL
00003ace: DUP3
00003acf: MSTORE
00003ad0: PUSH1 0x24
00003ad2: DUP3
00003ad3: ADD
00003ad4: PUSH1 0x20
00003ad6: PUSH1 0x04
00003ad8: DUP5
00003ad9: ADD
00003ada: MSTORE
00003adb: DUP6
00003adc: MLOAD
00003add: DUP1
00003ade: SWAP2
00003adf: MSTORE
00003ae0: PUSH1 0x44
00003ae2: DUP4
00003ae3: ADD
00003ae4: SWAP2
00003ae5: SWAP1
00003ae6: PUSH1 0x00
00003ae8: JUMPDEST
00003ae9: DUP2
00003aea: DUP2
00003aeb: LT
00003aec: PUSH2 0x40ee
00003aef: JUMPI
00003af0: POP
00003af1: POP
00003af2: POP
00003af3: SWAP2
00003af4: DUP2
00003af5: DUP1
00003af6: PUSH1 0x00
00003af8: SWAP5
00003af9: SUB
00003afa: SWAP2
00003afb: GAS
00003afc: STATICCALL
00003afd: PUSH1 0x00
00003aff: SWAP2
00003b00: DUP2
00003b01: PUSH2 0x3fdc
00003b04: JUMPI
00003b05: JUMPDEST
00003b06: POP
00003b07: PUSH2 0x3b1b
00003b0a: JUMPI
00003b0b: PUSH4 0x89d9e13d
00003b10: PUSH1 0xe0
00003b12: SHL
00003b13: PUSH1 0x00
00003b15: MSTORE
00003b16: PUSH1 0x04
00003b18: PUSH1 0x00
00003b1a: REVERT
00003b1b: JUMPDEST
00003b1c: PUSH2 0x3b31
00003b1f: PUSH2 0x3b27
00003b22: DUP3
00003b23: PUSH2 0x3859
00003b26: JUMP
00003b27: JUMPDEST
00003b28: MLOAD
00003b29: PUSH1 0x06
00003b2b: SIGNEXTEND
00003b2c: SWAP2
00003b2d: PUSH2 0x3836
00003b30: JUMP
00003b31: JUMPDEST
00003b32: MLOAD
00003b33: PUSH1 0x06
00003b35: SIGNEXTEND
00003b36: SWAP1
00003b37: SUB
00003b38: SWAP1
00003b39: PUSH7 0x7fffffffffffff
00003b41: NOT
00003b42: DUP3
00003b43: SLT
00003b44: PUSH7 0x7fffffffffffff
00003b4c: DUP4
00003b4d: SGT
00003b4e: OR
00003b4f: PUSH2 0x1114
00003b52: JUMPI
00003b53: PUSH4 0xffffffff
00003b58: PUSH2 0x3b60
00003b5b: DUP3
00003b5c: PUSH2 0x3836
00003b5f: JUMP
00003b60: JUMPDEST
00003b61: MLOAD
00003b62: AND
00003b63: PUSH1 0x03
00003b65: SIGNEXTEND
00003b66: SWAP2
00003b67: PUSH1 0x06
00003b69: SIGNEXTEND
00003b6a: SWAP2
00003b6b: DUP1
00003b6c: ISZERO
00003b6d: PUSH2 0x37c2
00003b70: JUMPI
00003b71: PUSH7 0x7fffffffffffff
00003b79: NOT
00003b7a: DUP4
00003b7b: EQ
00003b7c: PUSH1 0x00
00003b7e: NOT
00003b7f: DUP3
00003b80: EQ
00003b81: AND
00003b82: PUSH2 0x1114
00003b85: JUMPI
00003b86: DUP3
00003b87: SDIV
00003b88: PUSH1 0x02
00003b8a: SIGNEXTEND
00003b8b: SWAP2
00003b8c: PUSH1 0x00
00003b8e: DUP2
00003b8f: SLT
00003b90: SWAP2
00003b91: DUP3
00003b92: PUSH2 0x3fb2
00003b95: JUMPI
00003b96: JUMPDEST
00003b97: POP
00003b98: POP
00003b99: PUSH2 0x3f9e
00003b9c: JUMPI
00003b9d: JUMPDEST
00003b9e: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
00003bbf: SWAP1
00003bc0: PUSH1 0x02
00003bc2: SIGNEXTEND
00003bc3: PUSH1 0x00
00003bc5: DUP1
00003bc6: DUP3
00003bc7: SLT
00003bc8: ISZERO
00003bc9: PUSH2 0x3f98
00003bcc: JUMPI
00003bcd: DUP2
00003bce: DUP2
00003bcf: SUB
00003bd0: SWAP2
00003bd1: JUMPDEST
00003bd2: PUSH3 0x0d89e8
00003bd6: DUP4
00003bd7: GT
00003bd8: PUSH2 0x18b2
00003bdb: JUMPI
00003bdc: PUSH1 0x01
00003bde: DUP4
00003bdf: AND
00003be0: ISZERO
00003be1: PUSH2 0x3f86
00003be4: JUMPI
00003be5: PUSH1 0x01
00003be7: PUSH1 0x01
00003be9: PUSH1 0x88
00003beb: SHL
00003bec: SUB
00003bed: PUSH16 0xfffcb933bd6fad37aa2d162d1a594001
00003bfe: JUMPDEST
00003bff: AND
00003c00: SWAP3
00003c01: PUSH1 0x02
00003c03: DUP2
00003c04: AND
00003c05: PUSH2 0x3f6a
00003c08: JUMPI
00003c09: JUMPDEST
00003c0a: PUSH1 0x04
00003c0c: DUP2
00003c0d: AND
00003c0e: PUSH2 0x3f4e
00003c11: JUMPI
00003c12: JUMPDEST
00003c13: PUSH1 0x08
00003c15: DUP2
00003c16: AND
00003c17: PUSH2 0x3f32
00003c1a: JUMPI
00003c1b: JUMPDEST
00003c1c: PUSH1 0x10
00003c1e: DUP2
00003c1f: AND
00003c20: PUSH2 0x3f16
00003c23: JUMPI
00003c24: JUMPDEST
00003c25: PUSH1 0x20
00003c27: DUP2
00003c28: AND
00003c29: PUSH2 0x3efa
00003c2c: JUMPI
00003c2d: JUMPDEST
00003c2e: PUSH1 0x40
00003c30: DUP2
00003c31: AND
00003c32: PUSH2 0x3ede
00003c35: JUMPI
00003c36: JUMPDEST
00003c37: PUSH1 0x80
00003c39: DUP2
00003c3a: AND
00003c3b: PUSH2 0x3ec2
00003c3e: JUMPI
00003c3f: JUMPDEST
00003c40: PUSH2 0x0100
00003c43: DUP2
00003c44: AND
00003c45: PUSH2 0x3ea6
00003c48: JUMPI
00003c49: JUMPDEST
00003c4a: PUSH2 0x0200
00003c4d: DUP2
00003c4e: AND
00003c4f: PUSH2 0x3e8a
00003c52: JUMPI
00003c53: JUMPDEST
00003c54: PUSH2 0x0400
00003c57: DUP2
00003c58: AND
00003c59: PUSH2 0x3e6e
00003c5c: JUMPI
00003c5d: JUMPDEST
00003c5e: PUSH2 0x0800
00003c61: DUP2
00003c62: AND
00003c63: PUSH2 0x3e52
00003c66: JUMPI
00003c67: JUMPDEST
00003c68: PUSH2 0x1000
00003c6b: DUP2
00003c6c: AND
00003c6d: PUSH2 0x3e36
00003c70: JUMPI
00003c71: JUMPDEST
00003c72: PUSH2 0x2000
00003c75: DUP2
00003c76: AND
00003c77: PUSH2 0x3e1a
00003c7a: JUMPI
00003c7b: JUMPDEST
00003c7c: PUSH2 0x4000
00003c7f: DUP2
00003c80: AND
00003c81: PUSH2 0x3dfe
00003c84: JUMPI
00003c85: JUMPDEST
00003c86: PUSH2 0x8000
00003c89: DUP2
00003c8a: AND
00003c8b: PUSH2 0x3de2
00003c8e: JUMPI
00003c8f: JUMPDEST
00003c90: PUSH3 0x010000
00003c94: DUP2
00003c95: AND
00003c96: PUSH2 0x3dc6
00003c99: JUMPI
00003c9a: JUMPDEST
00003c9b: PUSH3 0x020000
00003c9f: DUP2
00003ca0: AND
00003ca1: PUSH2 0x3dab
00003ca4: JUMPI
00003ca5: JUMPDEST
00003ca6: PUSH3 0x040000
00003caa: DUP2
00003cab: AND
00003cac: PUSH2 0x3d90
00003caf: JUMPI
00003cb0: JUMPDEST
00003cb1: PUSH3 0x080000
00003cb5: AND
00003cb6: PUSH2 0x3d77
00003cb9: JUMPI
00003cba: JUMPDEST
00003cbb: DUP2
00003cbc: SLT
00003cbd: PUSH2 0x3d52
00003cc0: JUMPI
00003cc1: JUMPDEST
00003cc2: PUSH4 0xffffffff
00003cc7: DUP3
00003cc8: AND
00003cc9: PUSH2 0x3d49
00003ccc: JUMPI
00003ccd: SWAP1
00003cce: JUMPDEST
00003ccf: PUSH1 0x20
00003cd1: SHR
00003cd2: PUSH1 0xff
00003cd4: SWAP2
00003cd5: SWAP1
00003cd6: SWAP2
00003cd7: AND
00003cd8: ADD
00003cd9: PUSH1 0x01
00003cdb: PUSH1 0x01
00003cdd: PUSH1 0xa0
00003cdf: SHL
00003ce0: SUB
00003ce1: AND
00003ce2: PUSH1 0x01
00003ce4: PUSH1 0x01
00003ce6: PUSH1 0x80
00003ce8: SHL
00003ce9: SUB
00003cea: DUP2
00003ceb: GT
00003cec: PUSH2 0x3d1c
00003cef: JUMPI
00003cf0: DUP1
00003cf1: PUSH2 0x3cf9
00003cf4: SWAP2
00003cf5: PUSH2 0x3895
00003cf8: JUMP
00003cf9: JUMPDEST
00003cfa: SWAP1
00003cfb: PUSH1 0x01
00003cfd: PUSH1 0x01
00003cff: PUSH1 0xa0
00003d01: SHL
00003d02: SUB
00003d03: AND
00003d04: ADDRESS
00003d05: LT
00003d06: ISZERO
00003d07: PUSH2 0x3d13
00003d0a: JUMPI
00003d0b: PUSH2 0x3997
00003d0e: SWAP1
00003d0f: PUSH2 0x51c2
00003d12: JUMP
00003d13: JUMPDEST
00003d14: PUSH2 0x3997
00003d17: SWAP1
00003d18: PUSH2 0x51ae
00003d1b: JUMP
00003d1c: JUMPDEST
00003d1d: DUP1
00003d1e: PUSH2 0x3d26
00003d21: SWAP2
00003d22: PUSH2 0x50e4
00003d25: JUMP
00003d26: JUMPDEST
00003d27: SWAP1
00003d28: PUSH1 0x01
00003d2a: PUSH1 0x01
00003d2c: PUSH1 0xa0
00003d2e: SHL
00003d2f: SUB
00003d30: AND
00003d31: ADDRESS
00003d32: LT
00003d33: ISZERO
00003d34: PUSH2 0x3d40
00003d37: JUMPI
00003d38: PUSH2 0x3997
00003d3b: SWAP1
00003d3c: PUSH2 0x5147
00003d3f: JUMP
00003d40: JUMPDEST
00003d41: PUSH2 0x3997
00003d44: SWAP1
00003d45: PUSH2 0x5133
00003d48: JUMP
00003d49: JUMPDEST
00003d4a: POP
00003d4b: PUSH1 0x01
00003d4d: SWAP1
00003d4e: PUSH2 0x3cce
00003d51: JUMP
00003d52: JUMPDEST
00003d53: SWAP1
00003d54: DUP1
00003d55: ISZERO
00003d56: PUSH2 0x3d63
00003d59: JUMPI
00003d5a: PUSH1 0x00
00003d5c: NOT
00003d5d: DIV
00003d5e: SWAP1
00003d5f: PUSH2 0x3cc1
00003d62: JUMP
00003d63: JUMPDEST
00003d64: PUSH4 0x4e487b71
00003d69: PUSH1 0xe0
00003d6b: SHL
00003d6c: DUP3
00003d6d: MSTORE
00003d6e: PUSH1 0x12
00003d70: PUSH1 0x04
00003d72: MSTORE
00003d73: PUSH1 0x24
00003d75: DUP3
00003d76: REVERT
00003d77: JUMPDEST
00003d78: PUSH12 0x048a170391f7dc42444e8fa2
00003d85: SWAP1
00003d86: SWAP3
00003d87: MUL
00003d88: PUSH1 0x80
00003d8a: SHR
00003d8b: SWAP2
00003d8c: PUSH2 0x3cba
00003d8f: JUMP
00003d90: JUMPDEST
00003d91: PUSH14 0x2216e584f5fa1ea926041bedfe98
00003da0: SWAP1
00003da1: SWAP4
00003da2: MUL
00003da3: PUSH1 0x80
00003da5: SHR
00003da6: SWAP3
00003da7: PUSH2 0x3cb0
00003daa: JUMP
00003dab: JUMPDEST
00003dac: SWAP3
00003dad: PUSH15 0x5d6af8dedb81196699c329225ee604
00003dbd: MUL
00003dbe: PUSH1 0x80
00003dc0: SHR
00003dc1: SWAP3
00003dc2: PUSH2 0x3ca5
00003dc5: JUMP
00003dc6: JUMPDEST
00003dc7: SWAP3
00003dc8: PUSH16 0x09aa508b5b7a84e1c677de54f3e99bc9
00003dd9: MUL
00003dda: PUSH1 0x80
00003ddc: SHR
00003ddd: SWAP3
00003dde: PUSH2 0x3c9a
00003de1: JUMP
00003de2: JUMPDEST
00003de3: SWAP3
00003de4: PUSH16 0x31be135f97d08fd981231505542fcfa6
00003df5: MUL
00003df6: PUSH1 0x80
00003df8: SHR
00003df9: SWAP3
00003dfa: PUSH2 0x3c8f
00003dfd: JUMP
00003dfe: JUMPDEST
00003dff: SWAP3
00003e00: PUSH16 0x70d869a156d2a1b890bb3df62baf32f7
00003e11: MUL
00003e12: PUSH1 0x80
00003e14: SHR
00003e15: SWAP3
00003e16: PUSH2 0x3c85
00003e19: JUMP
00003e1a: JUMPDEST
00003e1b: SWAP3
00003e1c: PUSH16 0xa9f746462d870fdf8a65dc1f90e061e5
00003e2d: MUL
00003e2e: PUSH1 0x80
00003e30: SHR
00003e31: SWAP3
00003e32: PUSH2 0x3c7b
00003e35: JUMP
00003e36: JUMPDEST
00003e37: SWAP3
00003e38: PUSH16 0xd097f3bdfd2022b8845ad8f792aa5825
00003e49: MUL
00003e4a: PUSH1 0x80
00003e4c: SHR
00003e4d: SWAP3
00003e4e: PUSH2 0x3c71
00003e51: JUMP
00003e52: JUMPDEST
00003e53: SWAP3
00003e54: PUSH16 0xe7159475a2c29b7443b29c7fa6e889d9
00003e65: MUL
00003e66: PUSH1 0x80
00003e68: SHR
00003e69: SWAP3
00003e6a: PUSH2 0x3c67
00003e6d: JUMP
00003e6e: JUMPDEST
00003e6f: SWAP3
00003e70: PUSH16 0xf3392b0822b70005940c7a398e4b70f3
00003e81: MUL
00003e82: PUSH1 0x80
00003e84: SHR
00003e85: SWAP3
00003e86: PUSH2 0x3c5d
00003e89: JUMP
00003e8a: JUMPDEST
00003e8b: SWAP3
00003e8c: PUSH16 0xf987a7253ac413176f2b074cf7815e54
00003e9d: MUL
00003e9e: PUSH1 0x80
00003ea0: SHR
00003ea1: SWAP3
00003ea2: PUSH2 0x3c53
00003ea5: JUMP
00003ea6: JUMPDEST
00003ea7: SWAP3
00003ea8: PUSH16 0xfcbe86c7900a88aedcffc83b479aa3a4
00003eb9: MUL
00003eba: PUSH1 0x80
00003ebc: SHR
00003ebd: SWAP3
00003ebe: PUSH2 0x3c49
00003ec1: JUMP
00003ec2: JUMPDEST
00003ec3: SWAP3
00003ec4: PUSH16 0xfe5dee046a99a2a811c461f1969c3053
00003ed5: MUL
00003ed6: PUSH1 0x80
00003ed8: SHR
00003ed9: SWAP3
00003eda: PUSH2 0x3c3f
00003edd: JUMP
00003ede: JUMPDEST
00003edf: SWAP3
00003ee0: PUSH16 0xff2ea16466c96a3843ec78b326b52861
00003ef1: MUL
00003ef2: PUSH1 0x80
00003ef4: SHR
00003ef5: SWAP3
00003ef6: PUSH2 0x3c36
00003ef9: JUMP
00003efa: JUMPDEST
00003efb: SWAP3
00003efc: PUSH16 0xff973b41fa98c081472e6896dfb254c0
00003f0d: MUL
00003f0e: PUSH1 0x80
00003f10: SHR
00003f11: SWAP3
00003f12: PUSH2 0x3c2d
00003f15: JUMP
00003f16: JUMPDEST
00003f17: SWAP3
00003f18: PUSH16 0xffcb9843d60f6159c9db58835c926644
00003f29: MUL
00003f2a: PUSH1 0x80
00003f2c: SHR
00003f2d: SWAP3
00003f2e: PUSH2 0x3c24
00003f31: JUMP
00003f32: JUMPDEST
00003f33: SWAP3
00003f34: PUSH16 0xffe5caca7e10e4e61c3624eaa0941cd0
00003f45: MUL
00003f46: PUSH1 0x80
00003f48: SHR
00003f49: SWAP3
00003f4a: PUSH2 0x3c1b
00003f4d: JUMP
00003f4e: JUMPDEST
00003f4f: SWAP3
00003f50: PUSH16 0xfff2e50f5f656932ef12357cf3c7fdcc
00003f61: MUL
00003f62: PUSH1 0x80
00003f64: SHR
00003f65: SWAP3
00003f66: PUSH2 0x3c12
00003f69: JUMP
00003f6a: JUMPDEST
00003f6b: SWAP3
00003f6c: PUSH16 0xfff97272373d413259a46990580e213a
00003f7d: MUL
00003f7e: PUSH1 0x80
00003f80: SHR
00003f81: SWAP3
00003f82: PUSH2 0x3c09
00003f85: JUMP
00003f86: JUMPDEST
00003f87: PUSH1 0x01
00003f89: PUSH1 0x01
00003f8b: PUSH1 0x88
00003f8d: SHL
00003f8e: SUB
00003f8f: PUSH1 0x01
00003f91: PUSH1 0x80
00003f93: SHL
00003f94: PUSH2 0x3bfe
00003f97: JUMP
00003f98: JUMPDEST
00003f99: DUP2
00003f9a: PUSH2 0x3bd1
00003f9d: JUMP
00003f9e: JUMPDEST
00003f9f: PUSH3 0x7fffff
00003fa3: NOT
00003fa4: DUP2
00003fa5: EQ
00003fa6: PUSH2 0x1114
00003fa9: JUMPI
00003faa: PUSH1 0x00
00003fac: NOT
00003fad: ADD
00003fae: PUSH2 0x3b9d
00003fb1: JUMP
00003fb2: JUMPDEST
00003fb3: PUSH4 0xffffffff
00003fb8: SWAP2
00003fb9: SWAP3
00003fba: POP
00003fbb: PUSH2 0x3fc3
00003fbe: SWAP1
00003fbf: PUSH2 0x3836
00003fc2: JUMP
00003fc3: JUMPDEST
00003fc4: MLOAD
00003fc5: AND
00003fc6: PUSH1 0x06
00003fc8: SIGNEXTEND
00003fc9: SWAP1
00003fca: DUP2
00003fcb: ISZERO
00003fcc: PUSH2 0x37c2
00003fcf: JUMPI
00003fd0: SMOD
00003fd1: PUSH1 0x06
00003fd3: SIGNEXTEND
00003fd4: ISZERO
00003fd5: ISZERO
00003fd6: CODESIZE
00003fd7: DUP1
00003fd8: PUSH2 0x3b96
00003fdb: JUMP
00003fdc: JUMPDEST
00003fdd: SWAP1
00003fde: SWAP2
00003fdf: RETURNDATASIZE
00003fe0: DUP1
00003fe1: DUP3
00003fe2: DUP5
00003fe3: RETURNDATACOPY
00003fe4: PUSH2 0x3fed
00003fe7: DUP2
00003fe8: DUP5
00003fe9: PUSH2 0x377d
00003fec: JUMP
00003fed: JUMPDEST
00003fee: DUP3
00003fef: ADD
00003ff0: SWAP1
00003ff1: PUSH1 0x40
00003ff3: DUP4
00003ff4: DUP4
00003ff5: SUB
00003ff6: SLT
00003ff7: PUSH2 0x02f2
00003ffa: JUMPI
00003ffb: DUP3
00003ffc: MLOAD
00003ffd: PUSH1 0x01
00003fff: PUSH1 0x01
00004001: PUSH1 0x40
00004003: SHL
00004004: SUB
00004005: DUP2
00004006: GT
00004007: PUSH2 0x0bb9
0000400a: JUMPI
0000400b: DUP4
0000400c: ADD
0000400d: SWAP3
0000400e: DUP3
0000400f: PUSH1 0x1f
00004011: DUP6
00004012: ADD
00004013: SLT
00004014: ISZERO
00004015: PUSH2 0x0bb9
00004018: JUMPI
00004019: DUP4
0000401a: MLOAD
0000401b: PUSH2 0x4023
0000401e: DUP2
0000401f: PUSH2 0x381f
00004022: JUMP
00004023: JUMPDEST
00004024: SWAP5
00004025: PUSH2 0x4031
00004028: PUSH1 0x40
0000402a: MLOAD
0000402b: SWAP7
0000402c: DUP8
0000402d: PUSH2 0x377d
00004030: JUMP
00004031: JUMPDEST
00004032: DUP2
00004033: DUP7
00004034: MSTORE
00004035: PUSH1 0x20
00004037: DUP1
00004038: DUP8
00004039: ADD
0000403a: SWAP3
0000403b: PUSH1 0x05
0000403d: SHL
0000403e: DUP3
0000403f: ADD
00004040: ADD
00004041: SWAP1
00004042: DUP6
00004043: DUP3
00004044: GT
00004045: PUSH2 0x0baa
00004048: JUMPI
00004049: PUSH1 0x20
0000404b: ADD
0000404c: SWAP2
0000404d: JUMPDEST
0000404e: DUP2
0000404f: DUP4
00004050: LT
00004051: PUSH2 0x40d4
00004054: JUMPI
00004055: POP
00004056: POP
00004057: POP
00004058: PUSH1 0x20
0000405a: DUP2
0000405b: ADD
0000405c: MLOAD
0000405d: SWAP1
0000405e: PUSH1 0x01
00004060: PUSH1 0x01
00004062: PUSH1 0x40
00004064: SHL
00004065: SUB
00004066: DUP3
00004067: GT
00004068: PUSH2 0x236c
0000406b: JUMPI
0000406c: ADD
0000406d: DUP3
0000406e: PUSH1 0x1f
00004070: DUP3
00004071: ADD
00004072: SLT
00004073: ISZERO
00004074: PUSH2 0x0bb9
00004077: JUMPI
00004078: DUP1
00004079: MLOAD
0000407a: SWAP2
0000407b: PUSH1 0x20
0000407d: DUP1
0000407e: PUSH2 0x4086
00004081: DUP6
00004082: PUSH2 0x381f
00004085: JUMP
00004086: JUMPDEST
00004087: PUSH2 0x4093
0000408a: PUSH1 0x40
0000408c: MLOAD
0000408d: SWAP2
0000408e: DUP3
0000408f: PUSH2 0x377d
00004092: JUMP
00004093: JUMPDEST
00004094: DUP6
00004095: DUP2
00004096: MSTORE
00004097: ADD
00004098: SWAP4
00004099: PUSH1 0x05
0000409b: SHL
0000409c: DUP4
0000409d: ADD
0000409e: ADD
0000409f: SWAP4
000040a0: DUP5
000040a1: GT
000040a2: PUSH2 0x02f2
000040a5: JUMPI
000040a6: POP
000040a7: PUSH1 0x20
000040a9: ADD
000040aa: SWAP1
000040ab: JUMPDEST
000040ac: DUP3
000040ad: DUP3
000040ae: LT
000040af: PUSH2 0x40bc
000040b2: JUMPI
000040b3: POP
000040b4: POP
000040b5: POP
000040b6: SWAP1
000040b7: CODESIZE
000040b8: PUSH2 0x3b05
000040bb: JUMP
000040bc: JUMPDEST
000040bd: PUSH1 0x20
000040bf: DUP1
000040c0: SWAP2
000040c1: PUSH2 0x40c9
000040c4: DUP5
000040c5: PUSH2 0x38a8
000040c8: JUMP
000040c9: JUMPDEST
000040ca: DUP2
000040cb: MSTORE
000040cc: ADD
000040cd: SWAP2
000040ce: ADD
000040cf: SWAP1
000040d0: PUSH2 0x40ab
000040d3: JUMP
000040d4: JUMPDEST
000040d5: DUP3
000040d6: MLOAD
000040d7: DUP1
000040d8: PUSH1 0x06
000040da: SIGNEXTEND
000040db: DUP2
000040dc: SUB
000040dd: PUSH2 0x23cf
000040e0: JUMPI
000040e1: DUP2
000040e2: MSTORE
000040e3: PUSH1 0x20
000040e5: SWAP3
000040e6: DUP4
000040e7: ADD
000040e8: SWAP3
000040e9: ADD
000040ea: PUSH2 0x404d
000040ed: JUMP
000040ee: JUMPDEST
000040ef: DUP3
000040f0: MLOAD
000040f1: PUSH4 0xffffffff
000040f6: AND
000040f7: DUP5
000040f8: MSTORE
000040f9: DUP7
000040fa: SWAP5
000040fb: POP
000040fc: PUSH1 0x20
000040fe: SWAP4
000040ff: DUP5
00004100: ADD
00004101: SWAP4
00004102: SWAP1
00004103: SWAP3
00004104: ADD
00004105: SWAP2
00004106: PUSH1 0x01
00004108: ADD
00004109: PUSH2 0x3ae8
0000410c: JUMP
0000410d: JUMPDEST
0000410e: PUSH32 0x0000000000000000000000000000000000000000000000000000000000050910
0000412f: DUP1
00004130: ISZERO
00004131: PUSH2 0x37c2
00004134: JUMPI
00004135: PUSH8 0x0de0b6b3a7640000
0000413e: DIV
0000413f: SWAP1
00004140: JUMP
00004141: JUMPDEST
00004142: PUSH1 0x02
00004144: PUSH1 0x06
00004146: SLOAD
00004147: EQ
00004148: PUSH2 0x4152
0000414b: JUMPI
0000414c: PUSH1 0x02
0000414e: PUSH1 0x06
00004150: SSTORE
00004151: JUMP
00004152: JUMPDEST
00004153: PUSH4 0x3ee5aeb5
00004158: PUSH1 0xe0
0000415a: SHL
0000415b: PUSH1 0x00
0000415d: MSTORE
0000415e: PUSH1 0x04
00004160: PUSH1 0x00
00004162: REVERT
00004163: JUMPDEST
00004164: CALLER
00004165: PUSH1 0x00
00004167: MSTORE
00004168: PUSH1 0x0c
0000416a: PUSH1 0x20
0000416c: MSTORE
0000416d: PUSH1 0x40
0000416f: PUSH1 0x00
00004171: KECCAK256
00004172: SLOAD
00004173: TIMESTAMP
00004174: LT
00004175: PUSH2 0x41f9
00004178: JUMPI
00004179: CALLER
0000417a: PUSH1 0x00
0000417c: MSTORE
0000417d: PUSH1 0x0a
0000417f: PUSH1 0x20
00004181: MSTORE
00004182: PUSH1 0x40
00004184: PUSH1 0x00
00004186: KECCAK256
00004187: SLOAD
00004188: ISZERO
00004189: PUSH2 0x41e8
0000418c: JUMPI
0000418d: CALLER
0000418e: PUSH1 0x00
00004190: DUP2
00004191: DUP2
00004192: MSTORE
00004193: PUSH1 0x0a
00004195: PUSH1 0x20
00004197: MSTORE
00004198: PUSH1 0x40
0000419a: DUP2
0000419b: KECCAK256
0000419c: DUP1
0000419d: SLOAD
0000419e: SWAP2
0000419f: SWAP1
000041a0: SSTORE
000041a1: SWAP1
000041a2: PUSH2 0x41ac
000041a5: SWAP1
000041a6: DUP3
000041a7: SWAP1
000041a8: PUSH2 0x42cf
000041ab: JUMP
000041ac: JUMPDEST
000041ad: PUSH4 0xffffffff
000041b2: PUSH2 0x41b9
000041b5: PUSH2 0x396f
000041b8: JUMP
000041b9: JUMPDEST
000041ba: AND
000041bb: PUSH1 0x40
000041bd: MLOAD
000041be: SWAP2
000041bf: DUP3
000041c0: MSTORE
000041c1: PUSH32 0xdc8b8058bd26d719cc330a54461930fd9c312dd28447313fd5dc4641513e0074
000041e2: PUSH1 0x20
000041e4: CALLER
000041e5: SWAP4
000041e6: LOG3
000041e7: JUMP
000041e8: JUMPDEST
000041e9: PUSH4 0x0f4c8e75
000041ee: PUSH1 0xe1
000041f0: SHL
000041f1: PUSH1 0x00
000041f3: MSTORE
000041f4: PUSH1 0x04
000041f6: PUSH1 0x00
000041f8: REVERT
000041f9: JUMPDEST
000041fa: PUSH4 0x0fb9ee4d
000041ff: PUSH1 0xe1
00004201: SHL
00004202: PUSH1 0x00
00004204: MSTORE
00004205: PUSH1 0x04
00004207: PUSH1 0x00
00004209: REVERT
0000420a: JUMPDEST
0000420b: PUSH1 0x01
0000420d: PUSH1 0x01
0000420f: PUSH1 0xa0
00004211: SHL
00004212: SUB
00004213: AND
00004214: SWAP1
00004215: DUP2
00004216: ISZERO
00004217: PUSH2 0x42b9
0000421a: JUMPI
0000421b: PUSH1 0x01
0000421d: PUSH1 0x01
0000421f: PUSH1 0xa0
00004221: SHL
00004222: SUB
00004223: AND
00004224: SWAP2
00004225: DUP3
00004226: ISZERO
00004227: PUSH2 0x42a3
0000422a: JUMPI
0000422b: PUSH1 0x00
0000422d: DUP3
0000422e: DUP2
0000422f: MSTORE
00004230: DUP1
00004231: PUSH1 0x20
00004233: MSTORE
00004234: PUSH1 0x40
00004236: DUP2
00004237: KECCAK256
00004238: SLOAD
00004239: DUP3
0000423a: DUP2
0000423b: LT
0000423c: PUSH2 0x4289
0000423f: JUMPI
00004240: SWAP2
00004241: PUSH1 0x40
00004243: DUP3
00004244: DUP3
00004245: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00004266: SWAP6
00004267: DUP8
00004268: PUSH1 0x20
0000426a: SWAP7
0000426b: MSTORE
0000426c: DUP3
0000426d: DUP7
0000426e: MSTORE
0000426f: SUB
00004270: DUP3
00004271: DUP3
00004272: KECCAK256
00004273: SSTORE
00004274: DUP7
00004275: DUP2
00004276: MSTORE
00004277: DUP1
00004278: DUP5
00004279: MSTORE
0000427a: KECCAK256
0000427b: DUP2
0000427c: DUP2
0000427d: SLOAD
0000427e: ADD
0000427f: SWAP1
00004280: SSTORE
00004281: PUSH1 0x40
00004283: MLOAD
00004284: SWAP1
00004285: DUP2
00004286: MSTORE
00004287: LOG3
00004288: JUMP
00004289: JUMPDEST
0000428a: SWAP2
0000428b: PUSH1 0x64
0000428d: SWAP3
0000428e: DUP5
0000428f: PUSH4 0x391434e3
00004294: PUSH1 0xe2
00004296: SHL
00004297: DUP5
00004298: MSTORE
00004299: PUSH1 0x04
0000429b: MSTORE
0000429c: PUSH1 0x24
0000429e: MSTORE
0000429f: PUSH1 0x44
000042a1: MSTORE
000042a2: REVERT
000042a3: JUMPDEST
000042a4: PUSH4 0xec442f05
000042a9: PUSH1 0xe0
000042ab: SHL
000042ac: PUSH1 0x00
000042ae: MSTORE
000042af: PUSH1 0x00
000042b1: PUSH1 0x04
000042b3: MSTORE
000042b4: PUSH1 0x24
000042b6: PUSH1 0x00
000042b8: REVERT
000042b9: JUMPDEST
000042ba: PUSH4 0x4b637e8f
000042bf: PUSH1 0xe1
000042c1: SHL
000042c2: PUSH1 0x00
000042c4: MSTORE
000042c5: PUSH1 0x00
000042c7: PUSH1 0x04
000042c9: MSTORE
000042ca: PUSH1 0x24
000042cc: PUSH1 0x00
000042ce: REVERT
000042cf: JUMPDEST
000042d0: PUSH1 0x01
000042d2: PUSH1 0x01
000042d4: PUSH1 0xa0
000042d6: SHL
000042d7: SUB
000042d8: AND
000042d9: SWAP1
000042da: DUP2
000042db: ISZERO
000042dc: PUSH2 0x42a3
000042df: JUMPI
000042e0: PUSH2 0x42eb
000042e3: DUP2
000042e4: PUSH1 0x02
000042e6: SLOAD
000042e7: PUSH2 0x379e
000042ea: JUMP
000042eb: JUMPDEST
000042ec: PUSH1 0x02
000042ee: SSTORE
000042ef: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00004310: PUSH1 0x20
00004312: PUSH1 0x00
00004314: SWAP3
00004315: DUP5
00004316: DUP5
00004317: MSTORE
00004318: DUP4
00004319: DUP3
0000431a: MSTORE
0000431b: PUSH1 0x40
0000431d: DUP5
0000431e: KECCAK256
0000431f: DUP2
00004320: DUP2
00004321: SLOAD
00004322: ADD
00004323: SWAP1
00004324: SSTORE
00004325: PUSH1 0x40
00004327: MLOAD
00004328: SWAP1
00004329: DUP2
0000432a: MSTORE
0000432b: LOG3
0000432c: JUMP
0000432d: JUMPDEST
0000432e: SWAP1
0000432f: PUSH1 0x21
00004331: DUP2
00004332: LT
00004333: ISZERO
00004334: PUSH2 0x3843
00004337: JUMPI
00004338: PUSH1 0x05
0000433a: SHL
0000433b: ADD
0000433c: SWAP1
0000433d: JUMP
0000433e: JUMPDEST
0000433f: PUSH1 0x21
00004341: PUSH4 0xffffffff
00004346: DUP3
00004347: AND
00004348: GT
00004349: PUSH2 0x44c0
0000434c: JUMPI
0000434d: PUSH2 0x44bb
00004350: PUSH4 0xffffffff
00004355: SWAP2
00004356: DUP3
00004357: PUSH2 0x44b4
0000435a: PUSH1 0x40
0000435c: MLOAD
0000435d: SWAP3
0000435e: PUSH2 0x4366
00004361: DUP5
00004362: PUSH2 0x3761
00004365: JUMP
00004366: JUMPDEST
00004367: PUSH4 0x01f78a40
0000436c: DUP5
0000436d: MSTORE
0000436e: PUSH4 0x01d32fcc
00004373: PUSH1 0x20
00004375: DUP6
00004376: ADD
00004377: MSTORE
00004378: PUSH4 0x01b1753b
0000437d: PUSH1 0x40
0000437f: DUP6
00004380: ADD
00004381: MSTORE
00004382: PUSH4 0x01922a0b
00004387: PUSH1 0x60
00004389: DUP6
0000438a: ADD
0000438b: MSTORE
0000438c: PUSH4 0x01752139
00004391: PUSH1 0x80
00004393: DUP6
00004394: ADD
00004395: MSTORE
00004396: PUSH4 0x015a3106
0000439b: PUSH1 0xa0
0000439d: DUP6
0000439e: ADD
0000439f: MSTORE
000043a0: PUSH4 0x014132b2
000043a5: PUSH1 0xc0
000043a7: DUP6
000043a8: ADD
000043a9: MSTORE
000043aa: PUSH4 0x012a024c
000043af: PUSH1 0xe0
000043b1: DUP6
000043b2: ADD
000043b3: MSTORE
000043b4: PUSH4 0x01147e7c
000043b9: PUSH2 0x0100
000043bc: DUP6
000043bd: ADD
000043be: MSTORE
000043bf: PUSH4 0x0100884e
000043c4: PUSH2 0x0120
000043c7: DUP6
000043c8: ADD
000043c9: MSTORE
000043ca: PUSH3 0xee0310
000043ce: PUSH2 0x0140
000043d1: DUP6
000043d2: ADD
000043d3: MSTORE
000043d4: PUSH3 0xdcd41d
000043d8: PUSH2 0x0160
000043db: DUP6
000043dc: ADD
000043dd: MSTORE
000043de: PUSH3 0xcce2c0
000043e2: PUSH2 0x0180
000043e5: DUP6
000043e6: ADD
000043e7: MSTORE
000043e8: PUSH3 0xbe180b
000043ec: PUSH2 0x01a0
000043ef: DUP6
000043f0: ADD
000043f1: MSTORE
000043f2: PUSH3 0xb05eb8
000043f6: PUSH2 0x01c0
000043f9: DUP6
000043fa: ADD
000043fb: MSTORE
000043fc: PUSH3 0xa3a30a
00004400: PUSH2 0x01e0
00004403: DUP6
00004404: ADD
00004405: MSTORE
00004406: PUSH3 0x97d2b2
0000440a: PUSH2 0x0200
0000440d: DUP6
0000440e: ADD
0000440f: MSTORE
00004410: PUSH3 0x8cdcb2
00004414: PUSH2 0x0220
00004417: DUP6
00004418: ADD
00004419: MSTORE
0000441a: PUSH3 0x82b146
0000441e: PUSH2 0x0240
00004421: DUP6
00004422: ADD
00004423: MSTORE
00004424: PUSH3 0x7941cf
00004428: PUSH2 0x0260
0000442b: DUP6
0000442c: ADD
0000442d: MSTORE
0000442e: PUSH3 0x7080bb
00004432: PUSH2 0x0280
00004435: DUP6
00004436: ADD
00004437: MSTORE
00004438: PUSH3 0x686173
0000443c: PUSH2 0x02a0
0000443f: DUP6
00004440: ADD
00004441: MSTORE
00004442: PUSH3 0x60d848
00004446: PUSH2 0x02c0
00004449: DUP6
0000444a: ADD
0000444b: MSTORE
0000444c: PUSH3 0x59da64
00004450: PUSH2 0x02e0
00004453: DUP6
00004454: ADD
00004455: MSTORE
00004456: PUSH3 0x535db8
0000445a: PUSH2 0x0300
0000445d: DUP6
0000445e: ADD
0000445f: MSTORE
00004460: PUSH3 0x4d58f2
00004464: PUSH2 0x0320
00004467: DUP6
00004468: ADD
00004469: MSTORE
0000446a: PUSH3 0x47c368
0000446e: PUSH2 0x0340
00004471: DUP6
00004472: ADD
00004473: MSTORE
00004474: PUSH3 0x429512
00004478: PUSH2 0x0360
0000447b: DUP6
0000447c: ADD
0000447d: MSTORE
0000447e: PUSH3 0x3dc67f
00004482: PUSH2 0x0380
00004485: DUP6
00004486: ADD
00004487: MSTORE
00004488: PUSH3 0x3950c2
0000448c: PUSH2 0x03a0
0000448f: DUP6
00004490: ADD
00004491: MSTORE
00004492: PUSH3 0x352d74
00004496: PUSH2 0x03c0
00004499: DUP6
0000449a: ADD
0000449b: MSTORE
0000449c: PUSH3 0x31569f
000044a0: PUSH2 0x03e0
000044a3: DUP6
000044a4: ADD
000044a5: MSTORE
000044a6: PUSH3 0x2dc6c0
000044aa: PUSH2 0x0400
000044ad: DUP6
000044ae: ADD
000044af: MSTORE
000044b0: PUSH2 0x399a
000044b3: JUMP
000044b4: JUMPDEST
000044b5: AND
000044b6: SWAP1
000044b7: PUSH2 0x432d
000044ba: JUMP
000044bb: JUMPDEST
000044bc: MLOAD
000044bd: AND
000044be: SWAP1
000044bf: JUMP
000044c0: JUMPDEST
000044c1: POP
000044c2: PUSH3 0x2dc6c0
000044c6: SWAP1
000044c7: JUMP
000044c8: JUMPDEST
000044c9: PUSH1 0x05
000044cb: SLOAD
000044cc: PUSH1 0x01
000044ce: PUSH1 0x01
000044d0: PUSH1 0xa0
000044d2: SHL
000044d3: SUB
000044d4: AND
000044d5: CALLER
000044d6: SUB
000044d7: PUSH2 0x44dc
000044da: JUMPI
000044db: JUMP
000044dc: JUMPDEST
000044dd: PUSH4 0x118cdaa7
000044e2: PUSH1 0xe0
000044e4: SHL
000044e5: PUSH1 0x00
000044e7: MSTORE
000044e8: CALLER
000044e9: PUSH1 0x04
000044eb: MSTORE
000044ec: PUSH1 0x24
000044ee: PUSH1 0x00
000044f0: REVERT
000044f1: JUMPDEST
000044f2: PUSH1 0x05
000044f4: DUP1
000044f5: SLOAD
000044f6: PUSH1 0x01
000044f8: PUSH1 0x01
000044fa: PUSH1 0xa0
000044fc: SHL
000044fd: SUB
000044fe: NOT
000044ff: DUP2
00004500: AND
00004501: SWAP1
00004502: SWAP2
00004503: SSTORE
00004504: PUSH1 0x00
00004506: SWAP1
00004507: PUSH1 0x01
00004509: PUSH1 0x01
0000450b: PUSH1 0xa0
0000450d: SHL
0000450e: SUB
0000450f: AND
00004510: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0
00004531: DUP3
00004532: DUP1
00004533: LOG3
00004534: JUMP
00004535: JUMPDEST
00004536: PUSH4 0xffffffff
0000453b: AND
0000453c: PUSH1 0x00
0000453e: MSTORE
0000453f: PUSH1 0x1c
00004541: PUSH1 0x20
00004543: MSTORE
00004544: PUSH1 0x40
00004546: PUSH1 0x00
00004548: KECCAK256
00004549: SWAP1
0000454a: PUSH1 0x01
0000454c: DUP1
0000454d: PUSH1 0xa0
0000454f: SHL
00004550: SUB
00004551: AND
00004552: PUSH1 0x00
00004554: MSTORE
00004555: PUSH1 0x20
00004557: MSTORE
00004558: PUSH1 0x0b
0000455a: PUSH2 0xffff
0000455d: PUSH1 0x40
0000455f: PUSH1 0x00
00004561: KECCAK256
00004562: SLOAD
00004563: AND
00004564: LT
00004565: ISZERO
00004566: SWAP1
00004567: JUMP
00004568: JUMPDEST
00004569: PUSH1 0x40
0000456b: MLOAD
0000456c: PUSH4 0x23b872dd
00004571: PUSH1 0xe0
00004573: SHL
00004574: PUSH1 0x20
00004576: DUP1
00004577: DUP4
00004578: ADD
00004579: SWAP2
0000457a: DUP3
0000457b: MSTORE
0000457c: PUSH1 0x01
0000457e: PUSH1 0x01
00004580: PUSH1 0xa0
00004582: SHL
00004583: SUB
00004584: SWAP5
00004585: DUP6
00004586: AND
00004587: PUSH1 0x24
00004589: DUP5
0000458a: ADD
0000458b: MSTORE
0000458c: SWAP5
0000458d: SWAP1
0000458e: SWAP4
0000458f: AND
00004590: PUSH1 0x44
00004592: DUP3
00004593: ADD
00004594: MSTORE
00004595: PUSH1 0x64
00004597: DUP1
00004598: DUP3
00004599: ADD
0000459a: SWAP6
0000459b: SWAP1
0000459c: SWAP6
0000459d: MSTORE
0000459e: SWAP4
0000459f: DUP5
000045a0: MSTORE
000045a1: SWAP3
000045a2: PUSH1 0x00
000045a4: SWAP2
000045a5: SWAP1
000045a6: PUSH2 0x45b0
000045a9: PUSH1 0x84
000045ab: DUP3
000045ac: PUSH2 0x377d
000045af: JUMP
000045b0: JUMPDEST
000045b1: MLOAD
000045b2: SWAP1
000045b3: DUP3
000045b4: DUP6
000045b5: GAS
000045b6: CALL
000045b7: ISZERO
000045b8: PUSH2 0x17c3
000045bb: JUMPI
000045bc: PUSH1 0x00
000045be: MLOAD
000045bf: RETURNDATASIZE
000045c0: PUSH2 0x45f9
000045c3: JUMPI
000045c4: POP
000045c5: PUSH1 0x01
000045c7: PUSH1 0x01
000045c9: PUSH1 0xa0
000045cb: SHL
000045cc: SUB
000045cd: DUP2
000045ce: AND
000045cf: EXTCODESIZE
000045d0: ISZERO
000045d1: JUMPDEST
000045d2: PUSH2 0x45d8
000045d5: JUMPI
000045d6: POP
000045d7: JUMP
000045d8: JUMPDEST
000045d9: PUSH4 0x5274afe7
000045de: PUSH1 0xe0
000045e0: SHL
000045e1: PUSH1 0x00
000045e3: SWAP1
000045e4: DUP2
000045e5: MSTORE
000045e6: PUSH1 0x01
000045e8: PUSH1 0x01
000045ea: PUSH1 0xa0
000045ec: SHL
000045ed: SUB
000045ee: SWAP2
000045ef: SWAP1
000045f0: SWAP2
000045f1: AND
000045f2: PUSH1 0x04
000045f4: MSTORE
000045f5: PUSH1 0x24
000045f7: SWAP1
000045f8: REVERT
000045f9: JUMPDEST
000045fa: PUSH1 0x01
000045fc: EQ
000045fd: ISZERO
000045fe: PUSH2 0x45d1
00004601: JUMP
00004602: JUMPDEST
00004603: PUSH1 0xff
00004605: AND
00004606: PUSH1 0xff
00004608: DUP2
00004609: EQ
0000460a: PUSH2 0x1114
0000460d: JUMPI
0000460e: PUSH1 0x01
00004610: ADD
00004611: SWAP1
00004612: JUMP
00004613: JUMPDEST
00004614: PUSH1 0xff
00004616: AND
00004617: PUSH1 0x01
00004619: DUP2
0000461a: LT
0000461b: DUP1
0000461c: ISZERO
0000461d: PUSH2 0x47a3
00004620: JUMPI
00004621: JUMPDEST
00004622: PUSH2 0x478f
00004625: JUMPI
00004626: PUSH1 0x40
00004628: MLOAD
00004629: SWAP1
0000462a: PUSH2 0x4632
0000462d: DUP3
0000462e: PUSH2 0x3761
00004631: JUMP
00004632: JUMPDEST
00004633: PUSH3 0x0f423c
00004637: DUP3
00004638: MSTORE
00004639: PUSH3 0x0f423a
0000463d: PUSH1 0x20
0000463f: DUP4
00004640: ADD
00004641: MSTORE
00004642: PUSH3 0x0f4237
00004646: PUSH1 0x40
00004648: DUP4
00004649: ADD
0000464a: MSTORE
0000464b: PUSH3 0x0f4232
0000464f: PUSH1 0x60
00004651: DUP4
00004652: ADD
00004653: MSTORE
00004654: PUSH3 0x0f422c
00004658: PUSH1 0x80
0000465a: DUP4
0000465b: ADD
0000465c: MSTORE
0000465d: PUSH3 0x0f4222
00004661: PUSH1 0xa0
00004663: DUP4
00004664: ADD
00004665: MSTORE
00004666: PUSH3 0x0f4213
0000466a: PUSH1 0xc0
0000466c: DUP4
0000466d: ADD
0000466e: MSTORE
0000466f: PUSH3 0x0f41fd
00004673: PUSH1 0xe0
00004675: DUP4
00004676: ADD
00004677: MSTORE
00004678: PUSH3 0x0f41dc
0000467c: PUSH2 0x0100
0000467f: DUP4
00004680: ADD
00004681: MSTORE
00004682: PUSH3 0x0f41ab
00004686: PUSH2 0x0120
00004689: DUP4
0000468a: ADD
0000468b: MSTORE
0000468c: PUSH3 0x0f4162
00004690: PUSH2 0x0140
00004693: DUP4
00004694: ADD
00004695: MSTORE
00004696: PUSH3 0x0f40f4
0000469a: PUSH2 0x0160
0000469d: DUP4
0000469e: ADD
0000469f: MSTORE
000046a0: PUSH3 0x0f4051
000046a4: PUSH2 0x0180
000046a7: DUP4
000046a8: ADD
000046a9: MSTORE
000046aa: PUSH3 0x0f3f5e
000046ae: PUSH2 0x01a0
000046b1: DUP4
000046b2: ADD
000046b3: MSTORE
000046b4: PUSH3 0x0f3df3
000046b8: PUSH2 0x01c0
000046bb: DUP4
000046bc: ADD
000046bd: MSTORE
000046be: PUSH3 0x0f3bd6
000046c2: PUSH2 0x01e0
000046c5: DUP4
000046c6: ADD
000046c7: MSTORE
000046c8: PUSH3 0x0f38af
000046cc: PUSH2 0x0200
000046cf: DUP4
000046d0: ADD
000046d1: MSTORE
000046d2: PUSH3 0x0f33fc
000046d6: PUSH2 0x0220
000046d9: DUP4
000046da: ADD
000046db: MSTORE
000046dc: PUSH3 0x0f2cfc
000046e0: PUSH2 0x0240
000046e3: DUP4
000046e4: ADD
000046e5: MSTORE
000046e6: PUSH3 0x0f228d
000046ea: PUSH2 0x0260
000046ed: DUP4
000046ee: ADD
000046ef: MSTORE
000046f0: PUSH3 0x0f1307
000046f4: PUSH2 0x0280
000046f7: DUP4
000046f8: ADD
000046f9: MSTORE
000046fa: PUSH3 0x0efbf0
000046fe: PUSH2 0x02a0
00004701: DUP4
00004702: ADD
00004703: MSTORE
00004704: PUSH3 0x0ed9ab
00004708: PUSH2 0x02c0
0000470b: DUP4
0000470c: ADD
0000470d: MSTORE
0000470e: PUSH3 0x0ea6ea
00004712: PUSH2 0x02e0
00004715: DUP4
00004716: ADD
00004717: MSTORE
00004718: PUSH3 0x0e5c04
0000471c: PUSH2 0x0300
0000471f: DUP4
00004720: ADD
00004721: MSTORE
00004722: PUSH3 0x0dee11
00004726: PUSH2 0x0320
00004729: DUP4
0000472a: ADD
0000472b: MSTORE
0000472c: PUSH3 0x0d4de6
00004730: PUSH2 0x0340
00004733: DUP4
00004734: ADD
00004735: MSTORE
00004736: PUSH3 0x0c672a
0000473a: PUSH2 0x0360
0000473d: DUP4
0000473e: ADD
0000473f: MSTORE
00004740: PUSH3 0x0b2012
00004744: PUSH2 0x0380
00004747: DUP4
00004748: ADD
00004749: MSTORE
0000474a: PUSH3 0x095ac1
0000474e: PUSH2 0x03a0
00004751: DUP4
00004752: ADD
00004753: MSTORE
00004754: PUSH3 0x06f9e0
00004758: PUSH2 0x03c0
0000475b: DUP4
0000475c: ADD
0000475d: MSTORE
0000475e: PUSH3 0x03e983
00004762: PUSH2 0x03e0
00004765: DUP4
00004766: ADD
00004767: MSTORE
00004768: PUSH2 0x2bc3
0000476b: PUSH2 0x0400
0000476e: DUP4
0000476f: ADD
00004770: MSTORE
00004771: PUSH1 0x00
00004773: NOT
00004774: ADD
00004775: PUSH1 0xff
00004777: DUP2
00004778: GT
00004779: PUSH2 0x1114
0000477c: JUMPI
0000477d: PUSH4 0xffffffff
00004782: SWAP2
00004783: PUSH1 0xff
00004785: PUSH2 0x44bb
00004788: SWAP3
00004789: AND
0000478a: SWAP1
0000478b: PUSH2 0x432d
0000478e: JUMP
0000478f: JUMPDEST
00004790: PUSH4 0x31389cdd
00004795: PUSH1 0xe1
00004797: SHL
00004798: PUSH1 0x00
0000479a: MSTORE
0000479b: PUSH1 0x04
0000479d: MSTORE
0000479e: PUSH1 0x24
000047a0: PUSH1 0x00
000047a2: REVERT
000047a3: JUMPDEST
000047a4: POP
000047a5: PUSH1 0x21
000047a7: DUP2
000047a8: GT
000047a9: PUSH2 0x4621
000047ac: JUMP
000047ad: JUMPDEST
000047ae: PUSH4 0xffffffff
000047b3: DUP2
000047b4: AND
000047b5: SWAP2
000047b6: DUP3
000047b7: PUSH1 0x00
000047b9: MSTORE
000047ba: PUSH1 0x19
000047bc: PUSH1 0x20
000047be: MSTORE
000047bf: PUSH1 0x40
000047c1: PUSH1 0x00
000047c3: KECCAK256
000047c4: SLOAD
000047c5: SWAP2
000047c6: DUP3
000047c7: ISZERO
000047c8: PUSH2 0x4930
000047cb: JUMPI
000047cc: PUSH4 0xffffffff
000047d1: PUSH2 0x47d8
000047d4: PUSH2 0x396f
000047d7: JUMP
000047d8: JUMPDEST
000047d9: AND
000047da: DUP5
000047db: LT
000047dc: ISZERO
000047dd: PUSH2 0x492a
000047e0: JUMPI
000047e1: DUP4
000047e2: PUSH1 0x00
000047e4: MSTORE
000047e5: PUSH1 0x16
000047e7: PUSH1 0x20
000047e9: MSTORE
000047ea: PUSH1 0x40
000047ec: PUSH1 0x00
000047ee: KECCAK256
000047ef: SWAP1
000047f0: PUSH1 0x00
000047f2: SWAP5
000047f3: DUP3
000047f4: SLOAD
000047f5: SWAP5
000047f6: PUSH1 0x00
000047f8: SWAP7
000047f9: JUMPDEST
000047fa: PUSH1 0xff
000047fc: DUP9
000047fd: AND
000047fe: DUP8
000047ff: DUP2
00004800: LT
00004801: ISZERO
00004802: PUSH2 0x482a
00004805: JUMPI
00004806: PUSH2 0x4824
00004809: SWAP2
0000480a: PUSH2 0x4816
0000480d: PUSH2 0x481e
00004810: SWAP3
00004811: DUP9
00004812: PUSH2 0x4e00
00004815: JUMP
00004816: JUMPDEST
00004817: SWAP2
00004818: SWAP1
00004819: POP
0000481a: PUSH2 0x379e
0000481d: JUMP
0000481e: JUMPDEST
0000481f: SWAP8
00004820: PUSH2 0x4602
00004823: JUMP
00004824: JUMPDEST
00004825: SWAP7
00004826: PUSH2 0x47f9
00004829: JUMP
0000482a: JUMPDEST
0000482b: POP
0000482c: SWAP4
0000482d: SWAP2
0000482e: SWAP6
0000482f: SWAP3
00004830: SWAP7
00004831: POP
00004832: SWAP4
00004833: PUSH1 0x00
00004835: JUMPDEST
00004836: PUSH1 0xff
00004838: DUP2
00004839: AND
0000483a: DUP5
0000483b: DUP2
0000483c: LT
0000483d: ISZERO
0000483e: PUSH2 0x48de
00004841: JUMPI
00004842: SWAP1
00004843: PUSH2 0x4861
00004846: DUP7
00004847: PUSH2 0x4853
0000484a: PUSH2 0x485c
0000484d: SWAP5
0000484e: DUP8
0000484f: PUSH2 0x4e00
00004852: JUMP
00004853: JUMPDEST
00004854: DUP11
00004855: SWAP6
00004856: SWAP2
00004857: SWAP6
00004858: PUSH2 0x3895
0000485b: JUMP
0000485c: JUMPDEST
0000485d: PUSH2 0x37b8
00004860: JUMP
00004861: JUMPDEST
00004862: SWAP2
00004863: PUSH2 0x486c
00004866: DUP2
00004867: DUP12
00004868: PUSH2 0x4535
0000486b: JUMP
0000486c: JUMPDEST
0000486d: DUP1
0000486e: PUSH2 0x48d5
00004871: JUMPI
00004872: JUMPDEST
00004873: PUSH2 0x48b7
00004876: JUMPI
00004877: JUMPDEST
00004878: SWAP2
00004879: PUSH2 0x4889
0000487c: SWAP3
0000487d: DUP2
0000487e: PUSH2 0x488e
00004881: JUMPI
00004882: JUMPDEST
00004883: POP
00004884: POP
00004885: PUSH2 0x4602
00004888: JUMP
00004889: JUMPDEST
0000488a: PUSH2 0x4835
0000488d: JUMP
0000488e: JUMPDEST
0000488f: PUSH1 0x01
00004891: DUP1
00004892: PUSH1 0xa0
00004894: SHL
00004895: SUB
00004896: AND
00004897: PUSH1 0x00
00004899: MSTORE
0000489a: PUSH1 0x0b
0000489c: PUSH1 0x20
0000489e: MSTORE
0000489f: PUSH2 0x48ae
000048a2: PUSH1 0x40
000048a4: PUSH1 0x00
000048a6: KECCAK256
000048a7: SWAP2
000048a8: DUP3
000048a9: SLOAD
000048aa: PUSH2 0x379e
000048ad: JUMP
000048ae: JUMPDEST
000048af: SWAP1
000048b0: SSTORE
000048b1: CODESIZE
000048b2: DUP1
000048b3: PUSH2 0x4882
000048b6: JUMP
000048b7: JUMPDEST
000048b8: PUSH1 0x67
000048ba: DUP4
000048bb: MUL
000048bc: SWAP3
000048bd: DUP1
000048be: DUP5
000048bf: DIV
000048c0: PUSH1 0x67
000048c2: EQ
000048c3: SWAP1
000048c4: ISZERO
000048c5: OR
000048c6: ISZERO
000048c7: PUSH2 0x1114
000048ca: JUMPI
000048cb: PUSH1 0x64
000048cd: SWAP1
000048ce: SWAP3
000048cf: DIV
000048d0: SWAP2
000048d1: PUSH2 0x4877
000048d4: JUMP
000048d5: JUMPDEST
000048d6: POP
000048d7: DUP3
000048d8: ISZERO
000048d9: ISZERO
000048da: PUSH2 0x4872
000048dd: JUMP
000048de: JUMPDEST
000048df: POP
000048e0: POP
000048e1: SWAP6
000048e2: POP
000048e3: POP
000048e4: POP
000048e5: POP
000048e6: PUSH1 0x20
000048e8: PUSH32 0x80560b830a111fea39438824469c6d4c4a3ec5cac1243db582590b83bcb95a01
00004909: SWAP2
0000490a: DUP4
0000490b: PUSH1 0x00
0000490d: MSTORE
0000490e: PUSH1 0x1a
00004910: DUP3
00004911: MSTORE
00004912: PUSH1 0x40
00004914: PUSH1 0x00
00004916: KECCAK256
00004917: PUSH1 0x01
00004919: PUSH1 0xff
0000491b: NOT
0000491c: DUP3
0000491d: SLOAD
0000491e: AND
0000491f: OR
00004920: SWAP1
00004921: SSTORE
00004922: PUSH1 0x40
00004924: MLOAD
00004925: SWAP1
00004926: DUP2
00004927: MSTORE
00004928: LOG2
00004929: JUMP
0000492a: JUMPDEST
0000492b: POP
0000492c: SWAP2
0000492d: POP
0000492e: POP
0000492f: JUMP
00004930: JUMPDEST
00004931: POP
00004932: SWAP2
00004933: SWAP1
00004934: POP
00004935: PUSH1 0x00
00004937: MSTORE
00004938: PUSH1 0x1a
0000493a: PUSH1 0x20
0000493c: MSTORE
0000493d: PUSH1 0x40
0000493f: PUSH1 0x00
00004941: KECCAK256
00004942: PUSH1 0x01
00004944: PUSH1 0xff
00004946: NOT
00004947: DUP3
00004948: SLOAD
00004949: AND
0000494a: OR
0000494b: SWAP1
0000494c: SSTORE
0000494d: JUMP
0000494e: JUMPDEST
0000494f: PUSH1 0x01
00004951: PUSH1 0x01
00004953: PUSH1 0xa0
00004955: SHL
00004956: SUB
00004957: AND
00004958: DUP1
00004959: ISZERO
0000495a: PUSH2 0x42b9
0000495d: JUMPI
0000495e: PUSH1 0x00
00004960: SWAP2
00004961: DUP2
00004962: DUP4
00004963: MSTORE
00004964: DUP3
00004965: PUSH1 0x20
00004967: MSTORE
00004968: PUSH1 0x40
0000496a: DUP4
0000496b: KECCAK256
0000496c: SLOAD
0000496d: DUP2
0000496e: DUP2
0000496f: LT
00004970: PUSH2 0x49b6
00004973: JUMPI
00004974: DUP2
00004975: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
00004996: SWAP3
00004997: PUSH1 0x20
00004999: SWAP3
0000499a: DUP6
0000499b: DUP8
0000499c: MSTORE
0000499d: DUP7
0000499e: DUP5
0000499f: MSTORE
000049a0: SUB
000049a1: PUSH1 0x40
000049a3: DUP7
000049a4: KECCAK256
000049a5: SSTORE
000049a6: DUP1
000049a7: PUSH1 0x02
000049a9: SLOAD
000049aa: SUB
000049ab: PUSH1 0x02
000049ad: SSTORE
000049ae: PUSH1 0x40
000049b0: MLOAD
000049b1: SWAP1
000049b2: DUP2
000049b3: MSTORE
000049b4: LOG3
000049b5: JUMP
000049b6: JUMPDEST
000049b7: PUSH1 0x64
000049b9: SWAP4
000049ba: SWAP3
000049bb: PUSH4 0x391434e3
000049c0: PUSH1 0xe2
000049c2: SHL
000049c3: DUP5
000049c4: MSTORE
000049c5: PUSH1 0x04
000049c7: MSTORE
000049c8: PUSH1 0x24
000049ca: MSTORE
000049cb: PUSH1 0x44
000049cd: MSTORE
000049ce: REVERT
000049cf: JUMPDEST
000049d0: SWAP1
000049d1: SWAP4
000049d2: SWAP3
000049d3: PUSH1 0x00
000049d5: PUSH4 0xffffffff
000049da: DUP3
000049db: AND
000049dc: SWAP6
000049dd: PUSH1 0x01
000049df: DUP8
000049e0: EQ
000049e1: PUSH1 0x00
000049e3: EQ
000049e4: PUSH2 0x4a7d
000049e7: JUMPI
000049e8: POP
000049e9: POP
000049ea: POP
000049eb: PUSH1 0x01
000049ed: SWAP4
000049ee: JUMPDEST
000049ef: PUSH1 0x00
000049f1: MSTORE
000049f2: PUSH1 0x14
000049f4: PUSH1 0x20
000049f6: MSTORE
000049f7: PUSH1 0x40
000049f9: PUSH1 0x00
000049fb: KECCAK256
000049fc: SWAP1
000049fd: PUSH1 0x01
000049ff: DUP1
00004a00: PUSH1 0xa0
00004a02: SHL
00004a03: SUB
00004a04: AND
00004a05: PUSH1 0x00
00004a07: MSTORE
00004a08: PUSH1 0x20
00004a0a: MSTORE
00004a0b: PUSH1 0x40
00004a0d: PUSH1 0x00
00004a0f: KECCAK256
00004a10: PUSH4 0xffffffff
00004a15: DUP5
00004a16: AND
00004a17: SWAP1
00004a18: DUP2
00004a19: PUSH4 0xffffffff
00004a1e: NOT
00004a1f: DUP3
00004a20: SLOAD
00004a21: AND
00004a22: OR
00004a23: SWAP1
00004a24: SSTORE
00004a25: PUSH1 0x04
00004a27: DUP2
00004a28: LT
00004a29: PUSH2 0x4a75
00004a2c: JUMPI
00004a2d: DUP1
00004a2e: ISZERO
00004a2f: PUSH2 0x37c2
00004a32: JUMPI
00004a33: PUSH3 0x0f4240
00004a37: DIV
00004a38: PUSH3 0x053020
00004a3c: SUB
00004a3d: SWAP1
00004a3e: PUSH3 0x053020
00004a42: DUP3
00004a43: GT
00004a44: PUSH2 0x1114
00004a47: JUMPI
00004a48: PUSH3 0x0f4240
00004a4c: SWAP2
00004a4d: PUSH2 0x4a55
00004a50: SWAP2
00004a51: PUSH2 0x3895
00004a54: JUMP
00004a55: JUMPDEST
00004a56: DIV
00004a57: CALLER
00004a58: PUSH1 0x00
00004a5a: MSTORE
00004a5b: PUSH1 0x0b
00004a5d: PUSH1 0x20
00004a5f: MSTORE
00004a60: PUSH1 0x40
00004a62: PUSH1 0x00
00004a64: KECCAK256
00004a65: PUSH2 0x4a6f
00004a68: DUP3
00004a69: DUP3
00004a6a: SLOAD
00004a6b: PUSH2 0x379e
00004a6e: JUMP
00004a6f: JUMPDEST
00004a70: SWAP1
00004a71: SSTORE
00004a72: SWAP2
00004a73: SWAP1
00004a74: JUMP
00004a75: JUMPDEST
00004a76: POP
00004a77: POP
00004a78: PUSH1 0x00
00004a7a: SWAP2
00004a7b: SWAP1
00004a7c: JUMP
00004a7d: JUMPDEST
00004a7e: PUSH4 0xffffffff
00004a83: PUSH2 0x4a8b
00004a86: DUP5
00004a87: PUSH2 0x399a
00004a8a: JUMP
00004a8b: JUMPDEST
00004a8c: AND
00004a8d: DUP3
00004a8e: MSTORE
00004a8f: PUSH1 0x11
00004a91: PUSH1 0x20
00004a93: DUP2
00004a94: DUP2
00004a95: MSTORE
00004a96: PUSH1 0x40
00004a98: DUP1
00004a99: DUP6
00004a9a: KECCAK256
00004a9b: PUSH1 0x01
00004a9d: PUSH1 0x01
00004a9f: PUSH1 0xa0
00004aa1: SHL
00004aa2: SUB
00004aa3: DUP9
00004aa4: AND
00004aa5: DUP1
00004aa6: DUP8
00004aa7: MSTORE
00004aa8: SWAP1
00004aa9: DUP4
00004aaa: MSTORE
00004aab: DUP2
00004aac: DUP7
00004aad: KECCAK256
00004aae: SLOAD
00004aaf: DUP12
00004ab0: DUP8
00004ab1: MSTORE
00004ab2: SWAP4
00004ab3: DUP4
00004ab4: MSTORE
00004ab5: DUP2
00004ab6: DUP7
00004ab7: KECCAK256
00004ab8: SWAP1
00004ab9: DUP7
00004aba: MSTORE
00004abb: SWAP1
00004abc: SWAP2
00004abd: MSTORE
00004abe: DUP4
00004abf: KECCAK256
00004ac0: SLOAD
00004ac1: SWAP1
00004ac2: SWAP2
00004ac3: PUSH2 0x4acb
00004ac6: SWAP2
00004ac7: PUSH2 0x379e
00004aca: JUMP
00004acb: JUMPDEST
00004acc: SWAP1
00004acd: DUP1
00004ace: DUP3
00004acf: LT
00004ad0: ISZERO
00004ad1: SWAP2
00004ad2: DUP3
00004ad3: PUSH2 0x4b25
00004ad6: JUMPI
00004ad7: JUMPDEST
00004ad8: POP
00004ad9: POP
00004ada: ISZERO
00004adb: PUSH2 0x4b1c
00004ade: JUMPI
00004adf: PUSH1 0x40
00004ae1: PUSH4 0xffffffff
00004ae6: SWAP2
00004ae7: DUP3
00004ae8: PUSH2 0x4af3
00004aeb: PUSH2 0x4b16
00004aee: SWAP6
00004aef: PUSH2 0x399a
00004af2: JUMP
00004af3: JUMPDEST
00004af4: AND
00004af5: DUP2
00004af6: MSTORE
00004af7: PUSH1 0x14
00004af9: PUSH1 0x20
00004afb: SWAP1
00004afc: DUP2
00004afd: MSTORE
00004afe: DUP3
00004aff: DUP3
00004b00: KECCAK256
00004b01: PUSH1 0x01
00004b03: PUSH1 0x01
00004b05: PUSH1 0xa0
00004b07: SHL
00004b08: SUB
00004b09: DUP8
00004b0a: AND
00004b0b: DUP4
00004b0c: MSTORE
00004b0d: SWAP1
00004b0e: MSTORE
00004b0f: KECCAK256
00004b10: SLOAD
00004b11: AND
00004b12: PUSH2 0x3957
00004b15: JUMP
00004b16: JUMPDEST
00004b17: SWAP4
00004b18: PUSH2 0x49ee
00004b1b: JUMP
00004b1c: JUMPDEST
00004b1d: POP
00004b1e: POP
00004b1f: PUSH1 0x01
00004b21: PUSH2 0x4b16
00004b24: JUMP
00004b25: JUMPDEST
00004b26: SWAP1
00004b27: DUP1
00004b28: SWAP3
00004b29: POP
00004b2a: PUSH1 0x0a
00004b2c: MUL
00004b2d: SWAP2
00004b2e: PUSH1 0x0a
00004b30: DUP4
00004b31: DIV
00004b32: SUB
00004b33: PUSH2 0x2a17
00004b36: JUMPI
00004b37: GT
00004b38: ISZERO
00004b39: CODESIZE
00004b3a: DUP1
00004b3b: PUSH2 0x4ad7
00004b3e: JUMP
00004b3f: JUMPDEST
00004b40: PUSH4 0xffffffff
00004b45: DUP2
00004b46: AND
00004b47: PUSH1 0x00
00004b49: DUP2
00004b4a: DUP2
00004b4b: MSTORE
00004b4c: PUSH1 0x12
00004b4e: PUSH1 0x20
00004b50: SWAP1
00004b51: DUP2
00004b52: MSTORE
00004b53: PUSH1 0x40
00004b55: DUP1
00004b56: DUP4
00004b57: KECCAK256
00004b58: PUSH1 0x01
00004b5a: PUSH1 0x01
00004b5c: PUSH1 0xa0
00004b5e: SHL
00004b5f: SUB
00004b60: DUP8
00004b61: AND
00004b62: DUP5
00004b63: MSTORE
00004b64: SWAP1
00004b65: SWAP2
00004b66: MSTORE
00004b67: SWAP1
00004b68: KECCAK256
00004b69: DUP1
00004b6a: SLOAD
00004b6b: SWAP4
00004b6c: SWAP7
00004b6d: SWAP6
00004b6e: SWAP5
00004b6f: SWAP2
00004b70: SWAP4
00004b71: PUSH2 0x4c23
00004b74: SWAP4
00004b75: SWAP3
00004b76: PUSH2 0x4b7e
00004b79: SWAP2
00004b7a: PUSH2 0x379e
00004b7d: JUMP
00004b7e: JUMPDEST
00004b7f: SWAP1
00004b80: SSTORE
00004b81: DUP3
00004b82: PUSH1 0x00
00004b84: MSTORE
00004b85: PUSH1 0x13
00004b87: PUSH1 0x20
00004b89: MSTORE
00004b8a: PUSH1 0x40
00004b8c: PUSH1 0x00
00004b8e: KECCAK256
00004b8f: PUSH1 0x01
00004b91: DUP1
00004b92: PUSH1 0xa0
00004b94: SHL
00004b95: SUB
00004b96: DUP8
00004b97: AND
00004b98: PUSH1 0x00
00004b9a: MSTORE
00004b9b: PUSH1 0x20
00004b9d: MSTORE
00004b9e: PUSH1 0x40
00004ba0: PUSH1 0x00
00004ba2: KECCAK256
00004ba3: PUSH2 0x4bad
00004ba6: DUP6
00004ba7: DUP3
00004ba8: SLOAD
00004ba9: PUSH2 0x379e
00004bac: JUMP
00004bad: JUMPDEST
00004bae: SWAP1
00004baf: SSTORE
00004bb0: PUSH2 0x4bf7
00004bb3: PUSH3 0x0f4240
00004bb7: PUSH2 0x4bce
00004bba: PUSH4 0xffffffff
00004bbf: PUSH2 0x310c
00004bc2: PUSH2 0x4bc9
00004bc5: PUSH2 0x37d8
00004bc8: JUMP
00004bc9: JUMPDEST
00004bca: PUSH2 0x4613
00004bcd: JUMP
00004bce: JUMPDEST
00004bcf: DIV
00004bd0: DUP5
00004bd1: PUSH1 0x00
00004bd3: MSTORE
00004bd4: PUSH1 0x15
00004bd6: PUSH1 0x20
00004bd8: MSTORE
00004bd9: PUSH1 0x40
00004bdb: PUSH1 0x00
00004bdd: KECCAK256
00004bde: PUSH1 0x01
00004be0: DUP1
00004be1: PUSH1 0xa0
00004be3: SHL
00004be4: SUB
00004be5: DUP10
00004be6: AND
00004be7: PUSH1 0x00
00004be9: MSTORE
00004bea: PUSH1 0x20
00004bec: MSTORE
00004bed: PUSH1 0x40
00004bef: PUSH1 0x00
00004bf1: KECCAK256
00004bf2: SLOAD
00004bf3: PUSH2 0x379e
00004bf6: JUMP
00004bf7: JUMPDEST
00004bf8: SWAP6
00004bf9: DUP7
00004bfa: SWAP2
00004bfb: DUP5
00004bfc: PUSH1 0x00
00004bfe: MSTORE
00004bff: PUSH1 0x15
00004c01: PUSH1 0x20
00004c03: MSTORE
00004c04: PUSH1 0x40
00004c06: PUSH1 0x00
00004c08: KECCAK256
00004c09: PUSH1 0x01
00004c0b: DUP1
00004c0c: PUSH1 0xa0
00004c0e: SHL
00004c0f: SUB
00004c10: DUP4
00004c11: AND
00004c12: PUSH1 0x00
00004c14: MSTORE
00004c15: PUSH1 0x20
00004c17: MSTORE
00004c18: DUP3
00004c19: PUSH1 0x40
00004c1b: PUSH1 0x00
00004c1d: KECCAK256
00004c1e: SSTORE
00004c1f: PUSH2 0x5229
00004c22: JUMP
00004c23: JUMPDEST
00004c24: PUSH1 0x03
00004c26: DUP3
00004c27: MUL
00004c28: SWAP2
00004c29: DUP1
00004c2a: DUP4
00004c2b: DIV
00004c2c: PUSH1 0x03
00004c2e: EQ
00004c2f: SWAP1
00004c30: ISZERO
00004c31: OR
00004c32: ISZERO
00004c33: PUSH2 0x1114
00004c36: JUMPI
00004c37: PUSH1 0x00
00004c39: MSTORE
00004c3a: PUSH1 0x19
00004c3c: PUSH1 0x20
00004c3e: MSTORE
00004c3f: PUSH2 0x4c51
00004c42: PUSH1 0x64
00004c44: PUSH1 0x40
00004c46: PUSH1 0x00
00004c48: KECCAK256
00004c49: SWAP3
00004c4a: DIV
00004c4b: DUP3
00004c4c: SLOAD
00004c4d: PUSH2 0x379e
00004c50: JUMP
00004c51: JUMPDEST
00004c52: SWAP1
00004c53: SSTORE
00004c54: JUMP
00004c55: JUMPDEST
00004c56: PUSH2 0x4c23
00004c59: SWAP1
00004c5a: SWAP5
00004c5b: SWAP4
00004c5c: SWAP3
00004c5d: SWAP2
00004c5e: SWAP5
00004c5f: PUSH1 0x00
00004c61: PUSH4 0xffffffff
00004c66: DUP3
00004c67: AND
00004c68: SWAP4
00004c69: DUP5
00004c6a: DUP3
00004c6b: MSTORE
00004c6c: PUSH1 0x11
00004c6e: PUSH1 0x20
00004c70: MSTORE
00004c71: PUSH1 0x40
00004c73: DUP3
00004c74: KECCAK256
00004c75: PUSH1 0x01
00004c77: DUP1
00004c78: PUSH1 0xa0
00004c7a: SHL
00004c7b: SUB
00004c7c: DUP10
00004c7d: AND
00004c7e: DUP4
00004c7f: MSTORE
00004c80: PUSH1 0x20
00004c82: MSTORE
00004c83: PUSH2 0x4c91
00004c86: PUSH1 0x40
00004c88: DUP4
00004c89: KECCAK256
00004c8a: SWAP2
00004c8b: DUP3
00004c8c: SLOAD
00004c8d: PUSH2 0x379e
00004c90: JUMP
00004c91: JUMPDEST
00004c92: SWAP1
00004c93: SSTORE
00004c94: PUSH1 0x01
00004c96: PUSH1 0x01
00004c98: PUSH1 0xa0
00004c9a: SHL
00004c9b: SUB
00004c9c: DUP8
00004c9d: AND
00004c9e: SWAP1
00004c9f: DUP2
00004ca0: SWAP1
00004ca1: MSTORE
00004ca2: PUSH1 0x00
00004ca4: DUP5
00004ca5: DUP2
00004ca6: MSTORE
00004ca7: PUSH1 0x13
00004ca9: PUSH1 0x20
00004cab: SWAP1
00004cac: DUP2
00004cad: MSTORE
00004cae: PUSH1 0x40
00004cb0: DUP1
00004cb1: DUP4
00004cb2: KECCAK256
00004cb3: SWAP4
00004cb4: DUP4
00004cb5: MSTORE
00004cb6: SWAP3
00004cb7: SWAP1
00004cb8: MSTORE
00004cb9: KECCAK256
00004cba: DUP1
00004cbb: SLOAD
00004cbc: PUSH2 0x4bad
00004cbf: SWAP1
00004cc0: DUP7
00004cc1: SWAP1
00004cc2: PUSH2 0x379e
00004cc5: JUMP
00004cc6: JUMPDEST
00004cc7: DUP1
00004cc8: SLOAD
00004cc9: DUP3
00004cca: LT
00004ccb: ISZERO
00004ccc: PUSH2 0x3843
00004ccf: JUMPI
00004cd0: PUSH1 0x00
00004cd2: MSTORE
00004cd3: PUSH1 0x20
00004cd5: PUSH1 0x00
00004cd7: KECCAK256
00004cd8: ADD
00004cd9: SWAP1
00004cda: PUSH1 0x00
00004cdc: SWAP1
00004cdd: JUMP
00004cde: JUMPDEST
00004cdf: PUSH1 0x01
00004ce1: DUP2
00004ce2: GT
00004ce3: ISZERO
00004ce4: PUSH2 0x3997
00004ce7: JUMPI
00004ce8: DUP1
00004ce9: PUSH1 0x01
00004ceb: PUSH1 0x01
00004ced: PUSH1 0x80
00004cef: SHL
00004cf0: DUP3
00004cf1: LT
00004cf2: ISZERO
00004cf3: PUSH2 0x4def
00004cf6: JUMPI
00004cf7: JUMPDEST
00004cf8: PUSH1 0x04
00004cfa: DUP3
00004cfb: PUSH1 0x01
00004cfd: PUSH1 0x40
00004cff: SHL
00004d00: PUSH2 0x4da1
00004d03: SWAP5
00004d04: LT
00004d05: ISZERO
00004d06: PUSH2 0x4de2
00004d09: JUMPI
00004d0a: JUMPDEST
00004d0b: PUSH5 0x0100000000
00004d11: DUP2
00004d12: LT
00004d13: ISZERO
00004d14: PUSH2 0x4dd5
00004d17: JUMPI
00004d18: JUMPDEST
00004d19: PUSH3 0x010000
00004d1d: DUP2
00004d1e: LT
00004d1f: ISZERO
00004d20: PUSH2 0x4dc8
00004d23: JUMPI
00004d24: JUMPDEST
00004d25: PUSH2 0x0100
00004d28: DUP2
00004d29: LT
00004d2a: ISZERO
00004d2b: PUSH2 0x4dbc
00004d2e: JUMPI
00004d2f: JUMPDEST
00004d30: PUSH1 0x10
00004d32: DUP2
00004d33: LT
00004d34: ISZERO
00004d35: PUSH2 0x4db0
00004d38: JUMPI
00004d39: JUMPDEST
00004d3a: LT
00004d3b: ISZERO
00004d3c: PUSH2 0x4da8
00004d3f: JUMPI
00004d40: JUMPDEST
00004d41: PUSH1 0x03
00004d43: MUL
00004d44: PUSH1 0x01
00004d46: SHR
00004d47: PUSH2 0x4d50
00004d4a: DUP2
00004d4b: DUP5
00004d4c: PUSH2 0x37b8
00004d4f: JUMP
00004d50: JUMPDEST
00004d51: ADD
00004d52: PUSH1 0x01
00004d54: SHR
00004d55: PUSH2 0x4d5e
00004d58: DUP2
00004d59: DUP5
00004d5a: PUSH2 0x37b8
00004d5d: JUMP
00004d5e: JUMPDEST
00004d5f: ADD
00004d60: PUSH1 0x01
00004d62: SHR
00004d63: PUSH2 0x4d6c
00004d66: DUP2
00004d67: DUP5
00004d68: PUSH2 0x37b8
00004d6b: JUMP
00004d6c: JUMPDEST
00004d6d: ADD
00004d6e: PUSH1 0x01
00004d70: SHR
00004d71: PUSH2 0x4d7a
00004d74: DUP2
00004d75: DUP5
00004d76: PUSH2 0x37b8
00004d79: JUMP
00004d7a: JUMPDEST
00004d7b: ADD
00004d7c: PUSH1 0x01
00004d7e: SHR
00004d7f: PUSH2 0x4d88
00004d82: DUP2
00004d83: DUP5
00004d84: PUSH2 0x37b8
00004d87: JUMP
00004d88: JUMPDEST
00004d89: ADD
00004d8a: PUSH1 0x01
00004d8c: SHR
00004d8d: PUSH2 0x4d96
00004d90: DUP2
00004d91: DUP5
00004d92: PUSH2 0x37b8
00004d95: JUMP
00004d96: JUMPDEST
00004d97: ADD
00004d98: PUSH1 0x01
00004d9a: SHR
00004d9b: DUP1
00004d9c: SWAP3
00004d9d: PUSH2 0x37b8
00004da0: JUMP
00004da1: JUMPDEST
00004da2: DUP2
00004da3: GT
00004da4: SWAP1
00004da5: SUB
00004da6: SWAP1
00004da7: JUMP
00004da8: JUMPDEST
00004da9: PUSH1 0x01
00004dab: SHL
00004dac: PUSH2 0x4d40
00004daf: JUMP
00004db0: JUMPDEST
00004db1: DUP2
00004db2: SHR
00004db3: SWAP2
00004db4: PUSH1 0x02
00004db6: SHL
00004db7: SWAP2
00004db8: PUSH2 0x4d39
00004dbb: JUMP
00004dbc: JUMPDEST
00004dbd: PUSH1 0x08
00004dbf: SHR
00004dc0: SWAP2
00004dc1: DUP2
00004dc2: SHL
00004dc3: SWAP2
00004dc4: PUSH2 0x4d2f
00004dc7: JUMP
00004dc8: JUMPDEST
00004dc9: PUSH1 0x10
00004dcb: SHR
00004dcc: SWAP2
00004dcd: PUSH1 0x08
00004dcf: SHL
00004dd0: SWAP2
00004dd1: PUSH2 0x4d24
00004dd4: JUMP
00004dd5: JUMPDEST
00004dd6: PUSH1 0x20
00004dd8: SHR
00004dd9: SWAP2
00004dda: PUSH1 0x10
00004ddc: SHL
00004ddd: SWAP2
00004dde: PUSH2 0x4d18
00004de1: JUMP
00004de2: JUMPDEST
00004de3: PUSH1 0x40
00004de5: SHR
00004de6: SWAP2
00004de7: PUSH1 0x20
00004de9: SHL
00004dea: SWAP2
00004deb: PUSH2 0x4d0a
00004dee: JUMP
00004def: JUMPDEST
00004df0: POP
00004df1: POP
00004df2: PUSH1 0x80
00004df4: DUP2
00004df5: SWAP1
00004df6: SHR
00004df7: PUSH1 0x01
00004df9: PUSH1 0x40
00004dfb: SHL
00004dfc: PUSH2 0x4cf7
00004dff: JUMP
00004e00: JUMPDEST
00004e01: SWAP2
00004e02: SWAP1
00004e03: PUSH2 0x4e0e
00004e06: PUSH1 0x02
00004e08: SWAP2
00004e09: DUP5
00004e0a: PUSH2 0x4cc6
00004e0d: JUMP
00004e0e: JUMPDEST
00004e0f: SWAP1
00004e10: SLOAD
00004e11: SWAP1
00004e12: PUSH1 0x03
00004e14: SHL
00004e15: SHR
00004e16: SWAP3
00004e17: DUP4
00004e18: PUSH1 0x00
00004e1a: MSTORE
00004e1b: ADD
00004e1c: PUSH1 0x20
00004e1e: MSTORE
00004e1f: PUSH1 0x40
00004e21: PUSH1 0x00
00004e23: KECCAK256
00004e24: SLOAD
00004e25: SWAP2
00004e26: PUSH1 0x01
00004e28: DUP1
00004e29: PUSH1 0xa0
00004e2b: SHL
00004e2c: SUB
00004e2d: AND
00004e2e: SWAP2
00004e2f: SWAP1
00004e30: JUMP
00004e31: JUMPDEST
00004e32: PUSH1 0x01
00004e34: PUSH1 0x01
00004e36: PUSH1 0xa0
00004e38: SHL
00004e39: SUB
00004e3a: SWAP2
00004e3b: DUP3
00004e3c: AND
00004e3d: SWAP1
00004e3e: DUP3
00004e3f: AND
00004e40: SUB
00004e41: SWAP2
00004e42: SWAP1
00004e43: DUP3
00004e44: GT
00004e45: PUSH2 0x1114
00004e48: JUMPI
00004e49: JUMP
00004e4a: JUMPDEST
00004e4b: PUSH2 0x3997
00004e4e: SWAP3
00004e4f: SWAP1
00004e50: SWAP2
00004e51: PUSH2 0x4ea7
00004e54: SWAP2
00004e55: SWAP1
00004e56: PUSH1 0x01
00004e58: PUSH1 0x01
00004e5a: PUSH1 0xa0
00004e5c: SHL
00004e5d: SUB
00004e5e: DUP1
00004e5f: DUP3
00004e60: AND
00004e61: SWAP1
00004e62: DUP6
00004e63: AND
00004e64: GT
00004e65: PUSH2 0x4eb8
00004e68: JUMPI
00004e69: JUMPDEST
00004e6a: PUSH1 0x01
00004e6c: PUSH1 0x01
00004e6e: PUSH1 0xa0
00004e70: SHL
00004e71: SUB
00004e72: PUSH2 0x4e7b
00004e75: DUP6
00004e76: DUP4
00004e77: PUSH2 0x4e31
00004e7a: JUMP
00004e7b: JUMPDEST
00004e7c: PUSH1 0x01
00004e7e: PUSH1 0x01
00004e80: PUSH1 0xa0
00004e82: SHL
00004e83: SUB
00004e84: SWAP1
00004e85: SWAP3
00004e86: AND
00004e87: SWAP3
00004e88: SWAP2
00004e89: AND
00004e8a: SWAP1
00004e8b: PUSH1 0x60
00004e8d: SHL
00004e8e: PUSH16 0xffffffffffffffffffffffffffffffff
00004e9f: PUSH1 0x60
00004ea1: SHL
00004ea2: AND
00004ea3: PUSH2 0x5043
00004ea6: JUMP
00004ea7: JUMPDEST
00004ea8: PUSH1 0x01
00004eaa: PUSH1 0x01
00004eac: PUSH1 0xa0
00004eae: SHL
00004eaf: SUB
00004eb0: SWAP1
00004eb1: SWAP2
00004eb2: AND
00004eb3: SWAP1
00004eb4: PUSH2 0x37b8
00004eb7: JUMP
00004eb8: JUMPDEST
00004eb9: SWAP3
00004eba: PUSH2 0x4e69
00004ebd: JUMP
00004ebe: JUMPDEST
00004ebf: DUP1
00004ec0: ISZERO
00004ec1: PUSH2 0x37c2
00004ec4: JUMPI
00004ec5: PUSH6 0x03782dace9d9
00004ecc: PUSH1 0x72
00004ece: SHL
00004ecf: DIV
00004ed0: SWAP1
00004ed1: JUMP
00004ed2: JUMPDEST
00004ed3: SWAP1
00004ed4: PUSH1 0x60
00004ed6: DUP3
00004ed7: SWAP1
00004ed8: SHL
00004ed9: SWAP1
00004eda: PUSH1 0x00
00004edc: NOT
00004edd: PUSH1 0x01
00004edf: PUSH1 0x60
00004ee1: SHL
00004ee2: DUP5
00004ee3: MULMOD
00004ee4: SWAP3
00004ee5: DUP3
00004ee6: DUP1
00004ee7: DUP6
00004ee8: LT
00004ee9: SWAP5
00004eea: SUB
00004eeb: SWAP4
00004eec: DUP1
00004eed: DUP6
00004eee: SUB
00004eef: SWAP5
00004ef0: EQ
00004ef1: PUSH2 0x4f71
00004ef4: JUMPI
00004ef5: DUP4
00004ef6: DUP3
00004ef7: GT
00004ef8: ISZERO
00004ef9: PUSH2 0x4f58
00004efc: JUMPI
00004efd: DUP2
00004efe: SWAP1
00004eff: PUSH1 0x01
00004f01: PUSH1 0x60
00004f03: SHL
00004f04: SWAP1
00004f05: MULMOD
00004f06: DUP2
00004f07: PUSH1 0x00
00004f09: SUB
00004f0a: DUP3
00004f0b: AND
00004f0c: DUP1
00004f0d: SWAP3
00004f0e: DIV
00004f0f: PUSH1 0x02
00004f11: DUP2
00004f12: PUSH1 0x03
00004f14: MUL
00004f15: XOR
00004f16: DUP1
00004f17: DUP3
00004f18: MUL
00004f19: PUSH1 0x02
00004f1b: SUB
00004f1c: MUL
00004f1d: DUP1
00004f1e: DUP3
00004f1f: MUL
00004f20: PUSH1 0x02
00004f22: SUB
00004f23: MUL
00004f24: DUP1
00004f25: DUP3
00004f26: MUL
00004f27: PUSH1 0x02
00004f29: SUB
00004f2a: MUL
00004f2b: DUP1
00004f2c: DUP3
00004f2d: MUL
00004f2e: PUSH1 0x02
00004f30: SUB
00004f31: MUL
00004f32: DUP1
00004f33: DUP3
00004f34: MUL
00004f35: PUSH1 0x02
00004f37: SUB
00004f38: MUL
00004f39: DUP1
00004f3a: SWAP2
00004f3b: MUL
00004f3c: PUSH1 0x02
00004f3e: SUB
00004f3f: MUL
00004f40: SWAP4
00004f41: PUSH1 0x01
00004f43: DUP4
00004f44: DUP1
00004f45: PUSH1 0x00
00004f47: SUB
00004f48: DIV
00004f49: ADD
00004f4a: SWAP1
00004f4b: DUP5
00004f4c: DUP4
00004f4d: GT
00004f4e: SWAP1
00004f4f: SUB
00004f50: MUL
00004f51: SWAP3
00004f52: SUB
00004f53: DIV
00004f54: OR
00004f55: MUL
00004f56: SWAP1
00004f57: JUMP
00004f58: JUMPDEST
00004f59: POP
00004f5a: PUSH4 0x4e487b71
00004f5f: PUSH1 0x00
00004f61: MSTORE
00004f62: ISZERO
00004f63: PUSH1 0x03
00004f65: MUL
00004f66: PUSH1 0x11
00004f68: XOR
00004f69: PUSH1 0x20
00004f6b: MSTORE
00004f6c: PUSH1 0x24
00004f6e: PUSH1 0x1c
00004f70: REVERT
00004f71: JUMPDEST
00004f72: POP
00004f73: SWAP1
00004f74: PUSH2 0x3997
00004f77: SWAP3
00004f78: POP
00004f79: PUSH2 0x37b8
00004f7c: JUMP
00004f7d: JUMPDEST
00004f7e: PUSH1 0x00
00004f80: SWAP1
00004f81: DUP3
00004f82: DUP2
00004f83: MUL
00004f84: SWAP3
00004f85: PUSH1 0x00
00004f87: NOT
00004f88: DUP2
00004f89: DUP4
00004f8a: MULMOD
00004f8b: SWAP3
00004f8c: DUP5
00004f8d: DUP1
00004f8e: DUP6
00004f8f: LT
00004f90: SWAP5
00004f91: SUB
00004f92: SWAP4
00004f93: DUP1
00004f94: DUP6
00004f95: SUB
00004f96: SWAP5
00004f97: EQ
00004f98: PUSH2 0x4fd3
00004f9b: JUMPI
00004f9c: PUSH1 0x01
00004f9e: PUSH1 0x60
00004fa0: SHL
00004fa1: DUP5
00004fa2: LT
00004fa3: ISZERO
00004fa4: PUSH2 0x4fc1
00004fa7: JUMPI
00004fa8: POP
00004fa9: PUSH1 0x01
00004fab: PUSH1 0x60
00004fad: SHL
00004fae: SWAP2
00004faf: MULMOD
00004fb0: SWAP1
00004fb1: DUP3
00004fb2: DUP3
00004fb3: GT
00004fb4: SWAP1
00004fb5: SUB
00004fb6: PUSH1 0xa0
00004fb8: SHL
00004fb9: SWAP2
00004fba: SUB
00004fbb: PUSH1 0x60
00004fbd: SHR
00004fbe: OR
00004fbf: SWAP1
00004fc0: JUMP
00004fc1: JUMPDEST
00004fc2: PUSH4 0x4e487b71
00004fc7: SWAP1
00004fc8: MSTORE
00004fc9: PUSH1 0x11
00004fcb: PUSH1 0x20
00004fcd: MSTORE
00004fce: PUSH1 0x24
00004fd0: PUSH1 0x1c
00004fd2: REVERT
00004fd3: JUMPDEST
00004fd4: POP
00004fd5: POP
00004fd6: POP
00004fd7: POP
00004fd8: PUSH1 0x60
00004fda: SHR
00004fdb: SWAP1
00004fdc: JUMP
00004fdd: JUMPDEST
00004fde: PUSH1 0x00
00004fe0: PUSH8 0x0de0b6b3a7640000
00004fe9: DUP3
00004fea: MUL
00004feb: SWAP2
00004fec: PUSH1 0x00
00004fee: NOT
00004fef: PUSH8 0x0de0b6b3a7640000
00004ff8: DUP3
00004ff9: MULMOD
00004ffa: SWAP2
00004ffb: DUP4
00004ffc: DUP1
00004ffd: DUP5
00004ffe: LT
00004fff: SWAP4
00005000: SUB
00005001: SWAP3
00005002: DUP1
00005003: DUP5
00005004: SUB
00005005: SWAP4
00005006: EQ
00005007: PUSH2 0x503a
0000500a: JUMPI
0000500b: PUSH1 0x01
0000500d: PUSH1 0x60
0000500f: SHL
00005010: DUP4
00005011: LT
00005012: ISZERO
00005013: PUSH2 0x4fc1
00005016: JUMPI
00005017: POP
00005018: PUSH1 0x01
0000501a: PUSH1 0x60
0000501c: SHL
0000501d: SWAP1
0000501e: PUSH8 0x0de0b6b3a7640000
00005027: SWAP1
00005028: MULMOD
00005029: SWAP1
0000502a: DUP3
0000502b: DUP3
0000502c: GT
0000502d: SWAP1
0000502e: SUB
0000502f: PUSH1 0xa0
00005031: SHL
00005032: SWAP2
00005033: SUB
00005034: PUSH1 0x60
00005036: SHR
00005037: OR
00005038: SWAP1
00005039: JUMP
0000503a: JUMPDEST
0000503b: POP
0000503c: POP
0000503d: POP
0000503e: PUSH1 0x60
00005040: SHR
00005041: SWAP1
00005042: JUMP
00005043: JUMPDEST
00005044: SWAP2
00005045: DUP2
00005046: DUP4
00005047: MUL
00005048: SWAP2
00005049: PUSH1 0x00
0000504b: NOT
0000504c: DUP2
0000504d: DUP6
0000504e: MULMOD
0000504f: SWAP4
00005050: DUP4
00005051: DUP1
00005052: DUP7
00005053: LT
00005054: SWAP6
00005055: SUB
00005056: SWAP5
00005057: DUP1
00005058: DUP7
00005059: SUB
0000505a: SWAP6
0000505b: EQ
0000505c: PUSH2 0x50d7
0000505f: JUMPI
00005060: DUP5
00005061: DUP4
00005062: GT
00005063: ISZERO
00005064: PUSH2 0x50be
00005067: JUMPI
00005068: SWAP1
00005069: DUP3
0000506a: SWAP2
0000506b: MULMOD
0000506c: DUP2
0000506d: PUSH1 0x00
0000506f: SUB
00005070: DUP3
00005071: AND
00005072: DUP1
00005073: SWAP3
00005074: DIV
00005075: PUSH1 0x02
00005077: DUP2
00005078: PUSH1 0x03
0000507a: MUL
0000507b: XOR
0000507c: DUP1
0000507d: DUP3
0000507e: MUL
0000507f: PUSH1 0x02
00005081: SUB
00005082: MUL
00005083: DUP1
00005084: DUP3
00005085: MUL
00005086: PUSH1 0x02
00005088: SUB
00005089: MUL
0000508a: DUP1
0000508b: DUP3
0000508c: MUL
0000508d: PUSH1 0x02
0000508f: SUB
00005090: MUL
00005091: DUP1
00005092: DUP3
00005093: MUL
00005094: PUSH1 0x02
00005096: SUB
00005097: MUL
00005098: DUP1
00005099: DUP3
0000509a: MUL
0000509b: PUSH1 0x02
0000509d: SUB
0000509e: MUL
0000509f: DUP1
000050a0: SWAP2
000050a1: MUL
000050a2: PUSH1 0x02
000050a4: SUB
000050a5: MUL
000050a6: SWAP4
000050a7: PUSH1 0x01
000050a9: DUP4
000050aa: DUP1
000050ab: PUSH1 0x00
000050ad: SUB
000050ae: DIV
000050af: ADD
000050b0: SWAP1
000050b1: DUP5
000050b2: DUP4
000050b3: GT
000050b4: SWAP1
000050b5: SUB
000050b6: MUL
000050b7: SWAP3
000050b8: SUB
000050b9: DIV
000050ba: OR
000050bb: MUL
000050bc: SWAP1
000050bd: JUMP
000050be: JUMPDEST
000050bf: DUP3
000050c0: PUSH4 0x4e487b71
000050c5: PUSH1 0x00
000050c7: MSTORE
000050c8: ISZERO
000050c9: PUSH1 0x03
000050cb: MUL
000050cc: PUSH1 0x11
000050ce: XOR
000050cf: PUSH1 0x20
000050d1: MSTORE
000050d2: PUSH1 0x24
000050d4: PUSH1 0x1c
000050d6: REVERT
000050d7: JUMPDEST
000050d8: POP
000050d9: POP
000050da: SWAP1
000050db: PUSH2 0x3997
000050de: SWAP3
000050df: POP
000050e0: PUSH2 0x37b8
000050e3: JUMP
000050e4: JUMPDEST
000050e5: PUSH1 0x00
000050e7: SWAP2
000050e8: PUSH1 0x00
000050ea: NOT
000050eb: DUP2
000050ec: DUP4
000050ed: MULMOD
000050ee: SWAP2
000050ef: DUP2
000050f0: DUP2
000050f1: MUL
000050f2: SWAP4
000050f3: DUP5
000050f4: DUP1
000050f5: DUP6
000050f6: LT
000050f7: SWAP5
000050f8: SUB
000050f9: SWAP4
000050fa: DUP1
000050fb: DUP6
000050fc: SUB
000050fd: SWAP5
000050fe: EQ
000050ff: PUSH2 0x5129
00005102: JUMPI
00005103: DUP4
00005104: PUSH1 0x01
00005106: PUSH1 0x40
00005108: SHL
00005109: GT
0000510a: ISZERO
0000510b: PUSH2 0x02f2
0000510e: JUMPI
0000510f: POP
00005110: SWAP1
00005111: PUSH1 0x01
00005113: PUSH1 0x40
00005115: SHL
00005116: SWAP2
00005117: MULMOD
00005118: SWAP1
00005119: DUP3
0000511a: DUP3
0000511b: GT
0000511c: SWAP1
0000511d: SUB
0000511e: PUSH1 0xc0
00005120: SHL
00005121: SWAP2
00005122: SUB
00005123: PUSH1 0x40
00005125: SHR
00005126: OR
00005127: SWAP1
00005128: JUMP
00005129: JUMPDEST
0000512a: POP
0000512b: POP
0000512c: POP
0000512d: POP
0000512e: PUSH1 0x40
00005130: SHR
00005131: SWAP1
00005132: JUMP
00005133: JUMPDEST
00005134: DUP1
00005135: ISZERO
00005136: PUSH2 0x1165
00005139: JUMPI
0000513a: PUSH6 0x03782dace9d9
00005141: PUSH1 0x92
00005143: SHL
00005144: DIV
00005145: SWAP1
00005146: JUMP
00005147: JUMPDEST
00005148: PUSH1 0x00
0000514a: SWAP1
0000514b: PUSH1 0x00
0000514d: NOT
0000514e: PUSH8 0x0de0b6b3a7640000
00005157: DUP3
00005158: MULMOD
00005159: SWAP1
0000515a: PUSH8 0x0de0b6b3a7640000
00005163: DUP2
00005164: MUL
00005165: SWAP3
00005166: DUP4
00005167: DUP1
00005168: DUP5
00005169: LT
0000516a: SWAP4
0000516b: SUB
0000516c: SWAP3
0000516d: DUP1
0000516e: DUP5
0000516f: SUB
00005170: SWAP4
00005171: EQ
00005172: PUSH2 0x51a5
00005175: JUMPI
00005176: PUSH1 0x01
00005178: PUSH1 0x80
0000517a: SHL
0000517b: DUP4
0000517c: LT
0000517d: ISZERO
0000517e: PUSH2 0x02f2
00005181: JUMPI
00005182: POP
00005183: PUSH1 0x01
00005185: PUSH1 0x80
00005187: SHL
00005188: SWAP1
00005189: PUSH8 0x0de0b6b3a7640000
00005192: SWAP1
00005193: MULMOD
00005194: SWAP1
00005195: DUP3
00005196: DUP3
00005197: GT
00005198: SWAP1
00005199: SUB
0000519a: PUSH1 0x80
0000519c: SHL
0000519d: SWAP2
0000519e: SUB
0000519f: PUSH1 0x80
000051a1: SHR
000051a2: OR
000051a3: SWAP1
000051a4: JUMP
000051a5: JUMPDEST
000051a6: POP
000051a7: POP
000051a8: POP
000051a9: PUSH1 0x80
000051ab: SHR
000051ac: SWAP1
000051ad: JUMP
000051ae: JUMPDEST
000051af: DUP1
000051b0: ISZERO
000051b1: PUSH2 0x1165
000051b4: JUMPI
000051b5: PUSH6 0x03782dace9d9
000051bc: PUSH1 0xd2
000051be: SHL
000051bf: DIV
000051c0: SWAP1
000051c1: JUMP
000051c2: JUMPDEST
000051c3: PUSH1 0x00
000051c5: SWAP1
000051c6: PUSH1 0x00
000051c8: NOT
000051c9: PUSH8 0x0de0b6b3a7640000
000051d2: DUP3
000051d3: MULMOD
000051d4: SWAP1
000051d5: PUSH8 0x0de0b6b3a7640000
000051de: DUP2
000051df: MUL
000051e0: SWAP3
000051e1: DUP4
000051e2: DUP1
000051e3: DUP5
000051e4: LT
000051e5: SWAP4
000051e6: SUB
000051e7: SWAP3
000051e8: DUP1
000051e9: DUP5
000051ea: SUB
000051eb: SWAP4
000051ec: EQ
000051ed: PUSH2 0x5220
000051f0: JUMPI
000051f1: PUSH1 0x01
000051f3: PUSH1 0xc0
000051f5: SHL
000051f6: DUP4
000051f7: LT
000051f8: ISZERO
000051f9: PUSH2 0x02f2
000051fc: JUMPI
000051fd: POP
000051fe: PUSH1 0x01
00005200: PUSH1 0xc0
00005202: SHL
00005203: SWAP1
00005204: PUSH8 0x0de0b6b3a7640000
0000520d: SWAP1
0000520e: MULMOD
0000520f: SWAP1
00005210: DUP3
00005211: DUP3
00005212: GT
00005213: SWAP1
00005214: SUB
00005215: PUSH1 0x40
00005217: SHL
00005218: SWAP2
00005219: SUB
0000521a: PUSH1 0xc0
0000521c: SHR
0000521d: OR
0000521e: SWAP1
0000521f: JUMP
00005220: JUMPDEST
00005221: POP
00005222: POP
00005223: POP
00005224: PUSH1 0xc0
00005226: SHR
00005227: SWAP1
00005228: JUMP
00005229: JUMPDEST
0000522a: PUSH4 0xffffffff
0000522f: SWAP1
00005230: SWAP4
00005231: SWAP3
00005232: SWAP2
00005233: SWAP4
00005234: AND
00005235: SWAP2
00005236: DUP3
00005237: PUSH1 0x00
00005239: MSTORE
0000523a: PUSH1 0x16
0000523c: PUSH1 0x20
0000523e: MSTORE
0000523f: PUSH1 0x40
00005241: PUSH1 0x00
00005243: KECCAK256
00005244: SWAP1
00005245: DUP2
00005246: SLOAD
00005247: DUP5
00005248: PUSH1 0x00
0000524a: MSTORE
0000524b: PUSH1 0x18
0000524d: PUSH1 0x20
0000524f: MSTORE
00005250: PUSH1 0x40
00005252: PUSH1 0x00
00005254: KECCAK256
00005255: SLOAD
00005256: SWAP1
00005257: PUSH1 0x21
00005259: DUP2
0000525a: LT
0000525b: PUSH2 0x538e
0000525e: JUMPI
0000525f: POP
00005260: DUP4
00005261: GT
00005262: ISZERO
00005263: PUSH2 0x5387
00005266: JUMPI
00005267: PUSH1 0x00
00005269: SWAP5
0000526a: PUSH2 0x5274
0000526d: DUP5
0000526e: DUP3
0000526f: DUP6
00005270: PUSH2 0x5494
00005273: JUMP
00005274: JUMPDEST
00005275: PUSH2 0x5334
00005278: JUMPI
00005279: JUMPDEST
0000527a: PUSH1 0x00
0000527c: NOT
0000527d: SWAP4
0000527e: PUSH1 0x00
00005280: SWAP6
00005281: DUP5
00005282: SLOAD
00005283: SWAP8
00005284: PUSH1 0x00
00005286: JUMPDEST
00005287: PUSH1 0xff
00005289: DUP2
0000528a: AND
0000528b: DUP11
0000528c: DUP2
0000528d: LT
0000528e: ISZERO
0000528f: PUSH2 0x52c2
00005292: JUMPI
00005293: PUSH2 0x529c
00005296: SWAP1
00005297: DUP9
00005298: PUSH2 0x4e00
0000529b: JUMP
0000529c: JUMPDEST
0000529d: DUP10
0000529e: DUP2
0000529f: LT
000052a0: PUSH2 0x52b4
000052a3: JUMPI
000052a4: JUMPDEST
000052a5: POP
000052a6: POP
000052a7: PUSH2 0x52af
000052aa: SWAP1
000052ab: PUSH2 0x4602
000052ae: JUMP
000052af: JUMPDEST
000052b0: PUSH2 0x5286
000052b3: JUMP
000052b4: JUMPDEST
000052b5: SWAP1
000052b6: SWAP10
000052b7: POP
000052b8: SWAP8
000052b9: POP
000052ba: PUSH2 0x52af
000052bd: CODESIZE
000052be: PUSH2 0x52a4
000052c1: JUMP
000052c2: JUMPDEST
000052c3: POP
000052c4: POP
000052c5: PUSH1 0x00
000052c7: DUP3
000052c8: DUP2
000052c9: MSTORE
000052ca: PUSH1 0x18
000052cc: PUSH1 0x20
000052ce: SWAP1
000052cf: DUP2
000052d0: MSTORE
000052d1: PUSH1 0x40
000052d3: DUP1
000052d4: DUP4
000052d5: KECCAK256
000052d6: SWAP10
000052d7: SWAP1
000052d8: SWAP10
000052d9: SSTORE
000052da: PUSH1 0x17
000052dc: DUP2
000052dd: MSTORE
000052de: SWAP1
000052df: DUP9
000052e0: SWAP1
000052e1: KECCAK256
000052e2: DUP1
000052e3: SLOAD
000052e4: PUSH1 0x01
000052e6: PUSH1 0x01
000052e8: PUSH1 0xa0
000052ea: SHL
000052eb: SUB
000052ec: NOT
000052ed: AND
000052ee: PUSH1 0x01
000052f0: PUSH1 0x01
000052f2: PUSH1 0xa0
000052f4: SHL
000052f5: SUB
000052f6: SWAP11
000052f7: DUP12
000052f8: AND
000052f9: OR
000052fa: SWAP1
000052fb: SSTORE
000052fc: SWAP7
000052fd: MLOAD
000052fe: SWAP3
000052ff: DUP4
00005300: MSTORE
00005301: SWAP4
00005302: SWAP8
00005303: POP
00005304: SWAP3
00005305: DUP7
00005306: AND
00005307: SWAP6
00005308: SWAP1
00005309: SWAP2
0000530a: AND
0000530b: SWAP4
0000530c: SWAP2
0000530d: SWAP3
0000530e: POP
0000530f: PUSH32 0x0b6dc977f9648d4c64075e7b9c7e2a0004fc9580218ffbe2a408cdbcee874792
00005330: SWAP2
00005331: SWAP1
00005332: LOG4
00005333: JUMP
00005334: JUMPDEST
00005335: SWAP5
00005336: POP
00005337: DUP4
00005338: PUSH1 0x00
0000533a: MSTORE
0000533b: PUSH1 0x17
0000533d: PUSH1 0x20
0000533f: MSTORE
00005340: PUSH2 0x5368
00005343: PUSH1 0x01
00005345: DUP1
00005346: PUSH1 0xa0
00005348: SHL
00005349: SUB
0000534a: PUSH1 0x40
0000534c: PUSH1 0x00
0000534e: KECCAK256
0000534f: SLOAD
00005350: AND
00005351: DUP1
00005352: PUSH1 0x00
00005354: MSTORE
00005355: PUSH1 0x02
00005357: DUP5
00005358: ADD
00005359: PUSH1 0x20
0000535b: MSTORE
0000535c: PUSH1 0x00
0000535e: PUSH1 0x40
00005360: DUP2
00005361: KECCAK256
00005362: SSTORE
00005363: DUP4
00005364: PUSH2 0x54b8
00005367: JUMP
00005368: JUMPDEST
00005369: POP
0000536a: PUSH1 0x00
0000536c: DUP5
0000536d: DUP2
0000536e: MSTORE
0000536f: PUSH1 0x17
00005371: PUSH1 0x20
00005373: MSTORE
00005374: PUSH1 0x40
00005376: SWAP1
00005377: KECCAK256
00005378: SLOAD
00005379: PUSH1 0x01
0000537b: PUSH1 0x01
0000537d: PUSH1 0xa0
0000537f: SHL
00005380: SUB
00005381: AND
00005382: SWAP5
00005383: PUSH2 0x5279
00005386: JUMP
00005387: JUMPDEST
00005388: SWAP4
00005389: POP
0000538a: POP
0000538b: POP
0000538c: POP
0000538d: JUMP
0000538e: JUMPDEST
0000538f: SWAP6
00005390: PUSH1 0x20
00005392: SWAP2
00005393: PUSH32 0x0b6dc977f9648d4c64075e7b9c7e2a0004fc9580218ffbe2a408cdbcee874792
000053b4: SWAP4
000053b5: SWAP8
000053b6: PUSH2 0x53c3
000053b9: DUP8
000053ba: DUP5
000053bb: PUSH1 0x00
000053bd: SWAP11
000053be: SWAP9
000053bf: PUSH2 0x5494
000053c2: JUMP
000053c3: JUMPDEST
000053c4: POP
000053c5: ISZERO
000053c6: SWAP1
000053c7: DUP2
000053c8: ISZERO
000053c9: PUSH2 0x541c
000053cc: JUMPI
000053cd: JUMPDEST
000053ce: POP
000053cf: PUSH2 0x53e6
000053d2: JUMPI
000053d3: JUMPDEST
000053d4: PUSH1 0x40
000053d6: MLOAD
000053d7: SWAP5
000053d8: DUP6
000053d9: MSTORE
000053da: PUSH1 0x01
000053dc: PUSH1 0x01
000053de: PUSH1 0xa0
000053e0: SHL
000053e1: SUB
000053e2: AND
000053e3: SWAP4
000053e4: LOG4
000053e5: JUMP
000053e6: JUMPDEST
000053e7: DUP4
000053e8: DUP7
000053e9: MSTORE
000053ea: PUSH1 0x18
000053ec: DUP3
000053ed: MSTORE
000053ee: PUSH1 0x40
000053f0: DUP1
000053f1: DUP8
000053f2: KECCAK256
000053f3: DUP7
000053f4: SWAP1
000053f5: SSTORE
000053f6: DUP5
000053f7: DUP8
000053f8: MSTORE
000053f9: PUSH1 0x17
000053fb: DUP4
000053fc: MSTORE
000053fd: DUP7
000053fe: KECCAK256
000053ff: DUP1
00005400: SLOAD
00005401: PUSH1 0x01
00005403: PUSH1 0x01
00005405: PUSH1 0xa0
00005407: SHL
00005408: SUB
00005409: NOT
0000540a: AND
0000540b: PUSH1 0x01
0000540d: PUSH1 0x01
0000540f: PUSH1 0xa0
00005411: SHL
00005412: SUB
00005413: DUP4
00005414: AND
00005415: OR
00005416: SWAP1
00005417: SSTORE
00005418: PUSH2 0x53d3
0000541b: JUMP
0000541c: JUMPDEST
0000541d: SWAP1
0000541e: POP
0000541f: DUP6
00005420: LT
00005421: CODESIZE
00005422: PUSH2 0x53cd
00005425: JUMP
00005426: JUMPDEST
00005427: PUSH1 0x00
00005429: DUP3
0000542a: DUP2
0000542b: MSTORE
0000542c: PUSH1 0x01
0000542e: DUP3
0000542f: ADD
00005430: PUSH1 0x20
00005432: MSTORE
00005433: PUSH1 0x40
00005435: SWAP1
00005436: KECCAK256
00005437: SLOAD
00005438: PUSH2 0x548d
0000543b: JUMPI
0000543c: DUP1
0000543d: SLOAD
0000543e: SWAP1
0000543f: PUSH1 0x01
00005441: PUSH1 0x40
00005443: SHL
00005444: DUP3
00005445: LT
00005446: ISZERO
00005447: PUSH2 0x374b
0000544a: JUMPI
0000544b: DUP3
0000544c: PUSH2 0x5476
0000544f: PUSH2 0x545f
00005452: DUP5
00005453: PUSH1 0x01
00005455: DUP1
00005456: SWAP7
00005457: ADD
00005458: DUP6
00005459: SSTORE
0000545a: DUP5
0000545b: PUSH2 0x4cc6
0000545e: JUMP
0000545f: JUMPDEST
00005460: DUP2
00005461: SWAP4
00005462: SWAP2
00005463: SLOAD
00005464: SWAP1
00005465: PUSH1 0x03
00005467: SHL
00005468: SWAP2
00005469: DUP3
0000546a: SHL
0000546b: SWAP2
0000546c: PUSH1 0x00
0000546e: NOT
0000546f: SWAP1
00005470: SHL
00005471: NOT
00005472: AND
00005473: OR
00005474: SWAP1
00005475: JUMP
00005476: JUMPDEST
00005477: SWAP1
00005478: SSTORE
00005479: DUP1
0000547a: SLOAD
0000547b: SWAP3
0000547c: PUSH1 0x00
0000547e: MSTORE
0000547f: ADD
00005480: PUSH1 0x20
00005482: MSTORE
00005483: PUSH1 0x40
00005485: PUSH1 0x00
00005487: KECCAK256
00005488: SSTORE
00005489: PUSH1 0x01
0000548b: SWAP1
0000548c: JUMP
0000548d: JUMPDEST
0000548e: POP
0000548f: POP
00005490: PUSH1 0x00
00005492: SWAP1
00005493: JUMP
00005494: JUMPDEST
00005495: PUSH2 0x3997
00005498: SWAP3
00005499: SWAP2
0000549a: PUSH1 0x01
0000549c: DUP1
0000549d: PUSH1 0xa0
0000549f: SHL
000054a0: SUB
000054a1: AND
000054a2: SWAP2
000054a3: DUP3
000054a4: PUSH1 0x00
000054a6: MSTORE
000054a7: PUSH1 0x02
000054a9: DUP3
000054aa: ADD
000054ab: PUSH1 0x20
000054ad: MSTORE
000054ae: PUSH1 0x40
000054b0: PUSH1 0x00
000054b2: KECCAK256
000054b3: SSTORE
000054b4: PUSH2 0x5426
000054b7: JUMP
000054b8: JUMPDEST
000054b9: SWAP1
000054ba: PUSH1 0x01
000054bc: DUP3
000054bd: ADD
000054be: SWAP2
000054bf: DUP2
000054c0: PUSH1 0x00
000054c2: MSTORE
000054c3: DUP3
000054c4: PUSH1 0x20
000054c6: MSTORE
000054c7: PUSH1 0x40
000054c9: PUSH1 0x00
000054cb: KECCAK256
000054cc: SLOAD
000054cd: DUP1
000054ce: ISZERO
000054cf: ISZERO
000054d0: PUSH1 0x00
000054d2: EQ
000054d3: PUSH2 0x5582
000054d6: JUMPI
000054d7: PUSH1 0x00
000054d9: NOT
000054da: DUP2
000054db: ADD
000054dc: DUP2
000054dd: DUP2
000054de: GT
000054df: PUSH2 0x1114
000054e2: JUMPI
000054e3: DUP3
000054e4: SLOAD
000054e5: PUSH1 0x00
000054e7: NOT
000054e8: DUP2
000054e9: ADD
000054ea: SWAP2
000054eb: SWAP1
000054ec: DUP3
000054ed: GT
000054ee: PUSH2 0x1114
000054f1: JUMPI
000054f2: DUP2
000054f3: DUP2
000054f4: SUB
000054f5: PUSH2 0x554b
000054f8: JUMPI
000054f9: JUMPDEST
000054fa: POP
000054fb: POP
000054fc: POP
000054fd: DUP1
000054fe: SLOAD
000054ff: DUP1
00005500: ISZERO
00005501: PUSH2 0x5535
00005504: JUMPI
00005505: PUSH1 0x00
00005507: NOT
00005508: ADD
00005509: SWAP1
0000550a: PUSH2 0x5513
0000550d: DUP3
0000550e: DUP3
0000550f: PUSH2 0x4cc6
00005512: JUMP
00005513: JUMPDEST
00005514: DUP2
00005515: SLOAD
00005516: SWAP1
00005517: PUSH1 0x00
00005519: NOT
0000551a: SWAP1
0000551b: PUSH1 0x03
0000551d: SHL
0000551e: SHL
0000551f: NOT
00005520: AND
00005521: SWAP1
00005522: SSTORE
00005523: SSTORE
00005524: PUSH1 0x00
00005526: MSTORE
00005527: PUSH1 0x20
00005529: MSTORE
0000552a: PUSH1 0x00
0000552c: PUSH1 0x40
0000552e: DUP2
0000552f: KECCAK256
00005530: SSTORE
00005531: PUSH1 0x01
00005533: SWAP1
00005534: JUMP
00005535: JUMPDEST
00005536: PUSH4 0x4e487b71
0000553b: PUSH1 0xe0
0000553d: SHL
0000553e: PUSH1 0x00
00005540: MSTORE
00005541: PUSH1 0x31
00005543: PUSH1 0x04
00005545: MSTORE
00005546: PUSH1 0x24
00005548: PUSH1 0x00
0000554a: REVERT
0000554b: JUMPDEST
0000554c: PUSH2 0x556b
0000554f: PUSH2 0x555b
00005552: PUSH2 0x545f
00005555: SWAP4
00005556: DUP7
00005557: PUSH2 0x4cc6
0000555a: JUMP
0000555b: JUMPDEST
0000555c: SWAP1
0000555d: SLOAD
0000555e: SWAP1
0000555f: PUSH1 0x03
00005561: SHL
00005562: SHR
00005563: SWAP3
00005564: DUP4
00005565: SWAP3
00005566: DUP7
00005567: PUSH2 0x4cc6
0000556a: JUMP
0000556b: JUMPDEST
0000556c: SWAP1
0000556d: SSTORE
0000556e: PUSH1 0x00
00005570: MSTORE
00005571: DUP4
00005572: PUSH1 0x20
00005574: MSTORE
00005575: PUSH1 0x40
00005577: PUSH1 0x00
00005579: KECCAK256
0000557a: SSTORE
0000557b: CODESIZE
0000557c: DUP1
0000557d: DUP1
0000557e: PUSH2 0x54f9
00005581: JUMP
00005582: JUMPDEST
00005583: POP
00005584: POP
00005585: POP
00005586: POP
00005587: PUSH1 0x00
00005589: SWAP1
0000558a: JUMP
0000558b: INVALID
0000558c: UNKNOWN(0xE2)
0000558d: REVERT
0000558e: SWAP4
0000558f: TLOAD
00005590: SGT
00005591: TLOAD
00005592: PUSH5 0x0ea42de27d
00005598: STOP
00005599: PUSH30 0x425b5fe4d067a6cb7753ad5bb66bc8479357a26469706673582212205671
000055b8: UNKNOWN(0x24)
000055b9: JUMPI
000055ba: UNKNOWN(0xD6)
000055bb: UNKNOWN(0xEB)
000055bc: SHL
000055bd: UNKNOWN(0xD4)
000055be: UNKNOWN(0xE4)
000055bf: UNKNOWN(0xD7)
000055c0: CALLDATACOPY
000055c1: ADDMOD
000055c2: DUP6
000055c3: UNKNOWN(0xDA)
000055c4: UNKNOWN(0xF6)
000055c5: SHL
000055c6: UNKNOWN(0xCD)
000055c7: EXP
000055c8: UNKNOWN(0xDA)
000055c9: UNKNOWN(0xB5)
000055ca: UNKNOWN(0xCD)
000055cb: UNKNOWN(0xEC)
000055cc: UNKNOWN(0x24)
000055cd: SWAP6
000055ce: PUSH20

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_id: 0x530492cfb4fce533633bc97bf2d57218150dc08e9615f782415db745bfc5bd73
call_targets: 0xf576e1f09e2eb4992d5ffdf68bec4ea489fa417d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x530492cfb4fce533633bc97bf2d57218150dc08e9615f782415db745bfc5bd73",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf576e1f09e2eb4992d5ffdf68bec4ea489fa417d"
    ],
    "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": "0x05ecd003",
            "selector": "0x05ecd003",
            "calldata_variants": [
                "0x05ecd003",
                "0x05ecd0030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x080c279a",
            "selector": "0x080c279a",
            "calldata_variants": [
                "0x080c279a",
                "0x080c279a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1296afb6",
            "selector": "0x1296afb6",
            "calldata_variants": [
                "0x1296afb6",
                "0x1296afb60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x218acfd2",
            "selector": "0x218acfd2",
            "calldata_variants": [
                "0x218acfd2",
                "0x218acfd20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2299e862",
            "selector": "0x2299e862",
            "calldata_variants": [
                "0x2299e862",
                "0x2299e8620000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1379,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1825,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4101,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 11,
    "guards_detected": [],
    "untrusted_call_count": 11
}
high other detector ETH value transfer possible 55 no no
view
trace_id: 0x530492cfb4fce533633bc97bf2d57218150dc08e9615f782415db745bfc5bd73
call_targets: 0xf576e1f09e2eb4992d5ffdf68bec4ea489fa417d
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0x530492cfb4fce533633bc97bf2d57218150dc08e9615f782415db745bfc5bd73",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xf576e1f09e2eb4992d5ffdf68bec4ea489fa417d"
    ],
    "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": "0x05ecd003",
            "selector": "0x05ecd003",
            "calldata_variants": [
                "0x05ecd003",
                "0x05ecd0030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x06fdde03",
            "selector": "0x06fdde03",
            "calldata_variants": [
                "0x06fdde03",
                "0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x080c279a",
            "selector": "0x080c279a",
            "calldata_variants": [
                "0x080c279a",
                "0x080c279a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x095ea7b3",
            "selector": "0x095ea7b3",
            "calldata_variants": [
                "0x095ea7b3",
                "0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x1296afb6",
            "selector": "0x1296afb6",
            "calldata_variants": [
                "0x1296afb6",
                "0x1296afb60000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x18160ddd",
            "selector": "0x18160ddd",
            "calldata_variants": [
                "0x18160ddd",
                "0x18160ddd0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x218acfd2",
            "selector": "0x218acfd2",
            "calldata_variants": [
                "0x218acfd2",
                "0x218acfd20000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0x2299e862",
            "selector": "0x2299e862",
            "calldata_variants": [
                "0x2299e862",
                "0x2299e8620000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 1379,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 1825,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 4101,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 11,
    "guards_detected": []
}
medium oracle codex TWAP from internal Uniswap pool can be manipulated to over-mint ULTI 75 no
view
evidence_json
{
    "evidence": "`_calculateTWAP` reads price solely from the pool and `_allocateDeposit` uses it to compute `ultiForUser` with no sanity checks.",
    "locations": [
        "contracts/contracts/ULTI.sol:553",
        "contracts/contracts/ULTI.sol:985",
        "contracts/contracts/ULTI.sol:1123"
    ],
    "recommendation": "Add oracle hardening: enforce minimum pool liquidity, lengthen the TWAP window, add a deviation check vs. spot/anchor price, or use an external oracle (or multiple sources). Consider pausing deposits/pumps when TWAP cannot be trusted.",
    "exploit_scenario": "An attacker with sufficient capital temporarily skews the ULTI/INPUT pool price for the 18m9s window (especially when liquidity is low), then deposits input tokens. Because `_allocateDeposit` uses this TWAP without any liquidity or deviation checks, the attacker receives more ULTI than fair, inflating supply and diluting others. The same manipulated TWAP also relaxes pump slippage bounds, wasting contract reserves."
}
low other codex Launch can be blocked by pre-creating the Uniswap pool 65 no
view
evidence_json
{
    "evidence": "`_createLiquidity` explicitly reverts if a pool already exists, and `launch` depends on it.",
    "locations": [
        "contracts/contracts/ULTI.sol:607",
        "contracts/contracts/ULTI.sol:616",
        "contracts/contracts/ULTI.sol:461"
    ],
    "recommendation": "Use `createAndInitializePoolIfNecessary` (or accept an existing pool after verifying its parameters) instead of reverting when a pool already exists. Alternatively, ensure launch happens atomically from a factory.",
    "exploit_scenario": "After deployment but before `launch`, any third party can call the Uniswap factory to create the ULTI/input pool. `_createLiquidity` then reverts with `LiquidityPoolAlreadyExists`, permanently preventing launch unless the contract is redeployed."
}
low other codex Stale minimum contributor tracking can evict non-min contributors 65 no
view
evidence_json
{
    "evidence": "`_updateTopContributors` updates the map under the <MAX branch but only adjusts the minimum when the new value is lower; later it uses the cached minimum to evict contributors.",
    "locations": [
        "contracts/contracts/ULTI.sol:1351",
        "contracts/contracts/ULTI.sol:1355",
        "contracts/contracts/ULTI.sol:1365"
    ],
    "recommendation": "When updating an existing contributor while length < MAX, recompute minimum if the updated contributor was the minimum or if their value increases past it. Alternatively, recompute the minimum whenever the list fills or use a heap/ordered structure.",
    "exploit_scenario": "While the list is below MAX, if the current minimum contributor later increases their contribution, `minDiscountedContribution` and `minContributorAddress` are not updated. Once the list is full, any new contributor with `cycleContribution > minContribution` can trigger removal of the stale `minContributorAddress`, even if that address is no longer the true minimum, skewing bonus allocation and pump eligibility."
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 19
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 5
}