4a6f5ba6-2691-48c0-bd6e-c5c33012cb30
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 30724 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 75340 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 75341 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 75342 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 75343 | capability.graph | complete | 1 / 3 | 1 week ago |
| 75344 | detector.run | complete | 1 / 3 | 1 week ago |
| 75345 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1293352] OpenAI Codex v0.77.0 (research preview)
[codex:1293352] --------
[codex:1293352] workdir: /tmp/codex-multi-n835s24t
[codex:1293352] model: gpt-5.2-codex
[codex:1293352] provider: openai
[codex:1293352] approval: never
[codex:1293352] sandbox: read-only
[codex:1293352] reasoning effort: xhigh
[codex:1293352] reasoning summaries: auto
[codex:1293352] session id: 019b708e-29bb-7032-9d5b-e4dd9664b61e
[codex:1293352] --------
[codex:1293352] user
[codex:1293352] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1293352] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1293352] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1293352]
[codex:1293352] Scope rules:
[codex:1293352] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1293352] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1293352]
[codex:1293352] Output MUST be valid JSON matching the provided schema.
[codex:1293352] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1293352] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1293352]
[codex:1293352] Output constraints (IMPORTANT):
[codex:1293352] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1293352] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1293352] mcp startup: no servers
[codex:1293352]
[codex:1293352] thinking
[codex:1293352] **Preparing to audit with AUDIT_BUNDLE.txt**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc ls in /tmp/codex-multi-n835s24t succeeded in 5ms:
[codex:1293352] AUDIT_BUNDLE.txt
[codex:1293352] codex-output-schema.json
[codex:1293352] contracts
[codex:1293352] exec
[codex:1293352] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1293352]
[codex:1293352] ================================================================================
[codex:1293352] FILE: contracts/contracts/ISwapCallback.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: MIT
[codex:1293352] pragma solidity ^0.8.0;
[codex:1293352]
[codex:1293352] /**
[codex:1293352] * @title TermMax Swap Callback Interface
[codex:1293352] * @author Term Structure Labs
[codex:1293352] * @notice Interface for handling callbacks after swap operations in TermMax
[codex:1293352] */
[codex:1293352] interface ISwapCallback {
[codex:1293352] /**
[codex:1293352] * @notice Callback function called after a swap operation
[codex:1293352] * @param ftReserve The reserve of the FT token
[codex:1293352] * @param xtReserve The reserve of the XT token
[codex:1293352] * @param deltaFt The change in FT token balance (positive for receiving, negative for paying)
[codex:1293352] * @param deltaXt The change in XT token balance (positive for receiving, negative for paying)
[codex:1293352]
[codex:1293352] thinking
[codex:1293352] **Searching for core contract files**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-n835s24t succeeded in 9ms:
[codex:1293352] 4:FILE: contracts/contracts/ISwapCallback.sol
[codex:1293352] 26:FILE: contracts/contracts/ITermMaxMarket.sol
[codex:1293352] 133:FILE: contracts/contracts/ITermMaxOrder.sol
[codex:1293352] 237:FILE: contracts/contracts/errors/VaultErrors.sol
[codex:1293352] 375:FILE: contracts/contracts/events/VaultEvents.sol
[codex:1293352] 578:FILE: contracts/contracts/lib/Constants.sol
[codex:1293352] 603:FILE: contracts/contracts/lib/PendingLib.sol
[codex:1293352] 645:FILE: contracts/contracts/lib/TransferUtils.sol
[codex:1293352] 694:FILE: contracts/contracts/lib/VaultConstants.sol
[codex:1293352] 720:FILE: contracts/contracts/oracle/IOracle.sol
[codex:1293352] 750:FILE: contracts/contracts/router/ISwapAdapter.sol
[codex:1293352] 803:FILE: contracts/contracts/router/ITermMaxRouter.sol
[codex:1293352] 1124:FILE: contracts/contracts/storage/TermMaxStorage.sol
[codex:1293352] 1252:FILE: contracts/contracts/tokens/IGearingToken.sol
[codex:1293352] 1381:FILE: contracts/contracts/tokens/IMintableERC20.sol
[codex:1293352] 1423:FILE: contracts/contracts/vault/IOrderManager.sol
[codex:1293352] 1525:FILE: contracts/contracts/vault/ITermMaxVault.sol
[codex:1293352] 1825:FILE: contracts/contracts/vault/TermMaxVault.sol
[codex:1293352] 2575:FILE: contracts/contracts/vault/VaultStorage.sol
[codex:1293352] 2637:FILE: contracts/lib/chainlink/contracts/src/v0.8/shared/interfaces/AggregatorV3Interface.sol
[codex:1293352]
[codex:1293352] thinking
[codex:1293352] **Extracting and inspecting contract sections**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '1825,2575p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] FILE: contracts/contracts/vault/TermMaxVault.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: GPL-2.0-or-later
[codex:1293352] pragma solidity ^0.8.27;
[codex:1293352]
[codex:1293352] import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1293352] import {SafeCast} from "@openzeppelin/contracts/utils/math/SafeCast.sol";
[codex:1293352] import {PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/PausableUpgradeable.sol";
[codex:1293352] import {
[codex:1293352] IERC4626,
[codex:1293352] ERC4626Upgradeable,
[codex:1293352] ERC20Upgradeable
[codex:1293352] } from "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC4626Upgradeable.sol";
[codex:1293352] import {Ownable2StepUpgradeable} from "@openzeppelin/contracts-upgradeable/access/Ownable2StepUpgradeable.sol";
[codex:1293352] import {ReentrancyGuardUpgradeable} from "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardUpgradeable.sol";
[codex:1293352] import {ReentrancyGuard} from "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
[codex:1293352] import {PendingLib, PendingAddress, PendingUint192} from "contracts/lib/PendingLib.sol";
[codex:1293352] import {ITermMaxMarket} from "contracts/ITermMaxMarket.sol";
[codex:1293352] import {CurveCuts, VaultInitialParams} from "contracts/storage/TermMaxStorage.sol";
[codex:1293352] import {ITermMaxRouter} from "contracts/router/ITermMaxRouter.sol";
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '2575,2705p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-n835s24t succeeded in 5ms:
[codex:1293352] FILE: contracts/contracts/vault/VaultStorage.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: MIT
[codex:1293352] pragma solidity ^0.8.27;
[codex:1293352]
[codex:1293352] import {ITermMaxMarket} from "contracts/ITermMaxMarket.sol";
[codex:1293352] import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1293352] import {PendingAddress, PendingUint192} from "contracts/lib/PendingLib.sol";
[codex:1293352]
[codex:1293352] struct OrderInfo {
[codex:1293352] ITermMaxMarket market;
[codex:1293352] IERC20 ft;
[codex:1293352] IERC20 xt;
[codex:1293352] uint128 maxSupply;
[codex:1293352] uint64 maturity;
[codex:1293352] }
[codex:1293352]
[codex:1293352] contract VaultStorage {
[codex:1293352] // State variables
[codex:1293352] address internal _guardian;
[codex:1293352]
[codex:1293352] thinking
[codex:1293352] **Searching for core components and implementations**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc 'rg -n "OrderManager" AUDIT_BUNDLE.txt' in /tmp/codex-multi-n835s24t succeeded in 7ms:
[codex:1293352] 1423:FILE: contracts/contracts/vault/IOrderManager.sol
[codex:1293352] 1437:interface IOrderManager {
[codex:1293352] 1851:import {IOrderManager} from "./IOrderManager.sol";
[codex:1293352] 1935: _delegateCall(abi.encodeCall(IOrderManager.accruedInterest, ()));
[codex:1293352] 2103: IOrderManager.createOrder, (IERC20(asset()), market, maxSupply, initialReserve, curveCuts)
[codex:1293352] 2120: abi.encodeCall(IOrderManager.updateOrders, (IERC20(asset()), orders, changes, maxSupplies, curveCuts))
[codex:1293352] 2128: _delegateCall(abi.encodeCall(IOrderManager.redeemOrder, (order)));
[codex:1293352] 2140: _delegateCall(abi.encodeCall(IOrderManager.withdrawPerformanceFee, (IERC20(asset()), recipient, amount)));
[codex:1293352] 2181: _delegateCall(abi.encodeCall(IOrderManager.depositAssets, (IERC20(asset()), assets)));
[codex:1293352] 2199: _delegateCall(abi.encodeCall(IOrderManager.withdrawAssets, (IERC20(asset()), receiver, assets)));
[codex:1293352] 2239: _delegateCall(abi.encodeCall(IOrderManager.dealBadDebt, (recipient, collateral, badDebtAmt))), (uint256)
[codex:1293352] 2570: _delegateCall(abi.encodeCall(IOrderManager.afterSwap, (ftReserve, xtReserve, deltaFt)));
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '1423,1525p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-n835s24t succeeded in 5ms:
[codex:1293352] FILE: contracts/contracts/vault/IOrderManager.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: MIT
[codex:1293352] pragma solidity ^0.8.0;
[codex:1293352]
[codex:1293352] import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1293352] import {ITermMaxMarket} from "contracts/ITermMaxMarket.sol";
[codex:1293352] import {ITermMaxOrder} from "contracts/ITermMaxOrder.sol";
[codex:1293352] import {CurveCuts} from "contracts/storage/TermMaxStorage.sol";
[codex:1293352]
[codex:1293352] /**
[codex:1293352] * @title Order Manager Interface
[codex:1293352] * @author Term Structure Labs
[codex:1293352] */
[codex:1293352] interface IOrderManager {
[codex:1293352] /**
[codex:1293352] * @notice Creates a new order
[codex:1293352] * @param asset The asset token address
[codex:1293352] * @param market The market address
[codex:1293352] * @param maxSupply The maximum xt supply of the order
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '1525,1825p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-n835s24t succeeded in 9ms:
[codex:1293352] FILE: contracts/contracts/vault/ITermMaxVault.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: MIT
[codex:1293352] pragma solidity ^0.8.27;
[codex:1293352]
[codex:1293352] import {IERC4626} from "@openzeppelin/contracts/interfaces/IERC4626.sol";
[codex:1293352] import {IERC20} from "@openzeppelin/contracts/interfaces/IERC20.sol";
[codex:1293352] import {ITermMaxMarket} from "contracts/ITermMaxMarket.sol";
[codex:1293352] import {CurveCuts, VaultInitialParams} from "contracts/storage/TermMaxStorage.sol";
[codex:1293352] import {ITermMaxOrder} from "contracts/ITermMaxOrder.sol";
[codex:1293352] import {PendingAddress, PendingUint192} from "contracts/lib/PendingLib.sol";
[codex:1293352] import {OrderInfo} from "./VaultStorage.sol";
[codex:1293352]
[codex:1293352] /**
[codex:1293352] * @title TermMax Vault Interface
[codex:1293352] * @author Term Structure Labs
[codex:1293352] * @notice Interface for TermMax vaults that extends the ERC4626 standard
[codex:1293352] * @dev Implements ERC4626 tokenized vault standard with additional TermMax-specific functionality
[codex:1293352] */
[codex:1293352] interface ITermMaxVault is IERC4626 {
[codex:1293352]
[codex:1293352] thinking
[codex:1293352] **Analyzing delegatecall risks with missing implementation**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '578,750p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] FILE: contracts/contracts/lib/Constants.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: MIT
[codex:1293352] pragma solidity ^0.8.0;
[codex:1293352]
[codex:1293352] /**
[codex:1293352] * @title The general constants of TermMax
[codex:1293352] * @author Term Structure Labs
[codex:1293352] */
[codex:1293352] library Constants {
[codex:1293352] /// @notice The base decimals of ratio
[codex:1293352] uint256 constant DECIMAL_BASE = 1e8;
[codex:1293352] /// @notice The square of the base decimals
[codex:1293352] uint256 constant DECIMAL_BASE_SQ = 1e16;
[codex:1293352] /// @notice The days of one year
[codex:1293352] uint256 constant DAYS_IN_YEAR = 365;
[codex:1293352] /// @notice The seconds of one day
[codex:1293352] uint256 constant SECONDS_IN_DAY = 1 days;
[codex:1293352] /// @notice The window time left for the liquidation bot after the market expires
[codex:1293352] uint256 constant LIQUIDATION_WINDOW = 2 hours;
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '750,1124p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] FILE: contracts/contracts/router/ISwapAdapter.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: MIT
[codex:1293352] pragma solidity ^0.8.27;
[codex:1293352] /// @notice Swap unit
[codex:1293352]
[codex:1293352] struct SwapUnit {
[codex:1293352] /// @notice Adapter's address
[codex:1293352] address adapter;
[codex:1293352] /// @notice Input token address
[codex:1293352] address tokenIn;
[codex:1293352] /// @notice Output token address
[codex:1293352] address tokenOut;
[codex:1293352] /// @notice Encoded swap data
[codex:1293352] bytes swapData;
[codex:1293352] }
[codex:1293352]
[codex:1293352] /**
[codex:1293352] * @title TermMax SwapAdapter interface
[codex:1293352] * @author Term Structure Labs
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '1124,1385p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] FILE: contracts/contracts/storage/TermMaxStorage.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: MIT
[codex:1293352] pragma solidity ^0.8.0;
[codex:1293352]
[codex:1293352] import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
[codex:1293352] import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1293352] import {IOracle} from "../oracle/IOracle.sol";
[codex:1293352] import {ISwapCallback} from "../ISwapCallback.sol";
[codex:1293352]
[codex:1293352] /**
[codex:1293352] * @title The data struct of token pair
[codex:1293352] * @author Term Structure Labs
[codex:1293352] */
[codex:1293352] struct CurveCut {
[codex:1293352] uint256 xtReserve;
[codex:1293352] uint256 liqSquare;
[codex:1293352] int256 offset;
[codex:1293352] }
[codex:1293352]
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '1381,1423p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] FILE: contracts/contracts/tokens/IMintableERC20.sol
[codex:1293352] ================================================================================
[codex:1293352] // SPDX-License-Identifier: MIT
[codex:1293352] pragma solidity ^0.8.27;
[codex:1293352]
[codex:1293352] import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1293352]
[codex:1293352] /**
[codex:1293352] * @title TermMax ERC20 token interface
[codex:1293352] * @author Term Structure Labs
[codex:1293352] */
[codex:1293352] interface IMintableERC20 is IERC20 {
[codex:1293352] /// @notice Error when using offline signature but spender is not the maerket
[codex:1293352] error SpenderIsNotMarket(address spender);
[codex:1293352]
[codex:1293352] // @notice Initial function
[codex:1293352] /// @param name The token's name
[codex:1293352] /// @param symbol The token's symbol
[codex:1293352] /// @param _decimals The token's decimals
[codex:1293352] function initialize(string memory name, string memory symbol, uint8 _decimals) external;
[codex:1293352]
[codex:1293352] thinking
[codex:1293352] **Analyzing TermMaxVault security risks**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc 'rg -n "delegatecall" AUDIT_BUNDLE.txt' in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] 2206: (bool success, bytes memory returnData) = ORDER_MANAGER_SINGLETON.delegatecall(data);
[codex:1293352] 4008: (bool success, bytes memory returndata) = target.delegatecall(data);
[codex:1293352]
[codex:1293352]
[codex:1293352] thinking
[codex:1293352] **Analyzing reentrancy and access control risks**
[codex:1293352]
[codex:1293352] I'm carefully reviewing TermMaxVault’s functions for reentrancy protections and access control; I notice that critical functions like `afterSwap` lack both, exposing potential manipulation since it delegatecalls to the order manager with unchecked inputs. This could allow attackers to skew accounting and share prices. Also, delegatecalls to an immutable external order manager entail trust risks, especially if that contract is upgradeable or compromised. I’m weighing these findings alongside gas-related DoS concerns and minor access nuances to highlight the main vulnerability points meaningfully.
[codex:1293352] thinking
[codex:1293352] **Preparing structured audit findings**
[codex:1293352]
[codex:1293352] I’m organizing the final JSON output to include required fields like severity, category, and recommendations. To be precise, I need actual file paths and line numbers for evidence, so I plan to fetch these by examining the repo files directly with tools like `rg` or `nl`. This will help me ground findings in exact code locations and avoid vague reporting.
[codex:1293352] exec
[codex:1293352] /bin/bash -lc 'rg -n "afterSwap" contracts/contracts/vault/TermMaxVault.sol' in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] 743: function afterSwap(uint256 ftReserve, uint256 xtReserve, int256 deltaFt, int256) external override {
[codex:1293352] 744: _delegateCall(abi.encodeCall(IOrderManager.afterSwap, (ftReserve, xtReserve, deltaFt)));
[codex:1293352]
[codex:1293352] thinking
[codex:1293352] **Locating delegatecall lines**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc 'rg -n "_delegateCall" -n contracts/contracts/vault/TermMaxVault.sol' in /tmp/codex-multi-n835s24t succeeded in 6ms:
[codex:1293352] 109: _delegateCall(abi.encodeCall(IOrderManager.accruedInterest, ()));
[codex:1293352] 275: _delegateCall(
[codex:1293352] 293: _delegateCall(
[codex:1293352] 302: _delegateCall(abi.encodeCall(IOrderManager.redeemOrder, (order)));
[codex:1293352] 314: _delegateCall(abi.encodeCall(IOrderManager.withdrawPerformanceFee, (IERC20(asset()), recipient, amount)));
[codex:1293352] 355: _delegateCall(abi.encodeCall(IOrderManager.depositAssets, (IERC20(asset()), assets)));
[codex:1293352] 373: _delegateCall(abi.encodeCall(IOrderManager.withdrawAssets, (IERC20(asset()), receiver, assets)));
[codex:1293352] 379: function _delegateCall(bytes memory data) internal returns (bytes memory) {
[codex:1293352] 413: _delegateCall(abi.encodeCall(IOrderManager.dealBadDebt, (recipient, collateral, badDebtAmt))), (uint256)
[codex:1293352] 744: _delegateCall(abi.encodeCall(IOrderManager.afterSwap, (ftReserve, xtReserve, deltaFt)));
[codex:1293352]
[codex:1293352] thinking
[codex:1293352] **Finding _delegateCall function lines**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '360,410p' contracts/contracts/vault/TermMaxVault.sol" in /tmp/codex-multi-n835s24t succeeded in 5ms:
[codex:1293352]
[codex:1293352] /**
[codex:1293352] * @dev Withdraw/redeem common workflow.
[codex:1293352] */
[codex:1293352] function _withdraw(address caller, address receiver, address owner, uint256 assets, uint256 shares)
[codex:1293352] internal
[codex:1293352] override
[codex:1293352] nonReentrant
[codex:1293352] {
[codex:1293352] if (caller != owner) {
[codex:1293352] _spendAllowance(owner, caller, shares);
[codex:1293352] }
[codex:1293352]
[codex:1293352] _delegateCall(abi.encodeCall(IOrderManager.withdrawAssets, (IERC20(asset()), receiver, assets)));
[codex:1293352] _burn(owner, shares);
[codex:1293352]
[codex:1293352] emit Withdraw(caller, receiver, owner, assets, shares);
[codex:1293352] }
[codex:1293352]
[codex:1293352] function _delegateCall(bytes memory data) internal returns (bytes memory) {
[codex:1293352]
[codex:1293352] thinking
[codex:1293352] **Locating afterSwap function code**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "sed -n '730,755p' contracts/contracts/vault/TermMaxVault.sol" in /tmp/codex-multi-n835s24t succeeded in 5ms:
[codex:1293352]
[codex:1293352] function _previewAccruedPeriodInterest(uint256 startTime, uint256 endTime, uint256 previewAnnualizedInterest)
[codex:1293352] internal
[codex:1293352] view
[codex:1293352] returns (uint256, uint256)
[codex:1293352] {
[codex:1293352] uint256 interest = (previewAnnualizedInterest * (endTime - startTime)) / 365 days;
[codex:1293352] uint256 performanceFeeToCurator = (interest * _performanceFeeRate) / Constants.DECIMAL_BASE;
[codex:1293352] return (interest - performanceFeeToCurator, performanceFeeToCurator);
[codex:1293352] }
[codex:1293352]
[codex:1293352] /// @notice Callback function for the swap
[codex:1293352] /// @param deltaFt The change in the ft balance of the order
[codex:1293352] function afterSwap(uint256 ftReserve, uint256 xtReserve, int256 deltaFt, int256) external override {
[codex:1293352] _delegateCall(abi.encodeCall(IOrderManager.afterSwap, (ftReserve, xtReserve, deltaFt)));
[codex:1293352] }
[codex:1293352] }
[codex:1293352]
[codex:1293352] thinking
[codex:1293352] **Summarizing delegatecall and access control risks**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "nl -ba contracts/contracts/vault/TermMaxVault.sol | sed -n '370,390p'" in /tmp/codex-multi-n835s24t succeeded in 7ms:
[codex:1293352] 370 _spendAllowance(owner, caller, shares);
[codex:1293352] 371 }
[codex:1293352] 372
[codex:1293352] 373 _delegateCall(abi.encodeCall(IOrderManager.withdrawAssets, (IERC20(asset()), receiver, assets)));
[codex:1293352] 374 _burn(owner, shares);
[codex:1293352] 375
[codex:1293352] 376 emit Withdraw(caller, receiver, owner, assets, shares);
[codex:1293352] 377 }
[codex:1293352] 378
[codex:1293352] 379 function _delegateCall(bytes memory data) internal returns (bytes memory) {
[codex:1293352] 380 (bool success, bytes memory returnData) = ORDER_MANAGER_SINGLETON.delegatecall(data);
[codex:1293352] 381 if (!success) {
[codex:1293352] 382 assembly {
[codex:1293352] 383 let ptr := add(returnData, 0x20)
[codex:1293352] 384 let len := mload(returnData)
[codex:1293352] 385 revert(ptr, len)
[codex:1293352] 386 }
[codex:1293352] 387 }
[codex:1293352] 388 return returnData;
[codex:1293352] 389 }
[codex:1293352]
[codex:1293352] thinking
[codex:1293352] **Identifying delegatecall usage**
[codex:1293352] exec
[codex:1293352] /bin/bash -lc "nl -ba contracts/contracts/vault/TermMaxVault.sol | sed -n '735,750p'" in /tmp/codex-multi-n835s24t succeeded in 5ms:
[codex:1293352] 735 {
[codex:1293352] 736 uint256 interest = (previewAnnualizedInterest * (endTime - startTime)) / 365 days;
[codex:1293352] 737 uint256 performanceFeeToCurator = (interest * _performanceFeeRate) / Constants.DECIMAL_BASE;
[codex:1293352] 738 return (interest - performanceFeeToCurator, performanceFeeToCurator);
[codex:1293352] 739 }
[codex:1293352] 740
[codex:1293352] 741 /// @notice Callback function for the swap
[codex:1293352] 742 /// @param deltaFt The change in the ft balance of the order
[codex:1293352] 743 function afterSwap(uint256 ftReserve, uint256 xtReserve, int256 deltaFt, int256) external override {
[codex:1293352] 744 _delegateCall(abi.encodeCall(IOrderManager.afterSwap, (ftReserve, xtReserve, deltaFt)));
[codex:1293352] 745 }
[codex:1293352] 746 }
[codex:1293352]
[codex:1293352] thinking
[codex:1293352] **Summarizing audit findings and crafting JSON report**
[codex:1293352]
[codex:1293352] I'll carefully analyze reentrancy guards, delegatecalls, and access controls in the vault code, then prepare a JSON report detailing two main findings: an unrestricted swap callback allowing spoofed accounting and delegatecall risks linked to upgradeability and full vault control. I'll ensure the report is valid JSON with clear severity, categories, and recommendations, reflecting plausible but conditional vulnerabilities.
[codex:1293352] codex
[codex:1293352] {"no_findings":false,"summary":"Found 2 issues: an unrestricted swap callback can let arbitrary callers spoof swap data, and core vault logic is executed via delegatecall to an external OrderManager, creating an upgradeability/backdoor risk.","findings":[{"severity":"medium","category":"access_control","title":"Unrestricted swap callback can spoof reserves and corrupt vault accounting","exploit_scenario":"An attacker calls `afterSwap` directly with fabricated `ftReserve`, `xtReserve`, and `deltaFt` values. The vault forwards these values via delegatecall; if the OrderManager relies on the inputs without validating `msg.sender` and reserves, it can update interest/principal accounting based on attacker-controlled data, letting the attacker manipulate share pricing and withdraw more assets or extract collateral via bad-debt handling.","recommendation":"Restrict `afterSwap` to authorized order contracts (e.g., require `msg.sender` is a known order in `_orderMapping` or a whitelisted market) and validate the reserve/delta values against on-chain balances before updating accounting.","evidence":"`afterSwap` is `external` with no access control and forwards user-supplied values into a delegatecall.","locations":["contracts/contracts/vault/TermMaxVault.sol:743","contracts/contracts/vault/TermMaxVault.sol:744"]},{"severity":"medium","category":"upgradeability","title":"Delegatecall to external OrderManager gives it full control of vault storage","exploit_scenario":"If `ORDER_MANAGER_SINGLETON` is a proxy or its admin is compromised, its implementation can be upgraded to malicious code. Because the vault uses `delegatecall`, that code executes in the vault’s context and can rewrite balances, mint/burn shares, or transfer assets out, effectively draining the vault.","recommendation":"Ensure `ORDER_MANAGER_SINGLETON` is a non-upgradeable, immutable implementation (or pin its codehash), or add a timelocked, auditable upgrade path with governance approvals and an emergency pause/replace mechanism.","evidence":"The vault delegates critical operations to `ORDER_MANAGER_SINGLETON` via `delegatecall`.","locations":["contracts/contracts/vault/TermMaxVault.sol:379","contracts/contracts/vault/TermMaxVault.sol:380"]}]}
[codex:1293352] tokens used
[codex:1293352] 50,277
[codex:1293352] {"no_findings":false,"summary":"Found 2 issues: an unrestricted swap callback can let arbitrary callers spoof swap data, and core vault logic is executed via delegatecall to an external OrderManager, creating an upgradeability/backdoor risk.","findings":[{"severity":"medium","category":"access_control","title":"Unrestricted swap callback can spoof reserves and corrupt vault accounting","exploit_scenario":"An attacker calls `afterSwap` directly with fabricated `ftReserve`, `xtReserve`, and `deltaFt` values. The vault forwards these values via delegatecall; if the OrderManager relies on the inputs without validating `msg.sender` and reserves, it can update interest/principal accounting based on attacker-controlled data, letting the attacker manipulate share pricing and withdraw more assets or extract collateral via bad-debt handling.","recommendation":"Restrict `afterSwap` to authorized order contracts (e.g., require `msg.sender` is a known order in `_orderMapping` or a whitelisted market) and validate the reserve/delta values against on-chain balances before updating accounting.","evidence":"`afterSwap` is `external` with no access control and forwards user-supplied values into a delegatecall.","locations":["contracts/contracts/vault/TermMaxVault.sol:743","contracts/contracts/vault/TermMaxVault.sol:744"]},{"severity":"medium","category":"upgradeability","title":"Delegatecall to external OrderManager gives it full control of vault storage","exploit_scenario":"If `ORDER_MANAGER_SINGLETON` is a proxy or its admin is compromised, its implementation can be upgraded to malicious code. Because the vault uses `delegatecall`, that code executes in the vault’s context and can rewrite balances, mint/burn shares, or transfer assets out, effectively draining the vault.","recommendation":"Ensure `ORDER_MANAGER_SINGLETON` is a non-upgradeable, immutable implementation (or pin its codehash), or add a timelocked, auditable upgrade path with governance approvals and an emergency pause/replace mechanism.","evidence":"The vault delegates critical operations to `ORDER_MANAGER_SINGLETON` via `delegatecall`.","locations":["contracts/contracts/vault/TermMaxVault.sol:379","contracts/contracts/vault/TermMaxVault.sol:380"]}]}
{
"codex": {
"ran_at": "2025-12-30T18:43:35.090985+00:00",
"returncode": 0
},
"summary": "Found 2 issues: an unrestricted swap callback can let arbitrary callers spoof swap data, and core vault logic is executed via delegatecall to an external OrderManager, creating an upgradeability/backdoor risk.",
"raw_final": {
"summary": "Found 2 issues: an unrestricted swap callback can let arbitrary callers spoof swap data, and core vault logic is executed via delegatecall to an external OrderManager, creating an upgradeability/backdoor risk.",
"findings": [
{
"title": "Unrestricted swap callback can spoof reserves and corrupt vault accounting",
"category": "access_control",
"evidence": "`afterSwap` is `external` with no access control and forwards user-supplied values into a delegatecall.",
"severity": "medium",
"locations": [
"contracts/contracts/vault/TermMaxVault.sol:743",
"contracts/contracts/vault/TermMaxVault.sol:744"
],
"recommendation": "Restrict `afterSwap` to authorized order contracts (e.g., require `msg.sender` is a known order in `_orderMapping` or a whitelisted market) and validate the reserve/delta values against on-chain balances before updating accounting.",
"exploit_scenario": "An attacker calls `afterSwap` directly with fabricated `ftReserve`, `xtReserve`, and `deltaFt` values. The vault forwards these values via delegatecall; if the OrderManager relies on the inputs without validating `msg.sender` and reserves, it can update interest/principal accounting based on attacker-controlled data, letting the attacker manipulate share pricing and withdraw more assets or extract collateral via bad-debt handling."
},
{
"title": "Delegatecall to external OrderManager gives it full control of vault storage",
"category": "upgradeability",
"evidence": "The vault delegates critical operations to `ORDER_MANAGER_SINGLETON` via `delegatecall`.",
"severity": "medium",
"locations": [
"contracts/contracts/vault/TermMaxVault.sol:379",
"contracts/contracts/vault/TermMaxVault.sol:380"
],
"recommendation": "Ensure `ORDER_MANAGER_SINGLETON` is a non-upgradeable, immutable implementation (or pin its codehash), or add a timelocked, auditable upgrade path with governance approvals and an emergency pause/replace mechanism.",
"exploit_scenario": "If `ORDER_MANAGER_SINGLETON` is a proxy or its admin is compromised, its implementation can be upgraded to malicious code. Because the vault uses `delegatecall`, that code executes in the vault\u2019s context and can rewrite balances, mint/burn shares, or transfer assets out, effectively draining the vault."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: ISZERO 0000000a: PUSH2 0x0011 0000000d: JUMPI 0000000e: PUSH0 0000000f: DUP1 00000010: REVERT 00000011: JUMPDEST 00000012: PUSH0 00000013: CALLDATALOAD 00000014: PUSH1 0xe0 00000016: SHR 00000017: DUP1 00000018: PUSH4 0x01e1d114 0000001d: EQ 0000001e: PUSH2 0x04f5 00000021: JUMPI 00000022: DUP1 00000023: PUSH4 0x06fdde03 00000028: EQ 00000029: PUSH2 0x04f0 0000002c: JUMPI 0000002d: DUP1 0000002e: PUSH4 0x07a2d13a 00000033: EQ 00000034: PUSH2 0x0491 00000037: JUMPI 00000038: DUP1 00000039: PUSH4 0x095ea7b3 0000003e: EQ 0000003f: PUSH2 0x04eb 00000042: JUMPI 00000043: DUP1 00000044: PUSH4 0x0a28a477 00000049: EQ 0000004a: PUSH2 0x04e6 0000004d: JUMPI 0000004e: DUP1 0000004f: PUSH4 0x0f4f0c32 00000054: EQ 00000055: PUSH2 0x04e1 00000058: JUMPI 00000059: DUP1 0000005a: PUSH4 0x0ffbfda4 0000005f: EQ 00000060: PUSH2 0x04dc 00000063: JUMPI 00000064: DUP1 00000065: PUSH4 0x1124f92c 0000006a: EQ 0000006b: PUSH2 0x04d7 0000006e: JUMPI 0000006f: DUP1 00000070: PUSH4 0x18160ddd 00000075: EQ 00000076: PUSH2 0x04d2 00000079: JUMPI 0000007a: DUP1 0000007b: PUSH4 0x1908a2ee 00000080: EQ 00000081: PUSH2 0x04cd 00000084: JUMPI 00000085: DUP1 00000086: PUSH4 0x1ecca77c 0000008b: EQ 0000008c: PUSH2 0x04c8 0000008f: JUMPI 00000090: DUP1 00000091: PUSH4 0x23b872dd 00000096: EQ 00000097: PUSH2 0x04c3 0000009a: JUMPI 0000009b: DUP1 0000009c: PUSH4 0x313ce567 000000a1: EQ 000000a2: PUSH2 0x04be 000000a5: JUMPI 000000a6: DUP1 000000a7: PUSH4 0x33f91ebb 000000ac: EQ 000000ad: PUSH2 0x04b9 000000b0: JUMPI 000000b1: DUP1 000000b2: PUSH4 0x38d52e0f 000000b7: EQ 000000b8: PUSH2 0x04b4 000000bb: JUMPI 000000bc: DUP1 000000bd: PUSH4 0x3f38db41 000000c2: EQ 000000c3: PUSH2 0x04af 000000c6: JUMPI 000000c7: DUP1 000000c8: PUSH4 0x3f4ba83a 000000cd: EQ 000000ce: PUSH2 0x04aa 000000d1: JUMPI 000000d2: DUP1 000000d3: PUSH4 0x402d267d 000000d8: EQ 000000d9: PUSH2 0x04a5 000000dc: JUMPI 000000dd: DUP1 000000de: PUSH4 0x41b67833 000000e3: EQ 000000e4: PUSH2 0x04a0 000000e7: JUMPI 000000e8: DUP1 000000e9: PUSH4 0x452a9320 000000ee: EQ 000000ef: PUSH2 0x049b 000000f2: JUMPI 000000f3: DUP1 000000f4: PUSH4 0x460bf7e1 000000f9: EQ 000000fa: PUSH2 0x0496 000000fd: JUMPI 000000fe: DUP1 000000ff: PUSH4 0x4cdad506 00000104: EQ 00000105: PUSH2 0x0491 00000108: JUMPI 00000109: DUP1 0000010a: PUSH4 0x4dedf20e 0000010f: EQ 00000110: PUSH2 0x048c 00000113: JUMPI 00000114: DUP1 00000115: PUSH4 0x57ded9c9 0000011a: EQ 0000011b: PUSH2 0x0487 0000011e: JUMPI 0000011f: DUP1 00000120: PUSH4 0x594d16f7 00000125: EQ 00000126: PUSH2 0x0482 00000129: JUMPI 0000012a: DUP1 0000012b: PUSH4 0x5c975abb 00000130: EQ 00000131: PUSH2 0x047d 00000134: JUMPI 00000135: DUP1 00000136: PUSH4 0x5f19ed69 0000013b: EQ 0000013c: PUSH2 0x0478 0000013f: JUMPI 00000140: DUP1 00000141: PUSH4 0x618f9694 00000146: EQ 00000147: PUSH2 0x0473 0000014a: JUMPI 0000014b: DUP1 0000014c: PUSH4 0x62518ddf 00000151: EQ 00000152: PUSH2 0x046e 00000155: JUMPI 00000156: DUP1 00000157: PUSH4 0x69c42125 0000015c: EQ 0000015d: PUSH2 0x0469 00000160: JUMPI 00000161: DUP1 00000162: PUSH4 0x6e553f65 00000167: EQ 00000168: PUSH2 0x0464 0000016b: JUMPI 0000016c: DUP1 0000016d: PUSH4 0x70a08231 00000172: EQ 00000173: PUSH2 0x03bf 00000176: JUMPI 00000177: DUP1 00000178: PUSH4 0x715018a6 0000017d: EQ 0000017e: PUSH2 0x045f 00000181: JUMPI 00000182: DUP1 00000183: PUSH4 0x7207fbb4 00000188: EQ 00000189: PUSH2 0x045a 0000018c: JUMPI 0000018d: DUP1 0000018e: PUSH4 0x7224a512 00000193: EQ 00000194: PUSH2 0x0455 00000197: JUMPI 00000198: DUP1 00000199: PUSH4 0x762c31ba 0000019e: EQ 0000019f: PUSH2 0x0450 000001a2: JUMPI 000001a3: DUP1 000001a4: PUSH4 0x77e1731b 000001a9: EQ 000001aa: PUSH2 0x044b 000001ad: JUMPI 000001ae: DUP1 000001af: PUSH4 0x79ba5097 000001b4: EQ 000001b5: PUSH2 0x0446 000001b8: JUMPI 000001b9: DUP1 000001ba: PUSH4 0x7cc4d9a1 000001bf: EQ 000001c0: PUSH2 0x0441 000001c3: JUMPI 000001c4: DUP1 000001c5: PUSH4 0x80a58a5e 000001ca: EQ 000001cb: PUSH2 0x043c 000001ce: JUMPI 000001cf: DUP1 000001d0: PUSH4 0x8456cb59 000001d5: EQ 000001d6: PUSH2 0x0437 000001d9: JUMPI 000001da: DUP1 000001db: PUSH4 0x87788782 000001e0: EQ 000001e1: PUSH2 0x0432 000001e4: JUMPI 000001e5: DUP1 000001e6: PUSH4 0x8a2c7b39 000001eb: EQ 000001ec: PUSH2 0x042d 000001ef: JUMPI 000001f0: DUP1 000001f1: PUSH4 0x8da5cb5b 000001f6: EQ 000001f7: PUSH2 0x0428 000001fa: JUMPI 000001fb: DUP1 000001fc: PUSH4 0x91915ef8 00000201: EQ 00000202: PUSH2 0x0423 00000205: JUMPI 00000206: DUP1 00000207: PUSH4 0x93bd007b 0000020c: EQ 0000020d: PUSH2 0x041e 00000210: JUMPI 00000211: DUP1 00000212: PUSH4 0x94bf804d 00000217: EQ 00000218: PUSH2 0x0419 0000021b: JUMPI 0000021c: DUP1 0000021d: PUSH4 0x95d89b41 00000222: EQ 00000223: PUSH2 0x0414 00000226: JUMPI 00000227: DUP1 00000228: PUSH4 0x988a64c4 0000022d: EQ 0000022e: PUSH2 0x040f 00000231: JUMPI 00000232: DUP1 00000233: PUSH4 0x9d6b4a45 00000238: EQ 00000239: PUSH2 0x040a 0000023c: JUMPI 0000023d: DUP1 0000023e: PUSH4 0xa17b3130 00000243: EQ 00000244: PUSH2 0x0405 00000247: JUMPI 00000248: DUP1 00000249: PUSH4 0xa5f31d61 0000024e: EQ 0000024f: PUSH2 0x0400 00000252: JUMPI 00000253: DUP1 00000254: PUSH4 0xa9059cbb 00000259: EQ 0000025a: PUSH2 0x03fb 0000025d: JUMPI 0000025e: DUP1 0000025f: PUSH4 0xa9133f5e 00000264: EQ 00000265: PUSH2 0x03f6 00000268: JUMPI 00000269: DUP1 0000026a: PUSH4 0xad15a208 0000026f: EQ 00000270: PUSH2 0x03f1 00000273: JUMPI 00000274: DUP1 00000275: PUSH4 0xb192a84a 0000027a: EQ 0000027b: PUSH2 0x03ec 0000027e: JUMPI 0000027f: DUP1 00000280: PUSH4 0xb3d7f6b9 00000285: EQ 00000286: PUSH2 0x03e7 00000289: JUMPI 0000028a: DUP1 0000028b: PUSH4 0xb460af94 00000290: EQ 00000291: PUSH2 0x03e2 00000294: JUMPI 00000295: DUP1 00000296: PUSH4 0xba087652 0000029b: EQ 0000029c: PUSH2 0x03dd 0000029f: JUMPI 000002a0: DUP1 000002a1: PUSH4 0xc63d75b6 000002a6: EQ 000002a7: PUSH2 0x03d8 000002aa: JUMPI 000002ab: DUP1 000002ac: PUSH4 0xc6e6f592 000002b1: EQ 000002b2: PUSH2 0x0392 000002b5: JUMPI 000002b6: DUP1 000002b7: PUSH4 0xc9649aa9 000002bc: EQ 000002bd: PUSH2 0x03d3 000002c0: JUMPI 000002c1: DUP1 000002c2: PUSH4 0xcb3cab67 000002c7: EQ 000002c8: PUSH2 0x03ce 000002cb: JUMPI 000002cc: DUP1 000002cd: PUSH4 0xce96cb77 000002d2: EQ 000002d3: PUSH2 0x03c9 000002d6: JUMPI 000002d7: DUP1 000002d8: PUSH4 0xd33219b4 000002dd: EQ 000002de: PUSH2 0x03c4 000002e1: JUMPI 000002e2: DUP1 000002e3: PUSH4 0xd905777e 000002e8: EQ 000002e9: PUSH2 0x03bf 000002ec: JUMPI 000002ed: DUP1 000002ee: PUSH4 0xda3f224a 000002f3: EQ 000002f4: PUSH2 0x03ba 000002f7: JUMPI 000002f8: DUP1 000002f9: PUSH4 0xdd62ed3e 000002fe: EQ 000002ff: PUSH2 0x03b5 00000302: JUMPI 00000303: DUP1 00000304: PUSH4 0xe30c3978 00000309: EQ 0000030a: PUSH2 0x03b0 0000030d: JUMPI 0000030e: DUP1 0000030f: PUSH4 0xe34c721b 00000314: EQ 00000315: PUSH2 0x03ab 00000318: JUMPI 00000319: DUP1 0000031a: PUSH4 0xe5c6c88d 0000031f: EQ 00000320: PUSH2 0x03a6 00000323: JUMPI 00000324: DUP1 00000325: PUSH4 0xe66f53b7 0000032a: EQ 0000032b: PUSH2 0x03a1 0000032e: JUMPI 0000032f: DUP1 00000330: PUSH4 0xe850bff0 00000335: EQ 00000336: PUSH2 0x039c 00000339: JUMPI 0000033a: DUP1 0000033b: PUSH4 0xe90956cf 00000340: EQ 00000341: PUSH2 0x0397 00000344: JUMPI 00000345: DUP1 00000346: PUSH4 0xef8b30f7 0000034b: EQ 0000034c: PUSH2 0x0392 0000034f: JUMPI 00000350: DUP1 00000351: PUSH4 0xf199a00e 00000356: EQ 00000357: PUSH2 0x038d 0000035a: JUMPI 0000035b: DUP1 0000035c: PUSH4 0xf2fde38b 00000361: EQ 00000362: PUSH2 0x0388 00000365: JUMPI 00000366: DUP1 00000367: PUSH4 0xf6b6a7a4 0000036c: EQ 0000036d: PUSH2 0x0383 00000370: JUMPI 00000371: PUSH4 0xf7d18521 00000376: EQ 00000377: PUSH2 0x037e 0000037a: JUMPI 0000037b: PUSH0 0000037c: DUP1 0000037d: REVERT 0000037e: JUMPDEST 0000037f: PUSH2 0x2b7b 00000382: JUMP 00000383: JUMPDEST 00000384: PUSH2 0x2ada 00000387: JUMP 00000388: JUMPDEST 00000389: PUSH2 0x2a52 0000038c: JUMP 0000038d: JUMPDEST 0000038e: PUSH2 0x2930 00000391: JUMP 00000392: JUMPDEST 00000393: PUSH2 0x2551 00000396: JUMP 00000397: JUMPDEST 00000398: PUSH2 0x28b7 0000039b: JUMP 0000039c: JUMPDEST 0000039d: PUSH2 0x2849 000003a0: JUMP 000003a1: JUMPDEST 000003a2: PUSH2 0x2821 000003a5: JUMP 000003a6: JUMPDEST 000003a7: PUSH2 0x27fb 000003aa: JUMP 000003ab: JUMPDEST 000003ac: PUSH2 0x2764 000003af: JUMP 000003b0: JUMPDEST 000003b1: PUSH2 0x2730 000003b4: JUMP 000003b5: JUMPDEST 000003b6: PUSH2 0x26f0 000003b9: JUMP 000003ba: JUMPDEST 000003bb: PUSH2 0x26a3 000003be: JUMP 000003bf: JUMPDEST 000003c0: PUSH2 0x1421 000003c3: JUMP 000003c4: JUMPDEST 000003c5: PUSH2 0x2686 000003c8: JUMP 000003c9: JUMPDEST 000003ca: PUSH2 0x265f 000003cd: JUMP 000003ce: JUMPDEST 000003cf: PUSH2 0x25e3 000003d2: JUMP 000003d3: JUMPDEST 000003d4: PUSH2 0x256f 000003d7: JUMP 000003d8: JUMPDEST 000003d9: PUSH2 0x252b 000003dc: JUMP 000003dd: JUMPDEST 000003de: PUSH2 0x2410 000003e1: JUMP 000003e2: JUMPDEST 000003e3: PUSH2 0x22db 000003e6: JUMP 000003e7: JUMPDEST 000003e8: PUSH2 0x2294 000003eb: JUMP 000003ec: JUMPDEST 000003ed: PUSH2 0x2208 000003f0: JUMP 000003f1: JUMPDEST 000003f2: PUSH2 0x208e 000003f5: JUMP 000003f6: JUMPDEST 000003f7: PUSH2 0x2027 000003fa: JUMP 000003fb: JUMPDEST 000003fc: PUSH2 0x1ffd 000003ff: JUMP 00000400: JUMPDEST 00000401: PUSH2 0x1fbf 00000404: JUMP 00000405: JUMPDEST 00000406: PUSH2 0x1fa2 00000409: JUMP 0000040a: JUMPDEST 0000040b: PUSH2 0x1ec9 0000040e: JUMP 0000040f: JUMPDEST 00000410: PUSH2 0x1e41 00000413: JUMP 00000414: JUMPDEST 00000415: PUSH2 0x1d84 00000418: JUMP 00000419: JUMPDEST 0000041a: PUSH2 0x1c71 0000041d: JUMP 0000041e: JUMPDEST 0000041f: PUSH2 0x1ba0 00000422: JUMP 00000423: JUMPDEST 00000424: PUSH2 0x1b17 00000427: JUMP 00000428: JUMPDEST 00000429: PUSH2 0x1ae3 0000042c: JUMP 0000042d: JUMPDEST 0000042e: PUSH2 0x1a90 00000431: JUMP 00000432: JUMPDEST 00000433: PUSH2 0x1a6a 00000436: JUMP 00000437: JUMPDEST 00000438: PUSH2 0x19e2 0000043b: JUMP 0000043c: JUMPDEST 0000043d: PUSH2 0x196e 00000440: JUMP 00000441: JUMPDEST 00000442: PUSH2 0x1907 00000445: JUMP 00000446: JUMPDEST 00000447: PUSH2 0x18bb 0000044a: JUMP 0000044b: JUMPDEST 0000044c: PUSH2 0x17d4 0000044f: JUMP 00000450: JUMPDEST 00000451: PUSH2 0x1708 00000454: JUMP 00000455: JUMPDEST 00000456: PUSH2 0x1636 00000459: JUMP 0000045a: JUMPDEST 0000045b: PUSH2 0x14c5 0000045e: JUMP 0000045f: JUMPDEST 00000460: PUSH2 0x1448 00000463: JUMP 00000464: JUMPDEST 00000465: PUSH2 0x12a9 00000468: JUMP 00000469: JUMPDEST 0000046a: PUSH2 0x1283 0000046d: JUMP 0000046e: JUMPDEST 0000046f: PUSH2 0x1224 00000472: JUMP 00000473: JUMPDEST 00000474: PUSH2 0x11e9 00000477: JUMP 00000478: JUMPDEST 00000479: PUSH2 0x10f8 0000047c: JUMP 0000047d: JUMPDEST 0000047e: PUSH2 0x0f62 00000481: JUMP 00000482: JUMPDEST 00000483: PUSH2 0x0f3c 00000486: JUMP 00000487: JUMPDEST 00000488: PUSH2 0x0f22 0000048b: JUMP 0000048c: JUMPDEST 0000048d: PUSH2 0x0ee2 00000490: JUMP 00000491: JUMPDEST 00000492: PUSH2 0x0650 00000495: JUMP 00000496: JUMPDEST 00000497: PUSH2 0x0e5c 0000049a: JUMP 0000049b: JUMPDEST 0000049c: PUSH2 0x0e35 0000049f: JUMP 000004a0: JUMPDEST 000004a1: PUSH2 0x0db8 000004a4: JUMP 000004a5: JUMPDEST 000004a6: PUSH2 0x0c56 000004a9: JUMP 000004aa: JUMPDEST 000004ab: PUSH2 0x0ba2 000004ae: JUMP 000004af: JUMPDEST 000004b0: PUSH2 0x0b3b 000004b3: JUMP 000004b4: JUMPDEST 000004b5: PUSH2 0x0b07 000004b8: JUMP 000004b9: JUMPDEST 000004ba: PUSH2 0x0aea 000004bd: JUMP 000004be: JUMPDEST 000004bf: PUSH2 0x0aad 000004c2: JUMP 000004c3: JUMPDEST 000004c4: PUSH2 0x0a62 000004c7: JUMP 000004c8: JUMPDEST 000004c9: PUSH2 0x09df 000004cc: JUMP 000004cd: JUMPDEST 000004ce: PUSH2 0x099f 000004d1: JUMP 000004d2: JUMPDEST 000004d3: PUSH2 0x0976 000004d6: JUMP 000004d7: JUMPDEST 000004d8: PUSH2 0x07fc 000004db: JUMP 000004dc: JUMPDEST 000004dd: PUSH2 0x07ae 000004e0: JUMP 000004e1: JUMPDEST 000004e2: PUSH2 0x076a 000004e5: JUMP 000004e6: JUMPDEST 000004e7: PUSH2 0x074c 000004ea: JUMP 000004eb: JUMPDEST 000004ec: PUSH2 0x0694 000004ef: JUMP 000004f0: JUMPDEST 000004f1: PUSH2 0x055e 000004f4: JUMP 000004f5: JUMPDEST 000004f6: PUSH2 0x0508 000004f9: JUMP 000004fa: JUMPDEST 000004fb: PUSH0 000004fc: SWAP2 000004fd: SUB 000004fe: SLT 000004ff: PUSH2 0x0504 00000502: JUMPI 00000503: JUMP 00000504: JUMPDEST 00000505: PUSH0 00000506: DUP1 00000507: REVERT 00000508: JUMPDEST 00000509: CALLVALUE 0000050a: PUSH2 0x0504 0000050d: JUMPI 0000050e: PUSH0 0000050f: CALLDATASIZE 00000510: PUSH1 0x03 00000512: NOT 00000513: ADD 00000514: SLT 00000515: PUSH2 0x0504 00000518: JUMPI 00000519: PUSH1 0x20 0000051b: PUSH7 0x2386f26fc10000 00000523: PUSH2 0x052a 00000526: PUSH2 0x3565 00000529: JUMP 0000052a: JUMPDEST 0000052b: POP 0000052c: DIV 0000052d: PUSH1 0x40 0000052f: MLOAD 00000530: SWAP1 00000531: DUP2 00000532: MSTORE 00000533: RETURN 00000534: JUMPDEST 00000535: PUSH1 0x20 00000537: PUSH1 0x40 00000539: SWAP3 0000053a: DUP2 0000053b: DUP4 0000053c: MSTORE 0000053d: DUP1 0000053e: MLOAD 0000053f: SWAP2 00000540: DUP3 00000541: SWAP2 00000542: DUP3 00000543: DUP3 00000544: DUP7 00000545: ADD 00000546: MSTORE 00000547: ADD 00000548: DUP5 00000549: DUP5 0000054a: ADD 0000054b: MCOPY 0000054c: PUSH0 0000054d: DUP3 0000054e: DUP3 0000054f: ADD 00000550: DUP5 00000551: ADD 00000552: MSTORE 00000553: PUSH1 0x1f 00000555: ADD 00000556: PUSH1 0x1f 00000558: NOT 00000559: AND 0000055a: ADD 0000055b: ADD 0000055c: SWAP1 0000055d: JUMP 0000055e: JUMPDEST 0000055f: CALLVALUE 00000560: PUSH2 0x0504 00000563: JUMPI 00000564: PUSH0 00000565: CALLDATASIZE 00000566: PUSH1 0x03 00000568: NOT 00000569: ADD 0000056a: SLT 0000056b: PUSH2 0x0504 0000056e: JUMPI 0000056f: PUSH1 0x40 00000571: MLOAD 00000572: PUSH0 00000573: PUSH0 00000574: MLOAD 00000575: PUSH1 0x20 00000577: PUSH2 0x4753 0000057a: PUSH0 0000057b: CODECOPY 0000057c: PUSH0 0000057d: MLOAD 0000057e: SWAP1 0000057f: PUSH0 00000580: MSTORE 00000581: SLOAD 00000582: PUSH2 0x058a 00000585: DUP2 00000586: PUSH2 0x2c0c 00000589: JUMP 0000058a: JUMPDEST 0000058b: DUP1 0000058c: DUP5 0000058d: MSTORE 0000058e: SWAP1 0000058f: PUSH1 0x01 00000591: DUP2 00000592: AND 00000593: SWAP1 00000594: DUP2 00000595: ISZERO 00000596: PUSH2 0x062c 00000599: JUMPI 0000059a: POP 0000059b: PUSH1 0x01 0000059d: EQ 0000059e: PUSH2 0x05c2 000005a1: JUMPI 000005a2: JUMPDEST 000005a3: PUSH2 0x05be 000005a6: DUP4 000005a7: PUSH2 0x05b2 000005aa: DUP2 000005ab: DUP6 000005ac: SUB 000005ad: DUP3 000005ae: PUSH2 0x0ce6 000005b1: JUMP 000005b2: JUMPDEST 000005b3: PUSH1 0x40 000005b5: MLOAD 000005b6: SWAP2 000005b7: DUP3 000005b8: SWAP2 000005b9: DUP3 000005ba: PUSH2 0x0534 000005bd: JUMP 000005be: JUMPDEST 000005bf: SUB 000005c0: SWAP1 000005c1: RETURN 000005c2: JUMPDEST 000005c3: PUSH0 000005c4: MLOAD 000005c5: PUSH1 0x20 000005c7: PUSH2 0x4753 000005ca: PUSH0 000005cb: CODECOPY 000005cc: PUSH0 000005cd: MLOAD 000005ce: SWAP1 000005cf: PUSH0 000005d0: MSTORE 000005d1: PUSH0 000005d2: SWAP1 000005d3: DUP2 000005d4: MSTORE 000005d5: PUSH32 0x2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0 000005f6: SWAP4 000005f7: SWAP3 000005f8: POP 000005f9: SWAP1 000005fa: JUMPDEST 000005fb: DUP1 000005fc: DUP3 000005fd: LT 000005fe: PUSH2 0x0612 00000601: JUMPI 00000602: POP 00000603: SWAP1 00000604: SWAP2 00000605: POP 00000606: DUP2 00000607: ADD 00000608: PUSH1 0x20 0000060a: ADD 0000060b: PUSH2 0x05b2 0000060e: PUSH2 0x05a2 00000611: JUMP 00000612: JUMPDEST 00000613: SWAP2 00000614: SWAP3 00000615: PUSH1 0x01 00000617: DUP2 00000618: PUSH1 0x20 0000061a: SWAP3 0000061b: SLOAD 0000061c: DUP4 0000061d: DUP6 0000061e: DUP9 0000061f: ADD 00000620: ADD 00000621: MSTORE 00000622: ADD 00000623: SWAP2 00000624: ADD 00000625: SWAP1 00000626: SWAP3 00000627: SWAP2 00000628: PUSH2 0x05fa 0000062b: JUMP 0000062c: JUMPDEST 0000062d: PUSH1 0xff 0000062f: NOT 00000630: AND 00000631: PUSH1 0x20 00000633: DUP1 00000634: DUP7 00000635: ADD 00000636: SWAP2 00000637: SWAP1 00000638: SWAP2 00000639: MSTORE 0000063a: SWAP2 0000063b: ISZERO 0000063c: ISZERO 0000063d: PUSH1 0x05 0000063f: SHL 00000640: DUP5 00000641: ADD 00000642: SWAP1 00000643: SWAP2 00000644: ADD 00000645: SWAP2 00000646: POP 00000647: PUSH2 0x05b2 0000064a: SWAP1 0000064b: POP 0000064c: PUSH2 0x05a2 0000064f: JUMP 00000650: JUMPDEST 00000651: CALLVALUE 00000652: PUSH2 0x0504 00000655: JUMPI 00000656: PUSH1 0x20 00000658: CALLDATASIZE 00000659: PUSH1 0x03 0000065b: NOT 0000065c: ADD 0000065d: SLT 0000065e: PUSH2 0x0504 00000661: JUMPI 00000662: PUSH1 0x20 00000664: PUSH2 0x066e 00000667: PUSH1 0x04 00000669: CALLDATALOAD 0000066a: PUSH2 0x36b9 0000066d: JUMP 0000066e: JUMPDEST 0000066f: PUSH1 0x40 00000671: MLOAD 00000672: SWAP1 00000673: DUP2 00000674: MSTORE 00000675: RETURN 00000676: JUMPDEST 00000677: PUSH1 0x01 00000679: PUSH1 0x01 0000067b: PUSH1 0xa0 0000067d: SHL 0000067e: SUB 0000067f: DUP2 00000680: AND 00000681: SUB 00000682: PUSH2 0x0504 00000685: JUMPI 00000686: JUMP 00000687: JUMPDEST 00000688: CALLDATALOAD 00000689: SWAP1 0000068a: PUSH2 0x0692 0000068d: DUP3 0000068e: PUSH2 0x0676 00000691: JUMP 00000692: JUMPDEST 00000693: JUMP 00000694: JUMPDEST 00000695: CALLVALUE 00000696: PUSH2 0x0504 00000699: JUMPI 0000069a: PUSH1 0x40 0000069c: CALLDATASIZE 0000069d: PUSH1 0x03 0000069f: NOT 000006a0: ADD 000006a1: SLT 000006a2: PUSH2 0x0504 000006a5: JUMPI 000006a6: PUSH1 0x04 000006a8: CALLDATALOAD 000006a9: PUSH2 0x06b1 000006ac: DUP2 000006ad: PUSH2 0x0676 000006b0: JUMP 000006b1: JUMPDEST 000006b2: PUSH1 0x24 000006b4: CALLDATALOAD 000006b5: CALLER 000006b6: ISZERO 000006b7: PUSH2 0x0739 000006ba: JUMPI 000006bb: PUSH1 0x01 000006bd: PUSH1 0x01 000006bf: PUSH1 0xa0 000006c1: SHL 000006c2: SUB 000006c3: DUP3 000006c4: AND 000006c5: SWAP2 000006c6: DUP3 000006c7: ISZERO 000006c8: PUSH2 0x0726 000006cb: JUMPI 000006cc: PUSH2 0x06ee 000006cf: DUP3 000006d0: SWAP2 000006d1: PUSH2 0x06d9 000006d4: CALLER 000006d5: PUSH2 0x2c44 000006d8: JUMP 000006d9: JUMPDEST 000006da: SWAP1 000006db: PUSH1 0x01 000006dd: DUP1 000006de: PUSH1 0xa0 000006e0: SHL 000006e1: SUB 000006e2: AND 000006e3: PUSH0 000006e4: MSTORE 000006e5: PUSH1 0x20 000006e7: MSTORE 000006e8: PUSH1 0x40 000006ea: PUSH0 000006eb: KECCAK256 000006ec: SWAP1 000006ed: JUMP 000006ee: JUMPDEST 000006ef: SSTORE 000006f0: PUSH1 0x40 000006f2: MLOAD 000006f3: SWAP1 000006f4: DUP2 000006f5: MSTORE 000006f6: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 00000717: PUSH1 0x20 00000719: CALLER 0000071a: SWAP3 0000071b: LOG3 0000071c: PUSH1 0x20 0000071e: PUSH1 0x40 00000720: MLOAD 00000721: PUSH1 0x01 00000723: DUP2 00000724: MSTORE 00000725: RETURN 00000726: JUMPDEST 00000727: PUSH4 0x4a1406b1 0000072c: PUSH1 0xe1 0000072e: SHL 0000072f: PUSH0 00000730: MSTORE 00000731: PUSH0 00000732: PUSH1 0x04 00000734: MSTORE 00000735: PUSH1 0x24 00000737: PUSH0 00000738: REVERT 00000739: JUMPDEST 0000073a: PUSH4 0xe602df05 0000073f: PUSH1 0xe0 00000741: SHL 00000742: PUSH0 00000743: MSTORE 00000744: PUSH0 00000745: PUSH1 0x04 00000747: MSTORE 00000748: PUSH1 0x24 0000074a: PUSH0 0000074b: REVERT 0000074c: JUMPDEST 0000074d: CALLVALUE 0000074e: PUSH2 0x0504 00000751: JUMPI 00000752: PUSH1 0x20 00000754: CALLDATASIZE 00000755: PUSH1 0x03 00000757: NOT 00000758: ADD 00000759: SLT 0000075a: PUSH2 0x0504 0000075d: JUMPI 0000075e: PUSH1 0x20 00000760: PUSH2 0x066e 00000763: PUSH1 0x04 00000765: CALLDATALOAD 00000766: PUSH2 0x3740 00000769: JUMP 0000076a: JUMPDEST 0000076b: CALLVALUE 0000076c: PUSH2 0x0504 0000076f: JUMPI 00000770: PUSH0 00000771: CALLDATASIZE 00000772: PUSH1 0x03 00000774: NOT 00000775: ADD 00000776: SLT 00000777: PUSH2 0x0504 0000077a: JUMPI 0000077b: PUSH1 0x40 0000077d: MLOAD 0000077e: PUSH32 0x00000000000000000000000025afa58ba32bec9daa32ba7f6a1cd0941b699310 0000079f: PUSH1 0x01 000007a1: PUSH1 0x01 000007a3: PUSH1 0xa0 000007a5: SHL 000007a6: SUB 000007a7: AND 000007a8: DUP2 000007a9: MSTORE 000007aa: PUSH1 0x20 000007ac: SWAP1 000007ad: RETURN 000007ae: JUMPDEST 000007af: CALLVALUE 000007b0: PUSH2 0x0504 000007b3: JUMPI 000007b4: PUSH0 000007b5: CALLDATASIZE 000007b6: PUSH1 0x03 000007b8: NOT 000007b9: ADD 000007ba: SLT 000007bb: PUSH2 0x0504 000007be: JUMPI 000007bf: PUSH1 0x20 000007c1: PUSH1 0x01 000007c3: PUSH1 0x01 000007c5: PUSH1 0x40 000007c7: SHL 000007c8: SUB 000007c9: PUSH1 0x0e 000007cb: SLOAD 000007cc: AND 000007cd: PUSH1 0x40 000007cf: MLOAD 000007d0: SWAP1 000007d1: DUP2 000007d2: MSTORE 000007d3: RETURN 000007d4: JUMPDEST 000007d5: PUSH1 0x40 000007d7: SWAP1 000007d8: PUSH1 0x03 000007da: NOT 000007db: ADD 000007dc: SLT 000007dd: PUSH2 0x0504 000007e0: JUMPI 000007e1: PUSH1 0x04 000007e3: CALLDATALOAD 000007e4: PUSH2 0x07ec 000007e7: DUP2 000007e8: PUSH2 0x0676 000007eb: JUMP 000007ec: JUMPDEST 000007ed: SWAP1 000007ee: PUSH1 0x24 000007f0: CALLDATALOAD 000007f1: DUP1 000007f2: ISZERO 000007f3: ISZERO 000007f4: DUP2 000007f5: SUB 000007f6: PUSH2 0x0504 000007f9: JUMPI 000007fa: SWAP1 000007fb: JUMP 000007fc: JUMPDEST 000007fd: CALLVALUE 000007fe: PUSH2 0x0504 00000801: JUMPI 00000802: PUSH2 0x080a 00000805: CALLDATASIZE 00000806: PUSH2 0x07d4 00000809: JUMP 0000080a: JUMPDEST 0000080b: PUSH1 0x01 0000080d: SLOAD 0000080e: PUSH1 0x01 00000810: PUSH1 0x01 00000812: PUSH1 0xa0 00000814: SHL 00000815: SUB 00000816: AND 00000817: CALLER 00000818: EQ 00000819: ISZERO 0000081a: DUP1 0000081b: PUSH2 0x0955 0000081e: JUMPI 0000081f: JUMPDEST 00000820: PUSH2 0x0946 00000823: JUMPI 00000824: PUSH1 0x01 00000826: PUSH1 0x01 00000828: PUSH1 0xa0 0000082a: SHL 0000082b: SUB 0000082c: DUP3 0000082d: AND 0000082e: PUSH0 0000082f: SWAP1 00000830: DUP2 00000831: MSTORE 00000832: PUSH1 0x03 00000834: PUSH1 0x20 00000836: MSTORE 00000837: PUSH1 0x40 00000839: SWAP1 0000083a: KECCAK256 0000083b: PUSH2 0x0846 0000083e: SWAP1 0000083f: JUMPDEST 00000840: SLOAD 00000841: PUSH1 0xff 00000843: AND 00000844: SWAP1 00000845: JUMP 00000846: JUMPDEST 00000847: DUP1 00000848: PUSH2 0x093f 0000084b: JUMPI 0000084c: JUMPDEST 0000084d: PUSH2 0x0930 00000850: JUMPI 00000851: PUSH1 0x01 00000853: PUSH1 0x01 00000855: PUSH1 0xa0 00000857: SHL 00000858: SUB 00000859: DUP3 0000085a: AND 0000085b: PUSH0 0000085c: SWAP1 0000085d: DUP2 0000085e: MSTORE 0000085f: PUSH1 0x04 00000861: PUSH1 0x20 00000863: MSTORE 00000864: PUSH1 0x40 00000866: SWAP1 00000867: KECCAK256 00000868: PUSH1 0x01 0000086a: PUSH1 0x01 0000086c: PUSH1 0x40 0000086e: SHL 0000086f: SUB 00000870: SWAP1 00000871: PUSH2 0x087c 00000874: SWAP1 00000875: JUMPDEST 00000876: SLOAD 00000877: PUSH1 0xc0 00000879: SHR 0000087a: SWAP1 0000087b: JUMP 0000087c: JUMPDEST 0000087d: AND 0000087e: PUSH2 0x0921 00000881: JUMPI 00000882: DUP1 00000883: PUSH2 0x0891 00000886: JUMPI 00000887: PUSH2 0x088f 0000088a: SWAP2 0000088b: PUSH2 0x3864 0000088e: JUMP 0000088f: JUMPDEST 00000890: STOP 00000891: JUMPDEST 00000892: POP 00000893: PUSH1 0x01 00000895: PUSH1 0x01 00000897: PUSH1 0xa0 00000899: SHL 0000089a: SUB 0000089b: DUP2 0000089c: AND 0000089d: PUSH0 0000089e: SWAP1 0000089f: DUP2 000008a0: MSTORE 000008a1: PUSH1 0x04 000008a3: PUSH1 0x20 000008a5: MSTORE 000008a6: PUSH1 0x40 000008a8: SWAP1 000008a9: KECCAK256 000008aa: PUSH1 0x08 000008ac: SLOAD 000008ad: PUSH2 0x08b5 000008b0: SWAP2 000008b1: PUSH2 0x37c7 000008b4: JUMP 000008b5: JUMPDEST 000008b6: PUSH32 0x24c5ea3dd9a5ba11b8a603674e63d62accaa480c1b05d18de5861f3894868d79 000008d7: PUSH2 0x091c 000008da: PUSH2 0x08f6 000008dd: PUSH2 0x0875 000008e0: DUP5 000008e1: PUSH1 0x01 000008e3: DUP1 000008e4: PUSH1 0xa0 000008e6: SHL 000008e7: SUB 000008e8: AND 000008e9: PUSH0 000008ea: MSTORE 000008eb: PUSH1 0x04 000008ed: PUSH1 0x20 000008ef: MSTORE 000008f0: PUSH1 0x40 000008f2: PUSH0 000008f3: KECCAK256 000008f4: SWAP1 000008f5: JUMP 000008f6: JUMPDEST 000008f7: PUSH1 0x40 000008f9: MLOAD 000008fa: PUSH1 0x01 000008fc: PUSH1 0x01 000008fe: PUSH1 0x40 00000900: SHL 00000901: SUB 00000902: SWAP1 00000903: SWAP2 00000904: AND 00000905: DUP2 00000906: MSTORE 00000907: PUSH1 0x01 00000909: PUSH1 0x01 0000090b: PUSH1 0xa0 0000090d: SHL 0000090e: SUB 0000090f: SWAP1 00000910: SWAP4 00000911: AND 00000912: SWAP3 00000913: SWAP1 00000914: DUP2 00000915: SWAP1 00000916: PUSH1 0x20 00000918: DUP3 00000919: ADD 0000091a: SWAP1 0000091b: JUMP 0000091c: JUMPDEST 0000091d: SUB 0000091e: SWAP1 0000091f: LOG2 00000920: STOP 00000921: JUMPDEST 00000922: PUSH4 0x24d90267 00000927: PUSH1 0xe1 00000929: SHL 0000092a: PUSH0 0000092b: MSTORE 0000092c: PUSH1 0x04 0000092e: PUSH0 0000092f: REVERT 00000930: JUMPDEST 00000931: PUSH4 0xa741a045 00000936: PUSH1 0xe0 00000938: SHL 00000939: PUSH0 0000093a: MSTORE 0000093b: PUSH1 0x04 0000093d: PUSH0 0000093e: REVERT 0000093f: JUMPDEST 00000940: POP 00000941: DUP1 00000942: PUSH2 0x084c 00000945: JUMP 00000946: JUMPDEST 00000947: PUSH4 0x32a2673b 0000094c: PUSH1 0xe2 0000094e: SHL 0000094f: PUSH0 00000950: MSTORE 00000951: PUSH1 0x04 00000953: PUSH0 00000954: REVERT 00000955: JUMPDEST 00000956: POP 00000957: PUSH0 00000958: MLOAD 00000959: PUSH1 0x20 0000095b: PUSH2 0x4793 0000095e: PUSH0 0000095f: CODECOPY 00000960: PUSH0 00000961: MLOAD 00000962: SWAP1 00000963: PUSH0 00000964: MSTORE 00000965: SLOAD 00000966: PUSH1 0x01 00000968: PUSH1 0x01 0000096a: PUSH1 0xa0 0000096c: SHL 0000096d: SUB 0000096e: AND 0000096f: CALLER 00000970: EQ 00000971: ISZERO 00000972: PUSH2 0x081f 00000975: JUMP 00000976: JUMPDEST 00000977: CALLVALUE 00000978: PUSH2 0x0504 0000097b: JUMPI 0000097c: PUSH0 0000097d: CALLDATASIZE 0000097e: PUSH1 0x03 00000980: NOT 00000981: ADD 00000982: SLT 00000983: PUSH2 0x0504 00000986: JUMPI 00000987: PUSH1 0x20 00000989: PUSH0 0000098a: MLOAD 0000098b: PUSH1 0x20 0000098d: PUSH2 0x47b3 00000990: PUSH0 00000991: CODECOPY 00000992: PUSH0 00000993: MLOAD 00000994: SWAP1 00000995: PUSH0 00000996: MSTORE 00000997: SLOAD 00000998: PUSH1 0x40 0000099a: MLOAD 0000099b: SWAP1 0000099c: DUP2 0000099d: MSTORE 0000099e: RETURN 0000099f: JUMPDEST 000009a0: CALLVALUE 000009a1: PUSH2 0x0504 000009a4: JUMPI 000009a5: PUSH1 0x20 000009a7: CALLDATASIZE 000009a8: PUSH1 0x03 000009aa: NOT 000009ab: ADD 000009ac: SLT 000009ad: PUSH2 0x0504 000009b0: JUMPI 000009b1: PUSH1 0x04 000009b3: CALLDATALOAD 000009b4: PUSH2 0x09bc 000009b7: DUP2 000009b8: PUSH2 0x0676 000009bb: JUMP 000009bc: JUMPDEST 000009bd: PUSH1 0x01 000009bf: DUP1 000009c0: PUSH1 0xa0 000009c2: SHL 000009c3: SUB 000009c4: AND 000009c5: PUSH0 000009c6: MSTORE 000009c7: PUSH1 0x03 000009c9: PUSH1 0x20 000009cb: MSTORE 000009cc: PUSH1 0x20 000009ce: PUSH1 0xff 000009d0: PUSH1 0x40 000009d2: PUSH0 000009d3: KECCAK256 000009d4: SLOAD 000009d5: AND 000009d6: PUSH1 0x40 000009d8: MLOAD 000009d9: SWAP1 000009da: ISZERO 000009db: ISZERO 000009dc: DUP2 000009dd: MSTORE 000009de: RETURN 000009df: JUMPDEST 000009e0: CALLVALUE 000009e1: PUSH2 0x0504 000009e4: JUMPI 000009e5: PUSH0 000009e6: CALLDATASIZE 000009e7: PUSH1 0x03 000009e9: NOT 000009ea: ADD 000009eb: SLT 000009ec: PUSH2 0x0504 000009ef: JUMPI 000009f0: PUSH0 000009f1: SLOAD 000009f2: PUSH1 0x01 000009f4: PUSH1 0x01 000009f6: PUSH1 0xa0 000009f8: SHL 000009f9: SUB 000009fa: AND 000009fb: CALLER 000009fc: EQ 000009fd: ISZERO 000009fe: DUP1 000009ff: PUSH2 0x0a41 00000a02: JUMPI 00000a03: JUMPDEST 00000a04: PUSH2 0x0a32 00000a07: JUMPI 00000a08: PUSH0 00000a09: PUSH1 0x07 00000a0b: SSTORE 00000a0c: CALLER 00000a0d: PUSH32 0xc40a085ccfa20f5fd518ade5c3a77a7ecbdfbb4c75efcdca6146a8e3c841d663 00000a2e: PUSH0 00000a2f: DUP1 00000a30: LOG2 00000a31: STOP 00000a32: JUMPDEST 00000a33: PUSH4 0x7cf97e4d 00000a38: PUSH1 0xe1 00000a3a: SHL 00000a3b: PUSH0 00000a3c: MSTORE 00000a3d: PUSH1 0x04 00000a3f: PUSH0 00000a40: REVERT 00000a41: JUMPDEST 00000a42: POP 00000a43: PUSH0 00000a44: MLOAD 00000a45: PUSH1 0x20 00000a47: PUSH2 0x4793 00000a4a: PUSH0 00000a4b: CODECOPY 00000a4c: PUSH0 00000a4d: MLOAD 00000a4e: SWAP1 00000a4f: PUSH0 00000a50: MSTORE 00000a51: SLOAD 00000a52: PUSH1 0x01 00000a54: PUSH1 0x01 00000a56: PUSH1 0xa0 00000a58: SHL 00000a59: SUB 00000a5a: AND 00000a5b: CALLER 00000a5c: EQ 00000a5d: ISZERO 00000a5e: PUSH2 0x0a03 00000a61: JUMP 00000a62: JUMPDEST 00000a63: CALLVALUE 00000a64: PUSH2 0x0504 00000a67: JUMPI 00000a68: PUSH1 0x60 00000a6a: CALLDATASIZE 00000a6b: PUSH1 0x03 00000a6d: NOT 00000a6e: ADD 00000a6f: SLT 00000a70: PUSH2 0x0504 00000a73: JUMPI 00000a74: PUSH2 0x0aa2 00000a77: PUSH1 0x04 00000a79: CALLDATALOAD 00000a7a: PUSH2 0x0a82 00000a7d: DUP2 00000a7e: PUSH2 0x0676 00000a81: JUMP 00000a82: JUMPDEST 00000a83: PUSH1 0x24 00000a85: CALLDATALOAD 00000a86: PUSH2 0x0a8e 00000a89: DUP2 00000a8a: PUSH2 0x0676 00000a8d: JUMP 00000a8e: JUMPDEST 00000a8f: PUSH1 0x44 00000a91: CALLDATALOAD 00000a92: SWAP2 00000a93: PUSH2 0x0a9d 00000a96: DUP4 00000a97: CALLER 00000a98: DUP4 00000a99: PUSH2 0x38c9 00000a9c: JUMP 00000a9d: JUMPDEST 00000a9e: PUSH2 0x3947 00000aa1: JUMP 00000aa2: JUMPDEST 00000aa3: PUSH1 0x20 00000aa5: PUSH1 0x40 00000aa7: MLOAD 00000aa8: PUSH1 0x01 00000aaa: DUP2 00000aab: MSTORE 00000aac: RETURN 00000aad: JUMPDEST 00000aae: CALLVALUE 00000aaf: PUSH2 0x0504 00000ab2: JUMPI 00000ab3: PUSH0 00000ab4: CALLDATASIZE 00000ab5: PUSH1 0x03 00000ab7: NOT 00000ab8: ADD 00000ab9: SLT 00000aba: PUSH2 0x0504 00000abd: JUMPI 00000abe: PUSH1 0xff 00000ac0: PUSH0 00000ac1: MLOAD 00000ac2: PUSH1 0x20 00000ac4: PUSH2 0x47d3 00000ac7: PUSH0 00000ac8: CODECOPY 00000ac9: PUSH0 00000aca: MLOAD 00000acb: SWAP1 00000acc: PUSH0 00000acd: MSTORE 00000ace: SLOAD 00000acf: PUSH1 0xa0 00000ad1: SHR 00000ad2: AND 00000ad3: PUSH1 0xff 00000ad5: DUP2 00000ad6: GT 00000ad7: PUSH2 0x0ae5 00000ada: JUMPI 00000adb: PUSH1 0x20 00000add: SWAP1 00000ade: PUSH1 0x40 00000ae0: MLOAD 00000ae1: SWAP1 00000ae2: DUP2 00000ae3: MSTORE 00000ae4: RETURN 00000ae5: JUMPDEST 00000ae6: PUSH2 0x2be9 00000ae9: JUMP 00000aea: JUMPDEST 00000aeb: CALLVALUE 00000aec: PUSH2 0x0504 00000aef: JUMPI 00000af0: PUSH0 00000af1: CALLDATASIZE 00000af2: PUSH1 0x03 00000af4: NOT 00000af5: ADD 00000af6: SLT 00000af7: PUSH2 0x0504 00000afa: JUMPI 00000afb: PUSH1 0x20 00000afd: PUSH1 0x10 00000aff: SLOAD 00000b00: PUSH1 0x40 00000b02: MLOAD 00000b03: SWAP1 00000b04: DUP2 00000b05: MSTORE 00000b06: RETURN 00000b07: JUMPDEST 00000b08: CALLVALUE 00000b09: PUSH2 0x0504 00000b0c: JUMPI 00000b0d: PUSH0 00000b0e: CALLDATASIZE 00000b0f: PUSH1 0x03 00000b11: NOT 00000b12: ADD 00000b13: SLT 00000b14: PUSH2 0x0504 00000b17: JUMPI 00000b18: PUSH0 00000b19: MLOAD 00000b1a: PUSH1 0x20 00000b1c: PUSH2 0x47d3 00000b1f: PUSH0 00000b20: CODECOPY 00000b21: PUSH0 00000b22: MLOAD 00000b23: SWAP1 00000b24: PUSH0 00000b25: MSTORE 00000b26: SLOAD 00000b27: PUSH1 0x40 00000b29: MLOAD 00000b2a: PUSH1 0x01 00000b2c: PUSH1 0x01 00000b2e: PUSH1 0xa0 00000b30: SHL 00000b31: SUB 00000b32: SWAP1 00000b33: SWAP2 00000b34: AND 00000b35: DUP2 00000b36: MSTORE 00000b37: PUSH1 0x20 00000b39: SWAP1 00000b3a: RETURN 00000b3b: JUMPDEST 00000b3c: CALLVALUE 00000b3d: PUSH2 0x0504 00000b40: JUMPI 00000b41: PUSH0 00000b42: CALLDATASIZE 00000b43: PUSH1 0x03 00000b45: NOT 00000b46: ADD 00000b47: SLT 00000b48: PUSH2 0x0504 00000b4b: JUMPI 00000b4c: PUSH2 0x0b53 00000b4f: PUSH2 0x2cb4 00000b52: JUMP 00000b53: JUMPDEST 00000b54: POP 00000b55: PUSH2 0x05be 00000b58: PUSH1 0x40 00000b5a: MLOAD 00000b5b: PUSH2 0x0b63 00000b5e: DUP2 00000b5f: PUSH2 0x0cb0 00000b62: JUMP 00000b63: JUMPDEST 00000b64: PUSH1 0x06 00000b66: SLOAD 00000b67: PUSH1 0x01 00000b69: PUSH1 0x01 00000b6b: PUSH1 0xc0 00000b6d: SHL 00000b6e: SUB 00000b6f: DUP2 00000b70: AND 00000b71: DUP1 00000b72: DUP4 00000b73: MSTORE 00000b74: PUSH1 0xc0 00000b76: SWAP2 00000b77: SWAP1 00000b78: SWAP2 00000b79: SHR 00000b7a: PUSH1 0x20 00000b7c: SWAP3 00000b7d: DUP4 00000b7e: ADD 00000b7f: SWAP1 00000b80: DUP2 00000b81: MSTORE 00000b82: PUSH1 0x40 00000b84: DUP1 00000b85: MLOAD 00000b86: SWAP3 00000b87: DUP4 00000b88: MSTORE 00000b89: SWAP1 00000b8a: MLOAD 00000b8b: PUSH1 0x01 00000b8d: PUSH1 0x01 00000b8f: PUSH1 0x40 00000b91: SHL 00000b92: SUB 00000b93: AND 00000b94: SWAP3 00000b95: DUP3 00000b96: ADD 00000b97: SWAP3 00000b98: SWAP1 00000b99: SWAP3 00000b9a: MSTORE 00000b9b: SWAP2 00000b9c: DUP3 00000b9d: SWAP2 00000b9e: DUP3 00000b9f: ADD 00000ba0: SWAP1 00000ba1: JUMP 00000ba2: JUMPDEST 00000ba3: CALLVALUE 00000ba4: PUSH2 0x0504 00000ba7: JUMPI 00000ba8: PUSH0 00000ba9: CALLDATASIZE 00000baa: PUSH1 0x03 00000bac: NOT 00000bad: ADD 00000bae: SLT 00000baf: PUSH2 0x0504 00000bb2: JUMPI 00000bb3: PUSH2 0x0bba 00000bb6: PUSH2 0x3a11 00000bb9: JUMP 00000bba: JUMPDEST 00000bbb: PUSH2 0x0bc2 00000bbe: PUSH2 0x3a31 00000bc1: JUMP 00000bc2: JUMPDEST 00000bc3: PUSH0 00000bc4: JUMPDEST 00000bc5: PUSH1 0x0f 00000bc7: SLOAD 00000bc8: DUP2 00000bc9: LT 00000bca: ISZERO 00000bcb: PUSH2 0x088f 00000bce: JUMPI 00000bcf: PUSH2 0x0c01 00000bd2: PUSH2 0x0bf5 00000bd5: PUSH2 0x0bf5 00000bd8: PUSH2 0x0be0 00000bdb: DUP5 00000bdc: PUSH2 0x2ce0 00000bdf: JUMP 00000be0: JUMPDEST 00000be1: SWAP1 00000be2: SLOAD 00000be3: PUSH1 0x03 00000be5: SWAP2 00000be6: SWAP1 00000be7: SWAP2 00000be8: SHL 00000be9: SHR 00000bea: PUSH1 0x01 00000bec: PUSH1 0x01 00000bee: PUSH1 0xa0 00000bf0: SHL 00000bf1: SUB 00000bf2: AND 00000bf3: SWAP1 00000bf4: JUMP 00000bf5: JUMPDEST 00000bf6: PUSH1 0x01 00000bf8: PUSH1 0x01 00000bfa: PUSH1 0xa0 00000bfc: SHL 00000bfd: SUB 00000bfe: AND 00000bff: SWAP1 00000c00: JUMP 00000c01: JUMPDEST 00000c02: SWAP1 00000c03: DUP2 00000c04: EXTCODESIZE 00000c05: ISZERO 00000c06: PUSH2 0x0504 00000c09: JUMPI 00000c0a: PUSH0 00000c0b: DUP1 00000c0c: SWAP3 00000c0d: PUSH1 0x04 00000c0f: PUSH1 0x40 00000c11: MLOAD 00000c12: DUP1 00000c13: SWAP6 00000c14: DUP2 00000c15: SWAP4 00000c16: PUSH4 0x1fa5d41d 00000c1b: PUSH1 0xe1 00000c1d: SHL 00000c1e: DUP4 00000c1f: MSTORE 00000c20: GAS 00000c21: CALL 00000c22: SWAP2 00000c23: DUP3 00000c24: ISZERO 00000c25: PUSH2 0x0c51 00000c28: JUMPI 00000c29: PUSH1 0x01 00000c2b: SWAP3 00000c2c: PUSH2 0x0c37 00000c2f: JUMPI 00000c30: JUMPDEST 00000c31: POP 00000c32: ADD 00000c33: PUSH2 0x0bc4 00000c36: JUMP 00000c37: JUMPDEST 00000c38: DUP1 00000c39: PUSH2 0x0c45 00000c3c: PUSH0 00000c3d: PUSH2 0x0c4b 00000c40: SWAP4 00000c41: PUSH2 0x0ce6 00000c44: JUMP 00000c45: JUMPDEST 00000c46: DUP1 00000c47: PUSH2 0x04fa 00000c4a: JUMP 00000c4b: JUMPDEST 00000c4c: PUSH0 00000c4d: PUSH2 0x0c30 00000c50: JUMP 00000c51: JUMPDEST 00000c52: PUSH2 0x2d10 00000c55: JUMP 00000c56: JUMPDEST 00000c57: CALLVALUE 00000c58: PUSH2 0x0504 00000c5b: JUMPI 00000c5c: PUSH1 0x20 00000c5e: CALLDATASIZE 00000c5f: PUSH1 0x03 00000c61: NOT 00000c62: ADD 00000c63: SLT 00000c64: PUSH2 0x0504 00000c67: JUMPI 00000c68: PUSH2 0x0c72 00000c6b: PUSH1 0x04 00000c6d: CALLDATALOAD 00000c6e: PUSH2 0x0676 00000c71: JUMP 00000c72: JUMPDEST 00000c73: PUSH1 0x20 00000c75: PUSH2 0x066e 00000c78: PUSH2 0x2d28 00000c7b: JUMP 00000c7c: JUMPDEST 00000c7d: PUSH4 0x4e487b71 00000c82: PUSH1 0xe0 00000c84: SHL 00000c85: PUSH0 00000c86: MSTORE 00000c87: PUSH1 0x41 00000c89: PUSH1 0x04 00000c8b: MSTORE 00000c8c: PUSH1 0x24 00000c8e: PUSH0 00000c8f: REVERT 00000c90: JUMPDEST 00000c91: PUSH1 0x60 00000c93: DUP2 00000c94: ADD 00000c95: SWAP1 00000c96: DUP2 00000c97: LT 00000c98: PUSH1 0x01 00000c9a: PUSH1 0x01 00000c9c: PUSH1 0x40 00000c9e: SHL 00000c9f: SUB 00000ca0: DUP3 00000ca1: GT 00000ca2: OR 00000ca3: PUSH2 0x0cab 00000ca6: JUMPI 00000ca7: PUSH1 0x40 00000ca9: MSTORE 00000caa: JUMP 00000cab: JUMPDEST 00000cac: PUSH2 0x0c7c 00000caf: JUMP 00000cb0: JUMPDEST 00000cb1: PUSH1 0x40 00000cb3: DUP2 00000cb4: ADD 00000cb5: SWAP1 00000cb6: DUP2 00000cb7: LT 00000cb8: PUSH1 0x01 00000cba: PUSH1 0x01 00000cbc: PUSH1 0x40 00000cbe: SHL 00000cbf: SUB 00000cc0: DUP3 00000cc1: GT 00000cc2: OR 00000cc3: PUSH2 0x0cab 00000cc6: JUMPI 00000cc7: PUSH1 0x40 00000cc9: MSTORE 00000cca: JUMP 00000ccb: JUMPDEST 00000ccc: PUSH1 0xa0 00000cce: DUP2 00000ccf: ADD 00000cd0: SWAP1 00000cd1: DUP2 00000cd2: LT 00000cd3: PUSH1 0x01 00000cd5: PUSH1 0x01 00000cd7: PUSH1 0x40 00000cd9: SHL 00000cda: SUB 00000cdb: DUP3 00000cdc: GT 00000cdd: OR 00000cde: PUSH2 0x0cab 00000ce1: JUMPI 00000ce2: PUSH1 0x40 00000ce4: MSTORE 00000ce5: JUMP 00000ce6: JUMPDEST 00000ce7: SWAP1 00000ce8: PUSH1 0x1f 00000cea: DUP1 00000ceb: NOT 00000cec: SWAP2 00000ced: ADD 00000cee: AND 00000cef: DUP2 00000cf0: ADD 00000cf1: SWAP1 00000cf2: DUP2 00000cf3: LT 00000cf4: PUSH1 0x01 00000cf6: PUSH1 0x01 00000cf8: PUSH1 0x40 00000cfa: SHL 00000cfb: SUB 00000cfc: DUP3 00000cfd: GT 00000cfe: OR 00000cff: PUSH2 0x0cab 00000d02: JUMPI 00000d03: PUSH1 0x40 00000d05: MSTORE 00000d06: JUMP 00000d07: JUMPDEST 00000d08: PUSH1 0x40 00000d0a: MLOAD 00000d0b: SWAP1 00000d0c: PUSH2 0x0692 00000d0f: PUSH2 0x0100 00000d12: DUP4 00000d13: PUSH2 0x0ce6 00000d16: JUMP 00000d17: JUMPDEST 00000d18: PUSH1 0x01 00000d1a: PUSH1 0x01 00000d1c: PUSH1 0x40 00000d1e: SHL 00000d1f: SUB 00000d20: DUP2 00000d21: GT 00000d22: PUSH2 0x0cab 00000d25: JUMPI 00000d26: PUSH1 0x05 00000d28: SHL 00000d29: PUSH1 0x20 00000d2b: ADD 00000d2c: SWAP1 00000d2d: JUMP 00000d2e: JUMPDEST 00000d2f: SWAP1 00000d30: DUP1 00000d31: PUSH1 0x1f 00000d33: DUP4 00000d34: ADD 00000d35: SLT 00000d36: ISZERO 00000d37: PUSH2 0x0504 00000d3a: JUMPI 00000d3b: DUP2 00000d3c: CALLDATALOAD 00000d3d: PUSH2 0x0d45 00000d40: DUP2 00000d41: PUSH2 0x0d17 00000d44: JUMP 00000d45: JUMPDEST 00000d46: SWAP3 00000d47: PUSH2 0x0d53 00000d4a: PUSH1 0x40 00000d4c: MLOAD 00000d4d: SWAP5 00000d4e: DUP6 00000d4f: PUSH2 0x0ce6 00000d52: JUMP 00000d53: JUMPDEST 00000d54: DUP2 00000d55: DUP5 00000d56: MSTORE 00000d57: PUSH1 0x20 00000d59: DUP1 00000d5a: DUP6 00000d5b: ADD 00000d5c: SWAP3 00000d5d: PUSH1 0x05 00000d5f: SHL 00000d60: DUP3 00000d61: ADD 00000d62: ADD 00000d63: SWAP3 00000d64: DUP4 00000d65: GT 00000d66: PUSH2 0x0504 00000d69: JUMPI 00000d6a: PUSH1 0x20 00000d6c: ADD 00000d6d: SWAP1 00000d6e: JUMPDEST 00000d6f: DUP3 00000d70: DUP3 00000d71: LT 00000d72: PUSH2 0x0d7b 00000d75: JUMPI 00000d76: POP 00000d77: POP 00000d78: POP 00000d79: SWAP1 00000d7a: JUMP 00000d7b: JUMPDEST 00000d7c: DUP2 00000d7d: CALLDATALOAD 00000d7e: DUP2 00000d7f: MSTORE 00000d80: PUSH1 0x20 00000d82: SWAP2 00000d83: DUP3 00000d84: ADD 00000d85: SWAP2 00000d86: ADD 00000d87: PUSH2 0x0d6e 00000d8a: JUMP 00000d8b: JUMPDEST 00000d8c: PUSH1 0x20 00000d8e: PUSH1 0x03 00000d90: NOT 00000d91: DUP3 00000d92: ADD 00000d93: SLT 00000d94: PUSH2 0x0504 00000d97: JUMPI 00000d98: PUSH1 0x04 00000d9a: CALLDATALOAD 00000d9b: SWAP1 00000d9c: PUSH1 0x01 00000d9e: PUSH1 0x01 00000da0: PUSH1 0x40 00000da2: SHL 00000da3: SUB 00000da4: DUP3 00000da5: GT 00000da6: PUSH2 0x0504 00000da9: JUMPI 00000daa: PUSH2 0x0db5 00000dad: SWAP2 00000dae: PUSH1 0x04 00000db0: ADD 00000db1: PUSH2 0x0d2e 00000db4: JUMP 00000db5: JUMPDEST 00000db6: SWAP1 00000db7: JUMP 00000db8: JUMPDEST 00000db9: CALLVALUE 00000dba: PUSH2 0x0504 00000dbd: JUMPI 00000dbe: PUSH2 0x0dc6 00000dc1: CALLDATASIZE 00000dc2: PUSH2 0x0d8b 00000dc5: JUMP 00000dc6: JUMPDEST 00000dc7: CALLER 00000dc8: PUSH0 00000dc9: MSTORE 00000dca: PUSH1 0x02 00000dcc: PUSH1 0x20 00000dce: MSTORE 00000dcf: PUSH1 0xff 00000dd1: PUSH1 0x40 00000dd3: PUSH0 00000dd4: KECCAK256 00000dd5: SLOAD 00000dd6: AND 00000dd7: ISZERO 00000dd8: DUP1 00000dd9: PUSH2 0x0e20 00000ddc: JUMPI 00000ddd: JUMPDEST 00000dde: DUP1 00000ddf: PUSH2 0x0dff 00000de2: JUMPI 00000de3: JUMPDEST 00000de4: PUSH2 0x0df0 00000de7: JUMPI 00000de8: PUSH2 0x088f 00000deb: SWAP1 00000dec: PUSH2 0x3c35 00000def: JUMP 00000df0: JUMPDEST 00000df1: PUSH4 0xf7137c0f 00000df6: PUSH1 0xe0 00000df8: SHL 00000df9: PUSH0 00000dfa: MSTORE 00000dfb: PUSH1 0x04 00000dfd: PUSH0 00000dfe: REVERT 00000dff: JUMPDEST 00000e00: POP 00000e01: PUSH0 00000e02: MLOAD 00000e03: PUSH1 0x20 00000e05: PUSH2 0x4793 00000e08: PUSH0 00000e09: CODECOPY 00000e0a: PUSH0 00000e0b: MLOAD 00000e0c: SWAP1 00000e0d: PUSH0 00000e0e: MSTORE 00000e0f: SLOAD 00000e10: PUSH1 0x01 00000e12: PUSH1 0x01 00000e14: PUSH1 0xa0 00000e16: SHL 00000e17: SUB 00000e18: AND 00000e19: CALLER 00000e1a: EQ 00000e1b: ISZERO 00000e1c: PUSH2 0x0de3 00000e1f: JUMP 00000e20: JUMPDEST 00000e21: POP 00000e22: PUSH1 0x01 00000e24: SLOAD 00000e25: PUSH1 0x01 00000e27: PUSH1 0x01 00000e29: PUSH1 0xa0 00000e2b: SHL 00000e2c: SUB 00000e2d: AND 00000e2e: CALLER 00000e2f: EQ 00000e30: ISZERO 00000e31: PUSH2 0x0ddd 00000e34: JUMP 00000e35: JUMPDEST 00000e36: CALLVALUE 00000e37: PUSH2 0x0504 00000e3a: JUMPI 00000e3b: PUSH0 00000e3c: CALLDATASIZE 00000e3d: PUSH1 0x03 00000e3f: NOT 00000e40: ADD 00000e41: SLT 00000e42: PUSH2 0x0504 00000e45: JUMPI 00000e46: PUSH0 00000e47: SLOAD 00000e48: PUSH1 0x40 00000e4a: MLOAD 00000e4b: PUSH1 0x01 00000e4d: PUSH1 0x01 00000e4f: PUSH1 0xa0 00000e51: SHL 00000e52: SUB 00000e53: SWAP1 00000e54: SWAP2 00000e55: AND 00000e56: DUP2 00000e57: MSTORE 00000e58: PUSH1 0x20 00000e5a: SWAP1 00000e5b: RETURN 00000e5c: JUMPDEST 00000e5d: CALLVALUE 00000e5e: PUSH2 0x0504 00000e61: JUMPI 00000e62: PUSH1 0x20 00000e64: CALLDATASIZE 00000e65: PUSH1 0x03 00000e67: NOT 00000e68: ADD 00000e69: SLT 00000e6a: PUSH2 0x0504 00000e6d: JUMPI 00000e6e: PUSH1 0x04 00000e70: CALLDATALOAD 00000e71: PUSH2 0x0e79 00000e74: DUP2 00000e75: PUSH2 0x0676 00000e78: JUMP 00000e79: JUMPDEST 00000e7a: PUSH2 0x0e81 00000e7d: PUSH2 0x2cb4 00000e80: JUMP 00000e81: JUMPDEST 00000e82: POP 00000e83: PUSH1 0x01 00000e85: DUP1 00000e86: PUSH1 0xa0 00000e88: SHL 00000e89: SUB 00000e8a: AND 00000e8b: PUSH0 00000e8c: MSTORE 00000e8d: PUSH1 0x04 00000e8f: PUSH1 0x20 00000e91: MSTORE 00000e92: PUSH2 0x05be 00000e95: PUSH1 0x40 00000e97: PUSH0 00000e98: KECCAK256 00000e99: PUSH1 0x40 00000e9b: MLOAD 00000e9c: SWAP1 00000e9d: PUSH2 0x0ea5 00000ea0: DUP3 00000ea1: PUSH2 0x0cb0 00000ea4: JUMP 00000ea5: JUMPDEST 00000ea6: SLOAD 00000ea7: PUSH1 0x01 00000ea9: PUSH1 0x01 00000eab: PUSH1 0xc0 00000ead: SHL 00000eae: SUB 00000eaf: DUP2 00000eb0: AND 00000eb1: DUP1 00000eb2: DUP4 00000eb3: MSTORE 00000eb4: PUSH1 0xc0 00000eb6: SWAP2 00000eb7: SWAP1 00000eb8: SWAP2 00000eb9: SHR 00000eba: PUSH1 0x20 00000ebc: SWAP3 00000ebd: DUP4 00000ebe: ADD 00000ebf: SWAP1 00000ec0: DUP2 00000ec1: MSTORE 00000ec2: PUSH1 0x40 00000ec4: DUP1 00000ec5: MLOAD 00000ec6: SWAP3 00000ec7: DUP4 00000ec8: MSTORE 00000ec9: SWAP1 00000eca: MLOAD 00000ecb: PUSH1 0x01 00000ecd: PUSH1 0x01 00000ecf: PUSH1 0x40 00000ed1: SHL 00000ed2: SUB 00000ed3: AND 00000ed4: SWAP3 00000ed5: DUP3 00000ed6: ADD 00000ed7: SWAP3 00000ed8: SWAP1 00000ed9: SWAP3 00000eda: MSTORE 00000edb: SWAP2 00000edc: DUP3 00000edd: SWAP2 00000ede: DUP3 00000edf: ADD 00000ee0: SWAP1 00000ee1: JUMP 00000ee2: JUMPDEST 00000ee3: CALLVALUE 00000ee4: PUSH2 0x0504 00000ee7: JUMPI 00000ee8: PUSH1 0x20 00000eea: CALLDATASIZE 00000eeb: PUSH1 0x03 00000eed: NOT 00000eee: ADD 00000eef: SLT 00000ef0: PUSH2 0x0504 00000ef3: JUMPI 00000ef4: PUSH1 0x04 00000ef6: CALLDATALOAD 00000ef7: PUSH2 0x0eff 00000efa: DUP2 00000efb: PUSH2 0x0676 00000efe: JUMP 00000eff: JUMPDEST 00000f00: PUSH1 0x01 00000f02: DUP1 00000f03: PUSH1 0xa0 00000f05: SHL 00000f06: SUB 00000f07: AND 00000f08: PUSH0 00000f09: MSTORE 00000f0a: PUSH1 0x02 00000f0c: PUSH1 0x20 00000f0e: MSTORE 00000f0f: PUSH1 0x20 00000f11: PUSH1 0xff 00000f13: PUSH1 0x40 00000f15: PUSH0 00000f16: KECCAK256 00000f17: SLOAD 00000f18: AND 00000f19: PUSH1 0x40 00000f1b: MLOAD 00000f1c: SWAP1 00000f1d: ISZERO 00000f1e: ISZERO 00000f1f: DUP2 00000f20: MSTORE 00000f21: RETURN 00000f22: JUMPDEST 00000f23: CALLVALUE 00000f24: PUSH2 0x0504 00000f27: JUMPI 00000f28: PUSH0 00000f29: CALLDATASIZE 00000f2a: PUSH1 0x03 00000f2c: NOT 00000f2d: ADD 00000f2e: SLT 00000f2f: PUSH2 0x0504 00000f32: JUMPI 00000f33: PUSH1 0x20 00000f35: PUSH2 0x066e 00000f38: PUSH2 0x2d95 00000f3b: JUMP 00000f3c: JUMPDEST 00000f3d: CALLVALUE 00000f3e: PUSH2 0x0504 00000f41: JUMPI 00000f42: PUSH0 00000f43: CALLDATASIZE 00000f44: PUSH1 0x03 00000f46: NOT 00000f47: ADD 00000f48: SLT 00000f49: PUSH2 0x0504 00000f4c: JUMPI 00000f4d: PUSH1 0x20 00000f4f: PUSH7 0x2386f26fc10000 00000f57: PUSH1 0x0b 00000f59: SLOAD 00000f5a: DIV 00000f5b: PUSH1 0x40 00000f5d: MLOAD 00000f5e: SWAP1 00000f5f: DUP2 00000f60: MSTORE 00000f61: RETURN 00000f62: JUMPDEST 00000f63: CALLVALUE 00000f64: PUSH2 0x0504 00000f67: JUMPI 00000f68: PUSH0 00000f69: CALLDATASIZE 00000f6a: PUSH1 0x03 00000f6c: NOT 00000f6d: ADD 00000f6e: SLT 00000f6f: PUSH2 0x0504 00000f72: JUMPI 00000f73: PUSH1 0x20 00000f75: PUSH1 0xff 00000f77: PUSH0 00000f78: MLOAD 00000f79: PUSH1 0x20 00000f7b: PUSH2 0x47f3 00000f7e: PUSH0 00000f7f: CODECOPY 00000f80: PUSH0 00000f81: MLOAD 00000f82: SWAP1 00000f83: PUSH0 00000f84: MSTORE 00000f85: SLOAD 00000f86: AND 00000f87: PUSH1 0x40 00000f89: MLOAD 00000f8a: SWAP1 00000f8b: ISZERO 00000f8c: ISZERO 00000f8d: DUP2 00000f8e: MSTORE 00000f8f: RETURN 00000f90: JUMPDEST 00000f91: DUP2 00000f92: PUSH1 0x1f 00000f94: DUP3 00000f95: ADD 00000f96: SLT 00000f97: ISZERO 00000f98: PUSH2 0x0504 00000f9b: JUMPI 00000f9c: DUP1 00000f9d: CALLDATALOAD 00000f9e: SWAP1 00000f9f: PUSH2 0x0fa7 00000fa2: DUP3 00000fa3: PUSH2 0x0d17 00000fa6: JUMP 00000fa7: JUMPDEST 00000fa8: SWAP3 00000fa9: PUSH2 0x0fb5 00000fac: PUSH1 0x40 00000fae: MLOAD 00000faf: SWAP5 00000fb0: DUP6 00000fb1: PUSH2 0x0ce6 00000fb4: JUMP 00000fb5: JUMPDEST 00000fb6: DUP3 00000fb7: DUP5 00000fb8: MSTORE 00000fb9: PUSH1 0x20 00000fbb: PUSH1 0x60 00000fbd: DUP2 00000fbe: DUP7 00000fbf: ADD 00000fc0: SWAP5 00000fc1: MUL 00000fc2: DUP4 00000fc3: ADD 00000fc4: ADD 00000fc5: SWAP2 00000fc6: DUP2 00000fc7: DUP4 00000fc8: GT 00000fc9: PUSH2 0x0504 00000fcc: JUMPI 00000fcd: PUSH1 0x20 00000fcf: ADD 00000fd0: SWAP3 00000fd1: JUMPDEST 00000fd2: DUP3 00000fd3: DUP5 00000fd4: LT 00000fd5: PUSH2 0x0fdf 00000fd8: JUMPI 00000fd9: POP 00000fda: POP 00000fdb: POP 00000fdc: POP 00000fdd: SWAP1 00000fde: JUMP 00000fdf: JUMPDEST 00000fe0: PUSH1 0x60 00000fe2: DUP5 00000fe3: DUP4 00000fe4: SUB 00000fe5: SLT 00000fe6: PUSH2 0x0504 00000fe9: JUMPI 00000fea: PUSH1 0x20 00000fec: PUSH1 0x60 00000fee: SWAP2 00000fef: PUSH1 0x40 00000ff1: MLOAD 00000ff2: PUSH2 0x0ffa 00000ff5: DUP2 00000ff6: PUSH2 0x0c90 00000ff9: JUMP 00000ffa: JUMPDEST 00000ffb: DUP7 00000ffc: CALLDATALOAD 00000ffd: DUP2 00000ffe: MSTORE 00000fff: DUP3 00001000: DUP8 00001001: ADD 00001002: CALLDATALOAD 00001003: DUP4 00001004: DUP3 00001005: ADD 00001006: MSTORE 00001007: PUSH1 0x40 00001009: DUP8 0000100a: ADD 0000100b: CALLDATALOAD 0000100c: PUSH1 0x40 0000100e: DUP3 0000100f: ADD 00001010: MSTORE 00001011: DUP2 00001012: MSTORE 00001013: ADD 00001014: SWAP4 00001015: ADD 00001016: SWAP3 00001017: PUSH2 0x0fd1 0000101a: JUMP 0000101b: JUMPDEST 0000101c: SWAP2 0000101d: SWAP1 0000101e: PUSH1 0x40 00001020: DUP4 00001021: DUP3 00001022: SUB 00001023: SLT 00001024: PUSH2 0x0504 00001027: JUMPI 00001028: PUSH1 0x40 0000102a: MLOAD 0000102b: SWAP1 0000102c: PUSH2 0x1034 0000102f: DUP3 00001030: PUSH2 0x0cb0 00001033: JUMP 00001034: JUMPDEST 00001035: DUP2 00001036: SWAP4 00001037: DUP1 00001038: CALLDATALOAD 00001039: PUSH1 0x01 0000103b: PUSH1 0x01 0000103d: PUSH1 0x40 0000103f: SHL 00001040: SUB 00001041: DUP2 00001042: GT 00001043: PUSH2 0x0504 00001046: JUMPI 00001047: DUP3 00001048: PUSH2 0x1052 0000104b: SWAP2 0000104c: DUP4 0000104d: ADD 0000104e: PUSH2 0x0f90 00001051: JUMP 00001052: JUMPDEST 00001053: DUP4 00001054: MSTORE 00001055: PUSH1 0x20 00001057: DUP2 00001058: ADD 00001059: CALLDATALOAD 0000105a: SWAP2 0000105b: PUSH1 0x01 0000105d: PUSH1 0x01 0000105f: PUSH1 0x40 00001061: SHL 00001062: SUB 00001063: DUP4 00001064: GT 00001065: PUSH2 0x0504 00001068: JUMPI 00001069: PUSH1 0x20 0000106b: SWAP3 0000106c: PUSH2 0x1075 0000106f: SWAP3 00001070: ADD 00001071: PUSH2 0x0f90 00001074: JUMP 00001075: JUMPDEST 00001076: SWAP2 00001077: ADD 00001078: MSTORE 00001079: JUMP 0000107a: JUMPDEST 0000107b: SWAP1 0000107c: DUP1 0000107d: PUSH1 0x1f 0000107f: DUP4 00001080: ADD 00001081: SLT 00001082: ISZERO 00001083: PUSH2 0x0504 00001086: JUMPI 00001087: DUP2 00001088: CALLDATALOAD 00001089: PUSH2 0x1091 0000108c: DUP2 0000108d: PUSH2 0x0d17 00001090: JUMP 00001091: JUMPDEST 00001092: SWAP3 00001093: PUSH2 0x109f 00001096: PUSH1 0x40 00001098: MLOAD 00001099: SWAP5 0000109a: DUP6 0000109b: PUSH2 0x0ce6 0000109e: JUMP 0000109f: JUMPDEST 000010a0: DUP2 000010a1: DUP5 000010a2: MSTORE 000010a3: PUSH1 0x20 000010a5: DUP1 000010a6: DUP6 000010a7: ADD 000010a8: SWAP3 000010a9: PUSH1 0x05 000010ab: SHL 000010ac: DUP3 000010ad: ADD 000010ae: ADD 000010af: SWAP2 000010b0: DUP4 000010b1: DUP4 000010b2: GT 000010b3: PUSH2 0x0504 000010b6: JUMPI 000010b7: PUSH1 0x20 000010b9: DUP3 000010ba: ADD 000010bb: SWAP1 000010bc: JUMPDEST 000010bd: DUP4 000010be: DUP3 000010bf: LT 000010c0: PUSH2 0x10cb 000010c3: JUMPI 000010c4: POP 000010c5: POP 000010c6: POP 000010c7: POP 000010c8: POP 000010c9: SWAP1 000010ca: JUMP 000010cb: JUMPDEST 000010cc: DUP2 000010cd: CALLDATALOAD 000010ce: PUSH1 0x01 000010d0: PUSH1 0x01 000010d2: PUSH1 0x40 000010d4: SHL 000010d5: SUB 000010d6: DUP2 000010d7: GT 000010d8: PUSH2 0x0504 000010db: JUMPI 000010dc: PUSH1 0x20 000010de: SWAP2 000010df: PUSH2 0x10ed 000010e2: DUP8 000010e3: DUP5 000010e4: DUP1 000010e5: SWAP5 000010e6: DUP9 000010e7: ADD 000010e8: ADD 000010e9: PUSH2 0x101b 000010ec: JUMP 000010ed: JUMPDEST 000010ee: DUP2 000010ef: MSTORE 000010f0: ADD 000010f1: SWAP2 000010f2: ADD 000010f3: SWAP1 000010f4: PUSH2 0x10bc 000010f7: JUMP 000010f8: JUMPDEST 000010f9: CALLVALUE 000010fa: PUSH2 0x0504 000010fd: JUMPI 000010fe: PUSH1 0x80 00001100: CALLDATASIZE 00001101: PUSH1 0x03 00001103: NOT 00001104: ADD 00001105: SLT 00001106: PUSH2 0x0504 00001109: JUMPI 0000110a: PUSH1 0x04 0000110c: CALLDATALOAD 0000110d: PUSH1 0x01 0000110f: PUSH1 0x01 00001111: PUSH1 0x40 00001113: SHL 00001114: SUB 00001115: DUP2 00001116: GT 00001117: PUSH2 0x0504 0000111a: JUMPI 0000111b: CALLDATASIZE 0000111c: PUSH1 0x23 0000111e: DUP3 0000111f: ADD 00001120: SLT 00001121: ISZERO 00001122: PUSH2 0x0504 00001125: JUMPI 00001126: DUP1 00001127: PUSH1 0x04 00001129: ADD 0000112a: CALLDATALOAD 0000112b: SWAP1 0000112c: PUSH2 0x1134 0000112f: DUP3 00001130: PUSH2 0x0d17 00001133: JUMP 00001134: JUMPDEST 00001135: SWAP2 00001136: PUSH2 0x1142 00001139: PUSH1 0x40 0000113b: MLOAD 0000113c: SWAP4 0000113d: DUP5 0000113e: PUSH2 0x0ce6 00001141: JUMP 00001142: JUMPDEST 00001143: DUP1 00001144: DUP4 00001145: MSTORE 00001146: PUSH1 0x24 00001148: PUSH1 0x20 0000114a: DUP5 0000114b: ADD 0000114c: SWAP2 0000114d: PUSH1 0x05 0000114f: SHL 00001150: DUP4 00001151: ADD 00001152: ADD 00001153: SWAP2 00001154: CALLDATASIZE 00001155: DUP4 00001156: GT 00001157: PUSH2 0x0504 0000115a: JUMPI 0000115b: PUSH1 0x24 0000115d: ADD 0000115e: SWAP1 0000115f: JUMPDEST 00001160: DUP3 00001161: DUP3 00001162: LT 00001163: PUSH2 0x11cf 00001166: JUMPI 00001167: DUP4 00001168: PUSH1 0x24 0000116a: CALLDATALOAD 0000116b: PUSH1 0x01 0000116d: PUSH1 0x01 0000116f: PUSH1 0x40 00001171: SHL 00001172: SUB 00001173: DUP2 00001174: GT 00001175: PUSH2 0x0504 00001178: JUMPI 00001179: PUSH2 0x1186 0000117c: SWAP1 0000117d: CALLDATASIZE 0000117e: SWAP1 0000117f: PUSH1 0x04 00001181: ADD 00001182: PUSH2 0x0d2e 00001185: JUMP 00001186: JUMPDEST 00001187: SWAP1 00001188: PUSH1 0x44 0000118a: CALLDATALOAD 0000118b: PUSH1 0x01 0000118d: PUSH1 0x01 0000118f: PUSH1 0x40 00001191: SHL 00001192: SUB 00001193: DUP2 00001194: GT 00001195: PUSH2 0x0504 00001198: JUMPI 00001199: PUSH2 0x11a6 0000119c: SWAP1 0000119d: CALLDATASIZE 0000119e: SWAP1 0000119f: PUSH1 0x04 000011a1: ADD 000011a2: PUSH2 0x0d2e 000011a5: JUMP 000011a6: JUMPDEST 000011a7: PUSH1 0x64 000011a9: CALLDATALOAD 000011aa: SWAP3 000011ab: PUSH1 0x01 000011ad: PUSH1 0x01 000011af: PUSH1 0x40 000011b1: SHL 000011b2: SUB 000011b3: DUP5 000011b4: GT 000011b5: PUSH2 0x0504 000011b8: JUMPI 000011b9: PUSH2 0x11c9 000011bc: PUSH2 0x088f 000011bf: SWAP5 000011c0: CALLDATASIZE 000011c1: SWAP1 000011c2: PUSH1 0x04 000011c4: ADD 000011c5: PUSH2 0x107a 000011c8: JUMP 000011c9: JUMPDEST 000011ca: SWAP3 000011cb: PUSH2 0x2dcb 000011ce: JUMP 000011cf: JUMPDEST 000011d0: PUSH1 0x20 000011d2: DUP1 000011d3: SWAP2 000011d4: DUP4 000011d5: CALLDATALOAD 000011d6: PUSH2 0x11de 000011d9: DUP2 000011da: PUSH2 0x0676 000011dd: JUMP 000011de: JUMPDEST 000011df: DUP2 000011e0: MSTORE 000011e1: ADD 000011e2: SWAP2 000011e3: ADD 000011e4: SWAP1 000011e5: PUSH2 0x115f 000011e8: JUMP 000011e9: JUMPDEST 000011ea: CALLVALUE 000011eb: PUSH2 0x0504 000011ee: JUMPI 000011ef: PUSH1 0x20 000011f1: CALLDATASIZE 000011f2: PUSH1 0x03 000011f4: NOT 000011f5: ADD 000011f6: SLT 000011f7: PUSH2 0x0504 000011fa: JUMPI 000011fb: PUSH1 0x04 000011fd: CALLDATALOAD 000011fe: PUSH2 0x1206 00001201: DUP2 00001202: PUSH2 0x0676 00001205: JUMP 00001206: JUMPDEST 00001207: PUSH1 0x01 00001209: DUP1 0000120a: PUSH1 0xa0 0000120c: SHL 0000120d: SUB 0000120e: AND 0000120f: PUSH0 00001210: MSTORE 00001211: PUSH1 0x11 00001213: PUSH1 0x20 00001215: MSTORE 00001216: PUSH1 0x20 00001218: PUSH1 0x40 0000121a: PUSH0 0000121b: KECCAK256 0000121c: SLOAD 0000121d: PUSH1 0x40 0000121f: MLOAD 00001220: SWAP1 00001221: DUP2 00001222: MSTORE 00001223: RETURN 00001224: JUMPDEST 00001225: CALLVALUE 00001226: PUSH2 0x0504 00001229: JUMPI 0000122a: PUSH1 0x20 0000122c: CALLDATASIZE 0000122d: PUSH1 0x03 0000122f: NOT 00001230: ADD 00001231: SLT 00001232: PUSH2 0x0504 00001235: JUMPI 00001236: PUSH1 0x04 00001238: CALLDATALOAD 00001239: PUSH1 0x10 0000123b: SLOAD 0000123c: DUP2 0000123d: LT 0000123e: ISZERO 0000123f: PUSH2 0x127e 00001242: JUMPI 00001243: PUSH1 0x10 00001245: PUSH0 00001246: MSTORE 00001247: PUSH32 0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672 00001268: ADD 00001269: SLOAD 0000126a: PUSH1 0x40 0000126c: MLOAD 0000126d: PUSH1 0x01 0000126f: PUSH1 0x01 00001271: PUSH1 0xa0 00001273: SHL 00001274: SUB 00001275: SWAP1 00001276: SWAP2 00001277: AND 00001278: DUP2 00001279: MSTORE 0000127a: PUSH1 0x20 0000127c: SWAP1 0000127d: RETURN 0000127e: JUMPDEST 0000127f: PUSH2 0x2ccc 00001282: JUMP 00001283: JUMPDEST 00001284: CALLVALUE 00001285: PUSH2 0x0504 00001288: JUMPI 00001289: PUSH0 0000128a: CALLDATASIZE 0000128b: PUSH1 0x03 0000128d: NOT 0000128e: ADD 0000128f: SLT 00001290: PUSH2 0x0504 00001293: JUMPI 00001294: PUSH1 0x20 00001296: PUSH7 0x2386f26fc10000 0000129e: PUSH1 0x0a 000012a0: SLOAD 000012a1: DIV 000012a2: PUSH1 0x40 000012a4: MLOAD 000012a5: SWAP1 000012a6: DUP2 000012a7: MSTORE 000012a8: RETURN 000012a9: JUMPDEST 000012aa: CALLVALUE 000012ab: PUSH2 0x0504 000012ae: JUMPI 000012af: PUSH1 0x40 000012b1: CALLDATASIZE 000012b2: PUSH1 0x03 000012b4: NOT 000012b5: ADD 000012b6: SLT 000012b7: PUSH2 0x0504 000012ba: JUMPI 000012bb: PUSH1 0x24 000012bd: CALLDATALOAD 000012be: PUSH1 0x04 000012c0: CALLDATALOAD 000012c1: PUSH2 0x12c9 000012c4: DUP3 000012c5: PUSH2 0x0676 000012c8: JUMP 000012c9: JUMPDEST 000012ca: PUSH2 0x12d1 000012cd: PUSH2 0x2d28 000012d0: JUMP 000012d1: JUMPDEST 000012d2: SWAP2 000012d3: DUP3 000012d4: DUP3 000012d5: GT 000012d6: PUSH2 0x1401 000012d9: JUMPI 000012da: PUSH2 0x05be 000012dd: SWAP3 000012de: POP 000012df: PUSH2 0x12e7 000012e2: DUP3 000012e3: PUSH2 0x3784 000012e6: JUMP 000012e7: JUMPDEST 000012e8: SWAP2 000012e9: PUSH2 0x12f0 000012ec: PUSH2 0x3e33 000012ef: JUMP 000012f0: JUMPDEST 000012f1: PUSH2 0x12f8 000012f4: PUSH2 0x3d2d 000012f7: JUMP 000012f8: JUMPDEST 000012f9: PUSH0 000012fa: MLOAD 000012fb: PUSH1 0x20 000012fd: PUSH2 0x47d3 00001300: PUSH0 00001301: CODECOPY 00001302: PUSH0 00001303: MLOAD 00001304: SWAP1 00001305: PUSH0 00001306: MSTORE 00001307: SLOAD 00001308: PUSH2 0x131f 0000130b: SWAP1 0000130c: DUP3 0000130d: SWAP1 0000130e: ADDRESS 0000130f: SWAP1 00001310: CALLER 00001311: SWAP1 00001312: PUSH1 0x01 00001314: PUSH1 0x01 00001316: PUSH1 0xa0 00001318: SHL 00001319: SUB 0000131a: AND 0000131b: PUSH2 0x4324 0000131e: JUMP 0000131f: JUMPDEST 00001320: PUSH2 0x138a 00001323: DUP2 00001324: PUSH2 0x1385 00001327: PUSH2 0x1349 0000132a: PUSH2 0x0bf5 0000132d: PUSH2 0x0bf5 00001330: PUSH0 00001331: MLOAD 00001332: PUSH1 0x20 00001334: PUSH2 0x47d3 00001337: PUSH0 00001338: CODECOPY 00001339: PUSH0 0000133a: MLOAD 0000133b: SWAP1 0000133c: PUSH0 0000133d: MSTORE 0000133e: SLOAD 0000133f: PUSH1 0x01 00001341: DUP1 00001342: PUSH1 0xa0 00001344: SHL 00001345: SUB 00001346: AND 00001347: SWAP1 00001348: JUMP 00001349: JUMPDEST 0000134a: PUSH1 0x40 0000134c: MLOAD 0000134d: PUSH4 0x49cc4ebd 00001352: PUSH1 0xe1 00001354: SHL 00001355: PUSH1 0x20 00001357: DUP3 00001358: ADD 00001359: MSTORE 0000135a: PUSH1 0x01 0000135c: PUSH1 0x01 0000135e: PUSH1 0xa0 00001360: SHL 00001361: SUB 00001362: SWAP1 00001363: SWAP2 00001364: AND 00001365: PUSH1 0x24 00001367: DUP3 00001368: ADD 00001369: MSTORE 0000136a: PUSH1 0x44 0000136c: DUP2 0000136d: ADD 0000136e: SWAP3 0000136f: SWAP1 00001370: SWAP3 00001371: MSTORE 00001372: DUP2 00001373: PUSH1 0x64 00001375: DUP2 00001376: ADD 00001377: JUMPDEST 00001378: SUB 00001379: PUSH1 0x1f 0000137b: NOT 0000137c: DUP2 0000137d: ADD 0000137e: DUP4 0000137f: MSTORE 00001380: DUP3 00001381: PUSH2 0x0ce6 00001384: JUMP 00001385: JUMPDEST 00001386: PUSH2 0x3d83 00001389: JUMP 0000138a: JUMPDEST 0000138b: POP 0000138c: PUSH2 0x1395 0000138f: DUP4 00001390: DUP4 00001391: PUSH2 0x43f5 00001394: JUMP 00001395: JUMPDEST 00001396: PUSH1 0x40 00001398: DUP1 00001399: MLOAD 0000139a: SWAP2 0000139b: DUP3 0000139c: MSTORE 0000139d: PUSH1 0x20 0000139f: DUP3 000013a0: ADD 000013a1: DUP5 000013a2: SWAP1 000013a3: MSTORE 000013a4: PUSH1 0x01 000013a6: PUSH1 0x01 000013a8: PUSH1 0xa0 000013aa: SHL 000013ab: SUB 000013ac: SWAP1 000013ad: SWAP3 000013ae: AND 000013af: SWAP2 000013b0: CALLER 000013b1: SWAP2 000013b2: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7 000013d3: SWAP2 000013d4: DUP2 000013d5: SWAP1 000013d6: DUP2 000013d7: ADD 000013d8: JUMPDEST 000013d9: SUB 000013da: SWAP1 000013db: LOG3 000013dc: PUSH2 0x13f1 000013df: PUSH1 0x01 000013e1: PUSH0 000013e2: MLOAD 000013e3: PUSH1 0x20 000013e5: PUSH2 0x4813 000013e8: PUSH0 000013e9: CODECOPY 000013ea: PUSH0 000013eb: MLOAD 000013ec: SWAP1 000013ed: PUSH0 000013ee: MSTORE 000013ef: SSTORE 000013f0: JUMP 000013f1: JUMPDEST 000013f2: PUSH1 0x40 000013f4: MLOAD 000013f5: SWAP1 000013f6: DUP2 000013f7: MSTORE 000013f8: SWAP1 000013f9: DUP2 000013fa: SWAP1 000013fb: PUSH1 0x20 000013fd: DUP3 000013fe: ADD 000013ff: SWAP1 00001400: JUMP 00001401: JUMPDEST 00001402: PUSH4 0x3c8097d9 00001407: PUSH1 0xe1 00001409: SHL 0000140a: PUSH0 0000140b: MSTORE 0000140c: PUSH1 0x01 0000140e: DUP1 0000140f: PUSH1 0xa0 00001411: SHL 00001412: SUB 00001413: AND 00001414: PUSH1 0x04 00001416: MSTORE 00001417: PUSH1 0x24 00001419: MSTORE 0000141a: PUSH1 0x44 0000141c: MSTORE 0000141d: PUSH1 0x64 0000141f: PUSH0 00001420: REVERT 00001421: JUMPDEST 00001422: CALLVALUE 00001423: PUSH2 0x0504 00001426: JUMPI 00001427: PUSH1 0x20 00001429: CALLDATASIZE 0000142a: PUSH1 0x03 0000142c: NOT 0000142d: ADD 0000142e: SLT 0000142f: PUSH2 0x0504 00001432: JUMPI 00001433: PUSH1 0x20 00001435: PUSH2 0x066e 00001438: PUSH1 0x04 0000143a: CALLDATALOAD 0000143b: PUSH2 0x1443 0000143e: DUP2 0000143f: PUSH2 0x0676 00001442: JUMP 00001443: JUMPDEST 00001444: PUSH2 0x2fd0 00001447: JUMP 00001448: JUMPDEST 00001449: CALLVALUE 0000144a: PUSH2 0x0504 0000144d: JUMPI 0000144e: PUSH0 0000144f: CALLDATASIZE 00001450: PUSH1 0x03 00001452: NOT 00001453: ADD 00001454: SLT 00001455: PUSH2 0x0504 00001458: JUMPI 00001459: PUSH2 0x1460 0000145c: PUSH2 0x3a11 0000145f: JUMP 00001460: JUMPDEST 00001461: PUSH0 00001462: MLOAD 00001463: PUSH1 0x20 00001465: PUSH2 0x4853 00001468: PUSH0 00001469: CODECOPY 0000146a: PUSH0 0000146b: MLOAD 0000146c: SWAP1 0000146d: PUSH0 0000146e: MSTORE 0000146f: DUP1 00001470: SLOAD 00001471: PUSH1 0x01 00001473: PUSH1 0x01 00001475: PUSH1 0xa0 00001477: SHL 00001478: SUB 00001479: NOT 0000147a: SWAP1 0000147b: DUP2 0000147c: AND 0000147d: SWAP1 0000147e: SWAP2 0000147f: SSTORE 00001480: PUSH0 00001481: MLOAD 00001482: PUSH1 0x20 00001484: PUSH2 0x4793 00001487: PUSH0 00001488: CODECOPY 00001489: PUSH0 0000148a: MLOAD 0000148b: SWAP1 0000148c: PUSH0 0000148d: MSTORE 0000148e: DUP1 0000148f: SLOAD 00001490: SWAP2 00001491: DUP3 00001492: AND 00001493: SWAP1 00001494: SSTORE 00001495: PUSH0 00001496: SWAP1 00001497: PUSH1 0x01 00001499: PUSH1 0x01 0000149b: PUSH1 0xa0 0000149d: SHL 0000149e: SUB 0000149f: AND 000014a0: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 000014c1: DUP3 000014c2: DUP1 000014c3: LOG3 000014c4: STOP 000014c5: JUMPDEST 000014c6: CALLVALUE 000014c7: PUSH2 0x0504 000014ca: JUMPI 000014cb: PUSH1 0x80 000014cd: CALLDATASIZE 000014ce: PUSH1 0x03 000014d0: NOT 000014d1: ADD 000014d2: SLT 000014d3: PUSH2 0x0504 000014d6: JUMPI 000014d7: PUSH1 0x04 000014d9: CALLDATALOAD 000014da: PUSH2 0x14e2 000014dd: DUP2 000014de: PUSH2 0x0676 000014e1: JUMP 000014e2: JUMPDEST 000014e3: PUSH1 0x24 000014e5: CALLDATALOAD 000014e6: SWAP1 000014e7: PUSH1 0x44 000014e9: CALLDATALOAD 000014ea: PUSH2 0x14f2 000014ed: DUP2 000014ee: PUSH2 0x0676 000014f1: JUMP 000014f2: JUMPDEST 000014f3: PUSH1 0x64 000014f5: CALLDATALOAD 000014f6: SWAP2 000014f7: PUSH2 0x14ff 000014fa: DUP4 000014fb: PUSH2 0x0676 000014fe: JUMP 000014ff: JUMPDEST 00001500: PUSH2 0x1507 00001503: PUSH2 0x3e33 00001506: JUMP 00001507: JUMPDEST 00001508: PUSH2 0x1510 0000150b: DUP5 0000150c: PUSH2 0x3740 0000150f: JUMP 00001510: JUMPDEST 00001511: SWAP3 00001512: PUSH2 0x151a 00001515: DUP2 00001516: PUSH2 0x2fd0 00001519: JUMP 0000151a: JUMPDEST 0000151b: DUP1 0000151c: DUP6 0000151d: GT 0000151e: PUSH2 0x1612 00001521: JUMPI 00001522: POP 00001523: PUSH2 0x153d 00001526: SWAP1 00001527: DUP5 00001528: SWAP1 00001529: PUSH1 0x01 0000152b: PUSH1 0x01 0000152d: PUSH1 0xa0 0000152f: SHL 00001530: SUB 00001531: DUP2 00001532: AND 00001533: CALLER 00001534: SUB 00001535: PUSH2 0x1602 00001538: JUMPI 00001539: PUSH2 0x3e6b 0000153c: JUMP 0000153d: JUMPDEST 0000153e: PUSH1 0x40 00001540: MLOAD 00001541: PUSH4 0x5394eb43 00001546: PUSH1 0xe1 00001548: SHL 00001549: PUSH1 0x20 0000154b: DUP3 0000154c: ADD 0000154d: MSTORE 0000154e: PUSH1 0x01 00001550: PUSH1 0x01 00001552: PUSH1 0xa0 00001554: SHL 00001555: SUB 00001556: DUP1 00001557: DUP5 00001558: AND 00001559: PUSH1 0x24 0000155b: DUP4 0000155c: ADD 0000155d: MSTORE 0000155e: DUP3 0000155f: AND 00001560: PUSH1 0x44 00001562: DUP3 00001563: ADD 00001564: MSTORE 00001565: PUSH1 0x64 00001567: DUP2 00001568: ADD 00001569: DUP6 0000156a: SWAP1 0000156b: MSTORE 0000156c: PUSH2 0x158f 0000156f: SWAP1 00001570: PUSH2 0x1580 00001573: SWAP1 00001574: PUSH2 0x1385 00001577: DUP2 00001578: PUSH1 0x84 0000157a: DUP2 0000157b: ADD 0000157c: PUSH2 0x1377 0000157f: JUMP 00001580: JUMPDEST 00001581: PUSH1 0x20 00001583: DUP1 00001584: DUP3 00001585: MLOAD 00001586: DUP4 00001587: ADD 00001588: ADD 00001589: SWAP2 0000158a: ADD 0000158b: PUSH2 0x3009 0000158e: JUMP 0000158f: JUMPDEST 00001590: PUSH1 0x40 00001592: DUP1 00001593: MLOAD 00001594: SWAP6 00001595: DUP7 00001596: MSTORE 00001597: PUSH1 0x20 00001599: DUP7 0000159a: ADD 0000159b: DUP6 0000159c: SWAP1 0000159d: MSTORE 0000159e: DUP6 0000159f: ADD 000015a0: DUP2 000015a1: SWAP1 000015a2: MSTORE 000015a3: SWAP4 000015a4: PUSH1 0x01 000015a6: PUSH1 0x01 000015a8: PUSH1 0xa0 000015aa: SHL 000015ab: SUB 000015ac: SWAP2 000015ad: DUP3 000015ae: AND 000015af: SWAP3 000015b0: SWAP1 000015b1: SWAP2 000015b2: AND 000015b3: SWAP1 000015b4: CALLER 000015b5: SWAP1 000015b6: PUSH32 0xaf2e30fae2dfd1a90059cf53415e90c4ee9d151c1b1861df8f8a5963069c47f4 000015d7: SWAP1 000015d8: PUSH1 0x60 000015da: SWAP1 000015db: LOG4 000015dc: PUSH2 0x15f1 000015df: PUSH1 0x01 000015e1: PUSH0 000015e2: MLOAD 000015e3: PUSH1 0x20 000015e5: PUSH2 0x4813 000015e8: PUSH0 000015e9: CODECOPY 000015ea: PUSH0 000015eb: MLOAD 000015ec: SWAP1 000015ed: PUSH0 000015ee: MSTORE 000015ef: SSTORE 000015f0: JUMP 000015f1: JUMPDEST 000015f2: PUSH1 0x40 000015f4: DUP1 000015f5: MLOAD 000015f6: SWAP2 000015f7: DUP3 000015f8: MSTORE 000015f9: PUSH1 0x20 000015fb: DUP3 000015fc: ADD 000015fd: SWAP3 000015fe: SWAP1 000015ff: SWAP3 00001600: MSTORE 00001601: RETURN 00001602: JUMPDEST 00001603: PUSH2 0x160d 00001606: DUP3 00001607: CALLER 00001608: DUP4 00001609: PUSH2 0x38c9 0000160c: JUMP 0000160d: JUMPDEST 0000160e: PUSH2 0x3e6b 00001611: JUMP 00001612: JUMPDEST 00001613: PUSH4 0x284ff667 00001618: PUSH1 0xe0 0000161a: SHL 0000161b: PUSH0 0000161c: MSTORE 0000161d: PUSH1 0x01 0000161f: PUSH1 0x01 00001621: PUSH1 0xa0 00001623: SHL 00001624: SUB 00001625: DUP5 00001626: AND 00001627: PUSH1 0x04 00001629: MSTORE 0000162a: PUSH1 0x24 0000162c: DUP6 0000162d: SWAP1 0000162e: MSTORE 0000162f: PUSH1 0x44 00001631: MSTORE 00001632: PUSH1 0x64 00001634: PUSH0 00001635: REVERT 00001636: JUMPDEST 00001637: CALLVALUE 00001638: PUSH2 0x0504 0000163b: JUMPI 0000163c: PUSH1 0x20 0000163e: CALLDATASIZE 0000163f: PUSH1 0x03 00001641: NOT 00001642: ADD 00001643: SLT 00001644: PUSH2 0x0504 00001647: JUMPI 00001648: PUSH1 0x04 0000164a: CALLDATALOAD 0000164b: PUSH1 0x01 0000164d: SLOAD 0000164e: PUSH1 0x01 00001650: PUSH1 0x01 00001652: PUSH1 0xa0 00001654: SHL 00001655: SUB 00001656: AND 00001657: CALLER 00001658: EQ 00001659: ISZERO 0000165a: DUP1 0000165b: PUSH2 0x16e7 0000165e: JUMPI 0000165f: JUMPDEST 00001660: PUSH2 0x0946 00001663: JUMPI 00001664: PUSH1 0x08 00001666: SLOAD 00001667: SWAP1 00001668: DUP2 00001669: DUP2 0000166a: EQ 0000166b: PUSH2 0x0930 0000166e: JUMPI 0000166f: PUSH1 0x05 00001671: SLOAD 00001672: PUSH1 0xc0 00001674: SHR 00001675: PUSH2 0x0921 00001678: JUMPI 00001679: PUSH2 0x1681 0000167c: DUP2 0000167d: PUSH2 0x3f04 00001680: JUMP 00001681: JUMPDEST 00001682: DUP2 00001683: DUP2 00001684: GT 00001685: ISZERO 00001686: PUSH2 0x1693 00001689: JUMPI 0000168a: PUSH2 0x088f 0000168d: SWAP2 0000168e: POP 0000168f: PUSH2 0x3f37 00001692: JUMP 00001693: JUMPDEST 00001694: PUSH32 0x6ed11f5df0bdefbbb4873e90566a9cfafbb8305c164922c173437f3c45f90a35 000016b5: SWAP2 000016b6: PUSH2 0x16c8 000016b9: SWAP1 000016ba: PUSH1 0x01 000016bc: PUSH1 0x01 000016be: PUSH1 0xb8 000016c0: SHL 000016c1: SUB 000016c2: DUP4 000016c3: AND 000016c4: PUSH2 0x37f2 000016c7: JUMP 000016c8: JUMPDEST 000016c9: PUSH1 0x05 000016cb: SLOAD 000016cc: PUSH1 0x40 000016ce: DUP1 000016cf: MLOAD 000016d0: SWAP3 000016d1: DUP4 000016d2: MSTORE 000016d3: PUSH1 0xc0 000016d5: SWAP2 000016d6: SWAP1 000016d7: SWAP2 000016d8: SHR 000016d9: PUSH1 0x20 000016db: DUP4 000016dc: ADD 000016dd: MSTORE 000016de: DUP2 000016df: SWAP1 000016e0: DUP2 000016e1: ADD 000016e2: JUMPDEST 000016e3: SUB 000016e4: SWAP1 000016e5: LOG1 000016e6: STOP 000016e7: JUMPDEST 000016e8: POP 000016e9: PUSH0 000016ea: MLOAD 000016eb: PUSH1 0x20 000016ed: PUSH2 0x4793 000016f0: PUSH0 000016f1: CODECOPY 000016f2: PUSH0 000016f3: MLOAD 000016f4: SWAP1 000016f5: PUSH0 000016f6: MSTORE 000016f7: SLOAD 000016f8: PUSH1 0x01 000016fa: PUSH1 0x01 000016fc: PUSH1 0xa0 000016fe: SHL 000016ff: SUB 00001700: AND 00001701: CALLER 00001702: EQ 00001703: ISZERO 00001704: PUSH2 0x165f 00001707: JUMP 00001708: JUMPDEST 00001709: CALLVALUE 0000170a: PUSH2 0x0504 0000170d: JUMPI 0000170e: PUSH0 0000170f: CALLDATASIZE 00001710: PUSH1 0x03 00001712: NOT 00001713: ADD 00001714: SLT 00001715: PUSH2 0x0504 00001718: JUMPI 00001719: PUSH2 0x1720 0000171c: PUSH2 0x2cb4 0000171f: JUMP 00001720: JUMPDEST 00001721: POP 00001722: PUSH1 0x40 00001724: DUP1 00001725: MLOAD 00001726: PUSH2 0x172e 00001729: DUP2 0000172a: PUSH2 0x0cb0 0000172d: JUMP 0000172e: JUMPDEST 0000172f: PUSH1 0x01 00001731: PUSH1 0x01 00001733: PUSH1 0x40 00001735: SHL 00001736: SUB 00001737: PUSH1 0x07 00001739: SLOAD 0000173a: DUP2 0000173b: PUSH1 0x20 0000173d: PUSH1 0x01 0000173f: DUP1 00001740: PUSH1 0xa0 00001742: SHL 00001743: SUB 00001744: DUP4 00001745: AND 00001746: SWAP5 00001747: DUP6 00001748: DUP2 00001749: MSTORE 0000174a: ADD 0000174b: SWAP2 0000174c: PUSH1 0xa0 0000174e: SHR 0000174f: AND 00001750: DUP2 00001751: MSTORE 00001752: DUP4 00001753: MLOAD 00001754: SWAP3 00001755: DUP4 00001756: MSTORE 00001757: MLOAD 00001758: AND 00001759: PUSH1 0x20 0000175b: DUP3 0000175c: ADD 0000175d: MSTORE 0000175e: RETURN 0000175f: JUMPDEST 00001760: PUSH1 0x01 00001762: PUSH1 0x01 00001764: PUSH1 0x40 00001766: SHL 00001767: SUB 00001768: DUP2 00001769: GT 0000176a: PUSH2 0x0cab 0000176d: JUMPI 0000176e: PUSH1 0x1f 00001770: ADD 00001771: PUSH1 0x1f 00001773: NOT 00001774: AND 00001775: PUSH1 0x20 00001777: ADD 00001778: SWAP1 00001779: JUMP 0000177a: JUMPDEST 0000177b: DUP2 0000177c: PUSH1 0x1f 0000177e: DUP3 0000177f: ADD 00001780: SLT 00001781: ISZERO 00001782: PUSH2 0x0504 00001785: JUMPI 00001786: DUP1 00001787: CALLDATALOAD 00001788: SWAP1 00001789: PUSH2 0x1791 0000178c: DUP3 0000178d: PUSH2 0x175f 00001790: JUMP 00001791: JUMPDEST 00001792: SWAP3 00001793: PUSH2 0x179f 00001796: PUSH1 0x40 00001798: MLOAD 00001799: SWAP5 0000179a: DUP6 0000179b: PUSH2 0x0ce6 0000179e: JUMP 0000179f: JUMPDEST 000017a0: DUP3 000017a1: DUP5 000017a2: MSTORE 000017a3: PUSH1 0x20 000017a5: DUP4 000017a6: DUP4 000017a7: ADD 000017a8: ADD 000017a9: GT 000017aa: PUSH2 0x0504 000017ad: JUMPI 000017ae: DUP2 000017af: PUSH0 000017b0: SWAP3 000017b1: PUSH1 0x20 000017b3: DUP1 000017b4: SWAP4 000017b5: ADD 000017b6: DUP4 000017b7: DUP7 000017b8: ADD 000017b9: CALLDATACOPY 000017ba: DUP4 000017bb: ADD 000017bc: ADD 000017bd: MSTORE 000017be: SWAP1 000017bf: JUMP 000017c0: JUMPDEST 000017c1: CALLDATALOAD 000017c2: SWAP1 000017c3: PUSH1 0x01 000017c5: PUSH1 0x01 000017c7: PUSH1 0x40 000017c9: SHL 000017ca: SUB 000017cb: DUP3 000017cc: AND 000017cd: DUP3 000017ce: SUB 000017cf: PUSH2 0x0504 000017d2: JUMPI 000017d3: JUMP 000017d4: JUMPDEST 000017d5: CALLVALUE 000017d6: PUSH2 0x0504 000017d9: JUMPI 000017da: PUSH1 0x20 000017dc: CALLDATASIZE 000017dd: PUSH1 0x03 000017df: NOT 000017e0: ADD 000017e1: SLT 000017e2: PUSH2 0x0504 000017e5: JUMPI 000017e6: PUSH1 0x04 000017e8: CALLDATALOAD 000017e9: PUSH1 0x01 000017eb: PUSH1 0x01 000017ed: PUSH1 0x40 000017ef: SHL 000017f0: SUB 000017f1: DUP2 000017f2: GT 000017f3: PUSH2 0x0504 000017f6: JUMPI 000017f7: PUSH2 0x0100 000017fa: PUSH1 0x03 000017fc: NOT 000017fd: DUP3 000017fe: CALLDATASIZE 000017ff: SUB 00001800: ADD 00001801: SLT 00001802: PUSH2 0x0504 00001805: JUMPI 00001806: PUSH2 0x180d 00001809: PUSH2 0x0d07 0000180c: JUMP 0000180d: JUMPDEST 0000180e: PUSH2 0x1819 00001811: DUP3 00001812: PUSH1 0x04 00001814: ADD 00001815: PUSH2 0x0687 00001818: JUMP 00001819: JUMPDEST 0000181a: DUP2 0000181b: MSTORE 0000181c: PUSH2 0x1827 0000181f: PUSH1 0x24 00001821: DUP4 00001822: ADD 00001823: PUSH2 0x0687 00001826: JUMP 00001827: JUMPDEST 00001828: PUSH1 0x20 0000182a: DUP3 0000182b: ADD 0000182c: MSTORE 0000182d: PUSH1 0x44 0000182f: DUP3 00001830: ADD 00001831: CALLDATALOAD 00001832: PUSH1 0x40 00001834: DUP3 00001835: ADD 00001836: MSTORE 00001837: PUSH2 0x1842 0000183a: PUSH1 0x64 0000183c: DUP4 0000183d: ADD 0000183e: PUSH2 0x0687 00001841: JUMP 00001842: JUMPDEST 00001843: PUSH1 0x60 00001845: DUP3 00001846: ADD 00001847: MSTORE 00001848: PUSH1 0x84 0000184a: DUP3 0000184b: ADD 0000184c: CALLDATALOAD 0000184d: PUSH1 0x80 0000184f: DUP3 00001850: ADD 00001851: MSTORE 00001852: PUSH1 0xa4 00001854: DUP3 00001855: ADD 00001856: CALLDATALOAD 00001857: PUSH1 0x01 00001859: PUSH1 0x01 0000185b: PUSH1 0x40 0000185d: SHL 0000185e: SUB 0000185f: DUP2 00001860: GT 00001861: PUSH2 0x0504 00001864: JUMPI 00001865: PUSH2 0x1874 00001868: SWAP1 00001869: PUSH1 0x04 0000186b: CALLDATASIZE 0000186c: SWAP2 0000186d: DUP6 0000186e: ADD 0000186f: ADD 00001870: PUSH2 0x177a 00001873: JUMP 00001874: JUMPDEST 00001875: PUSH1 0xa0 00001877: DUP3 00001878: ADD 00001879: MSTORE 0000187a: PUSH1 0xc4 0000187c: DUP3 0000187d: ADD 0000187e: CALLDATALOAD 0000187f: SWAP2 00001880: PUSH1 0x01 00001882: PUSH1 0x01 00001884: PUSH1 0x40 00001886: SHL 00001887: SUB 00001888: DUP4 00001889: GT 0000188a: PUSH2 0x0504 0000188d: JUMPI 0000188e: PUSH1 0xe4 00001890: PUSH2 0x18b1 00001893: SWAP2 00001894: PUSH2 0x18a6 00001897: PUSH2 0x088f 0000189a: SWAP6 0000189b: PUSH1 0x04 0000189d: CALLDATASIZE 0000189e: SWAP2 0000189f: DUP5 000018a0: ADD 000018a1: ADD 000018a2: PUSH2 0x177a 000018a5: JUMP 000018a6: JUMPDEST 000018a7: PUSH1 0xc0 000018a9: DUP6 000018aa: ADD 000018ab: MSTORE 000018ac: ADD 000018ad: PUSH2 0x17c0 000018b0: JUMP 000018b1: JUMPDEST 000018b2: PUSH1 0xe0 000018b4: DUP3 000018b5: ADD 000018b6: MSTORE 000018b7: PUSH2 0x3018 000018ba: JUMP 000018bb: JUMPDEST 000018bc: CALLVALUE 000018bd: PUSH2 0x0504 000018c0: JUMPI 000018c1: PUSH0 000018c2: CALLDATASIZE 000018c3: PUSH1 0x03 000018c5: NOT 000018c6: ADD 000018c7: SLT 000018c8: PUSH2 0x0504 000018cb: JUMPI 000018cc: PUSH0 000018cd: MLOAD 000018ce: PUSH1 0x20 000018d0: PUSH2 0x4853 000018d3: PUSH0 000018d4: CODECOPY 000018d5: PUSH0 000018d6: MLOAD 000018d7: SWAP1 000018d8: PUSH0 000018d9: MSTORE 000018da: SLOAD 000018db: CALLER 000018dc: PUSH1 0x01 000018de: PUSH1 0x01 000018e0: PUSH1 0xa0 000018e2: SHL 000018e3: SUB 000018e4: SWAP1 000018e5: SWAP2 000018e6: AND 000018e7: SUB 000018e8: PUSH2 0x18f4 000018eb: JUMPI 000018ec: PUSH2 0x088f 000018ef: CALLER 000018f0: PUSH2 0x3dc8 000018f3: JUMP 000018f4: JUMPDEST 000018f5: PUSH4 0x118cdaa7 000018fa: PUSH1 0xe0 000018fc: SHL 000018fd: PUSH0 000018fe: MSTORE 000018ff: CALLER 00001900: PUSH1 0x04 00001902: MSTORE 00001903: PUSH1 0x24 00001905: PUSH0 00001906: REVERT 00001907: JUMPDEST 00001908: CALLVALUE 00001909: PUSH2 0x0504 0000190c: JUMPI 0000190d: PUSH0 0000190e: CALLDATASIZE 0000190f: PUSH1 0x03 00001911: NOT 00001912: ADD 00001913: SLT 00001914: PUSH2 0x0504 00001917: JUMPI 00001918: PUSH2 0x191f 0000191b: PUSH2 0x2cb4 0000191e: JUMP 0000191f: JUMPDEST 00001920: POP 00001921: PUSH2 0x05be 00001924: PUSH1 0x40 00001926: MLOAD 00001927: PUSH2 0x192f 0000192a: DUP2 0000192b: PUSH2 0x0cb0 0000192e: JUMP 0000192f: JUMPDEST 00001930: PUSH1 0x05 00001932: SLOAD 00001933: PUSH1 0x01 00001935: PUSH1 0x01 00001937: PUSH1 0xc0 00001939: SHL 0000193a: SUB 0000193b: DUP2 0000193c: AND 0000193d: DUP1 0000193e: DUP4 0000193f: MSTORE 00001940: PUSH1 0xc0 00001942: SWAP2 00001943: SWAP1 00001944: SWAP2 00001945: SHR 00001946: PUSH1 0x20 00001948: SWAP3 00001949: DUP4 0000194a: ADD 0000194b: SWAP1 0000194c: DUP2 0000194d: MSTORE 0000194e: PUSH1 0x40 00001950: DUP1 00001951: MLOAD 00001952: SWAP3 00001953: DUP4 00001954: MSTORE 00001955: SWAP1 00001956: MLOAD 00001957: PUSH1 0x01 00001959: PUSH1 0x01 0000195b: PUSH1 0x40 0000195d: SHL 0000195e: SUB 0000195f: AND 00001960: SWAP3 00001961: DUP3 00001962: ADD 00001963: SWAP3 00001964: SWAP1 00001965: SWAP3 00001966: MSTORE 00001967: SWAP2 00001968: DUP3 00001969: SWAP2 0000196a: DUP3 0000196b: ADD 0000196c: SWAP1 0000196d: JUMP 0000196e: JUMPDEST 0000196f: CALLVALUE 00001970: PUSH2 0x0504 00001973: JUMPI 00001974: PUSH0 00001975: CALLDATASIZE 00001976: PUSH1 0x03 00001978: NOT 00001979: ADD 0000197a: SLT 0000197b: PUSH2 0x0504 0000197e: JUMPI 0000197f: PUSH0 00001980: SLOAD 00001981: PUSH1 0x01 00001983: PUSH1 0x01 00001985: PUSH1 0xa0 00001987: SHL 00001988: SUB 00001989: AND 0000198a: CALLER 0000198b: EQ 0000198c: ISZERO 0000198d: DUP1 0000198e: PUSH2 0x19c1 00001991: JUMPI 00001992: JUMPDEST 00001993: PUSH2 0x0a32 00001996: JUMPI 00001997: PUSH0 00001998: PUSH1 0x06 0000199a: SSTORE 0000199b: CALLER 0000199c: PUSH32 0xb7cc052ba5dd4e2c200f771e69c6c4dddd930567bd8bea00e527944967c57db8 000019bd: PUSH0 000019be: DUP1 000019bf: LOG2 000019c0: STOP 000019c1: JUMPDEST 000019c2: POP 000019c3: PUSH0 000019c4: MLOAD 000019c5: PUSH1 0x20 000019c7: PUSH2 0x4793 000019ca: PUSH0 000019cb: CODECOPY 000019cc: PUSH0 000019cd: MLOAD 000019ce: SWAP1 000019cf: PUSH0 000019d0: MSTORE 000019d1: SLOAD 000019d2: PUSH1 0x01 000019d4: PUSH1 0x01 000019d6: PUSH1 0xa0 000019d8: SHL 000019d9: SUB 000019da: AND 000019db: CALLER 000019dc: EQ 000019dd: ISZERO 000019de: PUSH2 0x1992 000019e1: JUMP 000019e2: JUMPDEST 000019e3: CALLVALUE 000019e4: PUSH2 0x0504 000019e7: JUMPI 000019e8: PUSH0 000019e9: CALLDATASIZE 000019ea: PUSH1 0x03 000019ec: NOT 000019ed: ADD 000019ee: SLT 000019ef: PUSH2 0x0504 000019f2: JUMPI 000019f3: PUSH2 0x19fa 000019f6: PUSH2 0x3a11 000019f9: JUMP 000019fa: JUMPDEST 000019fb: PUSH2 0x1a02 000019fe: PUSH2 0x40a3 00001a01: JUMP 00001a02: JUMPDEST 00001a03: PUSH0 00001a04: JUMPDEST 00001a05: PUSH1 0x0f 00001a07: SLOAD 00001a08: DUP2 00001a09: LT 00001a0a: ISZERO 00001a0b: PUSH2 0x088f 00001a0e: JUMPI 00001a0f: PUSH2 0x1a20 00001a12: PUSH2 0x0bf5 00001a15: PUSH2 0x0bf5 00001a18: PUSH2 0x0be0 00001a1b: DUP5 00001a1c: PUSH2 0x2ce0 00001a1f: JUMP 00001a20: JUMPDEST 00001a21: SWAP1 00001a22: DUP2 00001a23: EXTCODESIZE 00001a24: ISZERO 00001a25: PUSH2 0x0504 00001a28: JUMPI 00001a29: PUSH0 00001a2a: DUP1 00001a2b: SWAP3 00001a2c: PUSH1 0x04 00001a2e: PUSH1 0x40 00001a30: MLOAD 00001a31: DUP1 00001a32: SWAP6 00001a33: DUP2 00001a34: SWAP4 00001a35: PUSH4 0x8456cb59 00001a3a: PUSH1 0xe0 00001a3c: SHL 00001a3d: DUP4 00001a3e: MSTORE 00001a3f: GAS 00001a40: CALL 00001a41: SWAP2 00001a42: DUP3 00001a43: ISZERO 00001a44: PUSH2 0x0c51 00001a47: JUMPI 00001a48: PUSH1 0x01 00001a4a: SWAP3 00001a4b: PUSH2 0x1a56 00001a4e: JUMPI 00001a4f: JUMPDEST 00001a50: POP 00001a51: ADD 00001a52: PUSH2 0x1a04 00001a55: JUMP 00001a56: JUMPDEST 00001a57: DUP1 00001a58: PUSH2 0x0c45 00001a5b: PUSH0 00001a5c: PUSH2 0x1a64 00001a5f: SWAP4 00001a60: PUSH2 0x0ce6 00001a63: JUMP 00001a64: JUMPDEST 00001a65: PUSH0 00001a66: PUSH2 0x1a4f 00001a69: JUMP 00001a6a: JUMPDEST 00001a6b: CALLVALUE 00001a6c: PUSH2 0x0504 00001a6f: JUMPI 00001a70: PUSH0 00001a71: CALLDATASIZE 00001a72: PUSH1 0x03 00001a74: NOT 00001a75: ADD 00001a76: SLT 00001a77: PUSH2 0x0504 00001a7a: JUMPI 00001a7b: PUSH1 0x20 00001a7d: PUSH7 0x2386f26fc10000 00001a85: PUSH1 0x0c 00001a87: SLOAD 00001a88: DIV 00001a89: PUSH1 0x40 00001a8b: MLOAD 00001a8c: SWAP1 00001a8d: DUP2 00001a8e: MSTORE 00001a8f: RETURN 00001a90: JUMPDEST 00001a91: CALLVALUE 00001a92: PUSH2 0x0504 00001a95: JUMPI 00001a96: PUSH0 00001a97: CALLDATASIZE 00001a98: PUSH1 0x03 00001a9a: NOT 00001a9b: ADD 00001a9c: SLT 00001a9d: PUSH2 0x0504 00001aa0: JUMPI 00001aa1: PUSH1 0x05 00001aa3: SLOAD 00001aa4: DUP1 00001aa5: PUSH1 0xc0 00001aa7: SHR 00001aa8: DUP1 00001aa9: ISZERO 00001aaa: PUSH2 0x1ad4 00001aad: JUMPI 00001aae: TIMESTAMP 00001aaf: LT 00001ab0: PUSH2 0x1ac5 00001ab3: JUMPI 00001ab4: PUSH2 0x088f 00001ab7: SWAP1 00001ab8: PUSH1 0x01 00001aba: PUSH1 0x01 00001abc: PUSH1 0xc0 00001abe: SHL 00001abf: SUB 00001ac0: AND 00001ac1: PUSH2 0x3f37 00001ac4: JUMP 00001ac5: JUMPDEST 00001ac6: PUSH4 0x333bd2cb 00001acb: PUSH1 0xe1 00001acd: SHL 00001ace: PUSH0 00001acf: MSTORE 00001ad0: PUSH1 0x04 00001ad2: PUSH0 00001ad3: REVERT 00001ad4: JUMPDEST 00001ad5: PUSH4 0xe5f408a5 00001ada: PUSH1 0xe0 00001adc: SHL 00001add: PUSH0 00001ade: MSTORE 00001adf: PUSH1 0x04 00001ae1: PUSH0 00001ae2: REVERT 00001ae3: JUMPDEST 00001ae4: CALLVALUE 00001ae5: PUSH2 0x0504 00001ae8: JUMPI 00001ae9: PUSH0 00001aea: CALLDATASIZE 00001aeb: PUSH1 0x03 00001aed: NOT 00001aee: ADD 00001aef: SLT 00001af0: PUSH2 0x0504 00001af3: JUMPI 00001af4: PUSH0 00001af5: MLOAD 00001af6: PUSH1 0x20 00001af8: PUSH2 0x4793 00001afb: PUSH0 00001afc: CODECOPY 00001afd: PUSH0 00001afe: MLOAD 00001aff: SWAP1 00001b00: PUSH0 00001b01: MSTORE 00001b02: SLOAD 00001b03: PUSH1 0x40 00001b05: MLOAD 00001b06: PUSH1 0x01 00001b08: PUSH1 0x01 00001b0a: PUSH1 0xa0 00001b0c: SHL 00001b0d: SUB 00001b0e: SWAP1 00001b0f: SWAP2 00001b10: AND 00001b11: DUP2 00001b12: MSTORE 00001b13: PUSH1 0x20 00001b15: SWAP1 00001b16: RETURN 00001b17: JUMPDEST 00001b18: CALLVALUE 00001b19: PUSH2 0x0504 00001b1c: JUMPI 00001b1d: PUSH1 0x20 00001b1f: CALLDATASIZE 00001b20: PUSH1 0x03 00001b22: NOT 00001b23: ADD 00001b24: SLT 00001b25: PUSH2 0x0504 00001b28: JUMPI 00001b29: PUSH1 0x04 00001b2b: CALLDATALOAD 00001b2c: PUSH1 0x01 00001b2e: SLOAD 00001b2f: PUSH1 0x01 00001b31: PUSH1 0x01 00001b33: PUSH1 0xa0 00001b35: SHL 00001b36: SUB 00001b37: AND 00001b38: CALLER 00001b39: EQ 00001b3a: ISZERO 00001b3b: DUP1 00001b3c: PUSH2 0x1b7f 00001b3f: JUMPI 00001b40: JUMPDEST 00001b41: PUSH2 0x0946 00001b44: JUMPI 00001b45: PUSH1 0x09 00001b47: SLOAD 00001b48: DUP2 00001b49: EQ 00001b4a: PUSH2 0x0930 00001b4d: JUMPI 00001b4e: DUP1 00001b4f: PUSH1 0x09 00001b51: SSTORE 00001b52: PUSH1 0x40 00001b54: MLOAD 00001b55: SWAP1 00001b56: DUP2 00001b57: MSTORE 00001b58: PUSH32 0x51fa58fd85e72d533eb3933ef4dd0bb83a9614f46e076ffa025b0dcbb8dff315 00001b79: PUSH1 0x20 00001b7b: CALLER 00001b7c: SWAP3 00001b7d: LOG2 00001b7e: STOP 00001b7f: JUMPDEST 00001b80: POP 00001b81: PUSH0 00001b82: MLOAD 00001b83: PUSH1 0x20 00001b85: PUSH2 0x4793 00001b88: PUSH0 00001b89: CODECOPY 00001b8a: PUSH0 00001b8b: MLOAD 00001b8c: SWAP1 00001b8d: PUSH0 00001b8e: MSTORE 00001b8f: SLOAD 00001b90: PUSH1 0x01 00001b92: PUSH1 0x01 00001b94: PUSH1 0xa0 00001b96: SHL 00001b97: SUB 00001b98: AND 00001b99: CALLER 00001b9a: EQ 00001b9b: ISZERO 00001b9c: PUSH2 0x1b40 00001b9f: JUMP 00001ba0: JUMPDEST 00001ba1: CALLVALUE 00001ba2: PUSH2 0x0504 00001ba5: JUMPI 00001ba6: PUSH1 0x40 00001ba8: CALLDATASIZE 00001ba9: PUSH1 0x03 00001bab: NOT 00001bac: ADD 00001bad: SLT 00001bae: PUSH2 0x0504 00001bb1: JUMPI 00001bb2: PUSH1 0x04 00001bb4: CALLDATALOAD 00001bb5: PUSH2 0x1bbd 00001bb8: DUP2 00001bb9: PUSH2 0x0676 00001bbc: JUMP 00001bbd: JUMPDEST 00001bbe: PUSH1 0x24 00001bc0: CALLDATALOAD 00001bc1: SWAP1 00001bc2: PUSH2 0x1bc9 00001bc5: PUSH2 0x3e33 00001bc8: JUMP 00001bc9: JUMPDEST 00001bca: PUSH2 0x1bd1 00001bcd: PUSH2 0x3d2d 00001bd0: JUMP 00001bd1: JUMPDEST 00001bd2: PUSH1 0x01 00001bd4: SLOAD 00001bd5: PUSH1 0x01 00001bd7: PUSH1 0x01 00001bd9: PUSH1 0xa0 00001bdb: SHL 00001bdc: SUB 00001bdd: AND 00001bde: CALLER 00001bdf: EQ 00001be0: ISZERO 00001be1: DUP1 00001be2: PUSH2 0x1c50 00001be5: JUMPI 00001be6: JUMPDEST 00001be7: PUSH2 0x0946 00001bea: JUMPI 00001beb: PUSH0 00001bec: MLOAD 00001bed: PUSH1 0x20 00001bef: PUSH2 0x47d3 00001bf2: PUSH0 00001bf3: CODECOPY 00001bf4: PUSH0 00001bf5: MLOAD 00001bf6: SWAP1 00001bf7: PUSH0 00001bf8: MSTORE 00001bf9: SLOAD 00001bfa: PUSH1 0x40 00001bfc: MLOAD 00001bfd: PUSH4 0x2cfc68f1 00001c02: PUSH1 0xe1 00001c04: SHL 00001c05: PUSH1 0x20 00001c07: DUP3 00001c08: ADD 00001c09: MSTORE 00001c0a: PUSH1 0x01 00001c0c: PUSH1 0x01 00001c0e: PUSH1 0xa0 00001c10: SHL 00001c11: SUB 00001c12: SWAP2 00001c13: DUP3 00001c14: AND 00001c15: PUSH1 0x24 00001c17: DUP3 00001c18: ADD 00001c19: MSTORE 00001c1a: SWAP2 00001c1b: AND 00001c1c: PUSH1 0x44 00001c1e: DUP3 00001c1f: ADD 00001c20: MSTORE 00001c21: PUSH1 0x64 00001c23: DUP2 00001c24: ADD 00001c25: SWAP2 00001c26: SWAP1 00001c27: SWAP2 00001c28: MSTORE 00001c29: PUSH2 0x1c39 00001c2c: SWAP1 00001c2d: PUSH2 0x1385 00001c30: DUP2 00001c31: PUSH1 0x84 00001c33: DUP2 00001c34: ADD 00001c35: PUSH2 0x1377 00001c38: JUMP 00001c39: JUMPDEST 00001c3a: POP 00001c3b: PUSH2 0x088f 00001c3e: PUSH1 0x01 00001c40: PUSH0 00001c41: MLOAD 00001c42: PUSH1 0x20 00001c44: PUSH2 0x4813 00001c47: PUSH0 00001c48: CODECOPY 00001c49: PUSH0 00001c4a: MLOAD 00001c4b: SWAP1 00001c4c: PUSH0 00001c4d: MSTORE 00001c4e: SSTORE 00001c4f: JUMP 00001c50: JUMPDEST 00001c51: POP 00001c52: PUSH0 00001c53: MLOAD 00001c54: PUSH1 0x20 00001c56: PUSH2 0x4793 00001c59: PUSH0 00001c5a: CODECOPY 00001c5b: PUSH0 00001c5c: MLOAD 00001c5d: SWAP1 00001c5e: PUSH0 00001c5f: MSTORE 00001c60: SLOAD 00001c61: PUSH1 0x01 00001c63: PUSH1 0x01 00001c65: PUSH1 0xa0 00001c67: SHL 00001c68: SUB 00001c69: AND 00001c6a: CALLER 00001c6b: EQ 00001c6c: ISZERO 00001c6d: PUSH2 0x1be6 00001c70: JUMP 00001c71: JUMPDEST 00001c72: CALLVALUE 00001c73: PUSH2 0x0504 00001c76: JUMPI 00001c77: PUSH1 0x40 00001c79: CALLDATASIZE 00001c7a: PUSH1 0x03 00001c7c: NOT 00001c7d: ADD 00001c7e: SLT 00001c7f: PUSH2 0x0504 00001c82: JUMPI 00001c83: PUSH1 0x24 00001c85: CALLDATALOAD 00001c86: PUSH1 0x04 00001c88: CALLDATALOAD 00001c89: PUSH2 0x1c91 00001c8c: DUP3 00001c8d: PUSH2 0x0676 00001c90: JUMP 00001c91: JUMPDEST 00001c92: PUSH2 0x1c99 00001c95: PUSH2 0x34f3 00001c98: JUMP 00001c99: JUMPDEST 00001c9a: SWAP2 00001c9b: DUP3 00001c9c: DUP3 00001c9d: GT 00001c9e: PUSH2 0x1d64 00001ca1: JUMPI 00001ca2: PUSH2 0x05be 00001ca5: SWAP3 00001ca6: POP 00001ca7: PUSH2 0x1caf 00001caa: DUP3 00001cab: PUSH2 0x36fc 00001cae: JUMP 00001caf: JUMPDEST 00001cb0: SWAP2 00001cb1: PUSH2 0x1cb8 00001cb4: PUSH2 0x3e33 00001cb7: JUMP 00001cb8: JUMPDEST 00001cb9: PUSH2 0x1cc0 00001cbc: PUSH2 0x3d2d 00001cbf: JUMP 00001cc0: JUMPDEST 00001cc1: PUSH0 00001cc2: MLOAD 00001cc3: PUSH1 0x20 00001cc5: PUSH2 0x47d3 00001cc8: PUSH0 00001cc9: CODECOPY 00001cca: PUSH0 00001ccb: MLOAD 00001ccc: SWAP1 00001ccd: PUSH0 00001cce: MSTORE 00001ccf: SLOAD 00001cd0: PUSH2 0x1ce7 00001cd3: SWAP1 00001cd4: DUP5 00001cd5: SWAP1 00001cd6: ADDRESS 00001cd7: SWAP1 00001cd8: CALLER 00001cd9: SWAP1 00001cda: PUSH1 0x01 00001cdc: PUSH1 0x01 00001cde: PUSH1 0xa0 00001ce0: SHL 00001ce1: SUB 00001ce2: AND 00001ce3: PUSH2 0x4324 00001ce6: JUMP 00001ce7: JUMPDEST 00001ce8: PUSH2 0x1d11 00001ceb: DUP4 00001cec: PUSH2 0x1385 00001cef: PUSH2 0x1349 00001cf2: PUSH2 0x0bf5 00001cf5: PUSH2 0x0bf5 00001cf8: PUSH0 00001cf9: MLOAD 00001cfa: PUSH1 0x20 00001cfc: PUSH2 0x47d3 00001cff: PUSH0 00001d00: CODECOPY 00001d01: PUSH0 00001d02: MLOAD 00001d03: SWAP1 00001d04: PUSH0 00001d05: MSTORE 00001d06: SLOAD 00001d07: PUSH1 0x01 00001d09: DUP1 00001d0a: PUSH1 0xa0 00001d0c: SHL 00001d0d: SUB 00001d0e: AND 00001d0f: SWAP1 00001d10: JUMP 00001d11: JUMPDEST 00001d12: POP 00001d13: PUSH2 0x1d1c 00001d16: DUP2 00001d17: DUP4 00001d18: PUSH2 0x43f5 00001d1b: JUMP 00001d1c: JUMPDEST 00001d1d: PUSH1 0x40 00001d1f: DUP1 00001d20: MLOAD 00001d21: DUP5 00001d22: DUP2 00001d23: MSTORE 00001d24: PUSH1 0x20 00001d26: DUP2 00001d27: ADD 00001d28: SWAP3 00001d29: SWAP1 00001d2a: SWAP3 00001d2b: MSTORE 00001d2c: PUSH1 0x01 00001d2e: PUSH1 0x01 00001d30: PUSH1 0xa0 00001d32: SHL 00001d33: SUB 00001d34: SWAP1 00001d35: SWAP3 00001d36: AND 00001d37: SWAP2 00001d38: CALLER 00001d39: SWAP2 00001d3a: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7 00001d5b: SWAP2 00001d5c: DUP2 00001d5d: SWAP1 00001d5e: DUP2 00001d5f: ADD 00001d60: PUSH2 0x13d8 00001d63: JUMP 00001d64: JUMPDEST 00001d65: PUSH4 0x284ff667 00001d6a: PUSH1 0xe0 00001d6c: SHL 00001d6d: PUSH0 00001d6e: MSTORE 00001d6f: PUSH1 0x01 00001d71: DUP1 00001d72: PUSH1 0xa0 00001d74: SHL 00001d75: SUB 00001d76: AND 00001d77: PUSH1 0x04 00001d79: MSTORE 00001d7a: PUSH1 0x24 00001d7c: MSTORE 00001d7d: PUSH1 0x44 00001d7f: MSTORE 00001d80: PUSH1 0x64 00001d82: PUSH0 00001d83: REVERT 00001d84: JUMPDEST 00001d85: CALLVALUE 00001d86: PUSH2 0x0504 00001d89: JUMPI 00001d8a: PUSH0 00001d8b: CALLDATASIZE 00001d8c: PUSH1 0x03 00001d8e: NOT 00001d8f: ADD 00001d90: SLT 00001d91: PUSH2 0x0504 00001d94: JUMPI 00001d95: PUSH1 0x40 00001d97: MLOAD 00001d98: PUSH0 00001d99: PUSH0 00001d9a: MLOAD 00001d9b: PUSH1 0x20 00001d9d: PUSH2 0x4773 00001da0: PUSH0 00001da1: CODECOPY 00001da2: PUSH0 00001da3: MLOAD 00001da4: SWAP1 00001da5: PUSH0 00001da6: MSTORE 00001da7: SLOAD 00001da8: PUSH2 0x1db0 00001dab: DUP2 00001dac: PUSH2 0x2c0c 00001daf: JUMP 00001db0: JUMPDEST 00001db1: DUP1 00001db2: DUP5 00001db3: MSTORE 00001db4: SWAP1 00001db5: PUSH1 0x01 00001db7: DUP2 00001db8: AND 00001db9: SWAP1 00001dba: DUP2 00001dbb: ISZERO 00001dbc: PUSH2 0x062c 00001dbf: JUMPI 00001dc0: POP 00001dc1: PUSH1 0x01 00001dc3: EQ 00001dc4: PUSH2 0x1dd7 00001dc7: JUMPI 00001dc8: PUSH2 0x05be 00001dcb: DUP4 00001dcc: PUSH2 0x05b2 00001dcf: DUP2 00001dd0: DUP6 00001dd1: SUB 00001dd2: DUP3 00001dd3: PUSH2 0x0ce6 00001dd6: JUMP 00001dd7: JUMPDEST 00001dd8: PUSH0 00001dd9: MLOAD 00001dda: PUSH1 0x20 00001ddc: PUSH2 0x4773 00001ddf: PUSH0 00001de0: CODECOPY 00001de1: PUSH0 00001de2: MLOAD 00001de3: SWAP1 00001de4: PUSH0 00001de5: MSTORE 00001de6: PUSH0 00001de7: SWAP1 00001de8: DUP2 00001de9: MSTORE 00001dea: PUSH32 0x46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa 00001e0b: SWAP4 00001e0c: SWAP3 00001e0d: POP 00001e0e: SWAP1 00001e0f: JUMPDEST 00001e10: DUP1 00001e11: DUP3 00001e12: LT 00001e13: PUSH2 0x1e27 00001e16: JUMPI 00001e17: POP 00001e18: SWAP1 00001e19: SWAP2 00001e1a: POP 00001e1b: DUP2 00001e1c: ADD 00001e1d: PUSH1 0x20 00001e1f: ADD 00001e20: PUSH2 0x05b2 00001e23: PUSH2 0x05a2 00001e26: JUMP 00001e27: JUMPDEST 00001e28: SWAP2 00001e29: SWAP3 00001e2a: PUSH1 0x01 00001e2c: DUP2 00001e2d: PUSH1 0x20 00001e2f: SWAP3 00001e30: SLOAD 00001e31: DUP4 00001e32: DUP6 00001e33: DUP9 00001e34: ADD 00001e35: ADD 00001e36: MSTORE 00001e37: ADD 00001e38: SWAP2 00001e39: ADD 00001e3a: SWAP1 00001e3b: SWAP3 00001e3c: SWAP2 00001e3d: PUSH2 0x1e0f 00001e40: JUMP 00001e41: JUMPDEST 00001e42: CALLVALUE 00001e43: PUSH2 0x0504 00001e46: JUMPI 00001e47: PUSH1 0x20 00001e49: CALLDATASIZE 00001e4a: PUSH1 0x03 00001e4c: NOT 00001e4d: ADD 00001e4e: SLT 00001e4f: PUSH2 0x0504 00001e52: JUMPI 00001e53: PUSH1 0x04 00001e55: CALLDATALOAD 00001e56: PUSH2 0x1e5e 00001e59: DUP2 00001e5a: PUSH2 0x0676 00001e5d: JUMP 00001e5e: JUMPDEST 00001e5f: PUSH1 0x01 00001e61: SLOAD 00001e62: PUSH1 0x01 00001e64: PUSH1 0x01 00001e66: PUSH1 0xa0 00001e68: SHL 00001e69: SUB 00001e6a: AND 00001e6b: CALLER 00001e6c: EQ 00001e6d: ISZERO 00001e6e: DUP1 00001e6f: PUSH2 0x1ea8 00001e72: JUMPI 00001e73: JUMPDEST 00001e74: PUSH2 0x0946 00001e77: JUMPI 00001e78: PUSH1 0x40 00001e7a: MLOAD 00001e7b: PUSH4 0x26229931 00001e80: PUSH1 0xe2 00001e82: SHL 00001e83: PUSH1 0x20 00001e85: DUP3 00001e86: ADD 00001e87: MSTORE 00001e88: PUSH1 0x01 00001e8a: PUSH1 0x01 00001e8c: PUSH1 0xa0 00001e8e: SHL 00001e8f: SUB 00001e90: SWAP1 00001e91: SWAP2 00001e92: AND 00001e93: PUSH1 0x24 00001e95: DUP3 00001e96: ADD 00001e97: MSTORE 00001e98: PUSH2 0x088f 00001e9b: SWAP1 00001e9c: PUSH2 0x1385 00001e9f: DUP2 00001ea0: PUSH1 0x44 00001ea2: DUP2 00001ea3: ADD 00001ea4: PUSH2 0x1377 00001ea7: JUMP 00001ea8: JUMPDEST 00001ea9: POP 00001eaa: PUSH0 00001eab: MLOAD 00001eac: PUSH1 0x20 00001eae: PUSH2 0x4793 00001eb1: PUSH0 00001eb2: CODECOPY 00001eb3: PUSH0 00001eb4: MLOAD 00001eb5: SWAP1 00001eb6: PUSH0 00001eb7: MSTORE 00001eb8: SLOAD 00001eb9: PUSH1 0x01 00001ebb: PUSH1 0x01 00001ebd: PUSH1 0xa0 00001ebf: SHL 00001ec0: SUB 00001ec1: AND 00001ec2: CALLER 00001ec3: EQ 00001ec4: ISZERO 00001ec5: PUSH2 0x1e73 00001ec8: JUMP 00001ec9: JUMPDEST 00001eca: CALLVALUE 00001ecb: PUSH2 0x0504 00001ece: JUMPI 00001ecf: PUSH1 0x20 00001ed1: CALLDATASIZE 00001ed2: PUSH1 0x03 00001ed4: NOT 00001ed5: ADD 00001ed6: SLT 00001ed7: PUSH2 0x0504 00001eda: JUMPI 00001edb: PUSH1 0x04 00001edd: CALLDATALOAD 00001ede: PUSH2 0x1ee6 00001ee1: DUP2 00001ee2: PUSH2 0x0676 00001ee5: JUMP 00001ee6: JUMPDEST 00001ee7: PUSH2 0x1eee 00001eea: PUSH2 0x3a11 00001eed: JUMP 00001eee: JUMPDEST 00001eef: PUSH0 00001ef0: SLOAD 00001ef1: PUSH1 0x01 00001ef3: PUSH1 0x01 00001ef5: PUSH1 0xa0 00001ef7: SHL 00001ef8: SUB 00001ef9: AND 00001efa: PUSH1 0x01 00001efc: PUSH1 0x01 00001efe: PUSH1 0xa0 00001f00: SHL 00001f01: SUB 00001f02: DUP2 00001f03: AND 00001f04: PUSH1 0x01 00001f06: PUSH1 0x01 00001f08: PUSH1 0xa0 00001f0a: SHL 00001f0b: SUB 00001f0c: DUP4 00001f0d: AND 00001f0e: EQ 00001f0f: PUSH2 0x0930 00001f12: JUMPI 00001f13: PUSH1 0x07 00001f15: SLOAD 00001f16: PUSH1 0xa0 00001f18: SHR 00001f19: PUSH1 0x01 00001f1b: PUSH1 0x01 00001f1d: PUSH1 0x40 00001f1f: SHL 00001f20: SUB 00001f21: AND 00001f22: PUSH2 0x0921 00001f25: JUMPI 00001f26: PUSH1 0x01 00001f28: PUSH1 0x01 00001f2a: PUSH1 0xa0 00001f2c: SHL 00001f2d: SUB 00001f2e: AND 00001f2f: PUSH2 0x1f3b 00001f32: JUMPI 00001f33: PUSH2 0x088f 00001f36: SWAP1 00001f37: PUSH2 0x414d 00001f3a: JUMP 00001f3b: JUMPDEST 00001f3c: PUSH32 0x14279aa98f18dee77127cf315bcced708f417d07da24929c2f6460b481d0c13e 00001f5d: SWAP1 00001f5e: PUSH2 0x1f69 00001f61: PUSH1 0x08 00001f63: SLOAD 00001f64: DUP3 00001f65: PUSH2 0x40fc 00001f68: JUMP 00001f69: JUMPDEST 00001f6a: PUSH1 0x07 00001f6c: SLOAD 00001f6d: PUSH1 0xa0 00001f6f: SHR 00001f70: PUSH1 0x01 00001f72: PUSH1 0x01 00001f74: PUSH1 0x40 00001f76: SHL 00001f77: SUB 00001f78: AND 00001f79: PUSH1 0x40 00001f7b: DUP1 00001f7c: MLOAD 00001f7d: PUSH1 0x01 00001f7f: PUSH1 0x01 00001f81: PUSH1 0xa0 00001f83: SHL 00001f84: SUB 00001f85: SWAP1 00001f86: SWAP4 00001f87: AND 00001f88: DUP4 00001f89: MSTORE 00001f8a: PUSH1 0x01 00001f8c: PUSH1 0x01 00001f8e: PUSH1 0x40 00001f90: SHL 00001f91: SUB 00001f92: SWAP1 00001f93: SWAP2 00001f94: AND 00001f95: PUSH1 0x20 00001f97: DUP4 00001f98: ADD 00001f99: MSTORE 00001f9a: DUP2 00001f9b: SWAP1 00001f9c: DUP2 00001f9d: ADD 00001f9e: PUSH2 0x16e2 00001fa1: JUMP 00001fa2: JUMPDEST 00001fa3: CALLVALUE 00001fa4: PUSH2 0x0504 00001fa7: JUMPI 00001fa8: PUSH0 00001fa9: CALLDATASIZE 00001faa: PUSH1 0x03 00001fac: NOT 00001fad: ADD 00001fae: SLT 00001faf: PUSH2 0x0504 00001fb2: JUMPI 00001fb3: PUSH1 0x20 00001fb5: PUSH1 0x0f 00001fb7: SLOAD 00001fb8: PUSH1 0x40 00001fba: MLOAD 00001fbb: SWAP1 00001fbc: DUP2 00001fbd: MSTORE 00001fbe: RETURN 00001fbf: JUMPDEST 00001fc0: CALLVALUE 00001fc1: PUSH2 0x0504 00001fc4: JUMPI 00001fc5: PUSH0 00001fc6: CALLDATASIZE 00001fc7: PUSH1 0x03 00001fc9: NOT 00001fca: ADD 00001fcb: SLT 00001fcc: PUSH2 0x0504 00001fcf: JUMPI 00001fd0: PUSH1 0x07 00001fd2: SLOAD 00001fd3: PUSH1 0x01 00001fd5: PUSH1 0x01 00001fd7: PUSH1 0x40 00001fd9: SHL 00001fda: SUB 00001fdb: DUP2 00001fdc: PUSH1 0xa0 00001fde: SHR 00001fdf: AND 00001fe0: DUP1 00001fe1: ISZERO 00001fe2: PUSH2 0x1ad4 00001fe5: JUMPI 00001fe6: TIMESTAMP 00001fe7: LT 00001fe8: PUSH2 0x1ac5 00001feb: JUMPI 00001fec: PUSH2 0x088f 00001fef: SWAP1 00001ff0: PUSH1 0x01 00001ff2: PUSH1 0x01 00001ff4: PUSH1 0xa0 00001ff6: SHL 00001ff7: SUB 00001ff8: AND 00001ff9: PUSH2 0x414d 00001ffc: JUMP 00001ffd: JUMPDEST 00001ffe: CALLVALUE 00001fff: PUSH2 0x0504 00002002: JUMPI 00002003: PUSH1 0x40 00002005: CALLDATASIZE 00002006: PUSH1 0x03 00002008: NOT 00002009: ADD 0000200a: SLT 0000200b: PUSH2 0x0504 0000200e: JUMPI 0000200f: PUSH2 0x0aa2 00002012: PUSH1 0x04 00002014: CALLDATALOAD 00002015: PUSH2 0x201d 00002018: DUP2 00002019: PUSH2 0x0676 0000201c: JUMP 0000201d: JUMPDEST 0000201e: PUSH1 0x24 00002020: CALLDATALOAD 00002021: SWAP1 00002022: CALLER 00002023: PUSH2 0x3947 00002026: JUMP 00002027: JUMPDEST 00002028: CALLVALUE 00002029: PUSH2 0x0504 0000202c: JUMPI 0000202d: PUSH1 0x20 0000202f: CALLDATASIZE 00002030: PUSH1 0x03 00002032: NOT 00002033: ADD 00002034: SLT 00002035: PUSH2 0x0504 00002038: JUMPI 00002039: PUSH1 0x04 0000203b: CALLDATALOAD 0000203c: PUSH1 0x01 0000203e: PUSH1 0x01 00002040: PUSH1 0xb8 00002042: SHL 00002043: SUB 00002044: DUP2 00002045: AND 00002046: DUP2 00002047: SUB 00002048: PUSH2 0x0504 0000204b: JUMPI 0000204c: PUSH1 0x01 0000204e: SLOAD 0000204f: PUSH1 0x01 00002051: PUSH1 0x01 00002053: PUSH1 0xa0 00002055: SHL 00002056: SUB 00002057: AND 00002058: CALLER 00002059: EQ 0000205a: ISZERO 0000205b: DUP1 0000205c: PUSH2 0x206d 0000205f: JUMPI 00002060: JUMPDEST 00002061: PUSH2 0x0946 00002064: JUMPI 00002065: PUSH2 0x088f 00002068: SWAP1 00002069: PUSH2 0x335c 0000206c: JUMP 0000206d: JUMPDEST 0000206e: POP 0000206f: PUSH0 00002070: MLOAD 00002071: PUSH1 0x20 00002073: PUSH2 0x4793 00002076: PUSH0 00002077: CODECOPY 00002078: PUSH0 00002079: MLOAD 0000207a: SWAP1 0000207b: PUSH0 0000207c: MSTORE 0000207d: SLOAD 0000207e: PUSH1 0x01 00002080: PUSH1 0x01 00002082: PUSH1 0xa0 00002084: SHL 00002085: SUB 00002086: AND 00002087: CALLER 00002088: EQ 00002089: ISZERO 0000208a: PUSH2 0x2060 0000208d: JUMP 0000208e: JUMPDEST 0000208f: CALLVALUE 00002090: PUSH2 0x0504 00002093: JUMPI 00002094: PUSH1 0x80 00002096: CALLDATASIZE 00002097: PUSH1 0x03 00002099: NOT 0000209a: ADD 0000209b: SLT 0000209c: PUSH2 0x0504 0000209f: JUMPI 000020a0: PUSH1 0x04 000020a2: CALLDATALOAD 000020a3: PUSH2 0x20ab 000020a6: DUP2 000020a7: PUSH2 0x0676 000020aa: JUMP 000020ab: JUMPDEST 000020ac: PUSH1 0x24 000020ae: CALLDATALOAD 000020af: SWAP1 000020b0: PUSH1 0x44 000020b2: CALLDATALOAD 000020b3: PUSH1 0x64 000020b5: CALLDATALOAD 000020b6: PUSH1 0x01 000020b8: PUSH1 0x01 000020ba: PUSH1 0x40 000020bc: SHL 000020bd: SUB 000020be: DUP2 000020bf: GT 000020c0: PUSH2 0x0504 000020c3: JUMPI 000020c4: PUSH2 0x20d1 000020c7: SWAP1 000020c8: CALLDATASIZE 000020c9: SWAP1 000020ca: PUSH1 0x04 000020cc: ADD 000020cd: PUSH2 0x101b 000020d0: JUMP 000020d1: JUMPDEST 000020d2: SWAP1 000020d3: PUSH1 0x01 000020d5: DUP1 000020d6: PUSH1 0xa0 000020d8: SHL 000020d9: SUB 000020da: PUSH1 0x01 000020dc: SLOAD 000020dd: AND 000020de: CALLER 000020df: EQ 000020e0: ISZERO 000020e1: DUP1 000020e2: PUSH2 0x21e7 000020e5: JUMPI 000020e6: JUMPDEST 000020e7: PUSH2 0x0946 000020ea: JUMPI 000020eb: PUSH2 0x2135 000020ee: PUSH2 0x2131 000020f1: PUSH2 0x083f 000020f4: PUSH1 0x01 000020f6: DUP1 000020f7: PUSH1 0xa0 000020f9: SHL 000020fa: SUB 000020fb: DUP7 000020fc: AND 000020fd: DUP1 000020fe: PUSH0 000020ff: MSTORE 00002100: PUSH1 0x04 00002102: PUSH1 0x20 00002104: MSTORE 00002105: PUSH1 0x40 00002107: PUSH0 00002108: KECCAK256 00002109: SLOAD 0000210a: PUSH1 0xc0 0000210c: SHR 0000210d: ISZERO 0000210e: ISZERO 0000210f: DUP1 00002110: PUSH2 0x21af 00002113: JUMPI 00002114: JUMPDEST 00002115: PUSH2 0x216e 00002118: JUMPI 00002119: PUSH1 0x01 0000211b: PUSH1 0x01 0000211d: PUSH1 0xa0 0000211f: SHL 00002120: SUB 00002121: AND 00002122: PUSH0 00002123: SWAP1 00002124: DUP2 00002125: MSTORE 00002126: PUSH1 0x03 00002128: PUSH1 0x20 0000212a: MSTORE 0000212b: PUSH1 0x40 0000212d: SWAP1 0000212e: KECCAK256 0000212f: SWAP1 00002130: JUMP 00002131: JUMPDEST 00002132: ISZERO 00002133: SWAP1 00002134: JUMP 00002135: JUMPDEST 00002136: PUSH2 0x2160 00002139: JUMPI 0000213a: PUSH2 0x05be 0000213d: SWAP4 0000213e: PUSH2 0x2146 00002141: SWAP4 00002142: PUSH2 0x3467 00002145: JUMP 00002146: JUMPDEST 00002147: PUSH1 0x40 00002149: MLOAD 0000214a: PUSH1 0x01 0000214c: PUSH1 0x01 0000214e: PUSH1 0xa0 00002150: SHL 00002151: SUB 00002152: SWAP1 00002153: SWAP2 00002154: AND 00002155: DUP2 00002156: MSTORE 00002157: SWAP1 00002158: DUP2 00002159: SWAP1 0000215a: PUSH1 0x20 0000215c: DUP3 0000215d: ADD 0000215e: SWAP1 0000215f: JUMP 00002160: JUMPDEST 00002161: PUSH3 0x809237 00002165: PUSH1 0xe3 00002167: SHL 00002168: PUSH0 00002169: MSTORE 0000216a: PUSH1 0x04 0000216c: PUSH0 0000216d: REVERT 0000216e: JUMPDEST 0000216f: PUSH1 0x01 00002171: PUSH1 0x01 00002173: PUSH1 0xa0 00002175: SHL 00002176: SUB 00002177: DUP2 00002178: AND 00002179: PUSH0 0000217a: SWAP1 0000217b: DUP2 0000217c: MSTORE 0000217d: PUSH1 0x03 0000217f: PUSH1 0x20 00002181: MSTORE 00002182: PUSH1 0x40 00002184: SWAP1 00002185: KECCAK256 00002186: PUSH2 0x2196 00002189: SWAP1 0000218a: DUP1 0000218b: SLOAD 0000218c: PUSH1 0xff 0000218e: NOT 0000218f: AND 00002190: PUSH1 0x01 00002192: OR 00002193: SWAP1 00002194: SSTORE 00002195: JUMP 00002196: JUMPDEST 00002197: PUSH1 0x01 00002199: PUSH1 0x01 0000219b: PUSH1 0xa0 0000219d: SHL 0000219e: SUB 0000219f: AND 000021a0: PUSH0 000021a1: SWAP1 000021a2: DUP2 000021a3: MSTORE 000021a4: PUSH1 0x03 000021a6: PUSH1 0x20 000021a8: MSTORE 000021a9: PUSH1 0x40 000021ab: SWAP1 000021ac: KECCAK256 000021ad: SWAP1 000021ae: JUMP 000021af: JUMPDEST 000021b0: POP 000021b1: PUSH1 0x01 000021b3: PUSH1 0x01 000021b5: PUSH1 0xa0 000021b7: SHL 000021b8: SUB 000021b9: DUP2 000021ba: AND 000021bb: PUSH0 000021bc: SWAP1 000021bd: DUP2 000021be: MSTORE 000021bf: PUSH1 0x04 000021c1: PUSH1 0x20 000021c3: MSTORE 000021c4: PUSH1 0x40 000021c6: SWAP1 000021c7: KECCAK256 000021c8: PUSH2 0x21e0 000021cb: SWAP1 000021cc: PUSH2 0x21d4 000021cf: SWAP1 000021d0: PUSH2 0x0875 000021d3: JUMP 000021d4: JUMPDEST 000021d5: PUSH1 0x01 000021d7: PUSH1 0x01 000021d9: PUSH1 0x40 000021db: SHL 000021dc: SUB 000021dd: AND 000021de: SWAP1 000021df: JUMP 000021e0: JUMPDEST 000021e1: TIMESTAMP 000021e2: GT 000021e3: PUSH2 0x2114 000021e6: JUMP 000021e7: JUMPDEST 000021e8: POP 000021e9: PUSH0 000021ea: MLOAD 000021eb: PUSH1 0x20 000021ed: PUSH2 0x4793 000021f0: PUSH0 000021f1: CODECOPY 000021f2: PUSH0 000021f3: MLOAD 000021f4: SWAP1 000021f5: PUSH0 000021f6: MSTORE 000021f7: SLOAD 000021f8: PUSH1 0x01 000021fa: PUSH1 0x01 000021fc: PUSH1 0xa0 000021fe: SHL 000021ff: SUB 00002200: AND 00002201: CALLER 00002202: EQ 00002203: ISZERO 00002204: PUSH2 0x20e6 00002207: JUMP 00002208: JUMPDEST 00002209: CALLVALUE 0000220a: PUSH2 0x0504 0000220d: JUMPI 0000220e: PUSH2 0x2216 00002211: CALLDATASIZE 00002212: PUSH2 0x07d4 00002215: JUMP 00002216: JUMPDEST 00002217: SWAP1 00002218: PUSH2 0x221f 0000221b: PUSH2 0x3a11 0000221e: JUMP 0000221f: JUMPDEST 00002220: PUSH1 0x01 00002222: PUSH1 0x01 00002224: PUSH1 0xa0 00002226: SHL 00002227: SUB 00002228: AND 00002229: PUSH0 0000222a: DUP2 0000222b: DUP2 0000222c: MSTORE 0000222d: PUSH1 0x02 0000222f: PUSH1 0x20 00002231: MSTORE 00002232: PUSH1 0x40 00002234: SWAP1 00002235: KECCAK256 00002236: SLOAD 00002237: SWAP1 00002238: SWAP2 00002239: DUP1 0000223a: ISZERO 0000223b: ISZERO 0000223c: SWAP2 0000223d: PUSH1 0xff 0000223f: AND 00002240: ISZERO 00002241: ISZERO 00002242: DUP3 00002243: EQ 00002244: PUSH2 0x0930 00002247: JUMPI 00002248: PUSH32 0x74dc60cbc81a9472d04ad1d20e151d369c41104d655ed3f2f3091166a502cd8d 00002269: SWAP2 0000226a: PUSH2 0x228b 0000226d: PUSH1 0x20 0000226f: SWAP3 00002270: DUP6 00002271: PUSH0 00002272: MSTORE 00002273: PUSH1 0x02 00002275: DUP5 00002276: MSTORE 00002277: PUSH1 0x40 00002279: PUSH0 0000227a: KECCAK256 0000227b: SWAP1 0000227c: PUSH1 0xff 0000227e: DUP1 0000227f: NOT 00002280: DUP4 00002281: SLOAD 00002282: AND 00002283: SWAP2 00002284: ISZERO 00002285: ISZERO 00002286: AND 00002287: OR 00002288: SWAP1 00002289: SSTORE 0000228a: JUMP 0000228b: JUMPDEST 0000228c: PUSH1 0x40 0000228e: MLOAD 0000228f: SWAP1 00002290: DUP2 00002291: MSTORE 00002292: LOG2 00002293: STOP 00002294: JUMPDEST 00002295: CALLVALUE 00002296: PUSH2 0x0504 00002299: JUMPI 0000229a: PUSH1 0x20 0000229c: CALLDATASIZE 0000229d: PUSH1 0x03 0000229f: NOT 000022a0: ADD 000022a1: SLT 000022a2: PUSH2 0x0504 000022a5: JUMPI 000022a6: PUSH1 0x20 000022a8: PUSH2 0x066e 000022ab: PUSH1 0x04 000022ad: CALLDATALOAD 000022ae: PUSH2 0x36fc 000022b1: JUMP 000022b2: JUMPDEST 000022b3: PUSH1 0x60 000022b5: SWAP1 000022b6: PUSH1 0x03 000022b8: NOT 000022b9: ADD 000022ba: SLT 000022bb: PUSH2 0x0504 000022be: JUMPI 000022bf: PUSH1 0x04 000022c1: CALLDATALOAD 000022c2: SWAP1 000022c3: PUSH1 0x24 000022c5: CALLDATALOAD 000022c6: PUSH2 0x22ce 000022c9: DUP2 000022ca: PUSH2 0x0676 000022cd: JUMP 000022ce: JUMPDEST 000022cf: SWAP1 000022d0: PUSH1 0x44 000022d2: CALLDATALOAD 000022d3: PUSH2 0x0db5 000022d6: DUP2 000022d7: PUSH2 0x0676 000022da: JUMP 000022db: JUMPDEST 000022dc: CALLVALUE 000022dd: PUSH2 0x0504 000022e0: JUMPI 000022e1: PUSH2 0x22e9 000022e4: CALLDATASIZE 000022e5: PUSH2 0x22b2 000022e8: JUMP 000022e9: JUMPDEST 000022ea: PUSH2 0x22f5 000022ed: DUP2 000022ee: SWAP4 000022ef: SWAP3 000022f0: SWAP4 000022f1: PUSH2 0x3519 000022f4: JUMP 000022f5: JUMPDEST 000022f6: SWAP3 000022f7: DUP4 000022f8: DUP4 000022f9: GT 000022fa: PUSH2 0x23ef 000022fd: JUMPI 000022fe: PUSH2 0x05be 00002301: SWAP4 00002302: POP 00002303: PUSH2 0x230b 00002306: DUP4 00002307: PUSH2 0x3740 0000230a: JUMP 0000230b: JUMPDEST 0000230c: SWAP3 0000230d: PUSH2 0x2314 00002310: PUSH2 0x3e33 00002313: JUMP 00002314: JUMPDEST 00002315: PUSH1 0x01 00002317: PUSH1 0x01 00002319: PUSH1 0xa0 0000231b: SHL 0000231c: SUB 0000231d: DUP4 0000231e: AND 0000231f: SWAP3 00002320: PUSH2 0x2383 00002323: SWAP1 00002324: DUP6 00002325: SWAP1 00002326: CALLER 00002327: DUP7 00002328: SWAP1 00002329: SUB 0000232a: PUSH2 0x23df 0000232d: JUMPI 0000232e: JUMPDEST 0000232f: PUSH0 00002330: MLOAD 00002331: PUSH1 0x20 00002333: PUSH2 0x47d3 00002336: PUSH0 00002337: CODECOPY 00002338: PUSH0 00002339: MLOAD 0000233a: SWAP1 0000233b: PUSH0 0000233c: MSTORE 0000233d: SLOAD 0000233e: PUSH1 0x40 00002340: MLOAD 00002341: PUSH4 0x7bd58ea9 00002346: PUSH1 0xe0 00002348: SHL 00002349: PUSH1 0x20 0000234b: DUP3 0000234c: ADD 0000234d: MSTORE 0000234e: PUSH1 0x01 00002350: PUSH1 0x01 00002352: PUSH1 0xa0 00002354: SHL 00002355: SUB 00002356: SWAP2 00002357: DUP3 00002358: AND 00002359: PUSH1 0x24 0000235b: DUP3 0000235c: ADD 0000235d: MSTORE 0000235e: SWAP1 0000235f: DUP7 00002360: AND 00002361: PUSH1 0x44 00002363: DUP3 00002364: ADD 00002365: MSTORE 00002366: PUSH1 0x64 00002368: DUP2 00002369: ADD 0000236a: DUP6 0000236b: SWAP1 0000236c: MSTORE 0000236d: PUSH2 0x237d 00002370: SWAP1 00002371: PUSH2 0x1385 00002374: DUP2 00002375: PUSH1 0x84 00002377: DUP2 00002378: ADD 00002379: PUSH2 0x1377 0000237c: JUMP 0000237d: JUMPDEST 0000237e: POP 0000237f: PUSH2 0x3e6b 00002382: JUMP 00002383: JUMPDEST 00002384: PUSH1 0x40 00002386: DUP1 00002387: MLOAD 00002388: SWAP2 00002389: DUP3 0000238a: MSTORE 0000238b: PUSH1 0x20 0000238d: DUP3 0000238e: ADD 0000238f: DUP6 00002390: SWAP1 00002391: MSTORE 00002392: PUSH1 0x01 00002394: PUSH1 0x01 00002396: PUSH1 0xa0 00002398: SHL 00002399: SUB 0000239a: SWAP1 0000239b: SWAP3 0000239c: AND 0000239d: SWAP2 0000239e: CALLER 0000239f: SWAP2 000023a0: PUSH32 0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db 000023c1: SWAP2 000023c2: DUP2 000023c3: SWAP1 000023c4: DUP2 000023c5: ADD 000023c6: JUMPDEST 000023c7: SUB 000023c8: SWAP1 000023c9: LOG4 000023ca: PUSH2 0x13f1 000023cd: PUSH1 0x01 000023cf: PUSH0 000023d0: MLOAD 000023d1: PUSH1 0x20 000023d3: PUSH2 0x4813 000023d6: PUSH0 000023d7: CODECOPY 000023d8: PUSH0 000023d9: MLOAD 000023da: SWAP1 000023db: PUSH0 000023dc: MSTORE 000023dd: SSTORE 000023de: JUMP 000023df: JUMPDEST 000023e0: PUSH2 0x23ea 000023e3: DUP3 000023e4: CALLER 000023e5: DUP4 000023e6: PUSH2 0x38c9 000023e9: JUMP 000023ea: JUMPDEST 000023eb: PUSH2 0x232e 000023ee: JUMP 000023ef: JUMPDEST 000023f0: POP 000023f1: PUSH4 0x3fa733bb 000023f6: PUSH1 0xe2 000023f8: SHL 000023f9: PUSH0 000023fa: MSTORE 000023fb: PUSH1 0x01 000023fd: DUP1 000023fe: PUSH1 0xa0 00002400: SHL 00002401: SUB 00002402: AND 00002403: PUSH1 0x04 00002405: MSTORE 00002406: PUSH1 0x24 00002408: MSTORE 00002409: PUSH1 0x44 0000240b: MSTORE 0000240c: PUSH1 0x64 0000240e: PUSH0 0000240f: REVERT 00002410: JUMPDEST 00002411: CALLVALUE 00002412: PUSH2 0x0504 00002415: JUMPI 00002416: PUSH2 0x241e 00002419: CALLDATASIZE 0000241a: PUSH2 0x22b2 0000241d: JUMP 0000241e: JUMPDEST 0000241f: PUSH2 0x242a 00002422: DUP2 00002423: SWAP4 00002424: SWAP3 00002425: SWAP4 00002426: PUSH2 0x2fd0 00002429: JUMP 0000242a: JUMPDEST 0000242b: SWAP3 0000242c: DUP4 0000242d: DUP4 0000242e: GT 0000242f: PUSH2 0x250a 00002432: JUMPI 00002433: PUSH2 0x05be 00002436: SWAP4 00002437: POP 00002438: PUSH2 0x2440 0000243b: DUP4 0000243c: PUSH2 0x36b9 0000243f: JUMP 00002440: JUMPDEST 00002441: SWAP3 00002442: PUSH2 0x2449 00002445: PUSH2 0x3e33 00002448: JUMP 00002449: JUMPDEST 0000244a: PUSH1 0x01 0000244c: PUSH1 0x01 0000244e: PUSH1 0xa0 00002450: SHL 00002451: SUB 00002452: DUP4 00002453: AND 00002454: SWAP3 00002455: PUSH2 0x24b2 00002458: SWAP1 00002459: DUP3 0000245a: SWAP1 0000245b: CALLER 0000245c: DUP7 0000245d: SWAP1 0000245e: SUB 0000245f: PUSH2 0x24fa 00002462: JUMPI 00002463: JUMPDEST 00002464: PUSH0 00002465: MLOAD 00002466: PUSH1 0x20 00002468: PUSH2 0x47d3 0000246b: PUSH0 0000246c: CODECOPY 0000246d: PUSH0 0000246e: MLOAD 0000246f: SWAP1 00002470: PUSH0 00002471: MSTORE 00002472: SLOAD 00002473: PUSH1 0x40 00002475: MLOAD 00002476: PUSH4 0x7bd58ea9 0000247b: PUSH1 0xe0 0000247d: SHL 0000247e: PUSH1 0x20 00002480: DUP3 00002481: ADD 00002482: MSTORE 00002483: PUSH1 0x01 00002485: PUSH1 0x01 00002487: PUSH1 0xa0 00002489: SHL 0000248a: SUB 0000248b: SWAP2 0000248c: DUP3 0000248d: AND 0000248e: PUSH1 0x24 00002490: DUP3 00002491: ADD 00002492: MSTORE 00002493: SWAP1 00002494: DUP7 00002495: AND 00002496: PUSH1 0x44 00002498: DUP3 00002499: ADD 0000249a: MSTORE 0000249b: PUSH1 0x64 0000249d: DUP2 0000249e: ADD 0000249f: DUP9 000024a0: SWAP1 000024a1: MSTORE 000024a2: PUSH2 0x237d 000024a5: SWAP1 000024a6: PUSH2 0x1385 000024a9: DUP2 000024aa: PUSH1 0x84 000024ac: DUP2 000024ad: ADD 000024ae: PUSH2 0x1377 000024b1: JUMP 000024b2: JUMPDEST 000024b3: PUSH1 0x40 000024b5: DUP1 000024b6: MLOAD 000024b7: DUP6 000024b8: DUP2 000024b9: MSTORE 000024ba: PUSH1 0x20 000024bc: DUP2 000024bd: ADD 000024be: SWAP3 000024bf: SWAP1 000024c0: SWAP3 000024c1: MSTORE 000024c2: PUSH1 0x01 000024c4: PUSH1 0x01 000024c6: PUSH1 0xa0 000024c8: SHL 000024c9: SUB 000024ca: SWAP1 000024cb: SWAP3 000024cc: AND 000024cd: SWAP2 000024ce: CALLER 000024cf: SWAP2 000024d0: PUSH32 0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db 000024f1: SWAP2 000024f2: DUP2 000024f3: SWAP1 000024f4: DUP2 000024f5: ADD 000024f6: PUSH2 0x23c6 000024f9: JUMP 000024fa: JUMPDEST 000024fb: PUSH2 0x2505 000024fe: DUP3 000024ff: CALLER 00002500: DUP4 00002501: PUSH2 0x38c9 00002504: JUMP 00002505: JUMPDEST 00002506: PUSH2 0x2463 00002509: JUMP 0000250a: JUMPDEST 0000250b: POP 0000250c: PUSH4 0x2e52afbb 00002511: PUSH1 0xe2 00002513: SHL 00002514: PUSH0 00002515: MSTORE 00002516: PUSH1 0x01 00002518: DUP1 00002519: PUSH1 0xa0 0000251b: SHL 0000251c: SUB 0000251d: AND 0000251e: PUSH1 0x04 00002520: MSTORE 00002521: PUSH1 0x24 00002523: MSTORE 00002524: PUSH1 0x44 00002526: MSTORE 00002527: PUSH1 0x64 00002529: PUSH0 0000252a: REVERT 0000252b: JUMPDEST 0000252c: CALLVALUE 0000252d: PUSH2 0x0504 00002530: JUMPI 00002531: PUSH1 0x20 00002533: CALLDATASIZE 00002534: PUSH1 0x03 00002536: NOT 00002537: ADD 00002538: SLT 00002539: PUSH2 0x0504 0000253c: JUMPI 0000253d: PUSH2 0x2547 00002540: PUSH1 0x04 00002542: CALLDATALOAD 00002543: PUSH2 0x0676 00002546: JUMP 00002547: JUMPDEST 00002548: PUSH1 0x20 0000254a: PUSH2 0x066e 0000254d: PUSH2 0x34f3 00002550: JUMP 00002551: JUMPDEST 00002552: CALLVALUE 00002553: PUSH2 0x0504 00002556: JUMPI 00002557: PUSH1 0x20 00002559: CALLDATASIZE 0000255a: PUSH1 0x03 0000255c: NOT 0000255d: ADD 0000255e: SLT 0000255f: PUSH2 0x0504 00002562: JUMPI 00002563: PUSH1 0x20 00002565: PUSH2 0x066e 00002568: PUSH1 0x04 0000256a: CALLDATALOAD 0000256b: PUSH2 0x3784 0000256e: JUMP 0000256f: JUMPDEST 00002570: CALLVALUE 00002571: PUSH2 0x0504 00002574: JUMPI 00002575: PUSH0 00002576: CALLDATASIZE 00002577: PUSH1 0x03 00002579: NOT 0000257a: ADD 0000257b: SLT 0000257c: PUSH2 0x0504 0000257f: JUMPI 00002580: PUSH0 00002581: SLOAD 00002582: PUSH1 0x01 00002584: PUSH1 0x01 00002586: PUSH1 0xa0 00002588: SHL 00002589: SUB 0000258a: AND 0000258b: CALLER 0000258c: EQ 0000258d: ISZERO 0000258e: DUP1 0000258f: PUSH2 0x25c2 00002592: JUMPI 00002593: JUMPDEST 00002594: PUSH2 0x0a32 00002597: JUMPI 00002598: PUSH0 00002599: PUSH1 0x05 0000259b: SSTORE 0000259c: CALLER 0000259d: PUSH32 0x921828337692c347c634c5d2aacbc7b756014674bd236f3cc2058d8e284a951b 000025be: PUSH0 000025bf: DUP1 000025c0: LOG2 000025c1: STOP 000025c2: JUMPDEST 000025c3: POP 000025c4: PUSH0 000025c5: MLOAD 000025c6: PUSH1 0x20 000025c8: PUSH2 0x4793 000025cb: PUSH0 000025cc: CODECOPY 000025cd: PUSH0 000025ce: MLOAD 000025cf: SWAP1 000025d0: PUSH0 000025d1: MSTORE 000025d2: SLOAD 000025d3: PUSH1 0x01 000025d5: PUSH1 0x01 000025d7: PUSH1 0xa0 000025d9: SHL 000025da: SUB 000025db: AND 000025dc: CALLER 000025dd: EQ 000025de: ISZERO 000025df: PUSH2 0x2593 000025e2: JUMP 000025e3: JUMPDEST 000025e4: CALLVALUE 000025e5: PUSH2 0x0504 000025e8: JUMPI 000025e9: PUSH0 000025ea: CALLDATASIZE 000025eb: PUSH1 0x03 000025ed: NOT 000025ee: ADD 000025ef: SLT 000025f0: PUSH2 0x0504 000025f3: JUMPI 000025f4: PUSH1 0x06 000025f6: SLOAD 000025f7: DUP1 000025f8: PUSH1 0xc0 000025fa: SHR 000025fb: DUP1 000025fc: ISZERO 000025fd: PUSH2 0x1ad4 00002600: JUMPI 00002601: TIMESTAMP 00002602: LT 00002603: PUSH2 0x1ac5 00002606: JUMPI 00002607: PUSH2 0x2621 0000260a: SWAP1 0000260b: PUSH2 0x261c 0000260e: SWAP1 0000260f: PUSH1 0x01 00002611: PUSH1 0x01 00002613: PUSH1 0xc0 00002615: SHL 00002616: SUB 00002617: AND 00002618: PUSH2 0x4199 0000261b: JUMP 0000261c: JUMPDEST 0000261d: PUSH2 0x4063 00002620: JUMP 00002621: JUMPDEST 00002622: PUSH0 00002623: PUSH1 0x06 00002625: SSTORE 00002626: PUSH1 0x01 00002628: PUSH1 0x01 0000262a: PUSH1 0x40 0000262c: SHL 0000262d: SUB 0000262e: PUSH1 0x0e 00002630: SLOAD 00002631: AND 00002632: PUSH1 0x40 00002634: MLOAD 00002635: SWAP1 00002636: DUP2 00002637: MSTORE 00002638: PUSH32 0x20affe2401825617c69366f8c3a3493d9822d1021d0b3023c4e77ea5b3d0fbc5 00002659: PUSH1 0x20 0000265b: CALLER 0000265c: SWAP3 0000265d: LOG2 0000265e: STOP 0000265f: JUMPDEST 00002660: CALLVALUE 00002661: PUSH2 0x0504 00002664: JUMPI 00002665: PUSH1 0x20 00002667: CALLDATASIZE 00002668: PUSH1 0x03 0000266a: NOT 0000266b: ADD 0000266c: SLT 0000266d: PUSH2 0x0504 00002670: JUMPI 00002671: PUSH1 0x20 00002673: PUSH2 0x066e 00002676: PUSH1 0x04 00002678: CALLDATALOAD 00002679: PUSH2 0x2681 0000267c: DUP2 0000267d: PUSH2 0x0676 00002680: JUMP 00002681: JUMPDEST 00002682: PUSH2 0x3519 00002685: JUMP 00002686: JUMPDEST 00002687: CALLVALUE 00002688: PUSH2 0x0504 0000268b: JUMPI 0000268c: PUSH0 0000268d: CALLDATASIZE 0000268e: PUSH1 0x03 00002690: NOT 00002691: ADD 00002692: SLT 00002693: PUSH2 0x0504 00002696: JUMPI 00002697: PUSH1 0x20 00002699: PUSH1 0x08 0000269b: SLOAD 0000269c: PUSH1 0x40 0000269e: MLOAD 0000269f: SWAP1 000026a0: DUP2 000026a1: MSTORE 000026a2: RETURN 000026a3: JUMPDEST 000026a4: CALLVALUE 000026a5: PUSH2 0x0504 000026a8: JUMPI 000026a9: PUSH1 0x80 000026ab: CALLDATASIZE 000026ac: PUSH1 0x03 000026ae: NOT 000026af: ADD 000026b0: SLT 000026b1: PUSH2 0x0504 000026b4: JUMPI 000026b5: PUSH2 0x088f 000026b8: PUSH1 0x04 000026ba: CALLDATALOAD 000026bb: PUSH1 0x24 000026bd: CALLDATALOAD 000026be: PUSH1 0x44 000026c0: CALLDATALOAD 000026c1: SWAP1 000026c2: PUSH1 0x40 000026c4: MLOAD 000026c5: SWAP3 000026c6: PUSH4 0x0c3a1515 000026cb: PUSH1 0xe3 000026cd: SHL 000026ce: PUSH1 0x20 000026d0: DUP6 000026d1: ADD 000026d2: MSTORE 000026d3: PUSH1 0x24 000026d5: DUP5 000026d6: ADD 000026d7: MSTORE 000026d8: PUSH1 0x44 000026da: DUP4 000026db: ADD 000026dc: MSTORE 000026dd: PUSH1 0x64 000026df: DUP3 000026e0: ADD 000026e1: MSTORE 000026e2: PUSH1 0x64 000026e4: DUP2 000026e5: MSTORE 000026e6: PUSH2 0x1385 000026e9: PUSH1 0x84 000026eb: DUP3 000026ec: PUSH2 0x0ce6 000026ef: JUMP 000026f0: JUMPDEST 000026f1: CALLVALUE 000026f2: PUSH2 0x0504 000026f5: JUMPI 000026f6: PUSH1 0x40 000026f8: CALLDATASIZE 000026f9: PUSH1 0x03 000026fb: NOT 000026fc: ADD 000026fd: SLT 000026fe: PUSH2 0x0504 00002701: JUMPI 00002702: PUSH1 0x20 00002704: PUSH2 0x2727 00002707: PUSH1 0x04 00002709: CALLDATALOAD 0000270a: PUSH2 0x2712 0000270d: DUP2 0000270e: PUSH2 0x0676 00002711: JUMP 00002712: JUMPDEST 00002713: PUSH2 0x06d9 00002716: PUSH1 0x24 00002718: CALLDATALOAD 00002719: SWAP2 0000271a: PUSH2 0x2722 0000271d: DUP4 0000271e: PUSH2 0x0676 00002721: JUMP 00002722: JUMPDEST 00002723: PUSH2 0x2c44 00002726: JUMP 00002727: JUMPDEST 00002728: SLOAD 00002729: PUSH1 0x40 0000272b: MLOAD 0000272c: SWAP1 0000272d: DUP2 0000272e: MSTORE 0000272f: RETURN 00002730: JUMPDEST 00002731: CALLVALUE 00002732: PUSH2 0x0504 00002735: JUMPI 00002736: PUSH0 00002737: CALLDATASIZE 00002738: PUSH1 0x03 0000273a: NOT 0000273b: ADD 0000273c: SLT 0000273d: PUSH2 0x0504 00002740: JUMPI 00002741: PUSH0 00002742: MLOAD 00002743: PUSH1 0x20 00002745: PUSH2 0x4853 00002748: PUSH0 00002749: CODECOPY 0000274a: PUSH0 0000274b: MLOAD 0000274c: SWAP1 0000274d: PUSH0 0000274e: MSTORE 0000274f: SLOAD 00002750: PUSH1 0x40 00002752: MLOAD 00002753: PUSH1 0x01 00002755: PUSH1 0x01 00002757: PUSH1 0xa0 00002759: SHL 0000275a: SUB 0000275b: SWAP1 0000275c: SWAP2 0000275d: AND 0000275e: DUP2 0000275f: MSTORE 00002760: PUSH1 0x20 00002762: SWAP1 00002763: RETURN 00002764: JUMPDEST 00002765: CALLVALUE 00002766: PUSH2 0x0504 00002769: JUMPI 0000276a: PUSH1 0x20 0000276c: CALLDATASIZE 0000276d: PUSH1 0x03 0000276f: NOT 00002770: ADD 00002771: SLT 00002772: PUSH2 0x0504 00002775: JUMPI 00002776: PUSH1 0x04 00002778: CALLDATALOAD 00002779: PUSH2 0x2781 0000277c: DUP2 0000277d: PUSH2 0x0676 00002780: JUMP 00002781: JUMPDEST 00002782: PUSH0 00002783: SLOAD 00002784: PUSH1 0x01 00002786: PUSH1 0x01 00002788: PUSH1 0xa0 0000278a: SHL 0000278b: SUB 0000278c: AND 0000278d: CALLER 0000278e: EQ 0000278f: ISZERO 00002790: DUP1 00002791: PUSH2 0x27da 00002794: JUMPI 00002795: JUMPDEST 00002796: PUSH2 0x0a32 00002799: JUMPI 0000279a: PUSH1 0x01 0000279c: PUSH1 0x01 0000279e: PUSH1 0xa0 000027a0: SHL 000027a1: SUB 000027a2: AND 000027a3: PUSH0 000027a4: DUP2 000027a5: DUP2 000027a6: MSTORE 000027a7: PUSH1 0x04 000027a9: PUSH1 0x20 000027ab: MSTORE 000027ac: PUSH1 0x40 000027ae: DUP2 000027af: KECCAK256 000027b0: DUP2 000027b1: SWAP1 000027b2: SSTORE 000027b3: CALLER 000027b4: SWAP1 000027b5: PUSH32 0x10d2cd24a2375b12d91635518e47506f9aebfe8af364c6109b93ac41e8b0b86f 000027d6: SWAP1 000027d7: DUP1 000027d8: LOG3 000027d9: STOP 000027da: JUMPDEST 000027db: POP 000027dc: PUSH0 000027dd: MLOAD 000027de: PUSH1 0x20 000027e0: PUSH2 0x4793 000027e3: PUSH0 000027e4: CODECOPY 000027e5: PUSH0 000027e6: MLOAD 000027e7: SWAP1 000027e8: PUSH0 000027e9: MSTORE 000027ea: SLOAD 000027eb: PUSH1 0x01 000027ed: PUSH1 0x01 000027ef: PUSH1 0xa0 000027f1: SHL 000027f2: SUB 000027f3: AND 000027f4: CALLER 000027f5: EQ 000027f6: ISZERO 000027f7: PUSH2 0x2795 000027fa: JUMP 000027fb: JUMPDEST 000027fc: CALLVALUE 000027fd: PUSH2 0x0504 00002800: JUMPI 00002801: PUSH0 00002802: CALLDATASIZE 00002803: PUSH1 0x03 00002805: NOT 00002806: ADD 00002807: SLT 00002808: PUSH2 0x0504 0000280b: JUMPI 0000280c: PUSH1 0x20 0000280e: PUSH7 0x2386f26fc10000 00002816: PUSH1 0x0d 00002818: SLOAD 00002819: DIV 0000281a: PUSH1 0x40 0000281c: MLOAD 0000281d: SWAP1 0000281e: DUP2 0000281f: MSTORE 00002820: RETURN 00002821: JUMPDEST 00002822: CALLVALUE 00002823: PUSH2 0x0504 00002826: JUMPI 00002827: PUSH0 00002828: CALLDATASIZE 00002829: PUSH1 0x03 0000282b: NOT 0000282c: ADD 0000282d: SLT 0000282e: PUSH2 0x0504 00002831: JUMPI 00002832: PUSH1 0x01 00002834: SLOAD 00002835: PUSH1 0x40 00002837: MLOAD 00002838: PUSH1 0x01 0000283a: PUSH1 0x01 0000283c: PUSH1 0xa0 0000283e: SHL 0000283f: SUB 00002840: SWAP1 00002841: SWAP2 00002842: AND 00002843: DUP2 00002844: MSTORE 00002845: PUSH1 0x20 00002847: SWAP1 00002848: RETURN 00002849: JUMPDEST 0000284a: CALLVALUE 0000284b: PUSH2 0x0504 0000284e: JUMPI 0000284f: PUSH2 0x2857 00002852: CALLDATASIZE 00002853: PUSH2 0x0d8b 00002856: JUMP 00002857: JUMPDEST 00002858: CALLER 00002859: PUSH0 0000285a: MSTORE 0000285b: PUSH1 0x02 0000285d: PUSH1 0x20 0000285f: MSTORE 00002860: PUSH1 0xff 00002862: PUSH1 0x40 00002864: PUSH0 00002865: KECCAK256 00002866: SLOAD 00002867: AND 00002868: ISZERO 00002869: DUP1 0000286a: PUSH2 0x28a2 0000286d: JUMPI 0000286e: JUMPDEST 0000286f: DUP1 00002870: PUSH2 0x2881 00002873: JUMPI 00002874: JUMPDEST 00002875: PUSH2 0x0df0 00002878: JUMPI 00002879: PUSH2 0x088f 0000287c: SWAP1 0000287d: PUSH2 0x41ca 00002880: JUMP 00002881: JUMPDEST 00002882: POP 00002883: PUSH0 00002884: MLOAD 00002885: PUSH1 0x20 00002887: PUSH2 0x4793 0000288a: PUSH0 0000288b: CODECOPY 0000288c: PUSH0 0000288d: MLOAD 0000288e: SWAP1 0000288f: PUSH0 00002890: MSTORE 00002891: SLOAD 00002892: PUSH1 0x01 00002894: PUSH1 0x01 00002896: PUSH1 0xa0 00002898: SHL 00002899: SUB 0000289a: AND 0000289b: CALLER 0000289c: EQ 0000289d: ISZERO 0000289e: PUSH2 0x2874 000028a1: JUMP 000028a2: JUMPDEST 000028a3: POP 000028a4: PUSH1 0x01 000028a6: SLOAD 000028a7: PUSH1 0x01 000028a9: PUSH1 0x01 000028ab: PUSH1 0xa0 000028ad: SHL 000028ae: SUB 000028af: AND 000028b0: CALLER 000028b1: EQ 000028b2: ISZERO 000028b3: PUSH2 0x286e 000028b6: JUMP 000028b7: JUMPDEST 000028b8: CALLVALUE 000028b9: PUSH2 0x0504 000028bc: JUMPI 000028bd: PUSH1 0x20 000028bf: CALLDATASIZE 000028c0: PUSH1 0x03 000028c2: NOT 000028c3: ADD 000028c4: SLT 000028c5: PUSH2 0x0504 000028c8: JUMPI 000028c9: PUSH1 0x04 000028cb: CALLDATALOAD 000028cc: PUSH2 0x28d4 000028cf: DUP2 000028d0: PUSH2 0x0676 000028d3: JUMP 000028d4: JUMPDEST 000028d5: PUSH2 0x28dc 000028d8: PUSH2 0x3a11 000028db: JUMP 000028dc: JUMPDEST 000028dd: PUSH1 0x01 000028df: SLOAD 000028e0: PUSH1 0x01 000028e2: PUSH1 0x01 000028e4: PUSH1 0xa0 000028e6: SHL 000028e7: SUB 000028e8: SWAP2 000028e9: DUP3 000028ea: AND 000028eb: SWAP2 000028ec: DUP2 000028ed: AND 000028ee: DUP3 000028ef: EQ 000028f0: PUSH2 0x0930 000028f3: JUMPI 000028f4: PUSH1 0x01 000028f6: PUSH1 0x01 000028f8: PUSH1 0xa0 000028fa: SHL 000028fb: SUB 000028fc: NOT 000028fd: AND 000028fe: DUP2 000028ff: OR 00002900: PUSH1 0x01 00002902: SSTORE 00002903: PUSH1 0x40 00002905: MLOAD 00002906: SWAP1 00002907: DUP2 00002908: MSTORE 00002909: PUSH32 0xbd0a63c12948fbc9194a5839019f99c9d71db924e5c70018265bc778b8f1a506 0000292a: SWAP1 0000292b: PUSH1 0x20 0000292d: SWAP1 0000292e: LOG1 0000292f: STOP 00002930: JUMPDEST 00002931: CALLVALUE 00002932: PUSH2 0x0504 00002935: JUMPI 00002936: PUSH1 0x20 00002938: CALLDATASIZE 00002939: PUSH1 0x03 0000293b: NOT 0000293c: ADD 0000293d: SLT 0000293e: PUSH2 0x0504 00002941: JUMPI 00002942: PUSH1 0x04 00002944: CALLDATALOAD 00002945: PUSH2 0x294d 00002948: DUP2 00002949: PUSH2 0x0676 0000294c: JUMP 0000294d: JUMPDEST 0000294e: PUSH0 0000294f: PUSH1 0x80 00002951: PUSH1 0x40 00002953: MLOAD 00002954: PUSH2 0x295c 00002957: DUP2 00002958: PUSH2 0x0ccb 0000295b: JUMP 0000295c: JUMPDEST 0000295d: DUP3 0000295e: DUP2 0000295f: MSTORE 00002960: DUP3 00002961: PUSH1 0x20 00002963: DUP3 00002964: ADD 00002965: MSTORE 00002966: DUP3 00002967: PUSH1 0x40 00002969: DUP3 0000296a: ADD 0000296b: MSTORE 0000296c: DUP3 0000296d: PUSH1 0x60 0000296f: DUP3 00002970: ADD 00002971: MSTORE 00002972: ADD 00002973: MSTORE 00002974: PUSH1 0x01 00002976: DUP1 00002977: PUSH1 0xa0 00002979: SHL 0000297a: SUB 0000297b: AND 0000297c: PUSH0 0000297d: MSTORE 0000297e: PUSH1 0x12 00002980: PUSH1 0x20 00002982: MSTORE 00002983: PUSH2 0x05be 00002986: PUSH1 0x40 00002988: PUSH0 00002989: KECCAK256 0000298a: PUSH2 0x29f4 0000298d: PUSH2 0x29e4 00002990: PUSH1 0x03 00002992: PUSH1 0x40 00002994: MLOAD 00002995: SWAP4 00002996: PUSH2 0x299e 00002999: DUP6 0000299a: PUSH2 0x0ccb 0000299d: JUMP 0000299e: JUMPDEST 0000299f: DUP1 000029a0: SLOAD 000029a1: PUSH1 0x01 000029a3: PUSH1 0x01 000029a5: PUSH1 0xa0 000029a7: SHL 000029a8: SUB 000029a9: SWAP1 000029aa: DUP2 000029ab: AND 000029ac: DUP7 000029ad: MSTORE 000029ae: PUSH1 0x01 000029b0: DUP3 000029b1: ADD 000029b2: SLOAD 000029b3: DUP2 000029b4: AND 000029b5: PUSH1 0x20 000029b7: DUP8 000029b8: ADD 000029b9: MSTORE 000029ba: PUSH1 0x02 000029bc: DUP3 000029bd: ADD 000029be: SLOAD 000029bf: AND 000029c0: PUSH1 0x40 000029c2: DUP7 000029c3: ADD 000029c4: MSTORE 000029c5: ADD 000029c6: SLOAD 000029c7: PUSH1 0x01 000029c9: PUSH1 0x01 000029cb: PUSH1 0x80 000029cd: SHL 000029ce: SUB 000029cf: DUP2 000029d0: AND 000029d1: PUSH1 0x60 000029d3: DUP6 000029d4: ADD 000029d5: MSTORE 000029d6: PUSH1 0x80 000029d8: SHR 000029d9: PUSH1 0x01 000029db: PUSH1 0x01 000029dd: PUSH1 0x40 000029df: SHL 000029e0: SUB 000029e1: AND 000029e2: SWAP1 000029e3: JUMP 000029e4: JUMPDEST 000029e5: PUSH1 0x01 000029e7: PUSH1 0x01 000029e9: PUSH1 0x40 000029eb: SHL 000029ec: SUB 000029ed: AND 000029ee: PUSH1 0x80 000029f0: DUP4 000029f1: ADD 000029f2: MSTORE 000029f3: JUMP 000029f4: JUMPDEST 000029f5: PUSH1 0x40 000029f7: DUP1 000029f8: MLOAD 000029f9: DUP3 000029fa: MLOAD 000029fb: PUSH1 0x01 000029fd: PUSH1 0x01 000029ff: PUSH1 0xa0 00002a01: SHL 00002a02: SUB 00002a03: SWAP1 00002a04: DUP2 00002a05: AND 00002a06: DUP3 00002a07: MSTORE 00002a08: PUSH1 0x20 00002a0a: DUP1 00002a0b: DUP6 00002a0c: ADD 00002a0d: MLOAD 00002a0e: DUP3 00002a0f: AND 00002a10: SWAP1 00002a11: DUP4 00002a12: ADD 00002a13: MSTORE 00002a14: DUP4 00002a15: DUP4 00002a16: ADD 00002a17: MLOAD 00002a18: AND 00002a19: SWAP2 00002a1a: DUP2 00002a1b: ADD 00002a1c: SWAP2 00002a1d: SWAP1 00002a1e: SWAP2 00002a1f: MSTORE 00002a20: PUSH1 0x60 00002a22: DUP1 00002a23: DUP4 00002a24: ADD 00002a25: MLOAD 00002a26: PUSH1 0x01 00002a28: PUSH1 0x01 00002a2a: PUSH1 0x80 00002a2c: SHL 00002a2d: SUB 00002a2e: AND 00002a2f: SWAP1 00002a30: DUP3 00002a31: ADD 00002a32: MSTORE 00002a33: PUSH1 0x80 00002a35: SWAP2 00002a36: DUP3 00002a37: ADD 00002a38: MLOAD 00002a39: PUSH1 0x01 00002a3b: PUSH1 0x01 00002a3d: PUSH1 0x40 00002a3f: SHL 00002a40: SUB 00002a41: AND 00002a42: SWAP2 00002a43: DUP2 00002a44: ADD 00002a45: SWAP2 00002a46: SWAP1 00002a47: SWAP2 00002a48: MSTORE 00002a49: SWAP1 00002a4a: DUP2 00002a4b: SWAP1 00002a4c: PUSH1 0xa0 00002a4e: DUP3 00002a4f: ADD 00002a50: SWAP1 00002a51: JUMP 00002a52: JUMPDEST 00002a53: CALLVALUE 00002a54: PUSH2 0x0504 00002a57: JUMPI 00002a58: PUSH1 0x20 00002a5a: CALLDATASIZE 00002a5b: PUSH1 0x03 00002a5d: NOT 00002a5e: ADD 00002a5f: SLT 00002a60: PUSH2 0x0504 00002a63: JUMPI 00002a64: PUSH1 0x04 00002a66: CALLDATALOAD 00002a67: PUSH2 0x2a6f 00002a6a: DUP2 00002a6b: PUSH2 0x0676 00002a6e: JUMP 00002a6f: JUMPDEST 00002a70: PUSH2 0x2a77 00002a73: PUSH2 0x3a11 00002a76: JUMP 00002a77: JUMPDEST 00002a78: PUSH0 00002a79: MLOAD 00002a7a: PUSH1 0x20 00002a7c: PUSH2 0x4853 00002a7f: PUSH0 00002a80: CODECOPY 00002a81: PUSH0 00002a82: MLOAD 00002a83: SWAP1 00002a84: PUSH0 00002a85: MSTORE 00002a86: DUP1 00002a87: SLOAD 00002a88: PUSH1 0x01 00002a8a: PUSH1 0x01 00002a8c: PUSH1 0xa0 00002a8e: SHL 00002a8f: SUB 00002a90: NOT 00002a91: AND 00002a92: PUSH1 0x01 00002a94: PUSH1 0x01 00002a96: PUSH1 0xa0 00002a98: SHL 00002a99: SUB 00002a9a: SWAP3 00002a9b: DUP4 00002a9c: AND 00002a9d: SWAP1 00002a9e: DUP2 00002a9f: OR 00002aa0: SWAP1 00002aa1: SWAP2 00002aa2: SSTORE 00002aa3: PUSH0 00002aa4: MLOAD 00002aa5: PUSH1 0x20 00002aa7: PUSH2 0x4793 00002aaa: PUSH0 00002aab: CODECOPY 00002aac: PUSH0 00002aad: MLOAD 00002aae: SWAP1 00002aaf: PUSH0 00002ab0: MSTORE 00002ab1: SLOAD 00002ab2: SWAP1 00002ab3: SWAP2 00002ab4: AND 00002ab5: PUSH32 0x38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e22700 00002ad6: PUSH0 00002ad7: DUP1 00002ad8: LOG3 00002ad9: STOP 00002ada: JUMPDEST 00002adb: CALLVALUE 00002adc: PUSH2 0x0504 00002adf: JUMPI 00002ae0: PUSH1 0x20 00002ae2: CALLDATASIZE 00002ae3: PUSH1 0x03 00002ae5: NOT 00002ae6: ADD 00002ae7: SLT 00002ae8: PUSH2 0x0504 00002aeb: JUMPI 00002aec: PUSH1 0x04 00002aee: CALLDATALOAD 00002aef: PUSH2 0x2af7 00002af2: DUP2 00002af3: PUSH2 0x0676 00002af6: JUMP 00002af7: JUMPDEST 00002af8: PUSH1 0x01 00002afa: PUSH1 0x01 00002afc: PUSH1 0xa0 00002afe: SHL 00002aff: SUB 00002b00: DUP2 00002b01: AND 00002b02: PUSH0 00002b03: SWAP1 00002b04: DUP2 00002b05: MSTORE 00002b06: PUSH1 0x04 00002b08: PUSH1 0x20 00002b0a: MSTORE 00002b0b: PUSH1 0x40 00002b0d: SWAP1 00002b0e: KECCAK256 00002b0f: SLOAD 00002b10: PUSH1 0xc0 00002b12: SHR 00002b13: DUP1 00002b14: ISZERO 00002b15: PUSH2 0x1ad4 00002b18: JUMPI 00002b19: TIMESTAMP 00002b1a: LT 00002b1b: PUSH2 0x1ac5 00002b1e: JUMPI 00002b1f: PUSH1 0x01 00002b21: DUP1 00002b22: PUSH1 0xa0 00002b24: SHL 00002b25: SUB 00002b26: AND 00002b27: DUP1 00002b28: PUSH0 00002b29: MSTORE 00002b2a: PUSH1 0x03 00002b2c: PUSH1 0x20 00002b2e: MSTORE 00002b2f: PUSH1 0x40 00002b31: PUSH0 00002b32: KECCAK256 00002b33: PUSH1 0x01 00002b35: PUSH1 0xff 00002b37: NOT 00002b38: DUP3 00002b39: SLOAD 00002b3a: AND 00002b3b: OR 00002b3c: SWAP1 00002b3d: SSTORE 00002b3e: DUP1 00002b3f: PUSH1 0x40 00002b41: MLOAD 00002b42: PUSH1 0x01 00002b44: DUP2 00002b45: MSTORE 00002b46: PUSH32 0x7276f1d77fbb1794919362294fb870305193d894417c47c88716aa858f4272d3 00002b67: PUSH1 0x20 00002b69: CALLER 00002b6a: SWAP3 00002b6b: LOG3 00002b6c: PUSH0 00002b6d: SWAP1 00002b6e: DUP2 00002b6f: MSTORE 00002b70: PUSH1 0x04 00002b72: PUSH1 0x20 00002b74: MSTORE 00002b75: PUSH1 0x40 00002b77: DUP2 00002b78: KECCAK256 00002b79: SSTORE 00002b7a: STOP 00002b7b: JUMPDEST 00002b7c: CALLVALUE 00002b7d: PUSH2 0x0504 00002b80: JUMPI 00002b81: PUSH1 0x20 00002b83: CALLDATASIZE 00002b84: PUSH1 0x03 00002b86: NOT 00002b87: ADD 00002b88: SLT 00002b89: PUSH2 0x0504 00002b8c: JUMPI 00002b8d: PUSH1 0x04 00002b8f: CALLDATALOAD 00002b90: PUSH1 0x0f 00002b92: SLOAD 00002b93: DUP2 00002b94: LT 00002b95: ISZERO 00002b96: PUSH2 0x127e 00002b99: JUMPI 00002b9a: PUSH1 0x0f 00002b9c: PUSH0 00002b9d: MSTORE 00002b9e: PUSH32 0x8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802 00002bbf: ADD 00002bc0: SLOAD 00002bc1: PUSH1 0x40 00002bc3: MLOAD 00002bc4: PUSH1 0x01 00002bc6: PUSH1 0x01 00002bc8: PUSH1 0xa0 00002bca: SHL 00002bcb: SUB 00002bcc: SWAP1 00002bcd: SWAP2 00002bce: AND 00002bcf: DUP2 00002bd0: MSTORE 00002bd1: PUSH1 0x20 00002bd3: SWAP1 00002bd4: RETURN 00002bd5: JUMPDEST 00002bd6: PUSH4 0x4e487b71 00002bdb: PUSH1 0xe0 00002bdd: SHL 00002bde: PUSH0 00002bdf: MSTORE 00002be0: PUSH1 0x12 00002be2: PUSH1 0x04 00002be4: MSTORE 00002be5: PUSH1 0x24 00002be7: PUSH0 00002be8: REVERT 00002be9: JUMPDEST 00002bea: PUSH4 0x4e487b71 00002bef: PUSH1 0xe0 00002bf1: SHL 00002bf2: PUSH0 00002bf3: MSTORE 00002bf4: PUSH1 0x11 00002bf6: PUSH1 0x04 00002bf8: MSTORE 00002bf9: PUSH1 0x24 00002bfb: PUSH0 00002bfc: REVERT 00002bfd: JUMPDEST 00002bfe: DUP2 00002bff: ISZERO 00002c00: PUSH2 0x2c07 00002c03: JUMPI 00002c04: DIV 00002c05: SWAP1 00002c06: JUMP 00002c07: JUMPDEST 00002c08: PUSH2 0x2bd5 00002c0b: JUMP 00002c0c: JUMPDEST 00002c0d: SWAP1 00002c0e: PUSH1 0x01 00002c10: DUP3 00002c11: DUP2 00002c12: SHR 00002c13: SWAP3 00002c14: AND 00002c15: DUP1 00002c16: ISZERO 00002c17: PUSH2 0x2c3a 00002c1a: JUMPI 00002c1b: JUMPDEST 00002c1c: PUSH1 0x20 00002c1e: DUP4 00002c1f: LT 00002c20: EQ 00002c21: PUSH2 0x2c26 00002c24: JUMPI 00002c25: JUMP 00002c26: JUMPDEST 00002c27: PUSH4 0x4e487b71 00002c2c: PUSH1 0xe0 00002c2e: SHL 00002c2f: PUSH0 00002c30: MSTORE 00002c31: PUSH1 0x22 00002c33: PUSH1 0x04 00002c35: MSTORE 00002c36: PUSH1 0x24 00002c38: PUSH0 00002c39: REVERT 00002c3a: JUMPDEST 00002c3b: SWAP2 00002c3c: PUSH1 0x7f 00002c3e: AND 00002c3f: SWAP2 00002c40: PUSH2 0x2c1b 00002c43: JUMP 00002c44: JUMPDEST 00002c45: PUSH1 0x01 00002c47: PUSH1 0x01 00002c49: PUSH1 0xa0 00002c4b: SHL 00002c4c: SUB 00002c4d: AND 00002c4e: PUSH0 00002c4f: SWAP1 00002c50: DUP2 00002c51: MSTORE 00002c52: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01 00002c73: PUSH1 0x20 00002c75: MSTORE 00002c76: PUSH1 0x40 00002c78: SWAP1 00002c79: KECCAK256 00002c7a: SWAP1 00002c7b: JUMP 00002c7c: JUMPDEST 00002c7d: PUSH1 0x01 00002c7f: PUSH1 0x01 00002c81: PUSH1 0xa0 00002c83: SHL 00002c84: SUB 00002c85: AND 00002c86: PUSH0 00002c87: SWAP1 00002c88: DUP2 00002c89: MSTORE 00002c8a: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 00002cab: PUSH1 0x20 00002cad: MSTORE 00002cae: PUSH1 0x40 00002cb0: SWAP1 00002cb1: KECCAK256 00002cb2: SWAP1 00002cb3: JUMP 00002cb4: JUMPDEST 00002cb5: PUSH1 0x40 00002cb7: MLOAD 00002cb8: SWAP1 00002cb9: PUSH2 0x2cc1 00002cbc: DUP3 00002cbd: PUSH2 0x0cb0 00002cc0: JUMP 00002cc1: JUMPDEST 00002cc2: PUSH0 00002cc3: PUSH1 0x20 00002cc5: DUP4 00002cc6: DUP3 00002cc7: DUP2 00002cc8: MSTORE 00002cc9: ADD 00002cca: MSTORE 00002ccb: JUMP 00002ccc: JUMPDEST 00002ccd: PUSH4 0x4e487b71 00002cd2: PUSH1 0xe0 00002cd4: SHL 00002cd5: PUSH0 00002cd6: MSTORE 00002cd7: PUSH1 0x32 00002cd9: PUSH1 0x04 00002cdb: MSTORE 00002cdc: PUSH1 0x24 00002cde: PUSH0 00002cdf: REVERT 00002ce0: JUMPDEST 00002ce1: PUSH1 0x0f 00002ce3: SLOAD 00002ce4: DUP2 00002ce5: LT 00002ce6: ISZERO 00002ce7: PUSH2 0x127e 00002cea: JUMPI 00002ceb: PUSH1 0x0f 00002ced: PUSH0 00002cee: MSTORE 00002cef: PUSH1 0x20 00002cf1: PUSH0 00002cf2: KECCAK256 00002cf3: ADD 00002cf4: SWAP1 00002cf5: PUSH0 00002cf6: SWAP1 00002cf7: JUMP 00002cf8: JUMPDEST 00002cf9: PUSH1 0x10 00002cfb: SLOAD 00002cfc: DUP2 00002cfd: LT 00002cfe: ISZERO 00002cff: PUSH2 0x127e 00002d02: JUMPI 00002d03: PUSH1 0x10 00002d05: PUSH0 00002d06: MSTORE 00002d07: PUSH1 0x20 00002d09: PUSH0 00002d0a: KECCAK256 00002d0b: ADD 00002d0c: SWAP1 00002d0d: PUSH0 00002d0e: SWAP1 00002d0f: JUMP 00002d10: JUMPDEST 00002d11: PUSH1 0x40 00002d13: MLOAD 00002d14: RETURNDATASIZE 00002d15: PUSH0 00002d16: DUP3 00002d17: RETURNDATACOPY 00002d18: RETURNDATASIZE 00002d19: SWAP1 00002d1a: REVERT 00002d1b: JUMPDEST 00002d1c: SWAP2 00002d1d: SWAP1 00002d1e: DUP3 00002d1f: SUB 00002d20: SWAP2 00002d21: DUP3 00002d22: GT 00002d23: PUSH2 0x0ae5 00002d26: JUMPI 00002d27: JUMP 00002d28: JUMPDEST 00002d29: PUSH1 0xff 00002d2b: PUSH0 00002d2c: MLOAD 00002d2d: PUSH1 0x20 00002d2f: PUSH2 0x47f3 00002d32: PUSH0 00002d33: CODECOPY 00002d34: PUSH0 00002d35: MLOAD 00002d36: SWAP1 00002d37: PUSH0 00002d38: MSTORE 00002d39: SLOAD 00002d3a: AND 00002d3b: PUSH2 0x2d7e 00002d3e: JUMPI 00002d3f: PUSH7 0x2386f26fc10000 00002d47: PUSH2 0x2d4e 00002d4a: PUSH2 0x3565 00002d4d: JUMP 00002d4e: JUMPDEST 00002d4f: POP 00002d50: DIV 00002d51: PUSH1 0x09 00002d53: SLOAD 00002d54: DUP1 00002d55: SWAP2 00002d56: LT 00002d57: ISZERO 00002d58: PUSH2 0x2d79 00002d5b: JUMPI 00002d5c: PUSH7 0x2386f26fc10000 00002d64: PUSH2 0x2d6b 00002d67: PUSH2 0x3565 00002d6a: JUMP 00002d6b: JUMPDEST 00002d6c: POP 00002d6d: DIV 00002d6e: DUP2 00002d6f: SUB 00002d70: SWAP1 00002d71: DUP2 00002d72: GT 00002d73: PUSH2 0x0ae5 00002d76: JUMPI 00002d77: SWAP1 00002d78: JUMP 00002d79: JUMPDEST 00002d7a: POP 00002d7b: PUSH0 00002d7c: SWAP1 00002d7d: JUMP 00002d7e: JUMPDEST 00002d7f: PUSH0 00002d80: SWAP1 00002d81: JUMP 00002d82: JUMPDEST 00002d83: DUP2 00002d84: DUP2 00002d85: MUL 00002d86: SWAP3 00002d87: SWAP2 00002d88: DUP2 00002d89: ISZERO 00002d8a: SWAP2 00002d8b: DUP5 00002d8c: DIV 00002d8d: EQ 00002d8e: OR 00002d8f: ISZERO 00002d90: PUSH2 0x0ae5 00002d93: JUMPI 00002d94: JUMP 00002d95: JUMPDEST 00002d96: PUSH1 0x0b 00002d98: SLOAD 00002d99: DUP1 00002d9a: ISZERO 00002d9b: PUSH2 0x2d79 00002d9e: JUMPI 00002d9f: PUSH1 0x0d 00002da1: SLOAD 00002da2: PUSH1 0x01 00002da4: PUSH1 0x01 00002da6: PUSH1 0x40 00002da8: SHL 00002da9: SUB 00002daa: PUSH1 0x0e 00002dac: SLOAD 00002dad: AND 00002dae: PUSH4 0x05f5e100 00002db3: SUB 00002db4: PUSH4 0x05f5e100 00002db9: DUP2 00002dba: GT 00002dbb: PUSH2 0x0ae5 00002dbe: JUMPI 00002dbf: PUSH2 0x2dc7 00002dc2: SWAP2 00002dc3: PUSH2 0x2d82 00002dc6: JUMP 00002dc7: JUMPDEST 00002dc8: DIV 00002dc9: SWAP1 00002dca: JUMP 00002dcb: JUMPDEST 00002dcc: SWAP4 00002dcd: SWAP3 00002dce: SWAP1 00002dcf: SWAP2 00002dd0: PUSH1 0x01 00002dd2: DUP1 00002dd3: PUSH1 0xa0 00002dd5: SHL 00002dd6: SUB 00002dd7: PUSH1 0x01 00002dd9: SLOAD 00002dda: AND 00002ddb: CALLER 00002ddc: EQ 00002ddd: ISZERO 00002dde: DUP1 00002ddf: PUSH2 0x2eaf 00002de2: JUMPI 00002de3: JUMPDEST 00002de4: PUSH2 0x0946 00002de7: JUMPI 00002de8: PUSH2 0x2def 00002deb: PUSH2 0x3d2d 00002dee: JUMP 00002def: JUMPDEST 00002df0: PUSH1 0x01 00002df2: DUP1 00002df3: PUSH1 0xa0 00002df5: SHL 00002df6: SUB 00002df7: PUSH0 00002df8: MLOAD 00002df9: PUSH1 0x20 00002dfb: PUSH2 0x47d3 00002dfe: PUSH0 00002dff: CODECOPY 00002e00: PUSH0 00002e01: MLOAD 00002e02: SWAP1 00002e03: PUSH0 00002e04: MSTORE 00002e05: SLOAD 00002e06: AND 00002e07: SWAP3 00002e08: PUSH1 0x40 00002e0a: MLOAD 00002e0b: SWAP4 00002e0c: PUSH4 0x53cc9d55 00002e11: PUSH1 0xe1 00002e13: SHL 00002e14: PUSH1 0x20 00002e16: DUP7 00002e17: ADD 00002e18: MSTORE 00002e19: PUSH1 0xc4 00002e1b: DUP6 00002e1c: ADD 00002e1d: SWAP1 00002e1e: PUSH1 0x24 00002e20: DUP7 00002e21: ADD 00002e22: MSTORE 00002e23: PUSH1 0xa0 00002e25: PUSH1 0x44 00002e27: DUP7 00002e28: ADD 00002e29: MSTORE 00002e2a: DUP7 00002e2b: MLOAD 00002e2c: DUP1 00002e2d: SWAP2 00002e2e: MSTORE 00002e2f: PUSH1 0x20 00002e31: PUSH1 0xe4 00002e33: DUP7 00002e34: ADD 00002e35: SWAP8 00002e36: ADD 00002e37: SWAP1 00002e38: PUSH0 00002e39: JUMPDEST 00002e3a: DUP2 00002e3b: DUP2 00002e3c: LT 00002e3d: PUSH2 0x2e90 00002e40: JUMPI 00002e41: POP 00002e42: POP 00002e43: POP 00002e44: PUSH2 0x1385 00002e47: SWAP3 00002e48: PUSH2 0x2e7b 00002e4b: DUP6 00002e4c: SWAP4 00002e4d: PUSH2 0x2e69 00002e50: PUSH2 0x2e8d 00002e53: SWAP9 00002e54: SWAP10 00002e55: PUSH2 0x1377 00002e58: SWAP6 00002e59: PUSH1 0x23 00002e5b: NOT 00002e5c: DUP9 00002e5d: DUP4 00002e5e: SUB 00002e5f: ADD 00002e60: PUSH1 0x64 00002e62: DUP10 00002e63: ADD 00002e64: MSTORE 00002e65: PUSH2 0x2ed0 00002e68: JUMP 00002e69: JUMPDEST 00002e6a: DUP6 00002e6b: DUP2 00002e6c: SUB 00002e6d: PUSH1 0x23 00002e6f: NOT 00002e70: ADD 00002e71: PUSH1 0x84 00002e73: DUP8 00002e74: ADD 00002e75: MSTORE 00002e76: SWAP1 00002e77: PUSH2 0x2ed0 00002e7a: JUMP 00002e7b: JUMPDEST 00002e7c: DUP4 00002e7d: DUP2 00002e7e: SUB 00002e7f: PUSH1 0x23 00002e81: NOT 00002e82: ADD 00002e83: PUSH1 0xa4 00002e85: DUP6 00002e86: ADD 00002e87: MSTORE 00002e88: SWAP1 00002e89: PUSH2 0x2f78 00002e8c: JUMP 00002e8d: JUMPDEST 00002e8e: POP 00002e8f: JUMP 00002e90: JUMPDEST 00002e91: DUP3 00002e92: MLOAD 00002e93: PUSH1 0x01 00002e95: PUSH1 0x01 00002e97: PUSH1 0xa0 00002e99: SHL 00002e9a: SUB 00002e9b: AND 00002e9c: DUP10 00002e9d: MSTORE 00002e9e: PUSH1 0x20 00002ea0: SWAP9 00002ea1: DUP10 00002ea2: ADD 00002ea3: SWAP9 00002ea4: SWAP1 00002ea5: SWAP3 00002ea6: ADD 00002ea7: SWAP2 00002ea8: PUSH1 0x01 00002eaa: ADD 00002eab: PUSH2 0x2e39 00002eae: JUMP 00002eaf: JUMPDEST 00002eb0: POP 00002eb1: PUSH0 00002eb2: MLOAD 00002eb3: PUSH1 0x20 00002eb5: PUSH2 0x4793 00002eb8: PUSH0 00002eb9: CODECOPY 00002eba: PUSH0 00002ebb: MLOAD 00002ebc: SWAP1 00002ebd: PUSH0 00002ebe: MSTORE 00002ebf: SLOAD 00002ec0: PUSH1 0x01 00002ec2: PUSH1 0x01 00002ec4: PUSH1 0xa0 00002ec6: SHL 00002ec7: SUB 00002ec8: AND 00002ec9: CALLER 00002eca: EQ 00002ecb: ISZERO 00002ecc: PUSH2 0x2de3 00002ecf: JUMP 00002ed0: JUMPDEST 00002ed1: SWAP1 00002ed2: PUSH1 0x20 00002ed4: DUP1 00002ed5: DUP4 00002ed6: MLOAD 00002ed7: SWAP3 00002ed8: DUP4 00002ed9: DUP2 00002eda: MSTORE 00002edb: ADD 00002edc: SWAP3 00002edd: ADD 00002ede: SWAP1 00002edf: PUSH0 00002ee0: JUMPDEST 00002ee1: DUP2 00002ee2: DUP2 00002ee3: LT 00002ee4: PUSH2 0x2eed 00002ee7: JUMPI 00002ee8: POP 00002ee9: POP 00002eea: POP 00002eeb: SWAP1 00002eec: JUMP 00002eed: JUMPDEST 00002eee: DUP3 00002eef: MLOAD 00002ef0: DUP5 00002ef1: MSTORE 00002ef2: PUSH1 0x20 00002ef4: SWAP4 00002ef5: DUP5 00002ef6: ADD 00002ef7: SWAP4 00002ef8: SWAP1 00002ef9: SWAP3 00002efa: ADD 00002efb: SWAP2 00002efc: PUSH1 0x01 00002efe: ADD 00002eff: PUSH2 0x2ee0 00002f02: JUMP 00002f03: JUMPDEST 00002f04: SWAP1 00002f05: PUSH1 0x20 00002f07: DUP1 00002f08: DUP4 00002f09: MLOAD 00002f0a: SWAP3 00002f0b: DUP4 00002f0c: DUP2 00002f0d: MSTORE 00002f0e: ADD 00002f0f: SWAP3 00002f10: ADD 00002f11: SWAP1 00002f12: PUSH0 00002f13: JUMPDEST 00002f14: DUP2 00002f15: DUP2 00002f16: LT 00002f17: PUSH2 0x2f20 00002f1a: JUMPI 00002f1b: POP 00002f1c: POP 00002f1d: POP 00002f1e: SWAP1 00002f1f: JUMP 00002f20: JUMPDEST 00002f21: SWAP1 00002f22: SWAP2 00002f23: SWAP3 00002f24: PUSH1 0x20 00002f26: PUSH1 0x60 00002f28: PUSH1 0x01 00002f2a: SWAP3 00002f2b: PUSH1 0x40 00002f2d: DUP8 00002f2e: MLOAD 00002f2f: DUP1 00002f30: MLOAD 00002f31: DUP4 00002f32: MSTORE 00002f33: DUP5 00002f34: DUP2 00002f35: ADD 00002f36: MLOAD 00002f37: DUP6 00002f38: DUP5 00002f39: ADD 00002f3a: MSTORE 00002f3b: ADD 00002f3c: MLOAD 00002f3d: PUSH1 0x40 00002f3f: DUP3 00002f40: ADD 00002f41: MSTORE 00002f42: ADD 00002f43: SWAP5 00002f44: ADD 00002f45: SWAP2 00002f46: ADD 00002f47: SWAP2 00002f48: SWAP1 00002f49: SWAP2 00002f4a: PUSH2 0x2f13 00002f4d: JUMP 00002f4e: JUMPDEST 00002f4f: PUSH2 0x0db5 00002f52: SWAP2 00002f53: PUSH1 0x20 00002f55: PUSH2 0x2f67 00002f58: DUP4 00002f59: MLOAD 00002f5a: PUSH1 0x40 00002f5c: DUP5 00002f5d: MSTORE 00002f5e: PUSH1 0x40 00002f60: DUP5 00002f61: ADD 00002f62: SWAP1 00002f63: PUSH2 0x2f03 00002f66: JUMP 00002f67: JUMPDEST 00002f68: SWAP3 00002f69: ADD 00002f6a: MLOAD 00002f6b: SWAP1 00002f6c: PUSH1 0x20 00002f6e: DUP2 00002f6f: DUP5 00002f70: SUB 00002f71: SWAP2 00002f72: ADD 00002f73: MSTORE 00002f74: PUSH2 0x2f03 00002f77: JUMP 00002f78: JUMPDEST 00002f79: SWAP1 00002f7a: DUP1 00002f7b: PUSH1 0x20 00002f7d: DUP4 00002f7e: MLOAD 00002f7f: SWAP2 00002f80: DUP3 00002f81: DUP2 00002f82: MSTORE 00002f83: ADD 00002f84: SWAP2 00002f85: PUSH1 0x20 00002f87: DUP1 00002f88: DUP4 00002f89: PUSH1 0x05 00002f8b: SHL 00002f8c: DUP4 00002f8d: ADD 00002f8e: ADD 00002f8f: SWAP5 00002f90: ADD 00002f91: SWAP3 00002f92: PUSH0 00002f93: SWAP2 00002f94: JUMPDEST 00002f95: DUP4 00002f96: DUP4 00002f97: LT 00002f98: PUSH2 0x2fa3 00002f9b: JUMPI 00002f9c: POP 00002f9d: POP 00002f9e: POP 00002f9f: POP 00002fa0: POP 00002fa1: SWAP1 00002fa2: JUMP 00002fa3: JUMPDEST 00002fa4: SWAP1 00002fa5: SWAP2 00002fa6: SWAP3 00002fa7: SWAP4 00002fa8: SWAP5 00002fa9: PUSH1 0x20 00002fab: DUP1 00002fac: PUSH2 0x2fc1 00002faf: PUSH1 0x01 00002fb1: SWAP4 00002fb2: PUSH1 0x1f 00002fb4: NOT 00002fb5: DUP7 00002fb6: DUP3 00002fb7: SUB 00002fb8: ADD 00002fb9: DUP8 00002fba: MSTORE 00002fbb: DUP10 00002fbc: MLOAD 00002fbd: PUSH2 0x2f4e 00002fc0: JUMP 00002fc1: JUMPDEST 00002fc2: SWAP8 00002fc3: ADD 00002fc4: SWAP4 00002fc5: ADD 00002fc6: SWAP4 00002fc7: ADD 00002fc8: SWAP2 00002fc9: SWAP4 00002fca: SWAP3 00002fcb: SWAP1 00002fcc: PUSH2 0x2f94 00002fcf: JUMP 00002fd0: JUMPDEST 00002fd1: PUSH1 0x01 00002fd3: PUSH1 0x01 00002fd5: PUSH1 0xa0 00002fd7: SHL 00002fd8: SUB 00002fd9: AND 00002fda: PUSH0 00002fdb: SWAP1 00002fdc: DUP2 00002fdd: MSTORE 00002fde: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 00002fff: PUSH1 0x20 00003001: MSTORE 00003002: PUSH1 0x40 00003004: SWAP1 00003005: KECCAK256 00003006: SLOAD 00003007: SWAP1 00003008: JUMP 00003009: JUMPDEST 0000300a: SWAP1 0000300b: DUP2 0000300c: PUSH1 0x20 0000300e: SWAP2 0000300f: SUB 00003010: SLT 00003011: PUSH2 0x0504 00003014: JUMPI 00003015: MLOAD 00003016: SWAP1 00003017: JUMP 00003018: JUMPDEST 00003019: PUSH0 0000301a: MLOAD 0000301b: PUSH1 0x20 0000301d: PUSH2 0x4833 00003020: PUSH0 00003021: CODECOPY 00003022: PUSH0 00003023: MLOAD 00003024: SWAP1 00003025: PUSH0 00003026: MSTORE 00003027: SLOAD 00003028: SWAP1 00003029: PUSH1 0x01 0000302b: PUSH1 0x01 0000302d: PUSH1 0x40 0000302f: SHL 00003030: SUB 00003031: PUSH2 0x3049 00003034: PUSH1 0x40 00003036: DUP5 00003037: SWAP1 00003038: SHR 00003039: PUSH1 0xff 0000303b: AND 0000303c: ISZERO 0000303d: SWAP4 0000303e: PUSH1 0x01 00003040: PUSH1 0x01 00003042: PUSH1 0x40 00003044: SHL 00003045: SUB 00003046: AND 00003047: SWAP1 00003048: JUMP 00003049: JUMPDEST 0000304a: AND 0000304b: DUP1 0000304c: ISZERO 0000304d: SWAP1 0000304e: DUP2 0000304f: PUSH2 0x3163 00003052: JUMPI 00003053: JUMPDEST 00003054: PUSH1 0x01 00003056: EQ 00003057: SWAP1 00003058: DUP2 00003059: PUSH2 0x3159 0000305c: JUMPI 0000305d: JUMPDEST 0000305e: ISZERO 0000305f: SWAP1 00003060: DUP2 00003061: PUSH2 0x3150 00003064: JUMPI 00003065: JUMPDEST 00003066: POP 00003067: PUSH2 0x3141 0000306a: JUMPI 0000306b: PUSH2 0x30a8 0000306e: SWAP1 0000306f: DUP3 00003070: PUSH2 0x309f 00003073: PUSH1 0x01 00003075: PUSH1 0x01 00003077: PUSH1 0x01 00003079: PUSH1 0x40 0000307b: SHL 0000307c: SUB 0000307d: NOT 0000307e: PUSH0 0000307f: MLOAD 00003080: PUSH1 0x20 00003082: PUSH2 0x4833 00003085: PUSH0 00003086: CODECOPY 00003087: PUSH0 00003088: MLOAD 00003089: SWAP1 0000308a: PUSH0 0000308b: MSTORE 0000308c: SLOAD 0000308d: AND 0000308e: OR 0000308f: PUSH0 00003090: MLOAD 00003091: PUSH1 0x20 00003093: PUSH2 0x4833 00003096: PUSH0 00003097: CODECOPY 00003098: PUSH0 00003099: MLOAD 0000309a: SWAP1 0000309b: PUSH0 0000309c: MSTORE 0000309d: SSTORE 0000309e: JUMP 0000309f: JUMPDEST 000030a0: PUSH2 0x310c 000030a3: JUMPI 000030a4: PUSH2 0x316b 000030a7: JUMP 000030a8: JUMPDEST 000030a9: PUSH2 0x30ae 000030ac: JUMPI 000030ad: JUMP 000030ae: JUMPDEST 000030af: PUSH2 0x30d8 000030b2: PUSH1 0xff 000030b4: PUSH1 0x40 000030b6: SHL 000030b7: NOT 000030b8: PUSH0 000030b9: MLOAD 000030ba: PUSH1 0x20 000030bc: PUSH2 0x4833 000030bf: PUSH0 000030c0: CODECOPY 000030c1: PUSH0 000030c2: MLOAD 000030c3: SWAP1 000030c4: PUSH0 000030c5: MSTORE 000030c6: SLOAD 000030c7: AND 000030c8: PUSH0 000030c9: MLOAD 000030ca: PUSH1 0x20 000030cc: PUSH2 0x4833 000030cf: PUSH0 000030d0: CODECOPY 000030d1: PUSH0 000030d2: MLOAD 000030d3: SWAP1 000030d4: PUSH0 000030d5: MSTORE 000030d6: SSTORE 000030d7: JUMP 000030d8: JUMPDEST 000030d9: PUSH1 0x40 000030db: MLOAD 000030dc: PUSH1 0x01 000030de: DUP2 000030df: MSTORE 000030e0: PUSH32 0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2 00003101: SWAP1 00003102: DUP1 00003103: PUSH1 0x20 00003105: DUP2 00003106: ADD 00003107: JUMPDEST 00003108: SUB 00003109: SWAP1 0000310a: LOG1 0000310b: JUMP 0000310c: JUMPDEST 0000310d: PUSH2 0x313c 00003110: PUSH1 0x01 00003112: PUSH1 0x40 00003114: SHL 00003115: PUSH1 0xff 00003117: PUSH1 0x40 00003119: SHL 0000311a: NOT 0000311b: PUSH0 0000311c: MLOAD 0000311d: PUSH1 0x20 0000311f: PUSH2 0x4833 00003122: PUSH0 00003123: CODECOPY 00003124: PUSH0 00003125: MLOAD 00003126: SWAP1 00003127: PUSH0 00003128: MSTORE 00003129: SLOAD 0000312a: AND 0000312b: OR 0000312c: PUSH0 0000312d: MLOAD 0000312e: PUSH1 0x20 00003130: PUSH2 0x4833 00003133: PUSH0 00003134: CODECOPY 00003135: PUSH0 00003136: MLOAD 00003137: SWAP1 00003138: PUSH0 00003139: MSTORE 0000313a: SSTORE 0000313b: JUMP 0000313c: JUMPDEST 0000313d: PUSH2 0x316b 00003140: JUMP 00003141: JUMPDEST 00003142: PUSH4 0xf92ee8a9 00003147: PUSH1 0xe0 00003149: SHL 0000314a: PUSH0 0000314b: MSTORE 0000314c: PUSH1 0x04 0000314e: PUSH0 0000314f: REVERT 00003150: JUMPDEST 00003151: SWAP1 00003152: POP 00003153: ISZERO 00003154: PUSH0 00003155: PUSH2 0x3065 00003158: JUMP 00003159: JUMPDEST 0000315a: ADDRESS 0000315b: EXTCODESIZE 0000315c: ISZERO 0000315d: SWAP2 0000315e: POP 0000315f: PUSH2 0x305d 00003162: JUMP 00003163: JUMPDEST 00003164: DUP4 00003165: SWAP2 00003166: POP 00003167: PUSH2 0x3053 0000316a: JUMP 0000316b: JUMPDEST 0000316c: SWAP1 0000316d: PUSH1 0xa0 0000316f: DUP3 00003170: ADD 00003171: MLOAD 00003172: SWAP2 00003173: PUSH1 0xc0 00003175: DUP2 00003176: ADD 00003177: MLOAD 00003178: PUSH2 0x317f 0000317b: PUSH2 0x446e 0000317e: JUMP 0000317f: JUMPDEST 00003180: PUSH2 0x3187 00003183: PUSH2 0x446e 00003186: JUMP 00003187: JUMPDEST 00003188: DUP4 00003189: MLOAD 0000318a: PUSH1 0x01 0000318c: PUSH1 0x01 0000318e: PUSH1 0x40 00003190: SHL 00003191: SUB 00003192: DUP2 00003193: GT 00003194: PUSH2 0x0cab 00003197: JUMPI 00003198: PUSH2 0x31b7 0000319b: DUP2 0000319c: PUSH2 0x31b2 0000319f: PUSH0 000031a0: MLOAD 000031a1: PUSH1 0x20 000031a3: PUSH2 0x4753 000031a6: PUSH0 000031a7: CODECOPY 000031a8: PUSH0 000031a9: MLOAD 000031aa: SWAP1 000031ab: PUSH0 000031ac: MSTORE 000031ad: SLOAD 000031ae: PUSH2 0x2c0c 000031b1: JUMP 000031b2: JUMPDEST 000031b3: PUSH2 0x4499 000031b6: JUMP 000031b7: JUMPDEST 000031b8: PUSH1 0x20 000031ba: PUSH1 0x1f 000031bc: DUP3 000031bd: GT 000031be: PUSH1 0x01 000031c0: EQ 000031c1: PUSH2 0x32b4 000031c4: JUMPI 000031c5: PUSH1 0x20 000031c7: SWAP3 000031c8: PUSH2 0x31f4 000031cb: DUP4 000031cc: PUSH2 0x328c 000031cf: SWAP7 000031d0: SWAP5 000031d1: PUSH2 0x3208 000031d4: SWAP5 000031d5: PUSH2 0x0692 000031d8: SWAP10 000031d9: SWAP11 000031da: PUSH0 000031db: SWAP3 000031dc: PUSH2 0x32a9 000031df: JUMPI 000031e0: JUMPDEST 000031e1: POP 000031e2: POP 000031e3: DUP2 000031e4: PUSH1 0x01 000031e6: SHL 000031e7: SWAP2 000031e8: PUSH0 000031e9: NOT 000031ea: SWAP1 000031eb: PUSH1 0x03 000031ed: SHL 000031ee: SHR 000031ef: NOT 000031f0: AND 000031f1: OR 000031f2: SWAP1 000031f3: JUMP 000031f4: JUMPDEST 000031f5: PUSH0 000031f6: MLOAD 000031f7: PUSH1 0x20 000031f9: PUSH2 0x4753 000031fc: PUSH0 000031fd: CODECOPY 000031fe: PUSH0 000031ff: MLOAD 00003200: SWAP1 00003201: PUSH0 00003202: MSTORE 00003203: SSTORE 00003204: PUSH2 0x4520 00003207: JUMP 00003208: JUMPDEST 00003209: DUP1 0000320a: MLOAD 0000320b: PUSH2 0x321c 0000320e: SWAP1 0000320f: PUSH1 0x01 00003211: PUSH1 0x01 00003213: PUSH1 0xa0 00003215: SHL 00003216: SUB 00003217: AND 00003218: PUSH2 0x3f6d 0000321b: JUMP 0000321c: JUMPDEST 0000321d: PUSH1 0x60 0000321f: DUP2 00003220: ADD 00003221: MLOAD 00003222: PUSH2 0x3233 00003225: SWAP1 00003226: PUSH1 0x01 00003228: PUSH1 0x01 0000322a: PUSH1 0xa0 0000322c: SHL 0000322d: SUB 0000322e: AND 0000322f: PUSH2 0x3fa8 00003232: JUMP 00003233: JUMPDEST 00003234: PUSH2 0x323b 00003237: PUSH2 0x400c 0000323a: JUMP 0000323b: JUMPDEST 0000323c: PUSH2 0x3243 0000323f: PUSH2 0x402f 00003242: JUMP 00003243: JUMPDEST 00003244: PUSH2 0x325a 00003247: PUSH2 0x261c 0000324a: PUSH1 0xe0 0000324c: DUP4 0000324d: ADD 0000324e: MLOAD 0000324f: PUSH1 0x01 00003251: PUSH1 0x01 00003253: PUSH1 0x40 00003255: SHL 00003256: SUB 00003257: AND 00003258: SWAP1 00003259: JUMP 0000325a: JUMPDEST 0000325b: PUSH2 0x3271 0000325e: PUSH1 0x40 00003260: DUP3 00003261: ADD 00003262: PUSH2 0x326b 00003265: DUP2 00003266: MLOAD 00003267: PUSH2 0x3f04 0000326a: JUMP 0000326b: JUMPDEST 0000326c: MLOAD 0000326d: PUSH1 0x08 0000326f: SSTORE 00003270: JUMP 00003271: JUMPDEST 00003272: PUSH2 0x327e 00003275: PUSH1 0x80 00003277: DUP3 00003278: ADD 00003279: MLOAD 0000327a: PUSH1 0x09 0000327c: SSTORE 0000327d: JUMP 0000327e: JUMPDEST 0000327f: ADD 00003280: MLOAD 00003281: PUSH1 0x01 00003283: PUSH1 0x01 00003285: PUSH1 0xa0 00003287: SHL 00003288: SUB 00003289: AND 0000328a: SWAP1 0000328b: JUMP 0000328c: JUMPDEST 0000328d: PUSH1 0x01 0000328f: DUP1 00003290: PUSH1 0xa0 00003292: SHL 00003293: SUB 00003294: AND 00003295: PUSH1 0x01 00003297: PUSH1 0x01 00003299: PUSH1 0x60 0000329b: SHL 0000329c: SUB 0000329d: PUSH1 0xa0 0000329f: SHL 000032a0: PUSH1 0x01 000032a2: SLOAD 000032a3: AND 000032a4: OR 000032a5: PUSH1 0x01 000032a7: SSTORE 000032a8: JUMP 000032a9: JUMPDEST 000032aa: ADD 000032ab: MLOAD 000032ac: SWAP1 000032ad: POP 000032ae: PUSH0 000032af: DUP1 000032b0: PUSH2 0x31e0 000032b3: JUMP 000032b4: JUMPDEST 000032b5: PUSH0 000032b6: MLOAD 000032b7: PUSH1 0x20 000032b9: PUSH2 0x4753 000032bc: PUSH0 000032bd: CODECOPY 000032be: PUSH0 000032bf: MLOAD 000032c0: SWAP1 000032c1: PUSH0 000032c2: MSTORE 000032c3: PUSH0 000032c4: MSTORE 000032c5: PUSH1 0x1f 000032c7: NOT 000032c8: DUP3 000032c9: AND 000032ca: SWAP6 000032cb: PUSH32 0x2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0 000032ec: SWAP7 000032ed: PUSH0 000032ee: JUMPDEST 000032ef: DUP2 000032f0: DUP2 000032f1: LT 000032f2: PUSH2 0x3344 000032f5: JUMPI 000032f6: POP 000032f7: DUP4 000032f8: PUSH2 0x0692 000032fb: SWAP8 000032fc: SWAP9 000032fd: PUSH2 0x3208 00003300: SWAP5 00003301: PUSH1 0x20 00003303: SWAP8 00003304: SWAP5 00003305: PUSH2 0x328c 00003308: SWAP10 00003309: SWAP8 0000330a: PUSH1 0x01 0000330c: SWAP6 0000330d: LT 0000330e: PUSH2 0x332c 00003311: JUMPI 00003312: JUMPDEST 00003313: POP 00003314: POP 00003315: POP 00003316: DUP2 00003317: SHL 00003318: ADD 00003319: PUSH0 0000331a: MLOAD 0000331b: PUSH1 0x20 0000331d: PUSH2 0x4753 00003320: PUSH0 00003321: CODECOPY 00003322: PUSH0 00003323: MLOAD 00003324: SWAP1 00003325: PUSH0 00003326: MSTORE 00003327: SSTORE 00003328: PUSH2 0x4520 0000332b: JUMP 0000332c: JUMPDEST 0000332d: ADD 0000332e: MLOAD 0000332f: PUSH0 00003330: NOT 00003331: PUSH1 0xf8 00003333: DUP5 00003334: PUSH1 0x03 00003336: SHL 00003337: AND 00003338: SHR 00003339: NOT 0000333a: AND 0000333b: SWAP1 0000333c: SSTORE 0000333d: PUSH0 0000333e: DUP1 0000333f: DUP1 00003340: PUSH2 0x3312 00003343: JUMP 00003344: JUMPDEST 00003345: DUP4 00003346: DUP4 00003347: ADD 00003348: MLOAD 00003349: DUP10 0000334a: SSTORE 0000334b: PUSH1 0x01 0000334d: SWAP1 0000334e: SWAP9 0000334f: ADD 00003350: SWAP8 00003351: PUSH1 0x20 00003353: SWAP4 00003354: DUP5 00003355: ADD 00003356: SWAP4 00003357: ADD 00003358: PUSH2 0x32ee 0000335b: JUMP 0000335c: JUMPDEST 0000335d: PUSH2 0x3371 00003360: PUSH2 0x21d4 00003363: PUSH1 0x0e 00003365: SLOAD 00003366: PUSH1 0x01 00003368: PUSH1 0x01 0000336a: PUSH1 0x40 0000336c: SHL 0000336d: SUB 0000336e: AND 0000336f: SWAP1 00003370: JUMP 00003371: JUMPDEST 00003372: PUSH1 0x01 00003374: PUSH1 0x01 00003376: PUSH1 0xb8 00003378: SHL 00003379: SUB 0000337a: DUP3 0000337b: AND 0000337c: SWAP1 0000337d: DUP1 0000337e: DUP3 0000337f: EQ 00003380: PUSH2 0x0930 00003383: JUMPI 00003384: PUSH1 0x01 00003386: PUSH1 0x01 00003388: PUSH1 0x40 0000338a: SHL 0000338b: SUB 0000338c: PUSH2 0x3397 0000338f: PUSH1 0x06 00003391: SLOAD 00003392: PUSH1 0xc0 00003394: SHR 00003395: SWAP1 00003396: JUMP 00003397: JUMPDEST 00003398: AND 00003399: PUSH2 0x0921 0000339c: JUMPI 0000339d: PUSH4 0x02faf080 000033a2: DUP3 000033a3: GT 000033a4: PUSH2 0x3458 000033a7: JUMPI 000033a8: DUP2 000033a9: LT 000033aa: ISZERO 000033ab: PUSH2 0x33f9 000033ae: JUMPI 000033af: PUSH2 0x261c 000033b2: PUSH2 0x33ba 000033b5: SWAP2 000033b6: PUSH2 0x4199 000033b9: JUMP 000033ba: JUMPDEST 000033bb: PUSH1 0x40 000033bd: MLOAD 000033be: PUSH1 0x01 000033c0: PUSH1 0x01 000033c2: PUSH1 0xb8 000033c4: SHL 000033c5: SUB 000033c6: SWAP1 000033c7: SWAP2 000033c8: AND 000033c9: DUP2 000033ca: MSTORE 000033cb: CALLER 000033cc: SWAP1 000033cd: PUSH32 0x20affe2401825617c69366f8c3a3493d9822d1021d0b3023c4e77ea5b3d0fbc5 000033ee: SWAP1 000033ef: DUP1 000033f0: PUSH1 0x20 000033f2: DUP2 000033f3: ADD 000033f4: JUMPDEST 000033f5: SUB 000033f6: SWAP1 000033f7: LOG2 000033f8: JUMP 000033f9: JUMPDEST 000033fa: POP 000033fb: PUSH32 0x7424f23ff556b5fe97d2f5a4b22548445b948e612029151105b441519f1bfb99 0000341c: SWAP1 0000341d: PUSH2 0x3428 00003420: PUSH1 0x08 00003422: SLOAD 00003423: DUP3 00003424: PUSH2 0x382b 00003427: JUMP 00003428: JUMPDEST 00003429: PUSH1 0x06 0000342b: SLOAD 0000342c: PUSH1 0xc0 0000342e: SHR 0000342f: PUSH1 0x40 00003431: DUP1 00003432: MLOAD 00003433: PUSH1 0x01 00003435: PUSH1 0x01 00003437: PUSH1 0xb8 00003439: SHL 0000343a: SUB 0000343b: SWAP1 0000343c: SWAP4 0000343d: AND 0000343e: DUP4 0000343f: MSTORE 00003440: PUSH1 0x01 00003442: PUSH1 0x01 00003444: PUSH1 0x40 00003446: SHL 00003447: SUB 00003448: SWAP1 00003449: SWAP2 0000344a: AND 0000344b: PUSH1 0x20 0000344d: DUP4 0000344e: ADD 0000344f: MSTORE 00003450: DUP2 00003451: SWAP1 00003452: DUP2 00003453: ADD 00003454: PUSH2 0x3107 00003457: JUMP 00003458: JUMPDEST 00003459: PUSH4 0x062f00d5 0000345e: PUSH1 0xe5 00003460: SHL 00003461: PUSH0 00003462: MSTORE 00003463: PUSH1 0x04 00003465: PUSH0 00003466: REVERT 00003467: JUMPDEST 00003468: SWAP2 00003469: SWAP1 0000346a: PUSH2 0x1377 0000346d: PUSH2 0x34d5 00003470: SWAP5 00003471: PUSH2 0x1385 00003474: SWAP4 00003475: PUSH2 0x347c 00003478: PUSH2 0x3d2d 0000347b: JUMP 0000347c: JUMPDEST 0000347d: PUSH0 0000347e: MLOAD 0000347f: PUSH1 0x20 00003481: PUSH2 0x47d3 00003484: PUSH0 00003485: CODECOPY 00003486: PUSH0 00003487: MLOAD 00003488: SWAP1 00003489: PUSH0 0000348a: MSTORE 0000348b: SLOAD 0000348c: PUSH1 0x40 0000348e: MLOAD 0000348f: PUSH4 0xdb449c91 00003494: PUSH1 0xe0 00003496: SHL 00003497: PUSH1 0x20 00003499: DUP3 0000349a: ADD 0000349b: MSTORE 0000349c: PUSH1 0x01 0000349e: PUSH1 0x01 000034a0: PUSH1 0xa0 000034a2: SHL 000034a3: SUB 000034a4: SWAP2 000034a5: DUP3 000034a6: AND 000034a7: PUSH1 0x24 000034a9: DUP3 000034aa: ADD 000034ab: MSTORE 000034ac: SWAP7 000034ad: AND 000034ae: PUSH1 0x44 000034b0: DUP8 000034b1: ADD 000034b2: MSTORE 000034b3: PUSH1 0x64 000034b5: DUP7 000034b6: ADD 000034b7: SWAP4 000034b8: SWAP1 000034b9: SWAP4 000034ba: MSTORE 000034bb: PUSH1 0x84 000034bd: DUP6 000034be: ADD 000034bf: SWAP3 000034c0: SWAP1 000034c1: SWAP3 000034c2: MSTORE 000034c3: PUSH1 0xa0 000034c5: PUSH1 0xa4 000034c7: DUP6 000034c8: ADD 000034c9: MSTORE 000034ca: DUP4 000034cb: SWAP2 000034cc: PUSH1 0xc4 000034ce: DUP4 000034cf: ADD 000034d0: SWAP1 000034d1: PUSH2 0x2f4e 000034d4: JUMP 000034d5: JUMPDEST 000034d6: PUSH1 0x20 000034d8: DUP2 000034d9: MLOAD 000034da: SWAP2 000034db: DUP2 000034dc: DUP1 000034dd: DUP3 000034de: ADD 000034df: SWAP4 000034e0: DUP5 000034e1: SWAP3 000034e2: ADD 000034e3: ADD 000034e4: SUB 000034e5: SLT 000034e6: PUSH2 0x0504 000034e9: JUMPI 000034ea: MLOAD 000034eb: PUSH2 0x0db5 000034ee: DUP2 000034ef: PUSH2 0x0676 000034f2: JUMP 000034f3: JUMPDEST 000034f4: PUSH1 0xff 000034f6: PUSH0 000034f7: MLOAD 000034f8: PUSH1 0x20 000034fa: PUSH2 0x47f3 000034fd: PUSH0 000034fe: CODECOPY 000034ff: PUSH0 00003500: MLOAD 00003501: SWAP1 00003502: PUSH0 00003503: MSTORE 00003504: SLOAD 00003505: AND 00003506: PUSH2 0x2d7e 00003509: JUMPI 0000350a: PUSH2 0x0db5 0000350d: PUSH2 0x3514 00003510: PUSH2 0x2d28 00003513: JUMP 00003514: JUMPDEST 00003515: PUSH2 0x3784 00003518: JUMP 00003519: JUMPDEST 0000351a: PUSH1 0x01 0000351c: PUSH1 0x01 0000351e: PUSH1 0xa0 00003520: SHL 00003521: SUB 00003522: AND 00003523: PUSH0 00003524: SWAP1 00003525: DUP2 00003526: MSTORE 00003527: PUSH32 0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00 00003548: PUSH1 0x20 0000354a: MSTORE 0000354b: PUSH1 0x40 0000354d: SWAP1 0000354e: KECCAK256 0000354f: SLOAD 00003550: PUSH2 0x0db5 00003553: SWAP1 00003554: PUSH2 0x36b9 00003557: JUMP 00003558: JUMPDEST 00003559: SWAP2 0000355a: SWAP1 0000355b: DUP3 0000355c: ADD 0000355d: DUP1 0000355e: SWAP3 0000355f: GT 00003560: PUSH2 0x0ae5 00003563: JUMPI 00003564: JUMP 00003565: JUMPDEST 00003566: PUSH2 0x356e 00003569: TIMESTAMP 0000356a: PUSH2 0x4199 0000356d: JUMP 0000356e: JUMPDEST 0000356f: PUSH2 0x3583 00003572: PUSH2 0x21d4 00003575: PUSH1 0x13 00003577: SLOAD 00003578: PUSH1 0x01 0000357a: PUSH1 0x01 0000357c: PUSH1 0x40 0000357e: SHL 0000357f: SUB 00003580: AND 00003581: SWAP1 00003582: JUMP 00003583: JUMPDEST 00003584: SWAP2 00003585: DUP3 00003586: ISZERO 00003587: PUSH2 0x36ac 0000358a: JUMPI 0000358b: PUSH0 0000358c: DUP1 0000358d: MSTORE 0000358e: PUSH1 0x14 00003590: PUSH1 0x20 00003592: MSTORE 00003593: SWAP1 00003594: SWAP2 00003595: PUSH2 0x35c6 00003598: PUSH32 0x4f26c3876aa9f4b92579780beea1161a61f87ebf1ec6ee865b299e447ecba99c 000035b9: JUMPDEST 000035ba: SLOAD 000035bb: PUSH1 0x01 000035bd: PUSH1 0x01 000035bf: PUSH1 0x40 000035c1: SHL 000035c2: SUB 000035c3: AND 000035c4: SWAP1 000035c5: JUMP 000035c6: JUMPDEST 000035c7: SWAP3 000035c8: PUSH1 0x0d 000035ca: SLOAD 000035cb: SWAP2 000035cc: PUSH1 0x0b 000035ce: SLOAD 000035cf: SWAP1 000035d0: PUSH1 0x01 000035d2: PUSH1 0x01 000035d4: PUSH1 0x40 000035d6: SHL 000035d7: SUB 000035d8: PUSH1 0x0c 000035da: SLOAD 000035db: SWAP4 000035dc: AND 000035dd: SWAP4 000035de: JUMPDEST 000035df: PUSH1 0x01 000035e1: PUSH1 0x01 000035e3: PUSH1 0x40 000035e5: SHL 000035e6: SUB 000035e7: DUP8 000035e8: AND 000035e9: SWAP2 000035ea: DUP3 000035eb: DUP7 000035ec: LT 000035ed: ISZERO 000035ee: DUP1 000035ef: PUSH2 0x36a3 000035f2: JUMPI 000035f3: JUMPDEST 000035f4: ISZERO 000035f5: PUSH2 0x3666 000035f8: JUMPI 000035f9: SWAP2 000035fa: PUSH2 0x3659 000035fd: PUSH2 0x35b9 00003600: PUSH2 0x3653 00003603: DUP5 00003604: PUSH2 0x364c 00003607: PUSH2 0x3634 0000360a: PUSH2 0x3619 0000360d: PUSH2 0x365f 00003610: SWAP9 00003611: DUP16 00003612: SWAP11 00003613: DUP10 00003614: SWAP1 00003615: PUSH2 0x4281 00003618: JUMP 00003619: JUMPDEST 0000361a: SWAP6 0000361b: SWAP1 0000361c: SWAP8 0000361d: SWAP10 0000361e: PUSH1 0x01 00003620: PUSH1 0x01 00003622: PUSH1 0x40 00003624: SHL 00003625: SUB 00003626: AND 00003627: PUSH0 00003628: MSTORE 00003629: PUSH1 0x14 0000362b: PUSH1 0x20 0000362d: MSTORE 0000362e: PUSH1 0x40 00003630: PUSH0 00003631: KECCAK256 00003632: SWAP1 00003633: JUMP 00003634: JUMPDEST 00003635: SWAP13 00003636: PUSH1 0x01 00003638: PUSH1 0x01 0000363a: PUSH1 0x40 0000363c: SHL 0000363d: SUB 0000363e: AND 0000363f: PUSH0 00003640: MSTORE 00003641: PUSH1 0x15 00003643: PUSH1 0x20 00003645: MSTORE 00003646: PUSH1 0x40 00003648: PUSH0 00003649: KECCAK256 0000364a: SWAP1 0000364b: JUMP 0000364c: JUMPDEST 0000364d: SLOAD 0000364e: SWAP1 0000364f: PUSH2 0x2d1b 00003652: JUMP 00003653: JUMPDEST 00003654: SWAP7 00003655: PUSH2 0x3558 00003658: JUMP 00003659: JUMPDEST 0000365a: SWAP4 0000365b: PUSH2 0x3558 0000365e: JUMP 0000365f: JUMPDEST 00003660: SWAP2 00003661: SWAP3 00003662: PUSH2 0x35de 00003665: JUMP 00003666: JUMPDEST 00003667: SWAP2 00003668: POP 00003669: SWAP3 0000366a: SWAP5 0000366b: SWAP4 0000366c: SWAP2 0000366d: SWAP6 0000366e: PUSH1 0x01 00003670: PUSH1 0x01 00003672: PUSH1 0x40 00003674: SHL 00003675: SUB 00003676: AND 00003677: PUSH2 0x367f 0000367a: JUMPI 0000367b: POP 0000367c: POP 0000367d: POP 0000367e: JUMP 0000367f: JUMPDEST 00003680: PUSH2 0x36a0 00003683: SWAP4 00003684: SWAP6 00003685: SWAP5 00003686: SWAP3 00003687: PUSH2 0x369a 0000368a: SWAP3 0000368b: PUSH2 0x3693 0000368e: SWAP3 0000368f: PUSH2 0x4281 00003692: JUMP 00003693: JUMPDEST 00003694: SWAP1 00003695: SWAP3 00003696: PUSH2 0x3558 00003699: JUMP 0000369a: JUMPDEST 0000369b: SWAP3 0000369c: PUSH2 0x3558 0000369f: JUMP 000036a0: JUMPDEST 000036a1: SWAP2 000036a2: JUMP 000036a3: JUMPDEST 000036a4: POP 000036a5: DUP3 000036a6: ISZERO 000036a7: ISZERO 000036a8: PUSH2 0x35f3 000036ab: JUMP 000036ac: JUMPDEST 000036ad: SWAP2 000036ae: POP 000036af: POP 000036b0: PUSH1 0x0b 000036b2: SLOAD 000036b3: SWAP1 000036b4: PUSH1 0x0c 000036b6: SLOAD 000036b7: SWAP1 000036b8: JUMP 000036b9: JUMPDEST 000036ba: PUSH7 0x2386f26fc10000 000036c2: PUSH2 0x36c9 000036c5: PUSH2 0x3565 000036c8: JUMP 000036c9: JUMPDEST 000036ca: POP 000036cb: DIV 000036cc: SWAP1 000036cd: PUSH1 0x01 000036cf: DUP3 000036d0: ADD 000036d1: DUP1 000036d2: SWAP3 000036d3: GT 000036d4: PUSH2 0x0ae5 000036d7: JUMPI 000036d8: PUSH0 000036d9: MLOAD 000036da: PUSH1 0x20 000036dc: PUSH2 0x47b3 000036df: PUSH0 000036e0: CODECOPY 000036e1: PUSH0 000036e2: MLOAD 000036e3: SWAP1 000036e4: PUSH0 000036e5: MSTORE 000036e6: SLOAD 000036e7: PUSH1 0x01 000036e9: DUP2 000036ea: ADD 000036eb: DUP1 000036ec: SWAP2 000036ed: GT 000036ee: PUSH2 0x0ae5 000036f1: JUMPI 000036f2: PUSH2 0x0db5 000036f5: SWAP3 000036f6: PUSH0 000036f7: SWAP3 000036f8: PUSH2 0x42c6 000036fb: JUMP 000036fc: JUMPDEST 000036fd: PUSH7 0x2386f26fc10000 00003705: PUSH2 0x370c 00003708: PUSH2 0x3565 0000370b: JUMP 0000370c: JUMPDEST 0000370d: POP 0000370e: DIV 0000370f: SWAP1 00003710: PUSH1 0x01 00003712: DUP3 00003713: ADD 00003714: DUP1 00003715: SWAP3 00003716: GT 00003717: PUSH2 0x0ae5 0000371a: JUMPI 0000371b: PUSH0 0000371c: MLOAD 0000371d: PUSH1 0x20 0000371f: PUSH2 0x47b3 00003722: PUSH0 00003723: CODECOPY 00003724: PUSH0 00003725: MLOAD 00003726: SWAP1 00003727: PUSH0 00003728: MSTORE 00003729: SLOAD 0000372a: PUSH1 0x01 0000372c: DUP2 0000372d: ADD 0000372e: DUP1 0000372f: SWAP2 00003730: GT 00003731: PUSH2 0x0ae5 00003734: JUMPI 00003735: PUSH2 0x0db5 00003738: SWAP3 00003739: PUSH1 0x01 0000373b: SWAP3 0000373c: PUSH2 0x42c6 0000373f: JUMP 00003740: JUMPDEST 00003741: PUSH0 00003742: MLOAD 00003743: PUSH1 0x20 00003745: PUSH2 0x47b3 00003748: PUSH0 00003749: CODECOPY 0000374a: PUSH0 0000374b: MLOAD 0000374c: SWAP1 0000374d: PUSH0 0000374e: MSTORE 0000374f: SLOAD 00003750: SWAP1 00003751: PUSH1 0x01 00003753: DUP3 00003754: ADD 00003755: DUP1 00003756: SWAP3 00003757: GT 00003758: PUSH2 0x0ae5 0000375b: JUMPI 0000375c: PUSH7 0x2386f26fc10000 00003764: PUSH2 0x376b 00003767: PUSH2 0x3565 0000376a: JUMP 0000376b: JUMPDEST 0000376c: POP 0000376d: DIV 0000376e: PUSH1 0x01 00003770: DUP2 00003771: ADD 00003772: DUP1 00003773: SWAP2 00003774: GT 00003775: PUSH2 0x0ae5 00003778: JUMPI 00003779: PUSH2 0x0db5 0000377c: SWAP3 0000377d: PUSH1 0x01 0000377f: SWAP3 00003780: PUSH2 0x42c6 00003783: JUMP 00003784: JUMPDEST 00003785: PUSH0 00003786: MLOAD 00003787: PUSH1 0x20 00003789: PUSH2 0x47b3 0000378c: PUSH0 0000378d: CODECOPY 0000378e: PUSH0 0000378f: MLOAD 00003790: SWAP1 00003791: PUSH0 00003792: MSTORE 00003793: SLOAD 00003794: SWAP1 00003795: PUSH1 0x01 00003797: DUP3 00003798: ADD 00003799: DUP1 0000379a: SWAP3 0000379b: GT 0000379c: PUSH2 0x0ae5 0000379f: JUMPI 000037a0: PUSH7 0x2386f26fc10000 000037a8: PUSH2 0x37af 000037ab: PUSH2 0x3565 000037ae: JUMP 000037af: JUMPDEST 000037b0: POP 000037b1: DIV 000037b2: PUSH1 0x01 000037b4: DUP2 000037b5: ADD 000037b6: DUP1 000037b7: SWAP2 000037b8: GT 000037b9: PUSH2 0x0ae5 000037bc: JUMPI 000037bd: PUSH2 0x0db5 000037c0: SWAP3 000037c1: PUSH0 000037c2: SWAP3 000037c3: PUSH2 0x42c6 000037c6: JUMP 000037c7: JUMPDEST 000037c8: SWAP1 000037c9: PUSH1 0x01 000037cb: PUSH1 0x01 000037cd: PUSH1 0x40 000037cf: SHL 000037d0: SUB 000037d1: PUSH1 0xc0 000037d3: SHL 000037d4: DUP3 000037d5: SLOAD 000037d6: AND 000037d7: DUP3 000037d8: SSTORE 000037d9: TIMESTAMP 000037da: ADD 000037db: DUP1 000037dc: TIMESTAMP 000037dd: GT 000037de: PUSH2 0x0ae5 000037e1: JUMPI 000037e2: PUSH1 0xc0 000037e4: SHL 000037e5: PUSH1 0x01 000037e7: PUSH1 0x01 000037e9: PUSH1 0xc0 000037eb: SHL 000037ec: SUB 000037ed: NOT 000037ee: AND 000037ef: SWAP1 000037f0: SSTORE 000037f1: JUMP 000037f2: JUMPDEST 000037f3: PUSH1 0x01 000037f5: DUP1 000037f6: PUSH1 0xb8 000037f8: SHL 000037f9: SUB 000037fa: AND 000037fb: SWAP1 000037fc: DUP2 000037fd: PUSH1 0x01 000037ff: PUSH1 0x01 00003801: PUSH1 0x40 00003803: SHL 00003804: SUB 00003805: PUSH1 0xc0 00003807: SHL 00003808: PUSH1 0x05 0000380a: SLOAD 0000380b: AND 0000380c: OR 0000380d: PUSH1 0x05 0000380f: SSTORE 00003810: TIMESTAMP 00003811: ADD 00003812: DUP1 00003813: TIMESTAMP 00003814: GT 00003815: PUSH2 0x0ae5 00003818: JUMPI 00003819: PUSH1 0xc0 0000381b: SHL 0000381c: PUSH1 0x01 0000381e: PUSH1 0x01 00003820: PUSH1 0xc0 00003822: SHL 00003823: SUB 00003824: NOT 00003825: AND 00003826: OR 00003827: PUSH1 0x05 00003829: SSTORE 0000382a: JUMP 0000382b: JUMPDEST 0000382c: PUSH1 0x01 0000382e: DUP1 0000382f: PUSH1 0xb8 00003831: SHL 00003832: SUB 00003833: AND 00003834: SWAP1 00003835: DUP2 00003836: PUSH1 0x01 00003838: PUSH1 0x01 0000383a: PUSH1 0x40 0000383c: SHL 0000383d: SUB 0000383e: PUSH1 0xc0 00003840: SHL 00003841: PUSH1 0x06 00003843: SLOAD 00003844: AND 00003845: OR 00003846: PUSH1 0x06 00003848: SSTORE 00003849: TIMESTAMP 0000384a: ADD 0000384b: DUP1 0000384c: TIMESTAMP 0000384d: GT 0000384e: PUSH2 0x0ae5 00003851: JUMPI 00003852: PUSH1 0xc0 00003854: SHL 00003855: PUSH1 0x01 00003857: PUSH1 0x01 00003859: PUSH1 0xc0 0000385b: SHL 0000385c: SUB 0000385d: NOT 0000385e: AND 0000385f: OR 00003860: PUSH1 0x06 00003862: SSTORE 00003863: JUMP 00003864: JUMPDEST 00003865: PUSH1 0x01 00003867: PUSH1 0x01 00003869: PUSH1 0xa0 0000386b: SHL 0000386c: SUB 0000386d: AND 0000386e: PUSH0 0000386f: DUP2 00003870: DUP2 00003871: MSTORE 00003872: PUSH1 0x03 00003874: PUSH1 0x20 00003876: MSTORE 00003877: PUSH1 0x40 00003879: SWAP1 0000387a: KECCAK256 0000387b: DUP1 0000387c: SLOAD 0000387d: PUSH1 0xff 0000387f: NOT 00003880: AND 00003881: PUSH1 0xff 00003883: DUP5 00003884: ISZERO 00003885: ISZERO 00003886: AND 00003887: OR 00003888: SWAP1 00003889: SSTORE 0000388a: SWAP1 0000388b: DUP2 0000388c: SWAP1 0000388d: PUSH1 0x40 0000388f: MLOAD 00003890: SWAP1 00003891: ISZERO 00003892: ISZERO 00003893: DUP2 00003894: MSTORE 00003895: PUSH32 0x7276f1d77fbb1794919362294fb870305193d894417c47c88716aa858f4272d3 000038b6: PUSH1 0x20 000038b8: CALLER 000038b9: SWAP3 000038ba: LOG3 000038bb: PUSH0 000038bc: MSTORE 000038bd: PUSH1 0x04 000038bf: PUSH1 0x20 000038c1: MSTORE 000038c2: PUSH0 000038c3: PUSH1 0x40 000038c5: DUP2 000038c6: KECCAK256 000038c7: SSTORE 000038c8: JUMP 000038c9: JUMPDEST 000038ca: SWAP2 000038cb: SWAP1 000038cc: PUSH2 0x38d8 000038cf: DUP2 000038d0: PUSH2 0x06d9 000038d3: DUP6 000038d4: PUSH2 0x2c44 000038d7: JUMP 000038d8: JUMPDEST 000038d9: SLOAD 000038da: PUSH1 0x01 000038dc: DUP2 000038dd: ADD 000038de: PUSH2 0x38e8 000038e1: JUMPI 000038e2: JUMPDEST 000038e3: POP 000038e4: POP 000038e5: POP 000038e6: POP 000038e7: JUMP 000038e8: JUMPDEST 000038e9: DUP3 000038ea: DUP2 000038eb: LT 000038ec: PUSH2 0x3926 000038ef: JUMPI 000038f0: PUSH1 0x01 000038f2: PUSH1 0x01 000038f4: PUSH1 0xa0 000038f6: SHL 000038f7: SUB 000038f8: DUP5 000038f9: AND 000038fa: ISZERO 000038fb: PUSH2 0x0739 000038fe: JUMPI 000038ff: PUSH1 0x01 00003901: PUSH1 0x01 00003903: PUSH1 0xa0 00003905: SHL 00003906: SUB 00003907: DUP3 00003908: AND 00003909: ISZERO 0000390a: PUSH2 0x0726 0000390d: JUMPI 0000390e: PUSH2 0x391c 00003911: SWAP3 00003912: PUSH2 0x06d9 00003915: SWAP2 00003916: SUB 00003917: SWAP4 00003918: PUSH2 0x2c44 0000391b: JUMP 0000391c: JUMPDEST 0000391d: SSTORE 0000391e: PUSH0 0000391f: DUP1 00003920: DUP1 00003921: DUP1 00003922: PUSH2 0x38e2 00003925: JUMP 00003926: JUMPDEST 00003927: SWAP1 00003928: PUSH4 0x7dc7a0d9 0000392d: PUSH1 0xe1 0000392f: SHL 00003930: PUSH0 00003931: MSTORE 00003932: PUSH1 0x01 00003934: DUP1 00003935: PUSH1 0xa0 00003937: SHL 00003938: SUB 00003939: AND 0000393a: PUSH1 0x04 0000393c: MSTORE 0000393d: PUSH1 0x24 0000393f: MSTORE 00003940: PUSH1 0x44 00003942: MSTORE 00003943: PUSH1 0x64 00003945: PUSH0 00003946: REVERT 00003947: JUMPDEST 00003948: SWAP2 00003949: PUSH1 0x01 0000394b: PUSH1 0x01 0000394d: PUSH1 0xa0 0000394f: SHL 00003950: SUB 00003951: DUP4 00003952: AND 00003953: SWAP2 00003954: DUP3 00003955: ISZERO 00003956: PUSH2 0x39fe 00003959: JUMPI 0000395a: PUSH1 0x01 0000395c: PUSH1 0x01 0000395e: PUSH1 0xa0 00003960: SHL 00003961: SUB 00003962: DUP2 00003963: AND 00003964: SWAP4 00003965: DUP5 00003966: ISZERO 00003967: PUSH2 0x39eb 0000396a: JUMPI 0000396b: PUSH2 0x3973 0000396e: DUP2 0000396f: PUSH2 0x2c7c 00003972: JUMP 00003973: JUMPDEST 00003974: SLOAD 00003975: DUP4 00003976: DUP2 00003977: LT 00003978: PUSH2 0x39c6 0000397b: JUMPI 0000397c: SWAP2 0000397d: PUSH2 0x39b4 00003980: SWAP2 00003981: PUSH2 0x39ae 00003984: DUP6 00003985: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 000039a6: SWAP7 000039a7: SWAP6 000039a8: SUB 000039a9: SWAP2 000039aa: PUSH2 0x2c7c 000039ad: JUMP 000039ae: JUMPDEST 000039af: SSTORE 000039b0: PUSH2 0x2c7c 000039b3: JUMP 000039b4: JUMPDEST 000039b5: DUP1 000039b6: SLOAD 000039b7: DUP3 000039b8: ADD 000039b9: SWAP1 000039ba: SSTORE 000039bb: PUSH1 0x40 000039bd: MLOAD 000039be: SWAP1 000039bf: DUP2 000039c0: MSTORE 000039c1: PUSH1 0x20 000039c3: SWAP1 000039c4: LOG3 000039c5: JUMP 000039c6: JUMPDEST 000039c7: PUSH4 0x391434e3 000039cc: PUSH1 0xe2 000039ce: SHL 000039cf: PUSH0 000039d0: MSTORE 000039d1: PUSH1 0x01 000039d3: PUSH1 0x01 000039d5: PUSH1 0xa0 000039d7: SHL 000039d8: SUB 000039d9: SWAP1 000039da: SWAP2 000039db: AND 000039dc: PUSH1 0x04 000039de: MSTORE 000039df: PUSH1 0x24 000039e1: MSTORE 000039e2: PUSH1 0x44 000039e4: DUP3 000039e5: SWAP1 000039e6: MSTORE 000039e7: PUSH1 0x64 000039e9: PUSH0 000039ea: REVERT 000039eb: JUMPDEST 000039ec: PUSH4 0xec442f05 000039f1: PUSH1 0xe0 000039f3: SHL 000039f4: PUSH0 000039f5: MSTORE 000039f6: PUSH0 000039f7: PUSH1 0x04 000039f9: MSTORE 000039fa: PUSH1 0x24 000039fc: PUSH0 000039fd: REVERT 000039fe: JUMPDEST 000039ff: PUSH4 0x4b637e8f 00003a04: PUSH1 0xe1 00003a06: SHL 00003a07: PUSH0 00003a08: MSTORE 00003a09: PUSH0 00003a0a: PUSH1 0x04 00003a0c: MSTORE 00003a0d: PUSH1 0x24 00003a0f: PUSH0 00003a10: REVERT 00003a11: JUMPDEST 00003a12: PUSH0 00003a13: MLOAD 00003a14: PUSH1 0x20 00003a16: PUSH2 0x4793 00003a19: PUSH0 00003a1a: CODECOPY 00003a1b: PUSH0 00003a1c: MLOAD 00003a1d: SWAP1 00003a1e: PUSH0 00003a1f: MSTORE 00003a20: SLOAD 00003a21: PUSH1 0x01 00003a23: PUSH1 0x01 00003a25: PUSH1 0xa0 00003a27: SHL 00003a28: SUB 00003a29: AND 00003a2a: CALLER 00003a2b: SUB 00003a2c: PUSH2 0x18f4 00003a2f: JUMPI 00003a30: JUMP 00003a31: JUMPDEST 00003a32: PUSH0 00003a33: MLOAD 00003a34: PUSH1 0x20 00003a36: PUSH2 0x47f3 00003a39: PUSH0 00003a3a: CODECOPY 00003a3b: PUSH0 00003a3c: MLOAD 00003a3d: SWAP1 00003a3e: PUSH0 00003a3f: MSTORE 00003a40: SLOAD 00003a41: PUSH1 0xff 00003a43: DUP2 00003a44: AND 00003a45: ISZERO 00003a46: PUSH2 0x3a88 00003a49: JUMPI 00003a4a: PUSH1 0xff 00003a4c: NOT 00003a4d: AND 00003a4e: PUSH0 00003a4f: MLOAD 00003a50: PUSH1 0x20 00003a52: PUSH2 0x47f3 00003a55: PUSH0 00003a56: CODECOPY 00003a57: PUSH0 00003a58: MLOAD 00003a59: SWAP1 00003a5a: PUSH0 00003a5b: MSTORE 00003a5c: SSTORE 00003a5d: PUSH32 0x5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa 00003a7e: PUSH1 0x20 00003a80: PUSH1 0x40 00003a82: MLOAD 00003a83: CALLER 00003a84: DUP2 00003a85: MSTORE 00003a86: LOG1 00003a87: JUMP 00003a88: JUMPDEST 00003a89: PUSH4 0x8dfc202b 00003a8e: PUSH1 0xe0 00003a90: SHL 00003a91: PUSH0 00003a92: MSTORE 00003a93: PUSH1 0x04 00003a95: PUSH0 00003a96: REVERT 00003a97: JUMPDEST 00003a98: SWAP1 00003a99: PUSH2 0x3aa1 00003a9c: DUP3 00003a9d: PUSH2 0x0d17 00003aa0: JUMP 00003aa1: JUMPDEST 00003aa2: PUSH2 0x3aae 00003aa5: PUSH1 0x40 00003aa7: MLOAD 00003aa8: SWAP2 00003aa9: DUP3 00003aaa: PUSH2 0x0ce6 00003aad: JUMP 00003aae: JUMPDEST 00003aaf: DUP3 00003ab0: DUP2 00003ab1: MSTORE 00003ab2: DUP1 00003ab3: SWAP3 00003ab4: PUSH2 0x3abf 00003ab7: PUSH1 0x1f 00003ab9: NOT 00003aba: SWAP2 00003abb: PUSH2 0x0d17 00003abe: JUMP 00003abf: JUMPDEST 00003ac0: ADD 00003ac1: SWAP1 00003ac2: PUSH1 0x20 00003ac4: CALLDATASIZE 00003ac5: SWAP2 00003ac6: ADD 00003ac7: CALLDATACOPY 00003ac8: JUMP 00003ac9: JUMPDEST 00003aca: DUP1 00003acb: MLOAD 00003acc: DUP3 00003acd: LT 00003ace: ISZERO 00003acf: PUSH2 0x127e 00003ad2: JUMPI 00003ad3: PUSH1 0x20 00003ad5: SWAP2 00003ad6: PUSH1 0x05 00003ad8: SHL 00003ad9: ADD 00003ada: ADD 00003adb: SWAP1 00003adc: JUMP 00003add: JUMPDEST 00003ade: DUP2 00003adf: DUP2 00003ae0: LT 00003ae1: PUSH2 0x3ae8 00003ae4: JUMPI 00003ae5: POP 00003ae6: POP 00003ae7: JUMP 00003ae8: JUMPDEST 00003ae9: PUSH0 00003aea: DUP2 00003aeb: SSTORE 00003aec: PUSH1 0x01 00003aee: ADD 00003aef: PUSH2 0x3add 00003af2: JUMP 00003af3: JUMPDEST 00003af4: DUP1 00003af5: MLOAD 00003af6: SWAP1 00003af7: PUSH1 0x01 00003af9: PUSH1 0x01 00003afb: PUSH1 0x40 00003afd: SHL 00003afe: SUB 00003aff: DUP3 00003b00: GT 00003b01: PUSH2 0x0cab 00003b04: JUMPI 00003b05: PUSH1 0x01 00003b07: PUSH1 0x40 00003b09: SHL 00003b0a: DUP3 00003b0b: GT 00003b0c: PUSH2 0x0cab 00003b0f: JUMPI 00003b10: PUSH1 0x20 00003b12: SWAP1 00003b13: PUSH1 0x10 00003b15: SLOAD 00003b16: DUP4 00003b17: PUSH1 0x10 00003b19: SSTORE 00003b1a: DUP1 00003b1b: DUP5 00003b1c: LT 00003b1d: PUSH2 0x3b57 00003b20: JUMPI 00003b21: JUMPDEST 00003b22: POP 00003b23: ADD 00003b24: PUSH1 0x10 00003b26: PUSH0 00003b27: MSTORE 00003b28: PUSH1 0x20 00003b2a: PUSH0 00003b2b: KECCAK256 00003b2c: PUSH0 00003b2d: JUMPDEST 00003b2e: DUP4 00003b2f: DUP2 00003b30: LT 00003b31: PUSH2 0x3b3a 00003b34: JUMPI 00003b35: POP 00003b36: POP 00003b37: POP 00003b38: POP 00003b39: JUMP 00003b3a: JUMPDEST 00003b3b: DUP3 00003b3c: MLOAD 00003b3d: PUSH1 0x01 00003b3f: PUSH1 0x01 00003b41: PUSH1 0xa0 00003b43: SHL 00003b44: SUB 00003b45: AND 00003b46: DUP3 00003b47: DUP3 00003b48: ADD 00003b49: SSTORE 00003b4a: PUSH1 0x20 00003b4c: SWAP1 00003b4d: SWAP3 00003b4e: ADD 00003b4f: SWAP2 00003b50: PUSH1 0x01 00003b52: ADD 00003b53: PUSH2 0x3b2d 00003b56: JUMP 00003b57: JUMPDEST 00003b58: PUSH2 0x3b6d 00003b5b: SWAP1 00003b5c: PUSH1 0x10 00003b5e: PUSH0 00003b5f: MSTORE 00003b60: DUP5 00003b61: DUP5 00003b62: PUSH0 00003b63: KECCAK256 00003b64: SWAP2 00003b65: DUP3 00003b66: ADD 00003b67: SWAP2 00003b68: ADD 00003b69: PUSH2 0x3add 00003b6c: JUMP 00003b6d: JUMPDEST 00003b6e: PUSH0 00003b6f: PUSH2 0x3b21 00003b72: JUMP 00003b73: JUMPDEST 00003b74: DUP1 00003b75: MLOAD 00003b76: SWAP1 00003b77: PUSH1 0x01 00003b79: PUSH1 0x01 00003b7b: PUSH1 0x40 00003b7d: SHL 00003b7e: SUB 00003b7f: DUP3 00003b80: GT 00003b81: PUSH2 0x0cab 00003b84: JUMPI 00003b85: PUSH1 0x01 00003b87: PUSH1 0x40 00003b89: SHL 00003b8a: DUP3 00003b8b: GT 00003b8c: PUSH2 0x0cab 00003b8f: JUMPI 00003b90: PUSH1 0x20 00003b92: SWAP1 00003b93: PUSH1 0x0f 00003b95: SLOAD 00003b96: DUP4 00003b97: PUSH1 0x0f 00003b99: SSTORE 00003b9a: DUP1 00003b9b: DUP5 00003b9c: LT 00003b9d: PUSH2 0x3bd7 00003ba0: JUMPI 00003ba1: JUMPDEST 00003ba2: POP 00003ba3: ADD 00003ba4: PUSH1 0x0f 00003ba6: PUSH0 00003ba7: MSTORE 00003ba8: PUSH1 0x20 00003baa: PUSH0 00003bab: KECCAK256 00003bac: PUSH0 00003bad: JUMPDEST 00003bae: DUP4 00003baf: DUP2 00003bb0: LT 00003bb1: PUSH2 0x3bba 00003bb4: JUMPI 00003bb5: POP 00003bb6: POP 00003bb7: POP 00003bb8: POP 00003bb9: JUMP 00003bba: JUMPDEST 00003bbb: DUP3 00003bbc: MLOAD 00003bbd: PUSH1 0x01 00003bbf: PUSH1 0x01 00003bc1: PUSH1 0xa0 00003bc3: SHL 00003bc4: SUB 00003bc5: AND 00003bc6: DUP3 00003bc7: DUP3 00003bc8: ADD 00003bc9: SSTORE 00003bca: PUSH1 0x20 00003bcc: SWAP1 00003bcd: SWAP3 00003bce: ADD 00003bcf: SWAP2 00003bd0: PUSH1 0x01 00003bd2: ADD 00003bd3: PUSH2 0x3bad 00003bd6: JUMP 00003bd7: JUMPDEST 00003bd8: PUSH2 0x3bed 00003bdb: SWAP1 00003bdc: PUSH1 0x0f 00003bde: PUSH0 00003bdf: MSTORE 00003be0: DUP5 00003be1: DUP5 00003be2: PUSH0 00003be3: KECCAK256 00003be4: SWAP2 00003be5: DUP3 00003be6: ADD 00003be7: SWAP2 00003be8: ADD 00003be9: PUSH2 0x3add 00003bec: JUMP 00003bed: JUMPDEST 00003bee: PUSH0 00003bef: PUSH2 0x3ba1 00003bf2: JUMP 00003bf3: JUMPDEST 00003bf4: PUSH1 0x20 00003bf6: PUSH1 0x40 00003bf8: DUP2 00003bf9: DUP4 00003bfa: ADD 00003bfb: SWAP3 00003bfc: DUP3 00003bfd: DUP2 00003bfe: MSTORE 00003bff: DUP5 00003c00: MLOAD 00003c01: DUP1 00003c02: SWAP5 00003c03: MSTORE 00003c04: ADD 00003c05: SWAP3 00003c06: ADD 00003c07: SWAP1 00003c08: PUSH0 00003c09: JUMPDEST 00003c0a: DUP2 00003c0b: DUP2 00003c0c: LT 00003c0d: PUSH2 0x3c16 00003c10: JUMPI 00003c11: POP 00003c12: POP 00003c13: POP 00003c14: SWAP1 00003c15: JUMP 00003c16: JUMPDEST 00003c17: DUP3 00003c18: MLOAD 00003c19: PUSH1 0x01 00003c1b: PUSH1 0x01 00003c1d: PUSH1 0xa0 00003c1f: SHL 00003c20: SUB 00003c21: AND 00003c22: DUP5 00003c23: MSTORE 00003c24: PUSH1 0x20 00003c26: SWAP4 00003c27: DUP5 00003c28: ADD 00003c29: SWAP4 00003c2a: SWAP1 00003c2b: SWAP3 00003c2c: ADD 00003c2d: SWAP2 00003c2e: PUSH1 0x01 00003c30: ADD 00003c31: PUSH2 0x3c09 00003c34: JUMP 00003c35: JUMPDEST 00003c36: PUSH1 0x10 00003c38: SLOAD 00003c39: DUP1 00003c3a: DUP3 00003c3b: MLOAD 00003c3c: SUB 00003c3d: PUSH2 0x3d1e 00003c40: JUMPI 00003c41: PUSH2 0x3c49 00003c44: DUP2 00003c45: PUSH2 0x3a97 00003c48: JUMP 00003c49: JUMPDEST 00003c4a: SWAP1 00003c4b: PUSH2 0x3c53 00003c4e: DUP2 00003c4f: PUSH2 0x3a97 00003c52: JUMP 00003c53: JUMPDEST 00003c54: SWAP3 00003c55: PUSH0 00003c56: JUMPDEST 00003c57: DUP3 00003c58: DUP2 00003c59: LT 00003c5a: PUSH2 0x3c9a 00003c5d: JUMPI 00003c5e: POP 00003c5f: POP 00003c60: POP 00003c61: POP 00003c62: PUSH2 0x3c6a 00003c65: DUP2 00003c66: PUSH2 0x3af3 00003c69: JUMP 00003c6a: JUMPDEST 00003c6b: PUSH32 0xc618a15cb59b7ae9a202a339c6d0b97c4752b6e1a27e06f7b7e7b1d062f6688f 00003c8c: PUSH1 0x40 00003c8e: MLOAD 00003c8f: DUP1 00003c90: PUSH2 0x33f4 00003c93: CALLER 00003c94: SWAP5 00003c95: DUP3 00003c96: PUSH2 0x3bf3 00003c99: JUMP 00003c9a: JUMPDEST 00003c9b: PUSH2 0x3ca4 00003c9e: DUP2 00003c9f: DUP4 00003ca0: PUSH2 0x3ac9 00003ca3: JUMP 00003ca4: JUMPDEST 00003ca5: MLOAD 00003ca6: PUSH2 0x3cb1 00003ca9: PUSH2 0x0be0 00003cac: DUP3 00003cad: PUSH2 0x2cf8 00003cb0: JUMP 00003cb1: JUMPDEST 00003cb2: SWAP1 00003cb3: PUSH2 0x3cc5 00003cb6: PUSH2 0x3cbf 00003cb9: DUP3 00003cba: DUP9 00003cbb: PUSH2 0x3ac9 00003cbe: JUMP 00003cbf: JUMPDEST 00003cc0: MLOAD 00003cc1: ISZERO 00003cc2: ISZERO 00003cc3: SWAP1 00003cc4: JUMP 00003cc5: JUMPDEST 00003cc6: PUSH2 0x3d02 00003cc9: JUMPI 00003cca: PUSH1 0x01 00003ccc: SWAP3 00003ccd: SWAP2 00003cce: PUSH2 0x3ce3 00003cd1: PUSH2 0x3cdd 00003cd4: PUSH2 0x3cfc 00003cd7: SWAP4 00003cd8: DUP10 00003cd9: PUSH2 0x3ac9 00003cdc: JUMP 00003cdd: JUMPDEST 00003cde: PUSH1 0x01 00003ce0: SWAP1 00003ce1: MSTORE 00003ce2: JUMP 00003ce3: JUMPDEST 00003ce4: PUSH2 0x3ced 00003ce7: DUP4 00003ce8: DUP10 00003ce9: PUSH2 0x3ac9 00003cec: JUMP 00003ced: JUMPDEST 00003cee: PUSH1 0x01 00003cf0: PUSH1 0x01 00003cf2: PUSH1 0xa0 00003cf4: SHL 00003cf5: SUB 00003cf6: SWAP1 00003cf7: SWAP2 00003cf8: AND 00003cf9: SWAP1 00003cfa: MSTORE 00003cfb: JUMP 00003cfc: JUMPDEST 00003cfd: ADD 00003cfe: PUSH2 0x3c56 00003d01: JUMP 00003d02: JUMPDEST 00003d03: PUSH4 0xca499047 00003d08: PUSH1 0xe0 00003d0a: SHL 00003d0b: PUSH0 00003d0c: MSTORE 00003d0d: PUSH1 0x01 00003d0f: PUSH1 0x01 00003d11: PUSH1 0xa0 00003d13: SHL 00003d14: SUB 00003d15: DUP3 00003d16: AND 00003d17: PUSH1 0x04 00003d19: MSTORE 00003d1a: PUSH1 0x24 00003d1c: PUSH0 00003d1d: REVERT 00003d1e: JUMPDEST 00003d1f: PUSH4 0x51dc6c19 00003d24: PUSH1 0xe0 00003d26: SHL 00003d27: PUSH0 00003d28: MSTORE 00003d29: PUSH1 0x04 00003d2b: PUSH0 00003d2c: REVERT 00003d2d: JUMPDEST 00003d2e: PUSH1 0xff 00003d30: PUSH0 00003d31: MLOAD 00003d32: PUSH1 0x20 00003d34: PUSH2 0x47f3 00003d37: PUSH0 00003d38: CODECOPY 00003d39: PUSH0 00003d3a: MLOAD 00003d3b: SWAP1 00003d3c: PUSH0 00003d3d: MSTORE 00003d3e: SLOAD 00003d3f: AND 00003d40: PUSH2 0x3d45 00003d43: JUMPI 00003d44: JUMP 00003d45: JUMPDEST 00003d46: PUSH4 0xd93c0665 00003d4b: PUSH1 0xe0 00003d4d: SHL 00003d4e: PUSH0 00003d4f: MSTORE 00003d50: PUSH1 0x04 00003d52: PUSH0 00003d53: REVERT 00003d54: JUMPDEST 00003d55: RETURNDATASIZE 00003d56: ISZERO 00003d57: PUSH2 0x3d7e 00003d5a: JUMPI 00003d5b: RETURNDATASIZE 00003d5c: SWAP1 00003d5d: PUSH2 0x3d65 00003d60: DUP3 00003d61: PUSH2 0x175f 00003d64: JUMP 00003d65: JUMPDEST 00003d66: SWAP2 00003d67: PUSH2 0x3d73 00003d6a: PUSH1 0x40 00003d6c: MLOAD 00003d6d: SWAP4 00003d6e: DUP5 00003d6f: PUSH2 0x0ce6 00003d72: JUMP 00003d73: JUMPDEST 00003d74: DUP3 00003d75: MSTORE 00003d76: RETURNDATASIZE 00003d77: PUSH0 00003d78: PUSH1 0x20 00003d7a: DUP5 00003d7b: ADD 00003d7c: RETURNDATACOPY 00003d7d: JUMP 00003d7e: JUMPDEST 00003d7f: PUSH1 0x60 00003d81: SWAP1 00003d82: JUMP 00003d83: JUMPDEST 00003d84: PUSH0 00003d85: DUP1 00003d86: SWAP2 00003d87: PUSH1 0x20 00003d89: DUP2 00003d8a: MLOAD 00003d8b: SWAP2 00003d8c: ADD 00003d8d: PUSH32 0x00000000000000000000000025afa58ba32bec9daa32ba7f6a1cd0941b699310 00003dae: GAS 00003daf: DELEGATECALL 00003db0: PUSH2 0x3db7 00003db3: PUSH2 0x3d54 00003db6: JUMP 00003db7: JUMPDEST 00003db8: SWAP1 00003db9: ISZERO 00003dba: PUSH2 0x3dc0 00003dbd: JUMPI 00003dbe: SWAP1 00003dbf: JUMP 00003dc0: JUMPDEST 00003dc1: PUSH1 0x20 00003dc3: DUP2 00003dc4: MLOAD 00003dc5: SWAP2 00003dc6: ADD 00003dc7: REVERT 00003dc8: JUMPDEST 00003dc9: PUSH0 00003dca: MLOAD 00003dcb: PUSH1 0x20 00003dcd: PUSH2 0x4853 00003dd0: PUSH0 00003dd1: CODECOPY 00003dd2: PUSH0 00003dd3: MLOAD 00003dd4: SWAP1 00003dd5: PUSH0 00003dd6: MSTORE 00003dd7: DUP1 00003dd8: SLOAD 00003dd9: PUSH1 0x01 00003ddb: PUSH1 0x01 00003ddd: PUSH1 0xa0 00003ddf: SHL 00003de0: SUB 00003de1: NOT 00003de2: SWAP1 00003de3: DUP2 00003de4: AND 00003de5: SWAP1 00003de6: SWAP2 00003de7: SSTORE 00003de8: PUSH0 00003de9: MLOAD 00003dea: PUSH1 0x20 00003dec: PUSH2 0x4793 00003def: PUSH0 00003df0: CODECOPY 00003df1: PUSH0 00003df2: MLOAD 00003df3: SWAP1 00003df4: PUSH0 00003df5: MSTORE 00003df6: DUP1 00003df7: SLOAD 00003df8: SWAP2 00003df9: DUP3 00003dfa: AND 00003dfb: PUSH1 0x01 00003dfd: PUSH1 0x01 00003dff: PUSH1 0xa0 00003e01: SHL 00003e02: SUB 00003e03: SWAP4 00003e04: DUP5 00003e05: AND 00003e06: SWAP1 00003e07: DUP2 00003e08: OR 00003e09: SWAP1 00003e0a: SWAP2 00003e0b: SSTORE 00003e0c: SWAP2 00003e0d: AND 00003e0e: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00003e2f: PUSH0 00003e30: DUP1 00003e31: LOG3 00003e32: JUMP 00003e33: JUMPDEST 00003e34: PUSH1 0x02 00003e36: PUSH0 00003e37: MLOAD 00003e38: PUSH1 0x20 00003e3a: PUSH2 0x4813 00003e3d: PUSH0 00003e3e: CODECOPY 00003e3f: PUSH0 00003e40: MLOAD 00003e41: SWAP1 00003e42: PUSH0 00003e43: MSTORE 00003e44: SLOAD 00003e45: EQ 00003e46: PUSH2 0x3e5c 00003e49: JUMPI 00003e4a: PUSH1 0x02 00003e4c: PUSH0 00003e4d: MLOAD 00003e4e: PUSH1 0x20 00003e50: PUSH2 0x4813 00003e53: PUSH0 00003e54: CODECOPY 00003e55: PUSH0 00003e56: MLOAD 00003e57: SWAP1 00003e58: PUSH0 00003e59: MSTORE 00003e5a: SSTORE 00003e5b: JUMP 00003e5c: JUMPDEST 00003e5d: PUSH4 0x3ee5aeb5 00003e62: PUSH1 0xe0 00003e64: SHL 00003e65: PUSH0 00003e66: MSTORE 00003e67: PUSH1 0x04 00003e69: PUSH0 00003e6a: REVERT 00003e6b: JUMPDEST 00003e6c: PUSH1 0x01 00003e6e: PUSH1 0x01 00003e70: PUSH1 0xa0 00003e72: SHL 00003e73: SUB 00003e74: DUP2 00003e75: AND 00003e76: SWAP2 00003e77: SWAP1 00003e78: DUP3 00003e79: ISZERO 00003e7a: PUSH2 0x39fe 00003e7d: JUMPI 00003e7e: PUSH2 0x3e86 00003e81: DUP2 00003e82: PUSH2 0x2c7c 00003e85: JUMP 00003e86: JUMPDEST 00003e87: SLOAD 00003e88: DUP3 00003e89: DUP2 00003e8a: LT 00003e8b: PUSH2 0x3ee1 00003e8e: JUMPI 00003e8f: SWAP2 00003e90: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00003eb1: SWAP2 00003eb2: PUSH2 0x3ebf 00003eb5: DUP3 00003eb6: PUSH0 00003eb7: SWAP7 00003eb8: SWAP6 00003eb9: SUB 00003eba: SWAP2 00003ebb: PUSH2 0x2c7c 00003ebe: JUMP 00003ebf: JUMPDEST 00003ec0: SSTORE 00003ec1: PUSH0 00003ec2: MLOAD 00003ec3: PUSH1 0x20 00003ec5: PUSH2 0x47b3 00003ec8: PUSH0 00003ec9: CODECOPY 00003eca: PUSH0 00003ecb: MLOAD 00003ecc: SWAP1 00003ecd: PUSH0 00003ece: MSTORE 00003ecf: DUP1 00003ed0: SLOAD 00003ed1: DUP3 00003ed2: SWAP1 00003ed3: SUB 00003ed4: SWAP1 00003ed5: SSTORE 00003ed6: PUSH1 0x40 00003ed8: MLOAD 00003ed9: SWAP1 00003eda: DUP2 00003edb: MSTORE 00003edc: PUSH1 0x20 00003ede: SWAP1 00003edf: LOG3 00003ee0: JUMP 00003ee1: JUMPDEST 00003ee2: PUSH4 0x391434e3 00003ee7: PUSH1 0xe2 00003ee9: SHL 00003eea: PUSH0 00003eeb: MSTORE 00003eec: PUSH1 0x01 00003eee: PUSH1 0x01 00003ef0: PUSH1 0xa0 00003ef2: SHL 00003ef3: SUB 00003ef4: SWAP1 00003ef5: SWAP2 00003ef6: AND 00003ef7: PUSH1 0x04 00003ef9: MSTORE 00003efa: PUSH1 0x24 00003efc: MSTORE 00003efd: PUSH1 0x44 00003eff: MSTORE 00003f00: PUSH1 0x64 00003f02: PUSH0 00003f03: REVERT 00003f04: JUMPDEST 00003f05: PUSH3 0x127500 00003f09: DUP2 00003f0a: GT 00003f0b: PUSH2 0x3f28 00003f0e: JUMPI 00003f0f: PUSH3 0x015180 00003f13: GT 00003f14: PUSH2 0x3f19 00003f17: JUMPI 00003f18: JUMP 00003f19: JUMPDEST 00003f1a: PUSH4 0x1a1593df 00003f1f: PUSH1 0xe1 00003f21: SHL 00003f22: PUSH0 00003f23: MSTORE 00003f24: PUSH1 0x04 00003f26: PUSH0 00003f27: REVERT 00003f28: JUMPDEST 00003f29: PUSH4 0x46fedb57 00003f2e: PUSH1 0xe0 00003f30: SHL 00003f31: PUSH0 00003f32: MSTORE 00003f33: PUSH1 0x04 00003f35: PUSH0 00003f36: REVERT 00003f37: JUMPDEST 00003f38: DUP1 00003f39: PUSH1 0x08 00003f3b: SSTORE 00003f3c: PUSH1 0x40 00003f3e: MLOAD 00003f3f: SWAP1 00003f40: DUP2 00003f41: MSTORE 00003f42: PUSH32 0xd28e9b90ee9b37c5936ff84392d71f29ff18117d7e76bcee60615262a90a3f75 00003f63: PUSH1 0x20 00003f65: CALLER 00003f66: SWAP3 00003f67: LOG2 00003f68: PUSH0 00003f69: PUSH1 0x05 00003f6b: SSTORE 00003f6c: JUMP 00003f6d: JUMPDEST 00003f6e: PUSH2 0x3f75 00003f71: PUSH2 0x446e 00003f74: JUMP 00003f75: JUMPDEST 00003f76: PUSH2 0x3f7d 00003f79: PUSH2 0x446e 00003f7c: JUMP 00003f7d: JUMPDEST 00003f7e: PUSH1 0x01 00003f80: PUSH1 0x01 00003f82: PUSH1 0xa0 00003f84: SHL 00003f85: SUB 00003f86: DUP2 00003f87: AND 00003f88: ISZERO 00003f89: PUSH2 0x3f95 00003f8c: JUMPI 00003f8d: PUSH2 0x0692 00003f90: SWAP1 00003f91: PUSH2 0x3dc8 00003f94: JUMP 00003f95: JUMPDEST 00003f96: PUSH4 0x1e4fbdf7 00003f9b: PUSH1 0xe0 00003f9d: SHL 00003f9e: PUSH0 00003f9f: MSTORE 00003fa0: PUSH0 00003fa1: PUSH1 0x04 00003fa3: MSTORE 00003fa4: PUSH1 0x24 00003fa6: PUSH0 00003fa7: REVERT 00003fa8: JUMPDEST 00003fa9: PUSH2 0x3fb0 00003fac: PUSH2 0x446e 00003faf: JUMP 00003fb0: JUMPDEST 00003fb1: PUSH2 0x3fb8 00003fb4: PUSH2 0x446e 00003fb7: JUMP 00003fb8: JUMPDEST 00003fb9: PUSH2 0x3fc1 00003fbc: DUP2 00003fbd: PUSH2 0x46c5 00003fc0: JUMP 00003fc1: JUMPDEST 00003fc2: SWAP1 00003fc3: ISZERO 00003fc4: PUSH2 0x4003 00003fc7: JUMPI 00003fc8: SWAP1 00003fc9: JUMPDEST 00003fca: PUSH0 00003fcb: MLOAD 00003fcc: PUSH1 0x20 00003fce: PUSH2 0x47d3 00003fd1: PUSH0 00003fd2: CODECOPY 00003fd3: PUSH0 00003fd4: MLOAD 00003fd5: SWAP1 00003fd6: PUSH0 00003fd7: MSTORE 00003fd8: DUP1 00003fd9: SLOAD 00003fda: PUSH1 0x01 00003fdc: PUSH1 0x01 00003fde: PUSH1 0xa8 00003fe0: SHL 00003fe1: SUB 00003fe2: NOT 00003fe3: AND 00003fe4: PUSH1 0xa0 00003fe6: SWAP4 00003fe7: SWAP1 00003fe8: SWAP4 00003fe9: SHL 00003fea: PUSH1 0xff 00003fec: PUSH1 0xa0 00003fee: SHL 00003fef: AND 00003ff0: SWAP3 00003ff1: SWAP1 00003ff2: SWAP3 00003ff3: OR 00003ff4: PUSH1 0x01 00003ff6: PUSH1 0x01 00003ff8: PUSH1 0xa0 00003ffa: SHL 00003ffb: SUB 00003ffc: SWAP1 00003ffd: SWAP2 00003ffe: AND 00003fff: OR 00004000: SWAP1 00004001: SSTORE 00004002: JUMP 00004003: JUMPDEST 00004004: POP 00004005: PUSH1 0x12 00004007: SWAP1 00004008: PUSH2 0x3fc9 0000400b: JUMP 0000400c: JUMPDEST 0000400d: PUSH2 0x4014 00004010: PUSH2 0x446e 00004013: JUMP 00004014: JUMPDEST 00004015: PUSH2 0x401c 00004018: PUSH2 0x446e 0000401b: JUMP 0000401c: JUMPDEST 0000401d: PUSH1 0x01 0000401f: PUSH0 00004020: MLOAD 00004021: PUSH1 0x20 00004023: PUSH2 0x4813 00004026: PUSH0 00004027: CODECOPY 00004028: PUSH0 00004029: MLOAD 0000402a: SWAP1 0000402b: PUSH0 0000402c: MSTORE 0000402d: SSTORE 0000402e: JUMP 0000402f: JUMPDEST 00004030: PUSH2 0x4037 00004033: PUSH2 0x446e 00004036: JUMP 00004037: JUMPDEST 00004038: PUSH2 0x403f 0000403b: PUSH2 0x446e 0000403e: JUMP 0000403f: JUMPDEST 00004040: PUSH1 0xff 00004042: NOT 00004043: PUSH0 00004044: MLOAD 00004045: PUSH1 0x20 00004047: PUSH2 0x47f3 0000404a: PUSH0 0000404b: CODECOPY 0000404c: PUSH0 0000404d: MLOAD 0000404e: SWAP1 0000404f: PUSH0 00004050: MSTORE 00004051: SLOAD 00004052: AND 00004053: PUSH0 00004054: MLOAD 00004055: PUSH1 0x20 00004057: PUSH2 0x47f3 0000405a: PUSH0 0000405b: CODECOPY 0000405c: PUSH0 0000405d: MLOAD 0000405e: SWAP1 0000405f: PUSH0 00004060: MSTORE 00004061: SSTORE 00004062: JUMP 00004063: JUMPDEST 00004064: PUSH1 0x01 00004066: PUSH1 0x01 00004068: PUSH1 0x40 0000406a: SHL 0000406b: SUB 0000406c: SWAP1 0000406d: PUSH2 0x408e 00004070: PUSH1 0x40 00004072: MLOAD 00004073: PUSH4 0x45fe329f 00004078: PUSH1 0xe0 0000407a: SHL 0000407b: PUSH1 0x20 0000407d: DUP3 0000407e: ADD 0000407f: MSTORE 00004080: PUSH1 0x04 00004082: DUP2 00004083: MSTORE 00004084: PUSH2 0x1385 00004087: PUSH1 0x24 00004089: DUP3 0000408a: PUSH2 0x0ce6 0000408d: JUMP 0000408e: JUMPDEST 0000408f: POP 00004090: AND 00004091: PUSH1 0x01 00004093: PUSH1 0x01 00004095: PUSH1 0x40 00004097: SHL 00004098: SUB 00004099: NOT 0000409a: PUSH1 0x0e 0000409c: SLOAD 0000409d: AND 0000409e: OR 0000409f: PUSH1 0x0e 000040a1: SSTORE 000040a2: JUMP 000040a3: JUMPDEST 000040a4: PUSH2 0x40ab 000040a7: PUSH2 0x3d2d 000040aa: JUMP 000040ab: JUMPDEST 000040ac: PUSH1 0x01 000040ae: PUSH1 0xff 000040b0: NOT 000040b1: PUSH0 000040b2: MLOAD 000040b3: PUSH1 0x20 000040b5: PUSH2 0x47f3 000040b8: PUSH0 000040b9: CODECOPY 000040ba: PUSH0 000040bb: MLOAD 000040bc: SWAP1 000040bd: PUSH0 000040be: MSTORE 000040bf: SLOAD 000040c0: AND 000040c1: OR 000040c2: PUSH0 000040c3: MLOAD 000040c4: PUSH1 0x20 000040c6: PUSH2 0x47f3 000040c9: PUSH0 000040ca: CODECOPY 000040cb: PUSH0 000040cc: MLOAD 000040cd: SWAP1 000040ce: PUSH0 000040cf: MSTORE 000040d0: SSTORE 000040d1: PUSH32 0x62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258 000040f2: PUSH1 0x20 000040f4: PUSH1 0x40 000040f6: MLOAD 000040f7: CALLER 000040f8: DUP2 000040f9: MSTORE 000040fa: LOG1 000040fb: JUMP 000040fc: JUMPDEST 000040fd: PUSH1 0x01 000040ff: DUP1 00004100: PUSH1 0xa0 00004102: SHL 00004103: SUB 00004104: AND 00004105: PUSH1 0x01 00004107: PUSH1 0x01 00004109: PUSH1 0x60 0000410b: SHL 0000410c: SUB 0000410d: PUSH1 0xa0 0000410f: SHL 00004110: PUSH1 0x07 00004112: SLOAD 00004113: AND 00004114: OR 00004115: PUSH1 0x07 00004117: SSTORE 00004118: TIMESTAMP 00004119: ADD 0000411a: DUP1 0000411b: TIMESTAMP 0000411c: GT 0000411d: PUSH2 0x0ae5 00004120: JUMPI 00004121: PUSH1 0x07 00004123: DUP1 00004124: SLOAD 00004125: PUSH8 0xffffffffffffffff 0000412e: PUSH1 0xa0 00004130: SHL 00004131: NOT 00004132: AND 00004133: PUSH1 0xa0 00004135: SWAP3 00004136: SWAP1 00004137: SWAP3 00004138: SHL 00004139: PUSH8 0xffffffffffffffff 00004142: PUSH1 0xa0 00004144: SHL 00004145: AND 00004146: SWAP2 00004147: SWAP1 00004148: SWAP2 00004149: OR 0000414a: SWAP1 0000414b: SSTORE 0000414c: JUMP 0000414d: JUMPDEST 0000414e: PUSH1 0x01 00004150: DUP1 00004151: PUSH1 0xa0 00004153: SHL 00004154: SUB 00004155: AND 00004156: DUP1 00004157: PUSH1 0x01 00004159: PUSH1 0x01 0000415b: PUSH1 0x60 0000415d: SHL 0000415e: SUB 0000415f: PUSH1 0xa0 00004161: SHL 00004162: PUSH0 00004163: SLOAD 00004164: AND 00004165: OR 00004166: PUSH0 00004167: SSTORE 00004168: PUSH1 0x40 0000416a: MLOAD 0000416b: SWAP1 0000416c: DUP2 0000416d: MSTORE 0000416e: PUSH32 0xcb11cc8aade2f5a556749d1b2380d108a16fac3431e6a5d5ce12ef9de0bd76e3 0000418f: PUSH1 0x20 00004191: CALLER 00004192: SWAP3 00004193: LOG2 00004194: PUSH0 00004195: PUSH1 0x07 00004197: SSTORE 00004198: JUMP 00004199: JUMPDEST 0000419a: PUSH1 0x01 0000419c: PUSH1 0x01 0000419e: PUSH1 0x40 000041a0: SHL 000041a1: SUB 000041a2: DUP2 000041a3: GT 000041a4: PUSH2 0x41b3 000041a7: JUMPI 000041a8: PUSH1 0x01 000041aa: PUSH1 0x01 000041ac: PUSH1 0x40 000041ae: SHL 000041af: SUB 000041b0: AND 000041b1: SWAP1 000041b2: JUMP 000041b3: JUMPDEST 000041b4: PUSH4 0x06dfcc65 000041b9: PUSH1 0xe4 000041bb: SHL 000041bc: PUSH0 000041bd: MSTORE 000041be: PUSH1 0x40 000041c0: PUSH1 0x04 000041c2: MSTORE 000041c3: PUSH1 0x24 000041c5: MSTORE 000041c6: PUSH1 0x44 000041c8: PUSH0 000041c9: REVERT 000041ca: JUMPDEST 000041cb: PUSH1 0x0f 000041cd: SLOAD 000041ce: DUP1 000041cf: DUP3 000041d0: MLOAD 000041d1: SUB 000041d2: PUSH2 0x4272 000041d5: JUMPI 000041d6: PUSH2 0x41de 000041d9: DUP2 000041da: PUSH2 0x3a97 000041dd: JUMP 000041de: JUMPDEST 000041df: SWAP1 000041e0: PUSH2 0x41e8 000041e3: DUP2 000041e4: PUSH2 0x3a97 000041e7: JUMP 000041e8: JUMPDEST 000041e9: SWAP3 000041ea: PUSH0 000041eb: JUMPDEST 000041ec: DUP3 000041ed: DUP2 000041ee: LT 000041ef: PUSH2 0x422f 000041f2: JUMPI 000041f3: POP 000041f4: POP 000041f5: POP 000041f6: POP 000041f7: PUSH2 0x41ff 000041fa: DUP2 000041fb: PUSH2 0x3b73 000041fe: JUMP 000041ff: JUMPDEST 00004200: PUSH32 0x823a01301c8a565de5c9d7aa034ab0841b6bfb2c3a497218fa6226b9c65d3550 00004221: PUSH1 0x40 00004223: MLOAD 00004224: DUP1 00004225: PUSH2 0x33f4 00004228: CALLER 00004229: SWAP5 0000422a: DUP3 0000422b: PUSH2 0x3bf3 0000422e: JUMP 0000422f: JUMPDEST 00004230: PUSH2 0x4239 00004233: DUP2 00004234: DUP4 00004235: PUSH2 0x3ac9 00004238: JUMP 00004239: JUMPDEST 0000423a: MLOAD 0000423b: PUSH2 0x4246 0000423e: PUSH2 0x0be0 00004241: DUP3 00004242: PUSH2 0x2ce0 00004245: JUMP 00004246: JUMPDEST 00004247: SWAP1 00004248: PUSH2 0x4254 0000424b: PUSH2 0x3cbf 0000424e: DUP3 0000424f: DUP9 00004250: PUSH2 0x3ac9 00004253: JUMP 00004254: JUMPDEST 00004255: PUSH2 0x3d02 00004258: JUMPI 00004259: PUSH1 0x01 0000425b: SWAP3 0000425c: SWAP2 0000425d: PUSH2 0x3ce3 00004260: PUSH2 0x3cdd 00004263: PUSH2 0x426c 00004266: SWAP4 00004267: DUP10 00004268: PUSH2 0x3ac9 0000426b: JUMP 0000426c: JUMPDEST 0000426d: ADD 0000426e: PUSH2 0x41eb 00004271: JUMP 00004272: JUMPDEST 00004273: PUSH4 0xdb7fb4e1 00004278: PUSH1 0xe0 0000427a: SHL 0000427b: PUSH0 0000427c: MSTORE 0000427d: PUSH1 0x04 0000427f: PUSH0 00004280: REVERT 00004281: JUMPDEST 00004282: DUP2 00004283: SUB 00004284: SWAP2 00004285: SWAP1 00004286: DUP3 00004287: GT 00004288: PUSH2 0x0ae5 0000428b: JUMPI 0000428c: PUSH4 0x01e13380 00004291: SWAP2 00004292: PUSH2 0x429a 00004295: SWAP2 00004296: PUSH2 0x2d82 00004299: JUMP 0000429a: JUMPDEST 0000429b: DIV 0000429c: SWAP1 0000429d: PUSH4 0x05f5e100 000042a2: PUSH2 0x42b6 000042a5: PUSH1 0x01 000042a7: PUSH1 0x01 000042a9: PUSH1 0x40 000042ab: SHL 000042ac: SUB 000042ad: PUSH1 0x0e 000042af: SLOAD 000042b0: AND 000042b1: DUP5 000042b2: PUSH2 0x2d82 000042b5: JUMP 000042b6: JUMPDEST 000042b7: DIV 000042b8: SWAP2 000042b9: DUP3 000042ba: DUP2 000042bb: SUB 000042bc: SWAP1 000042bd: DUP2 000042be: GT 000042bf: PUSH2 0x0ae5 000042c2: JUMPI 000042c3: SWAP2 000042c4: SWAP1 000042c5: JUMP 000042c6: JUMPDEST 000042c7: SWAP2 000042c8: SWAP1 000042c9: PUSH2 0x42d3 000042cc: DUP3 000042cd: DUP3 000042ce: DUP6 000042cf: PUSH2 0x4633 000042d2: JUMP 000042d3: JUMPDEST 000042d4: SWAP4 000042d5: PUSH1 0x04 000042d7: DUP2 000042d8: LT 000042d9: ISZERO 000042da: PUSH2 0x4310 000042dd: JUMPI 000042de: PUSH1 0x01 000042e0: DUP1 000042e1: SWAP2 000042e2: AND 000042e3: EQ 000042e4: SWAP3 000042e5: DUP4 000042e6: PUSH2 0x42fb 000042e9: JUMPI 000042ea: JUMPDEST 000042eb: POP 000042ec: POP 000042ed: POP 000042ee: ISZERO 000042ef: ISZERO 000042f0: DUP2 000042f1: ADD 000042f2: DUP1 000042f3: SWAP2 000042f4: GT 000042f5: PUSH2 0x0ae5 000042f8: JUMPI 000042f9: SWAP1 000042fa: JUMP 000042fb: JUMPDEST 000042fc: SWAP1 000042fd: SWAP2 000042fe: DUP1 000042ff: SWAP4 00004300: POP 00004301: ISZERO 00004302: PUSH2 0x2c07 00004305: JUMPI 00004306: MULMOD 00004307: ISZERO 00004308: ISZERO 00004309: PUSH0 0000430a: DUP1 0000430b: DUP1 0000430c: PUSH2 0x42ea 0000430f: JUMP 00004310: JUMPDEST 00004311: PUSH4 0x4e487b71 00004316: PUSH1 0xe0 00004318: SHL 00004319: PUSH0 0000431a: MSTORE 0000431b: PUSH1 0x21 0000431d: PUSH1 0x04 0000431f: MSTORE 00004320: PUSH1 0x24 00004322: PUSH0 00004323: REVERT 00004324: JUMPDEST 00004325: SWAP3 00004326: SWAP2 00004327: SWAP1 00004328: PUSH0 00004329: NOT 0000432a: DUP4 0000432b: EQ 0000432c: PUSH2 0x43e6 0000432f: JUMPI 00004330: PUSH1 0x01 00004332: PUSH1 0x01 00004334: PUSH1 0xa0 00004336: SHL 00004337: SUB 00004338: DUP2 00004339: DUP2 0000433a: AND 0000433b: SWAP1 0000433c: DUP4 0000433d: AND 0000433e: EQ 0000433f: DUP1 00004340: ISZERO 00004341: PUSH2 0x43de 00004344: JUMPI 00004345: JUMPDEST 00004346: PUSH2 0x38e2 00004349: JUMPI 0000434a: PUSH1 0x40 0000434c: MLOAD 0000434d: PUSH4 0x23b872dd 00004352: PUSH1 0xe0 00004354: SHL 00004355: PUSH1 0x20 00004357: DUP3 00004358: DUP2 00004359: ADD 0000435a: SWAP2 0000435b: DUP3 0000435c: MSTORE 0000435d: PUSH1 0x01 0000435f: PUSH1 0x01 00004361: PUSH1 0xa0 00004363: SHL 00004364: SUB 00004365: SWAP4 00004366: DUP5 00004367: AND 00004368: PUSH1 0x24 0000436a: DUP5 0000436b: ADD 0000436c: MSTORE 0000436d: SWAP3 0000436e: SWAP1 0000436f: SWAP4 00004370: AND 00004371: PUSH1 0x44 00004373: DUP3 00004374: ADD 00004375: MSTORE 00004376: PUSH1 0x64 00004378: DUP2 00004379: ADD 0000437a: SWAP4 0000437b: SWAP1 0000437c: SWAP4 0000437d: MSTORE 0000437e: SWAP2 0000437f: PUSH0 00004380: SWAP2 00004381: SWAP1 00004382: PUSH2 0x438e 00004385: DUP2 00004386: PUSH1 0x84 00004388: DUP2 00004389: ADD 0000438a: PUSH2 0x1377 0000438d: JUMP 0000438e: JUMPDEST 0000438f: MLOAD 00004390: SWAP1 00004391: DUP3 00004392: DUP6 00004393: GAS 00004394: CALL 00004395: ISZERO 00004396: PUSH2 0x2d10 00004399: JUMPI 0000439a: PUSH0 0000439b: MLOAD 0000439c: RETURNDATASIZE 0000439d: PUSH2 0x43d5 000043a0: JUMPI 000043a1: POP 000043a2: PUSH1 0x01 000043a4: PUSH1 0x01 000043a6: PUSH1 0xa0 000043a8: SHL 000043a9: SUB 000043aa: DUP2 000043ab: AND 000043ac: EXTCODESIZE 000043ad: ISZERO 000043ae: JUMPDEST 000043af: PUSH2 0x43b5 000043b2: JUMPI 000043b3: POP 000043b4: JUMP 000043b5: JUMPDEST 000043b6: PUSH4 0x5274afe7 000043bb: PUSH1 0xe0 000043bd: SHL 000043be: PUSH0 000043bf: SWAP1 000043c0: DUP2 000043c1: MSTORE 000043c2: PUSH1 0x01 000043c4: PUSH1 0x01 000043c6: PUSH1 0xa0 000043c8: SHL 000043c9: SUB 000043ca: SWAP2 000043cb: SWAP1 000043cc: SWAP2 000043cd: AND 000043ce: PUSH1 0x04 000043d0: MSTORE 000043d1: PUSH1 0x24 000043d3: SWAP1 000043d4: REVERT 000043d5: JUMPDEST 000043d6: PUSH1 0x01 000043d8: EQ 000043d9: ISZERO 000043da: PUSH2 0x43ae 000043dd: JUMP 000043de: JUMPDEST 000043df: POP 000043e0: DUP3 000043e1: ISZERO 000043e2: PUSH2 0x4345 000043e5: JUMP 000043e6: JUMPDEST 000043e7: PUSH4 0x0d550c3b 000043ec: PUSH1 0xe1 000043ee: SHL 000043ef: PUSH0 000043f0: MSTORE 000043f1: PUSH1 0x04 000043f3: PUSH0 000043f4: REVERT 000043f5: JUMPDEST 000043f6: PUSH1 0x01 000043f8: PUSH1 0x01 000043fa: PUSH1 0xa0 000043fc: SHL 000043fd: SUB 000043fe: DUP2 000043ff: AND 00004400: SWAP2 00004401: SWAP1 00004402: DUP3 00004403: ISZERO 00004404: PUSH2 0x39eb 00004407: JUMPI 00004408: PUSH0 00004409: MLOAD 0000440a: PUSH1 0x20 0000440c: PUSH2 0x47b3 0000440f: PUSH0 00004410: CODECOPY 00004411: PUSH0 00004412: MLOAD 00004413: SWAP1 00004414: PUSH0 00004415: MSTORE 00004416: SLOAD 00004417: SWAP1 00004418: DUP3 00004419: DUP3 0000441a: ADD 0000441b: DUP1 0000441c: SWAP3 0000441d: GT 0000441e: PUSH2 0x0ae5 00004421: JUMPI 00004422: PUSH0 00004423: SWAP3 00004424: PUSH2 0x445f 00004427: PUSH1 0x20 00004429: SWAP3 0000442a: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 0000444b: SWAP5 0000444c: PUSH0 0000444d: MLOAD 0000444e: PUSH1 0x20 00004450: PUSH2 0x47b3 00004453: PUSH0 00004454: CODECOPY 00004455: PUSH0 00004456: MLOAD 00004457: SWAP1 00004458: PUSH0 00004459: MSTORE 0000445a: SSTORE 0000445b: PUSH2 0x2c7c 0000445e: JUMP 0000445f: JUMPDEST 00004460: DUP2 00004461: DUP2 00004462: SLOAD 00004463: ADD 00004464: SWAP1 00004465: SSTORE 00004466: PUSH1 0x40 00004468: MLOAD 00004469: SWAP1 0000446a: DUP2 0000446b: MSTORE 0000446c: LOG3 0000446d: JUMP 0000446e: JUMPDEST 0000446f: PUSH1 0xff 00004471: PUSH0 00004472: MLOAD 00004473: PUSH1 0x20 00004475: PUSH2 0x4833 00004478: PUSH0 00004479: CODECOPY 0000447a: PUSH0 0000447b: MLOAD 0000447c: SWAP1 0000447d: PUSH0 0000447e: MSTORE 0000447f: SLOAD 00004480: PUSH1 0x40 00004482: SHR 00004483: AND 00004484: ISZERO 00004485: PUSH2 0x448a 00004488: JUMPI 00004489: JUMP 0000448a: JUMPDEST 0000448b: PUSH4 0x1afcd79f 00004490: PUSH1 0xe3 00004492: SHL 00004493: PUSH0 00004494: MSTORE 00004495: PUSH1 0x04 00004497: PUSH0 00004498: REVERT 00004499: JUMPDEST 0000449a: SWAP1 0000449b: PUSH1 0x1f 0000449d: DUP3 0000449e: GT 0000449f: PUSH2 0x44a6 000044a2: JUMPI 000044a3: POP 000044a4: POP 000044a5: JUMP 000044a6: JUMPDEST 000044a7: PUSH2 0x0692 000044aa: SWAP2 000044ab: PUSH0 000044ac: MLOAD 000044ad: PUSH1 0x20 000044af: PUSH2 0x4753 000044b2: PUSH0 000044b3: CODECOPY 000044b4: PUSH0 000044b5: MLOAD 000044b6: SWAP1 000044b7: PUSH0 000044b8: MSTORE 000044b9: PUSH0 000044ba: MSTORE 000044bb: PUSH1 0x20 000044bd: PUSH0 000044be: KECCAK256 000044bf: SWAP1 000044c0: PUSH1 0x20 000044c2: PUSH1 0x1f 000044c4: DUP5 000044c5: ADD 000044c6: PUSH1 0x05 000044c8: SHR 000044c9: DUP4 000044ca: ADD 000044cb: SWAP4 000044cc: LT 000044cd: PUSH2 0x44de 000044d0: JUMPI 000044d1: JUMPDEST 000044d2: PUSH1 0x1f 000044d4: ADD 000044d5: PUSH1 0x05 000044d7: SHR 000044d8: ADD 000044d9: SWAP1 000044da: PUSH2 0x3add 000044dd: JUMP 000044de: JUMPDEST 000044df: SWAP1 000044e0: SWAP2 000044e1: POP 000044e2: DUP2 000044e3: SWAP1 000044e4: PUSH2 0x44d1 000044e7: JUMP 000044e8: JUMPDEST 000044e9: SWAP2 000044ea: SWAP1 000044eb: PUSH1 0x1f 000044ed: DUP2 000044ee: GT 000044ef: PUSH2 0x44f7 000044f2: JUMPI 000044f3: POP 000044f4: POP 000044f5: POP 000044f6: JUMP 000044f7: JUMPDEST 000044f8: PUSH2 0x0692 000044fb: SWAP3 000044fc: PUSH0 000044fd: MSTORE 000044fe: PUSH1 0x20 00004500: PUSH0 00004501: KECCAK256 00004502: SWAP1 00004503: PUSH1 0x20 00004505: PUSH1 0x1f 00004507: DUP5 00004508: ADD 00004509: PUSH1 0x05 0000450b: SHR 0000450c: DUP4 0000450d: ADD 0000450e: SWAP4 0000450f: LT 00004510: PUSH2 0x44de 00004513: JUMPI 00004514: PUSH1 0x1f 00004516: ADD 00004517: PUSH1 0x05 00004519: SHR 0000451a: ADD 0000451b: SWAP1 0000451c: PUSH2 0x3add 0000451f: JUMP 00004520: JUMPDEST 00004521: SWAP1 00004522: DUP2 00004523: MLOAD 00004524: PUSH1 0x01 00004526: PUSH1 0x01 00004528: PUSH1 0x40 0000452a: SHL 0000452b: SUB 0000452c: DUP2 0000452d: GT 0000452e: PUSH2 0x0cab 00004531: JUMPI 00004532: PUSH2 0x455f 00004535: DUP2 00004536: PUSH2 0x454c 00004539: PUSH0 0000453a: MLOAD 0000453b: PUSH1 0x20 0000453d: PUSH2 0x4773 00004540: PUSH0 00004541: CODECOPY 00004542: PUSH0 00004543: MLOAD 00004544: SWAP1 00004545: PUSH0 00004546: MSTORE 00004547: SLOAD 00004548: PUSH2 0x2c0c 0000454b: JUMP 0000454c: JUMPDEST 0000454d: PUSH0 0000454e: MLOAD 0000454f: PUSH1 0x20 00004551: PUSH2 0x4773 00004554: PUSH0 00004555: CODECOPY 00004556: PUSH0 00004557: MLOAD 00004558: SWAP1 00004559: PUSH0 0000455a: MSTORE 0000455b: PUSH2 0x44e8 0000455e: JUMP 0000455f: JUMPDEST 00004560: PUSH1 0x20 00004562: SWAP3 00004563: PUSH1 0x1f 00004565: DUP3 00004566: GT 00004567: PUSH1 0x01 00004569: EQ 0000456a: PUSH2 0x459f 0000456d: JUMPI 0000456e: PUSH2 0x458e 00004571: SWAP3 00004572: SWAP4 00004573: DUP3 00004574: SWAP2 00004575: PUSH0 00004576: SWAP3 00004577: PUSH2 0x32a9 0000457a: JUMPI 0000457b: POP 0000457c: POP 0000457d: DUP2 0000457e: PUSH1 0x01 00004580: SHL 00004581: SWAP2 00004582: PUSH0 00004583: NOT 00004584: SWAP1 00004585: PUSH1 0x03 00004587: SHL 00004588: SHR 00004589: NOT 0000458a: AND 0000458b: OR 0000458c: SWAP1 0000458d: JUMP 0000458e: JUMPDEST 0000458f: PUSH0 00004590: MLOAD 00004591: PUSH1 0x20 00004593: PUSH2 0x4773 00004596: PUSH0 00004597: CODECOPY 00004598: PUSH0 00004599: MLOAD 0000459a: SWAP1 0000459b: PUSH0 0000459c: MSTORE 0000459d: SSTORE 0000459e: JUMP 0000459f: JUMPDEST 000045a0: PUSH0 000045a1: MLOAD 000045a2: PUSH1 0x20 000045a4: PUSH2 0x4773 000045a7: PUSH0 000045a8: CODECOPY 000045a9: PUSH0 000045aa: MLOAD 000045ab: SWAP1 000045ac: PUSH0 000045ad: MSTORE 000045ae: PUSH0 000045af: MSTORE 000045b0: PUSH1 0x1f 000045b2: NOT 000045b3: DUP3 000045b4: AND 000045b5: SWAP4 000045b6: PUSH32 0x46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa 000045d7: SWAP2 000045d8: PUSH0 000045d9: JUMPDEST 000045da: DUP7 000045db: DUP2 000045dc: LT 000045dd: PUSH2 0x461b 000045e0: JUMPI 000045e1: POP 000045e2: DUP4 000045e3: PUSH1 0x01 000045e5: SWAP6 000045e6: SWAP7 000045e7: LT 000045e8: PUSH2 0x4603 000045eb: JUMPI 000045ec: JUMPDEST 000045ed: POP 000045ee: POP 000045ef: POP 000045f0: DUP2 000045f1: SHL 000045f2: ADD 000045f3: PUSH0 000045f4: MLOAD 000045f5: PUSH1 0x20 000045f7: PUSH2 0x4773 000045fa: PUSH0 000045fb: CODECOPY 000045fc: PUSH0 000045fd: MLOAD 000045fe: SWAP1 000045ff: PUSH0 00004600: MSTORE 00004601: SSTORE 00004602: JUMP 00004603: JUMPDEST 00004604: ADD 00004605: MLOAD 00004606: PUSH0 00004607: NOT 00004608: PUSH1 0xf8 0000460a: DUP5 0000460b: PUSH1 0x03 0000460d: SHL 0000460e: AND 0000460f: SHR 00004610: NOT 00004611: AND 00004612: SWAP1 00004613: SSTORE 00004614: PUSH0 00004615: DUP1 00004616: DUP1 00004617: PUSH2 0x45ec 0000461a: JUMP 0000461b: JUMPDEST 0000461c: SWAP2 0000461d: SWAP3 0000461e: PUSH1 0x20 00004620: PUSH1 0x01 00004622: DUP2 00004623: SWAP3 00004624: DUP7 00004625: DUP6 00004626: ADD 00004627: MLOAD 00004628: DUP2 00004629: SSTORE 0000462a: ADD 0000462b: SWAP5 0000462c: ADD 0000462d: SWAP3 0000462e: ADD 0000462f: PUSH2 0x45d9 00004632: JUMP 00004633: JUMPDEST 00004634: SWAP2 00004635: DUP2 00004636: DUP4 00004637: MUL 00004638: SWAP2 00004639: PUSH0 0000463a: NOT 0000463b: DUP2 0000463c: DUP6 0000463d: MULMOD 0000463e: SWAP4 0000463f: DUP4 00004640: DUP1 00004641: DUP7 00004642: LT 00004643: SWAP6 00004644: SUB 00004645: SWAP5 00004646: DUP1 00004647: DUP7 00004648: SUB 00004649: SWAP6 0000464a: EQ 0000464b: PUSH2 0x46b8 0000464e: JUMPI 0000464f: DUP5 00004650: DUP4 00004651: GT 00004652: ISZERO 00004653: PUSH2 0x46ab 00004656: JUMPI 00004657: SWAP1 00004658: DUP3 00004659: SWAP2 0000465a: MULMOD 0000465b: DUP2 0000465c: PUSH0 0000465d: SUB 0000465e: DUP3 0000465f: AND 00004660: DUP1 00004661: SWAP3 00004662: DIV 00004663: PUSH1 0x02 00004665: DUP2 00004666: PUSH1 0x03 00004668: MUL 00004669: XOR 0000466a: DUP1 0000466b: DUP3 0000466c: MUL 0000466d: PUSH1 0x02 0000466f: SUB 00004670: MUL 00004671: DUP1 00004672: DUP3 00004673: MUL 00004674: PUSH1 0x02 00004676: SUB 00004677: MUL 00004678: DUP1 00004679: DUP3 0000467a: MUL 0000467b: PUSH1 0x02 0000467d: SUB 0000467e: MUL 0000467f: DUP1 00004680: DUP3 00004681: MUL 00004682: PUSH1 0x02 00004684: SUB 00004685: MUL 00004686: DUP1 00004687: DUP3 00004688: MUL 00004689: PUSH1 0x02 0000468b: SUB 0000468c: MUL 0000468d: DUP1 0000468e: SWAP2 0000468f: MUL 00004690: PUSH1 0x02 00004692: SUB 00004693: MUL 00004694: SWAP4 00004695: PUSH1 0x01 00004697: DUP4 00004698: DUP1 00004699: PUSH0 0000469a: SUB 0000469b: DIV 0000469c: ADD 0000469d: SWAP1 0000469e: DUP5 0000469f: DUP4 000046a0: GT 000046a1: SWAP1 000046a2: SUB 000046a3: MUL 000046a4: SWAP3 000046a5: SUB 000046a6: DIV 000046a7: OR 000046a8: MUL 000046a9: SWAP1 000046aa: JUMP 000046ab: JUMPDEST 000046ac: PUSH1 0x11 000046ae: PUSH1 0x03 000046b0: DUP5 000046b1: ISZERO 000046b2: MUL 000046b3: XOR 000046b4: PUSH2 0x4742 000046b7: JUMP 000046b8: JUMPDEST 000046b9: POP 000046ba: POP 000046bb: SWAP1 000046bc: PUSH2 0x0db5 000046bf: SWAP3 000046c0: POP 000046c1: PUSH2 0x2bfd 000046c4: JUMP 000046c5: JUMPDEST 000046c6: PUSH0 000046c7: DUP1 000046c8: SWAP2 000046c9: PUSH1 0x40 000046cb: MLOAD 000046cc: PUSH1 0x20 000046ce: DUP2 000046cf: ADD 000046d0: SWAP1 000046d1: PUSH4 0x313ce567 000046d6: PUSH1 0xe0 000046d8: SHL 000046d9: DUP3 000046da: MSTORE 000046db: PUSH1 0x04 000046dd: DUP2 000046de: MSTORE 000046df: PUSH2 0x46e9 000046e2: PUSH1 0x24 000046e4: DUP3 000046e5: PUSH2 0x0ce6 000046e8: JUMP 000046e9: JUMPDEST 000046ea: MLOAD 000046eb: SWAP2 000046ec: PUSH1 0x01 000046ee: PUSH1 0x01 000046f0: PUSH1 0xa0 000046f2: SHL 000046f3: SUB 000046f4: AND 000046f5: GAS 000046f6: STATICCALL 000046f7: PUSH2 0x46fe 000046fa: PUSH2 0x3d54 000046fd: JUMP 000046fe: JUMPDEST 000046ff: SWAP1 00004700: DUP1 00004701: PUSH2 0x4736 00004704: JUMPI 00004705: JUMPDEST 00004706: PUSH2 0x4711 00004709: JUMPI 0000470a: JUMPDEST 0000470b: POP 0000470c: PUSH0 0000470d: SWAP1 0000470e: PUSH0 0000470f: SWAP1 00004710: JUMP 00004711: JUMPDEST 00004712: DUP1 00004713: PUSH1 0x20 00004715: DUP1 00004716: PUSH2 0x4724 00004719: SWAP4 0000471a: MLOAD 0000471b: DUP4 0000471c: ADD 0000471d: ADD 0000471e: SWAP2 0000471f: ADD 00004720: PUSH2 0x3009 00004723: JUMP 00004724: JUMPDEST 00004725: PUSH1 0xff 00004727: DUP2 00004728: GT 00004729: PUSH2 0x470a 0000472c: JUMPI 0000472d: SWAP1 0000472e: PUSH1 0xff 00004730: PUSH1 0x01 00004732: SWAP3 00004733: AND 00004734: SWAP1 00004735: JUMP 00004736: JUMPDEST 00004737: POP 00004738: PUSH1 0x20 0000473a: DUP2 0000473b: MLOAD 0000473c: LT 0000473d: ISZERO 0000473e: PUSH2 0x4705 00004741: JUMP 00004742: JUMPDEST 00004743: PUSH4 0x4e487b71 00004748: PUSH0 00004749: MSTORE 0000474a: PUSH1 0x20 0000474c: MSTORE 0000474d: PUSH1 0x24 0000474f: PUSH1 0x1c 00004751: REVERT 00004752: INVALID 00004753: MSTORE 00004754: UNKNOWN(0xC6) 00004755: ORIGIN 00004756: SELFBALANCE 00004757: UNKNOWN(0xE1) 00004758: DELEGATECALL 00004759: PUSH30 0xb19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1 00004778: DELEGATECALL 00004779: PUSH30 0xb19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace049016d09d72 00004798: UNKNOWN(0xD4) 00004799: UNKNOWN(0x0F) 0000479a: UNKNOWN(0xDA) 0000479b: UNKNOWN(0xE2) 0000479c: REVERT 0000479d: DUP13 0000479e: UNKNOWN(0xEA) 0000479f: UNKNOWN(0xC6) 000047a0: UNKNOWN(0xB6) 000047a1: UNKNOWN(0x23) 000047a2: UNKNOWN(0x4C) 000047a3: PUSH24 0x06214fd39c1cd1e609a0528c19930052c63247e1f47db19d 000047bc: TLOAD 000047bd: UNKNOWN(0xE0) 000047be: CHAINID 000047bf: STOP 000047c0: ADDRESS 000047c1: UNKNOWN(0xC4) 000047c2: SWAP8 000047c3: CREATE 000047c4: PUSH8 0xca4cebf71ba98eea 000047cd: UNKNOWN(0xDA) 000047ce: UNKNOWN(0xBE) 000047cf: KECCAK256 000047d0: UNKNOWN(0xBA) 000047d1: UNKNOWN(0xCE) 000047d2: MUL 000047d3: SMOD 000047d4: PUSH20 0xe532dfede91f04b12a73d3d2acd361424f41f76b 000047e9: UNKNOWN(0x4F) 000047ea: UNKNOWN(0xB7) 000047eb: SWAP16 000047ec: MULMOD 000047ed: ADD 000047ee: PUSH2 0xe36b 000047f1: UNKNOWN(0x4E) 000047f2: STOP 000047f3: UNKNOWN(0xCD) 000047f4: MCOPY 000047f5: UNKNOWN(0xD1) 000047f6: TLOAD 000047f7: PUSH15 0x187e77e9aee88184c21f4f2182ab58 00004807: UNKNOWN(0x27) 00004808: UNKNOWN(0xCB) 00004809: EXTCODESIZE 0000480a: PUSH31 0x07fbedcd63f033009b779b17422d0df92223018b32b4d1fa46e071723d6817 0000482a: UNKNOWN(0xE2) 0000482b: BASEFEE 0000482c: PUSH14 0x003becc55f00f0c57e16840df040 0000483b: CALL 0000483c: POP 0000483d: DUP9 0000483e: UNKNOWN(0xDC) 0000483f: UNKNOWN(0x2F) 00004840: DUP2 00004841: INVALID 00004842: CODECOPY 00004843: SHR 00004844: CODECOPY 00004845: UNKNOWN(0x23) 00004846: UNKNOWN(0xBE) 00004847: UNKNOWN(0xC7) 00004848: RETURNDATACOPY 00004849: UNKNOWN(0x23) 0000484a: UNKNOWN(0xA9) 0000484b: PUSH7 0x2efc9c229c6a00 00004853: UNKNOWN(0x23) 00004854: PUSH31 0x158222e3e6968b72b9db0d8043aacf074ad9f650f0d1606b4d82ee432c00a2 00004874: PUSH5 0x6970667358 0000487a: UNKNOWN(0x22) 0000487b: SLT 0000487c: KECCAK256 0000487d: LT 0000487e: EXTCODESIZE 0000487f: SELFBALANCE 00004880: DUP11 00004881: PUSH5 0x47169ebcf2 00004887: UNKNOWN(0xCC) 00004888: DUP3 00004889: PUSH31
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | upgradeability | detector | Untrusted DELEGATECALL target reachable | 55 | no | no |
viewtrace_id: 0x4436519e54532f636e9c517a1491c1e133090ac405698beef61cb8e9ce5a3955
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x4436519e54532f636e9c517a1491c1e133090ac405698beef61cb8e9ce5a3955",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x01e1d114",
"selector": "0x01e1d114",
"calldata_variants": [
"0x01e1d114",
"0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07a2d13a",
"selector": "0x07a2d13a",
"calldata_variants": [
"0x07a2d13a",
"0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0a28a477",
"selector": "0x0a28a477",
"calldata_variants": [
"0x0a28a477",
"0x0a28a4770000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0f4f0c32",
"selector": "0x0f4f0c32",
"calldata_variants": [
"0x0f4f0c32",
"0x0f4f0c320000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0ffbfda4",
"selector": "0x0ffbfda4",
"calldata_variants": [
"0x0ffbfda4",
"0x0ffbfda40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1124f92c",
"selector": "0x1124f92c",
"calldata_variants": [
"0x1124f92c",
"0x1124f92c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 15791,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 18264,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 18296,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [
{
"pc": 18261,
"type": "tx_origin_used"
}
],
"delegatecall_count": 3,
"untrusted_delegatecall_count": 3
}
|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x01e1d114",
"selector": "0x01e1d114",
"calldata_variants": [
"0x01e1d114",
"0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07a2d13a",
"selector": "0x07a2d13a",
"calldata_variants": [
"0x07a2d13a",
"0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0a28a477",
"selector": "0x0a28a477",
"calldata_variants": [
"0x0a28a477",
"0x0a28a4770000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0f4f0c32",
"selector": "0x0f4f0c32",
"calldata_variants": [
"0x0f4f0c32",
"0x0f4f0c320000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0ffbfda4",
"selector": "0x0ffbfda4",
"calldata_variants": [
"0x0ffbfda4",
"0x0ffbfda40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1124f92c",
"selector": "0x1124f92c",
"calldata_variants": [
"0x1124f92c",
"0x1124f92c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 18261,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x1d42a9fc8439278d1ecdf3d40beb915c7c4920a9c0cce13b0230b1b1ccfac052
call_targets:
0x6ac78b7d787b5ddde1b342a1346fb545acf44e01
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x1d42a9fc8439278d1ecdf3d40beb915c7c4920a9c0cce13b0230b1b1ccfac052",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x6ac78b7d787b5ddde1b342a1346fb545acf44e01"
],
"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": "0x01e1d114",
"selector": "0x01e1d114",
"calldata_variants": [
"0x01e1d114",
"0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07a2d13a",
"selector": "0x07a2d13a",
"calldata_variants": [
"0x07a2d13a",
"0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0a28a477",
"selector": "0x0a28a477",
"calldata_variants": [
"0x0a28a477",
"0x0a28a4770000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0f4f0c32",
"selector": "0x0f4f0c32",
"calldata_variants": [
"0x0f4f0c32",
"0x0f4f0c320000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0ffbfda4",
"selector": "0x0ffbfda4",
"calldata_variants": [
"0x0ffbfda4",
"0x0ffbfda40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1124f92c",
"selector": "0x1124f92c",
"calldata_variants": [
"0x1124f92c",
"0x1124f92c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3105,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6720,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 17300,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 4,
"guards_detected": [
{
"pc": 18261,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x59e6c17c38037f86721b6d0f71c82205bba738202057da8a67c3615106cb473f
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x59e6c17c38037f86721b6d0f71c82205bba738202057da8a67c3615106cb473f",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0x01e1d114",
"selector": "0x01e1d114",
"calldata_variants": [
"0x01e1d114",
"0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07a2d13a",
"selector": "0x07a2d13a",
"calldata_variants": [
"0x07a2d13a",
"0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0a28a477",
"selector": "0x0a28a477",
"calldata_variants": [
"0x0a28a477",
"0x0a28a4770000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0f4f0c32",
"selector": "0x0f4f0c32",
"calldata_variants": [
"0x0f4f0c32",
"0x0f4f0c320000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0ffbfda4",
"selector": "0x0ffbfda4",
"calldata_variants": [
"0x0ffbfda4",
"0x0ffbfda40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1124f92c",
"selector": "0x1124f92c",
"calldata_variants": [
"0x1124f92c",
"0x1124f92c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 1,
"create2_count": 0
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x1d42a9fc8439278d1ecdf3d40beb915c7c4920a9c0cce13b0230b1b1ccfac052
call_targets:
0x6ac78b7d787b5ddde1b342a1346fb545acf44e01
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x1d42a9fc8439278d1ecdf3d40beb915c7c4920a9c0cce13b0230b1b1ccfac052",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x6ac78b7d787b5ddde1b342a1346fb545acf44e01"
],
"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": "0x01e1d114",
"selector": "0x01e1d114",
"calldata_variants": [
"0x01e1d114",
"0x01e1d1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x06fdde03",
"selector": "0x06fdde03",
"calldata_variants": [
"0x06fdde03",
"0x06fdde030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x07a2d13a",
"selector": "0x07a2d13a",
"calldata_variants": [
"0x07a2d13a",
"0x07a2d13a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x095ea7b3",
"selector": "0x095ea7b3",
"calldata_variants": [
"0x095ea7b3",
"0x095ea7b30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0a28a477",
"selector": "0x0a28a477",
"calldata_variants": [
"0x0a28a477",
"0x0a28a4770000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0f4f0c32",
"selector": "0x0f4f0c32",
"calldata_variants": [
"0x0f4f0c32",
"0x0f4f0c320000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x0ffbfda4",
"selector": "0x0ffbfda4",
"calldata_variants": [
"0x0ffbfda4",
"0x0ffbfda40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1124f92c",
"selector": "0x1124f92c",
"calldata_variants": [
"0x1124f92c",
"0x1124f92c0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3105,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6720,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 17300,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 4,
"guards_detected": [
{
"pc": 18261,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 4
}
|
| medium | access_control | codex | Unrestricted swap callback can spoof reserves and corrupt vault accounting | 75 | no | — |
viewevidence_json{
"evidence": "`afterSwap` is `external` with no access control and forwards user-supplied values into a delegatecall.",
"locations": [
"contracts/contracts/vault/TermMaxVault.sol:743",
"contracts/contracts/vault/TermMaxVault.sol:744"
],
"recommendation": "Restrict `afterSwap` to authorized order contracts (e.g., require `msg.sender` is a known order in `_orderMapping` or a whitelisted market) and validate the reserve/delta values against on-chain balances before updating accounting.",
"exploit_scenario": "An attacker calls `afterSwap` directly with fabricated `ftReserve`, `xtReserve`, and `deltaFt` values. The vault forwards these values via delegatecall; if the OrderManager relies on the inputs without validating `msg.sender` and reserves, it can update interest/principal accounting based on attacker-controlled data, letting the attacker manipulate share pricing and withdraw more assets or extract collateral via bad-debt handling."
}
|
| medium | upgradeability | codex | Delegatecall to external OrderManager gives it full control of vault storage | 75 | no | — |
viewevidence_json{
"evidence": "The vault delegates critical operations to `ORDER_MANAGER_SINGLETON` via `delegatecall`.",
"locations": [
"contracts/contracts/vault/TermMaxVault.sol:379",
"contracts/contracts/vault/TermMaxVault.sol:380"
],
"recommendation": "Ensure `ORDER_MANAGER_SINGLETON` is a non-upgradeable, immutable implementation (or pin its codehash), or add a timelocked, auditable upgrade path with governance approvals and an emergency pause/replace mechanism.",
"exploit_scenario": "If `ORDER_MANAGER_SINGLETON` is a proxy or its admin is compromised, its implementation can be upgraded to malicious code. Because the vault uses `delegatecall`, that code executes in the vault\u2019s context and can rewrite balances, mint/burn shares, or transfer assets out, effectively draining the vault."
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 3
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 1,
"create2_count": 0
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 6
}
|