dc874f74-a1be-495d-a37a-0a8993a903eb
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 |
|---|---|---|---|---|
| 30699 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 75190 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 75191 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 75192 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 75193 | capability.graph | complete | 1 / 3 | 1 week ago |
| 75194 | detector.run | complete | 1 / 3 | 1 week ago |
| 75195 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:884905] OpenAI Codex v0.77.0 (research preview)
[codex:884905] --------
[codex:884905] workdir: /tmp/codex-multi-lc27a1jl
[codex:884905] model: gpt-5.2-codex
[codex:884905] provider: openai
[codex:884905] approval: never
[codex:884905] sandbox: read-only
[codex:884905] reasoning effort: xhigh
[codex:884905] reasoning summaries: auto
[codex:884905] session id: 019b6f9d-087b-7df0-8b63-1d1a64480652
[codex:884905] --------
[codex:884905] user
[codex:884905] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:884905] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:884905] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:884905]
[codex:884905] Scope rules:
[codex:884905] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:884905] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:884905]
[codex:884905] Output MUST be valid JSON matching the provided schema.
[codex:884905] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:884905] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:884905]
[codex:884905] Output constraints (IMPORTANT):
[codex:884905] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:884905] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:884905] mcp startup: no servers
[codex:884905]
[codex:884905] thinking
[codex:884905] **Preparing to audit with file reading**
[codex:884905] exec
[codex:884905] /bin/bash -lc ls in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905] AUDIT_BUNDLE.txt
[codex:884905] codex-output-schema.json
[codex:884905] contracts
[codex:884905] exec
[codex:884905] /bin/bash -lc 'wc -l AUDIT_BUNDLE.txt' in /tmp/codex-multi-lc27a1jl succeeded in 6ms:
[codex:884905] 2509 AUDIT_BUNDLE.txt
[codex:884905] exec
[codex:884905] /bin/bash -lc "sed -n '1,200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:884905]
[codex:884905] ================================================================================
[codex:884905] FILE: contracts/@yield-protocol/strategy-v2/src/Strategy.sol
[codex:884905] ================================================================================
[codex:884905] // SPDX-License-Identifier: BUSL-1.1
[codex:884905] // Audit of commit 9e6a33d at https://hackmd.io/7YB8QorOSs-nAAaz_f8EbQ
[codex:884905]
[codex:884905] pragma solidity >=0.8.13;
[codex:884905]
[codex:884905] import { IStrategy } from "./interfaces/IStrategy.sol";
[codex:884905] import { StrategyMigrator } from "./StrategyMigrator.sol";
[codex:884905] import { AccessControl } from "@yield-protocol/utils-v2/src/access/AccessControl.sol";
[codex:884905] import { SafeERC20Namer } from "@yield-protocol/utils-v2/src/token/SafeERC20Namer.sol";
[codex:884905] import { MinimalTransferHelper } from "@yield-protocol/utils-v2/src/token/MinimalTransferHelper.sol";
[codex:884905] import { IERC20 } from "@yield-protocol/utils-v2/src/token/IERC20.sol";
[codex:884905] import { ERC20Rewards } from "@yield-protocol/utils-v2/src/token/ERC20Rewards.sol";
[codex:884905] import { IFYToken } from "@yield-protocol/vault-v2/src/interfaces/IFYToken.sol";
[codex:884905] import { IPool } from "@yield-protocol/yieldspace-tv/src/interfaces/IPool.sol";
[codex:884905]
[codex:884905]
[codex:884905] thinking
[codex:884905] **Requesting full file content**
[codex:884905] exec
[codex:884905] /bin/bash -lc "sed -n '200,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905] /// @notice The caller must take care of slippage when selling fyToken, if relevant.
[codex:884905] function eject()
[codex:884905] external
[codex:884905] auth
[codex:884905] isState(State.INVESTED)
[codex:884905] returns (uint256 baseReceived, uint256 fyTokenReceived)
[codex:884905] {
[codex:884905] // Caching
[codex:884905] IPool pool_ = pool;
[codex:884905] uint256 toDivest = pool_.balanceOf(address(this));
[codex:884905]
[codex:884905] // Burn lpTokens, if not possible, eject the pool tokens out. Slippage should be managed by the caller.
[codex:884905] delete poolCached;
[codex:884905] try this.burnPoolTokens(pool_, toDivest) returns (uint256 baseReceived_, uint256 fyTokenReceived_) {
[codex:884905] baseCached = baseReceived = baseReceived_;
[codex:884905] fyTokenCached = fyTokenReceived = fyTokenReceived_;
[codex:884905] if (fyTokenReceived > 0) {
[codex:884905] _transition(State.EJECTED, pool_);
[codex:884905] emit Ejected(address(pool_), toDivest, baseReceived, fyTokenReceived);
[codex:884905] } else {
[codex:884905]
[codex:884905] thinking
[codex:884905] **Continuing bundle review**
[codex:884905] exec
[codex:884905] /bin/bash -lc "sed -n '400,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905] }
[codex:884905]
[codex:884905] ================================================================================
[codex:884905] FILE: contracts/@yield-protocol/strategy-v2/src/StrategyMigrator.sol
[codex:884905] ================================================================================
[codex:884905] // SPDX-License-Identifier: BUSL-1.1
[codex:884905] pragma solidity ^0.8.13;
[codex:884905]
[codex:884905] import {IStrategyMigrator} from "./interfaces/IStrategyMigrator.sol";
[codex:884905] import {IFYToken} from "@yield-protocol/vault-v2/src/interfaces/IFYToken.sol";
[codex:884905] import {IERC20} from "@yield-protocol/utils-v2/src/token/IERC20.sol";
[codex:884905]
[codex:884905]
[codex:884905] /// @dev The Migrator contract poses as a Pool to receive all assets from a Strategy during an invest call.
[codex:884905] /// TODO: For this to work, the implementing class must inherit from ERC20.
[codex:884905] abstract contract StrategyMigrator is IStrategyMigrator {
[codex:884905]
[codex:884905] /// Mock pool base - Must match that of the calling strategy
[codex:884905] IERC20 public immutable base;
[codex:884905]
[codex:884905]
[codex:884905] thinking
[codex:884905] **Clarifying third-party boundaries**
[codex:884905] exec
[codex:884905] /bin/bash -lc "sed -n '800,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905] * @dev Revokes all of `role` in `roles` from `account`.
[codex:884905] *
[codex:884905] * If `account` had been granted `role`, emits a {RoleRevoked} event.
[codex:884905] *
[codex:884905] * Requirements:
[codex:884905] *
[codex:884905] * - For each `role` in `roles`, the caller must have ``role``'s admin role.
[codex:884905] */
[codex:884905] function revokeRoles(bytes4[] memory roles, address account) external virtual {
[codex:884905] for (uint256 i = 0; i < roles.length; i++) {
[codex:884905] require (_hasRole(_getRoleAdmin(roles[i]), msg.sender), "Only admin");
[codex:884905] _revokeRole(roles[i], account);
[codex:884905] }
[codex:884905] }
[codex:884905]
[codex:884905] /**
[codex:884905] * @dev Revokes `role` from the calling account.
[codex:884905] *
[codex:884905] * Roles are often managed via {grantRole} and {revokeRole}: this function's
[codex:884905] * purpose is to provide a mechanism for accounts to lose their privileges
[codex:884905]
[codex:884905] thinking
[codex:884905] **Continuing exploration**
[codex:884905] exec
[codex:884905] /bin/bash -lc "sed -n '1200,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905] uint32 start; // Start time for the current rewardsToken schedule
[codex:884905] uint32 end; // End time for the current rewardsToken schedule
[codex:884905] }
[codex:884905]
[codex:884905] struct RewardsPerToken {
[codex:884905] uint128 accumulated; // Accumulated rewards per token for the period, scaled up by 1e18
[codex:884905] uint32 lastUpdated; // Last time the rewards per token accumulator was updated
[codex:884905] uint96 rate; // Wei rewarded per second among all token holders
[codex:884905] }
[codex:884905]
[codex:884905] struct UserRewards {
[codex:884905] uint128 accumulated; // Accumulated rewards for the user until the checkpoint
[codex:884905] uint128 checkpoint; // RewardsPerToken the last time the user rewards were updated
[codex:884905] }
[codex:884905]
[codex:884905] IERC20 public rewardsToken; // Token used as rewards
[codex:884905] RewardsPeriod public rewardsPeriod; // Period in which rewards are accumulated by users
[codex:884905]
[codex:884905] RewardsPerToken public rewardsPerToken; // Accumulator to track rewards per token
[codex:884905] mapping (address => UserRewards) public rewards; // Rewards accumulated by users
[codex:884905]
[codex:884905] thinking
[codex:884905] **Continuing to review contracts**
[codex:884905] exec
[codex:884905] /bin/bash -lc "sed -n '1600,2000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905] charCount <<= 8;
[codex:884905] charCount += uint8(b[i]);
[codex:884905] }
[codex:884905]
[codex:884905] bytes memory bytesStringTrimmed = new bytes(charCount);
[codex:884905] for (uint256 i = 0; i < charCount; i++) {
[codex:884905] bytesStringTrimmed[i] = b[i + 64];
[codex:884905] }
[codex:884905]
[codex:884905] return string(bytesStringTrimmed);
[codex:884905] }
[codex:884905]
[codex:884905] // uses a heuristic to produce a token name from the address
[codex:884905] // the heuristic returns the full hex of the address string in upper case
[codex:884905] function addressToName(address token) private pure returns (string memory) {
[codex:884905] return AddressStringUtil.toAsciiString(token, 40);
[codex:884905] }
[codex:884905]
[codex:884905] // uses a heuristic to produce a token symbol from the address
[codex:884905] // the heuristic returns the first 6 hex of the address string in upper case
[codex:884905]
[codex:884905] thinking
[codex:884905] **Continuing to scan contract bundle**
[codex:884905] exec
[codex:884905] /bin/bash -lc "sed -n '2000,2400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lc27a1jl succeeded in 6ms:
[codex:884905]
[codex:884905] /// @dev Move collateral and debt between vaults.
[codex:884905] function stir(
[codex:884905] bytes12 from,
[codex:884905] bytes12 to,
[codex:884905] uint128 ink,
[codex:884905] uint128 art
[codex:884905] ) external returns (DataTypes.Balances memory, DataTypes.Balances memory);
[codex:884905]
[codex:884905] /// @dev Manipulate a vault debt and collateral.
[codex:884905] function pour(
[codex:884905] bytes12 vaultId,
[codex:884905] int128 ink,
[codex:884905] int128 art
[codex:884905] ) external returns (DataTypes.Balances memory);
[codex:884905]
[codex:884905] /// @dev Change series and debt of a vault.
[codex:884905] /// The module calling this function also needs to buy underlying in the pool for the new series, and sell it in pool for the old series.
[codex:884905] function roll(
[codex:884905] bytes12 vaultId,
[codex:884905]
[codex:884905] thinking
[codex:884905] **Continuing to review interfaces and libraries**
[codex:884905] exec
[codex:884905] /bin/bash -lc "sed -n '2400,2600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905]
[codex:884905] ================================================================================
[codex:884905] FILE: contracts/@yield-protocol/vault-v2/src/interfaces/IOracle.sol
[codex:884905] ================================================================================
[codex:884905] // SPDX-License-Identifier: MIT
[codex:884905] pragma solidity ^0.8.0;
[codex:884905]
[codex:884905] interface IOracle {
[codex:884905] /**
[codex:884905] * @notice Doesn't refresh the price, but returns the latest value available without doing any transactional operations
[codex:884905] * @param base The asset in which the `amount` to be converted is represented
[codex:884905] * @param quote The asset in which the converted `value` will be represented
[codex:884905] * @param amount The amount to be converted from `base` to `quote`
[codex:884905] * @return value The converted value of `amount` from `base` to `quote`
[codex:884905] * @return updateTime The timestamp when the conversion price was taken
[codex:884905] */
[codex:884905] function peek(
[codex:884905] bytes32 base,
[codex:884905] bytes32 quote,
[codex:884905] uint256 amount
[codex:884905]
[codex:884905] thinking
[codex:884905] **Confirming bundle file end**
[codex:884905] exec
[codex:884905] /bin/bash -lc 'tail -n 20 AUDIT_BUNDLE.txt' in /tmp/codex-multi-lc27a1jl succeeded in 5ms:
[codex:884905] function sellFYTokenPreview(uint128 fyTokenIn) external view returns(uint128);
[codex:884905] function setFees(uint16 g1Fee_) external;
[codex:884905] function sharesToken() external view returns(IERC20Metadata);
[codex:884905] function ts() external view returns(int128);
[codex:884905] function wrap(address receiver) external returns (uint256 shares);
[codex:884905] function wrapPreview(uint256 assets) external view returns (uint256 shares);
[codex:884905] function unwrap(address receiver) external returns (uint256 assets);
[codex:884905] function unwrapPreview(uint256 shares) external view returns (uint256 assets);
[codex:884905] /// Returns the max amount of FYTokens that can be sold to the pool
[codex:884905] function maxFYTokenIn() external view returns (uint128) ;
[codex:884905] /// Returns the max amount of FYTokens that can be bought from the pool
[codex:884905] function maxFYTokenOut() external view returns (uint128) ;
[codex:884905] /// Returns the max amount of Base that can be sold to the pool
[codex:884905] function maxBaseIn() external view returns (uint128) ;
[codex:884905] /// Returns the max amount of Base that can be bought from the pool
[codex:884905] function maxBaseOut() external view returns (uint128);
[codex:884905] /// Returns the result of the total supply invariant function
[codex:884905] function invariant() external view returns (uint128);
[codex:884905] }
[codex:884905]
[codex:884905]
[codex:884905]
[codex:884905]
[codex:884905] thinking
[codex:884905] **Analyzing contract security and vulnerabilities**
[codex:884905]
[codex:884905] I'm carefully reviewing key contracts like Strategy and ERC20Rewards for risks such as reentrancy, access control flaws, division by zero, and improper state updates around external calls. There are nuanced edge cases—like potential DoS via zero supply in mintDivested and subtle reentrancy paths involving token transfers—that I'm evaluating to distinguish real vulnerabilities from intended behavior. This deep dive balances contract logic, external calls, and role-based protections to understand where weaknesses might exist.
[codex:884905] thinking
[codex:884905] **Evaluating token caching and access nuances**
[codex:884905]
[codex:884905] I'm examining how cached balances like poolCached and baseCached may desynchronize from actual token holdings, creating potential discrepancies in minting, burning, and buying logic. This includes considering fee-on-transfer tokens and whether direct token transfers to the contract can lead to unintended benefits or griefing. I’m also studying subtle access controls, function visibility, signature handling in permits, and how multiple inheritance might affect behavior across Strategy and migrator contracts. There’s a lot going on with careful edge cases to validate!
[codex:884905] thinking
[codex:884905] **Reviewing function access and external calls**
[codex:884905] exec
[codex:884905] /bin/bash -lc "rg -n \"delegatecall|call\\(|transfer\\(|safeTransfer\\(|permit\\(\" -S contracts/@yield-protocol/strategy-v2/src/Strategy.sol" in /tmp/codex-multi-lc27a1jl succeeded in 10ms:
[codex:884905] 145: base.safeTransfer(address(pool_), baseCached_);
[codex:884905] 174: pool_.safeTransfer(address(pool_), toDivest);
[codex:884905] 220: pool_.safeTransfer(msg.sender, toDivest);
[codex:884905] 239: pool_.safeTransfer(address(pool_), poolTokens);
[codex:884905] 277: fyToken_.safeTransfer(fyTokenTo, soldFYToken);
[codex:884905] 279: base.safeTransfer(baseTo, baseIn - soldFYToken);
[codex:884905] 299: function call(address target, bytes calldata data) external auth returns (bytes memory) {
[codex:884905] 300: (bool success, bytes memory returndata) = target.call(data);
[codex:884905] 352: pool_.safeTransfer(address(to), poolTokensObtained);
[codex:884905] 393: base.safeTransfer(to, baseObtained);
[codex:884905]
[codex:884905] thinking
[codex:884905] **Checking for additional risky patterns**
[codex:884905] exec
[codex:884905] /bin/bash -lc 'rg -n "tx.origin|selfdestruct|suicide|delegatecall" -S contracts' in /tmp/codex-multi-lc27a1jl exited 1 in 14ms:
[codex:884905]
[codex:884905]
[codex:884905] Reconnecting... 1/5
[codex:884905]
[codex:884905]
[codex:884905] thinking
[codex:884905] **Analyzing potential vulnerabilities and key risks**
[codex:884905] thinking
[codex:884905] **Examining inheritance order and edge reinitialization cases**
[codex:884905]
[codex:884905] I'll check how the multiple inheritance of AccessControl behaves in Strategy and ERC20Rewards to ensure constructors and storage are handled correctly. I’m also considering the edge case where total supply is zero but base tokens remain, which can brick the strategy by preventing reinitialization and new deposits. This might be a DoS if someone holds all tokens and burns them.
[codex:884905] exec
[codex:884905] /bin/bash -lc "nl -ba contracts/@yield-protocol/strategy-v2/src/Strategy.sol | sed -n '300,420p'" in /tmp/codex-multi-lc27a1jl succeeded in 7ms:
[codex:884905] 300 (bool success, bytes memory returndata) = target.call(data);
[codex:884905] 301 require(success, "Call failed");
[codex:884905] 302 return returndata;
[codex:884905] 303 }
[codex:884905] 304
[codex:884905] 305 // ----------------------- MINT & BURN --------------------------- //
[codex:884905] 306
[codex:884905] 307 /// @notice Mint strategy tokens with pool tokens. It can be called only when invested.
[codex:884905] 308 /// @param to Recipient for the strategy tokens
[codex:884905] 309 /// @return minted Amount of strategy tokens minted
[codex:884905] 310 /// @notice The pool tokens that the user contributes need to have been transferred previously, using a batchable router.
[codex:884905] 311 function mint(address to)
[codex:884905] 312 external
[codex:884905] 313 isState(State.INVESTED)
[codex:884905] 314 returns (uint256 minted)
[codex:884905] 315 {
[codex:884905] 316 // Caching
[codex:884905] 317 IPool pool_ = pool;
[codex:884905] 318 uint256 poolCached_ = poolCached;
[codex:884905] 319
[codex:884905]
[codex:884905] thinking
[codex:884905] **Reviewing potential division by zero**
[codex:884905] exec
[codex:884905] /bin/bash -lc "nl -ba contracts/@yield-protocol/utils-v2/src/token/ERC20Permit.sol | sed -n '40,140p'" in /tmp/codex-multi-lc27a1jl succeeded in 7ms:
[codex:884905] 40
[codex:884905] 41 /// @dev Return the DOMAIN_SEPARATOR.
[codex:884905] 42 function DOMAIN_SEPARATOR() external view returns (bytes32) {
[codex:884905] 43 return block.chainid == deploymentChainId ? _DOMAIN_SEPARATOR : _calculateDomainSeparator(block.chainid);
[codex:884905] 44 }
[codex:884905] 45
[codex:884905] 46 /// @dev Setting the version as a function so that it can be overriden
[codex:884905] 47 function version() public pure virtual returns(string memory) { return "1"; }
[codex:884905] 48
[codex:884905] 49 /**
[codex:884905] 50 * @dev See {IERC2612-permit}.
[codex:884905] 51 *
[codex:884905] 52 * In cases where the free option is not a concern, deadline can simply be
[codex:884905] 53 * set to uint(-1), so it should be seen as an optional parameter
[codex:884905] 54 */
[codex:884905] 55 function permit(address owner, address spender, uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external virtual override {
[codex:884905] 56 require(deadline >= block.timestamp, "ERC20Permit: expired deadline");
[codex:884905] 57
[codex:884905] 58 bytes32 hashStruct = keccak256(
[codex:884905] 59 abi.encode(
[codex:884905]
[codex:884905] thinking
[codex:884905] **Composing vulnerability report findings**
[codex:884905] codex
[codex:884905] {"no_findings":false,"summary":"Found two issues: a zero-supply division-by-zero edge case that can permanently halt new deposits, and a permit signature malleability gap in ERC20Permit.","findings":[{"severity":"low","category":"math","title":"Strategy can be permanently bricked after total supply hits zero (division by zero on mint/burn paths)","exploit_scenario":"If all strategy tokens are burned (e.g., the last LP exits), `_totalSupply` becomes 0 and `baseCached`/`poolCached` can also become 0. Any later `mint`/`mintDivested` call will revert on division by zero, preventing new deposits and effectively bricking the strategy. A malicious or simply last LP can trigger this by withdrawing all liquidity, leaving the strategy unusable for future users.","recommendation":"Add explicit zero-supply handling: if `_totalSupply == 0`, mint 1:1 to deposit (and initialize cached values), or allow a guarded re-initialization path. Also guard divisions by ensuring cached balances are nonzero before dividing.","evidence":"Share minting uses cached balances as denominators without zero checks.","locations":["contracts/@yield-protocol/strategy-v2/src/Strategy.sol:329","contracts/@yield-protocol/strategy-v2/src/Strategy.sol:372","contracts/@yield-protocol/strategy-v2/src/Strategy.sol:351","contracts/@yield-protocol/strategy-v2/src/Strategy.sol:389"]},{"severity":"low","category":"auth","title":"ERC20Permit does not enforce EIP-2 lower‑s / v range checks (signature malleability)","exploit_scenario":"An attacker who observes a valid permit signature can derive a second, malleable signature for the same message and front‑run the permit. While nonces prevent multiple uses, this breaks strict signature uniqueness and can complicate off‑chain logic or signature tracking.","recommendation":"Validate `v` is 27/28 and require `s` to be in the lower half‑order (per EIP-2) before accepting the signature, or use OpenZeppelin’s `ECDSA.recover` helpers.","evidence":"`permit` accepts any `(v, r, s)` that recovers the owner without enforcing lower‑s or v range checks.","locations":["contracts/@yield-protocol/utils-v2/src/token/ERC20Permit.sol:55"]}]}
[codex:884905] tokens used
[codex:884905] 47,476
[codex:884905] {"no_findings":false,"summary":"Found two issues: a zero-supply division-by-zero edge case that can permanently halt new deposits, and a permit signature malleability gap in ERC20Permit.","findings":[{"severity":"low","category":"math","title":"Strategy can be permanently bricked after total supply hits zero (division by zero on mint/burn paths)","exploit_scenario":"If all strategy tokens are burned (e.g., the last LP exits), `_totalSupply` becomes 0 and `baseCached`/`poolCached` can also become 0. Any later `mint`/`mintDivested` call will revert on division by zero, preventing new deposits and effectively bricking the strategy. A malicious or simply last LP can trigger this by withdrawing all liquidity, leaving the strategy unusable for future users.","recommendation":"Add explicit zero-supply handling: if `_totalSupply == 0`, mint 1:1 to deposit (and initialize cached values), or allow a guarded re-initialization path. Also guard divisions by ensuring cached balances are nonzero before dividing.","evidence":"Share minting uses cached balances as denominators without zero checks.","locations":["contracts/@yield-protocol/strategy-v2/src/Strategy.sol:329","contracts/@yield-protocol/strategy-v2/src/Strategy.sol:372","contracts/@yield-protocol/strategy-v2/src/Strategy.sol:351","contracts/@yield-protocol/strategy-v2/src/Strategy.sol:389"]},{"severity":"low","category":"auth","title":"ERC20Permit does not enforce EIP-2 lower‑s / v range checks (signature malleability)","exploit_scenario":"An attacker who observes a valid permit signature can derive a second, malleable signature for the same message and front‑run the permit. While nonces prevent multiple uses, this breaks strict signature uniqueness and can complicate off‑chain logic or signature tracking.","recommendation":"Validate `v` is 27/28 and require `s` to be in the lower half‑order (per EIP-2) before accepting the signature, or use OpenZeppelin’s `ECDSA.recover` helpers.","evidence":"`permit` accepts any `(v, r, s)` that recovers the owner without enforcing lower‑s or v range checks.","locations":["contracts/@yield-protocol/utils-v2/src/token/ERC20Permit.sol:55"]}]}
{
"codex": {
"ran_at": "2025-12-30T14:22:30.091063+00:00",
"returncode": 0
},
"summary": "Found two issues: a zero-supply division-by-zero edge case that can permanently halt new deposits, and a permit signature malleability gap in ERC20Permit.",
"raw_final": {
"summary": "Found two issues: a zero-supply division-by-zero edge case that can permanently halt new deposits, and a permit signature malleability gap in ERC20Permit.",
"findings": [
{
"title": "Strategy can be permanently bricked after total supply hits zero (division by zero on mint/burn paths)",
"category": "math",
"evidence": "Share minting uses cached balances as denominators without zero checks.",
"severity": "low",
"locations": [
"contracts/@yield-protocol/strategy-v2/src/Strategy.sol:329",
"contracts/@yield-protocol/strategy-v2/src/Strategy.sol:372",
"contracts/@yield-protocol/strategy-v2/src/Strategy.sol:351",
"contracts/@yield-protocol/strategy-v2/src/Strategy.sol:389"
],
"recommendation": "Add explicit zero-supply handling: if `_totalSupply == 0`, mint 1:1 to deposit (and initialize cached values), or allow a guarded re-initialization path. Also guard divisions by ensuring cached balances are nonzero before dividing.",
"exploit_scenario": "If all strategy tokens are burned (e.g., the last LP exits), `_totalSupply` becomes 0 and `baseCached`/`poolCached` can also become 0. Any later `mint`/`mintDivested` call will revert on division by zero, preventing new deposits and effectively bricking the strategy. A malicious or simply last LP can trigger this by withdrawing all liquidity, leaving the strategy unusable for future users."
},
{
"title": "ERC20Permit does not enforce EIP-2 lower\u2011s / v range checks (signature malleability)",
"category": "auth",
"evidence": "`permit` accepts any `(v, r, s)` that recovers the owner without enforcing lower\u2011s or v range checks.",
"severity": "low",
"locations": [
"contracts/@yield-protocol/utils-v2/src/token/ERC20Permit.sol:55"
],
"recommendation": "Validate `v` is 27/28 and require `s` to be in the lower half\u2011order (per EIP-2) before accepting the signature, or use OpenZeppelin\u2019s `ECDSA.recover` helpers.",
"exploit_scenario": "An attacker who observes a valid permit signature can derive a second, malleable signature for the same message and front\u2011run the permit. While nonces prevent multiple uses, this breaks strict signature uniqueness and can complicate off\u2011chain logic or signature tracking."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x02fe 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x687f0e4c 00000026: GT 00000027: PUSH2 0x019e 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0xae93c1b5 00000031: GT 00000032: PUSH2 0x00ef 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xd7020d0a 0000003c: GT 0000003d: PUSH2 0x009d 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xd7020d0a 00000047: EQ 00000048: PUSH2 0x07eb 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xdc3bfba9 00000052: EQ 00000053: PUSH2 0x07f9 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xdd62ed3e 0000005d: EQ 0000005e: PUSH2 0x080c 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0xde02cde7 00000068: EQ 00000069: PUSH2 0x0845 0000006c: JUMPI 0000006d: DUP1 0000006e: PUSH4 0xde320cc1 00000073: EQ 00000074: PUSH2 0x0858 00000077: JUMPI 00000078: DUP1 00000079: PUSH4 0xeffae353 0000007e: EQ 0000007f: PUSH2 0x086b 00000082: JUMPI 00000083: DUP1 00000084: PUSH4 0xf8f80017 00000089: EQ 0000008a: PUSH2 0x087e 0000008d: JUMPI 0000008e: DUP1 0000008f: PUSH4 0xffffffff 00000094: EQ 00000095: PUSH2 0x070f 00000098: JUMPI 00000099: PUSH1 0x00 0000009b: DUP1 0000009c: REVERT 0000009d: JUMPDEST 0000009e: DUP1 0000009f: PUSH4 0xae93c1b5 000000a4: EQ 000000a5: PUSH2 0x0744 000000a8: JUMPI 000000a9: DUP1 000000aa: PUSH4 0xafeba119 000000af: EQ 000000b0: PUSH2 0x0757 000000b3: JUMPI 000000b4: DUP1 000000b5: PUSH4 0xc19d93fb 000000ba: EQ 000000bb: PUSH2 0x076a 000000be: JUMPI 000000bf: DUP1 000000c0: PUSH4 0xcd0d0096 000000c5: EQ 000000c6: PUSH2 0x078b 000000c9: JUMPI 000000ca: DUP1 000000cb: PUSH4 0xd1af0c7d 000000d0: EQ 000000d1: PUSH2 0x07b2 000000d4: JUMPI 000000d5: DUP1 000000d6: PUSH4 0xd505accf 000000db: EQ 000000dc: PUSH2 0x07c5 000000df: JUMPI 000000e0: DUP1 000000e1: PUSH4 0xd51c2828 000000e6: EQ 000000e7: PUSH2 0x07d8 000000ea: JUMPI 000000eb: PUSH1 0x00 000000ed: DUP1 000000ee: REVERT 000000ef: JUMPDEST 000000f0: DUP1 000000f1: PUSH4 0x95d89b41 000000f6: GT 000000f7: PUSH2 0x014c 000000fa: JUMPI 000000fb: DUP1 000000fc: PUSH4 0x95d89b41 00000101: EQ 00000102: PUSH2 0x06d8 00000105: JUMPI 00000106: DUP1 00000107: PUSH4 0x97f980c3 0000010c: EQ 0000010d: PUSH2 0x06e0 00000110: JUMPI 00000111: DUP1 00000112: PUSH4 0x9d5cf374 00000117: EQ 00000118: PUSH2 0x06f3 0000011b: JUMPI 0000011c: DUP1 0000011d: PUSH4 0xa354f39e 00000122: EQ 00000123: PUSH2 0x06fc 00000126: JUMPI 00000127: DUP1 00000128: PUSH4 0xa4f0d7d0 0000012d: EQ 0000012e: PUSH2 0x070f 00000131: JUMPI 00000132: DUP1 00000133: PUSH4 0xa9059cbb 00000138: EQ 00000139: PUSH2 0x071e 0000013c: JUMPI 0000013d: DUP1 0000013e: PUSH4 0xad82110f 00000143: EQ 00000144: PUSH2 0x0731 00000147: JUMPI 00000148: PUSH1 0x00 0000014a: DUP1 0000014b: REVERT 0000014c: JUMPDEST 0000014d: DUP1 0000014e: PUSH4 0x687f0e4c 00000153: EQ 00000154: PUSH2 0x05e8 00000157: JUMPI 00000158: DUP1 00000159: PUSH4 0x6a627842 0000015e: EQ 0000015f: PUSH2 0x05fb 00000162: JUMPI 00000163: DUP1 00000164: PUSH4 0x70641a36 00000169: EQ 0000016a: PUSH2 0x060e 0000016d: JUMPI 0000016e: DUP1 0000016f: PUSH4 0x70a08231 00000174: EQ 00000175: PUSH2 0x0674 00000178: JUMPI 00000179: DUP1 0000017a: PUSH4 0x7ecebe00 0000017f: EQ 00000180: PUSH2 0x069d 00000183: JUMPI 00000184: DUP1 00000185: PUSH4 0x82e94ac5 0000018a: EQ 0000018b: PUSH2 0x06bd 0000018e: JUMPI 0000018f: DUP1 00000190: PUSH4 0x89afcb44 00000195: EQ 00000196: PUSH2 0x06c5 00000199: JUMPI 0000019a: PUSH1 0x00 0000019c: DUP1 0000019d: REVERT 0000019e: JUMPDEST 0000019f: DUP1 000001a0: PUSH4 0x23b872dd 000001a5: GT 000001a6: PUSH2 0x0258 000001a9: JUMPI 000001aa: DUP1 000001ab: PUSH4 0x54fd4d50 000001b0: GT 000001b1: PUSH2 0x0206 000001b4: JUMPI 000001b5: DUP1 000001b6: PUSH4 0x54fd4d50 000001bb: EQ 000001bc: PUSH2 0x0576 000001bf: JUMPI 000001c0: DUP1 000001c1: PUSH4 0x559742d9 000001c6: EQ 000001c7: PUSH2 0x057e 000001ca: JUMPI 000001cb: DUP1 000001cc: PUSH4 0x58969ab9 000001d1: EQ 000001d2: PUSH2 0x0591 000001d5: JUMPI 000001d6: DUP1 000001d7: PUSH4 0x5909c12f 000001dc: EQ 000001dd: PUSH2 0x0303 000001e0: JUMPI 000001e1: DUP1 000001e2: PUSH4 0x592db8b1 000001e7: EQ 000001e8: PUSH2 0x05b9 000001eb: JUMPI 000001ec: DUP1 000001ed: PUSH4 0x5ba5e9f0 000001f2: EQ 000001f3: PUSH2 0x05c2 000001f6: JUMPI 000001f7: DUP1 000001f8: PUSH4 0x5c859956 000001fd: EQ 000001fe: PUSH2 0x05d5 00000201: JUMPI 00000202: PUSH1 0x00 00000204: DUP1 00000205: REVERT 00000206: JUMPDEST 00000207: DUP1 00000208: PUSH4 0x23b872dd 0000020d: EQ 0000020e: PUSH2 0x04a1 00000211: JUMPI 00000212: DUP1 00000213: PUSH4 0x26ae2b78 00000218: EQ 00000219: PUSH2 0x04b4 0000021c: JUMPI 0000021d: DUP1 0000021e: PUSH4 0x30adf81f 00000223: EQ 00000224: PUSH2 0x04ec 00000227: JUMPI 00000228: DUP1 00000229: PUSH4 0x313ce567 0000022e: EQ 0000022f: PUSH2 0x0513 00000232: JUMPI 00000233: DUP1 00000234: PUSH4 0x3644e515 00000239: EQ 0000023a: PUSH2 0x0532 0000023d: JUMPI 0000023e: DUP1 0000023f: PUSH4 0x44faded0 00000244: EQ 00000245: PUSH2 0x053a 00000248: JUMPI 00000249: DUP1 0000024a: PUSH4 0x5001f3b5 0000024f: EQ 00000250: PUSH2 0x054f 00000253: JUMPI 00000254: PUSH1 0x00 00000256: DUP1 00000257: REVERT 00000258: JUMPDEST 00000259: DUP1 0000025a: PUSH4 0x16f0115b 0000025f: GT 00000260: PUSH2 0x02b5 00000263: JUMPI 00000264: DUP1 00000265: PUSH4 0x16f0115b 0000026a: EQ 0000026b: PUSH2 0x03f1 0000026e: JUMPI 0000026f: DUP1 00000270: PUSH4 0x18160ddd 00000275: EQ 00000276: PUSH2 0x0411 00000279: JUMPI 0000027a: DUP1 0000027b: PUSH4 0x19ab453c 00000280: EQ 00000281: PUSH2 0x0419 00000284: JUMPI 00000285: DUP1 00000286: PUSH4 0x1b8b921d 0000028b: EQ 0000028c: PUSH2 0x0447 0000028f: JUMPI 00000290: DUP1 00000291: PUSH4 0x1e83409a 00000296: EQ 00000297: PUSH2 0x045a 0000029a: JUMPI 0000029b: DUP1 0000029c: PUSH4 0x1ef3755d 000002a1: EQ 000002a2: PUSH2 0x046d 000002a5: JUMPI 000002a6: DUP1 000002a7: PUSH4 0x204f83f9 000002ac: EQ 000002ad: PUSH2 0x0475 000002b0: JUMPI 000002b1: PUSH1 0x00 000002b3: DUP1 000002b4: REVERT 000002b5: JUMPDEST 000002b6: DUP1 000002b7: ISZERO 000002b8: PUSH2 0x0303 000002bb: JUMPI 000002bc: DUP1 000002bd: PUSH4 0x03f9c793 000002c2: EQ 000002c3: PUSH2 0x0329 000002c6: JUMPI 000002c7: DUP1 000002c8: PUSH4 0x058aace1 000002cd: EQ 000002ce: PUSH2 0x034a 000002d1: JUMPI 000002d2: DUP1 000002d3: PUSH4 0x06fdde03 000002d8: EQ 000002d9: PUSH2 0x0352 000002dc: JUMPI 000002dd: DUP1 000002de: PUSH4 0x0700037d 000002e3: EQ 000002e4: PUSH2 0x0367 000002e7: JUMPI 000002e8: DUP1 000002e9: PUSH4 0x095ea7b3 000002ee: EQ 000002ef: PUSH2 0x03bb 000002f2: JUMPI 000002f3: DUP1 000002f4: PUSH4 0x10ab9432 000002f9: EQ 000002fa: PUSH2 0x03de 000002fd: JUMPI 000002fe: JUMPDEST 000002ff: PUSH1 0x00 00000301: DUP1 00000302: REVERT 00000303: JUMPDEST 00000304: PUSH2 0x030b 00000307: PUSH1 0x00 00000309: DUP2 0000030a: JUMP 0000030b: JUMPDEST 0000030c: PUSH1 0x40 0000030e: MLOAD 0000030f: PUSH1 0x01 00000311: PUSH1 0x01 00000313: PUSH1 0xe0 00000315: SHL 00000316: SUB 00000317: NOT 00000318: SWAP1 00000319: SWAP2 0000031a: AND 0000031b: DUP2 0000031c: MSTORE 0000031d: PUSH1 0x20 0000031f: ADD 00000320: JUMPDEST 00000321: PUSH1 0x40 00000323: MLOAD 00000324: DUP1 00000325: SWAP2 00000326: SUB 00000327: SWAP1 00000328: RETURN 00000329: JUMPDEST 0000032a: PUSH2 0x033c 0000032d: PUSH2 0x0337 00000330: CALLDATASIZE 00000331: PUSH1 0x04 00000333: PUSH2 0x3641 00000336: JUMP 00000337: JUMPDEST 00000338: PUSH2 0x0887 0000033b: JUMP 0000033c: JUMPDEST 0000033d: PUSH1 0x40 0000033f: MLOAD 00000340: SWAP1 00000341: DUP2 00000342: MSTORE 00000343: PUSH1 0x20 00000345: ADD 00000346: PUSH2 0x0320 00000349: JUMP 0000034a: JUMPDEST 0000034b: PUSH2 0x033c 0000034e: PUSH2 0x0c22 00000351: JUMP 00000352: JUMPDEST 00000353: PUSH2 0x035a 00000356: PUSH2 0x0f45 00000359: JUMP 0000035a: JUMPDEST 0000035b: PUSH1 0x40 0000035d: MLOAD 0000035e: PUSH2 0x0320 00000361: SWAP2 00000362: SWAP1 00000363: PUSH2 0x36ba 00000366: JUMP 00000367: JUMPDEST 00000368: PUSH2 0x039b 0000036b: PUSH2 0x0375 0000036e: CALLDATASIZE 0000036f: PUSH1 0x04 00000371: PUSH2 0x3641 00000374: JUMP 00000375: JUMPDEST 00000376: PUSH1 0x0b 00000378: PUSH1 0x20 0000037a: MSTORE 0000037b: PUSH1 0x00 0000037d: SWAP1 0000037e: DUP2 0000037f: MSTORE 00000380: PUSH1 0x40 00000382: SWAP1 00000383: KECCAK256 00000384: SLOAD 00000385: PUSH1 0x01 00000387: PUSH1 0x01 00000389: PUSH1 0x80 0000038b: SHL 0000038c: SUB 0000038d: DUP1 0000038e: DUP3 0000038f: AND 00000390: SWAP2 00000391: PUSH1 0x01 00000393: PUSH1 0x80 00000395: SHL 00000396: SWAP1 00000397: DIV 00000398: AND 00000399: DUP3 0000039a: JUMP 0000039b: JUMPDEST 0000039c: PUSH1 0x40 0000039e: DUP1 0000039f: MLOAD 000003a0: PUSH1 0x01 000003a2: PUSH1 0x01 000003a4: PUSH1 0x80 000003a6: SHL 000003a7: SUB 000003a8: SWAP4 000003a9: DUP5 000003aa: AND 000003ab: DUP2 000003ac: MSTORE 000003ad: SWAP3 000003ae: SWAP1 000003af: SWAP2 000003b0: AND 000003b1: PUSH1 0x20 000003b3: DUP4 000003b4: ADD 000003b5: MSTORE 000003b6: ADD 000003b7: PUSH2 0x0320 000003ba: JUMP 000003bb: JUMPDEST 000003bc: PUSH2 0x03ce 000003bf: PUSH2 0x03c9 000003c2: CALLDATASIZE 000003c3: PUSH1 0x04 000003c5: PUSH2 0x36dd 000003c8: JUMP 000003c9: JUMPDEST 000003ca: PUSH2 0x0fd3 000003cd: JUMP 000003ce: JUMPDEST 000003cf: PUSH1 0x40 000003d1: MLOAD 000003d2: SWAP1 000003d3: ISZERO 000003d4: ISZERO 000003d5: DUP2 000003d6: MSTORE 000003d7: PUSH1 0x20 000003d9: ADD 000003da: PUSH2 0x0320 000003dd: JUMP 000003de: JUMPDEST 000003df: PUSH2 0x03ce 000003e2: PUSH2 0x03ec 000003e5: CALLDATASIZE 000003e6: PUSH1 0x04 000003e8: PUSH2 0x3721 000003eb: JUMP 000003ec: JUMPDEST 000003ed: PUSH2 0x0fe7 000003f0: JUMP 000003f1: JUMPDEST 000003f2: PUSH1 0x0d 000003f4: SLOAD 000003f5: PUSH2 0x0404 000003f8: SWAP1 000003f9: PUSH1 0x01 000003fb: PUSH1 0x01 000003fd: PUSH1 0xa0 000003ff: SHL 00000400: SUB 00000401: AND 00000402: DUP2 00000403: JUMP 00000404: JUMPDEST 00000405: PUSH1 0x40 00000407: MLOAD 00000408: PUSH2 0x0320 0000040b: SWAP2 0000040c: SWAP1 0000040d: PUSH2 0x3758 00000410: JUMP 00000411: JUMPDEST 00000412: PUSH1 0x01 00000414: SLOAD 00000415: PUSH2 0x033c 00000418: JUMP 00000419: JUMPDEST 0000041a: PUSH2 0x042c 0000041d: PUSH2 0x0427 00000420: CALLDATASIZE 00000421: PUSH1 0x04 00000423: PUSH2 0x3641 00000426: JUMP 00000427: JUMPDEST 00000428: PUSH2 0x0ff3 0000042b: JUMP 0000042c: JUMPDEST 0000042d: PUSH1 0x40 0000042f: DUP1 00000430: MLOAD 00000431: SWAP4 00000432: DUP5 00000433: MSTORE 00000434: PUSH1 0x20 00000436: DUP5 00000437: ADD 00000438: SWAP3 00000439: SWAP1 0000043a: SWAP3 0000043b: MSTORE 0000043c: SWAP1 0000043d: DUP3 0000043e: ADD 0000043f: MSTORE 00000440: PUSH1 0x60 00000442: ADD 00000443: PUSH2 0x0320 00000446: JUMP 00000447: JUMPDEST 00000448: PUSH2 0x035a 0000044b: PUSH2 0x0455 0000044e: CALLDATASIZE 0000044f: PUSH1 0x04 00000451: PUSH2 0x376c 00000454: JUMP 00000455: JUMPDEST 00000456: PUSH2 0x1041 00000459: JUMP 0000045a: JUMPDEST 0000045b: PUSH2 0x033c 0000045e: PUSH2 0x0468 00000461: CALLDATASIZE 00000462: PUSH1 0x04 00000464: PUSH2 0x3641 00000467: JUMP 00000468: JUMPDEST 00000469: PUSH2 0x111d 0000046c: JUMP 0000046d: JUMPDEST 0000046e: PUSH2 0x033c 00000471: PUSH2 0x112f 00000474: JUMP 00000475: JUMPDEST 00000476: PUSH1 0x0c 00000478: SLOAD 00000479: PUSH2 0x048c 0000047c: SWAP1 0000047d: PUSH1 0x01 0000047f: PUSH1 0xa0 00000481: SHL 00000482: SWAP1 00000483: DIV 00000484: PUSH4 0xffffffff 00000489: AND 0000048a: DUP2 0000048b: JUMP 0000048c: JUMPDEST 0000048d: PUSH1 0x40 0000048f: MLOAD 00000490: PUSH4 0xffffffff 00000495: SWAP1 00000496: SWAP2 00000497: AND 00000498: DUP2 00000499: MSTORE 0000049a: PUSH1 0x20 0000049c: ADD 0000049d: PUSH2 0x0320 000004a0: JUMP 000004a1: JUMPDEST 000004a2: PUSH2 0x03ce 000004a5: PUSH2 0x04af 000004a8: CALLDATASIZE 000004a9: PUSH1 0x04 000004ab: PUSH2 0x37f1 000004ae: JUMP 000004af: JUMPDEST 000004b0: PUSH2 0x12c4 000004b3: JUMP 000004b4: JUMPDEST 000004b5: PUSH1 0x09 000004b7: SLOAD 000004b8: PUSH2 0x04cf 000004bb: SWAP1 000004bc: PUSH4 0xffffffff 000004c1: DUP1 000004c2: DUP3 000004c3: AND 000004c4: SWAP2 000004c5: PUSH1 0x01 000004c7: PUSH1 0x20 000004c9: SHL 000004ca: SWAP1 000004cb: DIV 000004cc: AND 000004cd: DUP3 000004ce: JUMP 000004cf: JUMPDEST 000004d0: PUSH1 0x40 000004d2: DUP1 000004d3: MLOAD 000004d4: PUSH4 0xffffffff 000004d9: SWAP4 000004da: DUP5 000004db: AND 000004dc: DUP2 000004dd: MSTORE 000004de: SWAP3 000004df: SWAP1 000004e0: SWAP2 000004e1: AND 000004e2: PUSH1 0x20 000004e4: DUP4 000004e5: ADD 000004e6: MSTORE 000004e7: ADD 000004e8: PUSH2 0x0320 000004eb: JUMP 000004ec: JUMPDEST 000004ed: PUSH2 0x033c 000004f0: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9 00000511: DUP2 00000512: JUMP 00000513: JUMPDEST 00000514: PUSH1 0x06 00000516: SLOAD 00000517: PUSH2 0x0520 0000051a: SWAP1 0000051b: PUSH1 0xff 0000051d: AND 0000051e: DUP2 0000051f: JUMP 00000520: JUMPDEST 00000521: PUSH1 0x40 00000523: MLOAD 00000524: PUSH1 0xff 00000526: SWAP1 00000527: SWAP2 00000528: AND 00000529: DUP2 0000052a: MSTORE 0000052b: PUSH1 0x20 0000052d: ADD 0000052e: PUSH2 0x0320 00000531: JUMP 00000532: JUMPDEST 00000533: PUSH2 0x033c 00000536: PUSH2 0x12e4 00000539: JUMP 0000053a: JUMPDEST 0000053b: PUSH2 0x054d 0000053e: PUSH2 0x0548 00000541: CALLDATASIZE 00000542: PUSH1 0x04 00000544: PUSH2 0x3721 00000547: JUMP 00000548: JUMPDEST 00000549: PUSH2 0x1340 0000054c: JUMP 0000054d: JUMPDEST 0000054e: STOP 0000054f: JUMPDEST 00000550: PUSH2 0x0404 00000553: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000574: DUP2 00000575: JUMP 00000576: JUMPDEST 00000577: PUSH2 0x035a 0000057a: PUSH2 0x137e 0000057d: JUMP 0000057e: JUMPDEST 0000057f: PUSH2 0x054d 00000582: PUSH2 0x058c 00000585: CALLDATASIZE 00000586: PUSH1 0x04 00000588: PUSH2 0x3832 0000058b: JUMP 0000058c: JUMPDEST 0000058d: PUSH2 0x1399 00000590: JUMP 00000591: JUMPDEST 00000592: PUSH2 0x05a4 00000595: PUSH2 0x059f 00000598: CALLDATASIZE 00000599: PUSH1 0x04 0000059b: PUSH2 0x36dd 0000059e: JUMP 0000059f: JUMPDEST 000005a0: PUSH2 0x13d8 000005a3: JUMP 000005a4: JUMPDEST 000005a5: PUSH1 0x40 000005a7: DUP1 000005a8: MLOAD 000005a9: SWAP3 000005aa: DUP4 000005ab: MSTORE 000005ac: PUSH1 0x20 000005ae: DUP4 000005af: ADD 000005b0: SWAP2 000005b1: SWAP1 000005b2: SWAP2 000005b3: MSTORE 000005b4: ADD 000005b5: PUSH2 0x0320 000005b8: JUMP 000005b9: JUMPDEST 000005ba: PUSH2 0x033c 000005bd: PUSH1 0x10 000005bf: SLOAD 000005c0: DUP2 000005c1: JUMP 000005c2: JUMPDEST 000005c3: PUSH2 0x030b 000005c6: PUSH2 0x05d0 000005c9: CALLDATASIZE 000005ca: PUSH1 0x04 000005cc: PUSH2 0x3832 000005cf: JUMP 000005d0: JUMPDEST 000005d1: PUSH2 0x175f 000005d4: JUMP 000005d5: JUMPDEST 000005d6: PUSH2 0x05a4 000005d9: PUSH2 0x05e3 000005dc: CALLDATASIZE 000005dd: PUSH1 0x04 000005df: PUSH2 0x384d 000005e2: JUMP 000005e3: JUMPDEST 000005e4: PUSH2 0x176a 000005e7: JUMP 000005e8: JUMPDEST 000005e9: PUSH2 0x054d 000005ec: PUSH2 0x05f6 000005ef: CALLDATASIZE 000005f0: PUSH1 0x04 000005f2: PUSH2 0x3721 000005f5: JUMP 000005f6: JUMPDEST 000005f7: PUSH2 0x1985 000005fa: JUMP 000005fb: JUMPDEST 000005fc: PUSH2 0x033c 000005ff: PUSH2 0x0609 00000602: CALLDATASIZE 00000603: PUSH1 0x04 00000605: PUSH2 0x3641 00000608: JUMP 00000609: JUMPDEST 0000060a: PUSH2 0x19e0 0000060d: JUMP 0000060e: JUMPDEST 0000060f: PUSH1 0x0a 00000611: SLOAD 00000612: PUSH2 0x0641 00000615: SWAP1 00000616: PUSH1 0x01 00000618: PUSH1 0x01 0000061a: PUSH1 0x80 0000061c: SHL 0000061d: SUB 0000061e: DUP2 0000061f: AND 00000620: SWAP1 00000621: PUSH1 0x01 00000623: PUSH1 0x80 00000625: SHL 00000626: DUP2 00000627: DIV 00000628: PUSH4 0xffffffff 0000062d: AND 0000062e: SWAP1 0000062f: PUSH1 0x01 00000631: PUSH1 0xa0 00000633: SHL 00000634: SWAP1 00000635: DIV 00000636: PUSH1 0x01 00000638: PUSH1 0x01 0000063a: PUSH1 0x60 0000063c: SHL 0000063d: SUB 0000063e: AND 0000063f: DUP4 00000640: JUMP 00000641: JUMPDEST 00000642: PUSH1 0x40 00000644: DUP1 00000645: MLOAD 00000646: PUSH1 0x01 00000648: PUSH1 0x01 0000064a: PUSH1 0x80 0000064c: SHL 0000064d: SUB 0000064e: SWAP1 0000064f: SWAP5 00000650: AND 00000651: DUP5 00000652: MSTORE 00000653: PUSH4 0xffffffff 00000658: SWAP1 00000659: SWAP3 0000065a: AND 0000065b: PUSH1 0x20 0000065d: DUP5 0000065e: ADD 0000065f: MSTORE 00000660: PUSH1 0x01 00000662: PUSH1 0x01 00000664: PUSH1 0x60 00000666: SHL 00000667: SUB 00000668: AND 00000669: SWAP1 0000066a: DUP3 0000066b: ADD 0000066c: MSTORE 0000066d: PUSH1 0x60 0000066f: ADD 00000670: PUSH2 0x0320 00000673: JUMP 00000674: JUMPDEST 00000675: PUSH2 0x033c 00000678: PUSH2 0x0682 0000067b: CALLDATASIZE 0000067c: PUSH1 0x04 0000067e: PUSH2 0x3641 00000681: JUMP 00000682: JUMPDEST 00000683: PUSH1 0x01 00000685: PUSH1 0x01 00000687: PUSH1 0xa0 00000689: SHL 0000068a: SUB 0000068b: AND 0000068c: PUSH1 0x00 0000068e: SWAP1 0000068f: DUP2 00000690: MSTORE 00000691: PUSH1 0x02 00000693: PUSH1 0x20 00000695: MSTORE 00000696: PUSH1 0x40 00000698: SWAP1 00000699: KECCAK256 0000069a: SLOAD 0000069b: SWAP1 0000069c: JUMP 0000069d: JUMPDEST 0000069e: PUSH2 0x033c 000006a1: PUSH2 0x06ab 000006a4: CALLDATASIZE 000006a5: PUSH1 0x04 000006a7: PUSH2 0x3641 000006aa: JUMP 000006ab: JUMPDEST 000006ac: PUSH1 0x07 000006ae: PUSH1 0x20 000006b0: MSTORE 000006b1: PUSH1 0x00 000006b3: SWAP1 000006b4: DUP2 000006b5: MSTORE 000006b6: PUSH1 0x40 000006b8: SWAP1 000006b9: KECCAK256 000006ba: SLOAD 000006bb: DUP2 000006bc: JUMP 000006bd: JUMPDEST 000006be: PUSH2 0x05a4 000006c1: PUSH2 0x1af7 000006c4: JUMP 000006c5: JUMPDEST 000006c6: PUSH2 0x033c 000006c9: PUSH2 0x06d3 000006cc: CALLDATASIZE 000006cd: PUSH1 0x04 000006cf: PUSH2 0x3641 000006d2: JUMP 000006d3: JUMPDEST 000006d4: PUSH2 0x1d7f 000006d7: JUMP 000006d8: JUMPDEST 000006d9: PUSH2 0x035a 000006dc: PUSH2 0x1e46 000006df: JUMP 000006e0: JUMPDEST 000006e1: PUSH2 0x033c 000006e4: PUSH2 0x06ee 000006e7: CALLDATASIZE 000006e8: PUSH1 0x04 000006ea: PUSH2 0x3641 000006ed: JUMP 000006ee: JUMPDEST 000006ef: PUSH2 0x1e53 000006f2: JUMP 000006f3: JUMPDEST 000006f4: PUSH2 0x033c 000006f7: PUSH1 0x0f 000006f9: SLOAD 000006fa: DUP2 000006fb: JUMP 000006fc: JUMPDEST 000006fd: PUSH2 0x054d 00000700: PUSH2 0x070a 00000703: CALLDATASIZE 00000704: PUSH1 0x04 00000706: PUSH2 0x387d 00000709: JUMP 0000070a: JUMPDEST 0000070b: PUSH2 0x1f26 0000070e: JUMP 0000070f: JUMPDEST 00000710: PUSH2 0x030b 00000713: PUSH1 0x01 00000715: PUSH1 0x01 00000717: PUSH1 0xe0 00000719: SHL 0000071a: SUB 0000071b: NOT 0000071c: DUP2 0000071d: JUMP 0000071e: JUMPDEST 0000071f: PUSH2 0x03ce 00000722: PUSH2 0x072c 00000725: CALLDATASIZE 00000726: PUSH1 0x04 00000728: PUSH2 0x36dd 0000072b: JUMP 0000072c: JUMPDEST 0000072d: PUSH2 0x2125 00000730: JUMP 00000731: JUMPDEST 00000732: PUSH2 0x054d 00000735: PUSH2 0x073f 00000738: CALLDATASIZE 00000739: PUSH1 0x04 0000073b: PUSH2 0x391b 0000073e: JUMP 0000073f: JUMPDEST 00000740: PUSH2 0x2132 00000743: JUMP 00000744: JUMPDEST 00000745: PUSH2 0x054d 00000748: PUSH2 0x0752 0000074b: CALLDATASIZE 0000074c: PUSH1 0x04 0000074e: PUSH2 0x39da 00000751: JUMP 00000752: JUMPDEST 00000753: PUSH2 0x21b4 00000756: JUMP 00000757: JUMPDEST 00000758: PUSH2 0x033c 0000075b: PUSH2 0x0765 0000075e: CALLDATASIZE 0000075f: PUSH1 0x04 00000761: PUSH2 0x3641 00000764: JUMP 00000765: JUMPDEST 00000766: PUSH2 0x21e7 00000769: JUMP 0000076a: JUMPDEST 0000076b: PUSH1 0x0c 0000076d: SLOAD 0000076e: PUSH2 0x077e 00000771: SWAP1 00000772: PUSH1 0x01 00000774: PUSH1 0xc0 00000776: SHL 00000777: SWAP1 00000778: DIV 00000779: PUSH1 0xff 0000077b: AND 0000077c: DUP2 0000077d: JUMP 0000077e: JUMPDEST 0000077f: PUSH1 0x40 00000781: MLOAD 00000782: PUSH2 0x0320 00000785: SWAP2 00000786: SWAP1 00000787: PUSH2 0x3a23 0000078a: JUMP 0000078b: JUMPDEST 0000078c: PUSH2 0x033c 0000078f: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001 000007b0: DUP2 000007b1: JUMP 000007b2: JUMPDEST 000007b3: PUSH1 0x08 000007b5: SLOAD 000007b6: PUSH2 0x0404 000007b9: SWAP1 000007ba: PUSH1 0x01 000007bc: PUSH1 0x01 000007be: PUSH1 0xa0 000007c0: SHL 000007c1: SUB 000007c2: AND 000007c3: DUP2 000007c4: JUMP 000007c5: JUMPDEST 000007c6: PUSH2 0x054d 000007c9: PUSH2 0x07d3 000007cc: CALLDATASIZE 000007cd: PUSH1 0x04 000007cf: PUSH2 0x3a4b 000007d2: JUMP 000007d3: JUMPDEST 000007d4: PUSH2 0x2317 000007d7: JUMP 000007d8: JUMPDEST 000007d9: PUSH2 0x033c 000007dc: PUSH2 0x07e6 000007df: CALLDATASIZE 000007e0: PUSH1 0x04 000007e2: PUSH2 0x3641 000007e5: JUMP 000007e6: JUMPDEST 000007e7: PUSH2 0x2586 000007ea: JUMP 000007eb: JUMPDEST 000007ec: PUSH2 0x042c 000007ef: PUSH2 0x02fe 000007f2: CALLDATASIZE 000007f3: PUSH1 0x04 000007f5: PUSH2 0x3ac2 000007f8: JUMP 000007f9: JUMPDEST 000007fa: PUSH1 0x0c 000007fc: SLOAD 000007fd: PUSH2 0x0404 00000800: SWAP1 00000801: PUSH1 0x01 00000803: PUSH1 0x01 00000805: PUSH1 0xa0 00000807: SHL 00000808: SUB 00000809: AND 0000080a: DUP2 0000080b: JUMP 0000080c: JUMPDEST 0000080d: PUSH2 0x033c 00000810: PUSH2 0x081a 00000813: CALLDATASIZE 00000814: PUSH1 0x04 00000816: PUSH2 0x384d 00000819: JUMP 0000081a: JUMPDEST 0000081b: PUSH1 0x01 0000081d: PUSH1 0x01 0000081f: PUSH1 0xa0 00000821: SHL 00000822: SUB 00000823: SWAP2 00000824: DUP3 00000825: AND 00000826: PUSH1 0x00 00000828: SWAP1 00000829: DUP2 0000082a: MSTORE 0000082b: PUSH1 0x03 0000082d: PUSH1 0x20 0000082f: SWAP1 00000830: DUP2 00000831: MSTORE 00000832: PUSH1 0x40 00000834: DUP1 00000835: DUP4 00000836: KECCAK256 00000837: SWAP4 00000838: SWAP1 00000839: SWAP5 0000083a: AND 0000083b: DUP3 0000083c: MSTORE 0000083d: SWAP2 0000083e: SWAP1 0000083f: SWAP2 00000840: MSTORE 00000841: KECCAK256 00000842: SLOAD 00000843: SWAP1 00000844: JUMP 00000845: JUMPDEST 00000846: PUSH2 0x054d 00000849: PUSH2 0x0853 0000084c: CALLDATASIZE 0000084d: PUSH1 0x04 0000084f: PUSH2 0x3721 00000852: JUMP 00000853: JUMPDEST 00000854: PUSH2 0x2592 00000857: JUMP 00000858: JUMPDEST 00000859: PUSH2 0x054d 0000085c: PUSH2 0x0866 0000085f: CALLDATASIZE 00000860: PUSH1 0x04 00000862: PUSH2 0x3641 00000865: JUMP 00000866: JUMPDEST 00000867: PUSH2 0x25c5 0000086a: JUMP 0000086b: JUMPDEST 0000086c: PUSH2 0x054d 0000086f: PUSH2 0x0879 00000872: CALLDATASIZE 00000873: PUSH1 0x04 00000875: PUSH2 0x391b 00000878: JUMP 00000879: JUMPDEST 0000087a: PUSH2 0x26a2 0000087d: JUMP 0000087e: JUMPDEST 0000087f: PUSH2 0x033c 00000882: PUSH1 0x0e 00000884: SLOAD 00000885: DUP2 00000886: JUMP 00000887: JUMPDEST 00000888: PUSH1 0x00 0000088a: PUSH2 0x089f 0000088d: PUSH1 0x00 0000088f: CALLDATALOAD 00000890: PUSH1 0x01 00000892: PUSH1 0x01 00000894: PUSH1 0xe0 00000896: SHL 00000897: SUB 00000898: NOT 00000899: AND 0000089a: CALLER 0000089b: PUSH2 0x2717 0000089e: JUMP 0000089f: JUMPDEST 000008a0: PUSH2 0x08c4 000008a3: JUMPI 000008a4: PUSH1 0x40 000008a6: MLOAD 000008a7: PUSH3 0x461bcd 000008ab: PUSH1 0xe5 000008ad: SHL 000008ae: DUP2 000008af: MSTORE 000008b0: PUSH1 0x04 000008b2: ADD 000008b3: PUSH2 0x08bb 000008b6: SWAP1 000008b7: PUSH2 0x3b08 000008ba: JUMP 000008bb: JUMPDEST 000008bc: PUSH1 0x40 000008be: MLOAD 000008bf: DUP1 000008c0: SWAP2 000008c1: SUB 000008c2: SWAP1 000008c3: REVERT 000008c4: JUMPDEST 000008c5: PUSH1 0x0c 000008c7: SLOAD 000008c8: PUSH1 0x01 000008ca: SWAP1 000008cb: PUSH1 0x01 000008cd: PUSH1 0xc0 000008cf: SHL 000008d0: SWAP1 000008d1: DIV 000008d2: PUSH1 0xff 000008d4: AND 000008d5: PUSH1 0x04 000008d7: DUP2 000008d8: GT 000008d9: ISZERO 000008da: PUSH2 0x08e5 000008dd: JUMPI 000008de: PUSH2 0x08e5 000008e1: PUSH2 0x3a0d 000008e4: JUMP 000008e5: JUMPDEST 000008e6: DUP2 000008e7: PUSH1 0x04 000008e9: DUP2 000008ea: GT 000008eb: ISZERO 000008ec: PUSH2 0x08f7 000008ef: JUMPI 000008f0: PUSH2 0x08f7 000008f3: PUSH2 0x3a0d 000008f6: JUMP 000008f7: JUMPDEST 000008f8: EQ 000008f9: PUSH2 0x0914 000008fc: JUMPI 000008fd: PUSH1 0x40 000008ff: MLOAD 00000900: PUSH3 0x461bcd 00000904: PUSH1 0xe5 00000906: SHL 00000907: DUP2 00000908: MSTORE 00000909: PUSH1 0x04 0000090b: ADD 0000090c: PUSH2 0x08bb 0000090f: SWAP1 00000910: PUSH2 0x3b2f 00000913: JUMP 00000914: JUMPDEST 00000915: PUSH1 0x00 00000917: DUP4 00000918: PUSH1 0x01 0000091a: PUSH1 0x01 0000091c: PUSH1 0xa0 0000091e: SHL 0000091f: SUB 00000920: AND 00000921: PUSH4 0xdc3bfba9 00000926: PUSH1 0x40 00000928: MLOAD 00000929: DUP2 0000092a: PUSH4 0xffffffff 0000092f: AND 00000930: PUSH1 0xe0 00000932: SHL 00000933: DUP2 00000934: MSTORE 00000935: PUSH1 0x04 00000937: ADD 00000938: PUSH1 0x20 0000093a: PUSH1 0x40 0000093c: MLOAD 0000093d: DUP1 0000093e: DUP4 0000093f: SUB 00000940: DUP2 00000941: DUP7 00000942: GAS 00000943: STATICCALL 00000944: ISZERO 00000945: DUP1 00000946: ISZERO 00000947: PUSH2 0x0954 0000094a: JUMPI 0000094b: RETURNDATASIZE 0000094c: PUSH1 0x00 0000094e: DUP1 0000094f: RETURNDATACOPY 00000950: RETURNDATASIZE 00000951: PUSH1 0x00 00000953: REVERT 00000954: JUMPDEST 00000955: POP 00000956: POP 00000957: POP 00000958: POP 00000959: PUSH1 0x40 0000095b: MLOAD 0000095c: RETURNDATASIZE 0000095d: PUSH1 0x1f 0000095f: NOT 00000960: PUSH1 0x1f 00000962: DUP3 00000963: ADD 00000964: AND 00000965: DUP3 00000966: ADD 00000967: DUP1 00000968: PUSH1 0x40 0000096a: MSTORE 0000096b: POP 0000096c: DUP2 0000096d: ADD 0000096e: SWAP1 0000096f: PUSH2 0x0978 00000972: SWAP2 00000973: SWAP1 00000974: PUSH2 0x3b62 00000977: JUMP 00000978: JUMPDEST 00000979: SWAP1 0000097a: POP 0000097b: PUSH1 0x00 0000097d: PUSH1 0x0e 0000097f: SLOAD 00000980: SWAP1 00000981: POP 00000982: DUP5 00000983: PUSH1 0x01 00000985: PUSH1 0x01 00000987: PUSH1 0xa0 00000989: SHL 0000098a: SUB 0000098b: AND 0000098c: PUSH4 0x5001f3b5 00000991: PUSH1 0x40 00000993: MLOAD 00000994: DUP2 00000995: PUSH4 0xffffffff 0000099a: AND 0000099b: PUSH1 0xe0 0000099d: SHL 0000099e: DUP2 0000099f: MSTORE 000009a0: PUSH1 0x04 000009a2: ADD 000009a3: PUSH1 0x20 000009a5: PUSH1 0x40 000009a7: MLOAD 000009a8: DUP1 000009a9: DUP4 000009aa: SUB 000009ab: DUP2 000009ac: DUP7 000009ad: GAS 000009ae: STATICCALL 000009af: ISZERO 000009b0: DUP1 000009b1: ISZERO 000009b2: PUSH2 0x09bf 000009b5: JUMPI 000009b6: RETURNDATASIZE 000009b7: PUSH1 0x00 000009b9: DUP1 000009ba: RETURNDATACOPY 000009bb: RETURNDATASIZE 000009bc: PUSH1 0x00 000009be: REVERT 000009bf: JUMPDEST 000009c0: POP 000009c1: POP 000009c2: POP 000009c3: POP 000009c4: PUSH1 0x40 000009c6: MLOAD 000009c7: RETURNDATASIZE 000009c8: PUSH1 0x1f 000009ca: NOT 000009cb: PUSH1 0x1f 000009cd: DUP3 000009ce: ADD 000009cf: AND 000009d0: DUP3 000009d1: ADD 000009d2: DUP1 000009d3: PUSH1 0x40 000009d5: MSTORE 000009d6: POP 000009d7: DUP2 000009d8: ADD 000009d9: SWAP1 000009da: PUSH2 0x09e3 000009dd: SWAP2 000009de: SWAP1 000009df: PUSH2 0x3b62 000009e2: JUMP 000009e3: JUMPDEST 000009e4: PUSH1 0x01 000009e6: PUSH1 0x01 000009e8: PUSH1 0xa0 000009ea: SHL 000009eb: SUB 000009ec: AND 000009ed: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000a0e: PUSH1 0x01 00000a10: PUSH1 0x01 00000a12: PUSH1 0xa0 00000a14: SHL 00000a15: SUB 00000a16: AND 00000a17: EQ 00000a18: PUSH2 0x0a55 00000a1b: JUMPI 00000a1c: PUSH1 0x40 00000a1e: MLOAD 00000a1f: PUSH3 0x461bcd 00000a23: PUSH1 0xe5 00000a25: SHL 00000a26: DUP2 00000a27: MSTORE 00000a28: PUSH1 0x20 00000a2a: PUSH1 0x04 00000a2c: DUP3 00000a2d: ADD 00000a2e: MSTORE 00000a2f: PUSH1 0x0f 00000a31: PUSH1 0x24 00000a33: DUP3 00000a34: ADD 00000a35: MSTORE 00000a36: PUSH15 0x4d69736d6174636865642062617365 00000a46: PUSH1 0x88 00000a48: SHL 00000a49: PUSH1 0x44 00000a4b: DUP3 00000a4c: ADD 00000a4d: MSTORE 00000a4e: PUSH1 0x64 00000a50: ADD 00000a51: PUSH2 0x08bb 00000a54: JUMP 00000a55: JUMPDEST 00000a56: PUSH1 0x00 00000a58: PUSH1 0x0e 00000a5a: SSTORE 00000a5b: PUSH2 0x0a8e 00000a5e: PUSH1 0x01 00000a60: PUSH1 0x01 00000a62: PUSH1 0xa0 00000a64: SHL 00000a65: SUB 00000a66: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000a87: AND 00000a88: DUP7 00000a89: DUP4 00000a8a: PUSH2 0x274c 00000a8d: JUMP 00000a8e: JUMPDEST 00000a8f: PUSH1 0x40 00000a91: MLOAD 00000a92: PUSH4 0x066ad14f 00000a97: PUSH1 0xe2 00000a99: SHL 00000a9a: DUP2 00000a9b: MSTORE 00000a9c: PUSH1 0x01 00000a9e: PUSH1 0x01 00000aa0: PUSH1 0xa0 00000aa2: SHL 00000aa3: SUB 00000aa4: DUP7 00000aa5: AND 00000aa6: SWAP1 00000aa7: PUSH4 0x19ab453c 00000aac: SWAP1 00000aad: PUSH2 0x0aba 00000ab0: SWAP1 00000ab1: ADDRESS 00000ab2: SWAP1 00000ab3: PUSH1 0x04 00000ab5: ADD 00000ab6: PUSH2 0x3758 00000ab9: JUMP 00000aba: JUMPDEST 00000abb: PUSH1 0x60 00000abd: PUSH1 0x40 00000abf: MLOAD 00000ac0: DUP1 00000ac1: DUP4 00000ac2: SUB 00000ac3: DUP2 00000ac4: PUSH1 0x00 00000ac6: DUP8 00000ac7: GAS 00000ac8: CALL 00000ac9: ISZERO 00000aca: DUP1 00000acb: ISZERO 00000acc: PUSH2 0x0ad9 00000acf: JUMPI 00000ad0: RETURNDATASIZE 00000ad1: PUSH1 0x00 00000ad3: DUP1 00000ad4: RETURNDATACOPY 00000ad5: RETURNDATASIZE 00000ad6: PUSH1 0x00 00000ad8: REVERT 00000ad9: JUMPDEST 00000ada: POP 00000adb: POP 00000adc: POP 00000add: POP 00000ade: PUSH1 0x40 00000ae0: MLOAD 00000ae1: RETURNDATASIZE 00000ae2: PUSH1 0x1f 00000ae4: NOT 00000ae5: PUSH1 0x1f 00000ae7: DUP3 00000ae8: ADD 00000ae9: AND 00000aea: DUP3 00000aeb: ADD 00000aec: DUP1 00000aed: PUSH1 0x40 00000aef: MSTORE 00000af0: POP 00000af1: DUP2 00000af2: ADD 00000af3: SWAP1 00000af4: PUSH2 0x0afd 00000af7: SWAP2 00000af8: SWAP1 00000af9: PUSH2 0x3b7f 00000afc: JUMP 00000afd: JUMPDEST 00000afe: PUSH1 0x0f 00000b00: DUP2 00000b01: SWAP1 00000b02: SSTORE 00000b03: PUSH1 0x0c 00000b05: DUP1 00000b06: SLOAD 00000b07: PUSH1 0x01 00000b09: PUSH1 0x01 00000b0b: PUSH1 0xa0 00000b0d: SHL 00000b0e: SUB 00000b0f: NOT 00000b10: AND 00000b11: PUSH1 0x01 00000b13: PUSH1 0x01 00000b15: PUSH1 0xa0 00000b17: SHL 00000b18: SUB 00000b19: DUP8 00000b1a: DUP2 00000b1b: AND 00000b1c: SWAP2 00000b1d: SWAP1 00000b1e: SWAP2 00000b1f: OR 00000b20: SWAP1 00000b21: SWAP2 00000b22: SSTORE 00000b23: PUSH1 0x40 00000b25: DUP1 00000b26: MLOAD 00000b27: PUSH4 0x204f83f9 00000b2c: PUSH1 0xe0 00000b2e: SHL 00000b2f: DUP2 00000b30: MSTORE 00000b31: SWAP1 00000b32: MLOAD 00000b33: SWAP3 00000b34: SWAP9 00000b35: POP 00000b36: SWAP1 00000b37: DUP10 00000b38: AND 00000b39: SWAP4 00000b3a: POP 00000b3b: PUSH4 0x204f83f9 00000b40: SWAP3 00000b41: POP 00000b42: PUSH1 0x04 00000b44: DUP1 00000b45: DUP3 00000b46: ADD 00000b47: SWAP3 00000b48: PUSH1 0x20 00000b4a: SWAP3 00000b4b: SWAP1 00000b4c: SWAP2 00000b4d: SWAP1 00000b4e: DUP3 00000b4f: SWAP1 00000b50: SUB 00000b51: ADD 00000b52: DUP2 00000b53: DUP7 00000b54: GAS 00000b55: STATICCALL 00000b56: ISZERO 00000b57: DUP1 00000b58: ISZERO 00000b59: PUSH2 0x0b66 00000b5c: JUMPI 00000b5d: RETURNDATASIZE 00000b5e: PUSH1 0x00 00000b60: DUP1 00000b61: RETURNDATACOPY 00000b62: RETURNDATASIZE 00000b63: PUSH1 0x00 00000b65: REVERT 00000b66: JUMPDEST 00000b67: POP 00000b68: POP 00000b69: POP 00000b6a: POP 00000b6b: PUSH1 0x40 00000b6d: MLOAD 00000b6e: RETURNDATASIZE 00000b6f: PUSH1 0x1f 00000b71: NOT 00000b72: PUSH1 0x1f 00000b74: DUP3 00000b75: ADD 00000b76: AND 00000b77: DUP3 00000b78: ADD 00000b79: DUP1 00000b7a: PUSH1 0x40 00000b7c: MSTORE 00000b7d: POP 00000b7e: DUP2 00000b7f: ADD 00000b80: SWAP1 00000b81: PUSH2 0x0b8a 00000b84: SWAP2 00000b85: SWAP1 00000b86: PUSH2 0x3bad 00000b89: JUMP 00000b8a: JUMPDEST 00000b8b: PUSH1 0x0c 00000b8d: DUP1 00000b8e: SLOAD 00000b8f: PUSH4 0xffffffff 00000b94: PUSH1 0xa0 00000b96: SHL 00000b97: NOT 00000b98: AND 00000b99: PUSH1 0x01 00000b9b: PUSH1 0xa0 00000b9d: SHL 00000b9e: PUSH4 0xffffffff 00000ba3: SWAP4 00000ba4: SWAP1 00000ba5: SWAP4 00000ba6: AND 00000ba7: SWAP3 00000ba8: SWAP1 00000ba9: SWAP3 00000baa: MUL 00000bab: SWAP2 00000bac: SWAP1 00000bad: SWAP2 00000bae: OR 00000baf: SWAP1 00000bb0: SSTORE 00000bb1: PUSH1 0x0d 00000bb3: DUP1 00000bb4: SLOAD 00000bb5: PUSH1 0x01 00000bb7: PUSH1 0x01 00000bb9: PUSH1 0xa0 00000bbb: SHL 00000bbc: SUB 00000bbd: NOT 00000bbe: AND 00000bbf: PUSH1 0x01 00000bc1: PUSH1 0x01 00000bc3: PUSH1 0xa0 00000bc5: SHL 00000bc6: SUB 00000bc7: DUP8 00000bc8: AND 00000bc9: OR 00000bca: SWAP1 00000bcb: SSTORE 00000bcc: PUSH2 0x0bd6 00000bcf: PUSH1 0x02 00000bd1: DUP7 00000bd2: PUSH2 0x284b 00000bd5: JUMP 00000bd6: JUMPDEST 00000bd7: PUSH1 0x40 00000bd9: DUP1 00000bda: MLOAD 00000bdb: DUP3 00000bdc: DUP2 00000bdd: MSTORE 00000bde: PUSH1 0x20 00000be0: DUP2 00000be1: ADD 00000be2: DUP7 00000be3: SWAP1 00000be4: MSTORE 00000be5: PUSH1 0x01 00000be7: PUSH1 0x01 00000be9: PUSH1 0xa0 00000beb: SHL 00000bec: SUB 00000bed: DUP8 00000bee: AND 00000bef: SWAP2 00000bf0: PUSH32 0x9e9d071824fd57d062ca63fd8b786d8da48a6807eebbcb2d83f9e8d21398e28c 00000c11: SWAP2 00000c12: ADD 00000c13: PUSH1 0x40 00000c15: MLOAD 00000c16: DUP1 00000c17: SWAP2 00000c18: SUB 00000c19: SWAP1 00000c1a: LOG2 00000c1b: POP 00000c1c: POP 00000c1d: POP 00000c1e: SWAP2 00000c1f: SWAP1 00000c20: POP 00000c21: JUMP 00000c22: JUMPDEST 00000c23: PUSH1 0x0c 00000c25: SLOAD 00000c26: PUSH1 0x00 00000c28: SWAP1 00000c29: PUSH1 0x02 00000c2b: SWAP1 00000c2c: PUSH1 0x01 00000c2e: PUSH1 0xc0 00000c30: SHL 00000c31: SWAP1 00000c32: DIV 00000c33: PUSH1 0xff 00000c35: AND 00000c36: PUSH1 0x04 00000c38: DUP2 00000c39: GT 00000c3a: ISZERO 00000c3b: PUSH2 0x0c46 00000c3e: JUMPI 00000c3f: PUSH2 0x0c46 00000c42: PUSH2 0x3a0d 00000c45: JUMP 00000c46: JUMPDEST 00000c47: DUP2 00000c48: PUSH1 0x04 00000c4a: DUP2 00000c4b: GT 00000c4c: ISZERO 00000c4d: PUSH2 0x0c58 00000c50: JUMPI 00000c51: PUSH2 0x0c58 00000c54: PUSH2 0x3a0d 00000c57: JUMP 00000c58: JUMPDEST 00000c59: EQ 00000c5a: PUSH2 0x0c75 00000c5d: JUMPI 00000c5e: PUSH1 0x40 00000c60: MLOAD 00000c61: PUSH3 0x461bcd 00000c65: PUSH1 0xe5 00000c67: SHL 00000c68: DUP2 00000c69: MSTORE 00000c6a: PUSH1 0x04 00000c6c: ADD 00000c6d: PUSH2 0x08bb 00000c70: SWAP1 00000c71: PUSH2 0x3b2f 00000c74: JUMP 00000c75: JUMPDEST 00000c76: PUSH1 0x0d 00000c78: SLOAD 00000c79: PUSH1 0x0c 00000c7b: SLOAD 00000c7c: PUSH1 0x01 00000c7e: PUSH1 0x01 00000c80: PUSH1 0xa0 00000c82: SHL 00000c83: SUB 00000c84: SWAP2 00000c85: DUP3 00000c86: AND 00000c87: SWAP2 00000c88: DUP2 00000c89: AND 00000c8a: SWAP1 00000c8b: PUSH4 0xffffffff 00000c90: PUSH1 0x01 00000c92: PUSH1 0xa0 00000c94: SHL 00000c95: SWAP1 00000c96: SWAP2 00000c97: DIV 00000c98: DUP2 00000c99: AND 00000c9a: TIMESTAMP 00000c9b: SWAP1 00000c9c: SWAP2 00000c9d: AND 00000c9e: LT 00000c9f: ISZERO 00000ca0: PUSH2 0x0ce1 00000ca3: JUMPI 00000ca4: PUSH1 0x40 00000ca6: MLOAD 00000ca7: PUSH3 0x461bcd 00000cab: PUSH1 0xe5 00000cad: SHL 00000cae: DUP2 00000caf: MSTORE 00000cb0: PUSH1 0x20 00000cb2: PUSH1 0x04 00000cb4: DUP3 00000cb5: ADD 00000cb6: MSTORE 00000cb7: PUSH1 0x13 00000cb9: PUSH1 0x24 00000cbb: DUP3 00000cbc: ADD 00000cbd: MSTORE 00000cbe: PUSH19 0x4f6e6c79206166746572206d61747572697479 00000cd2: PUSH1 0x68 00000cd4: SHL 00000cd5: PUSH1 0x44 00000cd7: DUP3 00000cd8: ADD 00000cd9: MSTORE 00000cda: PUSH1 0x64 00000cdc: ADD 00000cdd: PUSH2 0x08bb 00000ce0: JUMP 00000ce1: JUMPDEST 00000ce2: PUSH1 0x40 00000ce4: MLOAD 00000ce5: PUSH4 0x70a08231 00000cea: PUSH1 0xe0 00000cec: SHL 00000ced: DUP2 00000cee: MSTORE 00000cef: PUSH1 0x00 00000cf1: SWAP1 00000cf2: PUSH1 0x01 00000cf4: PUSH1 0x01 00000cf6: PUSH1 0xa0 00000cf8: SHL 00000cf9: SUB 00000cfa: DUP5 00000cfb: AND 00000cfc: SWAP1 00000cfd: PUSH4 0x70a08231 00000d02: SWAP1 00000d03: PUSH2 0x0d10 00000d06: SWAP1 00000d07: ADDRESS 00000d08: SWAP1 00000d09: PUSH1 0x04 00000d0b: ADD 00000d0c: PUSH2 0x3758 00000d0f: JUMP 00000d10: JUMPDEST 00000d11: PUSH1 0x20 00000d13: PUSH1 0x40 00000d15: MLOAD 00000d16: DUP1 00000d17: DUP4 00000d18: SUB 00000d19: DUP2 00000d1a: DUP7 00000d1b: GAS 00000d1c: STATICCALL 00000d1d: ISZERO 00000d1e: DUP1 00000d1f: ISZERO 00000d20: PUSH2 0x0d2d 00000d23: JUMPI 00000d24: RETURNDATASIZE 00000d25: PUSH1 0x00 00000d27: DUP1 00000d28: RETURNDATACOPY 00000d29: RETURNDATASIZE 00000d2a: PUSH1 0x00 00000d2c: REVERT 00000d2d: JUMPDEST 00000d2e: POP 00000d2f: POP 00000d30: POP 00000d31: POP 00000d32: PUSH1 0x40 00000d34: MLOAD 00000d35: RETURNDATASIZE 00000d36: PUSH1 0x1f 00000d38: NOT 00000d39: PUSH1 0x1f 00000d3b: DUP3 00000d3c: ADD 00000d3d: AND 00000d3e: DUP3 00000d3f: ADD 00000d40: DUP1 00000d41: PUSH1 0x40 00000d43: MSTORE 00000d44: POP 00000d45: DUP2 00000d46: ADD 00000d47: SWAP1 00000d48: PUSH2 0x0d51 00000d4b: SWAP2 00000d4c: SWAP1 00000d4d: PUSH2 0x3bca 00000d50: JUMP 00000d51: JUMPDEST 00000d52: PUSH1 0x00 00000d54: PUSH1 0x0f 00000d56: SSTORE 00000d57: SWAP1 00000d58: POP 00000d59: PUSH2 0x0d6c 00000d5c: PUSH1 0x01 00000d5e: PUSH1 0x01 00000d60: PUSH1 0xa0 00000d62: SHL 00000d63: SUB 00000d64: DUP5 00000d65: AND 00000d66: DUP5 00000d67: DUP4 00000d68: PUSH2 0x274c 00000d6b: JUMP 00000d6c: JUMPDEST 00000d6d: PUSH1 0x00 00000d6f: DUP1 00000d70: DUP5 00000d71: PUSH1 0x01 00000d73: PUSH1 0x01 00000d75: PUSH1 0xa0 00000d77: SHL 00000d78: SUB 00000d79: AND 00000d7a: PUSH4 0xd7020d0a 00000d7f: ADDRESS 00000d80: ADDRESS 00000d81: PUSH1 0x00 00000d83: PUSH1 0x00 00000d85: NOT 00000d86: PUSH1 0x40 00000d88: MLOAD 00000d89: DUP6 00000d8a: PUSH4 0xffffffff 00000d8f: AND 00000d90: PUSH1 0xe0 00000d92: SHL 00000d93: DUP2 00000d94: MSTORE 00000d95: PUSH1 0x04 00000d97: ADD 00000d98: PUSH2 0x0da4 00000d9b: SWAP5 00000d9c: SWAP4 00000d9d: SWAP3 00000d9e: SWAP2 00000d9f: SWAP1 00000da0: PUSH2 0x3be3 00000da3: JUMP 00000da4: JUMPDEST 00000da5: PUSH1 0x60 00000da7: PUSH1 0x40 00000da9: MLOAD 00000daa: DUP1 00000dab: DUP4 00000dac: SUB 00000dad: DUP2 00000dae: PUSH1 0x00 00000db0: DUP8 00000db1: GAS 00000db2: CALL 00000db3: ISZERO 00000db4: DUP1 00000db5: ISZERO 00000db6: PUSH2 0x0dc3 00000db9: JUMPI 00000dba: RETURNDATASIZE 00000dbb: PUSH1 0x00 00000dbd: DUP1 00000dbe: RETURNDATACOPY 00000dbf: RETURNDATASIZE 00000dc0: PUSH1 0x00 00000dc2: REVERT 00000dc3: JUMPDEST 00000dc4: POP 00000dc5: POP 00000dc6: POP 00000dc7: POP 00000dc8: PUSH1 0x40 00000dca: MLOAD 00000dcb: RETURNDATASIZE 00000dcc: PUSH1 0x1f 00000dce: NOT 00000dcf: PUSH1 0x1f 00000dd1: DUP3 00000dd2: ADD 00000dd3: AND 00000dd4: DUP3 00000dd5: ADD 00000dd6: DUP1 00000dd7: PUSH1 0x40 00000dd9: MSTORE 00000dda: POP 00000ddb: DUP2 00000ddc: ADD 00000ddd: SWAP1 00000dde: PUSH2 0x0de7 00000de1: SWAP2 00000de2: SWAP1 00000de3: PUSH2 0x3b7f 00000de6: JUMP 00000de7: JUMPDEST 00000de8: SWAP3 00000de9: POP 00000dea: SWAP3 00000deb: POP 00000dec: POP 00000ded: PUSH1 0x00 00000def: DUP5 00000df0: PUSH1 0x01 00000df2: PUSH1 0x01 00000df4: PUSH1 0xa0 00000df6: SHL 00000df7: SUB 00000df8: AND 00000df9: PUSH4 0x1e9a6950 00000dfe: ADDRESS 00000dff: DUP5 00000e00: PUSH1 0x40 00000e02: MLOAD 00000e03: DUP4 00000e04: PUSH4 0xffffffff 00000e09: AND 00000e0a: PUSH1 0xe0 00000e0c: SHL 00000e0d: DUP2 00000e0e: MSTORE 00000e0f: PUSH1 0x04 00000e11: ADD 00000e12: PUSH2 0x0e1c 00000e15: SWAP3 00000e16: SWAP2 00000e17: SWAP1 00000e18: PUSH2 0x3c0c 00000e1b: JUMP 00000e1c: JUMPDEST 00000e1d: PUSH1 0x20 00000e1f: PUSH1 0x40 00000e21: MLOAD 00000e22: DUP1 00000e23: DUP4 00000e24: SUB 00000e25: DUP2 00000e26: PUSH1 0x00 00000e28: DUP8 00000e29: GAS 00000e2a: CALL 00000e2b: ISZERO 00000e2c: DUP1 00000e2d: ISZERO 00000e2e: PUSH2 0x0e3b 00000e31: JUMPI 00000e32: RETURNDATASIZE 00000e33: PUSH1 0x00 00000e35: DUP1 00000e36: RETURNDATACOPY 00000e37: RETURNDATASIZE 00000e38: PUSH1 0x00 00000e3a: REVERT 00000e3b: JUMPDEST 00000e3c: POP 00000e3d: POP 00000e3e: POP 00000e3f: POP 00000e40: PUSH1 0x40 00000e42: MLOAD 00000e43: RETURNDATASIZE 00000e44: PUSH1 0x1f 00000e46: NOT 00000e47: PUSH1 0x1f 00000e49: DUP3 00000e4a: ADD 00000e4b: AND 00000e4c: DUP3 00000e4d: ADD 00000e4e: DUP1 00000e4f: PUSH1 0x40 00000e51: MSTORE 00000e52: POP 00000e53: DUP2 00000e54: ADD 00000e55: SWAP1 00000e56: PUSH2 0x0e5f 00000e59: SWAP2 00000e5a: SWAP1 00000e5b: PUSH2 0x3bca 00000e5e: JUMP 00000e5f: JUMPDEST 00000e60: PUSH1 0x40 00000e62: MLOAD 00000e63: PUSH4 0x70a08231 00000e68: PUSH1 0xe0 00000e6a: SHL 00000e6b: DUP2 00000e6c: MSTORE 00000e6d: SWAP1 00000e6e: SWAP2 00000e6f: POP 00000e70: PUSH1 0x01 00000e72: PUSH1 0x01 00000e74: PUSH1 0xa0 00000e76: SHL 00000e77: SUB 00000e78: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000e99: AND 00000e9a: SWAP1 00000e9b: PUSH4 0x70a08231 00000ea0: SWAP1 00000ea1: PUSH2 0x0eae 00000ea4: SWAP1 00000ea5: ADDRESS 00000ea6: SWAP1 00000ea7: PUSH1 0x04 00000ea9: ADD 00000eaa: PUSH2 0x3758 00000ead: JUMP 00000eae: JUMPDEST 00000eaf: PUSH1 0x20 00000eb1: PUSH1 0x40 00000eb3: MLOAD 00000eb4: DUP1 00000eb5: DUP4 00000eb6: SUB 00000eb7: DUP2 00000eb8: DUP7 00000eb9: GAS 00000eba: STATICCALL 00000ebb: ISZERO 00000ebc: DUP1 00000ebd: ISZERO 00000ebe: PUSH2 0x0ecb 00000ec1: JUMPI 00000ec2: RETURNDATASIZE 00000ec3: PUSH1 0x00 00000ec5: DUP1 00000ec6: RETURNDATACOPY 00000ec7: RETURNDATASIZE 00000ec8: PUSH1 0x00 00000eca: REVERT 00000ecb: JUMPDEST 00000ecc: POP 00000ecd: POP 00000ece: POP 00000ecf: POP 00000ed0: PUSH1 0x40 00000ed2: MLOAD 00000ed3: RETURNDATASIZE 00000ed4: PUSH1 0x1f 00000ed6: NOT 00000ed7: PUSH1 0x1f 00000ed9: DUP3 00000eda: ADD 00000edb: AND 00000edc: DUP3 00000edd: ADD 00000ede: DUP1 00000edf: PUSH1 0x40 00000ee1: MSTORE 00000ee2: POP 00000ee3: DUP2 00000ee4: ADD 00000ee5: SWAP1 00000ee6: PUSH2 0x0eef 00000ee9: SWAP2 00000eea: SWAP1 00000eeb: PUSH2 0x3bca 00000eee: JUMP 00000eef: JUMPDEST 00000ef0: PUSH1 0x0e 00000ef2: SSTORE 00000ef3: PUSH2 0x0efd 00000ef6: PUSH1 0x01 00000ef8: DUP8 00000ef9: PUSH2 0x284b 00000efc: JUMP 00000efd: JUMPDEST 00000efe: PUSH1 0x01 00000f00: PUSH1 0x01 00000f02: PUSH1 0xa0 00000f04: SHL 00000f05: SUB 00000f06: DUP7 00000f07: AND 00000f08: PUSH1 0x00 00000f0a: DUP1 00000f0b: MLOAD 00000f0c: PUSH1 0x20 00000f0e: PUSH2 0x3f7b 00000f11: DUP4 00000f12: CODECOPY 00000f13: DUP2 00000f14: MLOAD 00000f15: SWAP2 00000f16: MSTORE 00000f17: DUP6 00000f18: PUSH2 0x0f21 00000f1b: DUP5 00000f1c: DUP8 00000f1d: PUSH2 0x3c3b 00000f20: JUMP 00000f21: JUMPDEST 00000f22: PUSH1 0x40 00000f24: DUP1 00000f25: MLOAD 00000f26: SWAP3 00000f27: DUP4 00000f28: MSTORE 00000f29: PUSH1 0x20 00000f2b: DUP4 00000f2c: ADD 00000f2d: DUP3 00000f2e: SWAP1 00000f2f: MSTORE 00000f30: SWAP1 00000f31: SWAP12 00000f32: POP 00000f33: ADD 00000f34: PUSH1 0x40 00000f36: MLOAD 00000f37: DUP1 00000f38: SWAP2 00000f39: SUB 00000f3a: SWAP1 00000f3b: LOG2 00000f3c: POP 00000f3d: POP 00000f3e: POP 00000f3f: POP 00000f40: POP 00000f41: POP 00000f42: POP 00000f43: SWAP1 00000f44: JUMP 00000f45: JUMPDEST 00000f46: PUSH1 0x04 00000f48: DUP1 00000f49: SLOAD 00000f4a: PUSH2 0x0f52 00000f4d: SWAP1 00000f4e: PUSH2 0x3c53 00000f51: JUMP 00000f52: JUMPDEST 00000f53: DUP1 00000f54: PUSH1 0x1f 00000f56: ADD 00000f57: PUSH1 0x20 00000f59: DUP1 00000f5a: SWAP2 00000f5b: DIV 00000f5c: MUL 00000f5d: PUSH1 0x20 00000f5f: ADD 00000f60: PUSH1 0x40 00000f62: MLOAD 00000f63: SWAP1 00000f64: DUP2 00000f65: ADD 00000f66: PUSH1 0x40 00000f68: MSTORE 00000f69: DUP1 00000f6a: SWAP3 00000f6b: SWAP2 00000f6c: SWAP1 00000f6d: DUP2 00000f6e: DUP2 00000f6f: MSTORE 00000f70: PUSH1 0x20 00000f72: ADD 00000f73: DUP3 00000f74: DUP1 00000f75: SLOAD 00000f76: PUSH2 0x0f7e 00000f79: SWAP1 00000f7a: PUSH2 0x3c53 00000f7d: JUMP 00000f7e: JUMPDEST 00000f7f: DUP1 00000f80: ISZERO 00000f81: PUSH2 0x0fcb 00000f84: JUMPI 00000f85: DUP1 00000f86: PUSH1 0x1f 00000f88: LT 00000f89: PUSH2 0x0fa0 00000f8c: JUMPI 00000f8d: PUSH2 0x0100 00000f90: DUP1 00000f91: DUP4 00000f92: SLOAD 00000f93: DIV 00000f94: MUL 00000f95: DUP4 00000f96: MSTORE 00000f97: SWAP2 00000f98: PUSH1 0x20 00000f9a: ADD 00000f9b: SWAP2 00000f9c: PUSH2 0x0fcb 00000f9f: JUMP 00000fa0: JUMPDEST 00000fa1: DUP3 00000fa2: ADD 00000fa3: SWAP2 00000fa4: SWAP1 00000fa5: PUSH1 0x00 00000fa7: MSTORE 00000fa8: PUSH1 0x20 00000faa: PUSH1 0x00 00000fac: KECCAK256 00000fad: SWAP1 00000fae: JUMPDEST 00000faf: DUP2 00000fb0: SLOAD 00000fb1: DUP2 00000fb2: MSTORE 00000fb3: SWAP1 00000fb4: PUSH1 0x01 00000fb6: ADD 00000fb7: SWAP1 00000fb8: PUSH1 0x20 00000fba: ADD 00000fbb: DUP1 00000fbc: DUP4 00000fbd: GT 00000fbe: PUSH2 0x0fae 00000fc1: JUMPI 00000fc2: DUP3 00000fc3: SWAP1 00000fc4: SUB 00000fc5: PUSH1 0x1f 00000fc7: AND 00000fc8: DUP3 00000fc9: ADD 00000fca: SWAP2 00000fcb: JUMPDEST 00000fcc: POP 00000fcd: POP 00000fce: POP 00000fcf: POP 00000fd0: POP 00000fd1: DUP2 00000fd2: JUMP 00000fd3: JUMPDEST 00000fd4: PUSH1 0x00 00000fd6: PUSH2 0x0fe0 00000fd9: CALLER 00000fda: DUP5 00000fdb: DUP5 00000fdc: PUSH2 0x2a72 00000fdf: JUMP 00000fe0: JUMPDEST 00000fe1: SWAP4 00000fe2: SWAP3 00000fe3: POP 00000fe4: POP 00000fe5: POP 00000fe6: JUMP 00000fe7: JUMPDEST 00000fe8: PUSH1 0x00 00000fea: PUSH2 0x0fe0 00000fed: DUP4 00000fee: DUP4 00000fef: PUSH2 0x2717 00000ff2: JUMP 00000ff3: JUMPDEST 00000ff4: PUSH1 0x00 00000ff6: DUP1 00000ff7: PUSH1 0x00 00000ff9: PUSH2 0x100e 00000ffc: PUSH1 0x00 00000ffe: CALLDATALOAD 00000fff: PUSH1 0x01 00001001: PUSH1 0x01 00001003: PUSH1 0xe0 00001005: SHL 00001006: SUB 00001007: NOT 00001008: AND 00001009: CALLER 0000100a: PUSH2 0x2717 0000100d: JUMP 0000100e: JUMPDEST 0000100f: PUSH2 0x102a 00001012: JUMPI 00001013: PUSH1 0x40 00001015: MLOAD 00001016: PUSH3 0x461bcd 0000101a: PUSH1 0xe5 0000101c: SHL 0000101d: DUP2 0000101e: MSTORE 0000101f: PUSH1 0x04 00001021: ADD 00001022: PUSH2 0x08bb 00001025: SWAP1 00001026: PUSH2 0x3b08 00001029: JUMP 0000102a: JUMPDEST 0000102b: PUSH1 0x00 0000102d: SWAP2 0000102e: POP 0000102f: PUSH2 0x1037 00001032: DUP5 00001033: PUSH2 0x2adb 00001036: JUMP 00001037: JUMPDEST 00001038: SWAP5 00001039: SWAP2 0000103a: SWAP4 0000103b: POP 0000103c: DUP5 0000103d: SWAP3 0000103e: POP 0000103f: POP 00001040: JUMP 00001041: JUMPDEST 00001042: PUSH1 0x60 00001044: PUSH2 0x1059 00001047: PUSH1 0x00 00001049: CALLDATALOAD 0000104a: PUSH1 0x01 0000104c: PUSH1 0x01 0000104e: PUSH1 0xe0 00001050: SHL 00001051: SUB 00001052: NOT 00001053: AND 00001054: CALLER 00001055: PUSH2 0x2717 00001058: JUMP 00001059: JUMPDEST 0000105a: PUSH2 0x1075 0000105d: JUMPI 0000105e: PUSH1 0x40 00001060: MLOAD 00001061: PUSH3 0x461bcd 00001065: PUSH1 0xe5 00001067: SHL 00001068: DUP2 00001069: MSTORE 0000106a: PUSH1 0x04 0000106c: ADD 0000106d: PUSH2 0x08bb 00001070: SWAP1 00001071: PUSH2 0x3b08 00001074: JUMP 00001075: JUMPDEST 00001076: PUSH1 0x00 00001078: DUP1 00001079: DUP6 0000107a: PUSH1 0x01 0000107c: PUSH1 0x01 0000107e: PUSH1 0xa0 00001080: SHL 00001081: SUB 00001082: AND 00001083: DUP6 00001084: DUP6 00001085: PUSH1 0x40 00001087: MLOAD 00001088: PUSH2 0x1092 0000108b: SWAP3 0000108c: SWAP2 0000108d: SWAP1 0000108e: PUSH2 0x3c87 00001091: JUMP 00001092: JUMPDEST 00001093: PUSH1 0x00 00001095: PUSH1 0x40 00001097: MLOAD 00001098: DUP1 00001099: DUP4 0000109a: SUB 0000109b: DUP2 0000109c: PUSH1 0x00 0000109e: DUP7 0000109f: GAS 000010a0: CALL 000010a1: SWAP2 000010a2: POP 000010a3: POP 000010a4: RETURNDATASIZE 000010a5: DUP1 000010a6: PUSH1 0x00 000010a8: DUP2 000010a9: EQ 000010aa: PUSH2 0x10cf 000010ad: JUMPI 000010ae: PUSH1 0x40 000010b0: MLOAD 000010b1: SWAP2 000010b2: POP 000010b3: PUSH1 0x1f 000010b5: NOT 000010b6: PUSH1 0x3f 000010b8: RETURNDATASIZE 000010b9: ADD 000010ba: AND 000010bb: DUP3 000010bc: ADD 000010bd: PUSH1 0x40 000010bf: MSTORE 000010c0: RETURNDATASIZE 000010c1: DUP3 000010c2: MSTORE 000010c3: RETURNDATASIZE 000010c4: PUSH1 0x00 000010c6: PUSH1 0x20 000010c8: DUP5 000010c9: ADD 000010ca: RETURNDATACOPY 000010cb: PUSH2 0x10d4 000010ce: JUMP 000010cf: JUMPDEST 000010d0: PUSH1 0x60 000010d2: SWAP2 000010d3: POP 000010d4: JUMPDEST 000010d5: POP 000010d6: SWAP2 000010d7: POP 000010d8: SWAP2 000010d9: POP 000010da: DUP2 000010db: PUSH2 0x1114 000010de: JUMPI 000010df: PUSH1 0x40 000010e1: MLOAD 000010e2: PUSH3 0x461bcd 000010e6: PUSH1 0xe5 000010e8: SHL 000010e9: DUP2 000010ea: MSTORE 000010eb: PUSH1 0x20 000010ed: PUSH1 0x04 000010ef: DUP3 000010f0: ADD 000010f1: MSTORE 000010f2: PUSH1 0x0b 000010f4: PUSH1 0x24 000010f6: DUP3 000010f7: ADD 000010f8: MSTORE 000010f9: PUSH11 0x10d85b1b0819985a5b1959 00001105: PUSH1 0xaa 00001107: SHL 00001108: PUSH1 0x44 0000110a: DUP3 0000110b: ADD 0000110c: MSTORE 0000110d: PUSH1 0x64 0000110f: ADD 00001110: PUSH2 0x08bb 00001113: JUMP 00001114: JUMPDEST 00001115: SWAP6 00001116: SWAP5 00001117: POP 00001118: POP 00001119: POP 0000111a: POP 0000111b: POP 0000111c: JUMP 0000111d: JUMPDEST 0000111e: PUSH1 0x00 00001120: PUSH2 0x1129 00001123: CALLER 00001124: DUP4 00001125: PUSH2 0x2c2e 00001128: JUMP 00001129: JUMPDEST 0000112a: SWAP3 0000112b: SWAP2 0000112c: POP 0000112d: POP 0000112e: JUMP 0000112f: JUMPDEST 00001130: PUSH1 0x00 00001132: PUSH2 0x1147 00001135: PUSH1 0x00 00001137: CALLDATALOAD 00001138: PUSH1 0x01 0000113a: PUSH1 0x01 0000113c: PUSH1 0xe0 0000113e: SHL 0000113f: SUB 00001140: NOT 00001141: AND 00001142: CALLER 00001143: PUSH2 0x2717 00001146: JUMP 00001147: JUMPDEST 00001148: PUSH2 0x1163 0000114b: JUMPI 0000114c: PUSH1 0x40 0000114e: MLOAD 0000114f: PUSH3 0x461bcd 00001153: PUSH1 0xe5 00001155: SHL 00001156: DUP2 00001157: MSTORE 00001158: PUSH1 0x04 0000115a: ADD 0000115b: PUSH2 0x08bb 0000115e: SWAP1 0000115f: PUSH2 0x3b08 00001162: JUMP 00001163: JUMPDEST 00001164: PUSH1 0x0c 00001166: SLOAD 00001167: PUSH1 0x04 00001169: SWAP1 0000116a: PUSH1 0x01 0000116c: PUSH1 0xc0 0000116e: SHL 0000116f: SWAP1 00001170: DIV 00001171: PUSH1 0xff 00001173: AND 00001174: DUP2 00001175: DUP2 00001176: GT 00001177: ISZERO 00001178: PUSH2 0x1183 0000117b: JUMPI 0000117c: PUSH2 0x1183 0000117f: PUSH2 0x3a0d 00001182: JUMP 00001183: JUMPDEST 00001184: DUP2 00001185: PUSH1 0x04 00001187: DUP2 00001188: GT 00001189: ISZERO 0000118a: PUSH2 0x1195 0000118d: JUMPI 0000118e: PUSH2 0x1195 00001191: PUSH2 0x3a0d 00001194: JUMP 00001195: JUMPDEST 00001196: EQ 00001197: PUSH2 0x11b2 0000119a: JUMPI 0000119b: PUSH1 0x40 0000119d: MLOAD 0000119e: PUSH3 0x461bcd 000011a2: PUSH1 0xe5 000011a4: SHL 000011a5: DUP2 000011a6: MSTORE 000011a7: PUSH1 0x04 000011a9: ADD 000011aa: PUSH2 0x08bb 000011ad: SWAP1 000011ae: PUSH2 0x3b2f 000011b1: JUMP 000011b2: JUMPDEST 000011b3: PUSH1 0x40 000011b5: MLOAD 000011b6: PUSH4 0x70a08231 000011bb: PUSH1 0xe0 000011bd: SHL 000011be: DUP2 000011bf: MSTORE 000011c0: PUSH1 0x00 000011c2: SWAP1 000011c3: PUSH1 0x01 000011c5: PUSH1 0x01 000011c7: PUSH1 0xa0 000011c9: SHL 000011ca: SUB 000011cb: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000011ec: AND 000011ed: SWAP1 000011ee: PUSH4 0x70a08231 000011f3: SWAP1 000011f4: PUSH2 0x1201 000011f7: SWAP1 000011f8: ADDRESS 000011f9: SWAP1 000011fa: PUSH1 0x04 000011fc: ADD 000011fd: PUSH2 0x3758 00001200: JUMP 00001201: JUMPDEST 00001202: PUSH1 0x20 00001204: PUSH1 0x40 00001206: MLOAD 00001207: DUP1 00001208: DUP4 00001209: SUB 0000120a: DUP2 0000120b: DUP7 0000120c: GAS 0000120d: STATICCALL 0000120e: ISZERO 0000120f: DUP1 00001210: ISZERO 00001211: PUSH2 0x121e 00001214: JUMPI 00001215: RETURNDATASIZE 00001216: PUSH1 0x00 00001218: DUP1 00001219: RETURNDATACOPY 0000121a: RETURNDATASIZE 0000121b: PUSH1 0x00 0000121d: REVERT 0000121e: JUMPDEST 0000121f: POP 00001220: POP 00001221: POP 00001222: POP 00001223: PUSH1 0x40 00001225: MLOAD 00001226: RETURNDATASIZE 00001227: PUSH1 0x1f 00001229: NOT 0000122a: PUSH1 0x1f 0000122c: DUP3 0000122d: ADD 0000122e: AND 0000122f: DUP3 00001230: ADD 00001231: DUP1 00001232: PUSH1 0x40 00001234: MSTORE 00001235: POP 00001236: DUP2 00001237: ADD 00001238: SWAP1 00001239: PUSH2 0x1242 0000123c: SWAP2 0000123d: SWAP1 0000123e: PUSH2 0x3bca 00001241: JUMP 00001242: JUMPDEST 00001243: SWAP3 00001244: POP 00001245: DUP3 00001246: PUSH1 0x0e 00001248: DUP2 00001249: SWAP1 0000124a: SSTORE 0000124b: GT 0000124c: PUSH2 0x128c 0000124f: JUMPI 00001250: PUSH1 0x40 00001252: MLOAD 00001253: PUSH3 0x461bcd 00001257: PUSH1 0xe5 00001259: SHL 0000125a: DUP2 0000125b: MSTORE 0000125c: PUSH1 0x20 0000125e: PUSH1 0x04 00001260: DUP3 00001261: ADD 00001262: MSTORE 00001263: PUSH1 0x12 00001265: PUSH1 0x24 00001267: DUP3 00001268: ADD 00001269: MSTORE 0000126a: PUSH18 0x139bc818985cd9481d1bc81c995cdd185c9d 0000127d: PUSH1 0x72 0000127f: SHL 00001280: PUSH1 0x44 00001282: DUP3 00001283: ADD 00001284: MSTORE 00001285: PUSH1 0x64 00001287: ADD 00001288: PUSH2 0x08bb 0000128b: JUMP 0000128c: JUMPDEST 0000128d: PUSH2 0x1296 00001290: PUSH1 0x01 00001292: PUSH2 0x2cd6 00001295: JUMP 00001296: JUMPDEST 00001297: PUSH1 0x40 00001299: DUP1 0000129a: MLOAD 0000129b: PUSH1 0x00 0000129d: DUP1 0000129e: DUP3 0000129f: MSTORE 000012a0: PUSH1 0x20 000012a2: DUP3 000012a3: ADD 000012a4: DUP2 000012a5: SWAP1 000012a6: MSTORE 000012a7: SWAP2 000012a8: PUSH1 0x00 000012aa: DUP1 000012ab: MLOAD 000012ac: PUSH1 0x20 000012ae: PUSH2 0x3f7b 000012b1: DUP4 000012b2: CODECOPY 000012b3: DUP2 000012b4: MLOAD 000012b5: SWAP2 000012b6: MSTORE 000012b7: SWAP2 000012b8: ADD 000012b9: PUSH1 0x40 000012bb: MLOAD 000012bc: DUP1 000012bd: SWAP2 000012be: SUB 000012bf: SWAP1 000012c0: LOG2 000012c1: POP 000012c2: SWAP1 000012c3: JUMP 000012c4: JUMPDEST 000012c5: PUSH1 0x00 000012c7: PUSH2 0x12d0 000012ca: DUP5 000012cb: DUP4 000012cc: PUSH2 0x2d3b 000012cf: JUMP 000012d0: JUMPDEST 000012d1: POP 000012d2: PUSH2 0x12dc 000012d5: DUP5 000012d6: DUP5 000012d7: DUP5 000012d8: PUSH2 0x2de4 000012db: JUMP 000012dc: JUMPDEST 000012dd: SWAP5 000012de: SWAP4 000012df: POP 000012e0: POP 000012e1: POP 000012e2: POP 000012e3: JUMP 000012e4: JUMPDEST 000012e5: PUSH1 0x00 000012e7: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001 00001308: CHAINID 00001309: EQ 0000130a: PUSH2 0x131b 0000130d: JUMPI 0000130e: PUSH2 0x1316 00001311: CHAINID 00001312: PUSH2 0x2e0d 00001315: JUMP 00001316: JUMPDEST 00001317: SWAP1 00001318: POP 00001319: SWAP1 0000131a: JUMP 0000131b: JUMPDEST 0000131c: POP 0000131d: PUSH32 0x368325f84d7af525e3c442477383ea970bd6b2aecc63fa28b483aa729535fa98 0000133e: SWAP1 0000133f: JUMP 00001340: JUMPDEST 00001341: DUP2 00001342: PUSH2 0x1353 00001345: PUSH2 0x134d 00001348: DUP3 00001349: PUSH2 0x2e9e 0000134c: JUMP 0000134d: JUMPDEST 0000134e: CALLER 0000134f: PUSH2 0x2717 00001352: JUMP 00001353: JUMPDEST 00001354: PUSH2 0x136f 00001357: JUMPI 00001358: PUSH1 0x40 0000135a: MLOAD 0000135b: PUSH3 0x461bcd 0000135f: PUSH1 0xe5 00001361: SHL 00001362: DUP2 00001363: MSTORE 00001364: PUSH1 0x04 00001366: ADD 00001367: PUSH2 0x08bb 0000136a: SWAP1 0000136b: PUSH2 0x3c97 0000136e: JUMP 0000136f: JUMPDEST 00001370: PUSH2 0x1379 00001373: DUP4 00001374: DUP4 00001375: PUSH2 0x2ec0 00001378: JUMP 00001379: JUMPDEST 0000137a: POP 0000137b: POP 0000137c: POP 0000137d: JUMP 0000137e: JUMPDEST 0000137f: PUSH1 0x40 00001381: DUP1 00001382: MLOAD 00001383: DUP1 00001384: DUP3 00001385: ADD 00001386: SWAP1 00001387: SWAP2 00001388: MSTORE 00001389: PUSH1 0x01 0000138b: DUP2 0000138c: MSTORE 0000138d: PUSH1 0x31 0000138f: PUSH1 0xf8 00001391: SHL 00001392: PUSH1 0x20 00001394: DUP3 00001395: ADD 00001396: MSTORE 00001397: SWAP1 00001398: JUMP 00001399: JUMPDEST 0000139a: DUP1 0000139b: PUSH2 0x13a6 0000139e: PUSH2 0x134d 000013a1: DUP3 000013a2: PUSH2 0x2e9e 000013a5: JUMP 000013a6: JUMPDEST 000013a7: PUSH2 0x13c2 000013aa: JUMPI 000013ab: PUSH1 0x40 000013ad: MLOAD 000013ae: PUSH3 0x461bcd 000013b2: PUSH1 0xe5 000013b4: SHL 000013b5: DUP2 000013b6: MSTORE 000013b7: PUSH1 0x04 000013b9: ADD 000013ba: PUSH2 0x08bb 000013bd: SWAP1 000013be: PUSH2 0x3c97 000013c1: JUMP 000013c2: JUMPDEST 000013c3: PUSH2 0x13d4 000013c6: DUP3 000013c7: PUSH1 0x01 000013c9: PUSH1 0x01 000013cb: PUSH1 0xe0 000013cd: SHL 000013ce: SUB 000013cf: NOT 000013d0: PUSH2 0x2f2f 000013d3: JUMP 000013d4: JUMPDEST 000013d5: POP 000013d6: POP 000013d7: JUMP 000013d8: JUMPDEST 000013d9: PUSH1 0x00 000013db: DUP1 000013dc: CALLER 000013dd: ADDRESS 000013de: EQ 000013df: PUSH2 0x1419 000013e2: JUMPI 000013e3: PUSH1 0x40 000013e5: MLOAD 000013e6: PUSH3 0x461bcd 000013ea: PUSH1 0xe5 000013ec: SHL 000013ed: DUP2 000013ee: MSTORE 000013ef: PUSH1 0x20 000013f1: PUSH1 0x04 000013f3: DUP3 000013f4: ADD 000013f5: MSTORE 000013f6: PUSH1 0x0c 000013f8: PUSH1 0x24 000013fa: DUP3 000013fb: ADD 000013fc: MSTORE 000013fd: PUSH12 0x155b985d5d1a1bdc9a5e9959 0000140a: PUSH1 0xa2 0000140c: SHL 0000140d: PUSH1 0x44 0000140f: DUP3 00001410: ADD 00001411: MSTORE 00001412: PUSH1 0x64 00001414: ADD 00001415: PUSH2 0x08bb 00001418: JUMP 00001419: JUMPDEST 0000141a: PUSH2 0x142d 0000141d: PUSH1 0x01 0000141f: PUSH1 0x01 00001421: PUSH1 0xa0 00001423: SHL 00001424: SUB 00001425: DUP6 00001426: AND 00001427: DUP6 00001428: DUP6 00001429: PUSH2 0x274c 0000142c: JUMP 0000142d: JUMPDEST 0000142e: PUSH1 0x40 00001430: MLOAD 00001431: PUSH4 0x70a08231 00001436: PUSH1 0xe0 00001438: SHL 00001439: DUP2 0000143a: MSTORE 0000143b: PUSH1 0x00 0000143d: SWAP1 0000143e: PUSH1 0x01 00001440: PUSH1 0x01 00001442: PUSH1 0xa0 00001444: SHL 00001445: SUB 00001446: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001467: AND 00001468: SWAP1 00001469: PUSH4 0x70a08231 0000146e: SWAP1 0000146f: PUSH2 0x147c 00001472: SWAP1 00001473: ADDRESS 00001474: SWAP1 00001475: PUSH1 0x04 00001477: ADD 00001478: PUSH2 0x3758 0000147b: JUMP 0000147c: JUMPDEST 0000147d: PUSH1 0x20 0000147f: PUSH1 0x40 00001481: MLOAD 00001482: DUP1 00001483: DUP4 00001484: SUB 00001485: DUP2 00001486: DUP7 00001487: GAS 00001488: STATICCALL 00001489: ISZERO 0000148a: DUP1 0000148b: ISZERO 0000148c: PUSH2 0x1499 0000148f: JUMPI 00001490: RETURNDATASIZE 00001491: PUSH1 0x00 00001493: DUP1 00001494: RETURNDATACOPY 00001495: RETURNDATASIZE 00001496: PUSH1 0x00 00001498: REVERT 00001499: JUMPDEST 0000149a: POP 0000149b: POP 0000149c: POP 0000149d: POP 0000149e: PUSH1 0x40 000014a0: MLOAD 000014a1: RETURNDATASIZE 000014a2: PUSH1 0x1f 000014a4: NOT 000014a5: PUSH1 0x1f 000014a7: DUP3 000014a8: ADD 000014a9: AND 000014aa: DUP3 000014ab: ADD 000014ac: DUP1 000014ad: PUSH1 0x40 000014af: MSTORE 000014b0: POP 000014b1: DUP2 000014b2: ADD 000014b3: SWAP1 000014b4: PUSH2 0x14bd 000014b7: SWAP2 000014b8: SWAP1 000014b9: PUSH2 0x3bca 000014bc: JUMP 000014bd: JUMPDEST 000014be: PUSH1 0x0c 000014c0: SLOAD 000014c1: PUSH1 0x40 000014c3: MLOAD 000014c4: PUSH4 0x70a08231 000014c9: PUSH1 0xe0 000014cb: SHL 000014cc: DUP2 000014cd: MSTORE 000014ce: SWAP2 000014cf: SWAP3 000014d0: POP 000014d1: PUSH1 0x00 000014d3: SWAP2 000014d4: PUSH1 0x01 000014d6: PUSH1 0x01 000014d8: PUSH1 0xa0 000014da: SHL 000014db: SUB 000014dc: SWAP1 000014dd: SWAP2 000014de: AND 000014df: SWAP1 000014e0: PUSH4 0x70a08231 000014e5: SWAP1 000014e6: PUSH2 0x14f3 000014e9: SWAP1 000014ea: ADDRESS 000014eb: SWAP1 000014ec: PUSH1 0x04 000014ee: ADD 000014ef: PUSH2 0x3758 000014f2: JUMP 000014f3: JUMPDEST 000014f4: PUSH1 0x20 000014f6: PUSH1 0x40 000014f8: MLOAD 000014f9: DUP1 000014fa: DUP4 000014fb: SUB 000014fc: DUP2 000014fd: DUP7 000014fe: GAS 000014ff: STATICCALL 00001500: ISZERO 00001501: DUP1 00001502: ISZERO 00001503: PUSH2 0x1510 00001506: JUMPI 00001507: RETURNDATASIZE 00001508: PUSH1 0x00 0000150a: DUP1 0000150b: RETURNDATACOPY 0000150c: RETURNDATASIZE 0000150d: PUSH1 0x00 0000150f: REVERT 00001510: JUMPDEST 00001511: POP 00001512: POP 00001513: POP 00001514: POP 00001515: PUSH1 0x40 00001517: MLOAD 00001518: RETURNDATASIZE 00001519: PUSH1 0x1f 0000151b: NOT 0000151c: PUSH1 0x1f 0000151e: DUP3 0000151f: ADD 00001520: AND 00001521: DUP3 00001522: ADD 00001523: DUP1 00001524: PUSH1 0x40 00001526: MSTORE 00001527: POP 00001528: DUP2 00001529: ADD 0000152a: SWAP1 0000152b: PUSH2 0x1534 0000152e: SWAP2 0000152f: SWAP1 00001530: PUSH2 0x3bca 00001533: JUMP 00001534: JUMPDEST 00001535: PUSH1 0x40 00001537: MLOAD 00001538: PUSH4 0x6b810685 0000153d: PUSH1 0xe1 0000153f: SHL 00001540: DUP2 00001541: MSTORE 00001542: SWAP1 00001543: SWAP2 00001544: POP 00001545: PUSH1 0x01 00001547: PUSH1 0x01 00001549: PUSH1 0xa0 0000154b: SHL 0000154c: SUB 0000154d: DUP8 0000154e: AND 0000154f: SWAP1 00001550: PUSH4 0xd7020d0a 00001555: SWAP1 00001556: PUSH2 0x156c 00001559: SWAP1 0000155a: ADDRESS 0000155b: SWAP1 0000155c: DUP2 0000155d: SWAP1 0000155e: PUSH1 0x00 00001560: SWAP1 00001561: PUSH1 0x00 00001563: NOT 00001564: SWAP1 00001565: PUSH1 0x04 00001567: ADD 00001568: PUSH2 0x3be3 0000156b: JUMP 0000156c: JUMPDEST 0000156d: PUSH1 0x60 0000156f: PUSH1 0x40 00001571: MLOAD 00001572: DUP1 00001573: DUP4 00001574: SUB 00001575: DUP2 00001576: PUSH1 0x00 00001578: DUP8 00001579: GAS 0000157a: CALL 0000157b: ISZERO 0000157c: DUP1 0000157d: ISZERO 0000157e: PUSH2 0x158b 00001581: JUMPI 00001582: RETURNDATASIZE 00001583: PUSH1 0x00 00001585: DUP1 00001586: RETURNDATACOPY 00001587: RETURNDATASIZE 00001588: PUSH1 0x00 0000158a: REVERT 0000158b: JUMPDEST 0000158c: POP 0000158d: POP 0000158e: POP 0000158f: POP 00001590: PUSH1 0x40 00001592: MLOAD 00001593: RETURNDATASIZE 00001594: PUSH1 0x1f 00001596: NOT 00001597: PUSH1 0x1f 00001599: DUP3 0000159a: ADD 0000159b: AND 0000159c: DUP3 0000159d: ADD 0000159e: DUP1 0000159f: PUSH1 0x40 000015a1: MSTORE 000015a2: POP 000015a3: DUP2 000015a4: ADD 000015a5: SWAP1 000015a6: PUSH2 0x15af 000015a9: SWAP2 000015aa: SWAP1 000015ab: PUSH2 0x3b7f 000015ae: JUMP 000015af: JUMPDEST 000015b0: PUSH1 0x40 000015b2: MLOAD 000015b3: PUSH4 0x70a08231 000015b8: PUSH1 0xe0 000015ba: SHL 000015bb: DUP2 000015bc: MSTORE 000015bd: SWAP2 000015be: SWAP7 000015bf: POP 000015c0: SWAP5 000015c1: POP 000015c2: DUP6 000015c3: SWAP2 000015c4: POP 000015c5: DUP4 000015c6: SWAP1 000015c7: PUSH1 0x01 000015c9: PUSH1 0x01 000015cb: PUSH1 0xa0 000015cd: SHL 000015ce: SUB 000015cf: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 000015f0: AND 000015f1: SWAP1 000015f2: PUSH4 0x70a08231 000015f7: SWAP1 000015f8: PUSH2 0x1605 000015fb: SWAP1 000015fc: ADDRESS 000015fd: SWAP1 000015fe: PUSH1 0x04 00001600: ADD 00001601: PUSH2 0x3758 00001604: JUMP 00001605: JUMPDEST 00001606: PUSH1 0x20 00001608: PUSH1 0x40 0000160a: MLOAD 0000160b: DUP1 0000160c: DUP4 0000160d: SUB 0000160e: DUP2 0000160f: DUP7 00001610: GAS 00001611: STATICCALL 00001612: ISZERO 00001613: DUP1 00001614: ISZERO 00001615: PUSH2 0x1622 00001618: JUMPI 00001619: RETURNDATASIZE 0000161a: PUSH1 0x00 0000161c: DUP1 0000161d: RETURNDATACOPY 0000161e: RETURNDATASIZE 0000161f: PUSH1 0x00 00001621: REVERT 00001622: JUMPDEST 00001623: POP 00001624: POP 00001625: POP 00001626: POP 00001627: PUSH1 0x40 00001629: MLOAD 0000162a: RETURNDATASIZE 0000162b: PUSH1 0x1f 0000162d: NOT 0000162e: PUSH1 0x1f 00001630: DUP3 00001631: ADD 00001632: AND 00001633: DUP3 00001634: ADD 00001635: DUP1 00001636: PUSH1 0x40 00001638: MSTORE 00001639: POP 0000163a: DUP2 0000163b: ADD 0000163c: SWAP1 0000163d: PUSH2 0x1646 00001640: SWAP2 00001641: SWAP1 00001642: PUSH2 0x3bca 00001645: JUMP 00001646: JUMPDEST 00001647: PUSH2 0x1650 0000164a: SWAP2 0000164b: SWAP1 0000164c: PUSH2 0x3cbb 0000164f: JUMP 00001650: JUMPDEST 00001651: EQ 00001652: PUSH2 0x1692 00001655: JUMPI 00001656: PUSH1 0x40 00001658: MLOAD 00001659: PUSH3 0x461bcd 0000165d: PUSH1 0xe5 0000165f: SHL 00001660: DUP2 00001661: MSTORE 00001662: PUSH1 0x20 00001664: PUSH1 0x04 00001666: DUP3 00001667: ADD 00001668: MSTORE 00001669: PUSH1 0x12 0000166b: PUSH1 0x24 0000166d: DUP3 0000166e: ADD 0000166f: MSTORE 00001670: PUSH18 0x4275726e206661696c6564202d2062617365 00001683: PUSH1 0x70 00001685: SHL 00001686: PUSH1 0x44 00001688: DUP3 00001689: ADD 0000168a: MSTORE 0000168b: PUSH1 0x64 0000168d: ADD 0000168e: PUSH2 0x08bb 00001691: JUMP 00001692: JUMPDEST 00001693: PUSH1 0x0c 00001695: SLOAD 00001696: PUSH1 0x40 00001698: MLOAD 00001699: PUSH4 0x70a08231 0000169e: PUSH1 0xe0 000016a0: SHL 000016a1: DUP2 000016a2: MSTORE 000016a3: DUP5 000016a4: SWAP2 000016a5: DUP4 000016a6: SWAP2 000016a7: PUSH1 0x01 000016a9: PUSH1 0x01 000016ab: PUSH1 0xa0 000016ad: SHL 000016ae: SUB 000016af: SWAP1 000016b0: SWAP2 000016b1: AND 000016b2: SWAP1 000016b3: PUSH4 0x70a08231 000016b8: SWAP1 000016b9: PUSH2 0x16c6 000016bc: SWAP1 000016bd: ADDRESS 000016be: SWAP1 000016bf: PUSH1 0x04 000016c1: ADD 000016c2: PUSH2 0x3758 000016c5: JUMP 000016c6: JUMPDEST 000016c7: PUSH1 0x20 000016c9: PUSH1 0x40 000016cb: MLOAD 000016cc: DUP1 000016cd: DUP4 000016ce: SUB 000016cf: DUP2 000016d0: DUP7 000016d1: GAS 000016d2: STATICCALL 000016d3: ISZERO 000016d4: DUP1 000016d5: ISZERO 000016d6: PUSH2 0x16e3 000016d9: JUMPI 000016da: RETURNDATASIZE 000016db: PUSH1 0x00 000016dd: DUP1 000016de: RETURNDATACOPY 000016df: RETURNDATASIZE 000016e0: PUSH1 0x00 000016e2: REVERT 000016e3: JUMPDEST 000016e4: POP 000016e5: POP 000016e6: POP 000016e7: POP 000016e8: PUSH1 0x40 000016ea: MLOAD 000016eb: RETURNDATASIZE 000016ec: PUSH1 0x1f 000016ee: NOT 000016ef: PUSH1 0x1f 000016f1: DUP3 000016f2: ADD 000016f3: AND 000016f4: DUP3 000016f5: ADD 000016f6: DUP1 000016f7: PUSH1 0x40 000016f9: MSTORE 000016fa: POP 000016fb: DUP2 000016fc: ADD 000016fd: SWAP1 000016fe: PUSH2 0x1707 00001701: SWAP2 00001702: SWAP1 00001703: PUSH2 0x3bca 00001706: JUMP 00001707: JUMPDEST 00001708: PUSH2 0x1711 0000170b: SWAP2 0000170c: SWAP1 0000170d: PUSH2 0x3cbb 00001710: JUMP 00001711: JUMPDEST 00001712: EQ 00001713: PUSH2 0x1756 00001716: JUMPI 00001717: PUSH1 0x40 00001719: MLOAD 0000171a: PUSH3 0x461bcd 0000171e: PUSH1 0xe5 00001720: SHL 00001721: DUP2 00001722: MSTORE 00001723: PUSH1 0x20 00001725: PUSH1 0x04 00001727: DUP3 00001728: ADD 00001729: MSTORE 0000172a: PUSH1 0x15 0000172c: PUSH1 0x24 0000172e: DUP3 0000172f: ADD 00001730: MSTORE 00001731: PUSH21 0x213ab937103330b4b632b2101690333caa37b5b2b7 00001747: PUSH1 0x59 00001749: SHL 0000174a: PUSH1 0x44 0000174c: DUP3 0000174d: ADD 0000174e: MSTORE 0000174f: PUSH1 0x64 00001751: ADD 00001752: PUSH2 0x08bb 00001755: JUMP 00001756: JUMPDEST 00001757: POP 00001758: POP 00001759: SWAP3 0000175a: POP 0000175b: SWAP3 0000175c: SWAP1 0000175d: POP 0000175e: JUMP 0000175f: JUMPDEST 00001760: PUSH1 0x00 00001762: PUSH2 0x1129 00001765: DUP3 00001766: PUSH2 0x2e9e 00001769: JUMP 0000176a: JUMPDEST 0000176b: PUSH1 0x00 0000176d: DUP1 0000176e: PUSH1 0x03 00001770: PUSH1 0x0c 00001772: PUSH1 0x18 00001774: SWAP1 00001775: SLOAD 00001776: SWAP1 00001777: PUSH2 0x0100 0000177a: EXP 0000177b: SWAP1 0000177c: DIV 0000177d: PUSH1 0xff 0000177f: AND 00001780: PUSH1 0x04 00001782: DUP2 00001783: GT 00001784: ISZERO 00001785: PUSH2 0x1790 00001788: JUMPI 00001789: PUSH2 0x1790 0000178c: PUSH2 0x3a0d 0000178f: JUMP 00001790: JUMPDEST 00001791: DUP2 00001792: PUSH1 0x04 00001794: DUP2 00001795: GT 00001796: ISZERO 00001797: PUSH2 0x17a2 0000179a: JUMPI 0000179b: PUSH2 0x17a2 0000179e: PUSH2 0x3a0d 000017a1: JUMP 000017a2: JUMPDEST 000017a3: EQ 000017a4: PUSH2 0x17bf 000017a7: JUMPI 000017a8: PUSH1 0x40 000017aa: MLOAD 000017ab: PUSH3 0x461bcd 000017af: PUSH1 0xe5 000017b1: SHL 000017b2: DUP2 000017b3: MSTORE 000017b4: PUSH1 0x04 000017b6: ADD 000017b7: PUSH2 0x08bb 000017ba: SWAP1 000017bb: PUSH2 0x3b2f 000017be: JUMP 000017bf: JUMPDEST 000017c0: PUSH1 0x0c 000017c2: SLOAD 000017c3: PUSH1 0x0e 000017c5: SLOAD 000017c6: PUSH1 0x10 000017c8: SLOAD 000017c9: PUSH1 0x40 000017cb: MLOAD 000017cc: PUSH4 0x70a08231 000017d1: PUSH1 0xe0 000017d3: SHL 000017d4: DUP2 000017d5: MSTORE 000017d6: PUSH1 0x01 000017d8: PUSH1 0x01 000017da: PUSH1 0xa0 000017dc: SHL 000017dd: SUB 000017de: SWAP4 000017df: DUP5 000017e0: AND 000017e1: SWAP4 000017e2: PUSH1 0x00 000017e4: SWAP2 000017e5: DUP5 000017e6: SWAP2 000017e7: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001808: AND 00001809: SWAP1 0000180a: PUSH4 0x70a08231 0000180f: SWAP1 00001810: PUSH2 0x181d 00001813: SWAP1 00001814: ADDRESS 00001815: SWAP1 00001816: PUSH1 0x04 00001818: ADD 00001819: PUSH2 0x3758 0000181c: JUMP 0000181d: JUMPDEST 0000181e: PUSH1 0x20 00001820: PUSH1 0x40 00001822: MLOAD 00001823: DUP1 00001824: DUP4 00001825: SUB 00001826: DUP2 00001827: DUP7 00001828: GAS 00001829: STATICCALL 0000182a: ISZERO 0000182b: DUP1 0000182c: ISZERO 0000182d: PUSH2 0x183a 00001830: JUMPI 00001831: RETURNDATASIZE 00001832: PUSH1 0x00 00001834: DUP1 00001835: RETURNDATACOPY 00001836: RETURNDATASIZE 00001837: PUSH1 0x00 00001839: REVERT 0000183a: JUMPDEST 0000183b: POP 0000183c: POP 0000183d: POP 0000183e: POP 0000183f: PUSH1 0x40 00001841: MLOAD 00001842: RETURNDATASIZE 00001843: PUSH1 0x1f 00001845: NOT 00001846: PUSH1 0x1f 00001848: DUP3 00001849: ADD 0000184a: AND 0000184b: DUP3 0000184c: ADD 0000184d: DUP1 0000184e: PUSH1 0x40 00001850: MSTORE 00001851: POP 00001852: DUP2 00001853: ADD 00001854: SWAP1 00001855: PUSH2 0x185e 00001858: SWAP2 00001859: SWAP1 0000185a: PUSH2 0x3bca 0000185d: JUMP 0000185e: JUMPDEST 0000185f: PUSH2 0x1868 00001862: SWAP2 00001863: SWAP1 00001864: PUSH2 0x3cbb 00001867: JUMP 00001868: JUMPDEST 00001869: SWAP1 0000186a: POP 0000186b: DUP2 0000186c: DUP2 0000186d: GT 0000186e: PUSH2 0x1879 00001871: JUMPI 00001872: DUP1 00001873: PUSH1 0x00 00001875: PUSH2 0x1884 00001878: JUMP 00001879: JUMPDEST 0000187a: DUP2 0000187b: PUSH2 0x1884 0000187e: DUP2 0000187f: DUP4 00001880: PUSH2 0x3cbb 00001883: JUMP 00001884: JUMPDEST 00001885: SWAP1 00001886: SWAP8 00001887: POP 00001888: SWAP6 00001889: POP 0000188a: PUSH2 0x1893 0000188d: DUP8 0000188e: DUP5 0000188f: PUSH2 0x3c3b 00001892: JUMP 00001893: JUMPDEST 00001894: PUSH1 0x0e 00001896: SSTORE 00001897: PUSH2 0x18a0 0000189a: DUP8 0000189b: DUP4 0000189c: PUSH2 0x3cbb 0000189f: JUMP 000018a0: JUMPDEST 000018a1: PUSH1 0x10 000018a3: DUP2 000018a4: SWAP1 000018a5: SSTORE 000018a6: SWAP2 000018a7: POP 000018a8: PUSH1 0x00 000018aa: DUP3 000018ab: SWAP1 000018ac: SUB 000018ad: PUSH2 0x18e5 000018b0: JUMPI 000018b1: PUSH2 0x18ba 000018b4: PUSH1 0x01 000018b6: PUSH2 0x2cd6 000018b9: JUMP 000018ba: JUMPDEST 000018bb: PUSH1 0x40 000018bd: DUP1 000018be: MLOAD 000018bf: PUSH1 0x00 000018c1: DUP1 000018c2: DUP3 000018c3: MSTORE 000018c4: PUSH1 0x20 000018c6: DUP3 000018c7: ADD 000018c8: DUP2 000018c9: SWAP1 000018ca: MSTORE 000018cb: SWAP2 000018cc: PUSH1 0x00 000018ce: DUP1 000018cf: MLOAD 000018d0: PUSH1 0x20 000018d2: PUSH2 0x3f7b 000018d5: DUP4 000018d6: CODECOPY 000018d7: DUP2 000018d8: MLOAD 000018d9: SWAP2 000018da: MSTORE 000018db: SWAP2 000018dc: ADD 000018dd: PUSH1 0x40 000018df: MLOAD 000018e0: DUP1 000018e1: SWAP2 000018e2: SUB 000018e3: SWAP1 000018e4: LOG2 000018e5: JUMPDEST 000018e6: PUSH2 0x18f9 000018e9: PUSH1 0x01 000018eb: PUSH1 0x01 000018ed: PUSH1 0xa0 000018ef: SHL 000018f0: SUB 000018f1: DUP6 000018f2: AND 000018f3: DUP11 000018f4: DUP10 000018f5: PUSH2 0x274c 000018f8: JUMP 000018f9: JUMPDEST 000018fa: DUP1 000018fb: DUP8 000018fc: LT 000018fd: ISZERO 000018fe: PUSH2 0x1940 00001901: JUMPI 00001902: PUSH2 0x1940 00001905: DUP9 00001906: PUSH2 0x190f 00001909: DUP10 0000190a: DUP5 0000190b: PUSH2 0x3cbb 0000190e: JUMP 0000190f: JUMPDEST 00001910: PUSH1 0x01 00001912: PUSH1 0x01 00001914: PUSH1 0xa0 00001916: SHL 00001917: SUB 00001918: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001939: AND 0000193a: SWAP2 0000193b: SWAP1 0000193c: PUSH2 0x274c 0000193f: JUMP 00001940: JUMPDEST 00001941: PUSH1 0x40 00001943: DUP1 00001944: MLOAD 00001945: DUP9 00001946: DUP2 00001947: MSTORE 00001948: PUSH1 0x20 0000194a: DUP2 0000194b: ADD 0000194c: DUP9 0000194d: SWAP1 0000194e: MSTORE 0000194f: PUSH32 0xc507be2ec3f5cf464d2bb8665d035a25c6156a546684fb273e1fa95906cd7fd1 00001970: SWAP2 00001971: ADD 00001972: PUSH1 0x40 00001974: MLOAD 00001975: DUP1 00001976: SWAP2 00001977: SUB 00001978: SWAP1 00001979: LOG1 0000197a: POP 0000197b: POP 0000197c: POP 0000197d: POP 0000197e: POP 0000197f: SWAP3 00001980: POP 00001981: SWAP3 00001982: SWAP1 00001983: POP 00001984: JUMP 00001985: JUMPDEST 00001986: PUSH1 0x01 00001988: PUSH1 0x01 0000198a: PUSH1 0xa0 0000198c: SHL 0000198d: SUB 0000198e: DUP2 0000198f: AND 00001990: CALLER 00001991: EQ 00001992: PUSH2 0x19d6 00001995: JUMPI 00001996: PUSH1 0x40 00001998: MLOAD 00001999: PUSH3 0x461bcd 0000199d: PUSH1 0xe5 0000199f: SHL 000019a0: DUP2 000019a1: MSTORE 000019a2: PUSH1 0x20 000019a4: PUSH1 0x04 000019a6: DUP3 000019a7: ADD 000019a8: MSTORE 000019a9: PUSH1 0x16 000019ab: PUSH1 0x24 000019ad: DUP3 000019ae: ADD 000019af: MSTORE 000019b0: PUSH22 0x2932b737bab731b29037b7363c903337b91039b2b633 000019c7: PUSH1 0x51 000019c9: SHL 000019ca: PUSH1 0x44 000019cc: DUP3 000019cd: ADD 000019ce: MSTORE 000019cf: PUSH1 0x64 000019d1: ADD 000019d2: PUSH2 0x08bb 000019d5: JUMP 000019d6: JUMPDEST 000019d7: PUSH2 0x13d4 000019da: DUP3 000019db: DUP3 000019dc: PUSH2 0x2ec0 000019df: JUMP 000019e0: JUMPDEST 000019e1: PUSH1 0x0c 000019e3: SLOAD 000019e4: PUSH1 0x00 000019e6: SWAP1 000019e7: PUSH1 0x02 000019e9: SWAP1 000019ea: PUSH1 0x01 000019ec: PUSH1 0xc0 000019ee: SHL 000019ef: SWAP1 000019f0: DIV 000019f1: PUSH1 0xff 000019f3: AND 000019f4: PUSH1 0x04 000019f6: DUP2 000019f7: GT 000019f8: ISZERO 000019f9: PUSH2 0x1a04 000019fc: JUMPI 000019fd: PUSH2 0x1a04 00001a00: PUSH2 0x3a0d 00001a03: JUMP 00001a04: JUMPDEST 00001a05: DUP2 00001a06: PUSH1 0x04 00001a08: DUP2 00001a09: GT 00001a0a: ISZERO 00001a0b: PUSH2 0x1a16 00001a0e: JUMPI 00001a0f: PUSH2 0x1a16 00001a12: PUSH2 0x3a0d 00001a15: JUMP 00001a16: JUMPDEST 00001a17: EQ 00001a18: PUSH2 0x1a33 00001a1b: JUMPI 00001a1c: PUSH1 0x40 00001a1e: MLOAD 00001a1f: PUSH3 0x461bcd 00001a23: PUSH1 0xe5 00001a25: SHL 00001a26: DUP2 00001a27: MSTORE 00001a28: PUSH1 0x04 00001a2a: ADD 00001a2b: PUSH2 0x08bb 00001a2e: SWAP1 00001a2f: PUSH2 0x3b2f 00001a32: JUMP 00001a33: JUMPDEST 00001a34: PUSH1 0x0d 00001a36: SLOAD 00001a37: PUSH1 0x0f 00001a39: SLOAD 00001a3a: PUSH1 0x40 00001a3c: MLOAD 00001a3d: PUSH4 0x70a08231 00001a42: PUSH1 0xe0 00001a44: SHL 00001a45: DUP2 00001a46: MSTORE 00001a47: PUSH1 0x01 00001a49: PUSH1 0x01 00001a4b: PUSH1 0xa0 00001a4d: SHL 00001a4e: SUB 00001a4f: SWAP1 00001a50: SWAP3 00001a51: AND 00001a52: SWAP2 00001a53: PUSH1 0x00 00001a55: SWAP1 00001a56: DUP3 00001a57: SWAP1 00001a58: DUP5 00001a59: SWAP1 00001a5a: PUSH4 0x70a08231 00001a5f: SWAP1 00001a60: PUSH2 0x1a6d 00001a63: SWAP1 00001a64: ADDRESS 00001a65: SWAP1 00001a66: PUSH1 0x04 00001a68: ADD 00001a69: PUSH2 0x3758 00001a6c: JUMP 00001a6d: JUMPDEST 00001a6e: PUSH1 0x20 00001a70: PUSH1 0x40 00001a72: MLOAD 00001a73: DUP1 00001a74: DUP4 00001a75: SUB 00001a76: DUP2 00001a77: DUP7 00001a78: GAS 00001a79: STATICCALL 00001a7a: ISZERO 00001a7b: DUP1 00001a7c: ISZERO 00001a7d: PUSH2 0x1a8a 00001a80: JUMPI 00001a81: RETURNDATASIZE 00001a82: PUSH1 0x00 00001a84: DUP1 00001a85: RETURNDATACOPY 00001a86: RETURNDATASIZE 00001a87: PUSH1 0x00 00001a89: REVERT 00001a8a: JUMPDEST 00001a8b: POP 00001a8c: POP 00001a8d: POP 00001a8e: POP 00001a8f: PUSH1 0x40 00001a91: MLOAD 00001a92: RETURNDATASIZE 00001a93: PUSH1 0x1f 00001a95: NOT 00001a96: PUSH1 0x1f 00001a98: DUP3 00001a99: ADD 00001a9a: AND 00001a9b: DUP3 00001a9c: ADD 00001a9d: DUP1 00001a9e: PUSH1 0x40 00001aa0: MSTORE 00001aa1: POP 00001aa2: DUP2 00001aa3: ADD 00001aa4: SWAP1 00001aa5: PUSH2 0x1aae 00001aa8: SWAP2 00001aa9: SWAP1 00001aaa: PUSH2 0x3bca 00001aad: JUMP 00001aae: JUMPDEST 00001aaf: PUSH2 0x1ab8 00001ab2: SWAP2 00001ab3: SWAP1 00001ab4: PUSH2 0x3cbb 00001ab7: JUMP 00001ab8: JUMPDEST 00001ab9: SWAP1 00001aba: POP 00001abb: PUSH2 0x1ac4 00001abe: DUP2 00001abf: DUP4 00001ac0: PUSH2 0x3c3b 00001ac3: JUMP 00001ac4: JUMPDEST 00001ac5: PUSH1 0x0f 00001ac7: SSTORE 00001ac8: PUSH1 0x01 00001aca: SLOAD 00001acb: DUP3 00001acc: SWAP1 00001acd: PUSH2 0x1ad7 00001ad0: SWAP1 00001ad1: DUP4 00001ad2: SWAP1 00001ad3: PUSH2 0x3cd2 00001ad6: JUMP 00001ad7: JUMPDEST 00001ad8: PUSH2 0x1ae1 00001adb: SWAP2 00001adc: SWAP1 00001add: PUSH2 0x3cf1 00001ae0: JUMP 00001ae1: JUMPDEST 00001ae2: SWAP5 00001ae3: POP 00001ae4: PUSH2 0x1aed 00001ae7: DUP7 00001ae8: DUP7 00001ae9: PUSH2 0x2fae 00001aec: JUMP 00001aed: JUMPDEST 00001aee: POP 00001aef: POP 00001af0: POP 00001af1: POP 00001af2: POP 00001af3: SWAP2 00001af4: SWAP1 00001af5: POP 00001af6: JUMP 00001af7: JUMPDEST 00001af8: PUSH1 0x00 00001afa: DUP1 00001afb: PUSH2 0x1b10 00001afe: PUSH1 0x00 00001b00: CALLDATALOAD 00001b01: PUSH1 0x01 00001b03: PUSH1 0x01 00001b05: PUSH1 0xe0 00001b07: SHL 00001b08: SUB 00001b09: NOT 00001b0a: AND 00001b0b: CALLER 00001b0c: PUSH2 0x2717 00001b0f: JUMP 00001b10: JUMPDEST 00001b11: PUSH2 0x1b2c 00001b14: JUMPI 00001b15: PUSH1 0x40 00001b17: MLOAD 00001b18: PUSH3 0x461bcd 00001b1c: PUSH1 0xe5 00001b1e: SHL 00001b1f: DUP2 00001b20: MSTORE 00001b21: PUSH1 0x04 00001b23: ADD 00001b24: PUSH2 0x08bb 00001b27: SWAP1 00001b28: PUSH2 0x3b08 00001b2b: JUMP 00001b2c: JUMPDEST 00001b2d: PUSH1 0x0c 00001b2f: SLOAD 00001b30: PUSH1 0x02 00001b32: SWAP1 00001b33: PUSH1 0x01 00001b35: PUSH1 0xc0 00001b37: SHL 00001b38: SWAP1 00001b39: DIV 00001b3a: PUSH1 0xff 00001b3c: AND 00001b3d: PUSH1 0x04 00001b3f: DUP2 00001b40: GT 00001b41: ISZERO 00001b42: PUSH2 0x1b4d 00001b45: JUMPI 00001b46: PUSH2 0x1b4d 00001b49: PUSH2 0x3a0d 00001b4c: JUMP 00001b4d: JUMPDEST 00001b4e: DUP2 00001b4f: PUSH1 0x04 00001b51: DUP2 00001b52: GT 00001b53: ISZERO 00001b54: PUSH2 0x1b5f 00001b57: JUMPI 00001b58: PUSH2 0x1b5f 00001b5b: PUSH2 0x3a0d 00001b5e: JUMP 00001b5f: JUMPDEST 00001b60: EQ 00001b61: PUSH2 0x1b7c 00001b64: JUMPI 00001b65: PUSH1 0x40 00001b67: MLOAD 00001b68: PUSH3 0x461bcd 00001b6c: PUSH1 0xe5 00001b6e: SHL 00001b6f: DUP2 00001b70: MSTORE 00001b71: PUSH1 0x04 00001b73: ADD 00001b74: PUSH2 0x08bb 00001b77: SWAP1 00001b78: PUSH2 0x3b2f 00001b7b: JUMP 00001b7c: JUMPDEST 00001b7d: PUSH1 0x0d 00001b7f: SLOAD 00001b80: PUSH1 0x40 00001b82: MLOAD 00001b83: PUSH4 0x70a08231 00001b88: PUSH1 0xe0 00001b8a: SHL 00001b8b: DUP2 00001b8c: MSTORE 00001b8d: PUSH1 0x01 00001b8f: PUSH1 0x01 00001b91: PUSH1 0xa0 00001b93: SHL 00001b94: SUB 00001b95: SWAP1 00001b96: SWAP2 00001b97: AND 00001b98: SWAP1 00001b99: PUSH1 0x00 00001b9b: SWAP1 00001b9c: DUP3 00001b9d: SWAP1 00001b9e: PUSH4 0x70a08231 00001ba3: SWAP1 00001ba4: PUSH2 0x1bb1 00001ba7: SWAP1 00001ba8: ADDRESS 00001ba9: SWAP1 00001baa: PUSH1 0x04 00001bac: ADD 00001bad: PUSH2 0x3758 00001bb0: JUMP 00001bb1: JUMPDEST 00001bb2: PUSH1 0x20 00001bb4: PUSH1 0x40 00001bb6: MLOAD 00001bb7: DUP1 00001bb8: DUP4 00001bb9: SUB 00001bba: DUP2 00001bbb: DUP7 00001bbc: GAS 00001bbd: STATICCALL 00001bbe: ISZERO 00001bbf: DUP1 00001bc0: ISZERO 00001bc1: PUSH2 0x1bce 00001bc4: JUMPI 00001bc5: RETURNDATASIZE 00001bc6: PUSH1 0x00 00001bc8: DUP1 00001bc9: RETURNDATACOPY 00001bca: RETURNDATASIZE 00001bcb: PUSH1 0x00 00001bcd: REVERT 00001bce: JUMPDEST 00001bcf: POP 00001bd0: POP 00001bd1: POP 00001bd2: POP 00001bd3: PUSH1 0x40 00001bd5: MLOAD 00001bd6: RETURNDATASIZE 00001bd7: PUSH1 0x1f 00001bd9: NOT 00001bda: PUSH1 0x1f 00001bdc: DUP3 00001bdd: ADD 00001bde: AND 00001bdf: DUP3 00001be0: ADD 00001be1: DUP1 00001be2: PUSH1 0x40 00001be4: MSTORE 00001be5: POP 00001be6: DUP2 00001be7: ADD 00001be8: SWAP1 00001be9: PUSH2 0x1bf2 00001bec: SWAP2 00001bed: SWAP1 00001bee: PUSH2 0x3bca 00001bf1: JUMP 00001bf2: JUMPDEST 00001bf3: PUSH1 0x00 00001bf5: PUSH1 0x0f 00001bf7: SSTORE 00001bf8: PUSH1 0x40 00001bfa: MLOAD 00001bfb: PUSH4 0x58969ab9 00001c00: PUSH1 0xe0 00001c02: SHL 00001c03: DUP2 00001c04: MSTORE 00001c05: SWAP1 00001c06: SWAP2 00001c07: POP 00001c08: ADDRESS 00001c09: SWAP1 00001c0a: PUSH4 0x58969ab9 00001c0f: SWAP1 00001c10: PUSH2 0x1c1f 00001c13: SWAP1 00001c14: DUP6 00001c15: SWAP1 00001c16: DUP6 00001c17: SWAP1 00001c18: PUSH1 0x04 00001c1a: ADD 00001c1b: PUSH2 0x3c0c 00001c1e: JUMP 00001c1f: JUMPDEST 00001c20: PUSH1 0x40 00001c22: DUP1 00001c23: MLOAD 00001c24: DUP1 00001c25: DUP4 00001c26: SUB 00001c27: DUP2 00001c28: PUSH1 0x00 00001c2a: DUP8 00001c2b: GAS 00001c2c: CALL 00001c2d: SWAP3 00001c2e: POP 00001c2f: POP 00001c30: POP 00001c31: DUP1 00001c32: ISZERO 00001c33: PUSH2 0x1c59 00001c36: JUMPI 00001c37: POP 00001c38: PUSH1 0x40 00001c3a: DUP1 00001c3b: MLOAD 00001c3c: PUSH1 0x1f 00001c3e: RETURNDATASIZE 00001c3f: SWAP1 00001c40: DUP2 00001c41: ADD 00001c42: PUSH1 0x1f 00001c44: NOT 00001c45: AND 00001c46: DUP3 00001c47: ADD 00001c48: SWAP1 00001c49: SWAP3 00001c4a: MSTORE 00001c4b: PUSH2 0x1c56 00001c4e: SWAP2 00001c4f: DUP2 00001c50: ADD 00001c51: SWAP1 00001c52: PUSH2 0x3d13 00001c55: JUMP 00001c56: JUMPDEST 00001c57: PUSH1 0x01 00001c59: JUMPDEST 00001c5a: PUSH2 0x1cc4 00001c5d: JUMPI 00001c5e: PUSH2 0x1c71 00001c61: PUSH1 0x01 00001c63: PUSH1 0x01 00001c65: PUSH1 0xa0 00001c67: SHL 00001c68: SUB 00001c69: DUP4 00001c6a: AND 00001c6b: CALLER 00001c6c: DUP4 00001c6d: PUSH2 0x274c 00001c70: JUMP 00001c71: JUMPDEST 00001c72: PUSH2 0x1c7c 00001c75: PUSH1 0x04 00001c77: DUP4 00001c78: PUSH2 0x284b 00001c7b: JUMP 00001c7c: JUMPDEST 00001c7d: DUP2 00001c7e: PUSH1 0x01 00001c80: PUSH1 0x01 00001c82: PUSH1 0xa0 00001c84: SHL 00001c85: SUB 00001c86: AND 00001c87: PUSH32 0xb2559daa129ad136aac2133ac6a0c75920abbef7d6663a017a94e181b13786c3 00001ca8: DUP3 00001ca9: PUSH1 0x40 00001cab: MLOAD 00001cac: PUSH2 0x1cb7 00001caf: SWAP2 00001cb0: DUP2 00001cb1: MSTORE 00001cb2: PUSH1 0x20 00001cb4: ADD 00001cb5: SWAP1 00001cb6: JUMP 00001cb7: JUMPDEST 00001cb8: PUSH1 0x40 00001cba: MLOAD 00001cbb: DUP1 00001cbc: SWAP2 00001cbd: SUB 00001cbe: SWAP1 00001cbf: LOG2 00001cc0: PUSH2 0x1d78 00001cc3: JUMP 00001cc4: JUMPDEST 00001cc5: PUSH1 0x0e 00001cc7: DUP3 00001cc8: SWAP1 00001cc9: SSTORE 00001cca: PUSH1 0x10 00001ccc: DUP2 00001ccd: SWAP1 00001cce: SSTORE 00001ccf: SWAP1 00001cd0: SWAP6 00001cd1: POP 00001cd2: SWAP4 00001cd3: POP 00001cd4: DUP5 00001cd5: DUP5 00001cd6: DUP1 00001cd7: ISZERO 00001cd8: PUSH2 0x1d37 00001cdb: JUMPI 00001cdc: PUSH2 0x1ce6 00001cdf: PUSH1 0x03 00001ce1: DUP6 00001ce2: PUSH2 0x284b 00001ce5: JUMP 00001ce6: JUMPDEST 00001ce7: PUSH1 0x40 00001ce9: DUP1 00001cea: MLOAD 00001ceb: DUP5 00001cec: DUP2 00001ced: MSTORE 00001cee: PUSH1 0x20 00001cf0: DUP2 00001cf1: ADD 00001cf2: DUP10 00001cf3: SWAP1 00001cf4: MSTORE 00001cf5: SWAP1 00001cf6: DUP2 00001cf7: ADD 00001cf8: DUP8 00001cf9: SWAP1 00001cfa: MSTORE 00001cfb: PUSH1 0x01 00001cfd: PUSH1 0x01 00001cff: PUSH1 0xa0 00001d01: SHL 00001d02: SUB 00001d03: DUP6 00001d04: AND 00001d05: SWAP1 00001d06: PUSH32 0xa4934663617b597bfe6baf57cd7218dfe65e68ad58d417b92ed0bce047cf562a 00001d27: SWAP1 00001d28: PUSH1 0x60 00001d2a: ADD 00001d2b: PUSH1 0x40 00001d2d: MLOAD 00001d2e: DUP1 00001d2f: SWAP2 00001d30: SUB 00001d31: SWAP1 00001d32: LOG2 00001d33: PUSH2 0x1d75 00001d36: JUMP 00001d37: JUMPDEST 00001d38: PUSH2 0x1d42 00001d3b: PUSH1 0x01 00001d3d: DUP6 00001d3e: PUSH2 0x284b 00001d41: JUMP 00001d42: JUMPDEST 00001d43: PUSH1 0x40 00001d45: DUP1 00001d46: MLOAD 00001d47: DUP5 00001d48: DUP2 00001d49: MSTORE 00001d4a: PUSH1 0x20 00001d4c: DUP2 00001d4d: ADD 00001d4e: DUP10 00001d4f: SWAP1 00001d50: MSTORE 00001d51: PUSH1 0x01 00001d53: PUSH1 0x01 00001d55: PUSH1 0xa0 00001d57: SHL 00001d58: SUB 00001d59: DUP7 00001d5a: AND 00001d5b: SWAP2 00001d5c: PUSH1 0x00 00001d5e: DUP1 00001d5f: MLOAD 00001d60: PUSH1 0x20 00001d62: PUSH2 0x3f7b 00001d65: DUP4 00001d66: CODECOPY 00001d67: DUP2 00001d68: MLOAD 00001d69: SWAP2 00001d6a: MSTORE 00001d6b: SWAP2 00001d6c: ADD 00001d6d: PUSH1 0x40 00001d6f: MLOAD 00001d70: DUP1 00001d71: SWAP2 00001d72: SUB 00001d73: SWAP1 00001d74: LOG2 00001d75: JUMPDEST 00001d76: POP 00001d77: POP 00001d78: JUMPDEST 00001d79: POP 00001d7a: POP 00001d7b: POP 00001d7c: SWAP1 00001d7d: SWAP2 00001d7e: JUMP 00001d7f: JUMPDEST 00001d80: PUSH1 0x0c 00001d82: SLOAD 00001d83: PUSH1 0x00 00001d85: SWAP1 00001d86: PUSH1 0x02 00001d88: SWAP1 00001d89: PUSH1 0x01 00001d8b: PUSH1 0xc0 00001d8d: SHL 00001d8e: SWAP1 00001d8f: DIV 00001d90: PUSH1 0xff 00001d92: AND 00001d93: PUSH1 0x04 00001d95: DUP2 00001d96: GT 00001d97: ISZERO 00001d98: PUSH2 0x1da3 00001d9b: JUMPI 00001d9c: PUSH2 0x1da3 00001d9f: PUSH2 0x3a0d 00001da2: JUMP 00001da3: JUMPDEST 00001da4: DUP2 00001da5: PUSH1 0x04 00001da7: DUP2 00001da8: GT 00001da9: ISZERO 00001daa: PUSH2 0x1db5 00001dad: JUMPI 00001dae: PUSH2 0x1db5 00001db1: PUSH2 0x3a0d 00001db4: JUMP 00001db5: JUMPDEST 00001db6: EQ 00001db7: PUSH2 0x1dd2 00001dba: JUMPI 00001dbb: PUSH1 0x40 00001dbd: MLOAD 00001dbe: PUSH3 0x461bcd 00001dc2: PUSH1 0xe5 00001dc4: SHL 00001dc5: DUP2 00001dc6: MSTORE 00001dc7: PUSH1 0x04 00001dc9: ADD 00001dca: PUSH2 0x08bb 00001dcd: SWAP1 00001dce: PUSH2 0x3b2f 00001dd1: JUMP 00001dd2: JUMPDEST 00001dd3: PUSH1 0x0d 00001dd5: SLOAD 00001dd6: PUSH1 0x0f 00001dd8: SLOAD 00001dd9: PUSH1 0x01 00001ddb: SLOAD 00001ddc: ADDRESS 00001ddd: PUSH1 0x00 00001ddf: DUP2 00001de0: DUP2 00001de1: MSTORE 00001de2: PUSH1 0x02 00001de4: PUSH1 0x20 00001de6: MSTORE 00001de7: PUSH1 0x40 00001de9: SWAP1 00001dea: KECCAK256 00001deb: SLOAD 00001dec: PUSH1 0x01 00001dee: PUSH1 0x01 00001df0: PUSH1 0xa0 00001df2: SHL 00001df3: SUB 00001df4: SWAP1 00001df5: SWAP5 00001df6: AND 00001df7: SWAP4 00001df8: SWAP1 00001df9: PUSH2 0x1e02 00001dfc: SWAP1 00001dfd: DUP3 00001dfe: PUSH2 0x2fcc 00001e01: JUMP 00001e02: JUMPDEST 00001e03: POP 00001e04: DUP2 00001e05: PUSH2 0x1e0e 00001e08: DUP3 00001e09: DUP6 00001e0a: PUSH2 0x3cd2 00001e0d: JUMP 00001e0e: JUMPDEST 00001e0f: PUSH2 0x1e18 00001e12: SWAP2 00001e13: SWAP1 00001e14: PUSH2 0x3cf1 00001e17: JUMP 00001e18: JUMPDEST 00001e19: SWAP6 00001e1a: POP 00001e1b: PUSH2 0x1e2e 00001e1e: PUSH1 0x01 00001e20: PUSH1 0x01 00001e22: PUSH1 0xa0 00001e24: SHL 00001e25: SUB 00001e26: DUP6 00001e27: AND 00001e28: DUP9 00001e29: DUP9 00001e2a: PUSH2 0x274c 00001e2d: JUMP 00001e2e: JUMPDEST 00001e2f: PUSH2 0x1e38 00001e32: DUP7 00001e33: DUP5 00001e34: PUSH2 0x3cbb 00001e37: JUMP 00001e38: JUMPDEST 00001e39: PUSH1 0x0f 00001e3b: SSTORE 00001e3c: POP 00001e3d: SWAP4 00001e3e: SWAP6 00001e3f: SWAP5 00001e40: POP 00001e41: POP 00001e42: POP 00001e43: POP 00001e44: POP 00001e45: JUMP 00001e46: JUMPDEST 00001e47: PUSH1 0x05 00001e49: DUP1 00001e4a: SLOAD 00001e4b: PUSH2 0x0f52 00001e4e: SWAP1 00001e4f: PUSH2 0x3c53 00001e52: JUMP 00001e53: JUMPDEST 00001e54: PUSH1 0x0c 00001e56: SLOAD 00001e57: PUSH1 0x00 00001e59: SWAP1 00001e5a: PUSH1 0x01 00001e5c: SWAP1 00001e5d: PUSH1 0x01 00001e5f: PUSH1 0xc0 00001e61: SHL 00001e62: SWAP1 00001e63: DIV 00001e64: PUSH1 0xff 00001e66: AND 00001e67: PUSH1 0x04 00001e69: DUP2 00001e6a: GT 00001e6b: ISZERO 00001e6c: PUSH2 0x1e77 00001e6f: JUMPI 00001e70: PUSH2 0x1e77 00001e73: PUSH2 0x3a0d 00001e76: JUMP 00001e77: JUMPDEST 00001e78: DUP2 00001e79: PUSH1 0x04 00001e7b: DUP2 00001e7c: GT 00001e7d: ISZERO 00001e7e: PUSH2 0x1e89 00001e81: JUMPI 00001e82: PUSH2 0x1e89 00001e85: PUSH2 0x3a0d 00001e88: JUMP 00001e89: JUMPDEST 00001e8a: EQ 00001e8b: PUSH2 0x1ea6 00001e8e: JUMPI 00001e8f: PUSH1 0x40 00001e91: MLOAD 00001e92: PUSH3 0x461bcd 00001e96: PUSH1 0xe5 00001e98: SHL 00001e99: DUP2 00001e9a: MSTORE 00001e9b: PUSH1 0x04 00001e9d: ADD 00001e9e: PUSH2 0x08bb 00001ea1: SWAP1 00001ea2: PUSH2 0x3b2f 00001ea5: JUMP 00001ea6: JUMPDEST 00001ea7: PUSH1 0x0e 00001ea9: SLOAD 00001eaa: ADDRESS 00001eab: PUSH1 0x00 00001ead: SWAP1 00001eae: DUP2 00001eaf: MSTORE 00001eb0: PUSH1 0x02 00001eb2: PUSH1 0x20 00001eb4: MSTORE 00001eb5: PUSH1 0x40 00001eb7: SWAP1 00001eb8: KECCAK256 00001eb9: SLOAD 00001eba: PUSH1 0x01 00001ebc: SLOAD 00001ebd: PUSH2 0x1ec6 00001ec0: DUP3 00001ec1: DUP5 00001ec2: PUSH2 0x3cd2 00001ec5: JUMP 00001ec6: JUMPDEST 00001ec7: PUSH2 0x1ed0 00001eca: SWAP2 00001ecb: SWAP1 00001ecc: PUSH2 0x3cf1 00001ecf: JUMP 00001ed0: JUMPDEST 00001ed1: SWAP4 00001ed2: POP 00001ed3: PUSH2 0x1edc 00001ed6: DUP5 00001ed7: DUP4 00001ed8: PUSH2 0x3cbb 00001edb: JUMP 00001edc: JUMPDEST 00001edd: PUSH1 0x0e 00001edf: SSTORE 00001ee0: PUSH2 0x1ee9 00001ee3: ADDRESS 00001ee4: DUP3 00001ee5: PUSH2 0x2fcc 00001ee8: JUMP 00001ee9: JUMPDEST 00001eea: POP 00001eeb: PUSH2 0x1f1e 00001eee: PUSH1 0x01 00001ef0: PUSH1 0x01 00001ef2: PUSH1 0xa0 00001ef4: SHL 00001ef5: SUB 00001ef6: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001f17: AND 00001f18: DUP7 00001f19: DUP7 00001f1a: PUSH2 0x274c 00001f1d: JUMP 00001f1e: JUMPDEST 00001f1f: POP 00001f20: POP 00001f21: POP 00001f22: SWAP2 00001f23: SWAP1 00001f24: POP 00001f25: JUMP 00001f26: JUMPDEST 00001f27: PUSH2 0x1f3c 00001f2a: PUSH1 0x00 00001f2c: CALLDATALOAD 00001f2d: PUSH1 0x01 00001f2f: PUSH1 0x01 00001f31: PUSH1 0xe0 00001f33: SHL 00001f34: SUB 00001f35: NOT 00001f36: AND 00001f37: CALLER 00001f38: PUSH2 0x2717 00001f3b: JUMP 00001f3c: JUMPDEST 00001f3d: PUSH2 0x1f58 00001f40: JUMPI 00001f41: PUSH1 0x40 00001f43: MLOAD 00001f44: PUSH3 0x461bcd 00001f48: PUSH1 0xe5 00001f4a: SHL 00001f4b: DUP2 00001f4c: MSTORE 00001f4d: PUSH1 0x04 00001f4f: ADD 00001f50: PUSH2 0x08bb 00001f53: SWAP1 00001f54: PUSH2 0x3b08 00001f57: JUMP 00001f58: JUMPDEST 00001f59: DUP2 00001f5a: PUSH4 0xffffffff 00001f5f: AND 00001f60: DUP4 00001f61: PUSH4 0xffffffff 00001f66: AND 00001f67: GT 00001f68: ISZERO 00001f69: PUSH2 0x1fa6 00001f6c: JUMPI 00001f6d: PUSH1 0x40 00001f6f: MLOAD 00001f70: PUSH3 0x461bcd 00001f74: PUSH1 0xe5 00001f76: SHL 00001f77: DUP2 00001f78: MSTORE 00001f79: PUSH1 0x20 00001f7b: PUSH1 0x04 00001f7d: DUP3 00001f7e: ADD 00001f7f: MSTORE 00001f80: PUSH1 0x0f 00001f82: PUSH1 0x24 00001f84: DUP3 00001f85: ADD 00001f86: MSTORE 00001f87: PUSH15 0x125b98dbdc9c9958dd081a5b9c1d5d 00001f97: PUSH1 0x8a 00001f99: SHL 00001f9a: PUSH1 0x44 00001f9c: DUP3 00001f9d: ADD 00001f9e: MSTORE 00001f9f: PUSH1 0x64 00001fa1: ADD 00001fa2: PUSH2 0x08bb 00001fa5: JUMP 00001fa6: JUMPDEST 00001fa7: PUSH1 0x08 00001fa9: SLOAD 00001faa: PUSH1 0x01 00001fac: PUSH1 0x01 00001fae: PUSH1 0xa0 00001fb0: SHL 00001fb1: SUB 00001fb2: AND 00001fb3: PUSH2 0x1ff6 00001fb6: JUMPI 00001fb7: PUSH1 0x40 00001fb9: MLOAD 00001fba: PUSH3 0x461bcd 00001fbe: PUSH1 0xe5 00001fc0: SHL 00001fc1: DUP2 00001fc2: MSTORE 00001fc3: PUSH1 0x20 00001fc5: PUSH1 0x04 00001fc7: DUP3 00001fc8: ADD 00001fc9: MSTORE 00001fca: PUSH1 0x15 00001fcc: PUSH1 0x24 00001fce: DUP3 00001fcf: ADD 00001fd0: MSTORE 00001fd1: PUSH21 0x14995dd85c991cc81d1bdad95b881b9bdd081cd95d 00001fe7: PUSH1 0x5a 00001fe9: SHL 00001fea: PUSH1 0x44 00001fec: DUP3 00001fed: ADD 00001fee: MSTORE 00001fef: PUSH1 0x64 00001ff1: ADD 00001ff2: PUSH2 0x08bb 00001ff5: JUMP 00001ff6: JUMPDEST 00001ff7: PUSH1 0x09 00001ff9: SLOAD 00001ffa: PUSH4 0xffffffff 00001fff: AND 00002000: PUSH2 0x2008 00002003: TIMESTAMP 00002004: PUSH2 0x2fea 00002007: JUMP 00002008: JUMPDEST 00002009: PUSH4 0xffffffff 0000200e: AND 0000200f: LT 00002010: DUP1 00002011: PUSH2 0x2036 00002014: JUMPI 00002015: POP 00002016: PUSH1 0x09 00002018: SLOAD 00002019: PUSH1 0x01 0000201b: PUSH1 0x20 0000201d: SHL 0000201e: SWAP1 0000201f: DIV 00002020: PUSH4 0xffffffff 00002025: AND 00002026: PUSH2 0x202e 00002029: TIMESTAMP 0000202a: PUSH2 0x2fea 0000202d: JUMP 0000202e: JUMPDEST 0000202f: PUSH4 0xffffffff 00002034: AND 00002035: GT 00002036: JUMPDEST 00002037: PUSH2 0x2074 0000203a: JUMPI 0000203b: PUSH1 0x40 0000203d: MLOAD 0000203e: PUSH3 0x461bcd 00002042: PUSH1 0xe5 00002044: SHL 00002045: DUP2 00002046: MSTORE 00002047: PUSH1 0x20 00002049: PUSH1 0x04 0000204b: DUP3 0000204c: ADD 0000204d: MSTORE 0000204e: PUSH1 0x0f 00002050: PUSH1 0x24 00002052: DUP3 00002053: ADD 00002054: MSTORE 00002055: PUSH15 0x4f6e676f696e672072657761726473 00002065: PUSH1 0x88 00002067: SHL 00002068: PUSH1 0x44 0000206a: DUP3 0000206b: ADD 0000206c: MSTORE 0000206d: PUSH1 0x64 0000206f: ADD 00002070: PUSH2 0x08bb 00002073: JUMP 00002074: JUMPDEST 00002075: PUSH2 0x207c 00002078: PUSH2 0x3014 0000207b: JUMP 0000207c: JUMPDEST 0000207d: PUSH1 0x09 0000207f: DUP1 00002080: SLOAD 00002081: PUSH4 0xffffffff 00002086: DUP6 00002087: DUP2 00002088: AND 00002089: PUSH8 0xffffffffffffffff 00002092: NOT 00002093: SWAP1 00002094: SWAP3 00002095: AND 00002096: DUP3 00002097: OR 00002098: PUSH1 0x01 0000209a: PUSH1 0x20 0000209c: SHL 0000209d: SWAP2 0000209e: DUP7 0000209f: AND 000020a0: SWAP2 000020a1: DUP3 000020a2: MUL 000020a3: OR 000020a4: SWAP1 000020a5: SWAP3 000020a6: SSTORE 000020a7: PUSH1 0x0a 000020a9: DUP1 000020aa: SLOAD 000020ab: PUSH1 0x01 000020ad: PUSH1 0x01 000020af: PUSH1 0x80 000020b1: SHL 000020b2: SUB 000020b3: AND 000020b4: PUSH1 0x01 000020b6: PUSH1 0x80 000020b8: SHL 000020b9: DUP4 000020ba: MUL 000020bb: PUSH1 0x01 000020bd: PUSH1 0x01 000020bf: PUSH1 0xa0 000020c1: SHL 000020c2: SUB 000020c3: AND 000020c4: OR 000020c5: PUSH1 0x01 000020c7: PUSH1 0xa0 000020c9: SHL 000020ca: PUSH1 0x01 000020cc: PUSH1 0x01 000020ce: PUSH1 0x60 000020d0: SHL 000020d1: SUB 000020d2: DUP7 000020d3: AND 000020d4: SWAP1 000020d5: DUP2 000020d6: MUL 000020d7: SWAP2 000020d8: SWAP1 000020d9: SWAP2 000020da: OR 000020db: SWAP1 000020dc: SWAP2 000020dd: SSTORE 000020de: PUSH1 0x40 000020e0: DUP1 000020e1: MLOAD 000020e2: SWAP3 000020e3: DUP4 000020e4: MSTORE 000020e5: PUSH1 0x20 000020e7: DUP4 000020e8: ADD 000020e9: SWAP4 000020ea: SWAP1 000020eb: SWAP4 000020ec: MSTORE 000020ed: SWAP2 000020ee: DUP2 000020ef: ADD 000020f0: SWAP2 000020f1: SWAP1 000020f2: SWAP2 000020f3: MSTORE 000020f4: PUSH32 0x95efd8a2a0aa591f48fd9673cf5d13c2150ca7a1fe1cbe438dd3f0ae47064663 00002115: SWAP1 00002116: PUSH1 0x60 00002118: ADD 00002119: PUSH1 0x40 0000211b: MLOAD 0000211c: DUP1 0000211d: SWAP2 0000211e: SUB 0000211f: SWAP1 00002120: LOG1 00002121: POP 00002122: POP 00002123: POP 00002124: JUMP 00002125: JUMPDEST 00002126: PUSH1 0x00 00002128: PUSH2 0x0fe0 0000212b: CALLER 0000212c: DUP5 0000212d: DUP5 0000212e: PUSH2 0x2de4 00002131: JUMP 00002132: JUMPDEST 00002133: PUSH1 0x00 00002135: JUMPDEST 00002136: DUP3 00002137: MLOAD 00002138: DUP2 00002139: LT 0000213a: ISZERO 0000213b: PUSH2 0x1379 0000213e: JUMPI 0000213f: PUSH2 0x2163 00002142: PUSH2 0x134d 00002145: DUP5 00002146: DUP4 00002147: DUP2 00002148: MLOAD 00002149: DUP2 0000214a: LT 0000214b: PUSH2 0x2156 0000214e: JUMPI 0000214f: PUSH2 0x2156 00002152: PUSH2 0x3d37 00002155: JUMP 00002156: JUMPDEST 00002157: PUSH1 0x20 00002159: MUL 0000215a: PUSH1 0x20 0000215c: ADD 0000215d: ADD 0000215e: MLOAD 0000215f: PUSH2 0x2e9e 00002162: JUMP 00002163: JUMPDEST 00002164: PUSH2 0x217f 00002167: JUMPI 00002168: PUSH1 0x40 0000216a: MLOAD 0000216b: PUSH3 0x461bcd 0000216f: PUSH1 0xe5 00002171: SHL 00002172: DUP2 00002173: MSTORE 00002174: PUSH1 0x04 00002176: ADD 00002177: PUSH2 0x08bb 0000217a: SWAP1 0000217b: PUSH2 0x3c97 0000217e: JUMP 0000217f: JUMPDEST 00002180: PUSH2 0x21a2 00002183: DUP4 00002184: DUP3 00002185: DUP2 00002186: MLOAD 00002187: DUP2 00002188: LT 00002189: PUSH2 0x2194 0000218c: JUMPI 0000218d: PUSH2 0x2194 00002190: PUSH2 0x3d37 00002193: JUMP 00002194: JUMPDEST 00002195: PUSH1 0x20 00002197: MUL 00002198: PUSH1 0x20 0000219a: ADD 0000219b: ADD 0000219c: MLOAD 0000219d: DUP4 0000219e: PUSH2 0x2ec0 000021a1: JUMP 000021a2: JUMPDEST 000021a3: DUP1 000021a4: PUSH2 0x21ac 000021a7: DUP2 000021a8: PUSH2 0x3d4d 000021ab: JUMP 000021ac: JUMPDEST 000021ad: SWAP2 000021ae: POP 000021af: POP 000021b0: PUSH2 0x2135 000021b3: JUMP 000021b4: JUMPDEST 000021b5: DUP2 000021b6: PUSH2 0x21c1 000021b9: PUSH2 0x134d 000021bc: DUP3 000021bd: PUSH2 0x2e9e 000021c0: JUMP 000021c1: JUMPDEST 000021c2: PUSH2 0x21dd 000021c5: JUMPI 000021c6: PUSH1 0x40 000021c8: MLOAD 000021c9: PUSH3 0x461bcd 000021cd: PUSH1 0xe5 000021cf: SHL 000021d0: DUP2 000021d1: MSTORE 000021d2: PUSH1 0x04 000021d4: ADD 000021d5: PUSH2 0x08bb 000021d8: SWAP1 000021d9: PUSH2 0x3c97 000021dc: JUMP 000021dd: JUMPDEST 000021de: PUSH2 0x1379 000021e1: DUP4 000021e2: DUP4 000021e3: PUSH2 0x2f2f 000021e6: JUMP 000021e7: JUMPDEST 000021e8: PUSH1 0x0c 000021ea: SLOAD 000021eb: PUSH1 0x00 000021ed: SWAP1 000021ee: PUSH1 0x01 000021f0: SWAP1 000021f1: PUSH1 0x01 000021f3: PUSH1 0xc0 000021f5: SHL 000021f6: SWAP1 000021f7: DIV 000021f8: PUSH1 0xff 000021fa: AND 000021fb: PUSH1 0x04 000021fd: DUP2 000021fe: GT 000021ff: ISZERO 00002200: PUSH2 0x220b 00002203: JUMPI 00002204: PUSH2 0x220b 00002207: PUSH2 0x3a0d 0000220a: JUMP 0000220b: JUMPDEST 0000220c: DUP2 0000220d: PUSH1 0x04 0000220f: DUP2 00002210: GT 00002211: ISZERO 00002212: PUSH2 0x221d 00002215: JUMPI 00002216: PUSH2 0x221d 00002219: PUSH2 0x3a0d 0000221c: JUMP 0000221d: JUMPDEST 0000221e: EQ 0000221f: PUSH2 0x223a 00002222: JUMPI 00002223: PUSH1 0x40 00002225: MLOAD 00002226: PUSH3 0x461bcd 0000222a: PUSH1 0xe5 0000222c: SHL 0000222d: DUP2 0000222e: MSTORE 0000222f: PUSH1 0x04 00002231: ADD 00002232: PUSH2 0x08bb 00002235: SWAP1 00002236: PUSH2 0x3b2f 00002239: JUMP 0000223a: JUMPDEST 0000223b: PUSH1 0x0e 0000223d: SLOAD 0000223e: PUSH1 0x40 00002240: MLOAD 00002241: PUSH4 0x70a08231 00002246: PUSH1 0xe0 00002248: SHL 00002249: DUP2 0000224a: MSTORE 0000224b: PUSH1 0x00 0000224d: SWAP1 0000224e: DUP3 0000224f: SWAP1 00002250: PUSH1 0x01 00002252: PUSH1 0x01 00002254: PUSH1 0xa0 00002256: SHL 00002257: SUB 00002258: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00002279: AND 0000227a: SWAP1 0000227b: PUSH4 0x70a08231 00002280: SWAP1 00002281: PUSH2 0x228e 00002284: SWAP1 00002285: ADDRESS 00002286: SWAP1 00002287: PUSH1 0x04 00002289: ADD 0000228a: PUSH2 0x3758 0000228d: JUMP 0000228e: JUMPDEST 0000228f: PUSH1 0x20 00002291: PUSH1 0x40 00002293: MLOAD 00002294: DUP1 00002295: DUP4 00002296: SUB 00002297: DUP2 00002298: DUP7 00002299: GAS 0000229a: STATICCALL 0000229b: ISZERO 0000229c: DUP1 0000229d: ISZERO 0000229e: PUSH2 0x22ab 000022a1: JUMPI 000022a2: RETURNDATASIZE 000022a3: PUSH1 0x00 000022a5: DUP1 000022a6: RETURNDATACOPY 000022a7: RETURNDATASIZE 000022a8: PUSH1 0x00 000022aa: REVERT 000022ab: JUMPDEST 000022ac: POP 000022ad: POP 000022ae: POP 000022af: POP 000022b0: PUSH1 0x40 000022b2: MLOAD 000022b3: RETURNDATASIZE 000022b4: PUSH1 0x1f 000022b6: NOT 000022b7: PUSH1 0x1f 000022b9: DUP3 000022ba: ADD 000022bb: AND 000022bc: DUP3 000022bd: ADD 000022be: DUP1 000022bf: PUSH1 0x40 000022c1: MSTORE 000022c2: POP 000022c3: DUP2 000022c4: ADD 000022c5: SWAP1 000022c6: PUSH2 0x22cf 000022c9: SWAP2 000022ca: SWAP1 000022cb: PUSH2 0x3bca 000022ce: JUMP 000022cf: JUMPDEST 000022d0: PUSH2 0x22d9 000022d3: SWAP2 000022d4: SWAP1 000022d5: PUSH2 0x3cbb 000022d8: JUMP 000022d9: JUMPDEST 000022da: SWAP1 000022db: POP 000022dc: PUSH2 0x22e5 000022df: DUP2 000022e0: DUP4 000022e1: PUSH2 0x3c3b 000022e4: JUMP 000022e5: JUMPDEST 000022e6: PUSH1 0x0e 000022e8: SSTORE 000022e9: PUSH1 0x01 000022eb: SLOAD 000022ec: DUP3 000022ed: SWAP1 000022ee: PUSH2 0x22f8 000022f1: SWAP1 000022f2: DUP4 000022f3: SWAP1 000022f4: PUSH2 0x3cd2 000022f7: JUMP 000022f8: JUMPDEST 000022f9: PUSH2 0x2302 000022fc: SWAP2 000022fd: SWAP1 000022fe: PUSH2 0x3cf1 00002301: JUMP 00002302: JUMPDEST 00002303: SWAP4 00002304: POP 00002305: PUSH2 0x230e 00002308: DUP6 00002309: DUP6 0000230a: PUSH2 0x2fae 0000230d: JUMP 0000230e: JUMPDEST 0000230f: POP 00002310: POP 00002311: POP 00002312: POP 00002313: SWAP2 00002314: SWAP1 00002315: POP 00002316: JUMP 00002317: JUMPDEST 00002318: TIMESTAMP 00002319: DUP5 0000231a: LT 0000231b: ISZERO 0000231c: PUSH2 0x2367 0000231f: JUMPI 00002320: PUSH1 0x40 00002322: MLOAD 00002323: PUSH3 0x461bcd 00002327: PUSH1 0xe5 00002329: SHL 0000232a: DUP2 0000232b: MSTORE 0000232c: PUSH1 0x20 0000232e: PUSH1 0x04 00002330: DUP3 00002331: ADD 00002332: MSTORE 00002333: PUSH1 0x1d 00002335: PUSH1 0x24 00002337: DUP3 00002338: ADD 00002339: MSTORE 0000233a: PUSH32 0x45524332305065726d69743a206578706972656420646561646c696e65000000 0000235b: PUSH1 0x44 0000235d: DUP3 0000235e: ADD 0000235f: MSTORE 00002360: PUSH1 0x64 00002362: ADD 00002363: PUSH2 0x08bb 00002366: JUMP 00002367: JUMPDEST 00002368: PUSH1 0x01 0000236a: PUSH1 0x01 0000236c: PUSH1 0xa0 0000236e: SHL 0000236f: SUB 00002370: DUP8 00002371: AND 00002372: PUSH1 0x00 00002374: SWAP1 00002375: DUP2 00002376: MSTORE 00002377: PUSH1 0x07 00002379: PUSH1 0x20 0000237b: MSTORE 0000237c: PUSH1 0x40 0000237e: DUP2 0000237f: KECCAK256 00002380: DUP1 00002381: SLOAD 00002382: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9 000023a3: SWAP2 000023a4: DUP11 000023a5: SWAP2 000023a6: DUP11 000023a7: SWAP2 000023a8: DUP11 000023a9: SWAP2 000023aa: SWAP1 000023ab: DUP7 000023ac: PUSH2 0x23b4 000023af: DUP4 000023b0: PUSH2 0x3d4d 000023b3: JUMP 000023b4: JUMPDEST 000023b5: SWAP1 000023b6: SWAP2 000023b7: SSTORE 000023b8: POP 000023b9: PUSH1 0x40 000023bb: DUP1 000023bc: MLOAD 000023bd: PUSH1 0x20 000023bf: DUP2 000023c0: ADD 000023c1: SWAP7 000023c2: SWAP1 000023c3: SWAP7 000023c4: MSTORE 000023c5: PUSH1 0x01 000023c7: PUSH1 0x01 000023c9: PUSH1 0xa0 000023cb: SHL 000023cc: SUB 000023cd: SWAP5 000023ce: DUP6 000023cf: AND 000023d0: SWAP1 000023d1: DUP7 000023d2: ADD 000023d3: MSTORE 000023d4: SWAP3 000023d5: SWAP1 000023d6: SWAP2 000023d7: AND 000023d8: PUSH1 0x60 000023da: DUP5 000023db: ADD 000023dc: MSTORE 000023dd: PUSH1 0x80 000023df: DUP4 000023e0: ADD 000023e1: MSTORE 000023e2: PUSH1 0xa0 000023e4: DUP3 000023e5: ADD 000023e6: MSTORE 000023e7: PUSH1 0xc0 000023e9: DUP2 000023ea: ADD 000023eb: DUP7 000023ec: SWAP1 000023ed: MSTORE 000023ee: PUSH1 0xe0 000023f0: ADD 000023f1: PUSH1 0x40 000023f3: MLOAD 000023f4: PUSH1 0x20 000023f6: DUP2 000023f7: DUP4 000023f8: SUB 000023f9: SUB 000023fa: DUP2 000023fb: MSTORE 000023fc: SWAP1 000023fd: PUSH1 0x40 000023ff: MSTORE 00002400: DUP1 00002401: MLOAD 00002402: SWAP1 00002403: PUSH1 0x20 00002405: ADD 00002406: KECCAK256 00002407: SWAP1 00002408: POP 00002409: PUSH1 0x00 0000240b: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001 0000242c: CHAINID 0000242d: EQ 0000242e: PUSH2 0x243f 00002431: JUMPI 00002432: PUSH2 0x243a 00002435: CHAINID 00002436: PUSH2 0x2e0d 00002439: JUMP 0000243a: JUMPDEST 0000243b: PUSH2 0x2461 0000243e: JUMP 0000243f: JUMPDEST 00002440: PUSH32 0x368325f84d7af525e3c442477383ea970bd6b2aecc63fa28b483aa729535fa98 00002461: JUMPDEST 00002462: PUSH1 0x40 00002464: MLOAD 00002465: PUSH2 0x1901 00002468: PUSH1 0xf0 0000246a: SHL 0000246b: PUSH1 0x20 0000246d: DUP3 0000246e: ADD 0000246f: MSTORE 00002470: PUSH1 0x22 00002472: DUP2 00002473: ADD 00002474: SWAP2 00002475: SWAP1 00002476: SWAP2 00002477: MSTORE 00002478: PUSH1 0x42 0000247a: DUP2 0000247b: ADD 0000247c: DUP4 0000247d: SWAP1 0000247e: MSTORE 0000247f: PUSH1 0x62 00002481: ADD 00002482: PUSH1 0x40 00002484: DUP1 00002485: MLOAD 00002486: PUSH1 0x1f 00002488: NOT 00002489: DUP2 0000248a: DUP5 0000248b: SUB 0000248c: ADD 0000248d: DUP2 0000248e: MSTORE 0000248f: DUP3 00002490: DUP3 00002491: MSTORE 00002492: DUP1 00002493: MLOAD 00002494: PUSH1 0x20 00002496: SWAP2 00002497: DUP3 00002498: ADD 00002499: KECCAK256 0000249a: PUSH1 0x00 0000249c: DUP1 0000249d: DUP6 0000249e: MSTORE 0000249f: SWAP2 000024a0: DUP5 000024a1: ADD 000024a2: DUP1 000024a3: DUP5 000024a4: MSTORE 000024a5: DUP2 000024a6: SWAP1 000024a7: MSTORE 000024a8: PUSH1 0xff 000024aa: DUP10 000024ab: AND 000024ac: SWAP3 000024ad: DUP5 000024ae: ADD 000024af: SWAP3 000024b0: SWAP1 000024b1: SWAP3 000024b2: MSTORE 000024b3: PUSH1 0x60 000024b5: DUP4 000024b6: ADD 000024b7: DUP8 000024b8: SWAP1 000024b9: MSTORE 000024ba: PUSH1 0x80 000024bc: DUP4 000024bd: ADD 000024be: DUP7 000024bf: SWAP1 000024c0: MSTORE 000024c1: SWAP1 000024c2: SWAP3 000024c3: POP 000024c4: SWAP1 000024c5: PUSH1 0x01 000024c7: SWAP1 000024c8: PUSH1 0xa0 000024ca: ADD 000024cb: PUSH1 0x20 000024cd: PUSH1 0x40 000024cf: MLOAD 000024d0: PUSH1 0x20 000024d2: DUP2 000024d3: SUB 000024d4: SWAP1 000024d5: DUP1 000024d6: DUP5 000024d7: SUB 000024d8: SWAP1 000024d9: DUP6 000024da: GAS 000024db: STATICCALL 000024dc: ISZERO 000024dd: DUP1 000024de: ISZERO 000024df: PUSH2 0x24ec 000024e2: JUMPI 000024e3: RETURNDATASIZE 000024e4: PUSH1 0x00 000024e6: DUP1 000024e7: RETURNDATACOPY 000024e8: RETURNDATASIZE 000024e9: PUSH1 0x00 000024eb: REVERT 000024ec: JUMPDEST 000024ed: POP 000024ee: POP 000024ef: PUSH1 0x40 000024f1: MLOAD 000024f2: PUSH1 0x1f 000024f4: NOT 000024f5: ADD 000024f6: MLOAD 000024f7: SWAP2 000024f8: POP 000024f9: POP 000024fa: PUSH1 0x01 000024fc: PUSH1 0x01 000024fe: PUSH1 0xa0 00002500: SHL 00002501: SUB 00002502: DUP2 00002503: AND 00002504: ISZERO 00002505: DUP1 00002506: ISZERO 00002507: SWAP1 00002508: PUSH2 0x2522 0000250b: JUMPI 0000250c: POP 0000250d: DUP10 0000250e: PUSH1 0x01 00002510: PUSH1 0x01 00002512: PUSH1 0xa0 00002514: SHL 00002515: SUB 00002516: AND 00002517: DUP2 00002518: PUSH1 0x01 0000251a: PUSH1 0x01 0000251c: PUSH1 0xa0 0000251e: SHL 0000251f: SUB 00002520: AND 00002521: EQ 00002522: JUMPDEST 00002523: PUSH2 0x256e 00002526: JUMPI 00002527: PUSH1 0x40 00002529: MLOAD 0000252a: PUSH3 0x461bcd 0000252e: PUSH1 0xe5 00002530: SHL 00002531: DUP2 00002532: MSTORE 00002533: PUSH1 0x20 00002535: PUSH1 0x04 00002537: DUP3 00002538: ADD 00002539: MSTORE 0000253a: PUSH1 0x1e 0000253c: PUSH1 0x24 0000253e: DUP3 0000253f: ADD 00002540: MSTORE 00002541: PUSH32 0x45524332305065726d69743a20696e76616c6964207369676e61747572650000 00002562: PUSH1 0x44 00002564: DUP3 00002565: ADD 00002566: MSTORE 00002567: PUSH1 0x64 00002569: ADD 0000256a: PUSH2 0x08bb 0000256d: JUMP 0000256e: JUMPDEST 0000256f: PUSH2 0x2579 00002572: DUP11 00002573: DUP11 00002574: DUP11 00002575: PUSH2 0x2a72 00002578: JUMP 00002579: JUMPDEST 0000257a: POP 0000257b: POP 0000257c: POP 0000257d: POP 0000257e: POP 0000257f: POP 00002580: POP 00002581: POP 00002582: POP 00002583: POP 00002584: POP 00002585: JUMP 00002586: JUMPDEST 00002587: PUSH1 0x00 00002589: PUSH2 0x1129 0000258c: DUP3 0000258d: DUP4 0000258e: PUSH2 0x2c2e 00002591: JUMP 00002592: JUMPDEST 00002593: DUP2 00002594: PUSH2 0x259f 00002597: PUSH2 0x134d 0000259a: DUP3 0000259b: PUSH2 0x2e9e 0000259e: JUMP 0000259f: JUMPDEST 000025a0: PUSH2 0x25bb 000025a3: JUMPI 000025a4: PUSH1 0x40 000025a6: MLOAD 000025a7: PUSH3 0x461bcd 000025ab: PUSH1 0xe5 000025ad: SHL 000025ae: DUP2 000025af: MSTORE 000025b0: PUSH1 0x04 000025b2: ADD 000025b3: PUSH2 0x08bb 000025b6: SWAP1 000025b7: PUSH2 0x3c97 000025ba: JUMP 000025bb: JUMPDEST 000025bc: PUSH2 0x1379 000025bf: DUP4 000025c0: DUP4 000025c1: PUSH2 0x31ed 000025c4: JUMP 000025c5: JUMPDEST 000025c6: PUSH2 0x25db 000025c9: PUSH1 0x00 000025cb: CALLDATALOAD 000025cc: PUSH1 0x01 000025ce: PUSH1 0x01 000025d0: PUSH1 0xe0 000025d2: SHL 000025d3: SUB 000025d4: NOT 000025d5: AND 000025d6: CALLER 000025d7: PUSH2 0x2717 000025da: JUMP 000025db: JUMPDEST 000025dc: PUSH2 0x25f7 000025df: JUMPI 000025e0: PUSH1 0x40 000025e2: MLOAD 000025e3: PUSH3 0x461bcd 000025e7: PUSH1 0xe5 000025e9: SHL 000025ea: DUP2 000025eb: MSTORE 000025ec: PUSH1 0x04 000025ee: ADD 000025ef: PUSH2 0x08bb 000025f2: SWAP1 000025f3: PUSH2 0x3b08 000025f6: JUMP 000025f7: JUMPDEST 000025f8: PUSH1 0x08 000025fa: SLOAD 000025fb: PUSH1 0x01 000025fd: PUSH1 0x01 000025ff: PUSH1 0xa0 00002601: SHL 00002602: SUB 00002603: AND 00002604: ISZERO 00002605: PUSH2 0x264c 00002608: JUMPI 00002609: PUSH1 0x40 0000260b: MLOAD 0000260c: PUSH3 0x461bcd 00002610: PUSH1 0xe5 00002612: SHL 00002613: DUP2 00002614: MSTORE 00002615: PUSH1 0x20 00002617: PUSH1 0x04 00002619: DUP3 0000261a: ADD 0000261b: MSTORE 0000261c: PUSH1 0x19 0000261e: PUSH1 0x24 00002620: DUP3 00002621: ADD 00002622: MSTORE 00002623: PUSH25 0x14995dd85c991cc81d1bdad95b88185b1c9958591e481cd95d 0000263d: PUSH1 0x3a 0000263f: SHL 00002640: PUSH1 0x44 00002642: DUP3 00002643: ADD 00002644: MSTORE 00002645: PUSH1 0x64 00002647: ADD 00002648: PUSH2 0x08bb 0000264b: JUMP 0000264c: JUMPDEST 0000264d: PUSH1 0x08 0000264f: DUP1 00002650: SLOAD 00002651: PUSH1 0x01 00002653: PUSH1 0x01 00002655: PUSH1 0xa0 00002657: SHL 00002658: SUB 00002659: NOT 0000265a: AND 0000265b: PUSH1 0x01 0000265d: PUSH1 0x01 0000265f: PUSH1 0xa0 00002661: SHL 00002662: SUB 00002663: DUP4 00002664: AND 00002665: OR 00002666: SWAP1 00002667: SSTORE 00002668: PUSH1 0x40 0000266a: MLOAD 0000266b: PUSH32 0x45a4cbe003c343d60028e5acd63eecf588647b0eb369733afa2c0482180d4f74 0000268c: SWAP1 0000268d: PUSH2 0x2697 00002690: SWAP1 00002691: DUP4 00002692: SWAP1 00002693: PUSH2 0x3758 00002696: JUMP 00002697: JUMPDEST 00002698: PUSH1 0x40 0000269a: MLOAD 0000269b: DUP1 0000269c: SWAP2 0000269d: SUB 0000269e: SWAP1 0000269f: LOG1 000026a0: POP 000026a1: JUMP 000026a2: JUMPDEST 000026a3: PUSH1 0x00 000026a5: JUMPDEST 000026a6: DUP3 000026a7: MLOAD 000026a8: DUP2 000026a9: LT 000026aa: ISZERO 000026ab: PUSH2 0x1379 000026ae: JUMPI 000026af: PUSH2 0x26c6 000026b2: PUSH2 0x134d 000026b5: DUP5 000026b6: DUP4 000026b7: DUP2 000026b8: MLOAD 000026b9: DUP2 000026ba: LT 000026bb: PUSH2 0x2156 000026be: JUMPI 000026bf: PUSH2 0x2156 000026c2: PUSH2 0x3d37 000026c5: JUMP 000026c6: JUMPDEST 000026c7: PUSH2 0x26e2 000026ca: JUMPI 000026cb: PUSH1 0x40 000026cd: MLOAD 000026ce: PUSH3 0x461bcd 000026d2: PUSH1 0xe5 000026d4: SHL 000026d5: DUP2 000026d6: MSTORE 000026d7: PUSH1 0x04 000026d9: ADD 000026da: PUSH2 0x08bb 000026dd: SWAP1 000026de: PUSH2 0x3c97 000026e1: JUMP 000026e2: JUMPDEST 000026e3: PUSH2 0x2705 000026e6: DUP4 000026e7: DUP3 000026e8: DUP2 000026e9: MLOAD 000026ea: DUP2 000026eb: LT 000026ec: PUSH2 0x26f7 000026ef: JUMPI 000026f0: PUSH2 0x26f7 000026f3: PUSH2 0x3d37 000026f6: JUMP 000026f7: JUMPDEST 000026f8: PUSH1 0x20 000026fa: MUL 000026fb: PUSH1 0x20 000026fd: ADD 000026fe: ADD 000026ff: MLOAD 00002700: DUP4 00002701: PUSH2 0x31ed 00002704: JUMP 00002705: JUMPDEST 00002706: DUP1 00002707: PUSH2 0x270f 0000270a: DUP2 0000270b: PUSH2 0x3d4d 0000270e: JUMP 0000270f: JUMPDEST 00002710: SWAP2 00002711: POP 00002712: POP 00002713: PUSH2 0x26a5 00002716: JUMP 00002717: JUMPDEST 00002718: PUSH1 0x01 0000271a: PUSH1 0x01 0000271c: PUSH1 0xe0 0000271e: SHL 0000271f: SUB 00002720: NOT 00002721: DUP3 00002722: AND 00002723: PUSH1 0x00 00002725: SWAP1 00002726: DUP2 00002727: MSTORE 00002728: PUSH1 0x20 0000272a: DUP2 0000272b: DUP2 0000272c: MSTORE 0000272d: PUSH1 0x40 0000272f: DUP1 00002730: DUP4 00002731: KECCAK256 00002732: PUSH1 0x01 00002734: PUSH1 0x01 00002736: PUSH1 0xa0 00002738: SHL 00002739: SUB 0000273a: DUP6 0000273b: AND 0000273c: DUP5 0000273d: MSTORE 0000273e: SWAP1 0000273f: SWAP2 00002740: MSTORE 00002741: SWAP1 00002742: KECCAK256 00002743: SLOAD 00002744: PUSH1 0xff 00002746: AND 00002747: SWAP3 00002748: SWAP2 00002749: POP 0000274a: POP 0000274b: JUMP 0000274c: JUMPDEST 0000274d: PUSH1 0x00 0000274f: DUP1 00002750: DUP5 00002751: PUSH1 0x01 00002753: PUSH1 0x01 00002755: PUSH1 0xa0 00002757: SHL 00002758: SUB 00002759: AND 0000275a: PUSH4 0xa9059cbb 0000275f: PUSH1 0xe0 00002761: SHL 00002762: DUP6 00002763: DUP6 00002764: PUSH1 0x40 00002766: MLOAD 00002767: PUSH1 0x24 00002769: ADD 0000276a: PUSH2 0x2774 0000276d: SWAP3 0000276e: SWAP2 0000276f: SWAP1 00002770: PUSH2 0x3c0c 00002773: JUMP 00002774: JUMPDEST 00002775: PUSH1 0x40 00002777: DUP1 00002778: MLOAD 00002779: PUSH1 0x1f 0000277b: NOT 0000277c: DUP2 0000277d: DUP5 0000277e: SUB 0000277f: ADD 00002780: DUP2 00002781: MSTORE 00002782: SWAP2 00002783: DUP2 00002784: MSTORE 00002785: PUSH1 0x20 00002787: DUP3 00002788: ADD 00002789: DUP1 0000278a: MLOAD 0000278b: PUSH1 0x01 0000278d: PUSH1 0x01 0000278f: PUSH1 0xe0 00002791: SHL 00002792: SUB 00002793: AND 00002794: PUSH1 0x01 00002796: PUSH1 0x01 00002798: PUSH1 0xe0 0000279a: SHL 0000279b: SUB 0000279c: NOT 0000279d: SWAP1 0000279e: SWAP5 0000279f: AND 000027a0: SWAP4 000027a1: SWAP1 000027a2: SWAP4 000027a3: OR 000027a4: SWAP1 000027a5: SWAP3 000027a6: MSTORE 000027a7: SWAP1 000027a8: MLOAD 000027a9: PUSH2 0x27b2 000027ac: SWAP2 000027ad: SWAP1 000027ae: PUSH2 0x3d66 000027b1: JUMP 000027b2: JUMPDEST 000027b3: PUSH1 0x00 000027b5: PUSH1 0x40 000027b7: MLOAD 000027b8: DUP1 000027b9: DUP4 000027ba: SUB 000027bb: DUP2 000027bc: PUSH1 0x00 000027be: DUP7 000027bf: GAS 000027c0: CALL 000027c1: SWAP2 000027c2: POP 000027c3: POP 000027c4: RETURNDATASIZE 000027c5: DUP1 000027c6: PUSH1 0x00 000027c8: DUP2 000027c9: EQ 000027ca: PUSH2 0x27ef 000027cd: JUMPI 000027ce: PUSH1 0x40 000027d0: MLOAD 000027d1: SWAP2 000027d2: POP 000027d3: PUSH1 0x1f 000027d5: NOT 000027d6: PUSH1 0x3f 000027d8: RETURNDATASIZE 000027d9: ADD 000027da: AND 000027db: DUP3 000027dc: ADD 000027dd: PUSH1 0x40 000027df: MSTORE 000027e0: RETURNDATASIZE 000027e1: DUP3 000027e2: MSTORE 000027e3: RETURNDATASIZE 000027e4: PUSH1 0x00 000027e6: PUSH1 0x20 000027e8: DUP5 000027e9: ADD 000027ea: RETURNDATACOPY 000027eb: PUSH2 0x27f4 000027ee: JUMP 000027ef: JUMPDEST 000027f0: PUSH1 0x60 000027f2: SWAP2 000027f3: POP 000027f4: JUMPDEST 000027f5: POP 000027f6: SWAP2 000027f7: POP 000027f8: SWAP2 000027f9: POP 000027fa: DUP2 000027fb: DUP1 000027fc: ISZERO 000027fd: PUSH2 0x281e 00002800: JUMPI 00002801: POP 00002802: DUP1 00002803: MLOAD 00002804: ISZERO 00002805: DUP1 00002806: PUSH2 0x281e 00002809: JUMPI 0000280a: POP 0000280b: DUP1 0000280c: DUP1 0000280d: PUSH1 0x20 0000280f: ADD 00002810: SWAP1 00002811: MLOAD 00002812: DUP2 00002813: ADD 00002814: SWAP1 00002815: PUSH2 0x281e 00002818: SWAP2 00002819: SWAP1 0000281a: PUSH2 0x3d82 0000281d: JUMP 0000281e: JUMPDEST 0000281f: PUSH2 0x2844 00002822: JUMPI 00002823: PUSH2 0x282b 00002826: DUP2 00002827: PUSH2 0x325e 0000282a: JUMP 0000282b: JUMPDEST 0000282c: PUSH1 0x40 0000282e: MLOAD 0000282f: PUSH3 0x461bcd 00002833: PUSH1 0xe5 00002835: SHL 00002836: DUP2 00002837: MSTORE 00002838: PUSH1 0x04 0000283a: ADD 0000283b: PUSH2 0x08bb 0000283e: SWAP2 0000283f: SWAP1 00002840: PUSH2 0x36ba 00002843: JUMP 00002844: JUMPDEST 00002845: POP 00002846: POP 00002847: POP 00002848: POP 00002849: POP 0000284a: JUMP 0000284b: JUMPDEST 0000284c: PUSH1 0x02 0000284e: DUP3 0000284f: PUSH1 0x04 00002851: DUP2 00002852: GT 00002853: ISZERO 00002854: PUSH2 0x285f 00002857: JUMPI 00002858: PUSH2 0x285f 0000285b: PUSH2 0x3a0d 0000285e: JUMP 0000285f: JUMPDEST 00002860: SUB 00002861: PUSH2 0x298e 00002864: JUMPI 00002865: PUSH1 0x0d 00002867: DUP1 00002868: SLOAD 00002869: PUSH1 0x01 0000286b: PUSH1 0x01 0000286d: PUSH1 0xa0 0000286f: SHL 00002870: SUB 00002871: NOT 00002872: AND 00002873: PUSH1 0x01 00002875: PUSH1 0x01 00002877: PUSH1 0xa0 00002879: SHL 0000287a: SUB 0000287b: DUP4 0000287c: AND 0000287d: SWAP1 0000287e: DUP2 0000287f: OR 00002880: SWAP1 00002881: SWAP2 00002882: SSTORE 00002883: PUSH1 0x40 00002885: DUP1 00002886: MLOAD 00002887: PUSH4 0xdc3bfba9 0000288c: PUSH1 0xe0 0000288e: SHL 0000288f: DUP2 00002890: MSTORE 00002891: SWAP1 00002892: MLOAD 00002893: PUSH4 0xdc3bfba9 00002898: SWAP2 00002899: PUSH1 0x04 0000289b: DUP1 0000289c: DUP3 0000289d: ADD 0000289e: SWAP3 0000289f: PUSH1 0x20 000028a1: SWAP3 000028a2: SWAP1 000028a3: SWAP2 000028a4: SWAP1 000028a5: DUP3 000028a6: SWAP1 000028a7: SUB 000028a8: ADD 000028a9: DUP2 000028aa: DUP7 000028ab: GAS 000028ac: STATICCALL 000028ad: ISZERO 000028ae: DUP1 000028af: ISZERO 000028b0: PUSH2 0x28bd 000028b3: JUMPI 000028b4: RETURNDATASIZE 000028b5: PUSH1 0x00 000028b7: DUP1 000028b8: RETURNDATACOPY 000028b9: RETURNDATASIZE 000028ba: PUSH1 0x00 000028bc: REVERT 000028bd: JUMPDEST 000028be: POP 000028bf: POP 000028c0: POP 000028c1: POP 000028c2: PUSH1 0x40 000028c4: MLOAD 000028c5: RETURNDATASIZE 000028c6: PUSH1 0x1f 000028c8: NOT 000028c9: PUSH1 0x1f 000028cb: DUP3 000028cc: ADD 000028cd: AND 000028ce: DUP3 000028cf: ADD 000028d0: DUP1 000028d1: PUSH1 0x40 000028d3: MSTORE 000028d4: POP 000028d5: DUP2 000028d6: ADD 000028d7: SWAP1 000028d8: PUSH2 0x28e1 000028db: SWAP2 000028dc: SWAP1 000028dd: PUSH2 0x3b62 000028e0: JUMP 000028e1: JUMPDEST 000028e2: PUSH1 0x0c 000028e4: PUSH1 0x00 000028e6: PUSH2 0x0100 000028e9: EXP 000028ea: DUP2 000028eb: SLOAD 000028ec: DUP2 000028ed: PUSH1 0x01 000028ef: PUSH1 0x01 000028f1: PUSH1 0xa0 000028f3: SHL 000028f4: SUB 000028f5: MUL 000028f6: NOT 000028f7: AND 000028f8: SWAP1 000028f9: DUP4 000028fa: PUSH1 0x01 000028fc: PUSH1 0x01 000028fe: PUSH1 0xa0 00002900: SHL 00002901: SUB 00002902: AND 00002903: MUL 00002904: OR 00002905: SWAP1 00002906: SSTORE 00002907: POP 00002908: DUP1 00002909: PUSH1 0x01 0000290b: PUSH1 0x01 0000290d: PUSH1 0xa0 0000290f: SHL 00002910: SUB 00002911: AND 00002912: PUSH4 0x204f83f9 00002917: PUSH1 0x40 00002919: MLOAD 0000291a: DUP2 0000291b: PUSH4 0xffffffff 00002920: AND 00002921: PUSH1 0xe0 00002923: SHL 00002924: DUP2 00002925: MSTORE 00002926: PUSH1 0x04 00002928: ADD 00002929: PUSH1 0x20 0000292b: PUSH1 0x40 0000292d: MLOAD 0000292e: DUP1 0000292f: DUP4 00002930: SUB 00002931: DUP2 00002932: DUP7 00002933: GAS 00002934: STATICCALL 00002935: ISZERO 00002936: DUP1 00002937: ISZERO 00002938: PUSH2 0x2945 0000293b: JUMPI 0000293c: RETURNDATASIZE 0000293d: PUSH1 0x00 0000293f: DUP1 00002940: RETURNDATACOPY 00002941: RETURNDATASIZE 00002942: PUSH1 0x00 00002944: REVERT 00002945: JUMPDEST 00002946: POP 00002947: POP 00002948: POP 00002949: POP 0000294a: PUSH1 0x40 0000294c: MLOAD 0000294d: RETURNDATASIZE 0000294e: PUSH1 0x1f 00002950: NOT 00002951: PUSH1 0x1f 00002953: DUP3 00002954: ADD 00002955: AND 00002956: DUP3 00002957: ADD 00002958: DUP1 00002959: PUSH1 0x40 0000295b: MSTORE 0000295c: POP 0000295d: DUP2 0000295e: ADD 0000295f: SWAP1 00002960: PUSH2 0x2969 00002963: SWAP2 00002964: SWAP1 00002965: PUSH2 0x3bad 00002968: JUMP 00002969: JUMPDEST 0000296a: PUSH1 0x0c 0000296c: PUSH1 0x14 0000296e: PUSH2 0x0100 00002971: EXP 00002972: DUP2 00002973: SLOAD 00002974: DUP2 00002975: PUSH4 0xffffffff 0000297a: MUL 0000297b: NOT 0000297c: AND 0000297d: SWAP1 0000297e: DUP4 0000297f: PUSH4 0xffffffff 00002984: AND 00002985: MUL 00002986: OR 00002987: SWAP1 00002988: SSTORE 00002989: POP 0000298a: PUSH2 0x2a44 0000298d: JUMP 0000298e: JUMPDEST 0000298f: PUSH1 0x01 00002991: DUP3 00002992: PUSH1 0x04 00002994: DUP2 00002995: GT 00002996: ISZERO 00002997: PUSH2 0x29a2 0000299a: JUMPI 0000299b: PUSH2 0x29a2 0000299e: PUSH2 0x3a0d 000029a1: JUMP 000029a2: JUMPDEST 000029a3: SUB 000029a4: PUSH2 0x29cc 000029a7: JUMPI 000029a8: PUSH1 0x0c 000029aa: DUP1 000029ab: SLOAD 000029ac: PUSH1 0x01 000029ae: PUSH1 0x01 000029b0: PUSH1 0xc0 000029b2: SHL 000029b3: SUB 000029b4: NOT 000029b5: AND 000029b6: SWAP1 000029b7: SSTORE 000029b8: PUSH1 0x0d 000029ba: DUP1 000029bb: SLOAD 000029bc: PUSH1 0x01 000029be: PUSH1 0x01 000029c0: PUSH1 0xa0 000029c2: SHL 000029c3: SUB 000029c4: NOT 000029c5: AND 000029c6: SWAP1 000029c7: SSTORE 000029c8: PUSH2 0x2a44 000029cb: JUMP 000029cc: JUMPDEST 000029cd: PUSH1 0x03 000029cf: DUP3 000029d0: PUSH1 0x04 000029d2: DUP2 000029d3: GT 000029d4: ISZERO 000029d5: PUSH2 0x29e0 000029d8: JUMPI 000029d9: PUSH2 0x29e0 000029dc: PUSH2 0x3a0d 000029df: JUMP 000029e0: JUMPDEST 000029e1: SUB 000029e2: PUSH2 0x2a0a 000029e5: JUMPI 000029e6: PUSH1 0x0c 000029e8: DUP1 000029e9: SLOAD 000029ea: PUSH4 0xffffffff 000029ef: PUSH1 0xa0 000029f1: SHL 000029f2: NOT 000029f3: AND 000029f4: SWAP1 000029f5: SSTORE 000029f6: PUSH1 0x0d 000029f8: DUP1 000029f9: SLOAD 000029fa: PUSH1 0x01 000029fc: PUSH1 0x01 000029fe: PUSH1 0xa0 00002a00: SHL 00002a01: SUB 00002a02: NOT 00002a03: AND 00002a04: SWAP1 00002a05: SSTORE 00002a06: PUSH2 0x2a44 00002a09: JUMP 00002a0a: JUMPDEST 00002a0b: PUSH1 0x04 00002a0d: DUP3 00002a0e: PUSH1 0x04 00002a10: DUP2 00002a11: GT 00002a12: ISZERO 00002a13: PUSH2 0x2a1e 00002a16: JUMPI 00002a17: PUSH2 0x2a1e 00002a1a: PUSH2 0x3a0d 00002a1d: JUMP 00002a1e: JUMPDEST 00002a1f: SUB 00002a20: PUSH2 0x2a44 00002a23: JUMPI 00002a24: PUSH1 0x0c 00002a26: DUP1 00002a27: SLOAD 00002a28: PUSH4 0xffffffff 00002a2d: PUSH1 0xa0 00002a2f: SHL 00002a30: NOT 00002a31: AND 00002a32: SWAP1 00002a33: SSTORE 00002a34: PUSH1 0x0d 00002a36: DUP1 00002a37: SLOAD 00002a38: PUSH1 0x01 00002a3a: PUSH1 0x01 00002a3c: PUSH1 0xa0 00002a3e: SHL 00002a3f: SUB 00002a40: NOT 00002a41: AND 00002a42: SWAP1 00002a43: SSTORE 00002a44: JUMPDEST 00002a45: PUSH1 0x0c 00002a47: DUP1 00002a48: SLOAD 00002a49: DUP4 00002a4a: SWAP2 00002a4b: SWAP1 00002a4c: PUSH1 0xff 00002a4e: PUSH1 0xc0 00002a50: SHL 00002a51: NOT 00002a52: AND 00002a53: PUSH1 0x01 00002a55: PUSH1 0xc0 00002a57: SHL 00002a58: DUP4 00002a59: PUSH1 0x04 00002a5b: DUP2 00002a5c: GT 00002a5d: ISZERO 00002a5e: PUSH2 0x2a69 00002a61: JUMPI 00002a62: PUSH2 0x2a69 00002a65: PUSH2 0x3a0d 00002a68: JUMP 00002a69: JUMPDEST 00002a6a: MUL 00002a6b: OR 00002a6c: SWAP1 00002a6d: SSTORE 00002a6e: POP 00002a6f: POP 00002a70: POP 00002a71: JUMP 00002a72: JUMPDEST 00002a73: PUSH1 0x01 00002a75: PUSH1 0x01 00002a77: PUSH1 0xa0 00002a79: SHL 00002a7a: SUB 00002a7b: DUP4 00002a7c: DUP2 00002a7d: AND 00002a7e: PUSH1 0x00 00002a80: DUP2 00002a81: DUP2 00002a82: MSTORE 00002a83: PUSH1 0x03 00002a85: PUSH1 0x20 00002a87: SWAP1 00002a88: DUP2 00002a89: MSTORE 00002a8a: PUSH1 0x40 00002a8c: DUP1 00002a8d: DUP4 00002a8e: KECCAK256 00002a8f: SWAP5 00002a90: DUP8 00002a91: AND 00002a92: DUP1 00002a93: DUP5 00002a94: MSTORE 00002a95: SWAP5 00002a96: DUP3 00002a97: MSTORE 00002a98: DUP1 00002a99: DUP4 00002a9a: KECCAK256 00002a9b: DUP7 00002a9c: SWAP1 00002a9d: SSTORE 00002a9e: MLOAD 00002a9f: DUP6 00002aa0: DUP2 00002aa1: MSTORE 00002aa2: SWAP2 00002aa3: SWAP4 00002aa4: SWAP3 00002aa5: SWAP2 00002aa6: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 00002ac7: SWAP2 00002ac8: ADD 00002ac9: JUMPDEST 00002aca: PUSH1 0x40 00002acc: MLOAD 00002acd: DUP1 00002ace: SWAP2 00002acf: SUB 00002ad0: SWAP1 00002ad1: LOG3 00002ad2: POP 00002ad3: PUSH1 0x01 00002ad5: SWAP4 00002ad6: SWAP3 00002ad7: POP 00002ad8: POP 00002ad9: POP 00002ada: JUMP 00002adb: JUMPDEST 00002adc: PUSH1 0x0c 00002ade: SLOAD 00002adf: PUSH1 0x00 00002ae1: SWAP1 00002ae2: DUP2 00002ae3: SWAP1 00002ae4: PUSH1 0x01 00002ae6: PUSH1 0xc0 00002ae8: SHL 00002ae9: SWAP1 00002aea: DIV 00002aeb: PUSH1 0xff 00002aed: AND 00002aee: PUSH1 0x04 00002af0: DUP2 00002af1: GT 00002af2: ISZERO 00002af3: PUSH2 0x2afe 00002af6: JUMPI 00002af7: PUSH2 0x2afe 00002afa: PUSH2 0x3a0d 00002afd: JUMP 00002afe: JUMPDEST 00002aff: DUP2 00002b00: PUSH1 0x04 00002b02: DUP2 00002b03: GT 00002b04: ISZERO 00002b05: PUSH2 0x2b10 00002b08: JUMPI 00002b09: PUSH2 0x2b10 00002b0c: PUSH2 0x3a0d 00002b0f: JUMP 00002b10: JUMPDEST 00002b11: EQ 00002b12: PUSH2 0x2b2d 00002b15: JUMPI 00002b16: PUSH1 0x40 00002b18: MLOAD 00002b19: PUSH3 0x461bcd 00002b1d: PUSH1 0xe5 00002b1f: SHL 00002b20: DUP2 00002b21: MSTORE 00002b22: PUSH1 0x04 00002b24: ADD 00002b25: PUSH2 0x08bb 00002b28: SWAP1 00002b29: PUSH2 0x3b2f 00002b2c: JUMP 00002b2d: JUMPDEST 00002b2e: PUSH1 0x0c 00002b30: DUP1 00002b31: SLOAD 00002b32: PUSH1 0x01 00002b34: PUSH1 0x01 00002b36: PUSH1 0xa0 00002b38: SHL 00002b39: SUB 00002b3a: NOT 00002b3b: AND 00002b3c: SWAP1 00002b3d: SSTORE 00002b3e: PUSH1 0x40 00002b40: MLOAD 00002b41: PUSH4 0x70a08231 00002b46: PUSH1 0xe0 00002b48: SHL 00002b49: DUP2 00002b4a: MSTORE 00002b4b: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00002b6c: PUSH1 0x01 00002b6e: PUSH1 0x01 00002b70: PUSH1 0xa0 00002b72: SHL 00002b73: SUB 00002b74: AND 00002b75: SWAP1 00002b76: PUSH4 0x70a08231 00002b7b: SWAP1 00002b7c: PUSH2 0x2b89 00002b7f: SWAP1 00002b80: ADDRESS 00002b81: SWAP1 00002b82: PUSH1 0x04 00002b84: ADD 00002b85: PUSH2 0x3758 00002b88: JUMP 00002b89: JUMPDEST 00002b8a: PUSH1 0x20 00002b8c: PUSH1 0x40 00002b8e: MLOAD 00002b8f: DUP1 00002b90: DUP4 00002b91: SUB 00002b92: DUP2 00002b93: DUP7 00002b94: GAS 00002b95: STATICCALL 00002b96: ISZERO 00002b97: DUP1 00002b98: ISZERO 00002b99: PUSH2 0x2ba6 00002b9c: JUMPI 00002b9d: RETURNDATASIZE 00002b9e: PUSH1 0x00 00002ba0: DUP1 00002ba1: RETURNDATACOPY 00002ba2: RETURNDATASIZE 00002ba3: PUSH1 0x00 00002ba5: REVERT 00002ba6: JUMPDEST 00002ba7: POP 00002ba8: POP 00002ba9: POP 00002baa: POP 00002bab: PUSH1 0x40 00002bad: MLOAD 00002bae: RETURNDATASIZE 00002baf: PUSH1 0x1f 00002bb1: NOT 00002bb2: PUSH1 0x1f 00002bb4: DUP3 00002bb5: ADD 00002bb6: AND 00002bb7: DUP3 00002bb8: ADD 00002bb9: DUP1 00002bba: PUSH1 0x40 00002bbc: MSTORE 00002bbd: POP 00002bbe: DUP2 00002bbf: ADD 00002bc0: SWAP1 00002bc1: PUSH2 0x2bca 00002bc4: SWAP2 00002bc5: SWAP1 00002bc6: PUSH2 0x3bca 00002bc9: JUMP 00002bca: JUMPDEST 00002bcb: PUSH1 0x0e 00002bcd: DUP2 00002bce: SWAP1 00002bcf: SSTORE 00002bd0: SWAP2 00002bd1: POP 00002bd2: DUP2 00002bd3: PUSH2 0x2c13 00002bd6: JUMPI 00002bd7: PUSH1 0x40 00002bd9: MLOAD 00002bda: PUSH3 0x461bcd 00002bde: PUSH1 0xe5 00002be0: SHL 00002be1: DUP2 00002be2: MSTORE 00002be3: PUSH1 0x20 00002be5: PUSH1 0x04 00002be7: DUP3 00002be8: ADD 00002be9: MSTORE 00002bea: PUSH1 0x12 00002bec: PUSH1 0x24 00002bee: DUP3 00002bef: ADD 00002bf0: MSTORE 00002bf1: PUSH18 0x2737ba1032b737bab3b4103130b9b29034b7 00002c04: PUSH1 0x71 00002c06: SHL 00002c07: PUSH1 0x44 00002c09: DUP3 00002c0a: ADD 00002c0b: MSTORE 00002c0c: PUSH1 0x64 00002c0e: ADD 00002c0f: PUSH2 0x08bb 00002c12: JUMP 00002c13: JUMPDEST 00002c14: PUSH2 0x2c1d 00002c17: DUP4 00002c18: DUP4 00002c19: PUSH2 0x2fae 00002c1c: JUMP 00002c1d: JUMPDEST 00002c1e: POP 00002c1f: PUSH2 0x2c28 00002c22: PUSH1 0x01 00002c24: PUSH2 0x2cd6 00002c27: JUMP 00002c28: JUMPDEST 00002c29: POP 00002c2a: SWAP2 00002c2b: SWAP1 00002c2c: POP 00002c2d: JUMP 00002c2e: JUMPDEST 00002c2f: PUSH1 0x00 00002c31: PUSH2 0x2c38 00002c34: PUSH2 0x3014 00002c37: JUMP 00002c38: JUMPDEST 00002c39: PUSH2 0x2c41 00002c3c: DUP4 00002c3d: PUSH2 0x32bd 00002c40: JUMP 00002c41: JUMPDEST 00002c42: PUSH1 0x01 00002c44: PUSH1 0x01 00002c46: PUSH1 0xa0 00002c48: SHL 00002c49: SUB 00002c4a: DUP1 00002c4b: DUP6 00002c4c: AND 00002c4d: PUSH1 0x00 00002c4f: SWAP1 00002c50: DUP2 00002c51: MSTORE 00002c52: PUSH1 0x0b 00002c54: PUSH1 0x20 00002c56: MSTORE 00002c57: PUSH1 0x40 00002c59: SWAP1 00002c5a: KECCAK256 00002c5b: DUP1 00002c5c: SLOAD 00002c5d: PUSH1 0x01 00002c5f: PUSH1 0x01 00002c61: PUSH1 0x80 00002c63: SHL 00002c64: SUB 00002c65: NOT 00002c66: AND 00002c67: SWAP1 00002c68: SSTORE 00002c69: PUSH1 0x08 00002c6b: SLOAD 00002c6c: PUSH1 0x01 00002c6e: PUSH1 0x01 00002c70: PUSH1 0x80 00002c72: SHL 00002c73: SUB 00002c74: SWAP3 00002c75: SWAP1 00002c76: SWAP3 00002c77: AND 00002c78: SWAP3 00002c79: POP 00002c7a: PUSH2 0x2c85 00002c7d: SWAP2 00002c7e: AND 00002c7f: DUP4 00002c80: DUP4 00002c81: PUSH2 0x274c 00002c84: JUMP 00002c85: JUMPDEST 00002c86: PUSH1 0x40 00002c88: DUP1 00002c89: MLOAD 00002c8a: PUSH1 0x01 00002c8c: PUSH1 0x01 00002c8e: PUSH1 0xa0 00002c90: SHL 00002c91: SUB 00002c92: DUP1 00002c93: DUP7 00002c94: AND 00002c95: DUP3 00002c96: MSTORE 00002c97: DUP5 00002c98: AND 00002c99: PUSH1 0x20 00002c9b: DUP3 00002c9c: ADD 00002c9d: MSTORE 00002c9e: SWAP1 00002c9f: DUP2 00002ca0: ADD 00002ca1: DUP3 00002ca2: SWAP1 00002ca3: MSTORE 00002ca4: PUSH32 0xf7a40077ff7a04c7e61f6f26fb13774259ddf1b6bce9ecf26a8276cdd3992683 00002cc5: SWAP1 00002cc6: PUSH1 0x60 00002cc8: ADD 00002cc9: PUSH1 0x40 00002ccb: MLOAD 00002ccc: DUP1 00002ccd: SWAP2 00002cce: SUB 00002ccf: SWAP1 00002cd0: LOG1 00002cd1: SWAP3 00002cd2: SWAP2 00002cd3: POP 00002cd4: POP 00002cd5: JUMP 00002cd6: JUMPDEST 00002cd7: PUSH1 0x02 00002cd9: DUP2 00002cda: PUSH1 0x04 00002cdc: DUP2 00002cdd: GT 00002cde: ISZERO 00002cdf: PUSH2 0x2cea 00002ce2: JUMPI 00002ce3: PUSH2 0x2cea 00002ce6: PUSH2 0x3a0d 00002ce9: JUMP 00002cea: JUMPDEST 00002ceb: SUB 00002cec: PUSH2 0x2d2d 00002cef: JUMPI 00002cf0: PUSH1 0x40 00002cf2: MLOAD 00002cf3: PUSH3 0x461bcd 00002cf7: PUSH1 0xe5 00002cf9: SHL 00002cfa: DUP2 00002cfb: MSTORE 00002cfc: PUSH1 0x20 00002cfe: PUSH1 0x04 00002d00: DUP3 00002d01: ADD 00002d02: MSTORE 00002d03: PUSH1 0x13 00002d05: PUSH1 0x24 00002d07: DUP3 00002d08: ADD 00002d09: MSTORE 00002d0a: PUSH19 0x135d5cdd081c1c9bdd9a59194818481c1bdbdb 00002d1e: PUSH1 0x6a 00002d20: SHL 00002d21: PUSH1 0x44 00002d23: DUP3 00002d24: ADD 00002d25: MSTORE 00002d26: PUSH1 0x64 00002d28: ADD 00002d29: PUSH2 0x08bb 00002d2c: JUMP 00002d2d: JUMPDEST 00002d2e: PUSH2 0x2d38 00002d31: DUP2 00002d32: PUSH1 0x00 00002d34: PUSH2 0x284b 00002d37: JUMP 00002d38: JUMPDEST 00002d39: POP 00002d3a: JUMP 00002d3b: JUMPDEST 00002d3c: PUSH1 0x00 00002d3e: PUSH1 0x01 00002d40: PUSH1 0x01 00002d42: PUSH1 0xa0 00002d44: SHL 00002d45: SUB 00002d46: DUP4 00002d47: AND 00002d48: CALLER 00002d49: EQ 00002d4a: PUSH2 0x2ddb 00002d4d: JUMPI 00002d4e: PUSH1 0x01 00002d50: PUSH1 0x01 00002d52: PUSH1 0xa0 00002d54: SHL 00002d55: SUB 00002d56: DUP4 00002d57: AND 00002d58: PUSH1 0x00 00002d5a: SWAP1 00002d5b: DUP2 00002d5c: MSTORE 00002d5d: PUSH1 0x03 00002d5f: PUSH1 0x20 00002d61: SWAP1 00002d62: DUP2 00002d63: MSTORE 00002d64: PUSH1 0x40 00002d66: DUP1 00002d67: DUP4 00002d68: KECCAK256 00002d69: CALLER 00002d6a: DUP5 00002d6b: MSTORE 00002d6c: SWAP1 00002d6d: SWAP2 00002d6e: MSTORE 00002d6f: SWAP1 00002d70: KECCAK256 00002d71: SLOAD 00002d72: PUSH1 0x00 00002d74: NOT 00002d75: DUP2 00002d76: EQ 00002d77: PUSH2 0x2dd9 00002d7a: JUMPI 00002d7b: DUP3 00002d7c: DUP2 00002d7d: LT 00002d7e: ISZERO 00002d7f: PUSH2 0x2dca 00002d82: JUMPI 00002d83: PUSH1 0x40 00002d85: MLOAD 00002d86: PUSH3 0x461bcd 00002d8a: PUSH1 0xe5 00002d8c: SHL 00002d8d: DUP2 00002d8e: MSTORE 00002d8f: PUSH1 0x20 00002d91: PUSH1 0x04 00002d93: DUP3 00002d94: ADD 00002d95: MSTORE 00002d96: PUSH1 0x1c 00002d98: PUSH1 0x24 00002d9a: DUP3 00002d9b: ADD 00002d9c: MSTORE 00002d9d: PUSH32 0x45524332303a20496e73756666696369656e7420617070726f76616c00000000 00002dbe: PUSH1 0x44 00002dc0: DUP3 00002dc1: ADD 00002dc2: MSTORE 00002dc3: PUSH1 0x64 00002dc5: ADD 00002dc6: PUSH2 0x08bb 00002dc9: JUMP 00002dca: JUMPDEST 00002dcb: PUSH2 0x2dd7 00002dce: DUP5 00002dcf: CALLER 00002dd0: DUP6 00002dd1: DUP5 00002dd2: SUB 00002dd3: PUSH2 0x2a72 00002dd6: JUMP 00002dd7: JUMPDEST 00002dd8: POP 00002dd9: JUMPDEST 00002dda: POP 00002ddb: JUMPDEST 00002ddc: POP 00002ddd: PUSH1 0x01 00002ddf: SWAP3 00002de0: SWAP2 00002de1: POP 00002de2: POP 00002de3: JUMP 00002de4: JUMPDEST 00002de5: PUSH1 0x00 00002de7: PUSH2 0x2dee 00002dea: PUSH2 0x3014 00002ded: JUMP 00002dee: JUMPDEST 00002def: PUSH2 0x2df7 00002df2: DUP5 00002df3: PUSH2 0x32bd 00002df6: JUMP 00002df7: JUMPDEST 00002df8: POP 00002df9: PUSH2 0x2e01 00002dfc: DUP4 00002dfd: PUSH2 0x32bd 00002e00: JUMP 00002e01: JUMPDEST 00002e02: POP 00002e03: PUSH2 0x12dc 00002e06: DUP5 00002e07: DUP5 00002e08: DUP5 00002e09: PUSH2 0x342d 00002e0c: JUMP 00002e0d: JUMPDEST 00002e0e: PUSH1 0x00 00002e10: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f 00002e31: PUSH1 0x04 00002e33: PUSH1 0x40 00002e35: MLOAD 00002e36: PUSH2 0x2e3f 00002e39: SWAP2 00002e3a: SWAP1 00002e3b: PUSH2 0x3da4 00002e3e: JUMP 00002e3f: JUMPDEST 00002e40: PUSH1 0x40 00002e42: MLOAD 00002e43: DUP1 00002e44: SWAP2 00002e45: SUB 00002e46: SWAP1 00002e47: KECCAK256 00002e48: PUSH2 0x2e4f 00002e4b: PUSH2 0x137e 00002e4e: JUMP 00002e4f: JUMPDEST 00002e50: DUP1 00002e51: MLOAD 00002e52: PUSH1 0x20 00002e54: SWAP2 00002e55: DUP3 00002e56: ADD 00002e57: KECCAK256 00002e58: PUSH1 0x40 00002e5a: DUP1 00002e5b: MLOAD 00002e5c: SWAP3 00002e5d: DUP4 00002e5e: ADD 00002e5f: SWAP5 00002e60: SWAP1 00002e61: SWAP5 00002e62: MSTORE 00002e63: SWAP3 00002e64: DUP2 00002e65: ADD 00002e66: SWAP2 00002e67: SWAP1 00002e68: SWAP2 00002e69: MSTORE 00002e6a: PUSH1 0x60 00002e6c: DUP2 00002e6d: ADD 00002e6e: SWAP2 00002e6f: SWAP1 00002e70: SWAP2 00002e71: MSTORE 00002e72: PUSH1 0x80 00002e74: DUP2 00002e75: ADD 00002e76: DUP4 00002e77: SWAP1 00002e78: MSTORE 00002e79: ADDRESS 00002e7a: PUSH1 0xa0 00002e7c: DUP3 00002e7d: ADD 00002e7e: MSTORE 00002e7f: PUSH1 0xc0 00002e81: ADD 00002e82: PUSH1 0x40 00002e84: MLOAD 00002e85: PUSH1 0x20 00002e87: DUP2 00002e88: DUP4 00002e89: SUB 00002e8a: SUB 00002e8b: DUP2 00002e8c: MSTORE 00002e8d: SWAP1 00002e8e: PUSH1 0x40 00002e90: MSTORE 00002e91: DUP1 00002e92: MLOAD 00002e93: SWAP1 00002e94: PUSH1 0x20 00002e96: ADD 00002e97: KECCAK256 00002e98: SWAP1 00002e99: POP 00002e9a: SWAP2 00002e9b: SWAP1 00002e9c: POP 00002e9d: JUMP 00002e9e: JUMPDEST 00002e9f: PUSH1 0x01 00002ea1: PUSH1 0x01 00002ea3: PUSH1 0xe0 00002ea5: SHL 00002ea6: SUB 00002ea7: NOT 00002ea8: AND 00002ea9: PUSH1 0x00 00002eab: SWAP1 00002eac: DUP2 00002ead: MSTORE 00002eae: PUSH1 0x20 00002eb0: DUP2 00002eb1: SWAP1 00002eb2: MSTORE 00002eb3: PUSH1 0x40 00002eb5: SWAP1 00002eb6: KECCAK256 00002eb7: PUSH1 0x01 00002eb9: ADD 00002eba: SLOAD 00002ebb: PUSH1 0xe0 00002ebd: SHL 00002ebe: SWAP1 00002ebf: JUMP 00002ec0: JUMPDEST 00002ec1: PUSH2 0x2eca 00002ec4: DUP3 00002ec5: DUP3 00002ec6: PUSH2 0x2717 00002ec9: JUMP 00002eca: JUMPDEST 00002ecb: ISZERO 00002ecc: PUSH2 0x13d4 00002ecf: JUMPI 00002ed0: PUSH1 0x01 00002ed2: PUSH1 0x01 00002ed4: PUSH1 0xe0 00002ed6: SHL 00002ed7: SUB 00002ed8: NOT 00002ed9: DUP3 00002eda: AND 00002edb: PUSH1 0x00 00002edd: DUP2 00002ede: DUP2 00002edf: MSTORE 00002ee0: PUSH1 0x20 00002ee2: DUP2 00002ee3: DUP2 00002ee4: MSTORE 00002ee5: PUSH1 0x40 00002ee7: DUP1 00002ee8: DUP4 00002ee9: KECCAK256 00002eea: PUSH1 0x01 00002eec: PUSH1 0x01 00002eee: PUSH1 0xa0 00002ef0: SHL 00002ef1: SUB 00002ef2: DUP7 00002ef3: AND 00002ef4: DUP1 00002ef5: DUP6 00002ef6: MSTORE 00002ef7: SWAP3 00002ef8: MSTORE 00002ef9: DUP1 00002efa: DUP4 00002efb: KECCAK256 00002efc: DUP1 00002efd: SLOAD 00002efe: PUSH1 0xff 00002f00: NOT 00002f01: AND 00002f02: SWAP1 00002f03: SSTORE 00002f04: MLOAD 00002f05: CALLER 00002f06: SWAP4 00002f07: SWAP2 00002f08: SWAP3 00002f09: PUSH32 0x4ddc7b757e7bdd7254a9cd39452d307a52761bc824625c6a33104a075d8099e6 00002f2a: SWAP2 00002f2b: LOG4 00002f2c: POP 00002f2d: POP 00002f2e: JUMP 00002f2f: JUMPDEST 00002f30: PUSH1 0x01 00002f32: PUSH1 0x01 00002f34: PUSH1 0xe0 00002f36: SHL 00002f37: SUB 00002f38: NOT 00002f39: DUP2 00002f3a: AND 00002f3b: PUSH2 0x2f43 00002f3e: DUP4 00002f3f: PUSH2 0x2e9e 00002f42: JUMP 00002f43: JUMPDEST 00002f44: PUSH1 0x01 00002f46: PUSH1 0x01 00002f48: PUSH1 0xe0 00002f4a: SHL 00002f4b: SUB 00002f4c: NOT 00002f4d: AND 00002f4e: EQ 00002f4f: PUSH2 0x13d4 00002f52: JUMPI 00002f53: PUSH1 0x01 00002f55: PUSH1 0x01 00002f57: PUSH1 0xe0 00002f59: SHL 00002f5a: SUB 00002f5b: NOT 00002f5c: DUP3 00002f5d: DUP2 00002f5e: AND 00002f5f: PUSH1 0x00 00002f61: DUP2 00002f62: DUP2 00002f63: MSTORE 00002f64: PUSH1 0x20 00002f66: DUP2 00002f67: SWAP1 00002f68: MSTORE 00002f69: PUSH1 0x40 00002f6b: DUP1 00002f6c: DUP3 00002f6d: KECCAK256 00002f6e: PUSH1 0x01 00002f70: ADD 00002f71: DUP1 00002f72: SLOAD 00002f73: PUSH4 0xffffffff 00002f78: NOT 00002f79: AND 00002f7a: PUSH1 0xe0 00002f7c: DUP8 00002f7d: SWAP1 00002f7e: SHR 00002f7f: OR 00002f80: SWAP1 00002f81: SSTORE 00002f82: MLOAD 00002f83: SWAP3 00002f84: DUP5 00002f85: AND 00002f86: SWAP3 00002f87: PUSH32 0xd348e2220a50b4500ec353f6e802d2f14dd1b5d6786148fd1bbcc570bf92d473 00002fa8: SWAP2 00002fa9: SWAP1 00002faa: LOG3 00002fab: POP 00002fac: POP 00002fad: JUMP 00002fae: JUMPDEST 00002faf: PUSH1 0x00 00002fb1: PUSH2 0x2fb8 00002fb4: PUSH2 0x3014 00002fb7: JUMP 00002fb8: JUMPDEST 00002fb9: PUSH2 0x2fc1 00002fbc: DUP4 00002fbd: PUSH2 0x32bd 00002fc0: JUMP 00002fc1: JUMPDEST 00002fc2: POP 00002fc3: PUSH2 0x0fe0 00002fc6: DUP4 00002fc7: DUP4 00002fc8: PUSH2 0x34da 00002fcb: JUMP 00002fcc: JUMPDEST 00002fcd: PUSH1 0x00 00002fcf: PUSH2 0x2fd6 00002fd2: PUSH2 0x3014 00002fd5: JUMP 00002fd6: JUMPDEST 00002fd7: PUSH2 0x2fdf 00002fda: DUP4 00002fdb: PUSH2 0x32bd 00002fde: JUMP 00002fdf: JUMPDEST 00002fe0: POP 00002fe1: PUSH2 0x0fe0 00002fe4: DUP4 00002fe5: DUP4 00002fe6: PUSH2 0x3561 00002fe9: JUMP 00002fea: JUMPDEST 00002feb: PUSH1 0x00 00002fed: PUSH4 0xffffffff 00002ff2: DUP3 00002ff3: GT 00002ff4: ISZERO 00002ff5: PUSH2 0x3010 00002ff8: JUMPI 00002ff9: PUSH1 0x40 00002ffb: MLOAD 00002ffc: PUSH3 0x461bcd 00003000: PUSH1 0xe5 00003002: SHL 00003003: DUP2 00003004: MSTORE 00003005: PUSH1 0x04 00003007: ADD 00003008: PUSH2 0x08bb 0000300b: SWAP1 0000300c: PUSH2 0x3e43 0000300f: JUMP 00003010: JUMPDEST 00003011: POP 00003012: SWAP1 00003013: JUMP 00003014: JUMPDEST 00003015: PUSH1 0x40 00003017: DUP1 00003018: MLOAD 00003019: PUSH1 0x60 0000301b: DUP2 0000301c: ADD 0000301d: DUP3 0000301e: MSTORE 0000301f: PUSH1 0x0a 00003021: SLOAD 00003022: PUSH1 0x01 00003024: PUSH1 0x01 00003026: PUSH1 0x80 00003028: SHL 00003029: SUB 0000302a: DUP2 0000302b: AND 0000302c: DUP3 0000302d: MSTORE 0000302e: PUSH1 0x01 00003030: PUSH1 0x80 00003032: SHL 00003033: DUP2 00003034: DIV 00003035: PUSH4 0xffffffff 0000303a: SWAP1 0000303b: DUP2 0000303c: AND 0000303d: PUSH1 0x20 0000303f: DUP1 00003040: DUP6 00003041: ADD 00003042: SWAP2 00003043: SWAP1 00003044: SWAP2 00003045: MSTORE 00003046: PUSH1 0x01 00003048: PUSH1 0xa0 0000304a: SHL 0000304b: SWAP1 0000304c: SWAP3 0000304d: DIV 0000304e: PUSH1 0x01 00003050: PUSH1 0x01 00003052: PUSH1 0x60 00003054: SHL 00003055: SUB 00003056: AND 00003057: DUP4 00003058: DUP6 00003059: ADD 0000305a: MSTORE 0000305b: DUP4 0000305c: MLOAD 0000305d: DUP1 0000305e: DUP6 0000305f: ADD 00003060: SWAP1 00003061: SWAP5 00003062: MSTORE 00003063: PUSH1 0x09 00003065: SLOAD 00003066: DUP1 00003067: DUP3 00003068: AND 00003069: DUP1 0000306a: DUP7 0000306b: MSTORE 0000306c: PUSH1 0x01 0000306e: PUSH1 0x20 00003070: SHL 00003071: SWAP1 00003072: SWAP2 00003073: DIV 00003074: SWAP1 00003075: SWAP2 00003076: AND 00003077: SWAP2 00003078: DUP5 00003079: ADD 0000307a: SWAP2 0000307b: SWAP1 0000307c: SWAP2 0000307d: MSTORE 0000307e: PUSH1 0x01 00003080: SLOAD 00003081: SWAP2 00003082: SWAP3 00003083: SWAP2 00003084: SWAP1 00003085: PUSH2 0x308d 00003088: TIMESTAMP 00003089: PUSH2 0x2fea 0000308c: JUMP 0000308d: JUMPDEST 0000308e: PUSH4 0xffffffff 00003093: AND 00003094: LT 00003095: ISZERO 00003096: PUSH2 0x309e 00003099: JUMPI 0000309a: POP 0000309b: POP 0000309c: POP 0000309d: JUMP 0000309e: JUMPDEST 0000309f: PUSH1 0x00 000030a1: PUSH2 0x30b6 000030a4: PUSH2 0x30ac 000030a7: TIMESTAMP 000030a8: PUSH2 0x2fea 000030ab: JUMP 000030ac: JUMPDEST 000030ad: DUP5 000030ae: PUSH1 0x20 000030b0: ADD 000030b1: MLOAD 000030b2: PUSH2 0x35e1 000030b5: JUMP 000030b6: JUMPDEST 000030b7: SWAP1 000030b8: POP 000030b9: PUSH1 0x00 000030bb: DUP5 000030bc: PUSH1 0x20 000030be: ADD 000030bf: MLOAD 000030c0: DUP3 000030c1: PUSH2 0x30ca 000030c4: SWAP2 000030c5: SWAP1 000030c6: PUSH2 0x3e6a 000030c9: JUMP 000030ca: JUMPDEST 000030cb: PUSH4 0xffffffff 000030d0: AND 000030d1: SWAP1 000030d2: POP 000030d3: DUP1 000030d4: PUSH1 0x00 000030d6: SUB 000030d7: PUSH2 0x30e1 000030da: JUMPI 000030db: POP 000030dc: POP 000030dd: POP 000030de: POP 000030df: POP 000030e0: JUMP 000030e1: JUMPDEST 000030e2: DUP3 000030e3: ISZERO 000030e4: PUSH2 0x3147 000030e7: JUMPI 000030e8: PUSH2 0x313b 000030eb: DUP4 000030ec: DUP7 000030ed: PUSH1 0x40 000030ef: ADD 000030f0: MLOAD 000030f1: PUSH1 0x01 000030f3: PUSH1 0x01 000030f5: PUSH1 0x60 000030f7: SHL 000030f8: SUB 000030f9: AND 000030fa: DUP4 000030fb: PUSH8 0x0de0b6b3a7640000 00003104: PUSH2 0x310d 00003107: SWAP2 00003108: SWAP1 00003109: PUSH2 0x3cd2 0000310c: JUMP 0000310d: JUMPDEST 0000310e: PUSH2 0x3117 00003111: SWAP2 00003112: SWAP1 00003113: PUSH2 0x3cd2 00003116: JUMP 00003117: JUMPDEST 00003118: PUSH2 0x3121 0000311b: SWAP2 0000311c: SWAP1 0000311d: PUSH2 0x3cf1 00003120: JUMP 00003121: JUMPDEST 00003122: DUP7 00003123: MLOAD 00003124: PUSH2 0x3136 00003127: SWAP2 00003128: SWAP1 00003129: PUSH1 0x01 0000312b: PUSH1 0x01 0000312d: PUSH1 0x80 0000312f: SHL 00003130: SUB 00003131: AND 00003132: PUSH2 0x3c3b 00003135: JUMP 00003136: JUMPDEST 00003137: PUSH2 0x3603 0000313a: JUMP 0000313b: JUMPDEST 0000313c: PUSH1 0x01 0000313e: PUSH1 0x01 00003140: PUSH1 0x80 00003142: SHL 00003143: SUB 00003144: AND 00003145: DUP6 00003146: MSTORE 00003147: JUMPDEST 00003148: PUSH4 0xffffffff 0000314d: DUP3 0000314e: AND 0000314f: PUSH1 0x20 00003151: DUP7 00003152: ADD 00003153: DUP2 00003154: SWAP1 00003155: MSTORE 00003156: DUP6 00003157: MLOAD 00003158: PUSH1 0x0a 0000315a: DUP1 0000315b: SLOAD 0000315c: PUSH1 0x40 0000315e: DUP1 0000315f: DUP11 00003160: ADD 00003161: MLOAD 00003162: PUSH1 0x01 00003164: PUSH1 0x01 00003166: PUSH1 0x60 00003168: SHL 00003169: SUB 0000316a: AND 0000316b: PUSH1 0x01 0000316d: PUSH1 0xa0 0000316f: SHL 00003170: MUL 00003171: PUSH1 0x01 00003173: PUSH1 0x01 00003175: PUSH1 0xa0 00003177: SHL 00003178: SUB 00003179: PUSH1 0x01 0000317b: PUSH1 0x80 0000317d: SHL 0000317e: SWAP1 0000317f: SWAP7 00003180: MUL 00003181: PUSH1 0x01 00003183: PUSH1 0x01 00003185: PUSH1 0xa0 00003187: SHL 00003188: SUB 00003189: NOT 0000318a: SWAP1 0000318b: SWAP4 0000318c: AND 0000318d: PUSH1 0x01 0000318f: PUSH1 0x01 00003191: PUSH1 0x80 00003193: SHL 00003194: SUB 00003195: DUP7 00003196: AND 00003197: OR 00003198: SWAP3 00003199: SWAP1 0000319a: SWAP3 0000319b: OR 0000319c: SWAP5 0000319d: SWAP1 0000319e: SWAP5 0000319f: AND 000031a0: OR 000031a1: SWAP1 000031a2: SSTORE 000031a3: SWAP1 000031a4: MLOAD 000031a5: PUSH32 0xe972555b20cae8150e291bb40efce3ef4e3ed6b6b2c39c029346600e95469d48 000031c6: SWAP2 000031c7: PUSH2 0x31de 000031ca: SWAP2 000031cb: PUSH1 0x01 000031cd: PUSH1 0x01 000031cf: PUSH1 0x80 000031d1: SHL 000031d2: SUB 000031d3: SWAP2 000031d4: SWAP1 000031d5: SWAP2 000031d6: AND 000031d7: DUP2 000031d8: MSTORE 000031d9: PUSH1 0x20 000031db: ADD 000031dc: SWAP1 000031dd: JUMP 000031de: JUMPDEST 000031df: PUSH1 0x40 000031e1: MLOAD 000031e2: DUP1 000031e3: SWAP2 000031e4: SUB 000031e5: SWAP1 000031e6: LOG1 000031e7: POP 000031e8: POP 000031e9: POP 000031ea: POP 000031eb: POP 000031ec: JUMP 000031ed: JUMPDEST 000031ee: PUSH2 0x31f7 000031f1: DUP3 000031f2: DUP3 000031f3: PUSH2 0x2717 000031f6: JUMP 000031f7: JUMPDEST 000031f8: PUSH2 0x13d4 000031fb: JUMPI 000031fc: PUSH1 0x01 000031fe: PUSH1 0x01 00003200: PUSH1 0xe0 00003202: SHL 00003203: SUB 00003204: NOT 00003205: DUP3 00003206: AND 00003207: PUSH1 0x00 00003209: DUP2 0000320a: DUP2 0000320b: MSTORE 0000320c: PUSH1 0x20 0000320e: DUP2 0000320f: DUP2 00003210: MSTORE 00003211: PUSH1 0x40 00003213: DUP1 00003214: DUP4 00003215: KECCAK256 00003216: PUSH1 0x01 00003218: PUSH1 0x01 0000321a: PUSH1 0xa0 0000321c: SHL 0000321d: SUB 0000321e: DUP7 0000321f: AND 00003220: DUP1 00003221: DUP6 00003222: MSTORE 00003223: SWAP3 00003224: MSTORE 00003225: DUP1 00003226: DUP4 00003227: KECCAK256 00003228: DUP1 00003229: SLOAD 0000322a: PUSH1 0xff 0000322c: NOT 0000322d: AND 0000322e: PUSH1 0x01 00003230: OR 00003231: SWAP1 00003232: SSTORE 00003233: MLOAD 00003234: CALLER 00003235: SWAP4 00003236: SWAP2 00003237: SWAP3 00003238: PUSH32 0xe6231789d19137da31d0550f4ba9ee379020a8cfb64cb79bf1790c996d2e6165 00003259: SWAP2 0000325a: LOG4 0000325b: POP 0000325c: POP 0000325d: JUMP 0000325e: JUMPDEST 0000325f: PUSH1 0x60 00003261: PUSH1 0x44 00003263: DUP3 00003264: MLOAD 00003265: LT 00003266: ISZERO 00003267: PUSH2 0x32a3 0000326a: JUMPI 0000326b: POP 0000326c: POP 0000326d: PUSH1 0x40 0000326f: DUP1 00003270: MLOAD 00003271: DUP1 00003272: DUP3 00003273: ADD 00003274: SWAP1 00003275: SWAP2 00003276: MSTORE 00003277: PUSH1 0x1d 00003279: DUP2 0000327a: MSTORE 0000327b: PUSH32 0x5472616e73616374696f6e2072657665727465642073696c656e746c79000000 0000329c: PUSH1 0x20 0000329e: DUP3 0000329f: ADD 000032a0: MSTORE 000032a1: SWAP1 000032a2: JUMP 000032a3: JUMPDEST 000032a4: PUSH1 0x04 000032a6: DUP3 000032a7: ADD 000032a8: SWAP2 000032a9: POP 000032aa: DUP2 000032ab: DUP1 000032ac: PUSH1 0x20 000032ae: ADD 000032af: SWAP1 000032b0: MLOAD 000032b1: DUP2 000032b2: ADD 000032b3: SWAP1 000032b4: PUSH2 0x1129 000032b7: SWAP2 000032b8: SWAP1 000032b9: PUSH2 0x3e8f 000032bc: JUMP 000032bd: JUMPDEST 000032be: PUSH1 0x01 000032c0: PUSH1 0x01 000032c2: PUSH1 0xa0 000032c4: SHL 000032c5: SUB 000032c6: DUP2 000032c7: AND 000032c8: PUSH1 0x00 000032ca: SWAP1 000032cb: DUP2 000032cc: MSTORE 000032cd: PUSH1 0x0b 000032cf: PUSH1 0x20 000032d1: SWAP1 000032d2: DUP2 000032d3: MSTORE 000032d4: PUSH1 0x40 000032d6: DUP1 000032d7: DUP4 000032d8: KECCAK256 000032d9: DUP2 000032da: MLOAD 000032db: DUP1 000032dc: DUP4 000032dd: ADD 000032de: DUP4 000032df: MSTORE 000032e0: SWAP1 000032e1: SLOAD 000032e2: PUSH1 0x01 000032e4: PUSH1 0x01 000032e6: PUSH1 0x80 000032e8: SHL 000032e9: SUB 000032ea: DUP1 000032eb: DUP3 000032ec: AND 000032ed: DUP4 000032ee: MSTORE 000032ef: PUSH1 0x01 000032f1: PUSH1 0x80 000032f3: SHL 000032f4: SWAP2 000032f5: DUP3 000032f6: SWAP1 000032f7: DIV 000032f8: DUP2 000032f9: AND 000032fa: DUP4 000032fb: DUP7 000032fc: ADD 000032fd: SWAP1 000032fe: DUP2 000032ff: MSTORE 00003300: DUP5 00003301: MLOAD 00003302: PUSH1 0x60 00003304: DUP2 00003305: ADD 00003306: DUP7 00003307: MSTORE 00003308: PUSH1 0x0a 0000330a: SLOAD 0000330b: SWAP3 0000330c: DUP4 0000330d: AND 0000330e: DUP1 0000330f: DUP3 00003310: MSTORE 00003311: SWAP4 00003312: DUP4 00003313: DIV 00003314: PUSH4 0xffffffff 00003319: AND 0000331a: SWAP7 0000331b: DUP2 0000331c: ADD 0000331d: SWAP7 0000331e: SWAP1 0000331f: SWAP7 00003320: MSTORE 00003321: PUSH1 0x01 00003323: PUSH1 0xa0 00003325: SHL 00003326: SWAP1 00003327: SWAP2 00003328: DIV 00003329: PUSH1 0x01 0000332b: PUSH1 0x01 0000332d: PUSH1 0x60 0000332f: SHL 00003330: SUB 00003331: AND 00003332: SWAP4 00003333: DUP6 00003334: ADD 00003335: SWAP4 00003336: SWAP1 00003337: SWAP4 00003338: MSTORE 00003339: SWAP2 0000333a: MLOAD 0000333b: SWAP1 0000333c: SWAP3 0000333d: SWAP2 0000333e: PUSH2 0x33a0 00003341: SWAP2 00003342: PUSH8 0x0de0b6b3a7640000 0000334b: SWAP2 0000334c: PUSH2 0x3355 0000334f: SWAP2 00003350: SWAP1 00003351: PUSH2 0x3f23 00003354: JUMP 00003355: JUMPDEST 00003356: PUSH1 0x01 00003358: PUSH1 0x01 0000335a: PUSH1 0xa0 0000335c: SHL 0000335d: SUB 0000335e: DUP8 0000335f: AND 00003360: PUSH1 0x00 00003362: SWAP1 00003363: DUP2 00003364: MSTORE 00003365: PUSH1 0x02 00003367: PUSH1 0x20 00003369: MSTORE 0000336a: PUSH1 0x40 0000336c: SWAP1 0000336d: KECCAK256 0000336e: SLOAD 0000336f: PUSH2 0x3381 00003372: SWAP2 00003373: PUSH1 0x01 00003375: PUSH1 0x01 00003377: PUSH1 0x80 00003379: SHL 0000337a: SUB 0000337b: AND 0000337c: SWAP1 0000337d: PUSH2 0x3cd2 00003380: JUMP 00003381: JUMPDEST 00003382: PUSH2 0x338b 00003385: SWAP2 00003386: SWAP1 00003387: PUSH2 0x3cf1 0000338a: JUMP 0000338b: JUMPDEST 0000338c: DUP4 0000338d: MLOAD 0000338e: PUSH2 0x3136 00003391: SWAP2 00003392: SWAP1 00003393: PUSH1 0x01 00003395: PUSH1 0x01 00003397: PUSH1 0x80 00003399: SHL 0000339a: SUB 0000339b: AND 0000339c: PUSH2 0x3c3b 0000339f: JUMP 000033a0: JUMPDEST 000033a1: PUSH1 0x01 000033a3: PUSH1 0x01 000033a5: PUSH1 0x80 000033a7: SHL 000033a8: SUB 000033a9: SWAP1 000033aa: DUP2 000033ab: AND 000033ac: DUP4 000033ad: MSTORE 000033ae: DUP2 000033af: MLOAD 000033b0: DUP2 000033b1: AND 000033b2: PUSH1 0x20 000033b4: DUP1 000033b5: DUP6 000033b6: ADD 000033b7: SWAP2 000033b8: DUP3 000033b9: MSTORE 000033ba: PUSH1 0x01 000033bc: PUSH1 0x01 000033be: PUSH1 0xa0 000033c0: SHL 000033c1: SUB 000033c2: DUP8 000033c3: AND 000033c4: PUSH1 0x00 000033c6: DUP2 000033c7: DUP2 000033c8: MSTORE 000033c9: PUSH1 0x0b 000033cb: DUP4 000033cc: MSTORE 000033cd: PUSH1 0x40 000033cf: SWAP1 000033d0: DUP2 000033d1: SWAP1 000033d2: KECCAK256 000033d3: DUP8 000033d4: MLOAD 000033d5: SWAP5 000033d6: MLOAD 000033d7: SWAP5 000033d8: DUP7 000033d9: AND 000033da: PUSH1 0x01 000033dc: PUSH1 0x80 000033de: SHL 000033df: SWAP6 000033e0: SWAP1 000033e1: SWAP7 000033e2: AND 000033e3: SWAP5 000033e4: DUP6 000033e5: MUL 000033e6: DUP7 000033e7: OR 000033e8: SWAP1 000033e9: SSTORE 000033ea: DUP1 000033eb: MLOAD 000033ec: SWAP2 000033ed: DUP3 000033ee: MSTORE 000033ef: SWAP2 000033f0: DUP2 000033f1: ADD 000033f2: SWAP4 000033f3: SWAP1 000033f4: SWAP4 000033f5: MSTORE 000033f6: DUP3 000033f7: ADD 000033f8: MSTORE 000033f9: PUSH32 0x5b9aaf4cc5141c090a75f8b8a627863eba92df81f0c83c096350da9b79aedd04 0000341a: SWAP1 0000341b: PUSH1 0x60 0000341d: ADD 0000341e: PUSH1 0x40 00003420: MLOAD 00003421: DUP1 00003422: SWAP2 00003423: SUB 00003424: SWAP1 00003425: LOG1 00003426: POP 00003427: MLOAD 00003428: SWAP3 00003429: SWAP2 0000342a: POP 0000342b: POP 0000342c: JUMP 0000342d: JUMPDEST 0000342e: PUSH1 0x01 00003430: PUSH1 0x01 00003432: PUSH1 0xa0 00003434: SHL 00003435: SUB 00003436: DUP4 00003437: AND 00003438: PUSH1 0x00 0000343a: SWAP1 0000343b: DUP2 0000343c: MSTORE 0000343d: PUSH1 0x02 0000343f: PUSH1 0x20 00003441: MSTORE 00003442: PUSH1 0x40 00003444: DUP2 00003445: KECCAK256 00003446: SLOAD 00003447: DUP3 00003448: GT 00003449: ISZERO 0000344a: PUSH2 0x3465 0000344d: JUMPI 0000344e: PUSH1 0x40 00003450: MLOAD 00003451: PUSH3 0x461bcd 00003455: PUSH1 0xe5 00003457: SHL 00003458: DUP2 00003459: MSTORE 0000345a: PUSH1 0x04 0000345c: ADD 0000345d: PUSH2 0x08bb 00003460: SWAP1 00003461: PUSH2 0x3f43 00003464: JUMP 00003465: JUMPDEST 00003466: PUSH1 0x01 00003468: PUSH1 0x01 0000346a: PUSH1 0xa0 0000346c: SHL 0000346d: SUB 0000346e: DUP1 0000346f: DUP6 00003470: AND 00003471: PUSH1 0x00 00003473: SWAP1 00003474: DUP2 00003475: MSTORE 00003476: PUSH1 0x02 00003478: PUSH1 0x20 0000347a: MSTORE 0000347b: PUSH1 0x40 0000347d: DUP1 0000347e: DUP3 0000347f: KECCAK256 00003480: DUP1 00003481: SLOAD 00003482: DUP7 00003483: SWAP1 00003484: SUB 00003485: SWAP1 00003486: SSTORE 00003487: SWAP2 00003488: DUP6 00003489: AND 0000348a: DUP2 0000348b: MSTORE 0000348c: KECCAK256 0000348d: SLOAD 0000348e: PUSH2 0x3498 00003491: SWAP1 00003492: DUP4 00003493: SWAP1 00003494: PUSH2 0x3c3b 00003497: JUMP 00003498: JUMPDEST 00003499: PUSH1 0x01 0000349b: PUSH1 0x01 0000349d: PUSH1 0xa0 0000349f: SHL 000034a0: SUB 000034a1: DUP1 000034a2: DUP6 000034a3: AND 000034a4: PUSH1 0x00 000034a6: DUP2 000034a7: DUP2 000034a8: MSTORE 000034a9: PUSH1 0x02 000034ab: PUSH1 0x20 000034ad: MSTORE 000034ae: PUSH1 0x40 000034b0: SWAP1 000034b1: DUP2 000034b2: SWAP1 000034b3: KECCAK256 000034b4: SWAP4 000034b5: SWAP1 000034b6: SWAP4 000034b7: SSTORE 000034b8: SWAP2 000034b9: MLOAD 000034ba: SWAP1 000034bb: DUP7 000034bc: AND 000034bd: SWAP1 000034be: PUSH1 0x00 000034c0: DUP1 000034c1: MLOAD 000034c2: PUSH1 0x20 000034c4: PUSH2 0x3f9b 000034c7: DUP4 000034c8: CODECOPY 000034c9: DUP2 000034ca: MLOAD 000034cb: SWAP2 000034cc: MSTORE 000034cd: SWAP1 000034ce: PUSH2 0x2ac9 000034d1: SWAP1 000034d2: DUP7 000034d3: DUP2 000034d4: MSTORE 000034d5: PUSH1 0x20 000034d7: ADD 000034d8: SWAP1 000034d9: JUMP 000034da: JUMPDEST 000034db: PUSH1 0x01 000034dd: PUSH1 0x01 000034df: PUSH1 0xa0 000034e1: SHL 000034e2: SUB 000034e3: DUP3 000034e4: AND 000034e5: PUSH1 0x00 000034e7: SWAP1 000034e8: DUP2 000034e9: MSTORE 000034ea: PUSH1 0x02 000034ec: PUSH1 0x20 000034ee: MSTORE 000034ef: PUSH1 0x40 000034f1: DUP2 000034f2: KECCAK256 000034f3: SLOAD 000034f4: PUSH2 0x34fe 000034f7: SWAP1 000034f8: DUP4 000034f9: SWAP1 000034fa: PUSH2 0x3c3b 000034fd: JUMP 000034fe: JUMPDEST 000034ff: PUSH1 0x01 00003501: PUSH1 0x01 00003503: PUSH1 0xa0 00003505: SHL 00003506: SUB 00003507: DUP5 00003508: AND 00003509: PUSH1 0x00 0000350b: SWAP1 0000350c: DUP2 0000350d: MSTORE 0000350e: PUSH1 0x02 00003510: PUSH1 0x20 00003512: MSTORE 00003513: PUSH1 0x40 00003515: SWAP1 00003516: KECCAK256 00003517: SSTORE 00003518: PUSH1 0x01 0000351a: SLOAD 0000351b: PUSH2 0x3525 0000351e: SWAP1 0000351f: DUP4 00003520: SWAP1 00003521: PUSH2 0x3c3b 00003524: JUMP 00003525: JUMPDEST 00003526: PUSH1 0x01 00003528: SSTORE 00003529: PUSH1 0x40 0000352b: MLOAD 0000352c: DUP3 0000352d: DUP2 0000352e: MSTORE 0000352f: PUSH1 0x01 00003531: PUSH1 0x01 00003533: PUSH1 0xa0 00003535: SHL 00003536: SUB 00003537: DUP5 00003538: AND 00003539: SWAP1 0000353a: PUSH1 0x00 0000353c: SWAP1 0000353d: PUSH1 0x00 0000353f: DUP1 00003540: MLOAD 00003541: PUSH1 0x20 00003543: PUSH2 0x3f9b 00003546: DUP4 00003547: CODECOPY 00003548: DUP2 00003549: MLOAD 0000354a: SWAP2 0000354b: MSTORE 0000354c: SWAP1 0000354d: PUSH1 0x20 0000354f: ADD 00003550: JUMPDEST 00003551: PUSH1 0x40 00003553: MLOAD 00003554: DUP1 00003555: SWAP2 00003556: SUB 00003557: SWAP1 00003558: LOG3 00003559: POP 0000355a: PUSH1 0x01 0000355c: SWAP3 0000355d: SWAP2 0000355e: POP 0000355f: POP 00003560: JUMP 00003561: JUMPDEST 00003562: PUSH1 0x01 00003564: PUSH1 0x01 00003566: PUSH1 0xa0 00003568: SHL 00003569: SUB 0000356a: DUP3 0000356b: AND 0000356c: PUSH1 0x00 0000356e: SWAP1 0000356f: DUP2 00003570: MSTORE 00003571: PUSH1 0x02 00003573: PUSH1 0x20 00003575: MSTORE 00003576: PUSH1 0x40 00003578: DUP2 00003579: KECCAK256 0000357a: SLOAD 0000357b: DUP3 0000357c: GT 0000357d: ISZERO 0000357e: PUSH2 0x3599 00003581: JUMPI 00003582: PUSH1 0x40 00003584: MLOAD 00003585: PUSH3 0x461bcd 00003589: PUSH1 0xe5 0000358b: SHL 0000358c: DUP2 0000358d: MSTORE 0000358e: PUSH1 0x04 00003590: ADD 00003591: PUSH2 0x08bb 00003594: SWAP1 00003595: PUSH2 0x3f43 00003598: JUMP 00003599: JUMPDEST 0000359a: PUSH1 0x01 0000359c: PUSH1 0x01 0000359e: PUSH1 0xa0 000035a0: SHL 000035a1: SUB 000035a2: DUP4 000035a3: AND 000035a4: PUSH1 0x00 000035a6: DUP2 000035a7: DUP2 000035a8: MSTORE 000035a9: PUSH1 0x02 000035ab: PUSH1 0x20 000035ad: SWAP1 000035ae: DUP2 000035af: MSTORE 000035b0: PUSH1 0x40 000035b2: DUP1 000035b3: DUP4 000035b4: KECCAK256 000035b5: DUP1 000035b6: SLOAD 000035b7: DUP8 000035b8: SWAP1 000035b9: SUB 000035ba: SWAP1 000035bb: SSTORE 000035bc: PUSH1 0x01 000035be: DUP1 000035bf: SLOAD 000035c0: DUP8 000035c1: SWAP1 000035c2: SUB 000035c3: SWAP1 000035c4: SSTORE 000035c5: MLOAD 000035c6: DUP6 000035c7: DUP2 000035c8: MSTORE 000035c9: SWAP2 000035ca: SWAP3 000035cb: SWAP2 000035cc: PUSH1 0x00 000035ce: DUP1 000035cf: MLOAD 000035d0: PUSH1 0x20 000035d2: PUSH2 0x3f9b 000035d5: DUP4 000035d6: CODECOPY 000035d7: DUP2 000035d8: MLOAD 000035d9: SWAP2 000035da: MSTORE 000035db: SWAP2 000035dc: ADD 000035dd: PUSH2 0x3550 000035e0: JUMP 000035e1: JUMPDEST 000035e2: PUSH1 0x00 000035e4: DUP2 000035e5: PUSH4 0xffffffff 000035ea: AND 000035eb: DUP4 000035ec: PUSH4 0xffffffff 000035f1: AND 000035f2: LT 000035f3: PUSH2 0x35fc 000035f6: JUMPI 000035f7: DUP2 000035f8: PUSH2 0x0fe0 000035fb: JUMP 000035fc: JUMPDEST 000035fd: POP 000035fe: SWAP1 000035ff: SWAP2 00003600: SWAP1 00003601: POP 00003602: JUMP 00003603: JUMPDEST 00003604: PUSH1 0x00 00003606: PUSH1 0x01 00003608: PUSH1 0x01 0000360a: PUSH1 0x80 0000360c: SHL 0000360d: SUB 0000360e: DUP3 0000360f: GT 00003610: ISZERO 00003611: PUSH2 0x3010 00003614: JUMPI 00003615: PUSH1 0x40 00003617: MLOAD 00003618: PUSH3 0x461bcd 0000361c: PUSH1 0xe5 0000361e: SHL 0000361f: DUP2 00003620: MSTORE 00003621: PUSH1 0x04 00003623: ADD 00003624: PUSH2 0x08bb 00003627: SWAP1 00003628: PUSH2 0x3e43 0000362b: JUMP 0000362c: JUMPDEST 0000362d: PUSH1 0x01 0000362f: PUSH1 0x01 00003631: PUSH1 0xa0 00003633: SHL 00003634: SUB 00003635: DUP2 00003636: AND 00003637: DUP2 00003638: EQ 00003639: PUSH2 0x2d38 0000363c: JUMPI 0000363d: PUSH1 0x00 0000363f: DUP1 00003640: REVERT 00003641: JUMPDEST 00003642: PUSH1 0x00 00003644: PUSH1 0x20 00003646: DUP3 00003647: DUP5 00003648: SUB 00003649: SLT 0000364a: ISZERO 0000364b: PUSH2 0x3653 0000364e: JUMPI 0000364f: PUSH1 0x00 00003651: DUP1 00003652: REVERT 00003653: JUMPDEST 00003654: DUP2 00003655: CALLDATALOAD 00003656: PUSH2 0x0fe0 00003659: DUP2 0000365a: PUSH2 0x362c 0000365d: JUMP 0000365e: JUMPDEST 0000365f: PUSH1 0x00 00003661: JUMPDEST 00003662: DUP4 00003663: DUP2 00003664: LT 00003665: ISZERO 00003666: PUSH2 0x3679 00003669: JUMPI 0000366a: DUP2 0000366b: DUP2 0000366c: ADD 0000366d: MLOAD 0000366e: DUP4 0000366f: DUP3 00003670: ADD 00003671: MSTORE 00003672: PUSH1 0x20 00003674: ADD 00003675: PUSH2 0x3661 00003678: JUMP 00003679: JUMPDEST 0000367a: DUP4 0000367b: DUP2 0000367c: GT 0000367d: ISZERO 0000367e: PUSH2 0x3688 00003681: JUMPI 00003682: PUSH1 0x00 00003684: DUP5 00003685: DUP5 00003686: ADD 00003687: MSTORE 00003688: JUMPDEST 00003689: POP 0000368a: POP 0000368b: POP 0000368c: POP 0000368d: JUMP 0000368e: JUMPDEST 0000368f: PUSH1 0x00 00003691: DUP2 00003692: MLOAD 00003693: DUP1 00003694: DUP5 00003695: MSTORE 00003696: PUSH2 0x36a6 00003699: DUP2 0000369a: PUSH1 0x20 0000369c: DUP7 0000369d: ADD 0000369e: PUSH1 0x20 000036a0: DUP7 000036a1: ADD 000036a2: PUSH2 0x365e 000036a5: JUMP 000036a6: JUMPDEST 000036a7: PUSH1 0x1f 000036a9: ADD 000036aa: PUSH1 0x1f 000036ac: NOT 000036ad: AND 000036ae: SWAP3 000036af: SWAP1 000036b0: SWAP3 000036b1: ADD 000036b2: PUSH1 0x20 000036b4: ADD 000036b5: SWAP3 000036b6: SWAP2 000036b7: POP 000036b8: POP 000036b9: JUMP 000036ba: JUMPDEST 000036bb: PUSH1 0x20 000036bd: DUP2 000036be: MSTORE 000036bf: PUSH1 0x00 000036c1: PUSH2 0x0fe0 000036c4: PUSH1 0x20 000036c6: DUP4 000036c7: ADD 000036c8: DUP5 000036c9: PUSH2 0x368e 000036cc: JUMP 000036cd: JUMPDEST 000036ce: DUP1 000036cf: CALLDATALOAD 000036d0: PUSH2 0x36d8 000036d3: DUP2 000036d4: PUSH2 0x362c 000036d7: JUMP 000036d8: JUMPDEST 000036d9: SWAP2 000036da: SWAP1 000036db: POP 000036dc: JUMP 000036dd: JUMPDEST 000036de: PUSH1 0x00 000036e0: DUP1 000036e1: PUSH1 0x40 000036e3: DUP4 000036e4: DUP6 000036e5: SUB 000036e6: SLT 000036e7: ISZERO 000036e8: PUSH2 0x36f0 000036eb: JUMPI 000036ec: PUSH1 0x00 000036ee: DUP1 000036ef: REVERT 000036f0: JUMPDEST 000036f1: DUP3 000036f2: CALLDATALOAD 000036f3: PUSH2 0x36fb 000036f6: DUP2 000036f7: PUSH2 0x362c 000036fa: JUMP 000036fb: JUMPDEST 000036fc: SWAP5 000036fd: PUSH1 0x20 000036ff: SWAP4 00003700: SWAP1 00003701: SWAP4 00003702: ADD 00003703: CALLDATALOAD 00003704: SWAP4 00003705: POP 00003706: POP 00003707: POP 00003708: JUMP 00003709: JUMPDEST 0000370a: DUP1 0000370b: CALLDATALOAD 0000370c: PUSH1 0x01 0000370e: PUSH1 0x01 00003710: PUSH1 0xe0 00003712: SHL 00003713: SUB 00003714: NOT 00003715: DUP2 00003716: AND 00003717: DUP2 00003718: EQ 00003719: PUSH2 0x36d8 0000371c: JUMPI 0000371d: PUSH1 0x00 0000371f: DUP1 00003720: REVERT 00003721: JUMPDEST 00003722: PUSH1 0x00 00003724: DUP1 00003725: PUSH1 0x40 00003727: DUP4 00003728: DUP6 00003729: SUB 0000372a: SLT 0000372b: ISZERO 0000372c: PUSH2 0x3734 0000372f: JUMPI 00003730: PUSH1 0x00 00003732: DUP1 00003733: REVERT 00003734: JUMPDEST 00003735: PUSH2 0x373d 00003738: DUP4 00003739: PUSH2 0x3709 0000373c: JUMP 0000373d: JUMPDEST 0000373e: SWAP2 0000373f: POP 00003740: PUSH1 0x20 00003742: DUP4 00003743: ADD 00003744: CALLDATALOAD 00003745: PUSH2 0x374d 00003748: DUP2 00003749: PUSH2 0x362c 0000374c: JUMP 0000374d: JUMPDEST 0000374e: DUP1 0000374f: SWAP2 00003750: POP 00003751: POP 00003752: SWAP3 00003753: POP 00003754: SWAP3 00003755: SWAP1 00003756: POP 00003757: JUMP 00003758: JUMPDEST 00003759: PUSH1 0x01 0000375b: PUSH1 0x01 0000375d: PUSH1 0xa0 0000375f: SHL 00003760: SUB 00003761: SWAP2 00003762: SWAP1 00003763: SWAP2 00003764: AND 00003765: DUP2 00003766: MSTORE 00003767: PUSH1 0x20 00003769: ADD 0000376a: SWAP1 0000376b: JUMP 0000376c: JUMPDEST 0000376d: PUSH1 0x00 0000376f: DUP1 00003770: PUSH1 0x00 00003772: PUSH1 0x40 00003774: DUP5 00003775: DUP7 00003776: SUB 00003777: SLT 00003778: ISZERO 00003779: PUSH2 0x3781 0000377c: JUMPI 0000377d: PUSH1 0x00 0000377f: DUP1 00003780: REVERT 00003781: JUMPDEST 00003782: DUP4 00003783: CALLDATALOAD 00003784: PUSH2 0x378c 00003787: DUP2 00003788: PUSH2 0x362c 0000378b: JUMP 0000378c: JUMPDEST 0000378d: SWAP3 0000378e: POP 0000378f: PUSH1 0x20 00003791: DUP5 00003792: ADD 00003793: CALLDATALOAD 00003794: PUSH8 0xffffffffffffffff 0000379d: DUP1 0000379e: DUP3 0000379f: GT 000037a0: ISZERO 000037a1: PUSH2 0x37a9 000037a4: JUMPI 000037a5: PUSH1 0x00 000037a7: DUP1 000037a8: REVERT 000037a9: JUMPDEST 000037aa: DUP2 000037ab: DUP7 000037ac: ADD 000037ad: SWAP2 000037ae: POP 000037af: DUP7 000037b0: PUSH1 0x1f 000037b2: DUP4 000037b3: ADD 000037b4: SLT 000037b5: PUSH2 0x37bd 000037b8: JUMPI 000037b9: PUSH1 0x00 000037bb: DUP1 000037bc: REVERT 000037bd: JUMPDEST 000037be: DUP2 000037bf: CALLDATALOAD 000037c0: DUP2 000037c1: DUP2 000037c2: GT 000037c3: ISZERO 000037c4: PUSH2 0x37cc 000037c7: JUMPI 000037c8: PUSH1 0x00 000037ca: DUP1 000037cb: REVERT 000037cc: JUMPDEST 000037cd: DUP8 000037ce: PUSH1 0x20 000037d0: DUP3 000037d1: DUP6 000037d2: ADD 000037d3: ADD 000037d4: GT 000037d5: ISZERO 000037d6: PUSH2 0x37de 000037d9: JUMPI 000037da: PUSH1 0x00 000037dc: DUP1 000037dd: REVERT 000037de: JUMPDEST 000037df: PUSH1 0x20 000037e1: DUP4 000037e2: ADD 000037e3: SWAP5 000037e4: POP 000037e5: DUP1 000037e6: SWAP4 000037e7: POP 000037e8: POP 000037e9: POP 000037ea: POP 000037eb: SWAP3 000037ec: POP 000037ed: SWAP3 000037ee: POP 000037ef: SWAP3 000037f0: JUMP 000037f1: JUMPDEST 000037f2: PUSH1 0x00 000037f4: DUP1 000037f5: PUSH1 0x00 000037f7: PUSH1 0x60 000037f9: DUP5 000037fa: DUP7 000037fb: SUB 000037fc: SLT 000037fd: ISZERO 000037fe: PUSH2 0x3806 00003801: JUMPI 00003802: PUSH1 0x00 00003804: DUP1 00003805: REVERT 00003806: JUMPDEST 00003807: DUP4 00003808: CALLDATALOAD 00003809: PUSH2 0x3811 0000380c: DUP2 0000380d: PUSH2 0x362c 00003810: JUMP 00003811: JUMPDEST 00003812: SWAP3 00003813: POP 00003814: PUSH1 0x20 00003816: DUP5 00003817: ADD 00003818: CALLDATALOAD 00003819: PUSH2 0x3821 0000381c: DUP2 0000381d: PUSH2 0x362c 00003820: JUMP 00003821: JUMPDEST 00003822: SWAP3 00003823: SWAP6 00003824: SWAP3 00003825: SWAP5 00003826: POP 00003827: POP 00003828: POP 00003829: PUSH1 0x40 0000382b: SWAP2 0000382c: SWAP1 0000382d: SWAP2 0000382e: ADD 0000382f: CALLDATALOAD 00003830: SWAP1 00003831: JUMP 00003832: JUMPDEST 00003833: PUSH1 0x00 00003835: PUSH1 0x20 00003837: DUP3 00003838: DUP5 00003839: SUB 0000383a: SLT 0000383b: ISZERO 0000383c: PUSH2 0x3844 0000383f: JUMPI 00003840: PUSH1 0x00 00003842: DUP1 00003843: REVERT 00003844: JUMPDEST 00003845: PUSH2 0x0fe0 00003848: DUP3 00003849: PUSH2 0x3709 0000384c: JUMP 0000384d: JUMPDEST 0000384e: PUSH1 0x00 00003850: DUP1 00003851: PUSH1 0x40 00003853: DUP4 00003854: DUP6 00003855: SUB 00003856: SLT 00003857: ISZERO 00003858: PUSH2 0x3860 0000385b: JUMPI 0000385c: PUSH1 0x00 0000385e: DUP1 0000385f: REVERT 00003860: JUMPDEST 00003861: DUP3 00003862: CALLDATALOAD 00003863: PUSH2 0x373d 00003866: DUP2 00003867: PUSH2 0x362c 0000386a: JUMP 0000386b: JUMPDEST 0000386c: PUSH4 0xffffffff 00003871: DUP2 00003872: AND 00003873: DUP2 00003874: EQ 00003875: PUSH2 0x2d38 00003878: JUMPI 00003879: PUSH1 0x00 0000387b: DUP1 0000387c: REVERT 0000387d: JUMPDEST 0000387e: PUSH1 0x00 00003880: DUP1 00003881: PUSH1 0x00 00003883: PUSH1 0x60 00003885: DUP5 00003886: DUP7 00003887: SUB 00003888: SLT 00003889: ISZERO 0000388a: PUSH2 0x3892 0000388d: JUMPI 0000388e: PUSH1 0x00 00003890: DUP1 00003891: REVERT 00003892: JUMPDEST 00003893: DUP4 00003894: CALLDATALOAD 00003895: PUSH2 0x389d 00003898: DUP2 00003899: PUSH2 0x386b 0000389c: JUMP 0000389d: JUMPDEST 0000389e: SWAP3 0000389f: POP 000038a0: PUSH1 0x20 000038a2: DUP5 000038a3: ADD 000038a4: CALLDATALOAD 000038a5: PUSH2 0x38ad 000038a8: DUP2 000038a9: PUSH2 0x386b 000038ac: JUMP 000038ad: JUMPDEST 000038ae: SWAP2 000038af: POP 000038b0: PUSH1 0x40 000038b2: DUP5 000038b3: ADD 000038b4: CALLDATALOAD 000038b5: PUSH1 0x01 000038b7: PUSH1 0x01 000038b9: PUSH1 0x60 000038bb: SHL 000038bc: SUB 000038bd: DUP2 000038be: AND 000038bf: DUP2 000038c0: EQ 000038c1: PUSH2 0x38c9 000038c4: JUMPI 000038c5: PUSH1 0x00 000038c7: DUP1 000038c8: REVERT 000038c9: JUMPDEST 000038ca: DUP1 000038cb: SWAP2 000038cc: POP 000038cd: POP 000038ce: SWAP3 000038cf: POP 000038d0: SWAP3 000038d1: POP 000038d2: SWAP3 000038d3: JUMP 000038d4: JUMPDEST 000038d5: PUSH4 0x4e487b71 000038da: PUSH1 0xe0 000038dc: SHL 000038dd: PUSH1 0x00 000038df: MSTORE 000038e0: PUSH1 0x41 000038e2: PUSH1 0x04 000038e4: MSTORE 000038e5: PUSH1 0x24 000038e7: PUSH1 0x00 000038e9: REVERT 000038ea: JUMPDEST 000038eb: PUSH1 0x40 000038ed: MLOAD 000038ee: PUSH1 0x1f 000038f0: DUP3 000038f1: ADD 000038f2: PUSH1 0x1f 000038f4: NOT 000038f5: AND 000038f6: DUP2 000038f7: ADD 000038f8: PUSH8 0xffffffffffffffff 00003901: DUP2 00003902: GT 00003903: DUP3 00003904: DUP3 00003905: LT 00003906: OR 00003907: ISZERO 00003908: PUSH2 0x3913 0000390b: JUMPI 0000390c: PUSH2 0x3913 0000390f: PUSH2 0x38d4 00003912: JUMP 00003913: JUMPDEST 00003914: PUSH1 0x40 00003916: MSTORE 00003917: SWAP2 00003918: SWAP1 00003919: POP 0000391a: JUMP 0000391b: JUMPDEST 0000391c: PUSH1 0x00 0000391e: DUP1 0000391f: PUSH1 0x40 00003921: DUP4 00003922: DUP6 00003923: SUB 00003924: SLT 00003925: ISZERO 00003926: PUSH2 0x392e 00003929: JUMPI 0000392a: PUSH1 0x00 0000392c: DUP1 0000392d: REVERT 0000392e: JUMPDEST 0000392f: DUP3 00003930: CALLDATALOAD 00003931: PUSH8 0xffffffffffffffff 0000393a: DUP1 0000393b: DUP3 0000393c: GT 0000393d: ISZERO 0000393e: PUSH2 0x3946 00003941: JUMPI 00003942: PUSH1 0x00 00003944: DUP1 00003945: REVERT 00003946: JUMPDEST 00003947: DUP2 00003948: DUP6 00003949: ADD 0000394a: SWAP2 0000394b: POP 0000394c: DUP6 0000394d: PUSH1 0x1f 0000394f: DUP4 00003950: ADD 00003951: SLT 00003952: PUSH2 0x395a 00003955: JUMPI 00003956: PUSH1 0x00 00003958: DUP1 00003959: REVERT 0000395a: JUMPDEST 0000395b: DUP2 0000395c: CALLDATALOAD 0000395d: PUSH1 0x20 0000395f: DUP3 00003960: DUP3 00003961: GT 00003962: ISZERO 00003963: PUSH2 0x396e 00003966: JUMPI 00003967: PUSH2 0x396e 0000396a: PUSH2 0x38d4 0000396d: JUMP 0000396e: JUMPDEST 0000396f: DUP2 00003970: PUSH1 0x05 00003972: SHL 00003973: SWAP3 00003974: POP 00003975: PUSH2 0x397f 00003978: DUP2 00003979: DUP5 0000397a: ADD 0000397b: PUSH2 0x38ea 0000397e: JUMP 0000397f: JUMPDEST 00003980: DUP3 00003981: DUP2 00003982: MSTORE 00003983: SWAP3 00003984: DUP5 00003985: ADD 00003986: DUP2 00003987: ADD 00003988: SWAP3 00003989: DUP2 0000398a: DUP2 0000398b: ADD 0000398c: SWAP1 0000398d: DUP10 0000398e: DUP6 0000398f: GT 00003990: ISZERO 00003991: PUSH2 0x3999 00003994: JUMPI 00003995: PUSH1 0x00 00003997: DUP1 00003998: REVERT 00003999: JUMPDEST 0000399a: SWAP5 0000399b: DUP3 0000399c: ADD 0000399d: SWAP5 0000399e: JUMPDEST 0000399f: DUP5 000039a0: DUP7 000039a1: LT 000039a2: ISZERO 000039a3: PUSH2 0x39be 000039a6: JUMPI 000039a7: PUSH2 0x39af 000039aa: DUP7 000039ab: PUSH2 0x3709 000039ae: JUMP 000039af: JUMPDEST 000039b0: DUP3 000039b1: MSTORE 000039b2: SWAP5 000039b3: DUP3 000039b4: ADD 000039b5: SWAP5 000039b6: SWAP1 000039b7: DUP3 000039b8: ADD 000039b9: SWAP1 000039ba: PUSH2 0x399e 000039bd: JUMP 000039be: JUMPDEST 000039bf: SWAP7 000039c0: POP 000039c1: PUSH2 0x39cd 000039c4: SWAP1 000039c5: POP 000039c6: DUP8 000039c7: DUP3 000039c8: ADD 000039c9: PUSH2 0x36cd 000039cc: JUMP 000039cd: JUMPDEST 000039ce: SWAP5 000039cf: POP 000039d0: POP 000039d1: POP 000039d2: POP 000039d3: POP 000039d4: SWAP3 000039d5: POP 000039d6: SWAP3 000039d7: SWAP1 000039d8: POP 000039d9: JUMP 000039da: JUMPDEST 000039db: PUSH1 0x00 000039dd: DUP1 000039de: PUSH1 0x40 000039e0: DUP4 000039e1: DUP6 000039e2: SUB 000039e3: SLT 000039e4: ISZERO 000039e5: PUSH2 0x39ed 000039e8: JUMPI 000039e9: PUSH1 0x00 000039eb: DUP1 000039ec: REVERT 000039ed: JUMPDEST 000039ee: PUSH2 0x39f6 000039f1: DUP4 000039f2: PUSH2 0x3709 000039f5: JUMP 000039f6: JUMPDEST 000039f7: SWAP2 000039f8: POP 000039f9: PUSH2 0x3a04 000039fc: PUSH1 0x20 000039fe: DUP5 000039ff: ADD 00003a00: PUSH2 0x3709 00003a03: JUMP 00003a04: JUMPDEST 00003a05: SWAP1 00003a06: POP 00003a07: SWAP3 00003a08: POP 00003a09: SWAP3 00003a0a: SWAP1 00003a0b: POP 00003a0c: JUMP 00003a0d: JUMPDEST 00003a0e: PUSH4 0x4e487b71 00003a13: PUSH1 0xe0 00003a15: SHL 00003a16: PUSH1 0x00 00003a18: MSTORE 00003a19: PUSH1 0x21 00003a1b: PUSH1 0x04 00003a1d: MSTORE 00003a1e: PUSH1 0x24 00003a20: PUSH1 0x00 00003a22: REVERT 00003a23: JUMPDEST 00003a24: PUSH1 0x20 00003a26: DUP2 00003a27: ADD 00003a28: PUSH1 0x05 00003a2a: DUP4 00003a2b: LT 00003a2c: PUSH2 0x3a45 00003a2f: JUMPI 00003a30: PUSH4 0x4e487b71 00003a35: PUSH1 0xe0 00003a37: SHL 00003a38: PUSH1 0x00 00003a3a: MSTORE 00003a3b: PUSH1 0x21 00003a3d: PUSH1 0x04 00003a3f: MSTORE 00003a40: PUSH1 0x24 00003a42: PUSH1 0x00 00003a44: REVERT 00003a45: JUMPDEST 00003a46: SWAP2 00003a47: SWAP1 00003a48: MSTORE 00003a49: SWAP1 00003a4a: JUMP 00003a4b: JUMPDEST 00003a4c: PUSH1 0x00 00003a4e: DUP1 00003a4f: PUSH1 0x00 00003a51: DUP1 00003a52: PUSH1 0x00 00003a54: DUP1 00003a55: PUSH1 0x00 00003a57: PUSH1 0xe0 00003a59: DUP9 00003a5a: DUP11 00003a5b: SUB 00003a5c: SLT 00003a5d: ISZERO 00003a5e: PUSH2 0x3a66 00003a61: JUMPI 00003a62: PUSH1 0x00 00003a64: DUP1 00003a65: REVERT 00003a66: JUMPDEST 00003a67: DUP8 00003a68: CALLDATALOAD 00003a69: PUSH2 0x3a71 00003a6c: DUP2 00003a6d: PUSH2 0x362c 00003a70: JUMP 00003a71: JUMPDEST 00003a72: SWAP7 00003a73: POP 00003a74: PUSH1 0x20 00003a76: DUP9 00003a77: ADD 00003a78: CALLDATALOAD 00003a79: PUSH2 0x3a81 00003a7c: DUP2 00003a7d: PUSH2 0x362c 00003a80: JUMP 00003a81: JUMPDEST 00003a82: SWAP6 00003a83: POP 00003a84: PUSH1 0x40 00003a86: DUP9 00003a87: ADD 00003a88: CALLDATALOAD 00003a89: SWAP5 00003a8a: POP 00003a8b: PUSH1 0x60 00003a8d: DUP9 00003a8e: ADD 00003a8f: CALLDATALOAD 00003a90: SWAP4 00003a91: POP 00003a92: PUSH1 0x80 00003a94: DUP9 00003a95: ADD 00003a96: CALLDATALOAD 00003a97: PUSH1 0xff 00003a99: DUP2 00003a9a: AND 00003a9b: DUP2 00003a9c: EQ 00003a9d: PUSH2 0x3aa5 00003aa0: JUMPI 00003aa1: PUSH1 0x00 00003aa3: DUP1 00003aa4: REVERT 00003aa5: JUMPDEST 00003aa6: SWAP7 00003aa7: SWAP10 00003aa8: SWAP6 00003aa9: SWAP9 00003aaa: POP 00003aab: SWAP4 00003aac: SWAP7 00003aad: SWAP3 00003aae: SWAP6 00003aaf: SWAP5 00003ab0: PUSH1 0xa0 00003ab2: DUP5 00003ab3: ADD 00003ab4: CALLDATALOAD 00003ab5: SWAP5 00003ab6: POP 00003ab7: PUSH1 0xc0 00003ab9: SWAP1 00003aba: SWAP4 00003abb: ADD 00003abc: CALLDATALOAD 00003abd: SWAP3 00003abe: SWAP2 00003abf: POP 00003ac0: POP 00003ac1: JUMP 00003ac2: JUMPDEST 00003ac3: PUSH1 0x00 00003ac5: DUP1 00003ac6: PUSH1 0x00 00003ac8: DUP1 00003ac9: PUSH1 0x80 00003acb: DUP6 00003acc: DUP8 00003acd: SUB 00003ace: SLT 00003acf: ISZERO 00003ad0: PUSH2 0x3ad8 00003ad3: JUMPI 00003ad4: PUSH1 0x00 00003ad6: DUP1 00003ad7: REVERT 00003ad8: JUMPDEST 00003ad9: DUP5 00003ada: CALLDATALOAD 00003adb: PUSH2 0x3ae3 00003ade: DUP2 00003adf: PUSH2 0x362c 00003ae2: JUMP 00003ae3: JUMPDEST 00003ae4: SWAP4 00003ae5: POP 00003ae6: PUSH1 0x20 00003ae8: DUP6 00003ae9: ADD 00003aea: CALLDATALOAD 00003aeb: PUSH2 0x3af3 00003aee: DUP2 00003aef: PUSH2 0x362c 00003af2: JUMP 00003af3: JUMPDEST 00003af4: SWAP4 00003af5: SWAP7 00003af6: SWAP4 00003af7: SWAP6 00003af8: POP 00003af9: POP 00003afa: POP 00003afb: POP 00003afc: PUSH1 0x40 00003afe: DUP3 00003aff: ADD 00003b00: CALLDATALOAD 00003b01: SWAP2 00003b02: PUSH1 0x60 00003b04: ADD 00003b05: CALLDATALOAD 00003b06: SWAP1 00003b07: JUMP 00003b08: JUMPDEST 00003b09: PUSH1 0x20 00003b0b: DUP1 00003b0c: DUP3 00003b0d: MSTORE 00003b0e: PUSH1 0x0d 00003b10: SWAP1 00003b11: DUP3 00003b12: ADD 00003b13: MSTORE 00003b14: PUSH13 0x1058d8d95cdcc819195b9a5959 00003b22: PUSH1 0x9a 00003b24: SHL 00003b25: PUSH1 0x40 00003b27: DUP3 00003b28: ADD 00003b29: MSTORE 00003b2a: PUSH1 0x60 00003b2c: ADD 00003b2d: SWAP1 00003b2e: JUMP 00003b2f: JUMPDEST 00003b30: PUSH1 0x20 00003b32: DUP1 00003b33: DUP3 00003b34: MSTORE 00003b35: PUSH1 0x19 00003b37: SWAP1 00003b38: DUP3 00003b39: ADD 00003b3a: MSTORE 00003b3b: PUSH25 0x4e6f7420616c6c6f77656420696e2074686973207374617465 00003b55: PUSH1 0x38 00003b57: SHL 00003b58: PUSH1 0x40 00003b5a: DUP3 00003b5b: ADD 00003b5c: MSTORE 00003b5d: PUSH1 0x60 00003b5f: ADD 00003b60: SWAP1 00003b61: JUMP 00003b62: JUMPDEST 00003b63: PUSH1 0x00 00003b65: PUSH1 0x20 00003b67: DUP3 00003b68: DUP5 00003b69: SUB 00003b6a: SLT 00003b6b: ISZERO 00003b6c: PUSH2 0x3b74 00003b6f: JUMPI 00003b70: PUSH1 0x00 00003b72: DUP1 00003b73: REVERT 00003b74: JUMPDEST 00003b75: DUP2 00003b76: MLOAD 00003b77: PUSH2 0x0fe0 00003b7a: DUP2 00003b7b: PUSH2 0x362c 00003b7e: JUMP 00003b7f: JUMPDEST 00003b80: PUSH1 0x00 00003b82: DUP1 00003b83: PUSH1 0x00 00003b85: PUSH1 0x60 00003b87: DUP5 00003b88: DUP7 00003b89: SUB 00003b8a: SLT 00003b8b: ISZERO 00003b8c: PUSH2 0x3b94 00003b8f: JUMPI 00003b90: PUSH1 0x00 00003b92: DUP1 00003b93: REVERT 00003b94: JUMPDEST 00003b95: DUP4 00003b96: MLOAD 00003b97: SWAP3 00003b98: POP 00003b99: PUSH1 0x20 00003b9b: DUP5 00003b9c: ADD 00003b9d: MLOAD 00003b9e: SWAP2 00003b9f: POP 00003ba0: PUSH1 0x40 00003ba2: DUP5 00003ba3: ADD 00003ba4: MLOAD 00003ba5: SWAP1 00003ba6: POP 00003ba7: SWAP3 00003ba8: POP 00003ba9: SWAP3 00003baa: POP 00003bab: SWAP3 00003bac: JUMP 00003bad: JUMPDEST 00003bae: PUSH1 0x00 00003bb0: PUSH1 0x20 00003bb2: DUP3 00003bb3: DUP5 00003bb4: SUB 00003bb5: SLT 00003bb6: ISZERO 00003bb7: PUSH2 0x3bbf 00003bba: JUMPI 00003bbb: PUSH1 0x00 00003bbd: DUP1 00003bbe: REVERT 00003bbf: JUMPDEST 00003bc0: DUP2 00003bc1: MLOAD 00003bc2: PUSH2 0x0fe0 00003bc5: DUP2 00003bc6: PUSH2 0x386b 00003bc9: JUMP 00003bca: JUMPDEST 00003bcb: PUSH1 0x00 00003bcd: PUSH1 0x20 00003bcf: DUP3 00003bd0: DUP5 00003bd1: SUB 00003bd2: SLT 00003bd3: ISZERO 00003bd4: PUSH2 0x3bdc 00003bd7: JUMPI 00003bd8: PUSH1 0x00 00003bda: DUP1 00003bdb: REVERT 00003bdc: JUMPDEST 00003bdd: POP 00003bde: MLOAD 00003bdf: SWAP2 00003be0: SWAP1 00003be1: POP 00003be2: JUMP 00003be3: JUMPDEST 00003be4: PUSH1 0x01 00003be6: PUSH1 0x01 00003be8: PUSH1 0xa0 00003bea: SHL 00003beb: SUB 00003bec: SWAP5 00003bed: DUP6 00003bee: AND 00003bef: DUP2 00003bf0: MSTORE 00003bf1: SWAP3 00003bf2: SWAP1 00003bf3: SWAP4 00003bf4: AND 00003bf5: PUSH1 0x20 00003bf7: DUP4 00003bf8: ADD 00003bf9: MSTORE 00003bfa: PUSH1 0x40 00003bfc: DUP3 00003bfd: ADD 00003bfe: MSTORE 00003bff: PUSH1 0x60 00003c01: DUP2 00003c02: ADD 00003c03: SWAP2 00003c04: SWAP1 00003c05: SWAP2 00003c06: MSTORE 00003c07: PUSH1 0x80 00003c09: ADD 00003c0a: SWAP1 00003c0b: JUMP 00003c0c: JUMPDEST 00003c0d: PUSH1 0x01 00003c0f: PUSH1 0x01 00003c11: PUSH1 0xa0 00003c13: SHL 00003c14: SUB 00003c15: SWAP3 00003c16: SWAP1 00003c17: SWAP3 00003c18: AND 00003c19: DUP3 00003c1a: MSTORE 00003c1b: PUSH1 0x20 00003c1d: DUP3 00003c1e: ADD 00003c1f: MSTORE 00003c20: PUSH1 0x40 00003c22: ADD 00003c23: SWAP1 00003c24: JUMP 00003c25: JUMPDEST 00003c26: PUSH4 0x4e487b71 00003c2b: PUSH1 0xe0 00003c2d: SHL 00003c2e: PUSH1 0x00 00003c30: MSTORE 00003c31: PUSH1 0x11 00003c33: PUSH1 0x04 00003c35: MSTORE 00003c36: PUSH1 0x24 00003c38: PUSH1 0x00 00003c3a: REVERT 00003c3b: JUMPDEST 00003c3c: PUSH1 0x00 00003c3e: DUP3 00003c3f: NOT 00003c40: DUP3 00003c41: GT 00003c42: ISZERO 00003c43: PUSH2 0x3c4e 00003c46: JUMPI 00003c47: PUSH2 0x3c4e 00003c4a: PUSH2 0x3c25 00003c4d: JUMP 00003c4e: JUMPDEST 00003c4f: POP 00003c50: ADD 00003c51: SWAP1 00003c52: JUMP 00003c53: JUMPDEST 00003c54: PUSH1 0x01 00003c56: DUP2 00003c57: DUP2 00003c58: SHR 00003c59: SWAP1 00003c5a: DUP3 00003c5b: AND 00003c5c: DUP1 00003c5d: PUSH2 0x3c67 00003c60: JUMPI 00003c61: PUSH1 0x7f 00003c63: DUP3 00003c64: AND 00003c65: SWAP2 00003c66: POP 00003c67: JUMPDEST 00003c68: PUSH1 0x20 00003c6a: DUP3 00003c6b: LT 00003c6c: DUP2 00003c6d: SUB 00003c6e: PUSH2 0x2c28 00003c71: JUMPI 00003c72: PUSH4 0x4e487b71 00003c77: PUSH1 0xe0 00003c79: SHL 00003c7a: PUSH1 0x00 00003c7c: MSTORE 00003c7d: PUSH1 0x22 00003c7f: PUSH1 0x04 00003c81: MSTORE 00003c82: PUSH1 0x24 00003c84: PUSH1 0x00 00003c86: REVERT 00003c87: JUMPDEST 00003c88: DUP2 00003c89: DUP4 00003c8a: DUP3 00003c8b: CALLDATACOPY 00003c8c: PUSH1 0x00 00003c8e: SWAP2 00003c8f: ADD 00003c90: SWAP1 00003c91: DUP2 00003c92: MSTORE 00003c93: SWAP2 00003c94: SWAP1 00003c95: POP 00003c96: JUMP 00003c97: JUMPDEST 00003c98: PUSH1 0x20 00003c9a: DUP1 00003c9b: DUP3 00003c9c: MSTORE 00003c9d: PUSH1 0x0a 00003c9f: SWAP1 00003ca0: DUP3 00003ca1: ADD 00003ca2: MSTORE 00003ca3: PUSH10 0x27b7363c9030b236b4b7 00003cae: PUSH1 0xb1 00003cb0: SHL 00003cb1: PUSH1 0x40 00003cb3: DUP3 00003cb4: ADD 00003cb5: MSTORE 00003cb6: PUSH1 0x60 00003cb8: ADD 00003cb9: SWAP1 00003cba: JUMP 00003cbb: JUMPDEST 00003cbc: PUSH1 0x00 00003cbe: DUP3 00003cbf: DUP3 00003cc0: LT 00003cc1: ISZERO 00003cc2: PUSH2 0x3ccd 00003cc5: JUMPI 00003cc6: PUSH2 0x3ccd 00003cc9: PUSH2 0x3c25 00003ccc: JUMP 00003ccd: JUMPDEST 00003cce: POP 00003ccf: SUB 00003cd0: SWAP1 00003cd1: JUMP 00003cd2: JUMPDEST 00003cd3: PUSH1 0x00 00003cd5: DUP2 00003cd6: PUSH1 0x00 00003cd8: NOT 00003cd9: DIV 00003cda: DUP4 00003cdb: GT 00003cdc: DUP3 00003cdd: ISZERO 00003cde: ISZERO 00003cdf: AND 00003ce0: ISZERO 00003ce1: PUSH2 0x3cec 00003ce4: JUMPI 00003ce5: PUSH2 0x3cec 00003ce8: PUSH2 0x3c25 00003ceb: JUMP 00003cec: JUMPDEST 00003ced: POP 00003cee: MUL 00003cef: SWAP1 00003cf0: JUMP 00003cf1: JUMPDEST 00003cf2: PUSH1 0x00 00003cf4: DUP3 00003cf5: PUSH2 0x3d0e 00003cf8: JUMPI 00003cf9: PUSH4 0x4e487b71 00003cfe: PUSH1 0xe0 00003d00: SHL 00003d01: PUSH1 0x00 00003d03: MSTORE 00003d04: PUSH1 0x12 00003d06: PUSH1 0x04 00003d08: MSTORE 00003d09: PUSH1 0x24 00003d0b: PUSH1 0x00 00003d0d: REVERT 00003d0e: JUMPDEST 00003d0f: POP 00003d10: DIV 00003d11: SWAP1 00003d12: JUMP 00003d13: JUMPDEST 00003d14: PUSH1 0x00 00003d16: DUP1 00003d17: PUSH1 0x40 00003d19: DUP4 00003d1a: DUP6 00003d1b: SUB 00003d1c: SLT 00003d1d: ISZERO 00003d1e: PUSH2 0x3d26 00003d21: JUMPI 00003d22: PUSH1 0x00 00003d24: DUP1 00003d25: REVERT 00003d26: JUMPDEST 00003d27: POP 00003d28: POP 00003d29: DUP1 00003d2a: MLOAD 00003d2b: PUSH1 0x20 00003d2d: SWAP1 00003d2e: SWAP2 00003d2f: ADD 00003d30: MLOAD 00003d31: SWAP1 00003d32: SWAP3 00003d33: SWAP1 00003d34: SWAP2 00003d35: POP 00003d36: JUMP 00003d37: JUMPDEST 00003d38: PUSH4 0x4e487b71 00003d3d: PUSH1 0xe0 00003d3f: SHL 00003d40: PUSH1 0x00 00003d42: MSTORE 00003d43: PUSH1 0x32 00003d45: PUSH1 0x04 00003d47: MSTORE 00003d48: PUSH1 0x24 00003d4a: PUSH1 0x00 00003d4c: REVERT 00003d4d: JUMPDEST 00003d4e: PUSH1 0x00 00003d50: PUSH1 0x01 00003d52: DUP3 00003d53: ADD 00003d54: PUSH2 0x3d5f 00003d57: JUMPI 00003d58: PUSH2 0x3d5f 00003d5b: PUSH2 0x3c25 00003d5e: JUMP 00003d5f: JUMPDEST 00003d60: POP 00003d61: PUSH1 0x01 00003d63: ADD 00003d64: SWAP1 00003d65: JUMP 00003d66: JUMPDEST 00003d67: PUSH1 0x00 00003d69: DUP3 00003d6a: MLOAD 00003d6b: PUSH2 0x3d78 00003d6e: DUP2 00003d6f: DUP5 00003d70: PUSH1 0x20 00003d72: DUP8 00003d73: ADD 00003d74: PUSH2 0x365e 00003d77: JUMP 00003d78: JUMPDEST 00003d79: SWAP2 00003d7a: SWAP1 00003d7b: SWAP2 00003d7c: ADD 00003d7d: SWAP3 00003d7e: SWAP2 00003d7f: POP 00003d80: POP 00003d81: JUMP 00003d82: JUMPDEST 00003d83: PUSH1 0x00 00003d85: PUSH1 0x20 00003d87: DUP3 00003d88: DUP5 00003d89: SUB 00003d8a: SLT 00003d8b: ISZERO 00003d8c: PUSH2 0x3d94 00003d8f: JUMPI 00003d90: PUSH1 0x00 00003d92: DUP1 00003d93: REVERT 00003d94: JUMPDEST 00003d95: DUP2 00003d96: MLOAD 00003d97: DUP1 00003d98: ISZERO 00003d99: ISZERO 00003d9a: DUP2 00003d9b: EQ 00003d9c: PUSH2 0x0fe0 00003d9f: JUMPI 00003da0: PUSH1 0x00 00003da2: DUP1 00003da3: REVERT 00003da4: JUMPDEST 00003da5: PUSH1 0x00 00003da7: DUP1 00003da8: DUP4 00003da9: SLOAD 00003daa: DUP2 00003dab: PUSH1 0x01 00003dad: DUP3 00003dae: DUP2 00003daf: SHR 00003db0: SWAP2 00003db1: POP 00003db2: DUP1 00003db3: DUP4 00003db4: AND 00003db5: DUP1 00003db6: PUSH2 0x3dc0 00003db9: JUMPI 00003dba: PUSH1 0x7f 00003dbc: DUP4 00003dbd: AND 00003dbe: SWAP3 00003dbf: POP 00003dc0: JUMPDEST 00003dc1: PUSH1 0x20 00003dc3: DUP1 00003dc4: DUP5 00003dc5: LT 00003dc6: DUP3 00003dc7: SUB 00003dc8: PUSH2 0x3ddf 00003dcb: JUMPI 00003dcc: PUSH4 0x4e487b71 00003dd1: PUSH1 0xe0 00003dd3: SHL 00003dd4: DUP7 00003dd5: MSTORE 00003dd6: PUSH1 0x22 00003dd8: PUSH1 0x04 00003dda: MSTORE 00003ddb: PUSH1 0x24 00003ddd: DUP7 00003dde: REVERT 00003ddf: JUMPDEST 00003de0: DUP2 00003de1: DUP1 00003de2: ISZERO 00003de3: PUSH2 0x3df3 00003de6: JUMPI 00003de7: PUSH1 0x01 00003de9: DUP2 00003dea: EQ 00003deb: PUSH2 0x3e08 00003dee: JUMPI 00003def: PUSH2 0x3e35 00003df2: JUMP 00003df3: JUMPDEST 00003df4: PUSH1 0xff 00003df6: NOT 00003df7: DUP7 00003df8: AND 00003df9: DUP10 00003dfa: MSTORE 00003dfb: DUP5 00003dfc: ISZERO 00003dfd: ISZERO 00003dfe: DUP6 00003dff: MUL 00003e00: DUP10 00003e01: ADD 00003e02: SWAP7 00003e03: POP 00003e04: PUSH2 0x3e35 00003e07: JUMP 00003e08: JUMPDEST 00003e09: PUSH1 0x00 00003e0b: DUP11 00003e0c: DUP2 00003e0d: MSTORE 00003e0e: PUSH1 0x20 00003e10: SWAP1 00003e11: KECCAK256 00003e12: PUSH1 0x00 00003e14: JUMPDEST 00003e15: DUP7 00003e16: DUP2 00003e17: LT 00003e18: ISZERO 00003e19: PUSH2 0x3e2d 00003e1c: JUMPI 00003e1d: DUP2 00003e1e: SLOAD 00003e1f: DUP12 00003e20: DUP3 00003e21: ADD 00003e22: MSTORE 00003e23: SWAP1 00003e24: DUP6 00003e25: ADD 00003e26: SWAP1 00003e27: DUP4 00003e28: ADD 00003e29: PUSH2 0x3e14 00003e2c: JUMP 00003e2d: JUMPDEST 00003e2e: POP 00003e2f: POP 00003e30: DUP5 00003e31: DUP10 00003e32: ADD 00003e33: SWAP7 00003e34: POP 00003e35: JUMPDEST 00003e36: POP 00003e37: SWAP5 00003e38: SWAP9 00003e39: SWAP8 00003e3a: POP 00003e3b: POP 00003e3c: POP 00003e3d: POP 00003e3e: POP 00003e3f: POP 00003e40: POP 00003e41: POP 00003e42: JUMP 00003e43: JUMPDEST 00003e44: PUSH1 0x20 00003e46: DUP1 00003e47: DUP3 00003e48: MSTORE 00003e49: PUSH1 0x0d 00003e4b: SWAP1 00003e4c: DUP3 00003e4d: ADD 00003e4e: MSTORE 00003e4f: PUSH13 0x43617374206f766572666c6f77 00003e5d: PUSH1 0x98 00003e5f: SHL 00003e60: PUSH1 0x40 00003e62: DUP3 00003e63: ADD 00003e64: MSTORE 00003e65: PUSH1 0x60 00003e67: ADD 00003e68: SWAP1 00003e69: JUMP 00003e6a: JUMPDEST 00003e6b: PUSH1 0x00 00003e6d: PUSH4 0xffffffff 00003e72: DUP4 00003e73: DUP2 00003e74: AND 00003e75: SWAP1 00003e76: DUP4 00003e77: AND 00003e78: DUP2 00003e79: DUP2 00003e7a: LT 00003e7b: ISZERO 00003e7c: PUSH2 0x3e87 00003e7f: JUMPI 00003e80: PUSH2 0x3e87 00003e83: PUSH2 0x3c25 00003e86: JUMP 00003e87: JUMPDEST 00003e88: SUB 00003e89: SWAP4 00003e8a: SWAP3 00003e8b: POP 00003e8c: POP 00003e8d: POP 00003e8e: JUMP 00003e8f: JUMPDEST 00003e90: PUSH1 0x00 00003e92: PUSH1 0x20 00003e94: DUP3 00003e95: DUP5 00003e96: SUB 00003e97: SLT 00003e98: ISZERO 00003e99: PUSH2 0x3ea1 00003e9c: JUMPI 00003e9d: PUSH1 0x00 00003e9f: DUP1 00003ea0: REVERT 00003ea1: JUMPDEST 00003ea2: DUP2 00003ea3: MLOAD 00003ea4: PUSH8 0xffffffffffffffff 00003ead: DUP1 00003eae: DUP3 00003eaf: GT 00003eb0: ISZERO 00003eb1: PUSH2 0x3eb9 00003eb4: JUMPI 00003eb5: PUSH1 0x00 00003eb7: DUP1 00003eb8: REVERT 00003eb9: JUMPDEST 00003eba: DUP2 00003ebb: DUP5 00003ebc: ADD 00003ebd: SWAP2 00003ebe: POP 00003ebf: DUP5 00003ec0: PUSH1 0x1f 00003ec2: DUP4 00003ec3: ADD 00003ec4: SLT 00003ec5: PUSH2 0x3ecd 00003ec8: JUMPI 00003ec9: PUSH1 0x00 00003ecb: DUP1 00003ecc: REVERT 00003ecd: JUMPDEST 00003ece: DUP2 00003ecf: MLOAD 00003ed0: DUP2 00003ed1: DUP2 00003ed2: GT 00003ed3: ISZERO 00003ed4: PUSH2 0x3edf 00003ed7: JUMPI 00003ed8: PUSH2 0x3edf 00003edb: PUSH2 0x38d4 00003ede: JUMP 00003edf: JUMPDEST 00003ee0: PUSH2 0x3ef2 00003ee3: PUSH1 0x1f 00003ee5: DUP3 00003ee6: ADD 00003ee7: PUSH1 0x1f 00003ee9: NOT 00003eea: AND 00003eeb: PUSH1 0x20 00003eed: ADD 00003eee: PUSH2 0x38ea 00003ef1: JUMP 00003ef2: JUMPDEST 00003ef3: SWAP2 00003ef4: POP 00003ef5: DUP1 00003ef6: DUP3 00003ef7: MSTORE 00003ef8: DUP6 00003ef9: PUSH1 0x20 00003efb: DUP3 00003efc: DUP6 00003efd: ADD 00003efe: ADD 00003eff: GT 00003f00: ISZERO 00003f01: PUSH2 0x3f09 00003f04: JUMPI 00003f05: PUSH1 0x00 00003f07: DUP1 00003f08: REVERT 00003f09: JUMPDEST 00003f0a: PUSH2 0x3f1a 00003f0d: DUP2 00003f0e: PUSH1 0x20 00003f10: DUP5 00003f11: ADD 00003f12: PUSH1 0x20 00003f14: DUP7 00003f15: ADD 00003f16: PUSH2 0x365e 00003f19: JUMP 00003f1a: JUMPDEST 00003f1b: POP 00003f1c: SWAP5 00003f1d: SWAP4 00003f1e: POP 00003f1f: POP 00003f20: POP 00003f21: POP 00003f22: JUMP 00003f23: JUMPDEST 00003f24: PUSH1 0x00 00003f26: PUSH1 0x01 00003f28: PUSH1 0x01 00003f2a: PUSH1 0x80 00003f2c: SHL 00003f2d: SUB 00003f2e: DUP4 00003f2f: DUP2 00003f30: AND 00003f31: SWAP1 00003f32: DUP4 00003f33: AND 00003f34: DUP2 00003f35: DUP2 00003f36: LT 00003f37: ISZERO 00003f38: PUSH2 0x3e87 00003f3b: JUMPI 00003f3c: PUSH2 0x3e87 00003f3f: PUSH2 0x3c25 00003f42: JUMP 00003f43: JUMPDEST 00003f44: PUSH1 0x20 00003f46: DUP1 00003f47: DUP3 00003f48: MSTORE 00003f49: PUSH1 0x1b 00003f4b: SWAP1 00003f4c: DUP3 00003f4d: ADD 00003f4e: MSTORE 00003f4f: PUSH32 0x45524332303a20496e73756666696369656e742062616c616e63650000000000 00003f70: PUSH1 0x40 00003f72: DUP3 00003f73: ADD 00003f74: MSTORE 00003f75: PUSH1 0x60 00003f77: ADD 00003f78: SWAP1 00003f79: JUMP 00003f7a: INVALID 00003f7b: DELEGATECALL 00003f7c: UNKNOWN(0x4B) 00003f7d: PUSH15 0xcb6421462dee6400bd4e3bb57864c0 00003f8d: DELEGATECALL 00003f8e: UNKNOWN(0x28) 00003f8f: UNKNOWN(0xD0) 00003f90: UNKNOWN(0xF7) 00003f91: UNKNOWN(0xE7) 00003f92: UNKNOWN(0xD4) 00003f93: SWAP8 00003f94: PUSH18 0xf9fd7c30d4faddf252ad1be2c89b69c2b068 00003fa7: UNKNOWN(0xFC) 00003fa8: CALLDATACOPY 00003fa9: DUP14 00003faa: UNKNOWN(0xAA) 00003fab: SWAP6 00003fac: UNKNOWN(0x2B) 00003fad: UNKNOWN(0xA7) 00003fae: CALL 00003faf: PUSH4 0xc4a11628 00003fb4: CREATE2 00003fb5: GAS 00003fb6: UNKNOWN(0x4D) 00003fb7: CREATE2 00003fb8: UNKNOWN(0x23) 00003fb9: UNKNOWN(0xB3) 00003fba: UNKNOWN(0xEF) 00003fbb: LOG2 00003fbc: PUSH5 0x6970667358 00003fc2: UNKNOWN(0x22) 00003fc3: SLT 00003fc4: KECCAK256 00003fc5: UNKNOWN(0xB1) 00003fc6: EXTCODESIZE 00003fc7: PUSH16 0x1a20a6b787e1b7c87a84f7f85eb6c255 00003fd8: UNKNOWN(0xD3) 00003fd9: UNKNOWN(0xC2) 00003fda: MSTORE 00003fdb: DUP6 00003fdc: POP 00003fdd: SUB 00003fde: RETURNDATACOPY 00003fdf: PUSH7 0x796d4d042d6473 00003fe7: PUSH16
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | upgradeability | detector | Untrusted DELEGATECALL target reachable | 55 | no | no |
viewtrace_id: 0x1d6615b1bedda3b66ee205deaebdb539dc9d9efed4bc335aae63da7c6ada788b
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x1d6615b1bedda3b66ee205deaebdb539dc9d9efed4bc335aae63da7c6ada788b",
"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": "0xd7020d0a",
"selector": "0xd7020d0a",
"calldata_variants": [
"0xd7020d0a",
"0xd7020d0a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdc3bfba9",
"selector": "0xdc3bfba9",
"calldata_variants": [
"0xdc3bfba9",
"0xdc3bfba90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xde02cde7",
"selector": "0xde02cde7",
"calldata_variants": [
"0xde02cde7",
"0xde02cde70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xde320cc1",
"selector": "0xde320cc1",
"calldata_variants": [
"0xde320cc1",
"0xde320cc10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeffae353",
"selector": "0xeffae353",
"calldata_variants": [
"0xeffae353",
"0xeffae3530000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf8f80017",
"selector": "0xf8f80017",
"calldata_variants": [
"0xf8f80017",
"0xf8f800170000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 16251,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 16269,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [
{
"pc": 5086,
"type": "msg_sender_eq_const",
"value": 0
}
],
"delegatecall_count": 2,
"untrusted_delegatecall_count": 2
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0xcef48351e934634264710e89ac71c6095d7a86a19f2d8afd88af674665926659
call_targets:
0x3ae72b6f5fb854eaa2b2b862359b6fca7e4bc2fc
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xcef48351e934634264710e89ac71c6095d7a86a19f2d8afd88af674665926659",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x3ae72b6f5fb854eaa2b2b862359b6fca7e4bc2fc"
],
"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": "0xd7020d0a",
"selector": "0xd7020d0a",
"calldata_variants": [
"0xd7020d0a",
"0xd7020d0a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdc3bfba9",
"selector": "0xdc3bfba9",
"calldata_variants": [
"0xdc3bfba9",
"0xdc3bfba90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xde02cde7",
"selector": "0xde02cde7",
"calldata_variants": [
"0xde02cde7",
"0xde02cde70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xde320cc1",
"selector": "0xde320cc1",
"calldata_variants": [
"0xde320cc1",
"0xde320cc10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeffae353",
"selector": "0xeffae353",
"calldata_variants": [
"0xeffae353",
"0xeffae3530000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf8f80017",
"selector": "0xf8f80017",
"calldata_variants": [
"0xf8f80017",
"0xf8f800170000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2760,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3506,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3626,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 8,
"guards_detected": [
{
"pc": 5086,
"type": "msg_sender_eq_const",
"value": 0
}
]
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 2
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x8781fdb7b617bd07ad28932195715898eb1b5252f891db2b1fdaf3be70de5664
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x8781fdb7b617bd07ad28932195715898eb1b5252f891db2b1fdaf3be70de5664",
"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": "0xd7020d0a",
"selector": "0xd7020d0a",
"calldata_variants": [
"0xd7020d0a",
"0xd7020d0a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdc3bfba9",
"selector": "0xdc3bfba9",
"calldata_variants": [
"0xdc3bfba9",
"0xdc3bfba90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xde02cde7",
"selector": "0xde02cde7",
"calldata_variants": [
"0xde02cde7",
"0xde02cde70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xde320cc1",
"selector": "0xde320cc1",
"calldata_variants": [
"0xde320cc1",
"0xde320cc10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeffae353",
"selector": "0xeffae353",
"calldata_variants": [
"0xeffae353",
"0xeffae3530000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf8f80017",
"selector": "0xf8f80017",
"calldata_variants": [
"0xf8f80017",
"0xf8f800170000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 2
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0xcef48351e934634264710e89ac71c6095d7a86a19f2d8afd88af674665926659
call_targets:
0x3ae72b6f5fb854eaa2b2b862359b6fca7e4bc2fc
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xcef48351e934634264710e89ac71c6095d7a86a19f2d8afd88af674665926659",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x3ae72b6f5fb854eaa2b2b862359b6fca7e4bc2fc"
],
"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": "0xd7020d0a",
"selector": "0xd7020d0a",
"calldata_variants": [
"0xd7020d0a",
"0xd7020d0a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdc3bfba9",
"selector": "0xdc3bfba9",
"calldata_variants": [
"0xdc3bfba9",
"0xdc3bfba90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xde02cde7",
"selector": "0xde02cde7",
"calldata_variants": [
"0xde02cde7",
"0xde02cde70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xde320cc1",
"selector": "0xde320cc1",
"calldata_variants": [
"0xde320cc1",
"0xde320cc10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeffae353",
"selector": "0xeffae353",
"calldata_variants": [
"0xeffae353",
"0xeffae3530000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf8f80017",
"selector": "0xf8f80017",
"calldata_variants": [
"0xf8f80017",
"0xf8f800170000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2760,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3506,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3626,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 8,
"guards_detected": [
{
"pc": 5086,
"type": "msg_sender_eq_const",
"value": 0
}
],
"untrusted_call_count": 8
}
|
| low | math | codex | Strategy can be permanently bricked after total supply hits zero (division by zero on mint/burn paths) | 65 | no | — |
viewevidence_json{
"evidence": "Share minting uses cached balances as denominators without zero checks.",
"locations": [
"contracts/@yield-protocol/strategy-v2/src/Strategy.sol:329",
"contracts/@yield-protocol/strategy-v2/src/Strategy.sol:372",
"contracts/@yield-protocol/strategy-v2/src/Strategy.sol:351",
"contracts/@yield-protocol/strategy-v2/src/Strategy.sol:389"
],
"recommendation": "Add explicit zero-supply handling: if `_totalSupply == 0`, mint 1:1 to deposit (and initialize cached values), or allow a guarded re-initialization path. Also guard divisions by ensuring cached balances are nonzero before dividing.",
"exploit_scenario": "If all strategy tokens are burned (e.g., the last LP exits), `_totalSupply` becomes 0 and `baseCached`/`poolCached` can also become 0. Any later `mint`/`mintDivested` call will revert on division by zero, preventing new deposits and effectively bricking the strategy. A malicious or simply last LP can trigger this by withdrawing all liquidity, leaving the strategy unusable for future users."
}
|
| low | auth | codex | ERC20Permit does not enforce EIP-2 lower‑s / v range checks (signature malleability) | 65 | no | — |
viewevidence_json{
"evidence": "`permit` accepts any `(v, r, s)` that recovers the owner without enforcing lower\u2011s or v range checks.",
"locations": [
"contracts/@yield-protocol/utils-v2/src/token/ERC20Permit.sol:55"
],
"recommendation": "Validate `v` is 27/28 and require `s` to be in the lower half\u2011order (per EIP-2) before accepting the signature, or use OpenZeppelin\u2019s `ECDSA.recover` helpers.",
"exploit_scenario": "An attacker who observes a valid permit signature can derive a second, malleable signature for the same message and front\u2011run the permit. While nonces prevent multiple uses, this breaks strict signature uniqueness and can complicate off\u2011chain logic or signature tracking."
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 0,
"create2_count": 2
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 26
}
|