3434233f-be8f-4773-8512-d71d9cb934b3
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 |
|---|---|---|---|---|
| 30726 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 75352 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 75353 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 75354 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 75355 | capability.graph | complete | 1 / 3 | 1 week ago |
| 75356 | detector.run | complete | 1 / 3 | 1 week ago |
| 75357 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1196867] OpenAI Codex v0.77.0 (research preview)
[codex:1196867] --------
[codex:1196867] workdir: /tmp/codex-multi-z9avrjur
[codex:1196867] model: gpt-5.2-codex
[codex:1196867] provider: openai
[codex:1196867] approval: never
[codex:1196867] sandbox: read-only
[codex:1196867] reasoning effort: xhigh
[codex:1196867] reasoning summaries: auto
[codex:1196867] session id: 019b7097-70b5-7573-a7f8-f97dcd516cdd
[codex:1196867] --------
[codex:1196867] user
[codex:1196867] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1196867] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1196867] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1196867]
[codex:1196867] Scope rules:
[codex:1196867] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1196867] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1196867]
[codex:1196867] Output MUST be valid JSON matching the provided schema.
[codex:1196867] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1196867] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1196867]
[codex:1196867] Output constraints (IMPORTANT):
[codex:1196867] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1196867] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1196867] mcp startup: no servers
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Checking for skill details**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc ls in /tmp/codex-multi-z9avrjur succeeded in 5ms:
[codex:1196867] AUDIT_BUNDLE.txt
[codex:1196867] codex-output-schema.json
[codex:1196867] contracts
[codex:1196867] exec
[codex:1196867] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1196867]
[codex:1196867] ================================================================================
[codex:1196867] FILE: contracts/dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/IERC20.sol
[codex:1196867] ================================================================================
[codex:1196867] // SPDX-License-Identifier: MIT
[codex:1196867] // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)
[codex:1196867]
[codex:1196867] pragma solidity ^0.8.20;
[codex:1196867]
[codex:1196867] /**
[codex:1196867] * @dev Interface of the ERC20 standard as defined in the EIP.
[codex:1196867] */
[codex:1196867] interface IERC20 {
[codex:1196867] /**
[codex:1196867] * @dev Emitted when `value` tokens are moved from one account (`from`) to
[codex:1196867] * another (`to`).
[codex:1196867] *
[codex:1196867] * Note that `value` may be zero.
[codex:1196867] */
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Planning full audit bundle reading**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] 4:FILE: contracts/dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/IERC20.sol
[codex:1196867] 87:FILE: contracts/dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/extensions/IERC20Metadata.sol
[codex:1196867] 117:FILE: contracts/dependencies/solady-0.0.201/src/auth/Ownable.sol
[codex:1196867] 399:FILE: contracts/dependencies/solady-0.0.201/src/auth/OwnableRoles.sol
[codex:1196867] 933:FILE: contracts/dependencies/solady-0.0.201/src/tokens/ERC20.sol
[codex:1196867] 1483:FILE: contracts/dependencies/solady-0.0.201/src/tokens/ERC4626.sol
[codex:1196867] 2014:FILE: contracts/dependencies/solady-0.0.201/src/utils/FixedPointMathLib.sol
[codex:1196867] 3093:FILE: contracts/dependencies/solady-0.0.201/src/utils/SafeTransferLib.sol
[codex:1196867] 3656:FILE: contracts/src/MaxApyVault.sol
[codex:1196867] 5895:FILE: contracts/src/helpers/VaultTypes.sol
[codex:1196867] 5941:FILE: contracts/src/interfaces/IStrategy.sol
[codex:1196867] 6042:FILE: contracts/src/lib/ReentrancyGuard.sol
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Planning chunked file reading**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '1,400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1196867]
[codex:1196867] ================================================================================
[codex:1196867] FILE: contracts/dependencies/@openzeppelin-contracts-5.0.2/token/ERC20/IERC20.sol
[codex:1196867] ================================================================================
[codex:1196867] // SPDX-License-Identifier: MIT
[codex:1196867] // OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)
[codex:1196867]
[codex:1196867] pragma solidity ^0.8.20;
[codex:1196867]
[codex:1196867] /**
[codex:1196867] * @dev Interface of the ERC20 standard as defined in the EIP.
[codex:1196867] */
[codex:1196867] interface IERC20 {
[codex:1196867] /**
[codex:1196867] * @dev Emitted when `value` tokens are moved from one account (`from`) to
[codex:1196867] * another (`to`).
[codex:1196867] *
[codex:1196867] * Note that `value` may be zero.
[codex:1196867] */
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Continuing analysis**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '401,800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 7ms:
[codex:1196867] // SPDX-License-Identifier: MIT
[codex:1196867] pragma solidity ^0.8.4;
[codex:1196867]
[codex:1196867] import {Ownable} from "./Ownable.sol";
[codex:1196867]
[codex:1196867] /// @notice Simple single owner and multiroles authorization mixin.
[codex:1196867] /// @author Solady (https://github.com/vectorized/solady/blob/main/src/auth/Ownable.sol)
[codex:1196867] /// @dev While the ownable portion follows [EIP-173](https://eips.ethereum.org/EIPS/eip-173)
[codex:1196867] /// for compatibility, the nomenclature for the 2-step ownership handover and roles
[codex:1196867] /// may be unique to this codebase.
[codex:1196867] abstract contract OwnableRoles is Ownable {
[codex:1196867] /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
[codex:1196867] /* EVENTS */
[codex:1196867] /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/
[codex:1196867]
[codex:1196867] /// @dev The `user`'s roles is updated to `roles`.
[codex:1196867] /// Each bit of `roles` represents whether the role is set.
[codex:1196867] event RolesUpdated(address indexed user, uint256 indexed roles);
[codex:1196867]
[codex:1196867] /// @dev `keccak256(bytes("RolesUpdated(address,uint256)"))`.
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Continuing exploration**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '801,1200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 5ms:
[codex:1196867] uint256 internal constant _ROLE_127 = 1 << 127;
[codex:1196867] uint256 internal constant _ROLE_128 = 1 << 128;
[codex:1196867] uint256 internal constant _ROLE_129 = 1 << 129;
[codex:1196867] uint256 internal constant _ROLE_130 = 1 << 130;
[codex:1196867] uint256 internal constant _ROLE_131 = 1 << 131;
[codex:1196867] uint256 internal constant _ROLE_132 = 1 << 132;
[codex:1196867] uint256 internal constant _ROLE_133 = 1 << 133;
[codex:1196867] uint256 internal constant _ROLE_134 = 1 << 134;
[codex:1196867] uint256 internal constant _ROLE_135 = 1 << 135;
[codex:1196867] uint256 internal constant _ROLE_136 = 1 << 136;
[codex:1196867] uint256 internal constant _ROLE_137 = 1 << 137;
[codex:1196867] uint256 internal constant _ROLE_138 = 1 << 138;
[codex:1196867] uint256 internal constant _ROLE_139 = 1 << 139;
[codex:1196867] uint256 internal constant _ROLE_140 = 1 << 140;
[codex:1196867] uint256 internal constant _ROLE_141 = 1 << 141;
[codex:1196867] uint256 internal constant _ROLE_142 = 1 << 142;
[codex:1196867] uint256 internal constant _ROLE_143 = 1 << 143;
[codex:1196867] uint256 internal constant _ROLE_144 = 1 << 144;
[codex:1196867] uint256 internal constant _ROLE_145 = 1 << 145;
[codex:1196867] uint256 internal constant _ROLE_146 = 1 << 146;
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Continuing file review**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '1201,1600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] // Add and store the updated balance of `to`.
[codex:1196867] // Will not overflow because the sum of all user balances
[codex:1196867] // cannot exceed the maximum uint256 value.
[codex:1196867] sstore(toBalanceSlot, add(sload(toBalanceSlot), amount))
[codex:1196867] // Emit the {Transfer} event.
[codex:1196867] mstore(0x20, amount)
[codex:1196867] log3(0x20, 0x20, _TRANSFER_EVENT_SIGNATURE, shr(96, from_), shr(96, mload(0x0c)))
[codex:1196867] }
[codex:1196867] _afterTokenTransfer(from, to, amount);
[codex:1196867] return true;
[codex:1196867] }
[codex:1196867]
[codex:1196867] /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
[codex:1196867] /* EIP-2612 */
[codex:1196867] /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/
[codex:1196867]
[codex:1196867] /// @dev For more performance, override to return the constant value
[codex:1196867] /// of `keccak256(bytes(name()))` if `name()` will never change.
[codex:1196867] function _constantNameHash() internal view virtual returns (bytes32 result) {}
[codex:1196867]
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Continuing to review lines 1601-2000**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '1601,2000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 5ms:
[codex:1196867] /// Example usage:
[codex:1196867] /// ```
[codex:1196867] /// (bool success, uint8 result) = _tryGetAssetDecimals(underlying);
[codex:1196867] /// _decimals = success ? result : _DEFAULT_UNDERLYING_DECIMALS;
[codex:1196867] /// ```
[codex:1196867] function _tryGetAssetDecimals(address underlying)
[codex:1196867] internal
[codex:1196867] view
[codex:1196867] returns (bool success, uint8 result)
[codex:1196867] {
[codex:1196867] /// @solidity memory-safe-assembly
[codex:1196867] assembly {
[codex:1196867] // Store the function selector of `decimals()`.
[codex:1196867] mstore(0x00, 0x313ce567)
[codex:1196867] // Arguments are evaluated last to first.
[codex:1196867] success :=
[codex:1196867] and(
[codex:1196867] // Returned value is less than 256, at left-padded to 32 bytes.
[codex:1196867] and(lt(mload(0x00), 0x100), gt(returndatasize(), 0x1f)),
[codex:1196867] // The staticcall succeeds.
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Continuing text exploration**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '2001,2400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867]
[codex:1196867] /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
[codex:1196867] /* HOOKS TO OVERRIDE */
[codex:1196867] /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/
[codex:1196867]
[codex:1196867] /// @dev Hook that is called before any withdrawal or redemption.
[codex:1196867] function _beforeWithdraw(uint256 assets, uint256 shares) internal virtual {}
[codex:1196867]
[codex:1196867] /// @dev Hook that is called after any deposit or mint.
[codex:1196867] function _afterDeposit(uint256 assets, uint256 shares) internal virtual {}
[codex:1196867] }
[codex:1196867]
[codex:1196867] ================================================================================
[codex:1196867] FILE: contracts/dependencies/solady-0.0.201/src/utils/FixedPointMathLib.sol
[codex:1196867] ================================================================================
[codex:1196867] // SPDX-License-Identifier: MIT
[codex:1196867] pragma solidity ^0.8.4;
[codex:1196867]
[codex:1196867] /// @notice Arithmetic library with operations for fixed-point numbers.
[codex:1196867] /// @author Solady (https://github.com/vectorized/solady/blob/main/src/utils/FixedPointMathLib.sol)
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Continuing code review from line 2401 to 2800**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '2401,2800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 5ms:
[codex:1196867] }
[codex:1196867] if (p <= w) break;
[codex:1196867] p = w;
[codex:1196867] } while (--i != 0);
[codex:1196867] /// @solidity memory-safe-assembly
[codex:1196867] assembly {
[codex:1196867] w := sub(w, sgt(w, 2))
[codex:1196867] }
[codex:1196867] return w;
[codex:1196867] }
[codex:1196867] }
[codex:1196867] do { // Otherwise, use Halley's for faster convergence.
[codex:1196867] int256 e = expWad(w);
[codex:1196867] /// @solidity memory-safe-assembly
[codex:1196867] assembly {
[codex:1196867] let t := add(w, wad)
[codex:1196867] let s := sub(mul(w, e), mul(x, wad))
[codex:1196867] w := sub(w, sdiv(mul(s, wad), sub(mul(e, t), sdiv(mul(add(t, wad), s), add(t, t)))))
[codex:1196867] }
[codex:1196867] if (p <= w) break;
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Continuing log review**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '2801,3200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867]
[codex:1196867] /// @dev Returns the log10 of `x`, rounded up.
[codex:1196867] /// Returns 0 if `x` is zero.
[codex:1196867] function log10Up(uint256 x) internal pure returns (uint256 r) {
[codex:1196867] r = log10(x);
[codex:1196867] /// @solidity memory-safe-assembly
[codex:1196867] assembly {
[codex:1196867] r := add(r, lt(exp(10, r), x))
[codex:1196867] }
[codex:1196867] }
[codex:1196867]
[codex:1196867] /// @dev Returns the log256 of `x`.
[codex:1196867] /// Returns 0 if `x` is zero.
[codex:1196867] function log256(uint256 x) internal pure returns (uint256 r) {
[codex:1196867] /// @solidity memory-safe-assembly
[codex:1196867] assembly {
[codex:1196867] r := shl(7, lt(0xffffffffffffffffffffffffffffffff, x))
[codex:1196867] r := or(r, shl(6, lt(0xffffffffffffffff, shr(r, x))))
[codex:1196867] r := or(r, shl(5, lt(0xffffffff, shr(r, x))))
[codex:1196867] r := or(r, shl(4, lt(0xffff, shr(r, x))))
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Continuing to review lines 3201-3600**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '3201,3600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] /// @solidity memory-safe-assembly
[codex:1196867] assembly {
[codex:1196867] if lt(selfbalance(), amount) {
[codex:1196867] mstore(0x00, 0xb12d13eb) // `ETHTransferFailed()`.
[codex:1196867] revert(0x1c, 0x04)
[codex:1196867] }
[codex:1196867] if iszero(call(gasStipend, to, amount, codesize(), 0x00, codesize(), 0x00)) {
[codex:1196867] mstore(0x00, to) // Store the address in scratch space.
[codex:1196867] mstore8(0x0b, 0x73) // Opcode `PUSH20`.
[codex:1196867] mstore8(0x20, 0xff) // Opcode `SELFDESTRUCT`.
[codex:1196867] if iszero(create(amount, 0x0b, 0x16)) { revert(codesize(), codesize()) } // For gas estimation.
[codex:1196867] }
[codex:1196867] }
[codex:1196867] }
[codex:1196867]
[codex:1196867] /// @dev Force sends all the ETH in the current contract to `to`, with a `gasStipend`.
[codex:1196867] function forceSafeTransferAllETH(address to, uint256 gasStipend) internal {
[codex:1196867] /// @solidity memory-safe-assembly
[codex:1196867] assembly {
[codex:1196867] if iszero(call(gasStipend, to, selfbalance(), codesize(), 0x00, codesize(), 0x00)) {
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Continuing code view from 3601 to 4000**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '3601,4000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867]
[codex:1196867] /// @dev Simple permit on the Permit2 contract.
[codex:1196867] function simplePermit2(
[codex:1196867] address token,
[codex:1196867] address owner,
[codex:1196867] address spender,
[codex:1196867] uint256 amount,
[codex:1196867] uint256 deadline,
[codex:1196867] uint8 v,
[codex:1196867] bytes32 r,
[codex:1196867] bytes32 s
[codex:1196867] ) internal {
[codex:1196867] /// @solidity memory-safe-assembly
[codex:1196867] assembly {
[codex:1196867] let m := mload(0x40)
[codex:1196867] mstore(m, 0x927da105) // `allowance(address,address,address)`.
[codex:1196867] {
[codex:1196867] let addressMask := shr(96, not(0))
[codex:1196867] mstore(add(m, 0x20), and(addressMask, owner))
[codex:1196867] mstore(add(m, 0x40), and(addressMask, token))
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Continuing file view**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '4001,4400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 5ms:
[codex:1196867] success = false;
[codex:1196867] }
[codex:1196867] }
[codex:1196867]
[codex:1196867] /// @notice Reports a strategy loss, adjusting the corresponding vault and strategy parameters
[codex:1196867] /// to minimize trust in the strategy
[codex:1196867] /// @param strategy The strategy reporting the loss
[codex:1196867] /// @param loss The amount of loss to report
[codex:1196867] function _reportLoss(address strategy, uint256 loss) internal {
[codex:1196867] // Strategy data
[codex:1196867] uint128 strategyTotalDebt;
[codex:1196867] uint16 strategyDebtRatio;
[codex:1196867]
[codex:1196867] // Vault data
[codex:1196867] uint256 totalDebt_;
[codex:1196867] uint256 debtRatio_;
[codex:1196867]
[codex:1196867] // Slot data
[codex:1196867] uint256 strategiesSlot;
[codex:1196867] uint256 slot0Content;
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Continuing code review from line 4401 to 4800**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '4401,4800p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] /// @notice Issues `amount` Vault shares to `to`
[codex:1196867] /// @dev Shares must be issued prior to taking on new collateral, or calculation will be wrong
[codex:1196867] /// This means that only *trusted* tokens (with no capability for exploitative behavior) can be used
[codex:1196867] /// @param to The shares recipient
[codex:1196867] /// @param amount The amount considered to compute the shares
[codex:1196867] /// @return shares The amount of shares computed from the amount
[codex:1196867] function _issueSharesForAmount(address to, uint256 amount) internal returns (uint256 shares) {
[codex:1196867] shares = convertToShares(amount);
[codex:1196867] assembly ("memory-safe") {
[codex:1196867] // if shares == 0
[codex:1196867] if iszero(shares) {
[codex:1196867] // Throw the `InvalidZeroShares` error
[codex:1196867] mstore(0x00, 0x5a870a25)
[codex:1196867] revert(0x1c, 0x04)
[codex:1196867] }
[codex:1196867] }
[codex:1196867]
[codex:1196867] _mint(to, shares);
[codex:1196867] }
[codex:1196867]
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Continuing to review lines 4801-5200**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '4801,5200p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 8ms:
[codex:1196867] log3(0x00, 0x40, _DEPOSIT_EVENT_SIGNATURE, and(m, by), and(m, to))
[codex:1196867] }
[codex:1196867] // if autipilot is enabled and > 1 week from last harvest check if there is any strategy in autopilot
[codex:1196867] // and harvest one strategy
[codex:1196867] if (autoPilotEnabled && lastReport + AUTOPILOT_HARVEST_INTERVAL < block.timestamp) {
[codex:1196867] // `to` will receive the extra shares from the management fees
[codex:1196867] (address strategy, bool success, bytes memory reason) = _forceOneHarvest(to);
[codex:1196867] if (!success) {
[codex:1196867] emit ForceHarvestFailed(strategy, reason);
[codex:1196867] }
[codex:1196867] }
[codex:1196867] }
[codex:1196867]
[codex:1196867] /// @notice Burns `shares` from `owner` and sends exactly `assets` of underlying tokens to `to`.
[codex:1196867] /// @dev overriden to add the `noEmergencyShutdown` & `nonReentrant` modifiers
[codex:1196867] function withdraw(
[codex:1196867] uint256 assets,
[codex:1196867] address to,
[codex:1196867] address owner
[codex:1196867] )
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Continuing to review lines 5201-5600**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '5201,5600p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] uint128 unrealizedGain,
[codex:1196867] uint128 loss,
[codex:1196867] uint128 debtPayment,
[codex:1196867] address managementFeeReceiver
[codex:1196867] )
[codex:1196867] external
[codex:1196867] checkRoles(STRATEGY_ROLE)
[codex:1196867] returns (uint256)
[codex:1196867] {
[codex:1196867] // Cache underlying asset
[codex:1196867] address underlying = asset();
[codex:1196867] // Cache strategy balance
[codex:1196867] uint256 senderBalance = SafeTransferLib.balanceOf(underlying, msg.sender);
[codex:1196867]
[codex:1196867] assembly ("memory-safe") {
[codex:1196867] // if (underlying.balanceOf(msg.sender) < realizedGain + debtPayment)
[codex:1196867] if lt(senderBalance, debtPayment) {
[codex:1196867] // throw the `InvalidReportedGainAndDebtPayment` error
[codex:1196867] mstore(0x00, 0x746feeec)
[codex:1196867] revert(0x1c, 0x04)
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Continuing file review**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '5601,6000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] mstore(0x00, strategy)
[codex:1196867] mstore(0x20, strategies.slot)
[codex:1196867] slot := keccak256(0x00, 0x40)
[codex:1196867]
[codex:1196867] // Load strategies[newStrategy] data into `slotContent`
[codex:1196867] slotContent := sload(slot)
[codex:1196867] // if (strategyData.strategyActivation == 0)
[codex:1196867] if iszero(shr(208, shl(176, slotContent))) {
[codex:1196867] // throw `StrategyNotActive()` error
[codex:1196867] mstore(0x00, 0xdc974a98)
[codex:1196867] revert(0x1c, 0x04)
[codex:1196867] }
[codex:1196867] }
[codex:1196867] if (IStrategy(strategy).emergencyExit() == 2) {
[codex:1196867] assembly ("memory-safe") {
[codex:1196867] // throw `StrategyInEmergencyExitMode()` error
[codex:1196867] mstore(0x00, 0x57c7c24f)
[codex:1196867] revert(0x1c, 0x04)
[codex:1196867] }
[codex:1196867] }
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Requesting final chunk**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "sed -n '6001,6400p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] function hasAllRoles(address user, uint256 roles) external view returns (bool result);
[codex:1196867]
[codex:1196867] function rolesOf(address user) external view returns (uint256 roles);
[codex:1196867]
[codex:1196867] function rolesFromOrdinals(uint8[] memory ordinals) external pure returns (uint256 roles);
[codex:1196867]
[codex:1196867] function ordinalsFromRoles(uint256 roles) external pure returns (uint8[] memory ordinals);
[codex:1196867]
[codex:1196867] function previewLiquidate(uint256) external view returns (uint256);
[codex:1196867]
[codex:1196867] function previewLiquidateExact(uint256) external view returns (uint256);
[codex:1196867]
[codex:1196867] function maxLiquidate() external view returns (uint256);
[codex:1196867]
[codex:1196867] function maxLiquidateExact() external view returns (uint256);
[codex:1196867]
[codex:1196867] function maxSingleTrade() external view returns (uint256);
[codex:1196867]
[codex:1196867] function minSingleTrade() external view returns (uint256);
[codex:1196867]
[codex:1196867]
[codex:1196867]
[codex:1196867]
[codex:1196867]
[codex:1196867]
[codex:1196867]
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Analyzing MaxApyVault security risks**
[codex:1196867]
[codex:1196867] I've detailed a close review of MaxApyVault’s reentrancy protections, role-based access control, strategy interactions, and fee assessments, focusing on possible vulnerabilities like reentrancy through strategy callbacks, external call risks especially in report(), and trusted strategy assumptions influencing share dilution and withdrawal correctness. There’s a lot here! I’m examining if state changes during deposit-harvest interplay could cause inconsistencies and how loss reporting impacts vault accounting and fees. The nuances around strategy trust and function guards are particularly interesting to unpack.
[codex:1196867] thinking
[codex:1196867] **Reviewing fee routing and internal accounting mechanics**
[codex:1196867]
[codex:1196867] I’m summarizing complexities around management fee distribution, role checks in report(), and subtle behavior in share minting and totalIdle updates. The interactions involving fixed-size arrays, use of SafeTransferLib, and handling of loss accounting caught my attention. Also, I’m considering how token transfers, especially with ERC777 hooks, might affect reentrancy and state consistency during strategy reports and vault operations. The way losses adjust shares and how deposit limits rely on strategy-reported values are interesting details to sort through.
[codex:1196867] thinking
[codex:1196867] **Analyzing strategy harvesting and role management nuances**
[codex:1196867]
[codex:1196867] I’m exploring how _forceOneHarvest handles autopilot strategies during deposits, including edge cases with withdrawalQueue indexing and strategy activation. The interaction between autoPilot flags, role checks, and management of strategy states stands out. I’m also looking into how functions like exitStrategy handle role removals and potential inconsistencies if strategies are not in the queue. Finally, I’m considering how external calls without try/catch could impact vault usability and how deposit/withdraw functions assume certain token behaviors that might affect accounting.
[codex:1196867] thinking
[codex:1196867] **Evaluating asset transfers and fee distribution logic**
[codex:1196867]
[codex:1196867] I’m reviewing how withdrawals handle partial liquidations and the related share calculations, especially the flow when assets are insufficient, ensuring revert safety. I’m also analyzing fee minting and strategist payments, focusing on how existing vault-held shares might affect distributions and whether this could be leveraged. Additionally, I’m considering reentrancy risks linked to report calls, underlying token hooks, and how multiple reports in one block could impact fee assessment and state updates.
[codex:1196867] thinking
[codex:1196867] **Analyzing reentrancy and asset accounting nuances**
[codex:1196867]
[codex:1196867] I’m exploring the reentrancy risk in report calls enabling multiple fee assessments within one block, bypassing intended timing checks, especially with tokens supporting callbacks. I’m also examining how the withdrawal queue’s strategy list affects totalAssets calculation, the impact of share distributions when vault holds leftover shares, and edge cases in fee computations and debt accounting that might lead to unexpected behaviors or admin risks.
[codex:1196867] thinking
[codex:1196867] **Reviewing potential vault state and accounting concerns**
[codex:1196867]
[codex:1196867] I’m scrutinizing edge cases like revoked strategies still holding assets, array handling in forced harvests, unchecked arithmetic in debt updates, and the interplay of strategy roles with autopilot settings. I’m also examining complexities around fund transfers in report, loss reporting in liquidation, fee calculations, and how deposit and withdrawal processes handle potential underflows or reentrancy risks.
[codex:1196867] thinking
[codex:1196867] **Summarizing reentrancy and token accounting issues**
[codex:1196867]
[codex:1196867] I'm weighing the impact of reentrancy in the `report` function—especially around external token transfers occurring before critical state updates—which could let strategies reenter and multiply fees or credit adjustments within one transaction. I also consider challenges from fee-on-transfer or rebasing tokens that break assumptions about exact asset amounts and accounting in deposits and reports, potentially leading to share inflation or invariant breaks. These findings seem the clearest and most actionable given the code context.
[codex:1196867] exec
[codex:1196867] /bin/bash -lc 'rg -n "function report" contracts/src/MaxApyVault.sol' in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] 1543: function report(
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Adding line numbers for inspection**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "nl -ba contracts/src/MaxApyVault.sol | sed -n '1540,1635p'" in /tmp/codex-multi-z9avrjur succeeded in 6ms:
[codex:1196867] 1540 /// @param debtPayment Amount Strategy has made available to cover outstanding debt
[codex:1196867] 1541 /// @param managementFeeReceiver Address receiving the protocol fees
[codex:1196867] 1542 /// @return debt Amount of debt outstanding (if totalDebt > debtLimit or emergency shutdown).
[codex:1196867] 1543 function report(
[codex:1196867] 1544 uint128 unrealizedGain,
[codex:1196867] 1545 uint128 loss,
[codex:1196867] 1546 uint128 debtPayment,
[codex:1196867] 1547 address managementFeeReceiver
[codex:1196867] 1548 )
[codex:1196867] 1549 external
[codex:1196867] 1550 checkRoles(STRATEGY_ROLE)
[codex:1196867] 1551 returns (uint256)
[codex:1196867] 1552 {
[codex:1196867] 1553 // Cache underlying asset
[codex:1196867] 1554 address underlying = asset();
[codex:1196867] 1555 // Cache strategy balance
[codex:1196867] 1556 uint256 senderBalance = SafeTransferLib.balanceOf(underlying, msg.sender);
[codex:1196867] 1557
[codex:1196867] 1558 assembly ("memory-safe") {
[codex:1196867] 1559 // if (underlying.balanceOf(msg.sender) < realizedGain + debtPayment)
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Analyzing external calls and fee-on-transfer logic**
[codex:1196867] exec
[codex:1196867] /bin/bash -lc 'rg -n "function _deposit" contracts/src/MaxApyVault.sol' in /tmp/codex-multi-z9avrjur succeeded in 10ms:
[codex:1196867] 1101: function _deposit(address by, address to, uint256 assets, uint256 shares) internal override {
[codex:1196867] exec
[codex:1196867] /bin/bash -lc "nl -ba contracts/src/MaxApyVault.sol | sed -n '1095,1165p'" in /tmp/codex-multi-z9avrjur succeeded in 9ms:
[codex:1196867] 1095 }
[codex:1196867] 1096 }
[codex:1196867] 1097 _deposit(msg.sender, receiver, assets = previewMint(shares), shares);
[codex:1196867] 1098 }
[codex:1196867] 1099
[codex:1196867] 1100 /// @dev override the Solady's internal function to add extra checks
[codex:1196867] 1101 function _deposit(address by, address to, uint256 assets, uint256 shares) internal override {
[codex:1196867] 1102 asset().safeTransferFrom(by, address(this), assets);
[codex:1196867] 1103 uint256 totalIdle_;
[codex:1196867] 1104 assembly ("memory-safe") {
[codex:1196867] 1105 // if to == address(0)
[codex:1196867] 1106 if iszero(shl(96, to)) {
[codex:1196867] 1107 // throw the `InvalidZeroAddress` error
[codex:1196867] 1108 mstore(0x00, 0xf6b2911f)
[codex:1196867] 1109 revert(0x1c, 0x04)
[codex:1196867] 1110 }
[codex:1196867] 1111 // if assets == 0
[codex:1196867] 1112 if iszero(assets) {
[codex:1196867] 1113 // throw the `InvalidZeroAmount` error
[codex:1196867] 1114 mstore(0x00, 0xdd484e70)
[codex:1196867]
[codex:1196867] thinking
[codex:1196867] **Summarizing security findings and crafting JSON output**
[codex:1196867]
[codex:1196867] I'm carefully consolidating two key findings: a medium-severity reentrancy risk in the `report` function causing repeated fee assessments before timestamps update, and a low-severity accounting mismatch when fee-on-transfer tokens are used in `_deposit`. I'm building a clear, structured JSON output with all required fields, line references, and prudent severity choices to accurately represent the issues and recommendations.
[codex:1196867] codex
[codex:1196867] {"no_findings":false,"summary":"Found 2 issues: `report()` can be reentered before timestamps update, enabling repeated fee assessment in one tx, and deposits assume exact transfers, which breaks accounting for fee-on-transfer/rebasing tokens.","findings":[{"severity":"medium","category":"reentrancy","title":"`report()` is reentrancy‑reachable before `strategyLastReport`/`lastReport` updates","exploit_scenario":"If the underlying token or strategy uses a reentrancy hook (e.g., ERC777), a strategy can call `report()`, hit the external token transfer, and reenter `report()` before `strategyLastReport`/`lastReport` are updated. This bypasses the `FeesAlreadyAssesed` duration guard and allows multiple fee assessments and credit adjustments in the same transaction, diluting shares or draining idle funds.","recommendation":"Add `nonReentrant` to `report()` and/or move the timestamp updates (and any other critical state) before external calls. Follow checks‑effects‑interactions to ensure reentrancy cannot repeat fee assessment in the same tx.","evidence":"`report()` performs `safeTransfer`/`safeTransferFrom` before updating `strategyLastReport`/`lastReport`, with no reentrancy guard.","locations":["contracts/src/MaxApyVault.sol:1543","contracts/src/MaxApyVault.sol:1602","contracts/src/MaxApyVault.sol:1617"]},{"severity":"low","category":"math","title":"Share/accounting mismatch for fee‑on‑transfer or rebasing underlying tokens","exploit_scenario":"On deposit, the vault mints shares and increments `totalIdle` by the requested `assets` amount without verifying the actual amount received. If the underlying token charges transfer fees or rebases, users can mint more shares than the vault actually received, leading to share inflation and potential loss for other depositors.","recommendation":"Restrict underlying assets to standard non‑fee, non‑rebasing ERC20s (enforce via deployment/docs), or compute received assets via balance‑before/after and use that value for minting and `totalIdle` updates.","evidence":"`_deposit` transfers `assets` then mints shares and increments `totalIdle` by `assets` without using actual received amount.","locations":["contracts/src/MaxApyVault.sol:1101","contracts/src/MaxApyVault.sol:1102","contracts/src/MaxApyVault.sol:1137"]}]}
[codex:1196867] tokens used
[codex:1196867] 124,315
[codex:1196867] {"no_findings":false,"summary":"Found 2 issues: `report()` can be reentered before timestamps update, enabling repeated fee assessment in one tx, and deposits assume exact transfers, which breaks accounting for fee-on-transfer/rebasing tokens.","findings":[{"severity":"medium","category":"reentrancy","title":"`report()` is reentrancy‑reachable before `strategyLastReport`/`lastReport` updates","exploit_scenario":"If the underlying token or strategy uses a reentrancy hook (e.g., ERC777), a strategy can call `report()`, hit the external token transfer, and reenter `report()` before `strategyLastReport`/`lastReport` are updated. This bypasses the `FeesAlreadyAssesed` duration guard and allows multiple fee assessments and credit adjustments in the same transaction, diluting shares or draining idle funds.","recommendation":"Add `nonReentrant` to `report()` and/or move the timestamp updates (and any other critical state) before external calls. Follow checks‑effects‑interactions to ensure reentrancy cannot repeat fee assessment in the same tx.","evidence":"`report()` performs `safeTransfer`/`safeTransferFrom` before updating `strategyLastReport`/`lastReport`, with no reentrancy guard.","locations":["contracts/src/MaxApyVault.sol:1543","contracts/src/MaxApyVault.sol:1602","contracts/src/MaxApyVault.sol:1617"]},{"severity":"low","category":"math","title":"Share/accounting mismatch for fee‑on‑transfer or rebasing underlying tokens","exploit_scenario":"On deposit, the vault mints shares and increments `totalIdle` by the requested `assets` amount without verifying the actual amount received. If the underlying token charges transfer fees or rebases, users can mint more shares than the vault actually received, leading to share inflation and potential loss for other depositors.","recommendation":"Restrict underlying assets to standard non‑fee, non‑rebasing ERC20s (enforce via deployment/docs), or compute received assets via balance‑before/after and use that value for minting and `totalIdle` updates.","evidence":"`_deposit` transfers `assets` then mints shares and increments `totalIdle` by `assets` without using actual received amount.","locations":["contracts/src/MaxApyVault.sol:1101","contracts/src/MaxApyVault.sol:1102","contracts/src/MaxApyVault.sol:1137"]}]}
{
"codex": {
"ran_at": "2025-12-30T18:58:35.425481+00:00",
"returncode": 0
},
"summary": "Found 2 issues: `report()` can be reentered before timestamps update, enabling repeated fee assessment in one tx, and deposits assume exact transfers, which breaks accounting for fee-on-transfer/rebasing tokens.",
"raw_final": {
"summary": "Found 2 issues: `report()` can be reentered before timestamps update, enabling repeated fee assessment in one tx, and deposits assume exact transfers, which breaks accounting for fee-on-transfer/rebasing tokens.",
"findings": [
{
"title": "`report()` is reentrancy\u2011reachable before `strategyLastReport`/`lastReport` updates",
"category": "reentrancy",
"evidence": "`report()` performs `safeTransfer`/`safeTransferFrom` before updating `strategyLastReport`/`lastReport`, with no reentrancy guard.",
"severity": "medium",
"locations": [
"contracts/src/MaxApyVault.sol:1543",
"contracts/src/MaxApyVault.sol:1602",
"contracts/src/MaxApyVault.sol:1617"
],
"recommendation": "Add `nonReentrant` to `report()` and/or move the timestamp updates (and any other critical state) before external calls. Follow checks\u2011effects\u2011interactions to ensure reentrancy cannot repeat fee assessment in the same tx.",
"exploit_scenario": "If the underlying token or strategy uses a reentrancy hook (e.g., ERC777), a strategy can call `report()`, hit the external token transfer, and reenter `report()` before `strategyLastReport`/`lastReport` are updated. This bypasses the `FeesAlreadyAssesed` duration guard and allows multiple fee assessments and credit adjustments in the same transaction, diluting shares or draining idle funds."
},
{
"title": "Share/accounting mismatch for fee\u2011on\u2011transfer or rebasing underlying tokens",
"category": "math",
"evidence": "`_deposit` transfers `assets` then mints shares and increments `totalIdle` by `assets` without using actual received amount.",
"severity": "low",
"locations": [
"contracts/src/MaxApyVault.sol:1101",
"contracts/src/MaxApyVault.sol:1102",
"contracts/src/MaxApyVault.sol:1137"
],
"recommendation": "Restrict underlying assets to standard non\u2011fee, non\u2011rebasing ERC20s (enforce via deployment/docs), or compute received assets via balance\u2011before/after and use that value for minting and `totalIdle` updates.",
"exploit_scenario": "On deposit, the vault mints shares and increments `totalIdle` by the requested `assets` amount without verifying the actual amount received. If the underlying token charges transfer fees or rebases, users can mint more shares than the vault actually received, leading to share inflation and potential loss for other depositors."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0463 0000000c: JUMPI 0000000d: PUSH0 0000000e: CALLDATALOAD 0000000f: PUSH1 0xe0 00000011: SHR 00000012: DUP1 00000013: PUSH4 0x80919dd5 00000018: GT 00000019: PUSH2 0x0241 0000001c: JUMPI 0000001d: DUP1 0000001e: PUSH4 0xc822adda 00000023: GT 00000024: PUSH2 0x0134 00000027: JUMPI 00000028: DUP1 00000029: PUSH4 0xe5bc6947 0000002e: GT 0000002f: PUSH2 0x00b3 00000032: JUMPI 00000033: DUP1 00000034: PUSH4 0xf2fde38b 00000039: GT 0000003a: PUSH2 0x0078 0000003d: JUMPI 0000003e: DUP1 0000003f: PUSH4 0xf2fde38b 00000044: EQ 00000045: PUSH2 0x0e0f 00000048: JUMPI 00000049: DUP1 0000004a: PUSH4 0xfc7b9c18 0000004f: EQ 00000050: PUSH2 0x0e22 00000053: JUMPI 00000054: DUP1 00000055: PUSH4 0xfd967f47 0000005a: EQ 0000005b: PUSH2 0x0e37 0000005e: JUMPI 0000005f: DUP1 00000060: PUSH4 0xfe56e232 00000065: EQ 00000066: PUSH2 0x0e4c 00000069: JUMPI 0000006a: DUP1 0000006b: PUSH4 0xfee81cf4 00000070: EQ 00000071: PUSH2 0x0e6b 00000074: JUMPI 00000075: PUSH0 00000076: DUP1 00000077: REVERT 00000078: JUMPDEST 00000079: DUP1 0000007a: PUSH4 0xe5bc6947 0000007f: EQ 00000080: PUSH2 0x0d8a 00000083: JUMPI 00000084: DUP1 00000085: PUSH4 0xecf70858 0000008a: EQ 0000008b: PUSH2 0x0da9 0000008e: JUMPI 0000008f: DUP1 00000090: PUSH4 0xef8b30f7 00000095: EQ 00000096: PUSH2 0x0dbe 00000099: JUMPI 0000009a: DUP1 0000009b: PUSH4 0xf04e283e 000000a0: EQ 000000a1: PUSH2 0x0ddd 000000a4: JUMPI 000000a5: DUP1 000000a6: PUSH4 0xf0f44260 000000ab: EQ 000000ac: PUSH2 0x0df0 000000af: JUMPI 000000b0: PUSH0 000000b1: DUP1 000000b2: REVERT 000000b3: JUMPDEST 000000b4: DUP1 000000b5: PUSH4 0xd81d5e87 000000ba: GT 000000bb: PUSH2 0x00f9 000000be: JUMPI 000000bf: DUP1 000000c0: PUSH4 0xd81d5e87 000000c5: EQ 000000c6: PUSH2 0x0cc2 000000c9: JUMPI 000000ca: DUP1 000000cb: PUSH4 0xd905777e 000000d0: EQ 000000d1: PUSH2 0x0cf9 000000d4: JUMPI 000000d5: DUP1 000000d6: PUSH4 0xda0bd2d4 000000db: EQ 000000dc: PUSH2 0x0d18 000000df: JUMPI 000000e0: DUP1 000000e1: PUSH4 0xdd62ed3e 000000e6: EQ 000000e7: PUSH2 0x0d37 000000ea: JUMPI 000000eb: DUP1 000000ec: PUSH4 0xde6b5ea2 000000f1: EQ 000000f2: PUSH2 0x0d6b 000000f5: JUMPI 000000f6: PUSH0 000000f7: DUP1 000000f8: REVERT 000000f9: JUMPDEST 000000fa: DUP1 000000fb: PUSH4 0xc822adda 00000100: EQ 00000101: PUSH2 0x0c31 00000104: JUMPI 00000105: DUP1 00000106: PUSH4 0xce96cb77 0000010b: EQ 0000010c: PUSH2 0x0c50 0000010f: JUMPI 00000110: DUP1 00000111: PUSH4 0xcea55f57 00000116: EQ 00000117: PUSH2 0x0c6f 0000011a: JUMPI 0000011b: DUP1 0000011c: PUSH4 0xd505accf 00000121: EQ 00000122: PUSH2 0x0c84 00000125: JUMPI 00000126: DUP1 00000127: PUSH4 0xd7648013 0000012c: EQ 0000012d: PUSH2 0x0ca3 00000130: JUMPI 00000131: PUSH0 00000132: DUP1 00000133: REVERT 00000134: JUMPDEST 00000135: DUP1 00000136: PUSH4 0xb3d7f6b9 0000013b: GT 0000013c: PUSH2 0x01c0 0000013f: JUMPI 00000140: DUP1 00000141: PUSH4 0xbdcf36bb 00000146: GT 00000147: PUSH2 0x0185 0000014a: JUMPI 0000014b: DUP1 0000014c: PUSH4 0xbdcf36bb 00000151: EQ 00000152: PUSH2 0x0ba0 00000155: JUMPI 00000156: DUP1 00000157: PUSH4 0xbf034e50 0000015c: EQ 0000015d: PUSH2 0x0bbf 00000160: JUMPI 00000161: DUP1 00000162: PUSH4 0xc3535b52 00000167: EQ 00000168: PUSH2 0x0bde 0000016b: JUMPI 0000016c: DUP1 0000016d: PUSH4 0xc63d75b6 00000172: EQ 00000173: PUSH2 0x0bf3 00000176: JUMPI 00000177: DUP1 00000178: PUSH4 0xc6e6f592 0000017d: EQ 0000017e: PUSH2 0x0c12 00000181: JUMPI 00000182: PUSH0 00000183: DUP1 00000184: REVERT 00000185: JUMPDEST 00000186: DUP1 00000187: PUSH4 0xb3d7f6b9 0000018c: EQ 0000018d: PUSH2 0x0b05 00000190: JUMPI 00000191: DUP1 00000192: PUSH4 0xb460af94 00000197: EQ 00000198: PUSH2 0x0b24 0000019b: JUMPI 0000019c: DUP1 0000019d: PUSH4 0xba087652 000001a2: EQ 000001a3: PUSH2 0x0b43 000001a6: JUMPI 000001a7: DUP1 000001a8: PUSH4 0xbb994d48 000001ad: EQ 000001ae: PUSH2 0x0b62 000001b1: JUMPI 000001b2: DUP1 000001b3: PUSH4 0xbdc8144b 000001b8: EQ 000001b9: PUSH2 0x0b81 000001bc: JUMPI 000001bd: PUSH0 000001be: DUP1 000001bf: REVERT 000001c0: JUMPDEST 000001c1: DUP1 000001c2: PUSH4 0x94bf804d 000001c7: GT 000001c8: PUSH2 0x0206 000001cb: JUMPI 000001cc: DUP1 000001cd: PUSH4 0x94bf804d 000001d2: EQ 000001d3: PUSH2 0x0a89 000001d6: JUMPI 000001d7: DUP1 000001d8: PUSH4 0x95d89b41 000001dd: EQ 000001de: PUSH2 0x0aa8 000001e1: JUMPI 000001e2: DUP1 000001e3: PUSH4 0x9aa7df94 000001e8: EQ 000001e9: PUSH2 0x0abc 000001ec: JUMPI 000001ed: DUP1 000001ee: PUSH4 0xa6f7f5d6 000001f3: EQ 000001f4: PUSH2 0x0ad1 000001f7: JUMPI 000001f8: DUP1 000001f9: PUSH4 0xa9059cbb 000001fe: EQ 000001ff: PUSH2 0x0ae6 00000202: JUMPI 00000203: PUSH0 00000204: DUP1 00000205: REVERT 00000206: JUMPDEST 00000207: DUP1 00000208: PUSH4 0x80919dd5 0000020d: EQ 0000020e: PUSH2 0x0a0a 00000211: JUMPI 00000212: DUP1 00000213: PUSH4 0x87269729 00000218: EQ 00000219: PUSH2 0x0a29 0000021c: JUMPI 0000021d: DUP1 0000021e: PUSH4 0x87788782 00000223: EQ 00000224: PUSH2 0x0a3d 00000227: JUMPI 00000228: DUP1 00000229: PUSH4 0x8da5cb5b 0000022e: EQ 0000022f: PUSH2 0x0a52 00000232: JUMPI 00000233: DUP1 00000234: PUSH4 0x94148415 00000239: EQ 0000023a: PUSH2 0x0a6a 0000023d: JUMPI 0000023e: PUSH0 0000023f: DUP1 00000240: REVERT 00000241: JUMPDEST 00000242: DUP1 00000243: PUSH4 0x38d52e0f 00000248: GT 00000249: PUSH2 0x0359 0000024c: JUMPI 0000024d: DUP1 0000024e: PUSH4 0x6e553f65 00000253: GT 00000254: PUSH2 0x02d8 00000257: JUMPI 00000258: DUP1 00000259: PUSH4 0x7540ff4e 0000025e: GT 0000025f: PUSH2 0x029d 00000262: JUMPI 00000263: DUP1 00000264: PUSH4 0x7540ff4e 00000269: EQ 0000026a: PUSH2 0x0987 0000026d: JUMPI 0000026e: DUP1 0000026f: PUSH4 0x75b238fc 00000274: EQ 00000275: PUSH2 0x099d 00000278: JUMPI 00000279: DUP1 0000027a: PUSH4 0x772d2312 0000027f: EQ 00000280: PUSH2 0x09b1 00000283: JUMPI 00000284: DUP1 00000285: PUSH4 0x7d882097 0000028a: EQ 0000028b: PUSH2 0x09c5 0000028e: JUMPI 0000028f: DUP1 00000290: PUSH4 0x7ecebe00 00000295: EQ 00000296: PUSH2 0x09d9 00000299: JUMPI 0000029a: PUSH0 0000029b: DUP1 0000029c: REVERT 0000029d: JUMPDEST 0000029e: DUP1 0000029f: PUSH4 0x6e553f65 000002a4: EQ 000002a5: PUSH2 0x08fc 000002a8: JUMPI 000002a9: DUP1 000002aa: PUSH4 0x6e76fc8f 000002af: EQ 000002b0: PUSH2 0x091b 000002b3: JUMPI 000002b4: DUP1 000002b5: PUSH4 0x70897b23 000002ba: EQ 000002bb: PUSH2 0x092f 000002be: JUMPI 000002bf: DUP1 000002c0: PUSH4 0x70a08231 000002c5: EQ 000002c6: PUSH2 0x094e 000002c9: JUMPI 000002ca: DUP1 000002cb: PUSH4 0x715018a6 000002d0: EQ 000002d1: PUSH2 0x097f 000002d4: JUMPI 000002d5: PUSH0 000002d6: DUP1 000002d7: REVERT 000002d8: JUMPDEST 000002d9: DUP1 000002da: PUSH4 0x514e62fc 000002df: GT 000002e0: PUSH2 0x031e 000002e3: JUMPI 000002e4: DUP1 000002e5: PUSH4 0x514e62fc 000002ea: EQ 000002eb: PUSH2 0x086d 000002ee: JUMPI 000002ef: DUP1 000002f0: PUSH4 0x54d1f13d 000002f5: EQ 000002f6: PUSH2 0x08a2 000002f9: JUMPI 000002fa: DUP1 000002fb: PUSH4 0x580b7c2e 00000300: EQ 00000301: PUSH2 0x08aa 00000304: JUMPI 00000305: DUP1 00000306: PUSH4 0x607e2f00 0000030b: EQ 0000030c: PUSH2 0x08be 0000030f: JUMPI 00000310: DUP1 00000311: PUSH4 0x61d027b3 00000316: EQ 00000317: PUSH2 0x08dd 0000031a: JUMPI 0000031b: PUSH0 0000031c: DUP1 0000031d: REVERT 0000031e: JUMPDEST 0000031f: DUP1 00000320: PUSH4 0x38d52e0f 00000325: EQ 00000326: PUSH2 0x06d2 00000329: JUMPI 0000032a: DUP1 0000032b: PUSH4 0x39ebf823 00000330: EQ 00000331: PUSH2 0x0718 00000334: JUMPI 00000335: DUP1 00000336: PUSH4 0x402d267d 0000033b: EQ 0000033c: PUSH2 0x081c 0000033f: JUMPI 00000340: DUP1 00000341: PUSH4 0x4a4ee7b1 00000346: EQ 00000347: PUSH2 0x083b 0000034a: JUMPI 0000034b: DUP1 0000034c: PUSH4 0x4cdad506 00000351: EQ 00000352: PUSH2 0x084e 00000355: JUMPI 00000356: PUSH0 00000357: DUP1 00000358: REVERT 00000359: JUMPDEST 0000035a: DUP1 0000035b: PUSH4 0x1c10893f 00000360: GT 00000361: PUSH2 0x03e5 00000364: JUMPI 00000365: DUP1 00000366: PUSH4 0x28998af0 0000036b: GT 0000036c: PUSH2 0x03aa 0000036f: JUMPI 00000370: DUP1 00000371: PUSH4 0x28998af0 00000376: EQ 00000377: PUSH2 0x0637 0000037a: JUMPI 0000037b: DUP1 0000037c: PUSH4 0x2de94807 00000381: EQ 00000382: PUSH2 0x064e 00000385: JUMPI 00000386: DUP1 00000387: PUSH4 0x313ce567 0000038c: EQ 0000038d: PUSH2 0x067f 00000390: JUMPI 00000391: DUP1 00000392: PUSH4 0x3403c2fc 00000397: EQ 00000398: PUSH2 0x06a5 0000039b: JUMPI 0000039c: DUP1 0000039d: PUSH4 0x3644e515 000003a2: EQ 000003a3: PUSH2 0x06be 000003a6: JUMPI 000003a7: PUSH0 000003a8: DUP1 000003a9: REVERT 000003aa: JUMPDEST 000003ab: DUP1 000003ac: PUSH4 0x1c10893f 000003b1: EQ 000003b2: PUSH2 0x05aa 000003b5: JUMPI 000003b6: DUP1 000003b7: PUSH4 0x1cd64df4 000003bc: EQ 000003bd: PUSH2 0x05bd 000003c0: JUMPI 000003c1: DUP1 000003c2: PUSH4 0x1eb7f3ed 000003c7: EQ 000003c8: PUSH2 0x05f2 000003cb: JUMPI 000003cc: DUP1 000003cd: PUSH4 0x23b872dd 000003d2: EQ 000003d3: PUSH2 0x0610 000003d6: JUMPI 000003d7: DUP1 000003d8: PUSH4 0x25692962 000003dd: EQ 000003de: PUSH2 0x062f 000003e1: JUMPI 000003e2: PUSH0 000003e3: DUP1 000003e4: REVERT 000003e5: JUMPDEST 000003e6: DUP1 000003e7: PUSH4 0x14b4e26e 000003ec: GT 000003ed: PUSH2 0x042b 000003f0: JUMPI 000003f1: DUP1 000003f2: PUSH4 0x14b4e26e 000003f7: EQ 000003f8: PUSH2 0x051c 000003fb: JUMPI 000003fc: DUP1 000003fd: PUSH4 0x14c64402 00000402: EQ 00000403: PUSH2 0x053d 00000406: JUMPI 00000407: DUP1 00000408: PUSH4 0x175188e8 0000040d: EQ 0000040e: PUSH2 0x055c 00000411: JUMPI 00000412: DUP1 00000413: PUSH4 0x18160ddd 00000418: EQ 00000419: PUSH2 0x057b 0000041c: JUMPI 0000041d: DUP1 0000041e: PUSH4 0x183a4f6e 00000423: EQ 00000424: PUSH2 0x0597 00000427: JUMPI 00000428: PUSH0 00000429: DUP1 0000042a: REVERT 0000042b: JUMPDEST 0000042c: DUP1 0000042d: PUSH4 0x01e1d114 00000432: EQ 00000433: PUSH2 0x0467 00000436: JUMPI 00000437: DUP1 00000438: PUSH4 0x06fdde03 0000043d: EQ 0000043e: PUSH2 0x048e 00000441: JUMPI 00000442: DUP1 00000443: PUSH4 0x07a2d13a 00000448: EQ 00000449: PUSH2 0x04af 0000044c: JUMPI 0000044d: DUP1 0000044e: PUSH4 0x095ea7b3 00000453: EQ 00000454: PUSH2 0x04ce 00000457: JUMPI 00000458: DUP1 00000459: PUSH4 0x0a28a477 0000045e: EQ 0000045f: PUSH2 0x04fd 00000462: JUMPI 00000463: JUMPDEST 00000464: PUSH0 00000465: DUP1 00000466: REVERT 00000467: JUMPDEST 00000468: CALLVALUE 00000469: DUP1 0000046a: ISZERO 0000046b: PUSH2 0x0472 0000046e: JUMPI 0000046f: PUSH0 00000470: DUP1 00000471: REVERT 00000472: JUMPDEST 00000473: POP 00000474: PUSH2 0x047b 00000477: PUSH2 0x0e9c 0000047a: JUMP 0000047b: JUMPDEST 0000047c: PUSH1 0x40 0000047e: MLOAD 0000047f: SWAP1 00000480: DUP2 00000481: MSTORE 00000482: PUSH1 0x20 00000484: ADD 00000485: JUMPDEST 00000486: PUSH1 0x40 00000488: MLOAD 00000489: DUP1 0000048a: SWAP2 0000048b: SUB 0000048c: SWAP1 0000048d: RETURN 0000048e: JUMPDEST 0000048f: CALLVALUE 00000490: DUP1 00000491: ISZERO 00000492: PUSH2 0x0499 00000495: JUMPI 00000496: PUSH0 00000497: DUP1 00000498: REVERT 00000499: JUMPDEST 0000049a: POP 0000049b: PUSH2 0x04a2 0000049e: PUSH2 0x0eaa 000004a1: JUMP 000004a2: JUMPDEST 000004a3: PUSH1 0x40 000004a5: MLOAD 000004a6: PUSH2 0x0485 000004a9: SWAP2 000004aa: SWAP1 000004ab: PUSH2 0x41d8 000004ae: JUMP 000004af: JUMPDEST 000004b0: CALLVALUE 000004b1: DUP1 000004b2: ISZERO 000004b3: PUSH2 0x04ba 000004b6: JUMPI 000004b7: PUSH0 000004b8: DUP1 000004b9: REVERT 000004ba: JUMPDEST 000004bb: POP 000004bc: PUSH2 0x047b 000004bf: PUSH2 0x04c9 000004c2: CALLDATASIZE 000004c3: PUSH1 0x04 000004c5: PUSH2 0x41ea 000004c8: JUMP 000004c9: JUMPDEST 000004ca: PUSH2 0x0f3a 000004cd: JUMP 000004ce: JUMPDEST 000004cf: CALLVALUE 000004d0: DUP1 000004d1: ISZERO 000004d2: PUSH2 0x04d9 000004d5: JUMPI 000004d6: PUSH0 000004d7: DUP1 000004d8: REVERT 000004d9: JUMPDEST 000004da: POP 000004db: PUSH2 0x04ed 000004de: PUSH2 0x04e8 000004e1: CALLDATASIZE 000004e2: PUSH1 0x04 000004e4: PUSH2 0x4215 000004e7: JUMP 000004e8: JUMPDEST 000004e9: PUSH2 0x0f80 000004ec: JUMP 000004ed: JUMPDEST 000004ee: PUSH1 0x40 000004f0: MLOAD 000004f1: SWAP1 000004f2: ISZERO 000004f3: ISZERO 000004f4: DUP2 000004f5: MSTORE 000004f6: PUSH1 0x20 000004f8: ADD 000004f9: PUSH2 0x0485 000004fc: JUMP 000004fd: JUMPDEST 000004fe: CALLVALUE 000004ff: DUP1 00000500: ISZERO 00000501: PUSH2 0x0508 00000504: JUMPI 00000505: PUSH0 00000506: DUP1 00000507: REVERT 00000508: JUMPDEST 00000509: POP 0000050a: PUSH2 0x047b 0000050d: PUSH2 0x0517 00000510: CALLDATASIZE 00000511: PUSH1 0x04 00000513: PUSH2 0x41ea 00000516: JUMP 00000517: JUMPDEST 00000518: PUSH2 0x0fd0 0000051b: JUMP 0000051c: JUMPDEST 0000051d: CALLVALUE 0000051e: DUP1 0000051f: ISZERO 00000520: PUSH2 0x0527 00000523: JUMPI 00000524: PUSH0 00000525: DUP1 00000526: REVERT 00000527: JUMPDEST 00000528: POP 00000529: PUSH2 0x053b 0000052c: PUSH2 0x0536 0000052f: CALLDATASIZE 00000530: PUSH1 0x04 00000532: PUSH2 0x423f 00000535: JUMP 00000536: JUMPDEST 00000537: PUSH2 0x123d 0000053a: JUMP 0000053b: JUMPDEST 0000053c: STOP 0000053d: JUMPDEST 0000053e: CALLVALUE 0000053f: DUP1 00000540: ISZERO 00000541: PUSH2 0x0548 00000544: JUMPI 00000545: PUSH0 00000546: DUP1 00000547: REVERT 00000548: JUMPDEST 00000549: POP 0000054a: PUSH2 0x053b 0000054d: PUSH2 0x0557 00000550: CALLDATASIZE 00000551: PUSH1 0x04 00000553: PUSH2 0x427f 00000556: JUMP 00000557: JUMPDEST 00000558: PUSH2 0x155c 0000055b: JUMP 0000055c: JUMPDEST 0000055d: CALLVALUE 0000055e: DUP1 0000055f: ISZERO 00000560: PUSH2 0x0567 00000563: JUMPI 00000564: PUSH0 00000565: DUP1 00000566: REVERT 00000567: JUMPDEST 00000568: POP 00000569: PUSH2 0x053b 0000056c: PUSH2 0x0576 0000056f: CALLDATASIZE 00000570: PUSH1 0x04 00000572: PUSH2 0x429e 00000575: JUMP 00000576: JUMPDEST 00000577: PUSH2 0x15a3 0000057a: JUMP 0000057b: JUMPDEST 0000057c: CALLVALUE 0000057d: DUP1 0000057e: ISZERO 0000057f: PUSH2 0x0586 00000582: JUMPI 00000583: PUSH0 00000584: DUP1 00000585: REVERT 00000586: JUMPDEST 00000587: POP 00000588: PUSH9 0x05345cdf77eb68f44c 00000592: SLOAD 00000593: PUSH2 0x047b 00000596: JUMP 00000597: JUMPDEST 00000598: PUSH2 0x053b 0000059b: PUSH2 0x05a5 0000059e: CALLDATASIZE 0000059f: PUSH1 0x04 000005a1: PUSH2 0x41ea 000005a4: JUMP 000005a5: JUMPDEST 000005a6: PUSH2 0x16c8 000005a9: JUMP 000005aa: JUMPDEST 000005ab: PUSH2 0x053b 000005ae: PUSH2 0x05b8 000005b1: CALLDATASIZE 000005b2: PUSH1 0x04 000005b4: PUSH2 0x4215 000005b7: JUMP 000005b8: JUMPDEST 000005b9: PUSH2 0x16d5 000005bc: JUMP 000005bd: JUMPDEST 000005be: CALLVALUE 000005bf: DUP1 000005c0: ISZERO 000005c1: PUSH2 0x05c8 000005c4: JUMPI 000005c5: PUSH0 000005c6: DUP1 000005c7: REVERT 000005c8: JUMPDEST 000005c9: POP 000005ca: PUSH2 0x04ed 000005cd: PUSH2 0x05d7 000005d0: CALLDATASIZE 000005d1: PUSH1 0x04 000005d3: PUSH2 0x4215 000005d6: JUMP 000005d7: JUMPDEST 000005d8: PUSH4 0x8b78c6d8 000005dd: PUSH1 0x0c 000005df: SWAP1 000005e0: DUP2 000005e1: MSTORE 000005e2: PUSH0 000005e3: SWAP3 000005e4: SWAP1 000005e5: SWAP3 000005e6: MSTORE 000005e7: PUSH1 0x20 000005e9: SWAP1 000005ea: SWAP2 000005eb: KECCAK256 000005ec: SLOAD 000005ed: DUP2 000005ee: AND 000005ef: EQ 000005f0: SWAP1 000005f1: JUMP 000005f2: JUMPDEST 000005f3: CALLVALUE 000005f4: DUP1 000005f5: ISZERO 000005f6: PUSH2 0x05fd 000005f9: JUMPI 000005fa: PUSH0 000005fb: DUP1 000005fc: REVERT 000005fd: JUMPDEST 000005fe: POP 000005ff: PUSH1 0x01 00000601: SLOAD 00000602: PUSH2 0x04ed 00000605: SWAP1 00000606: PUSH2 0x0100 00000609: SWAP1 0000060a: DIV 0000060b: PUSH1 0xff 0000060d: AND 0000060e: DUP2 0000060f: JUMP 00000610: JUMPDEST 00000611: CALLVALUE 00000612: DUP1 00000613: ISZERO 00000614: PUSH2 0x061b 00000617: JUMPI 00000618: PUSH0 00000619: DUP1 0000061a: REVERT 0000061b: JUMPDEST 0000061c: POP 0000061d: PUSH2 0x04ed 00000620: PUSH2 0x062a 00000623: CALLDATASIZE 00000624: PUSH1 0x04 00000626: PUSH2 0x42b9 00000629: JUMP 0000062a: JUMPDEST 0000062b: PUSH2 0x16e7 0000062e: JUMP 0000062f: JUMPDEST 00000630: PUSH2 0x053b 00000633: PUSH2 0x178e 00000636: JUMP 00000637: JUMPDEST 00000638: CALLVALUE 00000639: DUP1 0000063a: ISZERO 0000063b: PUSH2 0x0642 0000063e: JUMPI 0000063f: PUSH0 00000640: DUP1 00000641: REVERT 00000642: JUMPDEST 00000643: POP 00000644: PUSH2 0x047b 00000647: PUSH4 0x01e18558 0000064c: DUP2 0000064d: JUMP 0000064e: JUMPDEST 0000064f: CALLVALUE 00000650: DUP1 00000651: ISZERO 00000652: PUSH2 0x0659 00000655: JUMPI 00000656: PUSH0 00000657: DUP1 00000658: REVERT 00000659: JUMPDEST 0000065a: POP 0000065b: PUSH2 0x047b 0000065e: PUSH2 0x0668 00000661: CALLDATASIZE 00000662: PUSH1 0x04 00000664: PUSH2 0x429e 00000667: JUMP 00000668: JUMPDEST 00000669: PUSH4 0x8b78c6d8 0000066e: PUSH1 0x0c 00000670: SWAP1 00000671: DUP2 00000672: MSTORE 00000673: PUSH0 00000674: SWAP2 00000675: SWAP1 00000676: SWAP2 00000677: MSTORE 00000678: PUSH1 0x20 0000067a: SWAP1 0000067b: KECCAK256 0000067c: SLOAD 0000067d: SWAP1 0000067e: JUMP 0000067f: JUMPDEST 00000680: CALLVALUE 00000681: DUP1 00000682: ISZERO 00000683: PUSH2 0x068a 00000686: JUMPI 00000687: PUSH0 00000688: DUP1 00000689: REVERT 0000068a: JUMPDEST 0000068b: POP 0000068c: PUSH2 0x0693 0000068f: PUSH2 0x17db 00000692: JUMP 00000693: JUMPDEST 00000694: PUSH1 0x40 00000696: MLOAD 00000697: PUSH1 0xff 00000699: SWAP1 0000069a: SWAP2 0000069b: AND 0000069c: DUP2 0000069d: MSTORE 0000069e: PUSH1 0x20 000006a0: ADD 000006a1: PUSH2 0x0485 000006a4: JUMP 000006a5: JUMPDEST 000006a6: CALLVALUE 000006a7: DUP1 000006a8: ISZERO 000006a9: PUSH2 0x06b0 000006ac: JUMPI 000006ad: PUSH0 000006ae: DUP1 000006af: REVERT 000006b0: JUMPDEST 000006b1: POP 000006b2: PUSH1 0x01 000006b4: SLOAD 000006b5: PUSH2 0x04ed 000006b8: SWAP1 000006b9: PUSH1 0xff 000006bb: AND 000006bc: DUP2 000006bd: JUMP 000006be: JUMPDEST 000006bf: CALLVALUE 000006c0: DUP1 000006c1: ISZERO 000006c2: PUSH2 0x06c9 000006c5: JUMPI 000006c6: PUSH0 000006c7: DUP1 000006c8: REVERT 000006c9: JUMPDEST 000006ca: POP 000006cb: PUSH2 0x047b 000006ce: PUSH2 0x1807 000006d1: JUMP 000006d2: JUMPDEST 000006d3: CALLVALUE 000006d4: DUP1 000006d5: ISZERO 000006d6: PUSH2 0x06dd 000006d9: JUMPI 000006da: PUSH0 000006db: DUP1 000006dc: REVERT 000006dd: JUMPDEST 000006de: POP 000006df: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 00000700: JUMPDEST 00000701: PUSH1 0x40 00000703: MLOAD 00000704: PUSH1 0x01 00000706: PUSH1 0x01 00000708: PUSH1 0xa0 0000070a: SHL 0000070b: SUB 0000070c: SWAP1 0000070d: SWAP2 0000070e: AND 0000070f: DUP2 00000710: MSTORE 00000711: PUSH1 0x20 00000713: ADD 00000714: PUSH2 0x0485 00000717: JUMP 00000718: JUMPDEST 00000719: CALLVALUE 0000071a: DUP1 0000071b: ISZERO 0000071c: PUSH2 0x0723 0000071f: JUMPI 00000720: PUSH0 00000721: DUP1 00000722: REVERT 00000723: JUMPDEST 00000724: POP 00000725: PUSH2 0x07ae 00000728: PUSH2 0x0732 0000072b: CALLDATASIZE 0000072c: PUSH1 0x04 0000072e: PUSH2 0x429e 00000731: JUMP 00000732: JUMPDEST 00000733: PUSH1 0x08 00000735: PUSH1 0x20 00000737: MSTORE 00000738: PUSH0 00000739: SWAP1 0000073a: DUP2 0000073b: MSTORE 0000073c: PUSH1 0x40 0000073e: SWAP1 0000073f: KECCAK256 00000740: DUP1 00000741: SLOAD 00000742: PUSH1 0x01 00000744: DUP3 00000745: ADD 00000746: SLOAD 00000747: PUSH1 0x02 00000749: DUP4 0000074a: ADD 0000074b: SLOAD 0000074c: PUSH1 0x03 0000074e: SWAP1 0000074f: SWAP4 00000750: ADD 00000751: SLOAD 00000752: PUSH2 0xffff 00000755: DUP1 00000756: DUP5 00000757: AND 00000758: SWAP5 00000759: PUSH3 0x010000 0000075d: DUP6 0000075e: DIV 0000075f: SWAP1 00000760: SWAP2 00000761: AND 00000762: SWAP4 00000763: PUSH6 0xffffffffffff 0000076a: PUSH5 0x0100000000 00000770: DUP3 00000771: DIV 00000772: DUP2 00000773: AND 00000774: SWAP5 00000775: PUSH1 0x01 00000777: PUSH1 0x50 00000779: SHL 0000077a: DUP4 0000077b: DIV 0000077c: SWAP1 0000077d: SWAP2 0000077e: AND 0000077f: SWAP4 00000780: PUSH1 0x01 00000782: PUSH1 0x01 00000784: PUSH1 0x80 00000786: SHL 00000787: SUB 00000788: PUSH1 0x01 0000078a: PUSH1 0x80 0000078c: SHL 0000078d: SWAP4 0000078e: DUP5 0000078f: SWAP1 00000790: DIV 00000791: DUP2 00000792: AND 00000793: SWAP5 00000794: DUP4 00000795: DUP3 00000796: AND 00000797: SWAP5 00000798: SWAP4 00000799: DUP5 0000079a: SWAP1 0000079b: DIV 0000079c: DUP3 0000079d: AND 0000079e: SWAP4 0000079f: DUP2 000007a0: DUP4 000007a1: AND 000007a2: SWAP4 000007a3: SWAP2 000007a4: DIV 000007a5: SWAP1 000007a6: SWAP2 000007a7: AND 000007a8: SWAP1 000007a9: PUSH1 0xff 000007ab: AND 000007ac: DUP11 000007ad: JUMP 000007ae: JUMPDEST 000007af: PUSH1 0x40 000007b1: DUP1 000007b2: MLOAD 000007b3: PUSH2 0xffff 000007b6: SWAP12 000007b7: DUP13 000007b8: AND 000007b9: DUP2 000007ba: MSTORE 000007bb: SWAP11 000007bc: SWAP1 000007bd: SWAP10 000007be: AND 000007bf: PUSH1 0x20 000007c1: DUP12 000007c2: ADD 000007c3: MSTORE 000007c4: PUSH6 0xffffffffffff 000007cb: SWAP8 000007cc: DUP9 000007cd: AND 000007ce: SWAP9 000007cf: DUP11 000007d0: ADD 000007d1: SWAP9 000007d2: SWAP1 000007d3: SWAP9 000007d4: MSTORE 000007d5: SWAP6 000007d6: SWAP1 000007d7: SWAP5 000007d8: AND 000007d9: PUSH1 0x60 000007db: DUP9 000007dc: ADD 000007dd: MSTORE 000007de: PUSH1 0x01 000007e0: PUSH1 0x01 000007e2: PUSH1 0x80 000007e4: SHL 000007e5: SUB 000007e6: SWAP3 000007e7: DUP4 000007e8: AND 000007e9: PUSH1 0x80 000007eb: DUP9 000007ec: ADD 000007ed: MSTORE 000007ee: SWAP1 000007ef: DUP3 000007f0: AND 000007f1: PUSH1 0xa0 000007f3: DUP8 000007f4: ADD 000007f5: MSTORE 000007f6: DUP2 000007f7: AND 000007f8: PUSH1 0xc0 000007fa: DUP7 000007fb: ADD 000007fc: MSTORE 000007fd: SWAP1 000007fe: DUP2 000007ff: AND 00000800: PUSH1 0xe0 00000802: DUP6 00000803: ADD 00000804: MSTORE 00000805: AND 00000806: PUSH2 0x0100 00000809: DUP4 0000080a: ADD 0000080b: MSTORE 0000080c: ISZERO 0000080d: ISZERO 0000080e: PUSH2 0x0120 00000811: DUP3 00000812: ADD 00000813: MSTORE 00000814: PUSH2 0x0140 00000817: ADD 00000818: PUSH2 0x0485 0000081b: JUMP 0000081c: JUMPDEST 0000081d: CALLVALUE 0000081e: DUP1 0000081f: ISZERO 00000820: PUSH2 0x0827 00000823: JUMPI 00000824: PUSH0 00000825: DUP1 00000826: REVERT 00000827: JUMPDEST 00000828: POP 00000829: PUSH2 0x047b 0000082c: PUSH2 0x0836 0000082f: CALLDATASIZE 00000830: PUSH1 0x04 00000832: PUSH2 0x429e 00000835: JUMP 00000836: JUMPDEST 00000837: PUSH2 0x1883 0000083a: JUMP 0000083b: JUMPDEST 0000083c: PUSH2 0x053b 0000083f: PUSH2 0x0849 00000842: CALLDATASIZE 00000843: PUSH1 0x04 00000845: PUSH2 0x4215 00000848: JUMP 00000849: JUMPDEST 0000084a: PUSH2 0x1897 0000084d: JUMP 0000084e: JUMPDEST 0000084f: CALLVALUE 00000850: DUP1 00000851: ISZERO 00000852: PUSH2 0x0859 00000855: JUMPI 00000856: PUSH0 00000857: DUP1 00000858: REVERT 00000859: JUMPDEST 0000085a: POP 0000085b: PUSH2 0x047b 0000085e: PUSH2 0x0868 00000861: CALLDATASIZE 00000862: PUSH1 0x04 00000864: PUSH2 0x41ea 00000867: JUMP 00000868: JUMPDEST 00000869: PUSH2 0x18a9 0000086c: JUMP 0000086d: JUMPDEST 0000086e: CALLVALUE 0000086f: DUP1 00000870: ISZERO 00000871: PUSH2 0x0878 00000874: JUMPI 00000875: PUSH0 00000876: DUP1 00000877: REVERT 00000878: JUMPDEST 00000879: POP 0000087a: PUSH2 0x04ed 0000087d: PUSH2 0x0887 00000880: CALLDATASIZE 00000881: PUSH1 0x04 00000883: PUSH2 0x4215 00000886: JUMP 00000887: JUMPDEST 00000888: PUSH4 0x8b78c6d8 0000088d: PUSH1 0x0c 0000088f: SWAP1 00000890: DUP2 00000891: MSTORE 00000892: PUSH0 00000893: SWAP3 00000894: SWAP1 00000895: SWAP3 00000896: MSTORE 00000897: PUSH1 0x20 00000899: SWAP1 0000089a: SWAP2 0000089b: KECCAK256 0000089c: SLOAD 0000089d: AND 0000089e: ISZERO 0000089f: ISZERO 000008a0: SWAP1 000008a1: JUMP 000008a2: JUMPDEST 000008a3: PUSH2 0x053b 000008a6: PUSH2 0x1a3c 000008a9: JUMP 000008aa: JUMPDEST 000008ab: CALLVALUE 000008ac: DUP1 000008ad: ISZERO 000008ae: PUSH2 0x08b5 000008b1: JUMPI 000008b2: PUSH0 000008b3: DUP1 000008b4: REVERT 000008b5: JUMPDEST 000008b6: POP 000008b7: PUSH2 0x047b 000008ba: PUSH1 0x04 000008bc: DUP2 000008bd: JUMP 000008be: JUMPDEST 000008bf: CALLVALUE 000008c0: DUP1 000008c1: ISZERO 000008c2: PUSH2 0x08c9 000008c5: JUMPI 000008c6: PUSH0 000008c7: DUP1 000008c8: REVERT 000008c9: JUMPDEST 000008ca: POP 000008cb: PUSH2 0x053b 000008ce: PUSH2 0x08d8 000008d1: CALLDATASIZE 000008d2: PUSH1 0x04 000008d4: PUSH2 0x427f 000008d7: JUMP 000008d8: JUMPDEST 000008d9: PUSH2 0x1a75 000008dc: JUMP 000008dd: JUMPDEST 000008de: CALLVALUE 000008df: DUP1 000008e0: ISZERO 000008e1: PUSH2 0x08e8 000008e4: JUMPI 000008e5: PUSH0 000008e6: DUP1 000008e7: REVERT 000008e8: JUMPDEST 000008e9: POP 000008ea: PUSH1 0x07 000008ec: SLOAD 000008ed: PUSH2 0x0700 000008f0: SWAP1 000008f1: PUSH1 0x01 000008f3: PUSH1 0x01 000008f5: PUSH1 0xa0 000008f7: SHL 000008f8: SUB 000008f9: AND 000008fa: DUP2 000008fb: JUMP 000008fc: JUMPDEST 000008fd: CALLVALUE 000008fe: DUP1 000008ff: ISZERO 00000900: PUSH2 0x0907 00000903: JUMPI 00000904: PUSH0 00000905: DUP1 00000906: REVERT 00000907: JUMPDEST 00000908: POP 00000909: PUSH2 0x047b 0000090c: PUSH2 0x0916 0000090f: CALLDATASIZE 00000910: PUSH1 0x04 00000912: PUSH2 0x42f7 00000915: JUMP 00000916: JUMPDEST 00000917: PUSH2 0x1ac1 0000091a: JUMP 0000091b: JUMPDEST 0000091c: CALLVALUE 0000091d: DUP1 0000091e: ISZERO 0000091f: PUSH2 0x0926 00000922: JUMPI 00000923: PUSH0 00000924: DUP1 00000925: REVERT 00000926: JUMPDEST 00000927: POP 00000928: PUSH2 0x047b 0000092b: PUSH1 0x02 0000092d: DUP2 0000092e: JUMP 0000092f: JUMPDEST 00000930: CALLVALUE 00000931: DUP1 00000932: ISZERO 00000933: PUSH2 0x093a 00000936: JUMPI 00000937: PUSH0 00000938: DUP1 00000939: REVERT 0000093a: JUMPDEST 0000093b: POP 0000093c: PUSH2 0x053b 0000093f: PUSH2 0x0949 00000942: CALLDATASIZE 00000943: PUSH1 0x04 00000945: PUSH2 0x41ea 00000948: JUMP 00000949: JUMPDEST 0000094a: PUSH2 0x1b44 0000094d: JUMP 0000094e: JUMPDEST 0000094f: CALLVALUE 00000950: DUP1 00000951: ISZERO 00000952: PUSH2 0x0959 00000955: JUMPI 00000956: PUSH0 00000957: DUP1 00000958: REVERT 00000959: JUMPDEST 0000095a: POP 0000095b: PUSH2 0x047b 0000095e: PUSH2 0x0968 00000961: CALLDATASIZE 00000962: PUSH1 0x04 00000964: PUSH2 0x429e 00000967: JUMP 00000968: JUMPDEST 00000969: PUSH4 0x87a211a2 0000096e: PUSH1 0x0c 00000970: SWAP1 00000971: DUP2 00000972: MSTORE 00000973: PUSH0 00000974: SWAP2 00000975: SWAP1 00000976: SWAP2 00000977: MSTORE 00000978: PUSH1 0x20 0000097a: SWAP1 0000097b: KECCAK256 0000097c: SLOAD 0000097d: SWAP1 0000097e: JUMP 0000097f: JUMPDEST 00000980: PUSH2 0x053b 00000983: PUSH2 0x1b99 00000986: JUMP 00000987: JUMPDEST 00000988: CALLVALUE 00000989: DUP1 0000098a: ISZERO 0000098b: PUSH2 0x0992 0000098e: JUMPI 0000098f: PUSH0 00000990: DUP1 00000991: REVERT 00000992: JUMPDEST 00000993: POP 00000994: PUSH2 0x047b 00000997: PUSH3 0x093a80 0000099b: DUP2 0000099c: JUMP 0000099d: JUMPDEST 0000099e: CALLVALUE 0000099f: DUP1 000009a0: ISZERO 000009a1: PUSH2 0x09a8 000009a4: JUMPI 000009a5: PUSH0 000009a6: DUP1 000009a7: REVERT 000009a8: JUMPDEST 000009a9: POP 000009aa: PUSH2 0x047b 000009ad: PUSH1 0x01 000009af: DUP2 000009b0: JUMP 000009b1: JUMPDEST 000009b2: CALLVALUE 000009b3: DUP1 000009b4: ISZERO 000009b5: PUSH2 0x09bc 000009b8: JUMPI 000009b9: PUSH0 000009ba: DUP1 000009bb: REVERT 000009bc: JUMPDEST 000009bd: POP 000009be: PUSH2 0x047b 000009c1: PUSH1 0x14 000009c3: DUP2 000009c4: JUMP 000009c5: JUMPDEST 000009c6: CALLVALUE 000009c7: DUP1 000009c8: ISZERO 000009c9: PUSH2 0x09d0 000009cc: JUMPI 000009cd: PUSH0 000009ce: DUP1 000009cf: REVERT 000009d0: JUMPDEST 000009d1: POP 000009d2: PUSH2 0x047b 000009d5: PUSH2 0x1bac 000009d8: JUMP 000009d9: JUMPDEST 000009da: CALLVALUE 000009db: DUP1 000009dc: ISZERO 000009dd: PUSH2 0x09e4 000009e0: JUMPI 000009e1: PUSH0 000009e2: DUP1 000009e3: REVERT 000009e4: JUMPDEST 000009e5: POP 000009e6: PUSH2 0x047b 000009e9: PUSH2 0x09f3 000009ec: CALLDATASIZE 000009ed: PUSH1 0x04 000009ef: PUSH2 0x429e 000009f2: JUMP 000009f3: JUMPDEST 000009f4: PUSH4 0x38377508 000009f9: PUSH1 0x0c 000009fb: SWAP1 000009fc: DUP2 000009fd: MSTORE 000009fe: PUSH0 000009ff: SWAP2 00000a00: SWAP1 00000a01: SWAP2 00000a02: MSTORE 00000a03: PUSH1 0x20 00000a05: SWAP1 00000a06: KECCAK256 00000a07: SLOAD 00000a08: SWAP1 00000a09: JUMP 00000a0a: JUMPDEST 00000a0b: CALLVALUE 00000a0c: DUP1 00000a0d: ISZERO 00000a0e: PUSH2 0x0a15 00000a11: JUMPI 00000a12: PUSH0 00000a13: DUP1 00000a14: REVERT 00000a15: JUMPDEST 00000a16: POP 00000a17: PUSH2 0x047b 00000a1a: PUSH2 0x0a24 00000a1d: CALLDATASIZE 00000a1e: PUSH1 0x04 00000a20: PUSH2 0x4340 00000a23: JUMP 00000a24: JUMPDEST 00000a25: PUSH2 0x1bb5 00000a28: JUMP 00000a29: JUMPDEST 00000a2a: CALLVALUE 00000a2b: DUP1 00000a2c: ISZERO 00000a2d: PUSH2 0x0a34 00000a30: JUMPI 00000a31: PUSH0 00000a32: DUP1 00000a33: REVERT 00000a34: JUMPDEST 00000a35: POP 00000a36: PUSH2 0x047b 00000a39: PUSH2 0x20ae 00000a3c: JUMP 00000a3d: JUMPDEST 00000a3e: CALLVALUE 00000a3f: DUP1 00000a40: ISZERO 00000a41: PUSH2 0x0a48 00000a44: JUMPI 00000a45: PUSH0 00000a46: DUP1 00000a47: REVERT 00000a48: JUMPDEST 00000a49: POP 00000a4a: PUSH2 0x047b 00000a4d: PUSH1 0x1d 00000a4f: SLOAD 00000a50: DUP2 00000a51: JUMP 00000a52: JUMPDEST 00000a53: CALLVALUE 00000a54: DUP1 00000a55: ISZERO 00000a56: PUSH2 0x0a5d 00000a59: JUMPI 00000a5a: PUSH0 00000a5b: DUP1 00000a5c: REVERT 00000a5d: JUMPDEST 00000a5e: POP 00000a5f: PUSH4 0x8b78c6d8 00000a64: NOT 00000a65: SLOAD 00000a66: PUSH2 0x0700 00000a69: JUMP 00000a6a: JUMPDEST 00000a6b: CALLVALUE 00000a6c: DUP1 00000a6d: ISZERO 00000a6e: PUSH2 0x0a75 00000a71: JUMPI 00000a72: PUSH0 00000a73: DUP1 00000a74: REVERT 00000a75: JUMPDEST 00000a76: POP 00000a77: PUSH2 0x053b 00000a7a: PUSH2 0x0a84 00000a7d: CALLDATASIZE 00000a7e: PUSH1 0x04 00000a80: PUSH2 0x4393 00000a83: JUMP 00000a84: JUMPDEST 00000a85: PUSH2 0x20c5 00000a88: JUMP 00000a89: JUMPDEST 00000a8a: CALLVALUE 00000a8b: DUP1 00000a8c: ISZERO 00000a8d: PUSH2 0x0a94 00000a90: JUMPI 00000a91: PUSH0 00000a92: DUP1 00000a93: REVERT 00000a94: JUMPDEST 00000a95: POP 00000a96: PUSH2 0x047b 00000a99: PUSH2 0x0aa3 00000a9c: CALLDATASIZE 00000a9d: PUSH1 0x04 00000a9f: PUSH2 0x42f7 00000aa2: JUMP 00000aa3: JUMPDEST 00000aa4: PUSH2 0x217f 00000aa7: JUMP 00000aa8: JUMPDEST 00000aa9: CALLVALUE 00000aaa: DUP1 00000aab: ISZERO 00000aac: PUSH2 0x0ab3 00000aaf: JUMPI 00000ab0: PUSH0 00000ab1: DUP1 00000ab2: REVERT 00000ab3: JUMPDEST 00000ab4: POP 00000ab5: PUSH2 0x04a2 00000ab8: PUSH2 0x21f7 00000abb: JUMP 00000abc: JUMPDEST 00000abd: CALLVALUE 00000abe: DUP1 00000abf: ISZERO 00000ac0: PUSH2 0x0ac7 00000ac3: JUMPI 00000ac4: PUSH0 00000ac5: DUP1 00000ac6: REVERT 00000ac7: JUMPDEST 00000ac8: POP 00000ac9: PUSH2 0x047b 00000acc: PUSH1 0x04 00000ace: SLOAD 00000acf: DUP2 00000ad0: JUMP 00000ad1: JUMPDEST 00000ad2: CALLVALUE 00000ad3: DUP1 00000ad4: ISZERO 00000ad5: PUSH2 0x0adc 00000ad8: JUMPI 00000ad9: PUSH0 00000ada: DUP1 00000adb: REVERT 00000adc: JUMPDEST 00000add: POP 00000ade: PUSH2 0x047b 00000ae1: PUSH1 0x1e 00000ae3: SLOAD 00000ae4: DUP2 00000ae5: JUMP 00000ae6: JUMPDEST 00000ae7: CALLVALUE 00000ae8: DUP1 00000ae9: ISZERO 00000aea: PUSH2 0x0af1 00000aed: JUMPI 00000aee: PUSH0 00000aef: DUP1 00000af0: REVERT 00000af1: JUMPDEST 00000af2: POP 00000af3: PUSH2 0x04ed 00000af6: PUSH2 0x0b00 00000af9: CALLDATASIZE 00000afa: PUSH1 0x04 00000afc: PUSH2 0x4215 00000aff: JUMP 00000b00: JUMPDEST 00000b01: PUSH2 0x2206 00000b04: JUMP 00000b05: JUMPDEST 00000b06: CALLVALUE 00000b07: DUP1 00000b08: ISZERO 00000b09: PUSH2 0x0b10 00000b0c: JUMPI 00000b0d: PUSH0 00000b0e: DUP1 00000b0f: REVERT 00000b10: JUMPDEST 00000b11: POP 00000b12: PUSH2 0x047b 00000b15: PUSH2 0x0b1f 00000b18: CALLDATASIZE 00000b19: PUSH1 0x04 00000b1b: PUSH2 0x41ea 00000b1e: JUMP 00000b1f: JUMPDEST 00000b20: PUSH2 0x226a 00000b23: JUMP 00000b24: JUMPDEST 00000b25: CALLVALUE 00000b26: DUP1 00000b27: ISZERO 00000b28: PUSH2 0x0b2f 00000b2b: JUMPI 00000b2c: PUSH0 00000b2d: DUP1 00000b2e: REVERT 00000b2f: JUMPDEST 00000b30: POP 00000b31: PUSH2 0x047b 00000b34: PUSH2 0x0b3e 00000b37: CALLDATASIZE 00000b38: PUSH1 0x04 00000b3a: PUSH2 0x43bb 00000b3d: JUMP 00000b3e: JUMPDEST 00000b3f: PUSH2 0x22a4 00000b42: JUMP 00000b43: JUMPDEST 00000b44: CALLVALUE 00000b45: DUP1 00000b46: ISZERO 00000b47: PUSH2 0x0b4e 00000b4a: JUMPI 00000b4b: PUSH0 00000b4c: DUP1 00000b4d: REVERT 00000b4e: JUMPDEST 00000b4f: POP 00000b50: PUSH2 0x047b 00000b53: PUSH2 0x0b5d 00000b56: CALLDATASIZE 00000b57: PUSH1 0x04 00000b59: PUSH2 0x43bb 00000b5c: JUMP 00000b5d: JUMPDEST 00000b5e: PUSH2 0x2308 00000b61: JUMP 00000b62: JUMPDEST 00000b63: CALLVALUE 00000b64: DUP1 00000b65: ISZERO 00000b66: PUSH2 0x0b6d 00000b69: JUMPI 00000b6a: PUSH0 00000b6b: DUP1 00000b6c: REVERT 00000b6d: JUMPDEST 00000b6e: POP 00000b6f: PUSH2 0x053b 00000b72: PUSH2 0x0b7c 00000b75: CALLDATASIZE 00000b76: PUSH1 0x04 00000b78: PUSH2 0x429e 00000b7b: JUMP 00000b7c: JUMPDEST 00000b7d: PUSH2 0x2360 00000b80: JUMP 00000b81: JUMPDEST 00000b82: CALLVALUE 00000b83: DUP1 00000b84: ISZERO 00000b85: PUSH2 0x0b8c 00000b88: JUMPI 00000b89: PUSH0 00000b8a: DUP1 00000b8b: REVERT 00000b8c: JUMPDEST 00000b8d: POP 00000b8e: PUSH2 0x053b 00000b91: PUSH2 0x0b9b 00000b94: CALLDATASIZE 00000b95: PUSH1 0x04 00000b97: PUSH2 0x41ea 00000b9a: JUMP 00000b9b: JUMPDEST 00000b9c: PUSH2 0x23b3 00000b9f: JUMP 00000ba0: JUMPDEST 00000ba1: CALLVALUE 00000ba2: DUP1 00000ba3: ISZERO 00000ba4: PUSH2 0x0bab 00000ba7: JUMPI 00000ba8: PUSH0 00000ba9: DUP1 00000baa: REVERT 00000bab: JUMPDEST 00000bac: POP 00000bad: PUSH2 0x047b 00000bb0: PUSH2 0x0bba 00000bb3: CALLDATASIZE 00000bb4: PUSH1 0x04 00000bb6: PUSH2 0x429e 00000bb9: JUMP 00000bba: JUMPDEST 00000bbb: PUSH2 0x23f1 00000bbe: JUMP 00000bbf: JUMPDEST 00000bc0: CALLVALUE 00000bc1: DUP1 00000bc2: ISZERO 00000bc3: PUSH2 0x0bca 00000bc6: JUMPI 00000bc7: PUSH0 00000bc8: DUP1 00000bc9: REVERT 00000bca: JUMPDEST 00000bcb: POP 00000bcc: PUSH1 0x01 00000bce: SLOAD 00000bcf: PUSH2 0x0693 00000bd2: SWAP1 00000bd3: PUSH3 0x010000 00000bd7: SWAP1 00000bd8: DIV 00000bd9: PUSH1 0xff 00000bdb: AND 00000bdc: DUP2 00000bdd: JUMP 00000bde: JUMPDEST 00000bdf: CALLVALUE 00000be0: DUP1 00000be1: ISZERO 00000be2: PUSH2 0x0be9 00000be5: JUMPI 00000be6: PUSH0 00000be7: DUP1 00000be8: REVERT 00000be9: JUMPDEST 00000bea: POP 00000beb: PUSH2 0x047b 00000bee: PUSH1 0x06 00000bf0: SLOAD 00000bf1: DUP2 00000bf2: JUMP 00000bf3: JUMPDEST 00000bf4: CALLVALUE 00000bf5: DUP1 00000bf6: ISZERO 00000bf7: PUSH2 0x0bfe 00000bfa: JUMPI 00000bfb: PUSH0 00000bfc: DUP1 00000bfd: REVERT 00000bfe: JUMPDEST 00000bff: POP 00000c00: PUSH2 0x047b 00000c03: PUSH2 0x0c0d 00000c06: CALLDATASIZE 00000c07: PUSH1 0x04 00000c09: PUSH2 0x429e 00000c0c: JUMP 00000c0d: JUMPDEST 00000c0e: PUSH2 0x23fb 00000c11: JUMP 00000c12: JUMPDEST 00000c13: CALLVALUE 00000c14: DUP1 00000c15: ISZERO 00000c16: PUSH2 0x0c1d 00000c19: JUMPI 00000c1a: PUSH0 00000c1b: DUP1 00000c1c: REVERT 00000c1d: JUMPDEST 00000c1e: POP 00000c1f: PUSH2 0x047b 00000c22: PUSH2 0x0c2c 00000c25: CALLDATASIZE 00000c26: PUSH1 0x04 00000c28: PUSH2 0x41ea 00000c2b: JUMP 00000c2c: JUMPDEST 00000c2d: PUSH2 0x2408 00000c30: JUMP 00000c31: JUMPDEST 00000c32: CALLVALUE 00000c33: DUP1 00000c34: ISZERO 00000c35: PUSH2 0x0c3c 00000c38: JUMPI 00000c39: PUSH0 00000c3a: DUP1 00000c3b: REVERT 00000c3c: JUMPDEST 00000c3d: POP 00000c3e: PUSH2 0x0700 00000c41: PUSH2 0x0c4b 00000c44: CALLDATASIZE 00000c45: PUSH1 0x04 00000c47: PUSH2 0x41ea 00000c4a: JUMP 00000c4b: JUMPDEST 00000c4c: PUSH2 0x2440 00000c4f: JUMP 00000c50: JUMPDEST 00000c51: CALLVALUE 00000c52: DUP1 00000c53: ISZERO 00000c54: PUSH2 0x0c5b 00000c57: JUMPI 00000c58: PUSH0 00000c59: DUP1 00000c5a: REVERT 00000c5b: JUMPDEST 00000c5c: POP 00000c5d: PUSH2 0x047b 00000c60: PUSH2 0x0c6a 00000c63: CALLDATASIZE 00000c64: PUSH1 0x04 00000c66: PUSH2 0x429e 00000c69: JUMP 00000c6a: JUMPDEST 00000c6b: PUSH2 0x245f 00000c6e: JUMP 00000c6f: JUMPDEST 00000c70: CALLVALUE 00000c71: DUP1 00000c72: ISZERO 00000c73: PUSH2 0x0c7a 00000c76: JUMPI 00000c77: PUSH0 00000c78: DUP1 00000c79: REVERT 00000c7a: JUMPDEST 00000c7b: POP 00000c7c: PUSH2 0x047b 00000c7f: PUSH1 0x03 00000c81: SLOAD 00000c82: DUP2 00000c83: JUMP 00000c84: JUMPDEST 00000c85: CALLVALUE 00000c86: DUP1 00000c87: ISZERO 00000c88: PUSH2 0x0c8f 00000c8b: JUMPI 00000c8c: PUSH0 00000c8d: DUP1 00000c8e: REVERT 00000c8f: JUMPDEST 00000c90: POP 00000c91: PUSH2 0x053b 00000c94: PUSH2 0x0c9e 00000c97: CALLDATASIZE 00000c98: PUSH1 0x04 00000c9a: PUSH2 0x43fa 00000c9d: JUMP 00000c9e: JUMPDEST 00000c9f: PUSH2 0x2483 00000ca2: JUMP 00000ca3: JUMPDEST 00000ca4: CALLVALUE 00000ca5: DUP1 00000ca6: ISZERO 00000ca7: PUSH2 0x0cae 00000caa: JUMPI 00000cab: PUSH0 00000cac: DUP1 00000cad: REVERT 00000cae: JUMPDEST 00000caf: POP 00000cb0: PUSH2 0x047b 00000cb3: PUSH2 0x0cbd 00000cb6: CALLDATASIZE 00000cb7: PUSH1 0x04 00000cb9: PUSH2 0x429e 00000cbc: JUMP 00000cbd: JUMPDEST 00000cbe: PUSH2 0x2605 00000cc1: JUMP 00000cc2: JUMPDEST 00000cc3: CALLVALUE 00000cc4: DUP1 00000cc5: ISZERO 00000cc6: PUSH2 0x0ccd 00000cc9: JUMPI 00000cca: PUSH0 00000ccb: DUP1 00000ccc: REVERT 00000ccd: JUMPDEST 00000cce: POP 00000ccf: PUSH2 0x047b 00000cd2: PUSH2 0x0cdc 00000cd5: CALLDATASIZE 00000cd6: PUSH1 0x04 00000cd8: PUSH2 0x429e 00000cdb: JUMP 00000cdc: JUMPDEST 00000cdd: PUSH0 00000cde: SWAP1 00000cdf: DUP2 00000ce0: MSTORE 00000ce1: PUSH1 0x08 00000ce3: PUSH1 0x20 00000ce5: MSTORE 00000ce6: PUSH1 0x40 00000ce8: SWAP1 00000ce9: KECCAK256 00000cea: PUSH1 0x02 00000cec: ADD 00000ced: SLOAD 00000cee: PUSH1 0x01 00000cf0: PUSH1 0x01 00000cf2: PUSH1 0x80 00000cf4: SHL 00000cf5: SUB 00000cf6: AND 00000cf7: SWAP1 00000cf8: JUMP 00000cf9: JUMPDEST 00000cfa: CALLVALUE 00000cfb: DUP1 00000cfc: ISZERO 00000cfd: PUSH2 0x0d04 00000d00: JUMPI 00000d01: PUSH0 00000d02: DUP1 00000d03: REVERT 00000d04: JUMPDEST 00000d05: POP 00000d06: PUSH2 0x047b 00000d09: PUSH2 0x0d13 00000d0c: CALLDATASIZE 00000d0d: PUSH1 0x04 00000d0f: PUSH2 0x429e 00000d12: JUMP 00000d13: JUMPDEST 00000d14: PUSH2 0x260f 00000d17: JUMP 00000d18: JUMPDEST 00000d19: CALLVALUE 00000d1a: DUP1 00000d1b: ISZERO 00000d1c: PUSH2 0x0d23 00000d1f: JUMPI 00000d20: PUSH0 00000d21: DUP1 00000d22: REVERT 00000d23: JUMPDEST 00000d24: POP 00000d25: PUSH2 0x053b 00000d28: PUSH2 0x0d32 00000d2b: CALLDATASIZE 00000d2c: PUSH1 0x04 00000d2e: PUSH2 0x429e 00000d31: JUMP 00000d32: JUMPDEST 00000d33: PUSH2 0x2628 00000d36: JUMP 00000d37: JUMPDEST 00000d38: CALLVALUE 00000d39: DUP1 00000d3a: ISZERO 00000d3b: PUSH2 0x0d42 00000d3e: JUMPI 00000d3f: PUSH0 00000d40: DUP1 00000d41: REVERT 00000d42: JUMPDEST 00000d43: POP 00000d44: PUSH2 0x047b 00000d47: PUSH2 0x0d51 00000d4a: CALLDATASIZE 00000d4b: PUSH1 0x04 00000d4d: PUSH2 0x446b 00000d50: JUMP 00000d51: JUMPDEST 00000d52: PUSH1 0x20 00000d54: MSTORE 00000d55: PUSH4 0x7f5e9f20 00000d5a: PUSH1 0x0c 00000d5c: SWAP1 00000d5d: DUP2 00000d5e: MSTORE 00000d5f: PUSH0 00000d60: SWAP2 00000d61: SWAP1 00000d62: SWAP2 00000d63: MSTORE 00000d64: PUSH1 0x34 00000d66: SWAP1 00000d67: KECCAK256 00000d68: SLOAD 00000d69: SWAP1 00000d6a: JUMP 00000d6b: JUMPDEST 00000d6c: CALLVALUE 00000d6d: DUP1 00000d6e: ISZERO 00000d6f: PUSH2 0x0d76 00000d72: JUMPI 00000d73: PUSH0 00000d74: DUP1 00000d75: REVERT 00000d76: JUMPDEST 00000d77: POP 00000d78: PUSH2 0x053b 00000d7b: PUSH2 0x0d85 00000d7e: CALLDATASIZE 00000d7f: PUSH1 0x04 00000d81: PUSH2 0x427f 00000d84: JUMP 00000d85: JUMPDEST 00000d86: PUSH2 0x28de 00000d89: JUMP 00000d8a: JUMPDEST 00000d8b: CALLVALUE 00000d8c: DUP1 00000d8d: ISZERO 00000d8e: PUSH2 0x0d95 00000d91: JUMPI 00000d92: PUSH0 00000d93: DUP1 00000d94: REVERT 00000d95: JUMPDEST 00000d96: POP 00000d97: PUSH2 0x053b 00000d9a: PUSH2 0x0da4 00000d9d: CALLDATASIZE 00000d9e: PUSH1 0x04 00000da0: PUSH2 0x423f 00000da3: JUMP 00000da4: JUMPDEST 00000da5: PUSH2 0x290c 00000da8: JUMP 00000da9: JUMPDEST 00000daa: CALLVALUE 00000dab: DUP1 00000dac: ISZERO 00000dad: PUSH2 0x0db4 00000db0: JUMPI 00000db1: PUSH0 00000db2: DUP1 00000db3: REVERT 00000db4: JUMPDEST 00000db5: POP 00000db6: PUSH2 0x047b 00000db9: PUSH1 0x02 00000dbb: SLOAD 00000dbc: DUP2 00000dbd: JUMP 00000dbe: JUMPDEST 00000dbf: CALLVALUE 00000dc0: DUP1 00000dc1: ISZERO 00000dc2: PUSH2 0x0dc9 00000dc5: JUMPI 00000dc6: PUSH0 00000dc7: DUP1 00000dc8: REVERT 00000dc9: JUMPDEST 00000dca: POP 00000dcb: PUSH2 0x047b 00000dce: PUSH2 0x0dd8 00000dd1: CALLDATASIZE 00000dd2: PUSH1 0x04 00000dd4: PUSH2 0x41ea 00000dd7: JUMP 00000dd8: JUMPDEST 00000dd9: PUSH2 0x2ab4 00000ddc: JUMP 00000ddd: JUMPDEST 00000dde: PUSH2 0x053b 00000de1: PUSH2 0x0deb 00000de4: CALLDATASIZE 00000de5: PUSH1 0x04 00000de7: PUSH2 0x429e 00000dea: JUMP 00000deb: JUMPDEST 00000dec: PUSH2 0x2abe 00000def: JUMP 00000df0: JUMPDEST 00000df1: CALLVALUE 00000df2: DUP1 00000df3: ISZERO 00000df4: PUSH2 0x0dfb 00000df7: JUMPI 00000df8: PUSH0 00000df9: DUP1 00000dfa: REVERT 00000dfb: JUMPDEST 00000dfc: POP 00000dfd: PUSH2 0x053b 00000e00: PUSH2 0x0e0a 00000e03: CALLDATASIZE 00000e04: PUSH1 0x04 00000e06: PUSH2 0x429e 00000e09: JUMP 00000e0a: JUMPDEST 00000e0b: PUSH2 0x2af8 00000e0e: JUMP 00000e0f: JUMPDEST 00000e10: PUSH2 0x053b 00000e13: PUSH2 0x0e1d 00000e16: CALLDATASIZE 00000e17: PUSH1 0x04 00000e19: PUSH2 0x429e 00000e1c: JUMP 00000e1d: JUMPDEST 00000e1e: PUSH2 0x2b4c 00000e21: JUMP 00000e22: JUMPDEST 00000e23: CALLVALUE 00000e24: DUP1 00000e25: ISZERO 00000e26: PUSH2 0x0e2d 00000e29: JUMPI 00000e2a: PUSH0 00000e2b: DUP1 00000e2c: REVERT 00000e2d: JUMPDEST 00000e2e: POP 00000e2f: PUSH2 0x047b 00000e32: PUSH1 0x05 00000e34: SLOAD 00000e35: DUP2 00000e36: JUMP 00000e37: JUMPDEST 00000e38: CALLVALUE 00000e39: DUP1 00000e3a: ISZERO 00000e3b: PUSH2 0x0e42 00000e3e: JUMPI 00000e3f: PUSH0 00000e40: DUP1 00000e41: REVERT 00000e42: JUMPDEST 00000e43: POP 00000e44: PUSH2 0x047b 00000e47: PUSH2 0x2710 00000e4a: DUP2 00000e4b: JUMP 00000e4c: JUMPDEST 00000e4d: CALLVALUE 00000e4e: DUP1 00000e4f: ISZERO 00000e50: PUSH2 0x0e57 00000e53: JUMPI 00000e54: PUSH0 00000e55: DUP1 00000e56: REVERT 00000e57: JUMPDEST 00000e58: POP 00000e59: PUSH2 0x053b 00000e5c: PUSH2 0x0e66 00000e5f: CALLDATASIZE 00000e60: PUSH1 0x04 00000e62: PUSH2 0x41ea 00000e65: JUMP 00000e66: JUMPDEST 00000e67: PUSH2 0x2b72 00000e6a: JUMP 00000e6b: JUMPDEST 00000e6c: CALLVALUE 00000e6d: DUP1 00000e6e: ISZERO 00000e6f: PUSH2 0x0e76 00000e72: JUMPI 00000e73: PUSH0 00000e74: DUP1 00000e75: REVERT 00000e76: JUMPDEST 00000e77: POP 00000e78: PUSH2 0x047b 00000e7b: PUSH2 0x0e85 00000e7e: CALLDATASIZE 00000e7f: PUSH1 0x04 00000e81: PUSH2 0x429e 00000e84: JUMP 00000e85: JUMPDEST 00000e86: PUSH4 0x389a75e1 00000e8b: PUSH1 0x0c 00000e8d: SWAP1 00000e8e: DUP2 00000e8f: MSTORE 00000e90: PUSH0 00000e91: SWAP2 00000e92: SWAP1 00000e93: SWAP2 00000e94: MSTORE 00000e95: PUSH1 0x20 00000e97: SWAP1 00000e98: KECCAK256 00000e99: SLOAD 00000e9a: SWAP1 00000e9b: JUMP 00000e9c: JUMPDEST 00000e9d: PUSH0 00000e9e: PUSH2 0x0ea5 00000ea1: PUSH2 0x2bc7 00000ea4: JUMP 00000ea5: JUMPDEST 00000ea6: SWAP1 00000ea7: POP 00000ea8: SWAP1 00000ea9: JUMP 00000eaa: JUMPDEST 00000eab: PUSH1 0x60 00000ead: PUSH1 0x1f 00000eaf: DUP1 00000eb0: SLOAD 00000eb1: PUSH2 0x0eb9 00000eb4: SWAP1 00000eb5: PUSH2 0x4497 00000eb8: JUMP 00000eb9: JUMPDEST 00000eba: DUP1 00000ebb: PUSH1 0x1f 00000ebd: ADD 00000ebe: PUSH1 0x20 00000ec0: DUP1 00000ec1: SWAP2 00000ec2: DIV 00000ec3: MUL 00000ec4: PUSH1 0x20 00000ec6: ADD 00000ec7: PUSH1 0x40 00000ec9: MLOAD 00000eca: SWAP1 00000ecb: DUP2 00000ecc: ADD 00000ecd: PUSH1 0x40 00000ecf: MSTORE 00000ed0: DUP1 00000ed1: SWAP3 00000ed2: SWAP2 00000ed3: SWAP1 00000ed4: DUP2 00000ed5: DUP2 00000ed6: MSTORE 00000ed7: PUSH1 0x20 00000ed9: ADD 00000eda: DUP3 00000edb: DUP1 00000edc: SLOAD 00000edd: PUSH2 0x0ee5 00000ee0: SWAP1 00000ee1: PUSH2 0x4497 00000ee4: JUMP 00000ee5: JUMPDEST 00000ee6: DUP1 00000ee7: ISZERO 00000ee8: PUSH2 0x0f30 00000eeb: JUMPI 00000eec: DUP1 00000eed: PUSH1 0x1f 00000eef: LT 00000ef0: PUSH2 0x0f07 00000ef3: JUMPI 00000ef4: PUSH2 0x0100 00000ef7: DUP1 00000ef8: DUP4 00000ef9: SLOAD 00000efa: DIV 00000efb: MUL 00000efc: DUP4 00000efd: MSTORE 00000efe: SWAP2 00000eff: PUSH1 0x20 00000f01: ADD 00000f02: SWAP2 00000f03: PUSH2 0x0f30 00000f06: JUMP 00000f07: JUMPDEST 00000f08: DUP3 00000f09: ADD 00000f0a: SWAP2 00000f0b: SWAP1 00000f0c: PUSH0 00000f0d: MSTORE 00000f0e: PUSH1 0x20 00000f10: PUSH0 00000f11: KECCAK256 00000f12: SWAP1 00000f13: JUMPDEST 00000f14: DUP2 00000f15: SLOAD 00000f16: DUP2 00000f17: MSTORE 00000f18: SWAP1 00000f19: PUSH1 0x01 00000f1b: ADD 00000f1c: SWAP1 00000f1d: PUSH1 0x20 00000f1f: ADD 00000f20: DUP1 00000f21: DUP4 00000f22: GT 00000f23: PUSH2 0x0f13 00000f26: JUMPI 00000f27: DUP3 00000f28: SWAP1 00000f29: SUB 00000f2a: PUSH1 0x1f 00000f2c: AND 00000f2d: DUP3 00000f2e: ADD 00000f2f: SWAP2 00000f30: JUMPDEST 00000f31: POP 00000f32: POP 00000f33: POP 00000f34: POP 00000f35: POP 00000f36: SWAP1 00000f37: POP 00000f38: SWAP1 00000f39: JUMP 00000f3a: JUMPDEST 00000f3b: PUSH0 00000f3c: PUSH1 0x06 00000f3e: PUSH2 0x0f79 00000f41: DUP4 00000f42: PUSH2 0x0f49 00000f45: PUSH2 0x2bc7 00000f48: JUMP 00000f49: JUMPDEST 00000f4a: PUSH2 0x0f54 00000f4d: SWAP1 00000f4e: PUSH1 0x01 00000f50: PUSH2 0x44dd 00000f53: JUMP 00000f54: JUMPDEST 00000f55: PUSH2 0x0f5f 00000f58: DUP5 00000f59: PUSH1 0x0a 00000f5b: PUSH2 0x45d0 00000f5e: JUMP 00000f5f: JUMPDEST 00000f60: PUSH9 0x05345cdf77eb68f44c 00000f6a: SLOAD 00000f6b: PUSH2 0x0f74 00000f6e: SWAP2 00000f6f: SWAP1 00000f70: PUSH2 0x44dd 00000f73: JUMP 00000f74: JUMPDEST 00000f75: PUSH2 0x2cb9 00000f78: JUMP 00000f79: JUMPDEST 00000f7a: SWAP4 00000f7b: SWAP3 00000f7c: POP 00000f7d: POP 00000f7e: POP 00000f7f: JUMP 00000f80: JUMPDEST 00000f81: PUSH0 00000f82: DUP3 00000f83: PUSH1 0x20 00000f85: MSTORE 00000f86: PUSH4 0x7f5e9f20 00000f8b: PUSH1 0x0c 00000f8d: MSTORE 00000f8e: CALLER 00000f8f: PUSH0 00000f90: MSTORE 00000f91: DUP2 00000f92: PUSH1 0x34 00000f94: PUSH1 0x0c 00000f96: KECCAK256 00000f97: SSTORE 00000f98: DUP2 00000f99: PUSH0 00000f9a: MSTORE 00000f9b: PUSH1 0x2c 00000f9d: MLOAD 00000f9e: PUSH1 0x60 00000fa0: SHR 00000fa1: CALLER 00000fa2: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 00000fc3: PUSH1 0x20 00000fc5: PUSH0 00000fc6: LOG3 00000fc7: POP 00000fc8: PUSH1 0x01 00000fca: JUMPDEST 00000fcb: SWAP3 00000fcc: SWAP2 00000fcd: POP 00000fce: POP 00000fcf: JUMP 00000fd0: JUMPDEST 00000fd1: PUSH0 00000fd2: DUP2 00000fd3: PUSH0 00000fd4: SUB 00000fd5: PUSH2 0x0fdf 00000fd8: JUMPI 00000fd9: POP 00000fda: PUSH0 00000fdb: SWAP2 00000fdc: SWAP1 00000fdd: POP 00000fde: JUMP 00000fdf: JUMPDEST 00000fe0: PUSH0 00000fe1: NOT 00000fe2: DUP3 00000fe3: SUB 00000fe4: PUSH2 0x1005 00000fe7: JUMPI 00000fe8: PUSH4 0x87a211a2 00000fed: PUSH1 0x0c 00000fef: SWAP1 00000ff0: DUP2 00000ff1: MSTORE 00000ff2: CALLER 00000ff3: PUSH0 00000ff4: MSTORE 00000ff5: PUSH1 0x20 00000ff7: SWAP1 00000ff8: KECCAK256 00000ff9: SLOAD 00000ffa: PUSH2 0x1002 00000ffd: SWAP1 00000ffe: PUSH2 0x0f3a 00001001: JUMP 00001002: JUMPDEST 00001003: SWAP2 00001004: POP 00001005: JUMPDEST 00001006: PUSH0 00001007: PUSH2 0x100e 0000100a: PUSH2 0x2bc7 0000100d: JUMP 0000100e: JUMPDEST 0000100f: PUSH1 0x04 00001011: SLOAD 00001012: SWAP1 00001013: SWAP2 00001014: POP 00001015: PUSH1 0x06 00001017: PUSH2 0x1048 0000101a: DUP6 0000101b: PUSH2 0x1025 0000101e: DUP4 0000101f: PUSH1 0x0a 00001021: PUSH2 0x45d0 00001024: JUMP 00001025: JUMPDEST 00001026: PUSH9 0x05345cdf77eb68f44c 00001030: SLOAD 00001031: PUSH2 0x103a 00001034: SWAP2 00001035: SWAP1 00001036: PUSH2 0x44dd 00001039: JUMP 0000103a: JUMPDEST 0000103b: PUSH1 0x01 0000103d: DUP7 0000103e: ADD 0000103f: PUSH2 0x2d55 00001042: JUMP 00001043: JUMPDEST 00001044: PUSH2 0x2d55 00001047: JUMP 00001048: JUMPDEST 00001049: SWAP4 0000104a: POP 0000104b: DUP2 0000104c: DUP6 0000104d: GT 0000104e: ISZERO 0000104f: PUSH2 0x1208 00001052: JUMPI 00001053: PUSH0 00001054: DUP1 00001055: JUMPDEST 00001056: PUSH1 0x14 00001058: DUP2 00001059: LT 0000105a: ISZERO 0000105b: PUSH2 0x11cc 0000105e: JUMPI 0000105f: PUSH0 00001060: PUSH1 0x09 00001062: DUP3 00001063: PUSH1 0x14 00001065: DUP2 00001066: LT 00001067: PUSH2 0x1072 0000106a: JUMPI 0000106b: PUSH2 0x1072 0000106e: PUSH2 0x45db 00001071: JUMP 00001072: JUMPDEST 00001073: ADD 00001074: SLOAD 00001075: PUSH1 0x01 00001077: PUSH1 0x01 00001079: PUSH1 0xa0 0000107b: SHL 0000107c: SUB 0000107d: AND 0000107e: SWAP1 0000107f: POP 00001080: DUP1 00001081: PUSH2 0x108a 00001084: JUMPI 00001085: POP 00001086: PUSH2 0x11cc 00001089: JUMP 0000108a: JUMPDEST 0000108b: DUP8 0000108c: DUP6 0000108d: LT 0000108e: PUSH2 0x1097 00001091: JUMPI 00001092: POP 00001093: PUSH2 0x11cc 00001096: JUMP 00001097: JUMPDEST 00001098: PUSH0 00001099: PUSH2 0x10a2 0000109c: DUP7 0000109d: DUP11 0000109e: PUSH2 0x45ef 000010a1: JUMP 000010a2: JUMPDEST 000010a3: SWAP1 000010a4: POP 000010a5: PUSH2 0x1113 000010a8: DUP2 000010a9: DUP4 000010aa: PUSH1 0x01 000010ac: PUSH1 0x01 000010ae: PUSH1 0xa0 000010b0: SHL 000010b1: SUB 000010b2: AND 000010b3: PUSH4 0x8f843dd1 000010b8: PUSH1 0x40 000010ba: MLOAD 000010bb: DUP2 000010bc: PUSH4 0xffffffff 000010c1: AND 000010c2: PUSH1 0xe0 000010c4: SHL 000010c5: DUP2 000010c6: MSTORE 000010c7: PUSH1 0x04 000010c9: ADD 000010ca: PUSH1 0x20 000010cc: PUSH1 0x40 000010ce: MLOAD 000010cf: DUP1 000010d0: DUP4 000010d1: SUB 000010d2: DUP2 000010d3: DUP7 000010d4: GAS 000010d5: STATICCALL 000010d6: ISZERO 000010d7: DUP1 000010d8: ISZERO 000010d9: PUSH2 0x10e4 000010dc: JUMPI 000010dd: RETURNDATASIZE 000010de: PUSH0 000010df: DUP1 000010e0: RETURNDATACOPY 000010e1: RETURNDATASIZE 000010e2: PUSH0 000010e3: REVERT 000010e4: JUMPDEST 000010e5: POP 000010e6: POP 000010e7: POP 000010e8: POP 000010e9: PUSH1 0x40 000010eb: MLOAD 000010ec: RETURNDATASIZE 000010ed: PUSH1 0x1f 000010ef: NOT 000010f0: PUSH1 0x1f 000010f2: DUP3 000010f3: ADD 000010f4: AND 000010f5: DUP3 000010f6: ADD 000010f7: DUP1 000010f8: PUSH1 0x40 000010fa: MSTORE 000010fb: POP 000010fc: DUP2 000010fd: ADD 000010fe: SWAP1 000010ff: PUSH2 0x1108 00001102: SWAP2 00001103: SWAP1 00001104: PUSH2 0x4602 00001107: JUMP 00001108: JUMPDEST 00001109: DUP1 0000110a: DUP3 0000110b: XOR 0000110c: SWAP1 0000110d: DUP3 0000110e: GT 0000110f: MUL 00001110: XOR 00001111: SWAP1 00001112: JUMP 00001113: JUMPDEST 00001114: SWAP1 00001115: POP 00001116: DUP1 00001117: PUSH0 00001118: SUB 00001119: PUSH2 0x1126 0000111c: JUMPI 0000111d: POP 0000111e: POP 0000111f: PUSH1 0x01 00001121: ADD 00001122: PUSH2 0x1055 00001125: JUMP 00001126: JUMPDEST 00001127: PUSH1 0x40 00001129: MLOAD 0000112a: PUSH4 0xada6608b 0000112f: PUSH1 0xe0 00001131: SHL 00001132: DUP2 00001133: MSTORE 00001134: PUSH1 0x04 00001136: DUP2 00001137: ADD 00001138: DUP3 00001139: SWAP1 0000113a: MSTORE 0000113b: PUSH0 0000113c: SWAP1 0000113d: PUSH1 0x01 0000113f: PUSH1 0x01 00001141: PUSH1 0xa0 00001143: SHL 00001144: SUB 00001145: DUP5 00001146: AND 00001147: SWAP1 00001148: PUSH4 0xada6608b 0000114d: SWAP1 0000114e: PUSH1 0x24 00001150: ADD 00001151: PUSH1 0x20 00001153: PUSH1 0x40 00001155: MLOAD 00001156: DUP1 00001157: DUP4 00001158: SUB 00001159: DUP2 0000115a: DUP7 0000115b: GAS 0000115c: STATICCALL 0000115d: ISZERO 0000115e: DUP1 0000115f: ISZERO 00001160: PUSH2 0x116b 00001163: JUMPI 00001164: RETURNDATASIZE 00001165: PUSH0 00001166: DUP1 00001167: RETURNDATACOPY 00001168: RETURNDATASIZE 00001169: PUSH0 0000116a: REVERT 0000116b: JUMPDEST 0000116c: POP 0000116d: POP 0000116e: POP 0000116f: POP 00001170: PUSH1 0x40 00001172: MLOAD 00001173: RETURNDATASIZE 00001174: PUSH1 0x1f 00001176: NOT 00001177: PUSH1 0x1f 00001179: DUP3 0000117a: ADD 0000117b: AND 0000117c: DUP3 0000117d: ADD 0000117e: DUP1 0000117f: PUSH1 0x40 00001181: MSTORE 00001182: POP 00001183: DUP2 00001184: ADD 00001185: SWAP1 00001186: PUSH2 0x118f 00001189: SWAP2 0000118a: SWAP1 0000118b: PUSH2 0x4602 0000118e: JUMP 0000118f: JUMPDEST 00001190: SWAP1 00001191: POP 00001192: PUSH0 00001193: PUSH2 0x119c 00001196: DUP4 00001197: DUP4 00001198: PUSH2 0x45ef 0000119b: JUMP 0000119c: JUMPDEST 0000119d: SWAP1 0000119e: POP 0000119f: PUSH2 0x11a8 000011a2: DUP4 000011a3: DUP10 000011a4: PUSH2 0x44dd 000011a7: JUMP 000011a8: JUMPDEST 000011a9: SWAP8 000011aa: POP 000011ab: DUP1 000011ac: ISZERO 000011ad: PUSH2 0x11bd 000011b0: JUMPI 000011b1: PUSH2 0x11ba 000011b4: DUP2 000011b5: DUP8 000011b6: PUSH2 0x44dd 000011b9: JUMP 000011ba: JUMPDEST 000011bb: SWAP6 000011bc: POP 000011bd: JUMPDEST 000011be: DUP5 000011bf: PUSH1 0x01 000011c1: ADD 000011c2: SWAP5 000011c3: POP 000011c4: POP 000011c5: POP 000011c6: POP 000011c7: POP 000011c8: PUSH2 0x1055 000011cb: JUMP 000011cc: JUMPDEST 000011cd: POP 000011ce: PUSH2 0x11fa 000011d1: DUP2 000011d2: PUSH2 0x11dc 000011d5: DUP5 000011d6: PUSH1 0x0a 000011d8: PUSH2 0x45d0 000011db: JUMP 000011dc: JUMPDEST 000011dd: PUSH9 0x05345cdf77eb68f44c 000011e7: SLOAD 000011e8: PUSH2 0x11f1 000011eb: SWAP2 000011ec: SWAP1 000011ed: PUSH2 0x44dd 000011f0: JUMP 000011f1: JUMPDEST 000011f2: PUSH1 0x01 000011f4: DUP8 000011f5: ADD 000011f6: PUSH2 0x2d55 000011f9: JUMP 000011fa: JUMPDEST 000011fb: PUSH2 0x1204 000011fe: SWAP1 000011ff: DUP7 00001200: PUSH2 0x44dd 00001203: JUMP 00001204: JUMPDEST 00001205: SWAP5 00001206: POP 00001207: POP 00001208: JUMPDEST 00001209: DUP5 0000120a: DUP3 0000120b: LT 0000120c: ISZERO 0000120d: PUSH2 0x1235 00001210: JUMPI 00001211: PUSH2 0x1228 00001214: PUSH2 0x121d 00001217: DUP4 00001218: DUP8 00001219: PUSH2 0x45ef 0000121c: JUMP 0000121d: JUMPDEST 0000121e: PUSH2 0x1025 00001221: DUP4 00001222: PUSH1 0x0a 00001224: PUSH2 0x45d0 00001227: JUMP 00001228: JUMPDEST 00001229: PUSH2 0x1232 0000122c: SWAP1 0000122d: DUP6 0000122e: PUSH2 0x44dd 00001231: JUMP 00001232: JUMPDEST 00001233: SWAP4 00001234: POP 00001235: JUMPDEST 00001236: POP 00001237: POP 00001238: POP 00001239: SWAP2 0000123a: SWAP1 0000123b: POP 0000123c: JUMP 0000123d: JUMPDEST 0000123e: PUSH1 0x01 00001240: PUSH2 0x1248 00001243: DUP2 00001244: PUSH2 0x2d81 00001247: JUMP 00001248: JUMPDEST 00001249: PUSH1 0x01 0000124b: SLOAD 0000124c: PUSH1 0xff 0000124e: AND 0000124f: ISZERO 00001250: PUSH2 0x126c 00001253: JUMPI 00001254: PUSH1 0x40 00001256: MLOAD 00001257: PUSH4 0x04aca5db 0000125c: PUSH1 0xe0 0000125e: SHL 0000125f: DUP2 00001260: MSTORE 00001261: PUSH1 0x04 00001263: ADD 00001264: PUSH1 0x40 00001266: MLOAD 00001267: DUP1 00001268: SWAP2 00001269: SUB 0000126a: SWAP1 0000126b: REVERT 0000126c: JUMPDEST 0000126d: PUSH1 0x1c 0000126f: SLOAD 00001270: PUSH0 00001271: SWAP1 00001272: ISZERO 00001273: PUSH2 0x1283 00001276: JUMPI 00001277: PUSH4 0xa3d0cff3 0000127c: PUSH0 0000127d: MSTORE 0000127e: PUSH1 0x04 00001280: PUSH1 0x1c 00001282: REVERT 00001283: JUMPDEST 00001284: DUP7 00001285: PUSH2 0x1295 00001288: JUMPI 00001289: PUSH4 0xf6b2911f 0000128e: PUSH0 0000128f: MSTORE 00001290: PUSH1 0x04 00001292: PUSH1 0x1c 00001294: REVERT 00001295: JUMPDEST 00001296: DUP7 00001297: PUSH0 00001298: MSTORE 00001299: PUSH1 0x08 0000129b: PUSH1 0x20 0000129d: MSTORE 0000129e: PUSH1 0x40 000012a0: PUSH0 000012a1: KECCAK256 000012a2: SWAP1 000012a3: POP 000012a4: DUP1 000012a5: SLOAD 000012a6: PUSH1 0xb0 000012a8: SHL 000012a9: PUSH1 0xd0 000012ab: SHR 000012ac: ISZERO 000012ad: PUSH2 0x12bd 000012b0: JUMPI 000012b1: PUSH4 0xc976754d 000012b6: PUSH0 000012b7: MSTORE 000012b8: PUSH1 0x04 000012ba: PUSH1 0x1c 000012bc: REVERT 000012bd: JUMPDEST 000012be: ADDRESS 000012bf: PUSH1 0x01 000012c1: PUSH1 0x01 000012c3: PUSH1 0xa0 000012c5: SHL 000012c6: SUB 000012c7: AND 000012c8: DUP8 000012c9: PUSH1 0x01 000012cb: PUSH1 0x01 000012cd: PUSH1 0xa0 000012cf: SHL 000012d0: SUB 000012d1: AND 000012d2: PUSH4 0xfbfa77cf 000012d7: PUSH1 0x40 000012d9: MLOAD 000012da: DUP2 000012db: PUSH4 0xffffffff 000012e0: AND 000012e1: PUSH1 0xe0 000012e3: SHL 000012e4: DUP2 000012e5: MSTORE 000012e6: PUSH1 0x04 000012e8: ADD 000012e9: PUSH1 0x20 000012eb: PUSH1 0x40 000012ed: MLOAD 000012ee: DUP1 000012ef: DUP4 000012f0: SUB 000012f1: DUP2 000012f2: PUSH0 000012f3: DUP8 000012f4: GAS 000012f5: CALL 000012f6: ISZERO 000012f7: DUP1 000012f8: ISZERO 000012f9: PUSH2 0x1304 000012fc: JUMPI 000012fd: RETURNDATASIZE 000012fe: PUSH0 000012ff: DUP1 00001300: RETURNDATACOPY 00001301: RETURNDATASIZE 00001302: PUSH0 00001303: REVERT 00001304: JUMPDEST 00001305: POP 00001306: POP 00001307: POP 00001308: POP 00001309: PUSH1 0x40 0000130b: MLOAD 0000130c: RETURNDATASIZE 0000130d: PUSH1 0x1f 0000130f: NOT 00001310: PUSH1 0x1f 00001312: DUP3 00001313: ADD 00001314: AND 00001315: DUP3 00001316: ADD 00001317: DUP1 00001318: PUSH1 0x40 0000131a: MSTORE 0000131b: POP 0000131c: DUP2 0000131d: ADD 0000131e: SWAP1 0000131f: PUSH2 0x1328 00001322: SWAP2 00001323: SWAP1 00001324: PUSH2 0x4619 00001327: JUMP 00001328: JUMPDEST 00001329: PUSH1 0x01 0000132b: PUSH1 0x01 0000132d: PUSH1 0xa0 0000132f: SHL 00001330: SUB 00001331: AND 00001332: EQ 00001333: PUSH2 0x1343 00001336: JUMPI 00001337: PUSH4 0xac4e0773 0000133c: PUSH0 0000133d: MSTORE 0000133e: PUSH1 0x04 00001340: PUSH1 0x1c 00001342: REVERT 00001343: JUMPDEST 00001344: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 00001365: PUSH1 0x01 00001367: PUSH1 0x01 00001369: PUSH1 0xa0 0000136b: SHL 0000136c: SUB 0000136d: AND 0000136e: DUP8 0000136f: PUSH1 0x01 00001371: PUSH1 0x01 00001373: PUSH1 0xa0 00001375: SHL 00001376: SUB 00001377: AND 00001378: PUSH4 0x7158da7c 0000137d: PUSH1 0x40 0000137f: MLOAD 00001380: DUP2 00001381: PUSH4 0xffffffff 00001386: AND 00001387: PUSH1 0xe0 00001389: SHL 0000138a: DUP2 0000138b: MSTORE 0000138c: PUSH1 0x04 0000138e: ADD 0000138f: PUSH1 0x20 00001391: PUSH1 0x40 00001393: MLOAD 00001394: DUP1 00001395: DUP4 00001396: SUB 00001397: DUP2 00001398: PUSH0 00001399: DUP8 0000139a: GAS 0000139b: CALL 0000139c: ISZERO 0000139d: DUP1 0000139e: ISZERO 0000139f: PUSH2 0x13aa 000013a2: JUMPI 000013a3: RETURNDATASIZE 000013a4: PUSH0 000013a5: DUP1 000013a6: RETURNDATACOPY 000013a7: RETURNDATASIZE 000013a8: PUSH0 000013a9: REVERT 000013aa: JUMPDEST 000013ab: POP 000013ac: POP 000013ad: POP 000013ae: POP 000013af: PUSH1 0x40 000013b1: MLOAD 000013b2: RETURNDATASIZE 000013b3: PUSH1 0x1f 000013b5: NOT 000013b6: PUSH1 0x1f 000013b8: DUP3 000013b9: ADD 000013ba: AND 000013bb: DUP3 000013bc: ADD 000013bd: DUP1 000013be: PUSH1 0x40 000013c0: MSTORE 000013c1: POP 000013c2: DUP2 000013c3: ADD 000013c4: SWAP1 000013c5: PUSH2 0x13ce 000013c8: SWAP2 000013c9: SWAP1 000013ca: PUSH2 0x4619 000013cd: JUMP 000013ce: JUMPDEST 000013cf: PUSH1 0x01 000013d1: PUSH1 0x01 000013d3: PUSH1 0xa0 000013d5: SHL 000013d6: SUB 000013d7: AND 000013d8: EQ 000013d9: PUSH2 0x13e9 000013dc: JUMPI 000013dd: PUSH4 0xf083d3f1 000013e2: PUSH0 000013e3: MSTORE 000013e4: PUSH1 0x04 000013e6: PUSH1 0x1c 000013e8: REVERT 000013e9: JUMPDEST 000013ea: PUSH0 000013eb: PUSH1 0x01 000013ed: PUSH1 0x01 000013ef: PUSH1 0xa0 000013f1: SHL 000013f2: SUB 000013f3: AND 000013f4: DUP8 000013f5: PUSH1 0x01 000013f7: PUSH1 0x01 000013f9: PUSH1 0xa0 000013fb: SHL 000013fc: SUB 000013fd: AND 000013fe: PUSH4 0x1fe4a686 00001403: PUSH1 0x40 00001405: MLOAD 00001406: DUP2 00001407: PUSH4 0xffffffff 0000140c: AND 0000140d: PUSH1 0xe0 0000140f: SHL 00001410: DUP2 00001411: MSTORE 00001412: PUSH1 0x04 00001414: ADD 00001415: PUSH1 0x20 00001417: PUSH1 0x40 00001419: MLOAD 0000141a: DUP1 0000141b: DUP4 0000141c: SUB 0000141d: DUP2 0000141e: DUP7 0000141f: GAS 00001420: STATICCALL 00001421: ISZERO 00001422: DUP1 00001423: ISZERO 00001424: PUSH2 0x142f 00001427: JUMPI 00001428: RETURNDATASIZE 00001429: PUSH0 0000142a: DUP1 0000142b: RETURNDATACOPY 0000142c: RETURNDATASIZE 0000142d: PUSH0 0000142e: REVERT 0000142f: JUMPDEST 00001430: POP 00001431: POP 00001432: POP 00001433: POP 00001434: PUSH1 0x40 00001436: MLOAD 00001437: RETURNDATASIZE 00001438: PUSH1 0x1f 0000143a: NOT 0000143b: PUSH1 0x1f 0000143d: DUP3 0000143e: ADD 0000143f: AND 00001440: DUP3 00001441: ADD 00001442: DUP1 00001443: PUSH1 0x40 00001445: MSTORE 00001446: POP 00001447: DUP2 00001448: ADD 00001449: SWAP1 0000144a: PUSH2 0x1453 0000144d: SWAP2 0000144e: SWAP1 0000144f: PUSH2 0x4619 00001452: JUMP 00001453: JUMPDEST 00001454: PUSH1 0x01 00001456: PUSH1 0x01 00001458: PUSH1 0xa0 0000145a: SHL 0000145b: SUB 0000145c: AND 0000145d: SUB 0000145e: PUSH2 0x146e 00001461: JUMPI 00001462: PUSH4 0xeb8bf8b6 00001467: PUSH0 00001468: MSTORE 00001469: PUSH1 0x04 0000146b: PUSH1 0x1c 0000146d: REVERT 0000146e: JUMPDEST 0000146f: PUSH1 0x03 00001471: SLOAD 00001472: DUP7 00001473: DUP2 00001474: ADD 00001475: DUP8 00001476: DUP2 00001477: LT 00001478: ISZERO 00001479: PUSH2 0x1480 0000147c: JUMPI 0000147d: PUSH0 0000147e: DUP1 0000147f: REVERT 00001480: JUMPDEST 00001481: PUSH2 0x2710 00001484: DUP2 00001485: GT 00001486: ISZERO 00001487: PUSH2 0x1497 0000148a: JUMPI 0000148b: PUSH4 0x79facb0d 00001490: PUSH0 00001491: MSTORE 00001492: PUSH1 0x04 00001494: PUSH1 0x1c 00001496: REVERT 00001497: JUMPDEST 00001498: POP 00001499: DUP6 0000149a: DUP6 0000149b: GT 0000149c: ISZERO 0000149d: PUSH2 0x14ad 000014a0: JUMPI 000014a1: PUSH4 0x5f3bd953 000014a6: PUSH0 000014a7: MSTORE 000014a8: PUSH1 0x04 000014aa: PUSH1 0x1c 000014ac: REVERT 000014ad: JUMPDEST 000014ae: PUSH2 0x1388 000014b1: DUP5 000014b2: GT 000014b3: ISZERO 000014b4: PUSH2 0x14c4 000014b7: JUMPI 000014b8: PUSH4 0xf14508d0 000014bd: PUSH0 000014be: MSTORE 000014bf: PUSH1 0x04 000014c1: PUSH1 0x1c 000014c3: REVERT 000014c4: JUMPDEST 000014c5: DUP7 000014c6: PUSH2 0xffff 000014c9: AND 000014ca: DUP5 000014cb: PUSH2 0xffff 000014ce: AND 000014cf: PUSH1 0x10 000014d1: SHL 000014d2: OR 000014d3: TIMESTAMP 000014d4: PUSH6 0xffffffffffff 000014db: AND 000014dc: PUSH1 0x20 000014de: SHL 000014df: OR 000014e0: TIMESTAMP 000014e1: PUSH6 0xffffffffffff 000014e8: AND 000014e9: PUSH1 0x50 000014eb: SHL 000014ec: OR 000014ed: DUP7 000014ee: PUSH1 0x80 000014f0: SHL 000014f1: OR 000014f2: DUP3 000014f3: SSTORE 000014f4: DUP5 000014f5: PUSH1 0x80 000014f7: SHL 000014f8: PUSH1 0x80 000014fa: SHR 000014fb: PUSH1 0x01 000014fd: DUP4 000014fe: ADD 000014ff: SSTORE 00001500: PUSH2 0x150a 00001503: DUP9 00001504: PUSH1 0x04 00001506: PUSH2 0x2da5 00001509: JUMP 0000150a: JUMPDEST 0000150b: DUP1 0000150c: DUP8 0000150d: ADD 0000150e: PUSH1 0x03 00001510: SSTORE 00001511: PUSH1 0x1c 00001513: DUP9 00001514: SWAP1 00001515: SSTORE 00001516: PUSH2 0x151d 00001519: PUSH2 0x2db1 0000151c: JUMP 0000151d: JUMPDEST 0000151e: DUP7 0000151f: PUSH0 00001520: MSTORE 00001521: DUP6 00001522: PUSH1 0x20 00001524: MSTORE 00001525: DUP5 00001526: PUSH1 0x40 00001528: MSTORE 00001529: DUP4 0000152a: PUSH1 0x60 0000152c: MSTORE 0000152d: DUP8 0000152e: PUSH32 0x66277e61c003f7703009ad857a4c4900f9cd3ee44535afe5905f98d53922e0f4 0000154f: PUSH1 0x80 00001551: PUSH0 00001552: LOG2 00001553: POP 00001554: POP 00001555: POP 00001556: POP 00001557: POP 00001558: POP 00001559: POP 0000155a: POP 0000155b: JUMP 0000155c: JUMPDEST 0000155d: PUSH1 0x02 0000155f: PUSH2 0x1567 00001562: DUP2 00001563: PUSH2 0x2d81 00001566: JUMP 00001567: JUMPDEST 00001568: PUSH1 0x01 0000156a: DUP1 0000156b: SLOAD 0000156c: PUSH1 0xff 0000156e: NOT 0000156f: AND 00001570: DUP4 00001571: ISZERO 00001572: ISZERO 00001573: OR 00001574: SWAP1 00001575: SSTORE 00001576: PUSH0 00001577: DUP3 00001578: DUP2 00001579: MSTORE 0000157a: PUSH32 0xa63137c77816d51f856c11ffb11e84757ac9db0ce2569f94edd04c91fe2250a1 0000159b: SWAP1 0000159c: PUSH1 0x20 0000159e: SWAP1 0000159f: LOG1 000015a0: POP 000015a1: POP 000015a2: JUMP 000015a3: JUMPDEST 000015a4: PUSH1 0x01 000015a6: PUSH2 0x15ae 000015a9: DUP2 000015aa: PUSH2 0x2d81 000015ad: JUMP 000015ae: JUMPDEST 000015af: PUSH1 0x01 000015b1: SLOAD 000015b2: PUSH1 0xff 000015b4: AND 000015b5: ISZERO 000015b6: PUSH2 0x15d2 000015b9: JUMPI 000015ba: PUSH1 0x40 000015bc: MLOAD 000015bd: PUSH4 0x04aca5db 000015c2: PUSH1 0xe0 000015c4: SHL 000015c5: DUP2 000015c6: MSTORE 000015c7: PUSH1 0x04 000015c9: ADD 000015ca: PUSH1 0x40 000015cc: MLOAD 000015cd: DUP1 000015ce: SWAP2 000015cf: SUB 000015d0: SWAP1 000015d1: REVERT 000015d2: JUMPDEST 000015d3: PUSH1 0x40 000015d5: DUP1 000015d6: MLOAD 000015d7: PUSH2 0x0280 000015da: DUP2 000015db: ADD 000015dc: SWAP2 000015dd: DUP3 000015de: SWAP1 000015df: MSTORE 000015e0: PUSH0 000015e1: SWAP2 000015e2: PUSH1 0x09 000015e4: SWAP1 000015e5: PUSH1 0x14 000015e7: SWAP1 000015e8: DUP3 000015e9: DUP5 000015ea: JUMPDEST 000015eb: DUP2 000015ec: SLOAD 000015ed: PUSH1 0x01 000015ef: PUSH1 0x01 000015f1: PUSH1 0xa0 000015f3: SHL 000015f4: SUB 000015f5: AND 000015f6: DUP2 000015f7: MSTORE 000015f8: PUSH1 0x01 000015fa: SWAP1 000015fb: SWAP2 000015fc: ADD 000015fd: SWAP1 000015fe: PUSH1 0x20 00001600: ADD 00001601: DUP1 00001602: DUP4 00001603: GT 00001604: PUSH2 0x15ea 00001607: JUMPI 00001608: POP 00001609: POP 0000160a: POP 0000160b: POP 0000160c: POP 0000160d: SWAP1 0000160e: POP 0000160f: PUSH0 00001610: JUMPDEST 00001611: PUSH1 0x14 00001613: DUP2 00001614: LT 00001615: ISZERO 00001616: PUSH2 0x16c1 00001619: JUMPI 0000161a: DUP4 0000161b: PUSH1 0x01 0000161d: PUSH1 0x01 0000161f: PUSH1 0xa0 00001621: SHL 00001622: SUB 00001623: AND 00001624: DUP3 00001625: DUP3 00001626: PUSH1 0x14 00001628: DUP2 00001629: LT 0000162a: PUSH2 0x1635 0000162d: JUMPI 0000162e: PUSH2 0x1635 00001631: PUSH2 0x45db 00001634: JUMP 00001635: JUMPDEST 00001636: PUSH1 0x20 00001638: MUL 00001639: ADD 0000163a: MLOAD 0000163b: PUSH1 0x01 0000163d: PUSH1 0x01 0000163f: PUSH1 0xa0 00001641: SHL 00001642: SUB 00001643: AND 00001644: SUB 00001645: PUSH2 0x16b9 00001648: JUMPI 00001649: PUSH0 0000164a: PUSH1 0x09 0000164c: DUP3 0000164d: PUSH1 0x14 0000164f: DUP2 00001650: LT 00001651: PUSH2 0x165c 00001654: JUMPI 00001655: PUSH2 0x165c 00001658: PUSH2 0x45db 0000165b: JUMP 0000165c: JUMPDEST 0000165d: ADD 0000165e: DUP1 0000165f: SLOAD 00001660: PUSH1 0x01 00001662: PUSH1 0x01 00001664: PUSH1 0xa0 00001666: SHL 00001667: SUB 00001668: NOT 00001669: AND 0000166a: PUSH1 0x01 0000166c: PUSH1 0x01 0000166e: PUSH1 0xa0 00001670: SHL 00001671: SUB 00001672: SWAP3 00001673: SWAP1 00001674: SWAP3 00001675: AND 00001676: SWAP2 00001677: SWAP1 00001678: SWAP2 00001679: OR 0000167a: SWAP1 0000167b: SSTORE 0000167c: PUSH2 0x1686 0000167f: DUP5 00001680: PUSH1 0x04 00001682: PUSH2 0x2e6d 00001685: JUMP 00001686: JUMPDEST 00001687: PUSH2 0x168e 0000168a: PUSH2 0x2db1 0000168d: JUMP 0000168e: JUMPDEST 0000168f: DUP4 00001690: PUSH32 0x09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4 000016b1: PUSH0 000016b2: DUP1 000016b3: LOG2 000016b4: POP 000016b5: POP 000016b6: POP 000016b7: POP 000016b8: JUMP 000016b9: JUMPDEST 000016ba: PUSH1 0x01 000016bc: ADD 000016bd: PUSH2 0x1610 000016c0: JUMP 000016c1: JUMPDEST 000016c2: POP 000016c3: POP 000016c4: JUMPDEST 000016c5: POP 000016c6: POP 000016c7: JUMP 000016c8: JUMPDEST 000016c9: PUSH2 0x16d2 000016cc: CALLER 000016cd: DUP3 000016ce: PUSH2 0x2e6d 000016d1: JUMP 000016d2: JUMPDEST 000016d3: POP 000016d4: JUMP 000016d5: JUMPDEST 000016d6: PUSH2 0x16dd 000016d9: PUSH2 0x2e78 000016dc: JUMP 000016dd: JUMPDEST 000016de: PUSH2 0x16c4 000016e1: DUP3 000016e2: DUP3 000016e3: PUSH2 0x2da5 000016e6: JUMP 000016e7: JUMPDEST 000016e8: PUSH0 000016e9: DUP4 000016ea: PUSH1 0x60 000016ec: SHL 000016ed: CALLER 000016ee: PUSH1 0x20 000016f0: MSTORE 000016f1: PUSH4 0x7f5e9f20 000016f6: DUP2 000016f7: OR 000016f8: PUSH1 0x0c 000016fa: MSTORE 000016fb: PUSH1 0x34 000016fd: PUSH1 0x0c 000016ff: KECCAK256 00001700: DUP1 00001701: SLOAD 00001702: PUSH1 0x01 00001704: DUP2 00001705: ADD 00001706: ISZERO 00001707: PUSH2 0x1725 0000170a: JUMPI 0000170b: DUP1 0000170c: DUP6 0000170d: GT 0000170e: ISZERO 0000170f: PUSH2 0x171f 00001712: JUMPI 00001713: PUSH4 0x13be252b 00001718: PUSH0 00001719: MSTORE 0000171a: PUSH1 0x04 0000171c: PUSH1 0x1c 0000171e: REVERT 0000171f: JUMPDEST 00001720: DUP5 00001721: DUP2 00001722: SUB 00001723: DUP3 00001724: SSTORE 00001725: JUMPDEST 00001726: POP 00001727: POP 00001728: PUSH4 0x87a211a2 0000172d: DUP2 0000172e: OR 0000172f: PUSH1 0x0c 00001731: MSTORE 00001732: PUSH1 0x20 00001734: PUSH1 0x0c 00001736: KECCAK256 00001737: DUP1 00001738: SLOAD 00001739: DUP1 0000173a: DUP6 0000173b: GT 0000173c: ISZERO 0000173d: PUSH2 0x174d 00001740: JUMPI 00001741: PUSH4 0xf4d678b8 00001746: PUSH0 00001747: MSTORE 00001748: PUSH1 0x04 0000174a: PUSH1 0x1c 0000174c: REVERT 0000174d: JUMPDEST 0000174e: DUP5 0000174f: DUP2 00001750: SUB 00001751: DUP3 00001752: SSTORE 00001753: POP 00001754: POP 00001755: DUP4 00001756: PUSH0 00001757: MSTORE 00001758: PUSH1 0x20 0000175a: PUSH1 0x0c 0000175c: KECCAK256 0000175d: DUP4 0000175e: DUP2 0000175f: SLOAD 00001760: ADD 00001761: DUP2 00001762: SSTORE 00001763: POP 00001764: DUP3 00001765: PUSH1 0x20 00001767: MSTORE 00001768: PUSH1 0x0c 0000176a: MLOAD 0000176b: PUSH1 0x60 0000176d: SHR 0000176e: DUP2 0000176f: PUSH1 0x60 00001771: SHR 00001772: PUSH0 00001773: DUP1 00001774: MLOAD 00001775: PUSH1 0x20 00001777: PUSH2 0x471d 0000177a: DUP4 0000177b: CODECOPY 0000177c: DUP2 0000177d: MLOAD 0000177e: SWAP2 0000177f: MSTORE 00001780: PUSH1 0x20 00001782: DUP1 00001783: LOG3 00001784: POP 00001785: POP 00001786: PUSH1 0x01 00001788: SWAP4 00001789: SWAP3 0000178a: POP 0000178b: POP 0000178c: POP 0000178d: JUMP 0000178e: JUMPDEST 0000178f: PUSH0 00001790: PUSH3 0x02a300 00001794: PUSH8 0xffffffffffffffff 0000179d: AND 0000179e: TIMESTAMP 0000179f: ADD 000017a0: SWAP1 000017a1: POP 000017a2: PUSH4 0x389a75e1 000017a7: PUSH1 0x0c 000017a9: MSTORE 000017aa: CALLER 000017ab: PUSH0 000017ac: MSTORE 000017ad: DUP1 000017ae: PUSH1 0x20 000017b0: PUSH1 0x0c 000017b2: KECCAK256 000017b3: SSTORE 000017b4: CALLER 000017b5: PUSH32 0xdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d 000017d6: PUSH0 000017d7: DUP1 000017d8: LOG2 000017d9: POP 000017da: JUMP 000017db: JUMPDEST 000017dc: PUSH0 000017dd: PUSH2 0x0ea5 000017e0: PUSH1 0x06 000017e2: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000006 00001803: PUSH2 0x4634 00001806: JUMP 00001807: JUMPDEST 00001808: PUSH0 00001809: DUP1 0000180a: PUSH2 0x1811 0000180d: PUSH2 0x0eaa 00001810: JUMP 00001811: JUMPDEST 00001812: DUP1 00001813: MLOAD 00001814: SWAP1 00001815: PUSH1 0x20 00001817: ADD 00001818: KECCAK256 00001819: SWAP1 0000181a: POP 0000181b: PUSH1 0x40 0000181d: MLOAD 0000181e: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f 0000183f: DUP2 00001840: MSTORE 00001841: DUP2 00001842: PUSH1 0x20 00001844: DUP3 00001845: ADD 00001846: MSTORE 00001847: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6 00001868: PUSH1 0x40 0000186a: DUP3 0000186b: ADD 0000186c: MSTORE 0000186d: CHAINID 0000186e: PUSH1 0x60 00001870: DUP3 00001871: ADD 00001872: MSTORE 00001873: ADDRESS 00001874: PUSH1 0x80 00001876: DUP3 00001877: ADD 00001878: MSTORE 00001879: PUSH1 0xa0 0000187b: DUP2 0000187c: KECCAK256 0000187d: SWAP3 0000187e: POP 0000187f: POP 00001880: POP 00001881: SWAP1 00001882: JUMP 00001883: JUMPDEST 00001884: PUSH0 00001885: PUSH2 0x0fca 00001888: PUSH1 0x02 0000188a: SLOAD 0000188b: PUSH2 0x1892 0000188e: PUSH2 0x0e9c 00001891: JUMP 00001892: JUMPDEST 00001893: PUSH2 0x2e92 00001896: JUMP 00001897: JUMPDEST 00001898: PUSH2 0x189f 0000189b: PUSH2 0x2e78 0000189e: JUMP 0000189f: JUMPDEST 000018a0: PUSH2 0x16c4 000018a3: DUP3 000018a4: DUP3 000018a5: PUSH2 0x2e6d 000018a8: JUMP 000018a9: JUMPDEST 000018aa: PUSH0 000018ab: DUP2 000018ac: PUSH0 000018ad: SUB 000018ae: PUSH2 0x18b8 000018b1: JUMPI 000018b2: POP 000018b3: PUSH0 000018b4: SWAP2 000018b5: SWAP1 000018b6: POP 000018b7: JUMP 000018b8: JUMPDEST 000018b9: PUSH0 000018ba: NOT 000018bb: DUP3 000018bc: SUB 000018bd: PUSH2 0x18d5 000018c0: JUMPI 000018c1: PUSH4 0x87a211a2 000018c6: PUSH1 0x0c 000018c8: SWAP1 000018c9: DUP2 000018ca: MSTORE 000018cb: CALLER 000018cc: PUSH0 000018cd: MSTORE 000018ce: PUSH1 0x20 000018d0: SWAP1 000018d1: KECCAK256 000018d2: SLOAD 000018d3: SWAP2 000018d4: POP 000018d5: JUMPDEST 000018d6: PUSH2 0x18de 000018d9: DUP3 000018da: PUSH2 0x0f3a 000018dd: JUMP 000018de: JUMPDEST 000018df: PUSH1 0x04 000018e1: SLOAD 000018e2: SWAP1 000018e3: SWAP2 000018e4: POP 000018e5: DUP2 000018e6: DUP2 000018e7: LT 000018e8: PUSH2 0x18f1 000018eb: JUMPI 000018ec: POP 000018ed: SWAP2 000018ee: SWAP1 000018ef: POP 000018f0: JUMP 000018f1: JUMPDEST 000018f2: PUSH0 000018f3: JUMPDEST 000018f4: PUSH1 0x14 000018f6: DUP2 000018f7: LT 000018f8: ISZERO 000018f9: PUSH2 0x1a34 000018fc: JUMPI 000018fd: PUSH0 000018fe: PUSH1 0x09 00001900: DUP3 00001901: PUSH1 0x14 00001903: DUP2 00001904: LT 00001905: PUSH2 0x1910 00001908: JUMPI 00001909: PUSH2 0x1910 0000190c: PUSH2 0x45db 0000190f: JUMP 00001910: JUMPDEST 00001911: ADD 00001912: SLOAD 00001913: PUSH1 0x01 00001915: PUSH1 0x01 00001917: PUSH1 0xa0 00001919: SHL 0000191a: SUB 0000191b: AND 0000191c: SWAP1 0000191d: POP 0000191e: DUP1 0000191f: PUSH2 0x1928 00001922: JUMPI 00001923: POP 00001924: PUSH2 0x1a34 00001927: JUMP 00001928: JUMPDEST 00001929: DUP4 0000192a: DUP4 0000192b: LT 0000192c: PUSH2 0x1935 0000192f: JUMPI 00001930: POP 00001931: PUSH2 0x1a34 00001934: JUMP 00001935: JUMPDEST 00001936: PUSH0 00001937: DUP4 00001938: DUP6 00001939: SUB 0000193a: SWAP1 0000193b: POP 0000193c: PUSH2 0x197b 0000193f: DUP2 00001940: DUP4 00001941: PUSH1 0x01 00001943: PUSH1 0x01 00001945: PUSH1 0xa0 00001947: SHL 00001948: SUB 00001949: AND 0000194a: PUSH4 0xa2b20eec 0000194f: PUSH1 0x40 00001951: MLOAD 00001952: DUP2 00001953: PUSH4 0xffffffff 00001958: AND 00001959: PUSH1 0xe0 0000195b: SHL 0000195c: DUP2 0000195d: MSTORE 0000195e: PUSH1 0x04 00001960: ADD 00001961: PUSH1 0x20 00001963: PUSH1 0x40 00001965: MLOAD 00001966: DUP1 00001967: DUP4 00001968: SUB 00001969: DUP2 0000196a: DUP7 0000196b: GAS 0000196c: STATICCALL 0000196d: ISZERO 0000196e: DUP1 0000196f: ISZERO 00001970: PUSH2 0x10e4 00001973: JUMPI 00001974: RETURNDATASIZE 00001975: PUSH0 00001976: DUP1 00001977: RETURNDATACOPY 00001978: RETURNDATASIZE 00001979: PUSH0 0000197a: REVERT 0000197b: JUMPDEST 0000197c: SWAP1 0000197d: POP 0000197e: DUP1 0000197f: PUSH0 00001980: SUB 00001981: PUSH2 0x198e 00001984: JUMPI 00001985: POP 00001986: POP 00001987: PUSH1 0x01 00001989: ADD 0000198a: PUSH2 0x18f3 0000198d: JUMP 0000198e: JUMPDEST 0000198f: PUSH1 0x40 00001991: MLOAD 00001992: PUSH4 0xb842898f 00001997: PUSH1 0xe0 00001999: SHL 0000199a: DUP2 0000199b: MSTORE 0000199c: PUSH1 0x04 0000199e: DUP2 0000199f: ADD 000019a0: DUP3 000019a1: SWAP1 000019a2: MSTORE 000019a3: PUSH0 000019a4: SWAP1 000019a5: PUSH1 0x01 000019a7: PUSH1 0x01 000019a9: PUSH1 0xa0 000019ab: SHL 000019ac: SUB 000019ad: DUP5 000019ae: AND 000019af: SWAP1 000019b0: PUSH4 0xb842898f 000019b5: SWAP1 000019b6: PUSH1 0x24 000019b8: ADD 000019b9: PUSH1 0x20 000019bb: PUSH1 0x40 000019bd: MLOAD 000019be: DUP1 000019bf: DUP4 000019c0: SUB 000019c1: DUP2 000019c2: DUP7 000019c3: GAS 000019c4: STATICCALL 000019c5: ISZERO 000019c6: DUP1 000019c7: ISZERO 000019c8: PUSH2 0x19d3 000019cb: JUMPI 000019cc: RETURNDATASIZE 000019cd: PUSH0 000019ce: DUP1 000019cf: RETURNDATACOPY 000019d0: RETURNDATASIZE 000019d1: PUSH0 000019d2: REVERT 000019d3: JUMPDEST 000019d4: POP 000019d5: POP 000019d6: POP 000019d7: POP 000019d8: PUSH1 0x40 000019da: MLOAD 000019db: RETURNDATASIZE 000019dc: PUSH1 0x1f 000019de: NOT 000019df: PUSH1 0x1f 000019e1: DUP3 000019e2: ADD 000019e3: AND 000019e4: DUP3 000019e5: ADD 000019e6: DUP1 000019e7: PUSH1 0x40 000019e9: MSTORE 000019ea: POP 000019eb: DUP2 000019ec: ADD 000019ed: SWAP1 000019ee: PUSH2 0x19f7 000019f1: SWAP2 000019f2: SWAP1 000019f3: PUSH2 0x4602 000019f6: JUMP 000019f7: JUMPDEST 000019f8: SWAP1 000019f9: POP 000019fa: PUSH0 000019fb: PUSH2 0x1a04 000019fe: DUP3 000019ff: DUP5 00001a00: PUSH2 0x45ef 00001a03: JUMP 00001a04: JUMPDEST 00001a05: SWAP1 00001a06: POP 00001a07: PUSH2 0x1a10 00001a0a: DUP3 00001a0b: DUP8 00001a0c: PUSH2 0x44dd 00001a0f: JUMP 00001a10: JUMPDEST 00001a11: SWAP6 00001a12: POP 00001a13: DUP1 00001a14: ISZERO 00001a15: PUSH2 0x1a25 00001a18: JUMPI 00001a19: PUSH2 0x1a22 00001a1c: DUP2 00001a1d: DUP9 00001a1e: PUSH2 0x45ef 00001a21: JUMP 00001a22: JUMPDEST 00001a23: SWAP7 00001a24: POP 00001a25: JUMPDEST 00001a26: DUP5 00001a27: PUSH1 0x01 00001a29: ADD 00001a2a: SWAP5 00001a2b: POP 00001a2c: POP 00001a2d: POP 00001a2e: POP 00001a2f: POP 00001a30: PUSH2 0x18f3 00001a33: JUMP 00001a34: JUMPDEST 00001a35: POP 00001a36: JUMPDEST 00001a37: POP 00001a38: SWAP2 00001a39: SWAP1 00001a3a: POP 00001a3b: JUMP 00001a3c: JUMPDEST 00001a3d: PUSH4 0x389a75e1 00001a42: PUSH1 0x0c 00001a44: MSTORE 00001a45: CALLER 00001a46: PUSH0 00001a47: MSTORE 00001a48: PUSH0 00001a49: PUSH1 0x20 00001a4b: PUSH1 0x0c 00001a4d: KECCAK256 00001a4e: SSTORE 00001a4f: CALLER 00001a50: PUSH32 0xfa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c92 00001a71: PUSH0 00001a72: DUP1 00001a73: LOG2 00001a74: JUMP 00001a75: JUMPDEST 00001a76: PUSH1 0x01 00001a78: PUSH2 0x1a80 00001a7b: DUP2 00001a7c: PUSH2 0x2d81 00001a7f: JUMP 00001a80: JUMPDEST 00001a81: PUSH1 0x01 00001a83: DUP1 00001a84: SLOAD 00001a85: PUSH2 0xff00 00001a88: NOT 00001a89: AND 00001a8a: PUSH2 0x0100 00001a8d: DUP5 00001a8e: ISZERO 00001a8f: ISZERO 00001a90: MUL 00001a91: OR 00001a92: SWAP1 00001a93: SSTORE 00001a94: PUSH0 00001a95: DUP3 00001a96: DUP2 00001a97: MSTORE 00001a98: PUSH32 0xba59cddbbe4aad399b09d7f484fdd0a4bc54da6a697a48549cbe72d79c66fcb3 00001ab9: SWAP1 00001aba: PUSH1 0x20 00001abc: SWAP1 00001abd: LOG1 00001abe: POP 00001abf: POP 00001ac0: JUMP 00001ac1: JUMPDEST 00001ac2: PUSH1 0x01 00001ac4: SLOAD 00001ac5: PUSH0 00001ac6: SWAP1 00001ac7: PUSH1 0xff 00001ac9: AND 00001aca: ISZERO 00001acb: PUSH2 0x1ae7 00001ace: JUMPI 00001acf: PUSH1 0x40 00001ad1: MLOAD 00001ad2: PUSH4 0x04aca5db 00001ad7: PUSH1 0xe0 00001ad9: SHL 00001ada: DUP2 00001adb: MSTORE 00001adc: PUSH1 0x04 00001ade: ADD 00001adf: PUSH1 0x40 00001ae1: MLOAD 00001ae2: DUP1 00001ae3: SWAP2 00001ae4: SUB 00001ae5: SWAP1 00001ae6: REVERT 00001ae7: JUMPDEST 00001ae8: PUSH1 0x02 00001aea: PUSH0 00001aeb: SLOAD 00001aec: SUB 00001aed: PUSH2 0x1afd 00001af0: JUMPI 00001af1: PUSH4 0x37ed32e8 00001af6: PUSH0 00001af7: MSTORE 00001af8: PUSH1 0x04 00001afa: PUSH1 0x1c 00001afc: REVERT 00001afd: JUMPDEST 00001afe: PUSH1 0x02 00001b00: PUSH0 00001b01: SSTORE 00001b02: PUSH0 00001b03: PUSH2 0x1b0b 00001b06: CALLER 00001b07: PUSH2 0x1883 00001b0a: JUMP 00001b0b: JUMPDEST 00001b0c: SWAP1 00001b0d: POP 00001b0e: DUP1 00001b0f: DUP5 00001b10: GT 00001b11: ISZERO 00001b12: PUSH2 0x1b22 00001b15: JUMPI 00001b16: PUSH4 0x0c11966b 00001b1b: PUSH0 00001b1c: MSTORE 00001b1d: PUSH1 0x04 00001b1f: PUSH1 0x1c 00001b21: REVERT 00001b22: JUMPDEST 00001b23: PUSH2 0x1b39 00001b26: CALLER 00001b27: DUP5 00001b28: DUP7 00001b29: PUSH2 0x1b31 00001b2c: DUP9 00001b2d: PUSH2 0x2ab4 00001b30: JUMP 00001b31: JUMPDEST 00001b32: SWAP6 00001b33: POP 00001b34: DUP6 00001b35: PUSH2 0x2eac 00001b38: JUMP 00001b39: JUMPDEST 00001b3a: POP 00001b3b: PUSH1 0x01 00001b3d: PUSH0 00001b3e: SSTORE 00001b3f: SWAP3 00001b40: SWAP2 00001b41: POP 00001b42: POP 00001b43: JUMP 00001b44: JUMPDEST 00001b45: PUSH1 0x01 00001b47: PUSH2 0x1b4f 00001b4a: DUP2 00001b4b: PUSH2 0x2d81 00001b4e: JUMP 00001b4f: JUMPDEST 00001b50: PUSH2 0x1388 00001b53: DUP3 00001b54: GT 00001b55: ISZERO 00001b56: PUSH2 0x1b66 00001b59: JUMPI 00001b5a: PUSH4 0xf14508d0 00001b5f: PUSH0 00001b60: MSTORE 00001b61: PUSH1 0x04 00001b63: PUSH1 0x1c 00001b65: REVERT 00001b66: JUMPDEST 00001b67: DUP2 00001b68: PUSH1 0x1d 00001b6a: DUP2 00001b6b: SWAP1 00001b6c: SSTORE 00001b6d: POP 00001b6e: DUP2 00001b6f: PUSH0 00001b70: MSTORE 00001b71: PUSH32 0x0632b4ddf7c06e7e3bc19b7ce92862c7de91b312a392142116fb574a06a47cfd 00001b92: PUSH1 0x20 00001b94: PUSH0 00001b95: LOG1 00001b96: POP 00001b97: POP 00001b98: JUMP 00001b99: JUMPDEST 00001b9a: PUSH2 0x1ba1 00001b9d: PUSH2 0x2e78 00001ba0: JUMP 00001ba1: JUMPDEST 00001ba2: PUSH2 0x1baa 00001ba5: PUSH0 00001ba6: PUSH2 0x300f 00001ba9: JUMP 00001baa: JUMPDEST 00001bab: JUMP 00001bac: JUMPDEST 00001bad: PUSH0 00001bae: PUSH2 0x0ea5 00001bb1: PUSH2 0x304c 00001bb4: JUMP 00001bb5: JUMPDEST 00001bb6: PUSH0 00001bb7: PUSH1 0x04 00001bb9: PUSH2 0x1bc1 00001bbc: DUP2 00001bbd: PUSH2 0x2d81 00001bc0: JUMP 00001bc1: JUMPDEST 00001bc2: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 00001be3: PUSH0 00001be4: PUSH2 0x1bed 00001be7: DUP3 00001be8: CALLER 00001be9: PUSH2 0x3065 00001bec: JUMP 00001bed: JUMPDEST 00001bee: SWAP1 00001bef: POP 00001bf0: DUP6 00001bf1: DUP2 00001bf2: LT 00001bf3: ISZERO 00001bf4: PUSH2 0x1c04 00001bf7: JUMPI 00001bf8: PUSH4 0x746feeec 00001bfd: PUSH0 00001bfe: MSTORE 00001bff: PUSH1 0x04 00001c01: PUSH1 0x1c 00001c03: REVERT 00001c04: JUMPDEST 00001c05: PUSH1 0x01 00001c07: PUSH1 0x01 00001c09: PUSH1 0x80 00001c0b: SHL 00001c0c: SUB 00001c0d: DUP8 00001c0e: AND 00001c0f: ISZERO 00001c10: PUSH2 0x1c26 00001c13: JUMPI 00001c14: PUSH2 0x1c26 00001c17: CALLER 00001c18: DUP9 00001c19: PUSH1 0x01 00001c1b: PUSH1 0x01 00001c1d: PUSH1 0x80 00001c1f: SHL 00001c20: SUB 00001c21: AND 00001c22: PUSH2 0x308f 00001c25: JUMP 00001c26: JUMPDEST 00001c27: PUSH0 00001c28: PUSH2 0x1c3b 00001c2b: CALLER 00001c2c: DUP11 00001c2d: PUSH1 0x01 00001c2f: PUSH1 0x01 00001c31: PUSH1 0x80 00001c33: SHL 00001c34: SUB 00001c35: AND 00001c36: DUP9 00001c37: PUSH2 0x3176 00001c3a: JUMP 00001c3b: JUMPDEST 00001c3c: CALLER 00001c3d: PUSH0 00001c3e: SWAP1 00001c3f: DUP2 00001c40: MSTORE 00001c41: PUSH1 0x08 00001c43: PUSH1 0x20 00001c45: MSTORE 00001c46: PUSH1 0x40 00001c48: SWAP1 00001c49: KECCAK256 00001c4a: PUSH1 0x01 00001c4c: ADD 00001c4d: DUP1 00001c4e: SLOAD 00001c4f: SWAP2 00001c50: SWAP3 00001c51: POP 00001c52: DUP11 00001c53: SWAP2 00001c54: PUSH1 0x10 00001c56: SWAP1 00001c57: PUSH2 0x1c71 00001c5a: SWAP1 00001c5b: DUP5 00001c5c: SWAP1 00001c5d: PUSH1 0x01 00001c5f: PUSH1 0x80 00001c61: SHL 00001c62: SWAP1 00001c63: DIV 00001c64: PUSH1 0x01 00001c66: PUSH1 0x01 00001c68: PUSH1 0x80 00001c6a: SHL 00001c6b: SUB 00001c6c: AND 00001c6d: PUSH2 0x464d 00001c70: JUMP 00001c71: JUMPDEST 00001c72: SWAP3 00001c73: POP 00001c74: PUSH2 0x0100 00001c77: EXP 00001c78: DUP2 00001c79: SLOAD 00001c7a: DUP2 00001c7b: PUSH1 0x01 00001c7d: PUSH1 0x01 00001c7f: PUSH1 0x80 00001c81: SHL 00001c82: SUB 00001c83: MUL 00001c84: NOT 00001c85: AND 00001c86: SWAP1 00001c87: DUP4 00001c88: PUSH1 0x01 00001c8a: PUSH1 0x01 00001c8c: PUSH1 0x80 00001c8e: SHL 00001c8f: SUB 00001c90: AND 00001c91: MUL 00001c92: OR 00001c93: SWAP1 00001c94: SSTORE 00001c95: POP 00001c96: PUSH0 00001c97: PUSH2 0x1c9f 00001c9a: CALLER 00001c9b: PUSH2 0x33ad 00001c9e: JUMP 00001c9f: JUMPDEST 00001ca0: CALLER 00001ca1: PUSH0 00001ca2: SWAP1 00001ca3: DUP2 00001ca4: MSTORE 00001ca5: PUSH1 0x08 00001ca7: PUSH1 0x20 00001ca9: MSTORE 00001caa: PUSH1 0x40 00001cac: SWAP1 00001cad: KECCAK256 00001cae: PUSH1 0x02 00001cb0: ADD 00001cb1: SLOAD 00001cb2: PUSH1 0x01 00001cb4: PUSH1 0x01 00001cb6: PUSH1 0x80 00001cb8: SHL 00001cb9: SUB 00001cba: SWAP10 00001cbb: DUP11 00001cbc: AND 00001cbd: SWAP1 00001cbe: DUP11 00001cbf: AND 00001cc0: DUP2 00001cc1: DUP2 00001cc2: XOR 00001cc3: DUP2 00001cc4: DUP4 00001cc5: GT 00001cc6: MUL 00001cc7: DUP3 00001cc8: XOR 00001cc9: SWAP11 00001cca: SWAP3 00001ccb: SWAP4 00001ccc: POP 00001ccd: SWAP2 00001cce: DUP11 00001ccf: AND 00001cd0: ISZERO 00001cd1: PUSH2 0x1d58 00001cd4: JUMPI 00001cd5: CALLER 00001cd6: PUSH0 00001cd7: SWAP1 00001cd8: DUP2 00001cd9: MSTORE 00001cda: PUSH1 0x08 00001cdc: PUSH1 0x20 00001cde: MSTORE 00001cdf: PUSH1 0x40 00001ce1: DUP2 00001ce2: KECCAK256 00001ce3: PUSH1 0x02 00001ce5: ADD 00001ce6: DUP1 00001ce7: SLOAD 00001ce8: DUP13 00001ce9: SWAP3 00001cea: SWAP1 00001ceb: PUSH2 0x1cfe 00001cee: SWAP1 00001cef: DUP5 00001cf0: SWAP1 00001cf1: PUSH1 0x01 00001cf3: PUSH1 0x01 00001cf5: PUSH1 0x80 00001cf7: SHL 00001cf8: SUB 00001cf9: AND 00001cfa: PUSH2 0x4674 00001cfd: JUMP 00001cfe: JUMPDEST 00001cff: SWAP3 00001d00: POP 00001d01: PUSH2 0x0100 00001d04: EXP 00001d05: DUP2 00001d06: SLOAD 00001d07: DUP2 00001d08: PUSH1 0x01 00001d0a: PUSH1 0x01 00001d0c: PUSH1 0x80 00001d0e: SHL 00001d0f: SUB 00001d10: MUL 00001d11: NOT 00001d12: AND 00001d13: SWAP1 00001d14: DUP4 00001d15: PUSH1 0x01 00001d17: PUSH1 0x01 00001d19: PUSH1 0x80 00001d1b: SHL 00001d1c: SUB 00001d1d: AND 00001d1e: MUL 00001d1f: OR 00001d20: SWAP1 00001d21: SSTORE 00001d22: POP 00001d23: DUP10 00001d24: PUSH1 0x01 00001d26: PUSH1 0x01 00001d28: PUSH1 0x80 00001d2a: SHL 00001d2b: SUB 00001d2c: AND 00001d2d: PUSH1 0x05 00001d2f: PUSH0 00001d30: DUP3 00001d31: DUP3 00001d32: SLOAD 00001d33: PUSH2 0x1d3c 00001d36: SWAP2 00001d37: SWAP1 00001d38: PUSH2 0x45ef 00001d3b: JUMP 00001d3c: JUMPDEST 00001d3d: SWAP1 00001d3e: SWAP2 00001d3f: SSTORE 00001d40: POP 00001d41: PUSH2 0x1d55 00001d44: SWAP1 00001d45: POP 00001d46: PUSH1 0x01 00001d48: PUSH1 0x01 00001d4a: PUSH1 0x80 00001d4c: SHL 00001d4d: SUB 00001d4e: DUP12 00001d4f: AND 00001d50: DUP4 00001d51: PUSH2 0x45ef 00001d54: JUMP 00001d55: JUMPDEST 00001d56: SWAP2 00001d57: POP 00001d58: JUMPDEST 00001d59: DUP3 00001d5a: ISZERO 00001d5b: PUSH2 0x1dc3 00001d5e: JUMPI 00001d5f: CALLER 00001d60: PUSH0 00001d61: SWAP1 00001d62: DUP2 00001d63: MSTORE 00001d64: PUSH1 0x08 00001d66: PUSH1 0x20 00001d68: MSTORE 00001d69: PUSH1 0x40 00001d6b: DUP2 00001d6c: KECCAK256 00001d6d: PUSH1 0x02 00001d6f: ADD 00001d70: DUP1 00001d71: SLOAD 00001d72: DUP6 00001d73: SWAP3 00001d74: SWAP1 00001d75: PUSH2 0x1d88 00001d78: SWAP1 00001d79: DUP5 00001d7a: SWAP1 00001d7b: PUSH1 0x01 00001d7d: PUSH1 0x01 00001d7f: PUSH1 0x80 00001d81: SHL 00001d82: SUB 00001d83: AND 00001d84: PUSH2 0x464d 00001d87: JUMP 00001d88: JUMPDEST 00001d89: SWAP3 00001d8a: POP 00001d8b: PUSH2 0x0100 00001d8e: EXP 00001d8f: DUP2 00001d90: SLOAD 00001d91: DUP2 00001d92: PUSH1 0x01 00001d94: PUSH1 0x01 00001d96: PUSH1 0x80 00001d98: SHL 00001d99: SUB 00001d9a: MUL 00001d9b: NOT 00001d9c: AND 00001d9d: SWAP1 00001d9e: DUP4 00001d9f: PUSH1 0x01 00001da1: PUSH1 0x01 00001da3: PUSH1 0x80 00001da5: SHL 00001da6: SUB 00001da7: AND 00001da8: MUL 00001da9: OR 00001daa: SWAP1 00001dab: SSTORE 00001dac: POP 00001dad: DUP3 00001dae: PUSH1 0x05 00001db0: PUSH0 00001db1: DUP3 00001db2: DUP3 00001db3: SLOAD 00001db4: PUSH2 0x1dbd 00001db7: SWAP2 00001db8: SWAP1 00001db9: PUSH2 0x44dd 00001dbc: JUMP 00001dbd: JUMPDEST 00001dbe: SWAP1 00001dbf: SWAP2 00001dc0: SSTORE 00001dc1: POP 00001dc2: POP 00001dc3: JUMPDEST 00001dc4: DUP1 00001dc5: DUP4 00001dc6: GT 00001dc7: ISZERO 00001dc8: PUSH2 0x1deb 00001dcb: JUMPI 00001dcc: PUSH1 0x04 00001dce: DUP1 00001dcf: SLOAD 00001dd0: DUP3 00001dd1: DUP6 00001dd2: SUB 00001dd3: SWAP1 00001dd4: DUP2 00001dd5: SWAP1 00001dd6: SUB 00001dd7: SWAP1 00001dd8: SWAP2 00001dd9: SSTORE 00001dda: PUSH2 0x1de6 00001ddd: SWAP1 00001dde: DUP8 00001ddf: SWAP1 00001de0: CALLER 00001de1: SWAP1 00001de2: PUSH2 0x34c3 00001de5: JUMP 00001de6: JUMPDEST 00001de7: PUSH2 0x1e3b 00001dea: JUMP 00001deb: JUMPDEST 00001dec: DUP3 00001ded: DUP2 00001dee: GT 00001def: ISZERO 00001df0: PUSH2 0x1e3b 00001df3: JUMPI 00001df4: PUSH1 0x04 00001df6: DUP1 00001df7: SLOAD 00001df8: DUP5 00001df9: DUP4 00001dfa: SUB 00001dfb: SWAP1 00001dfc: DUP2 00001dfd: ADD 00001dfe: SWAP1 00001dff: SWAP2 00001e00: SSTORE 00001e01: PUSH2 0x1e3b 00001e04: SWAP1 00001e05: CALLER 00001e06: SWAP1 00001e07: ADDRESS 00001e08: SWAP1 00001e09: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 00001e2a: JUMPDEST 00001e2b: PUSH1 0x01 00001e2d: PUSH1 0x01 00001e2f: PUSH1 0xa0 00001e31: SHL 00001e32: SUB 00001e33: AND 00001e34: SWAP3 00001e35: SWAP2 00001e36: SWAP1 00001e37: PUSH2 0x3503 00001e3a: JUMP 00001e3b: JUMPDEST 00001e3c: TIMESTAMP 00001e3d: PUSH1 0x08 00001e3f: PUSH0 00001e40: CALLER 00001e41: PUSH1 0x01 00001e43: PUSH1 0x01 00001e45: PUSH1 0xa0 00001e47: SHL 00001e48: SUB 00001e49: AND 00001e4a: PUSH1 0x01 00001e4c: PUSH1 0x01 00001e4e: PUSH1 0xa0 00001e50: SHL 00001e51: SUB 00001e52: AND 00001e53: DUP2 00001e54: MSTORE 00001e55: PUSH1 0x20 00001e57: ADD 00001e58: SWAP1 00001e59: DUP2 00001e5a: MSTORE 00001e5b: PUSH1 0x20 00001e5d: ADD 00001e5e: PUSH0 00001e5f: KECCAK256 00001e60: PUSH0 00001e61: ADD 00001e62: PUSH1 0x0a 00001e64: PUSH2 0x0100 00001e67: EXP 00001e68: DUP2 00001e69: SLOAD 00001e6a: DUP2 00001e6b: PUSH6 0xffffffffffff 00001e72: MUL 00001e73: NOT 00001e74: AND 00001e75: SWAP1 00001e76: DUP4 00001e77: PUSH6 0xffffffffffff 00001e7e: AND 00001e7f: MUL 00001e80: OR 00001e81: SWAP1 00001e82: SSTORE 00001e83: POP 00001e84: TIMESTAMP 00001e85: PUSH1 0x06 00001e87: DUP2 00001e88: SWAP1 00001e89: SSTORE 00001e8a: POP 00001e8b: CALLER 00001e8c: PUSH1 0x01 00001e8e: PUSH1 0x01 00001e90: PUSH1 0xa0 00001e92: SHL 00001e93: SUB 00001e94: AND 00001e95: PUSH32 0xc2d7e1173e37528dce423c72b129fa1ad2c5d51e50974c64fe13f1928eb27f89 00001eb6: DUP14 00001eb7: DUP14 00001eb8: DUP14 00001eb9: PUSH1 0x08 00001ebb: PUSH0 00001ebc: CALLER 00001ebd: PUSH1 0x01 00001ebf: PUSH1 0x01 00001ec1: PUSH1 0xa0 00001ec3: SHL 00001ec4: SUB 00001ec5: AND 00001ec6: PUSH1 0x01 00001ec8: PUSH1 0x01 00001eca: PUSH1 0xa0 00001ecc: SHL 00001ecd: SUB 00001ece: AND 00001ecf: DUP2 00001ed0: MSTORE 00001ed1: PUSH1 0x20 00001ed3: ADD 00001ed4: SWAP1 00001ed5: DUP2 00001ed6: MSTORE 00001ed7: PUSH1 0x20 00001ed9: ADD 00001eda: PUSH0 00001edb: KECCAK256 00001edc: PUSH1 0x01 00001ede: ADD 00001edf: PUSH1 0x10 00001ee1: SWAP1 00001ee2: SLOAD 00001ee3: SWAP1 00001ee4: PUSH2 0x0100 00001ee7: EXP 00001ee8: SWAP1 00001ee9: DIV 00001eea: PUSH1 0x01 00001eec: PUSH1 0x01 00001eee: PUSH1 0x80 00001ef0: SHL 00001ef1: SUB 00001ef2: AND 00001ef3: PUSH1 0x08 00001ef5: PUSH0 00001ef6: CALLER 00001ef7: PUSH1 0x01 00001ef9: PUSH1 0x01 00001efb: PUSH1 0xa0 00001efd: SHL 00001efe: SUB 00001eff: AND 00001f00: PUSH1 0x01 00001f02: PUSH1 0x01 00001f04: PUSH1 0xa0 00001f06: SHL 00001f07: SUB 00001f08: AND 00001f09: DUP2 00001f0a: MSTORE 00001f0b: PUSH1 0x20 00001f0d: ADD 00001f0e: SWAP1 00001f0f: DUP2 00001f10: MSTORE 00001f11: PUSH1 0x20 00001f13: ADD 00001f14: PUSH0 00001f15: KECCAK256 00001f16: PUSH1 0x02 00001f18: ADD 00001f19: PUSH1 0x10 00001f1b: SWAP1 00001f1c: SLOAD 00001f1d: SWAP1 00001f1e: PUSH2 0x0100 00001f21: EXP 00001f22: SWAP1 00001f23: DIV 00001f24: PUSH1 0x01 00001f26: PUSH1 0x01 00001f28: PUSH1 0x80 00001f2a: SHL 00001f2b: SUB 00001f2c: AND 00001f2d: PUSH1 0x08 00001f2f: PUSH0 00001f30: CALLER 00001f31: PUSH1 0x01 00001f33: PUSH1 0x01 00001f35: PUSH1 0xa0 00001f37: SHL 00001f38: SUB 00001f39: AND 00001f3a: PUSH1 0x01 00001f3c: PUSH1 0x01 00001f3e: PUSH1 0xa0 00001f40: SHL 00001f41: SUB 00001f42: AND 00001f43: DUP2 00001f44: MSTORE 00001f45: PUSH1 0x20 00001f47: ADD 00001f48: SWAP1 00001f49: DUP2 00001f4a: MSTORE 00001f4b: PUSH1 0x20 00001f4d: ADD 00001f4e: PUSH0 00001f4f: KECCAK256 00001f50: PUSH1 0x02 00001f52: ADD 00001f53: PUSH0 00001f54: SWAP1 00001f55: SLOAD 00001f56: SWAP1 00001f57: PUSH2 0x0100 00001f5a: EXP 00001f5b: SWAP1 00001f5c: DIV 00001f5d: PUSH1 0x01 00001f5f: PUSH1 0x01 00001f61: PUSH1 0x80 00001f63: SHL 00001f64: SUB 00001f65: AND 00001f66: DUP11 00001f67: PUSH1 0x08 00001f69: PUSH0 00001f6a: CALLER 00001f6b: PUSH1 0x01 00001f6d: PUSH1 0x01 00001f6f: PUSH1 0xa0 00001f71: SHL 00001f72: SUB 00001f73: AND 00001f74: PUSH1 0x01 00001f76: PUSH1 0x01 00001f78: PUSH1 0xa0 00001f7a: SHL 00001f7b: SUB 00001f7c: AND 00001f7d: DUP2 00001f7e: MSTORE 00001f7f: PUSH1 0x20 00001f81: ADD 00001f82: SWAP1 00001f83: DUP2 00001f84: MSTORE 00001f85: PUSH1 0x20 00001f87: ADD 00001f88: PUSH0 00001f89: KECCAK256 00001f8a: PUSH0 00001f8b: ADD 00001f8c: PUSH0 00001f8d: SWAP1 00001f8e: SLOAD 00001f8f: SWAP1 00001f90: PUSH2 0x0100 00001f93: EXP 00001f94: SWAP1 00001f95: DIV 00001f96: PUSH2 0xffff 00001f99: AND 00001f9a: PUSH1 0x40 00001f9c: MLOAD 00001f9d: PUSH2 0x1ff8 00001fa0: SWAP9 00001fa1: SWAP8 00001fa2: SWAP7 00001fa3: SWAP6 00001fa4: SWAP5 00001fa5: SWAP4 00001fa6: SWAP3 00001fa7: SWAP2 00001fa8: SWAP1 00001fa9: PUSH1 0x01 00001fab: PUSH1 0x01 00001fad: PUSH1 0x80 00001faf: SHL 00001fb0: SUB 00001fb1: SWAP9 00001fb2: DUP10 00001fb3: AND 00001fb4: DUP2 00001fb5: MSTORE 00001fb6: SWAP7 00001fb7: DUP9 00001fb8: AND 00001fb9: PUSH1 0x20 00001fbb: DUP9 00001fbc: ADD 00001fbd: MSTORE 00001fbe: SWAP5 00001fbf: DUP8 00001fc0: AND 00001fc1: PUSH1 0x40 00001fc3: DUP8 00001fc4: ADD 00001fc5: MSTORE 00001fc6: SWAP3 00001fc7: DUP7 00001fc8: AND 00001fc9: PUSH1 0x60 00001fcb: DUP7 00001fcc: ADD 00001fcd: MSTORE 00001fce: SWAP1 00001fcf: DUP6 00001fd0: AND 00001fd1: PUSH1 0x80 00001fd3: DUP6 00001fd4: ADD 00001fd5: MSTORE 00001fd6: SWAP1 00001fd7: SWAP4 00001fd8: AND 00001fd9: PUSH1 0xa0 00001fdb: DUP4 00001fdc: ADD 00001fdd: MSTORE 00001fde: PUSH1 0xc0 00001fe0: DUP3 00001fe1: ADD 00001fe2: SWAP3 00001fe3: SWAP1 00001fe4: SWAP3 00001fe5: MSTORE 00001fe6: PUSH2 0xffff 00001fe9: SWAP2 00001fea: SWAP1 00001feb: SWAP2 00001fec: AND 00001fed: PUSH1 0xe0 00001fef: DUP3 00001ff0: ADD 00001ff1: MSTORE 00001ff2: PUSH2 0x0100 00001ff5: ADD 00001ff6: SWAP1 00001ff7: JUMP 00001ff8: JUMPDEST 00001ff9: PUSH1 0x40 00001ffb: MLOAD 00001ffc: DUP1 00001ffd: SWAP2 00001ffe: SUB 00001fff: SWAP1 00002000: LOG2 00002001: CALLER 00002002: PUSH0 00002003: SWAP1 00002004: DUP2 00002005: MSTORE 00002006: PUSH1 0x08 00002008: PUSH1 0x20 0000200a: MSTORE 0000200b: PUSH1 0x40 0000200d: SWAP1 0000200e: KECCAK256 0000200f: SLOAD 00002010: PUSH2 0xffff 00002013: AND 00002014: ISZERO 00002015: DUP1 00002016: PUSH2 0x2021 00002019: JUMPI 0000201a: POP 0000201b: PUSH1 0x01 0000201d: SLOAD 0000201e: PUSH1 0xff 00002020: AND 00002021: JUMPDEST 00002022: ISZERO 00002023: PUSH2 0x2093 00002026: JUMPI 00002027: CALLER 00002028: PUSH1 0x01 0000202a: PUSH1 0x01 0000202c: PUSH1 0xa0 0000202e: SHL 0000202f: SUB 00002030: AND 00002031: PUSH4 0xefbb5cb0 00002036: PUSH1 0x40 00002038: MLOAD 00002039: DUP2 0000203a: PUSH4 0xffffffff 0000203f: AND 00002040: PUSH1 0xe0 00002042: SHL 00002043: DUP2 00002044: MSTORE 00002045: PUSH1 0x04 00002047: ADD 00002048: PUSH1 0x20 0000204a: PUSH1 0x40 0000204c: MLOAD 0000204d: DUP1 0000204e: DUP4 0000204f: SUB 00002050: DUP2 00002051: DUP7 00002052: GAS 00002053: STATICCALL 00002054: ISZERO 00002055: DUP1 00002056: ISZERO 00002057: PUSH2 0x2062 0000205a: JUMPI 0000205b: RETURNDATASIZE 0000205c: PUSH0 0000205d: DUP1 0000205e: RETURNDATACOPY 0000205f: RETURNDATASIZE 00002060: PUSH0 00002061: REVERT 00002062: JUMPDEST 00002063: POP 00002064: POP 00002065: POP 00002066: POP 00002067: PUSH1 0x40 00002069: MLOAD 0000206a: RETURNDATASIZE 0000206b: PUSH1 0x1f 0000206d: NOT 0000206e: PUSH1 0x1f 00002070: DUP3 00002071: ADD 00002072: AND 00002073: DUP3 00002074: ADD 00002075: DUP1 00002076: PUSH1 0x40 00002078: MSTORE 00002079: POP 0000207a: DUP2 0000207b: ADD 0000207c: SWAP1 0000207d: PUSH2 0x2086 00002080: SWAP2 00002081: SWAP1 00002082: PUSH2 0x4602 00002085: JUMP 00002086: JUMPDEST 00002087: SWAP8 00002088: POP 00002089: POP 0000208a: POP 0000208b: POP 0000208c: POP 0000208d: POP 0000208e: POP 0000208f: PUSH2 0x20a5 00002092: JUMP 00002093: JUMPDEST 00002094: PUSH2 0x209c 00002097: CALLER 00002098: PUSH2 0x3552 0000209b: JUMP 0000209c: JUMPDEST 0000209d: SWAP8 0000209e: POP 0000209f: POP 000020a0: POP 000020a1: POP 000020a2: POP 000020a3: POP 000020a4: POP 000020a5: JUMPDEST 000020a6: POP 000020a7: SWAP5 000020a8: SWAP4 000020a9: POP 000020aa: POP 000020ab: POP 000020ac: POP 000020ad: JUMP 000020ae: JUMPDEST 000020af: PUSH0 000020b0: PUSH2 0x0ea5 000020b3: PUSH2 0x20ba 000020b6: PUSH2 0x17db 000020b9: JUMP 000020ba: JUMPDEST 000020bb: PUSH2 0x04c9 000020be: SWAP1 000020bf: PUSH1 0x0a 000020c1: PUSH2 0x4694 000020c4: JUMP 000020c5: JUMPDEST 000020c6: PUSH1 0x01 000020c8: PUSH2 0x20d0 000020cb: DUP2 000020cc: PUSH2 0x2d81 000020cf: JUMP 000020d0: JUMPDEST 000020d1: PUSH0 000020d2: DUP1 000020d3: JUMPDEST 000020d4: PUSH1 0x14 000020d6: DUP2 000020d7: LT 000020d8: ISZERO 000020d9: PUSH2 0x2134 000020dc: JUMPI 000020dd: PUSH1 0x20 000020df: DUP2 000020e0: MUL 000020e1: PUSH1 0x04 000020e3: ADD 000020e4: CALLDATALOAD 000020e5: PUSH0 000020e6: DUP3 000020e7: GT 000020e8: DUP4 000020e9: ISZERO 000020ea: AND 000020eb: PUSH0 000020ec: DUP3 000020ed: GT 000020ee: AND 000020ef: ISZERO 000020f0: PUSH2 0x2100 000020f3: JUMPI 000020f4: PUSH4 0xefb91db4 000020f9: PUSH0 000020fa: MSTORE 000020fb: PUSH1 0x04 000020fd: PUSH1 0x1c 000020ff: REVERT 00002100: JUMPDEST 00002101: DUP1 00002102: PUSH0 00002103: MSTORE 00002104: PUSH1 0x08 00002106: PUSH1 0x20 00002108: MSTORE 00002109: PUSH0 0000210a: DUP2 0000210b: GT 0000210c: PUSH1 0x40 0000210e: PUSH0 0000210f: KECCAK256 00002110: SLOAD 00002111: PUSH1 0xb0 00002113: SHL 00002114: PUSH1 0xd0 00002116: SHR 00002117: ISZERO 00002118: AND 00002119: ISZERO 0000211a: PUSH2 0x212a 0000211d: JUMPI 0000211e: PUSH4 0xdc974a98 00002123: PUSH0 00002124: MSTORE 00002125: PUSH1 0x04 00002127: PUSH1 0x1c 00002129: REVERT 0000212a: JUMPDEST 0000212b: SWAP2 0000212c: POP 0000212d: PUSH1 0x01 0000212f: ADD 00002130: PUSH2 0x20d3 00002133: JUMP 00002134: JUMPDEST 00002135: POP 00002136: PUSH2 0x2142 00002139: PUSH1 0x09 0000213b: DUP5 0000213c: PUSH1 0x14 0000213e: PUSH2 0x4134 00002141: JUMP 00002142: JUMPDEST 00002143: POP 00002144: PUSH32 0x92fa0b6a2861480bf8c9977f0f9fe1d95c535ba23cbf234f2716fc765aec3be8 00002165: DUP4 00002166: PUSH1 0x40 00002168: MLOAD 00002169: PUSH2 0x2172 0000216c: SWAP2 0000216d: SWAP1 0000216e: PUSH2 0x46a2 00002171: JUMP 00002172: JUMPDEST 00002173: PUSH1 0x40 00002175: MLOAD 00002176: DUP1 00002177: SWAP2 00002178: SUB 00002179: SWAP1 0000217a: LOG1 0000217b: POP 0000217c: POP 0000217d: POP 0000217e: JUMP 0000217f: JUMPDEST 00002180: PUSH1 0x01 00002182: SLOAD 00002183: PUSH0 00002184: SWAP1 00002185: PUSH1 0xff 00002187: AND 00002188: ISZERO 00002189: PUSH2 0x21a5 0000218c: JUMPI 0000218d: PUSH1 0x40 0000218f: MLOAD 00002190: PUSH4 0x04aca5db 00002195: PUSH1 0xe0 00002197: SHL 00002198: DUP2 00002199: MSTORE 0000219a: PUSH1 0x04 0000219c: ADD 0000219d: PUSH1 0x40 0000219f: MLOAD 000021a0: DUP1 000021a1: SWAP2 000021a2: SUB 000021a3: SWAP1 000021a4: REVERT 000021a5: JUMPDEST 000021a6: PUSH1 0x02 000021a8: PUSH0 000021a9: SLOAD 000021aa: SUB 000021ab: PUSH2 0x21bb 000021ae: JUMPI 000021af: PUSH4 0x37ed32e8 000021b4: PUSH0 000021b5: MSTORE 000021b6: PUSH1 0x04 000021b8: PUSH1 0x1c 000021ba: REVERT 000021bb: JUMPDEST 000021bc: PUSH1 0x02 000021be: PUSH0 000021bf: SSTORE 000021c0: PUSH0 000021c1: PUSH2 0x21c9 000021c4: CALLER 000021c5: PUSH2 0x23fb 000021c8: JUMP 000021c9: JUMPDEST 000021ca: SWAP1 000021cb: POP 000021cc: DUP1 000021cd: DUP5 000021ce: GT 000021cf: ISZERO 000021d0: PUSH2 0x21e0 000021d3: JUMPI 000021d4: PUSH4 0x0c11966b 000021d9: PUSH0 000021da: MSTORE 000021db: PUSH1 0x04 000021dd: PUSH1 0x1c 000021df: REVERT 000021e0: JUMPDEST 000021e1: PUSH2 0x1b39 000021e4: CALLER 000021e5: DUP5 000021e6: PUSH2 0x21ee 000021e9: DUP8 000021ea: PUSH2 0x226a 000021ed: JUMP 000021ee: JUMPDEST 000021ef: SWAP5 000021f0: POP 000021f1: DUP5 000021f2: DUP8 000021f3: PUSH2 0x2eac 000021f6: JUMP 000021f7: JUMPDEST 000021f8: PUSH1 0x60 000021fa: PUSH1 0x20 000021fc: DUP1 000021fd: SLOAD 000021fe: PUSH2 0x0eb9 00002201: SWAP1 00002202: PUSH2 0x4497 00002205: JUMP 00002206: JUMPDEST 00002207: PUSH0 00002208: PUSH4 0x87a211a2 0000220d: PUSH1 0x0c 0000220f: MSTORE 00002210: CALLER 00002211: PUSH0 00002212: MSTORE 00002213: PUSH1 0x20 00002215: PUSH1 0x0c 00002217: KECCAK256 00002218: DUP1 00002219: SLOAD 0000221a: DUP1 0000221b: DUP5 0000221c: GT 0000221d: ISZERO 0000221e: PUSH2 0x222e 00002221: JUMPI 00002222: PUSH4 0xf4d678b8 00002227: PUSH0 00002228: MSTORE 00002229: PUSH1 0x04 0000222b: PUSH1 0x1c 0000222d: REVERT 0000222e: JUMPDEST 0000222f: DUP4 00002230: DUP2 00002231: SUB 00002232: DUP3 00002233: SSTORE 00002234: POP 00002235: POP 00002236: DUP3 00002237: PUSH0 00002238: MSTORE 00002239: PUSH1 0x20 0000223b: PUSH1 0x0c 0000223d: KECCAK256 0000223e: DUP3 0000223f: DUP2 00002240: SLOAD 00002241: ADD 00002242: DUP2 00002243: SSTORE 00002244: POP 00002245: DUP2 00002246: PUSH1 0x20 00002248: MSTORE 00002249: PUSH1 0x0c 0000224b: MLOAD 0000224c: PUSH1 0x60 0000224e: SHR 0000224f: CALLER 00002250: PUSH0 00002251: DUP1 00002252: MLOAD 00002253: PUSH1 0x20 00002255: PUSH2 0x471d 00002258: DUP4 00002259: CODECOPY 0000225a: DUP2 0000225b: MLOAD 0000225c: SWAP2 0000225d: MSTORE 0000225e: PUSH1 0x20 00002260: DUP1 00002261: LOG3 00002262: POP 00002263: PUSH1 0x01 00002265: SWAP3 00002266: SWAP2 00002267: POP 00002268: POP 00002269: JUMP 0000226a: JUMPDEST 0000226b: PUSH0 0000226c: PUSH1 0x06 0000226e: PUSH2 0x0f79 00002271: DUP4 00002272: PUSH2 0x2279 00002275: PUSH2 0x2bc7 00002278: JUMP 00002279: JUMPDEST 0000227a: PUSH2 0x2284 0000227d: SWAP1 0000227e: PUSH1 0x01 00002280: PUSH2 0x44dd 00002283: JUMP 00002284: JUMPDEST 00002285: PUSH2 0x228f 00002288: DUP5 00002289: PUSH1 0x0a 0000228b: PUSH2 0x45d0 0000228e: JUMP 0000228f: JUMPDEST 00002290: PUSH9 0x05345cdf77eb68f44c 0000229a: SLOAD 0000229b: PUSH2 0x1043 0000229e: SWAP2 0000229f: SWAP1 000022a0: PUSH2 0x44dd 000022a3: JUMP 000022a4: JUMPDEST 000022a5: PUSH0 000022a6: PUSH1 0x02 000022a8: PUSH0 000022a9: SLOAD 000022aa: SUB 000022ab: PUSH2 0x22bb 000022ae: JUMPI 000022af: PUSH4 0x37ed32e8 000022b4: PUSH0 000022b5: MSTORE 000022b6: PUSH1 0x04 000022b8: PUSH1 0x1c 000022ba: REVERT 000022bb: JUMPDEST 000022bc: PUSH1 0x02 000022be: PUSH0 000022bf: SSTORE 000022c0: PUSH0 000022c1: NOT 000022c2: DUP5 000022c3: SUB 000022c4: PUSH2 0x22d3 000022c7: JUMPI 000022c8: PUSH2 0x22d0 000022cb: DUP3 000022cc: PUSH2 0x245f 000022cf: JUMP 000022d0: JUMPDEST 000022d1: SWAP4 000022d2: POP 000022d3: JUMPDEST 000022d4: PUSH2 0x22dc 000022d7: DUP3 000022d8: PUSH2 0x245f 000022db: JUMP 000022dc: JUMPDEST 000022dd: DUP5 000022de: GT 000022df: ISZERO 000022e0: PUSH2 0x22f0 000022e3: JUMPI 000022e4: PUSH4 0x936941fc 000022e9: PUSH0 000022ea: MSTORE 000022eb: PUSH1 0x04 000022ed: PUSH1 0x1c 000022ef: REVERT 000022f0: JUMPDEST 000022f1: PUSH2 0x22fc 000022f4: CALLER 000022f5: DUP5 000022f6: DUP5 000022f7: DUP8 000022f8: PUSH2 0x35c5 000022fb: JUMP 000022fc: JUMPDEST 000022fd: PUSH1 0x01 000022ff: PUSH0 00002300: SSTORE 00002301: SWAP5 00002302: SWAP4 00002303: POP 00002304: POP 00002305: POP 00002306: POP 00002307: JUMP 00002308: JUMPDEST 00002309: PUSH0 0000230a: PUSH1 0x02 0000230c: PUSH0 0000230d: SLOAD 0000230e: SUB 0000230f: PUSH2 0x231f 00002312: JUMPI 00002313: PUSH4 0x37ed32e8 00002318: PUSH0 00002319: MSTORE 0000231a: PUSH1 0x04 0000231c: PUSH1 0x1c 0000231e: REVERT 0000231f: JUMPDEST 00002320: PUSH1 0x02 00002322: PUSH0 00002323: SSTORE 00002324: PUSH0 00002325: NOT 00002326: DUP5 00002327: SUB 00002328: PUSH2 0x2337 0000232b: JUMPI 0000232c: PUSH2 0x2334 0000232f: DUP3 00002330: PUSH2 0x260f 00002333: JUMP 00002334: JUMPDEST 00002335: SWAP4 00002336: POP 00002337: JUMPDEST 00002338: PUSH2 0x2340 0000233b: DUP3 0000233c: PUSH2 0x260f 0000233f: JUMP 00002340: JUMPDEST 00002341: DUP5 00002342: GT 00002343: ISZERO 00002344: PUSH2 0x2354 00002347: JUMPI 00002348: PUSH4 0x4656425a 0000234d: PUSH0 0000234e: MSTORE 0000234f: PUSH1 0x04 00002351: PUSH1 0x1c 00002353: REVERT 00002354: JUMPDEST 00002355: PUSH2 0x22fc 00002358: CALLER 00002359: DUP5 0000235a: DUP5 0000235b: DUP8 0000235c: PUSH2 0x397d 0000235f: JUMP 00002360: JUMPDEST 00002361: PUSH1 0x01 00002363: PUSH2 0x236b 00002366: DUP2 00002367: PUSH2 0x2d81 0000236a: JUMP 0000236b: JUMPDEST 0000236c: PUSH1 0x01 0000236e: PUSH1 0x01 00002370: PUSH1 0xa0 00002372: SHL 00002373: SUB 00002374: DUP3 00002375: AND 00002376: PUSH0 00002377: SWAP1 00002378: DUP2 00002379: MSTORE 0000237a: PUSH1 0x08 0000237c: PUSH1 0x20 0000237e: MSTORE 0000237f: PUSH1 0x40 00002381: SWAP1 00002382: KECCAK256 00002383: SLOAD 00002384: PUSH2 0xffff 00002387: AND 00002388: DUP1 00002389: PUSH2 0x2399 0000238c: JUMPI 0000238d: PUSH4 0xe3a1d5ed 00002392: PUSH0 00002393: MSTORE 00002394: PUSH1 0x04 00002396: PUSH1 0x1c 00002398: REVERT 00002399: JUMPDEST 0000239a: PUSH2 0x23a4 0000239d: DUP4 0000239e: PUSH1 0x04 000023a0: PUSH2 0x2e6d 000023a3: JUMP 000023a4: JUMPDEST 000023a5: PUSH2 0x23ae 000023a8: DUP4 000023a9: DUP3 000023aa: PUSH2 0x3d06 000023ad: JUMP 000023ae: JUMPDEST 000023af: POP 000023b0: POP 000023b1: POP 000023b2: JUMP 000023b3: JUMPDEST 000023b4: PUSH1 0x01 000023b6: PUSH2 0x23be 000023b9: DUP2 000023ba: PUSH2 0x2d81 000023bd: JUMP 000023be: JUMPDEST 000023bf: DUP2 000023c0: PUSH1 0x02 000023c2: DUP2 000023c3: SWAP1 000023c4: SSTORE 000023c5: POP 000023c6: DUP2 000023c7: PUSH0 000023c8: MSTORE 000023c9: PUSH32 0xc512617347fd848ec9d7347c99c10e4fa7059132c92d0445930a7fb0c8252ff5 000023ea: PUSH1 0x20 000023ec: PUSH0 000023ed: LOG1 000023ee: POP 000023ef: POP 000023f0: JUMP 000023f1: JUMPDEST 000023f2: PUSH0 000023f3: PUSH2 0x0fca 000023f6: DUP3 000023f7: PUSH2 0x3552 000023fa: JUMP 000023fb: JUMPDEST 000023fc: PUSH0 000023fd: PUSH2 0x0fca 00002400: PUSH2 0x0c2c 00002403: PUSH0 00002404: PUSH2 0x1883 00002407: JUMP 00002408: JUMPDEST 00002409: PUSH0 0000240a: PUSH1 0x06 0000240c: PUSH2 0x0f79 0000240f: DUP4 00002410: PUSH2 0x241a 00002413: DUP4 00002414: PUSH1 0x0a 00002416: PUSH2 0x45d0 00002419: JUMP 0000241a: JUMPDEST 0000241b: PUSH9 0x05345cdf77eb68f44c 00002425: SLOAD 00002426: PUSH2 0x242f 00002429: SWAP2 0000242a: SWAP1 0000242b: PUSH2 0x44dd 0000242e: JUMP 0000242f: JUMPDEST 00002430: PUSH2 0x0f74 00002433: PUSH2 0x243a 00002436: PUSH2 0x2bc7 00002439: JUMP 0000243a: JUMPDEST 0000243b: PUSH1 0x01 0000243d: ADD 0000243e: SWAP1 0000243f: JUMP 00002440: JUMPDEST 00002441: PUSH1 0x09 00002443: DUP2 00002444: PUSH1 0x14 00002446: DUP2 00002447: LT 00002448: PUSH2 0x244f 0000244b: JUMPI 0000244c: PUSH0 0000244d: DUP1 0000244e: REVERT 0000244f: JUMPDEST 00002450: ADD 00002451: SLOAD 00002452: PUSH1 0x01 00002454: PUSH1 0x01 00002456: PUSH1 0xa0 00002458: SHL 00002459: SUB 0000245a: AND 0000245b: SWAP1 0000245c: POP 0000245d: DUP2 0000245e: JUMP 0000245f: JUMPDEST 00002460: PUSH0 00002461: PUSH2 0x0fca 00002464: PUSH1 0x64 00002466: PUSH2 0x246e 00002469: DUP5 0000246a: PUSH2 0x260f 0000246d: JUMP 0000246e: JUMPDEST 0000246f: PUSH2 0x2479 00002472: SWAP1 00002473: PUSH1 0x63 00002475: PUSH2 0x46e6 00002478: JUMP 00002479: JUMPDEST 0000247a: PUSH2 0x0868 0000247d: SWAP2 0000247e: SWAP1 0000247f: PUSH2 0x46fd 00002482: JUMP 00002483: JUMPDEST 00002484: PUSH0 00002485: PUSH2 0x248c 00002488: PUSH2 0x0eaa 0000248b: JUMP 0000248c: JUMPDEST 0000248d: DUP1 0000248e: MLOAD 0000248f: SWAP1 00002490: PUSH1 0x20 00002492: ADD 00002493: KECCAK256 00002494: SWAP1 00002495: POP 00002496: DUP5 00002497: TIMESTAMP 00002498: GT 00002499: ISZERO 0000249a: PUSH2 0x24aa 0000249d: JUMPI 0000249e: PUSH4 0x1a15a3cc 000024a3: PUSH0 000024a4: MSTORE 000024a5: PUSH1 0x04 000024a7: PUSH1 0x1c 000024a9: REVERT 000024aa: JUMPDEST 000024ab: PUSH1 0x40 000024ad: MLOAD 000024ae: DUP9 000024af: PUSH1 0x60 000024b1: SHL 000024b2: PUSH1 0x60 000024b4: SHR 000024b5: SWAP9 000024b6: POP 000024b7: DUP8 000024b8: PUSH1 0x60 000024ba: SHL 000024bb: PUSH1 0x60 000024bd: SHR 000024be: SWAP8 000024bf: POP 000024c0: PUSH6 0x383775081901 000024c7: PUSH1 0x0e 000024c9: MSTORE 000024ca: DUP9 000024cb: PUSH0 000024cc: MSTORE 000024cd: PUSH1 0x20 000024cf: PUSH1 0x0c 000024d1: KECCAK256 000024d2: DUP1 000024d3: SLOAD 000024d4: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f 000024f5: DUP4 000024f6: MSTORE 000024f7: DUP4 000024f8: PUSH1 0x20 000024fa: DUP5 000024fb: ADD 000024fc: MSTORE 000024fd: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6 0000251e: PUSH1 0x40 00002520: DUP5 00002521: ADD 00002522: MSTORE 00002523: CHAINID 00002524: PUSH1 0x60 00002526: DUP5 00002527: ADD 00002528: MSTORE 00002529: ADDRESS 0000252a: PUSH1 0x80 0000252c: DUP5 0000252d: ADD 0000252e: MSTORE 0000252f: PUSH1 0xa0 00002531: DUP4 00002532: KECCAK256 00002533: PUSH1 0x2e 00002535: MSTORE 00002536: PUSH32 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9 00002557: DUP4 00002558: MSTORE 00002559: DUP11 0000255a: PUSH1 0x20 0000255c: DUP5 0000255d: ADD 0000255e: MSTORE 0000255f: DUP10 00002560: PUSH1 0x40 00002562: DUP5 00002563: ADD 00002564: MSTORE 00002565: DUP9 00002566: PUSH1 0x60 00002568: DUP5 00002569: ADD 0000256a: MSTORE 0000256b: DUP1 0000256c: PUSH1 0x80 0000256e: DUP5 0000256f: ADD 00002570: MSTORE 00002571: DUP8 00002572: PUSH1 0xa0 00002574: DUP5 00002575: ADD 00002576: MSTORE 00002577: PUSH1 0xc0 00002579: DUP4 0000257a: KECCAK256 0000257b: PUSH1 0x4e 0000257d: MSTORE 0000257e: PUSH1 0x42 00002580: PUSH1 0x2c 00002582: KECCAK256 00002583: PUSH0 00002584: MSTORE 00002585: DUP7 00002586: PUSH1 0xff 00002588: AND 00002589: PUSH1 0x20 0000258b: MSTORE 0000258c: DUP6 0000258d: PUSH1 0x40 0000258f: MSTORE 00002590: DUP5 00002591: PUSH1 0x60 00002593: MSTORE 00002594: PUSH1 0x20 00002596: DUP1 00002597: PUSH1 0x80 00002599: PUSH0 0000259a: PUSH1 0x01 0000259c: GAS 0000259d: STATICCALL 0000259e: DUP12 0000259f: RETURNDATASIZE 000025a0: MLOAD 000025a1: EQ 000025a2: PUSH2 0x25b2 000025a5: JUMPI 000025a6: PUSH4 0xddafbaef 000025ab: PUSH0 000025ac: MSTORE 000025ad: PUSH1 0x04 000025af: PUSH1 0x1c 000025b1: REVERT 000025b2: JUMPDEST 000025b3: ADD 000025b4: SWAP1 000025b5: SSTORE 000025b6: PUSH4 0x03faf4f9 000025bb: PUSH1 0xa5 000025bd: SHL 000025be: DUP9 000025bf: OR 000025c0: PUSH1 0x40 000025c2: MSTORE 000025c3: PUSH1 0x34 000025c5: PUSH1 0x2c 000025c7: KECCAK256 000025c8: DUP8 000025c9: SWAP1 000025ca: SSTORE 000025cb: DUP8 000025cc: DUP10 000025cd: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 000025ee: PUSH1 0x20 000025f0: PUSH1 0x60 000025f2: DUP6 000025f3: ADD 000025f4: LOG3 000025f5: PUSH1 0x40 000025f7: MSTORE 000025f8: POP 000025f9: POP 000025fa: PUSH0 000025fb: PUSH1 0x60 000025fd: MSTORE 000025fe: POP 000025ff: POP 00002600: POP 00002601: POP 00002602: POP 00002603: POP 00002604: JUMP 00002605: JUMPDEST 00002606: PUSH0 00002607: PUSH2 0x0fca 0000260a: DUP3 0000260b: PUSH2 0x33ad 0000260e: JUMP 0000260f: JUMPDEST 00002610: PUSH4 0x87a211a2 00002615: PUSH1 0x0c 00002617: SWAP1 00002618: DUP2 00002619: MSTORE 0000261a: PUSH0 0000261b: DUP3 0000261c: DUP2 0000261d: MSTORE 0000261e: PUSH1 0x20 00002620: SWAP1 00002621: SWAP2 00002622: KECCAK256 00002623: SLOAD 00002624: PUSH2 0x0fca 00002627: JUMP 00002628: JUMPDEST 00002629: PUSH1 0x01 0000262b: PUSH2 0x2633 0000262e: DUP2 0000262f: PUSH2 0x2d81 00002632: JUMP 00002633: JUMPDEST 00002634: PUSH0 00002635: DUP3 00002636: SWAP1 00002637: POP 00002638: PUSH0 00002639: DUP2 0000263a: PUSH1 0x01 0000263c: PUSH1 0x01 0000263e: PUSH1 0xa0 00002640: SHL 00002641: SUB 00002642: AND 00002643: PUSH4 0xa2b20eec 00002648: PUSH1 0x40 0000264a: MLOAD 0000264b: DUP2 0000264c: PUSH4 0xffffffff 00002651: AND 00002652: PUSH1 0xe0 00002654: SHL 00002655: DUP2 00002656: MSTORE 00002657: PUSH1 0x04 00002659: ADD 0000265a: PUSH1 0x20 0000265c: PUSH1 0x40 0000265e: MLOAD 0000265f: DUP1 00002660: DUP4 00002661: SUB 00002662: DUP2 00002663: DUP7 00002664: GAS 00002665: STATICCALL 00002666: ISZERO 00002667: DUP1 00002668: ISZERO 00002669: PUSH2 0x2674 0000266c: JUMPI 0000266d: RETURNDATASIZE 0000266e: PUSH0 0000266f: DUP1 00002670: RETURNDATACOPY 00002671: RETURNDATASIZE 00002672: PUSH0 00002673: REVERT 00002674: JUMPDEST 00002675: POP 00002676: POP 00002677: POP 00002678: POP 00002679: PUSH1 0x40 0000267b: MLOAD 0000267c: RETURNDATASIZE 0000267d: PUSH1 0x1f 0000267f: NOT 00002680: PUSH1 0x1f 00002682: DUP3 00002683: ADD 00002684: AND 00002685: DUP3 00002686: ADD 00002687: DUP1 00002688: PUSH1 0x40 0000268a: MSTORE 0000268b: POP 0000268c: DUP2 0000268d: ADD 0000268e: SWAP1 0000268f: PUSH2 0x2698 00002692: SWAP2 00002693: SWAP1 00002694: PUSH2 0x4602 00002697: JUMP 00002698: JUMPDEST 00002699: PUSH1 0x40 0000269b: MLOAD 0000269c: PUSH4 0x01057c49 000026a1: PUSH1 0xe6 000026a3: SHL 000026a4: DUP2 000026a5: MSTORE 000026a6: PUSH1 0x04 000026a8: DUP2 000026a9: ADD 000026aa: DUP3 000026ab: SWAP1 000026ac: MSTORE 000026ad: SWAP1 000026ae: SWAP2 000026af: POP 000026b0: PUSH0 000026b1: SWAP1 000026b2: PUSH1 0x01 000026b4: PUSH1 0x01 000026b6: PUSH1 0xa0 000026b8: SHL 000026b9: SUB 000026ba: DUP5 000026bb: AND 000026bc: SWAP1 000026bd: PUSH4 0x415f1240 000026c2: SWAP1 000026c3: PUSH1 0x24 000026c5: ADD 000026c6: PUSH1 0x20 000026c8: PUSH1 0x40 000026ca: MLOAD 000026cb: DUP1 000026cc: DUP4 000026cd: SUB 000026ce: DUP2 000026cf: PUSH0 000026d0: DUP8 000026d1: GAS 000026d2: CALL 000026d3: ISZERO 000026d4: DUP1 000026d5: ISZERO 000026d6: PUSH2 0x26e1 000026d9: JUMPI 000026da: RETURNDATASIZE 000026db: PUSH0 000026dc: DUP1 000026dd: RETURNDATACOPY 000026de: RETURNDATASIZE 000026df: PUSH0 000026e0: REVERT 000026e1: JUMPDEST 000026e2: POP 000026e3: POP 000026e4: POP 000026e5: POP 000026e6: PUSH1 0x40 000026e8: MLOAD 000026e9: RETURNDATASIZE 000026ea: PUSH1 0x1f 000026ec: NOT 000026ed: PUSH1 0x1f 000026ef: DUP3 000026f0: ADD 000026f1: AND 000026f2: DUP3 000026f3: ADD 000026f4: DUP1 000026f5: PUSH1 0x40 000026f7: MSTORE 000026f8: POP 000026f9: DUP2 000026fa: ADD 000026fb: SWAP1 000026fc: PUSH2 0x2705 000026ff: SWAP2 00002700: SWAP1 00002701: PUSH2 0x4602 00002704: JUMP 00002705: JUMPDEST 00002706: SWAP1 00002707: POP 00002708: PUSH0 00002709: PUSH2 0x2712 0000270c: DUP4 0000270d: DUP4 0000270e: PUSH2 0x2e92 00002711: JUMP 00002712: JUMPDEST 00002713: PUSH1 0x01 00002715: PUSH1 0x01 00002717: PUSH1 0xa0 00002719: SHL 0000271a: SUB 0000271b: DUP8 0000271c: AND 0000271d: PUSH0 0000271e: SWAP1 0000271f: DUP2 00002720: MSTORE 00002721: PUSH1 0x08 00002723: PUSH1 0x20 00002725: MSTORE 00002726: PUSH1 0x40 00002728: DUP2 00002729: KECCAK256 0000272a: PUSH1 0x02 0000272c: DUP2 0000272d: ADD 0000272e: SLOAD 0000272f: SWAP1 00002730: SLOAD 00002731: PUSH1 0x04 00002733: DUP1 00002734: SLOAD 00002735: SWAP5 00002736: SWAP6 00002737: POP 00002738: PUSH1 0x01 0000273a: PUSH1 0x01 0000273c: PUSH1 0x80 0000273e: SHL 0000273f: SUB 00002740: SWAP1 00002741: SWAP3 00002742: AND 00002743: SWAP4 00002744: PUSH2 0xffff 00002747: SWAP1 00002748: SWAP2 00002749: AND 0000274a: SWAP3 0000274b: DUP6 0000274c: SWAP3 0000274d: SWAP2 0000274e: PUSH2 0x2758 00002751: SWAP1 00002752: DUP5 00002753: SWAP1 00002754: PUSH2 0x44dd 00002757: JUMP 00002758: JUMPDEST 00002759: SWAP1 0000275a: SWAP2 0000275b: SSTORE 0000275c: POP 0000275d: POP 0000275e: PUSH1 0x05 00002760: DUP1 00002761: SLOAD 00002762: DUP4 00002763: SWAP1 00002764: SUB 00002765: SWAP1 00002766: SSTORE 00002767: PUSH1 0x03 00002769: DUP1 0000276a: SLOAD 0000276b: DUP3 0000276c: SWAP1 0000276d: SUB 0000276e: DUP2 0000276f: SSTORE 00002770: PUSH1 0x01 00002772: PUSH1 0x01 00002774: PUSH1 0xa0 00002776: SHL 00002777: SUB 00002778: DUP10 00002779: AND 0000277a: PUSH0 0000277b: SWAP1 0000277c: DUP2 0000277d: MSTORE 0000277e: PUSH1 0x08 00002780: PUSH1 0x20 00002782: MSTORE 00002783: PUSH1 0x40 00002785: DUP1 00002786: DUP3 00002787: KECCAK256 00002788: SWAP3 00002789: DUP4 0000278a: ADD 0000278b: DUP1 0000278c: SLOAD 0000278d: PUSH1 0xff 0000278f: NOT 00002790: AND 00002791: SWAP1 00002792: SSTORE 00002793: DUP3 00002794: SLOAD 00002795: PUSH1 0x02 00002797: DUP5 00002798: ADD 00002799: DUP1 0000279a: SLOAD 0000279b: PUSH1 0x01 0000279d: PUSH1 0x01 0000279f: PUSH1 0x80 000027a1: SHL 000027a2: SUB 000027a3: NOT 000027a4: AND 000027a5: SWAP1 000027a6: SSTORE 000027a7: PUSH10 0xffffffffffff0000ffff 000027b2: NOT 000027b3: AND 000027b4: SWAP1 000027b5: SWAP3 000027b6: SSTORE 000027b7: DUP2 000027b8: MLOAD 000027b9: PUSH2 0x0280 000027bc: DUP2 000027bd: ADD 000027be: SWAP3 000027bf: DUP4 000027c0: SWAP1 000027c1: MSTORE 000027c2: SWAP1 000027c3: SWAP2 000027c4: PUSH1 0x09 000027c6: SWAP1 000027c7: PUSH1 0x14 000027c9: SWAP1 000027ca: DUP3 000027cb: DUP5 000027cc: JUMPDEST 000027cd: DUP2 000027ce: SLOAD 000027cf: PUSH1 0x01 000027d1: PUSH1 0x01 000027d3: PUSH1 0xa0 000027d5: SHL 000027d6: SUB 000027d7: AND 000027d8: DUP2 000027d9: MSTORE 000027da: PUSH1 0x01 000027dc: SWAP1 000027dd: SWAP2 000027de: ADD 000027df: SWAP1 000027e0: PUSH1 0x20 000027e2: ADD 000027e3: DUP1 000027e4: DUP4 000027e5: GT 000027e6: PUSH2 0x27cc 000027e9: JUMPI 000027ea: POP 000027eb: POP 000027ec: POP 000027ed: POP 000027ee: POP 000027ef: SWAP1 000027f0: POP 000027f1: PUSH0 000027f2: JUMPDEST 000027f3: PUSH1 0x14 000027f5: DUP2 000027f6: LT 000027f7: ISZERO 000027f8: PUSH2 0x28d2 000027fb: JUMPI 000027fc: DUP10 000027fd: PUSH1 0x01 000027ff: PUSH1 0x01 00002801: PUSH1 0xa0 00002803: SHL 00002804: SUB 00002805: AND 00002806: DUP3 00002807: DUP3 00002808: PUSH1 0x14 0000280a: DUP2 0000280b: LT 0000280c: PUSH2 0x2817 0000280f: JUMPI 00002810: PUSH2 0x2817 00002813: PUSH2 0x45db 00002816: JUMP 00002817: JUMPDEST 00002818: PUSH1 0x20 0000281a: MUL 0000281b: ADD 0000281c: MLOAD 0000281d: PUSH1 0x01 0000281f: PUSH1 0x01 00002821: PUSH1 0xa0 00002823: SHL 00002824: SUB 00002825: AND 00002826: SUB 00002827: PUSH2 0x28ca 0000282a: JUMPI 0000282b: PUSH0 0000282c: PUSH1 0x09 0000282e: DUP3 0000282f: PUSH1 0x14 00002831: DUP2 00002832: LT 00002833: PUSH2 0x283e 00002836: JUMPI 00002837: PUSH2 0x283e 0000283a: PUSH2 0x45db 0000283d: JUMP 0000283e: JUMPDEST 0000283f: ADD 00002840: DUP1 00002841: SLOAD 00002842: PUSH1 0x01 00002844: PUSH1 0x01 00002846: PUSH1 0xa0 00002848: SHL 00002849: SUB 0000284a: NOT 0000284b: AND 0000284c: PUSH1 0x01 0000284e: PUSH1 0x01 00002850: PUSH1 0xa0 00002852: SHL 00002853: SUB 00002854: SWAP3 00002855: SWAP1 00002856: SWAP3 00002857: AND 00002858: SWAP2 00002859: SWAP1 0000285a: SWAP2 0000285b: OR 0000285c: SWAP1 0000285d: SSTORE 0000285e: PUSH2 0x2868 00002861: DUP11 00002862: PUSH1 0x04 00002864: PUSH2 0x2e6d 00002867: JUMP 00002868: JUMPDEST 00002869: PUSH2 0x2870 0000286c: PUSH2 0x2db1 0000286f: JUMP 00002870: JUMPDEST 00002871: DUP10 00002872: PUSH32 0x09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea4 00002893: PUSH0 00002894: DUP1 00002895: LOG2 00002896: DUP5 00002897: PUSH0 00002898: MSTORE 00002899: DUP10 0000289a: PUSH32 0x2e8aac9e73a32a1b5926e2c5a2820a51deb01ed40212b6346d96db2a178cf433 000028bb: PUSH1 0x20 000028bd: PUSH0 000028be: LOG2 000028bf: POP 000028c0: POP 000028c1: POP 000028c2: POP 000028c3: POP 000028c4: POP 000028c5: POP 000028c6: POP 000028c7: POP 000028c8: POP 000028c9: JUMP 000028ca: JUMPDEST 000028cb: PUSH1 0x01 000028cd: ADD 000028ce: PUSH2 0x27f2 000028d1: JUMP 000028d2: JUMPDEST 000028d3: POP 000028d4: POP 000028d5: POP 000028d6: POP 000028d7: POP 000028d8: POP 000028d9: POP 000028da: POP 000028db: POP 000028dc: POP 000028dd: JUMP 000028de: JUMPDEST 000028df: PUSH1 0x04 000028e1: PUSH2 0x28e9 000028e4: DUP2 000028e5: PUSH2 0x2d81 000028e8: JUMP 000028e9: JUMPDEST 000028ea: POP 000028eb: CALLER 000028ec: PUSH0 000028ed: SWAP1 000028ee: DUP2 000028ef: MSTORE 000028f0: PUSH1 0x08 000028f2: PUSH1 0x20 000028f4: MSTORE 000028f5: PUSH1 0x40 000028f7: SWAP1 000028f8: KECCAK256 000028f9: PUSH1 0x03 000028fb: ADD 000028fc: DUP1 000028fd: SLOAD 000028fe: PUSH1 0xff 00002900: NOT 00002901: AND 00002902: SWAP2 00002903: ISZERO 00002904: ISZERO 00002905: SWAP2 00002906: SWAP1 00002907: SWAP2 00002908: OR 00002909: SWAP1 0000290a: SSTORE 0000290b: JUMP 0000290c: JUMPDEST 0000290d: PUSH1 0x01 0000290f: PUSH2 0x2917 00002912: DUP2 00002913: PUSH2 0x2d81 00002916: JUMP 00002917: JUMPDEST 00002918: PUSH0 00002919: DUP1 0000291a: DUP8 0000291b: PUSH0 0000291c: MSTORE 0000291d: PUSH1 0x08 0000291f: PUSH1 0x20 00002921: MSTORE 00002922: PUSH1 0x40 00002924: PUSH0 00002925: KECCAK256 00002926: SWAP2 00002927: POP 00002928: DUP2 00002929: SLOAD 0000292a: SWAP1 0000292b: POP 0000292c: DUP1 0000292d: PUSH1 0xb0 0000292f: SHL 00002930: PUSH1 0xd0 00002932: SHR 00002933: PUSH2 0x2943 00002936: JUMPI 00002937: PUSH4 0xdc974a98 0000293c: PUSH0 0000293d: MSTORE 0000293e: PUSH1 0x04 00002940: PUSH1 0x1c 00002942: REVERT 00002943: JUMPDEST 00002944: DUP8 00002945: PUSH1 0x01 00002947: PUSH1 0x01 00002949: PUSH1 0xa0 0000294b: SHL 0000294c: SUB 0000294d: AND 0000294e: PUSH4 0x5641ec03 00002953: PUSH1 0x40 00002955: MLOAD 00002956: DUP2 00002957: PUSH4 0xffffffff 0000295c: AND 0000295d: PUSH1 0xe0 0000295f: SHL 00002960: DUP2 00002961: MSTORE 00002962: PUSH1 0x04 00002964: ADD 00002965: PUSH1 0x20 00002967: PUSH1 0x40 00002969: MLOAD 0000296a: DUP1 0000296b: DUP4 0000296c: SUB 0000296d: DUP2 0000296e: PUSH0 0000296f: DUP8 00002970: GAS 00002971: CALL 00002972: ISZERO 00002973: DUP1 00002974: ISZERO 00002975: PUSH2 0x2980 00002978: JUMPI 00002979: RETURNDATASIZE 0000297a: PUSH0 0000297b: DUP1 0000297c: RETURNDATACOPY 0000297d: RETURNDATASIZE 0000297e: PUSH0 0000297f: REVERT 00002980: JUMPDEST 00002981: POP 00002982: POP 00002983: POP 00002984: POP 00002985: PUSH1 0x40 00002987: MLOAD 00002988: RETURNDATASIZE 00002989: PUSH1 0x1f 0000298b: NOT 0000298c: PUSH1 0x1f 0000298e: DUP3 0000298f: ADD 00002990: AND 00002991: DUP3 00002992: ADD 00002993: DUP1 00002994: PUSH1 0x40 00002996: MSTORE 00002997: POP 00002998: DUP2 00002999: ADD 0000299a: SWAP1 0000299b: PUSH2 0x29a4 0000299e: SWAP2 0000299f: SWAP1 000029a0: PUSH2 0x4602 000029a3: JUMP 000029a4: JUMPDEST 000029a5: PUSH1 0x02 000029a7: SUB 000029a8: PUSH2 0x29b8 000029ab: JUMPI 000029ac: PUSH4 0x57c7c24f 000029b1: PUSH0 000029b2: MSTORE 000029b3: PUSH1 0x04 000029b5: PUSH1 0x1c 000029b7: REVERT 000029b8: JUMPDEST 000029b9: DUP6 000029ba: DUP6 000029bb: GT 000029bc: ISZERO 000029bd: PUSH2 0x29cd 000029c0: JUMPI 000029c1: PUSH4 0x5f3bd953 000029c6: PUSH0 000029c7: MSTORE 000029c8: PUSH1 0x04 000029ca: PUSH1 0x1c 000029cc: REVERT 000029cd: JUMPDEST 000029ce: PUSH2 0x1388 000029d1: DUP5 000029d2: GT 000029d3: ISZERO 000029d4: PUSH2 0x29e4 000029d7: JUMPI 000029d8: PUSH4 0xf14508d0 000029dd: PUSH0 000029de: MSTORE 000029df: PUSH1 0x04 000029e1: PUSH1 0x1c 000029e3: REVERT 000029e4: JUMPDEST 000029e5: PUSH1 0x03 000029e7: DUP1 000029e8: SLOAD 000029e9: PUSH2 0xffff 000029ec: DUP4 000029ed: AND 000029ee: SWAP1 000029ef: DUP2 000029f0: SWAP1 000029f1: SUB 000029f2: SWAP2 000029f3: DUP3 000029f4: SWAP1 000029f5: SSTORE 000029f6: SWAP1 000029f7: DUP9 000029f8: DUP2 000029f9: ADD 000029fa: DUP2 000029fb: DUP2 000029fc: LT 000029fd: ISZERO 000029fe: PUSH2 0x2a05 00002a01: JUMPI 00002a02: PUSH0 00002a03: DUP1 00002a04: REVERT 00002a05: JUMPDEST 00002a06: PUSH2 0x2710 00002a09: DUP2 00002a0a: GT 00002a0b: ISZERO 00002a0c: PUSH2 0x2a1c 00002a0f: JUMPI 00002a10: PUSH4 0x79facb0d 00002a15: PUSH0 00002a16: MSTORE 00002a17: PUSH1 0x04 00002a19: PUSH1 0x1c 00002a1b: REVERT 00002a1c: JUMPDEST 00002a1d: POP 00002a1e: DUP1 00002a1f: DUP10 00002a20: ADD 00002a21: PUSH1 0x03 00002a23: SSTORE 00002a24: PUSH16 0xffffffffffffffffffffffff00000000 00002a35: DUP4 00002a36: AND 00002a37: PUSH1 0x80 00002a39: DUP10 00002a3a: DUP2 00002a3b: SHL 00002a3c: PUSH4 0xffff0000 00002a41: PUSH1 0x10 00002a43: DUP11 00002a44: SWAP1 00002a45: SHL 00002a46: AND 00002a47: PUSH2 0xffff 00002a4a: DUP14 00002a4b: AND 00002a4c: OR 00002a4d: OR 00002a4e: SWAP2 00002a4f: SWAP1 00002a50: SWAP2 00002a51: OR 00002a52: DUP6 00002a53: SSTORE 00002a54: PUSH1 0x01 00002a56: DUP6 00002a57: ADD 00002a58: DUP1 00002a59: SLOAD 00002a5a: PUSH1 0x01 00002a5c: PUSH1 0x01 00002a5e: PUSH1 0x80 00002a60: SHL 00002a61: SUB 00002a62: NOT 00002a63: AND 00002a64: PUSH1 0x01 00002a66: PUSH1 0x01 00002a68: PUSH1 0x80 00002a6a: SHL 00002a6b: SUB 00002a6c: DUP11 00002a6d: AND 00002a6e: OR 00002a6f: SWAP1 00002a70: SSTORE 00002a71: PUSH0 00002a72: DUP11 00002a73: DUP2 00002a74: MSTORE 00002a75: PUSH1 0x20 00002a77: DUP11 00002a78: SWAP1 00002a79: MSTORE 00002a7a: PUSH1 0x40 00002a7c: DUP10 00002a7d: SWAP1 00002a7e: MSTORE 00002a7f: PUSH1 0x60 00002a81: DUP9 00002a82: SWAP1 00002a83: MSTORE 00002a84: DUP12 00002a85: SWAP2 00002a86: PUSH32 0x102a33a8369310733322056f2c0f753209cd77c65b1ce5775c2d6f181e38778f 00002aa7: SWAP2 00002aa8: LOG2 00002aa9: POP 00002aaa: POP 00002aab: POP 00002aac: POP 00002aad: POP 00002aae: POP 00002aaf: POP 00002ab0: POP 00002ab1: POP 00002ab2: POP 00002ab3: JUMP 00002ab4: JUMPDEST 00002ab5: PUSH0 00002ab6: PUSH2 0x0fca 00002ab9: DUP3 00002aba: PUSH2 0x2408 00002abd: JUMP 00002abe: JUMPDEST 00002abf: PUSH2 0x2ac6 00002ac2: PUSH2 0x2e78 00002ac5: JUMP 00002ac6: JUMPDEST 00002ac7: PUSH4 0x389a75e1 00002acc: PUSH1 0x0c 00002ace: MSTORE 00002acf: DUP1 00002ad0: PUSH0 00002ad1: MSTORE 00002ad2: PUSH1 0x20 00002ad4: PUSH1 0x0c 00002ad6: KECCAK256 00002ad7: DUP1 00002ad8: SLOAD 00002ad9: TIMESTAMP 00002ada: GT 00002adb: ISZERO 00002adc: PUSH2 0x2aec 00002adf: JUMPI 00002ae0: PUSH4 0x6f5e8818 00002ae5: PUSH0 00002ae6: MSTORE 00002ae7: PUSH1 0x04 00002ae9: PUSH1 0x1c 00002aeb: REVERT 00002aec: JUMPDEST 00002aed: PUSH0 00002aee: SWAP1 00002aef: SSTORE 00002af0: PUSH2 0x16d2 00002af3: DUP2 00002af4: PUSH2 0x300f 00002af7: JUMP 00002af8: JUMPDEST 00002af9: PUSH1 0x01 00002afb: PUSH2 0x2b03 00002afe: DUP2 00002aff: PUSH2 0x2d81 00002b02: JUMP 00002b03: JUMPDEST 00002b04: PUSH1 0x07 00002b06: DUP1 00002b07: SLOAD 00002b08: PUSH1 0x01 00002b0a: PUSH1 0x01 00002b0c: PUSH1 0xa0 00002b0e: SHL 00002b0f: SUB 00002b10: NOT 00002b11: AND 00002b12: PUSH1 0x01 00002b14: PUSH1 0x01 00002b16: PUSH1 0xa0 00002b18: SHL 00002b19: SUB 00002b1a: DUP5 00002b1b: AND 00002b1c: OR 00002b1d: SWAP1 00002b1e: SSTORE 00002b1f: PUSH0 00002b20: DUP3 00002b21: DUP2 00002b22: MSTORE 00002b23: PUSH32 0x7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1 00002b44: SWAP1 00002b45: PUSH1 0x20 00002b47: SWAP1 00002b48: LOG1 00002b49: POP 00002b4a: POP 00002b4b: JUMP 00002b4c: JUMPDEST 00002b4d: PUSH2 0x2b54 00002b50: PUSH2 0x2e78 00002b53: JUMP 00002b54: JUMPDEST 00002b55: DUP1 00002b56: PUSH1 0x60 00002b58: SHL 00002b59: PUSH2 0x2b69 00002b5c: JUMPI 00002b5d: PUSH4 0x7448fbae 00002b62: PUSH0 00002b63: MSTORE 00002b64: PUSH1 0x04 00002b66: PUSH1 0x1c 00002b68: REVERT 00002b69: JUMPDEST 00002b6a: PUSH2 0x16d2 00002b6d: DUP2 00002b6e: PUSH2 0x300f 00002b71: JUMP 00002b72: JUMPDEST 00002b73: PUSH1 0x01 00002b75: PUSH2 0x2b7d 00002b78: DUP2 00002b79: PUSH2 0x2d81 00002b7c: JUMP 00002b7d: JUMPDEST 00002b7e: PUSH2 0x2710 00002b81: DUP3 00002b82: GT 00002b83: ISZERO 00002b84: PUSH2 0x2b94 00002b87: JUMPI 00002b88: PUSH4 0x8e9b51ff 00002b8d: PUSH0 00002b8e: MSTORE 00002b8f: PUSH1 0x04 00002b91: PUSH1 0x1c 00002b93: REVERT 00002b94: JUMPDEST 00002b95: DUP2 00002b96: PUSH1 0x1e 00002b98: DUP2 00002b99: SWAP1 00002b9a: SSTORE 00002b9b: POP 00002b9c: DUP2 00002b9d: PUSH0 00002b9e: MSTORE 00002b9f: PUSH32 0x2147e2bc8c39e67f74b1a9e08896ea1485442096765942206af1f4bc8bcde917 00002bc0: PUSH1 0x20 00002bc2: PUSH0 00002bc3: LOG1 00002bc4: POP 00002bc5: POP 00002bc6: JUMP 00002bc7: JUMPDEST 00002bc8: PUSH1 0x04 00002bca: SLOAD 00002bcb: PUSH1 0x40 00002bcd: DUP1 00002bce: MLOAD 00002bcf: PUSH2 0x0280 00002bd2: DUP2 00002bd3: ADD 00002bd4: SWAP2 00002bd5: DUP3 00002bd6: SWAP1 00002bd7: MSTORE 00002bd8: PUSH0 00002bd9: SWAP2 00002bda: PUSH1 0x09 00002bdc: SWAP1 00002bdd: PUSH1 0x14 00002bdf: SWAP1 00002be0: DUP3 00002be1: DUP5 00002be2: JUMPDEST 00002be3: DUP2 00002be4: SLOAD 00002be5: PUSH1 0x01 00002be7: PUSH1 0x01 00002be9: PUSH1 0xa0 00002beb: SHL 00002bec: SUB 00002bed: AND 00002bee: DUP2 00002bef: MSTORE 00002bf0: PUSH1 0x01 00002bf2: SWAP1 00002bf3: SWAP2 00002bf4: ADD 00002bf5: SWAP1 00002bf6: PUSH1 0x20 00002bf8: ADD 00002bf9: DUP1 00002bfa: DUP4 00002bfb: GT 00002bfc: PUSH2 0x2be2 00002bff: JUMPI 00002c00: POP 00002c01: POP 00002c02: POP 00002c03: POP 00002c04: POP 00002c05: SWAP1 00002c06: POP 00002c07: PUSH0 00002c08: JUMPDEST 00002c09: PUSH1 0x14 00002c0b: DUP2 00002c0c: LT 00002c0d: ISZERO 00002c0e: PUSH2 0x2cb4 00002c11: JUMPI 00002c12: PUSH0 00002c13: DUP3 00002c14: DUP3 00002c15: PUSH1 0x14 00002c17: DUP2 00002c18: LT 00002c19: PUSH2 0x2c24 00002c1c: JUMPI 00002c1d: PUSH2 0x2c24 00002c20: PUSH2 0x45db 00002c23: JUMP 00002c24: JUMPDEST 00002c25: PUSH1 0x20 00002c27: MUL 00002c28: ADD 00002c29: MLOAD 00002c2a: SWAP1 00002c2b: POP 00002c2c: PUSH1 0x01 00002c2e: PUSH1 0x01 00002c30: PUSH1 0xa0 00002c32: SHL 00002c33: SUB 00002c34: DUP2 00002c35: AND 00002c36: PUSH2 0x2c3f 00002c39: JUMPI 00002c3a: POP 00002c3b: POP 00002c3c: POP 00002c3d: SWAP1 00002c3e: JUMP 00002c3f: JUMPDEST 00002c40: DUP1 00002c41: PUSH1 0x01 00002c43: PUSH1 0x01 00002c45: PUSH1 0xa0 00002c47: SHL 00002c48: SUB 00002c49: AND 00002c4a: PUSH4 0xefbb5cb0 00002c4f: PUSH1 0x40 00002c51: MLOAD 00002c52: DUP2 00002c53: PUSH4 0xffffffff 00002c58: AND 00002c59: PUSH1 0xe0 00002c5b: SHL 00002c5c: DUP2 00002c5d: MSTORE 00002c5e: PUSH1 0x04 00002c60: ADD 00002c61: PUSH1 0x20 00002c63: PUSH1 0x40 00002c65: MLOAD 00002c66: DUP1 00002c67: DUP4 00002c68: SUB 00002c69: DUP2 00002c6a: DUP7 00002c6b: GAS 00002c6c: STATICCALL 00002c6d: ISZERO 00002c6e: DUP1 00002c6f: ISZERO 00002c70: PUSH2 0x2c7b 00002c73: JUMPI 00002c74: RETURNDATASIZE 00002c75: PUSH0 00002c76: DUP1 00002c77: RETURNDATACOPY 00002c78: RETURNDATASIZE 00002c79: PUSH0 00002c7a: REVERT 00002c7b: JUMPDEST 00002c7c: POP 00002c7d: POP 00002c7e: POP 00002c7f: POP 00002c80: PUSH1 0x40 00002c82: MLOAD 00002c83: RETURNDATASIZE 00002c84: PUSH1 0x1f 00002c86: NOT 00002c87: PUSH1 0x1f 00002c89: DUP3 00002c8a: ADD 00002c8b: AND 00002c8c: DUP3 00002c8d: ADD 00002c8e: DUP1 00002c8f: PUSH1 0x40 00002c91: MSTORE 00002c92: POP 00002c93: DUP2 00002c94: ADD 00002c95: SWAP1 00002c96: PUSH2 0x2c9f 00002c99: SWAP2 00002c9a: SWAP1 00002c9b: PUSH2 0x4602 00002c9e: JUMP 00002c9f: JUMPDEST 00002ca0: PUSH2 0x2ca9 00002ca3: SWAP1 00002ca4: DUP6 00002ca5: PUSH2 0x44dd 00002ca8: JUMP 00002ca9: JUMPDEST 00002caa: SWAP4 00002cab: POP 00002cac: POP 00002cad: PUSH1 0x01 00002caf: ADD 00002cb0: PUSH2 0x2c08 00002cb3: JUMP 00002cb4: JUMPDEST 00002cb5: POP 00002cb6: POP 00002cb7: SWAP1 00002cb8: JUMP 00002cb9: JUMPDEST 00002cba: DUP3 00002cbb: DUP3 00002cbc: MUL 00002cbd: PUSH0 00002cbe: NOT 00002cbf: DUP4 00002cc0: DUP6 00002cc1: MULMOD 00002cc2: DUP2 00002cc3: DUP2 00002cc4: LT 00002cc5: DUP3 00002cc6: ADD 00002cc7: SWAP1 00002cc8: SUB 00002cc9: DUP1 00002cca: PUSH2 0x2ce8 00002ccd: JUMPI 00002cce: DUP3 00002ccf: PUSH2 0x2cdf 00002cd2: JUMPI 00002cd3: PUSH4 0xae47f702 00002cd8: PUSH0 00002cd9: MSTORE 00002cda: PUSH1 0x04 00002cdc: PUSH1 0x1c 00002cde: REVERT 00002cdf: JUMPDEST 00002ce0: POP 00002ce1: DUP2 00002ce2: SWAP1 00002ce3: DIV 00002ce4: PUSH2 0x0f79 00002ce7: JUMP 00002ce8: JUMPDEST 00002ce9: DUP1 00002cea: DUP4 00002ceb: GT 00002cec: PUSH2 0x2cfc 00002cef: JUMPI 00002cf0: PUSH4 0xae47f702 00002cf5: PUSH0 00002cf6: MSTORE 00002cf7: PUSH1 0x04 00002cf9: PUSH1 0x1c 00002cfb: REVERT 00002cfc: JUMPDEST 00002cfd: DUP3 00002cfe: DUP5 00002cff: DUP7 00002d00: MULMOD 00002d01: PUSH0 00002d02: DUP5 00002d03: DUP2 00002d04: SUB 00002d05: DUP6 00002d06: AND 00002d07: SWAP5 00002d08: DUP6 00002d09: SWAP1 00002d0a: DIV 00002d0b: SWAP5 00002d0c: DUP5 00002d0d: DUP4 00002d0e: GT 00002d0f: SWAP1 00002d10: SWAP4 00002d11: SUB 00002d12: SWAP1 00002d13: DUP4 00002d14: SWAP1 00002d15: SUB 00002d16: DUP4 00002d17: SWAP1 00002d18: DIV 00002d19: PUSH1 0x01 00002d1b: ADD 00002d1c: MUL 00002d1d: SWAP3 00002d1e: SUB 00002d1f: DIV 00002d20: OR 00002d21: PUSH1 0x02 00002d23: PUSH1 0x03 00002d25: DUP4 00002d26: MUL 00002d27: DUP2 00002d28: XOR 00002d29: DUP1 00002d2a: DUP5 00002d2b: MUL 00002d2c: DUP3 00002d2d: SUB 00002d2e: MUL 00002d2f: DUP1 00002d30: DUP5 00002d31: MUL 00002d32: DUP3 00002d33: SUB 00002d34: MUL 00002d35: DUP1 00002d36: DUP5 00002d37: MUL 00002d38: DUP3 00002d39: SUB 00002d3a: MUL 00002d3b: DUP1 00002d3c: DUP5 00002d3d: MUL 00002d3e: DUP3 00002d3f: SUB 00002d40: MUL 00002d41: DUP1 00002d42: DUP5 00002d43: MUL 00002d44: DUP3 00002d45: SUB 00002d46: MUL 00002d47: DUP1 00002d48: DUP5 00002d49: MUL 00002d4a: SWAP1 00002d4b: SWAP2 00002d4c: SUB 00002d4d: MUL 00002d4e: MUL 00002d4f: SWAP4 00002d50: SWAP3 00002d51: POP 00002d52: POP 00002d53: POP 00002d54: JUMP 00002d55: JUMPDEST 00002d56: PUSH0 00002d57: PUSH2 0x2d61 00002d5a: DUP5 00002d5b: DUP5 00002d5c: DUP5 00002d5d: PUSH2 0x2cb9 00002d60: JUMP 00002d61: JUMPDEST 00002d62: SWAP1 00002d63: POP 00002d64: DUP2 00002d65: DUP4 00002d66: DUP6 00002d67: MULMOD 00002d68: ISZERO 00002d69: PUSH2 0x0f79 00002d6c: JUMPI 00002d6d: PUSH1 0x01 00002d6f: ADD 00002d70: DUP1 00002d71: PUSH2 0x0f79 00002d74: JUMPI 00002d75: PUSH4 0xae47f702 00002d7a: PUSH0 00002d7b: MSTORE 00002d7c: PUSH1 0x04 00002d7e: PUSH1 0x1c 00002d80: REVERT 00002d81: JUMPDEST 00002d82: PUSH4 0x8b78c6d8 00002d87: PUSH1 0x0c 00002d89: MSTORE 00002d8a: CALLER 00002d8b: PUSH0 00002d8c: MSTORE 00002d8d: DUP1 00002d8e: PUSH1 0x20 00002d90: PUSH1 0x0c 00002d92: KECCAK256 00002d93: SLOAD 00002d94: AND 00002d95: PUSH2 0x16d2 00002d98: JUMPI 00002d99: PUSH4 0x82b42900 00002d9e: PUSH0 00002d9f: MSTORE 00002da0: PUSH1 0x04 00002da2: PUSH1 0x1c 00002da4: REVERT 00002da5: JUMPDEST 00002da6: PUSH2 0x16c4 00002da9: DUP3 00002daa: DUP3 00002dab: PUSH1 0x01 00002dad: PUSH2 0x3d66 00002db0: JUMP 00002db1: JUMPDEST 00002db2: PUSH0 00002db3: DUP1 00002db4: JUMPDEST 00002db5: PUSH1 0x14 00002db7: DUP2 00002db8: LT 00002db9: ISZERO 00002dba: PUSH2 0x16c4 00002dbd: JUMPI 00002dbe: PUSH0 00002dbf: PUSH1 0x09 00002dc1: DUP3 00002dc2: PUSH1 0x14 00002dc4: DUP2 00002dc5: LT 00002dc6: PUSH2 0x2dd1 00002dc9: JUMPI 00002dca: PUSH2 0x2dd1 00002dcd: PUSH2 0x45db 00002dd0: JUMP 00002dd1: JUMPDEST 00002dd2: ADD 00002dd3: SLOAD 00002dd4: PUSH1 0x01 00002dd6: PUSH1 0x01 00002dd8: PUSH1 0xa0 00002dda: SHL 00002ddb: SUB 00002ddc: AND 00002ddd: SWAP1 00002dde: POP 00002ddf: DUP1 00002de0: PUSH2 0x2dee 00002de3: JUMPI 00002de4: DUP3 00002de5: PUSH1 0x01 00002de7: ADD 00002de8: SWAP3 00002de9: POP 00002dea: PUSH2 0x2e64 00002ded: JUMP 00002dee: JUMPDEST 00002def: DUP3 00002df0: ISZERO 00002df1: PUSH2 0x2e64 00002df4: JUMPI 00002df5: DUP1 00002df6: PUSH1 0x09 00002df8: PUSH2 0x2e01 00002dfb: DUP6 00002dfc: DUP6 00002dfd: PUSH2 0x45ef 00002e00: JUMP 00002e01: JUMPDEST 00002e02: PUSH1 0x14 00002e04: DUP2 00002e05: LT 00002e06: PUSH2 0x2e11 00002e09: JUMPI 00002e0a: PUSH2 0x2e11 00002e0d: PUSH2 0x45db 00002e10: JUMP 00002e11: JUMPDEST 00002e12: ADD 00002e13: DUP1 00002e14: SLOAD 00002e15: PUSH1 0x01 00002e17: PUSH1 0x01 00002e19: PUSH1 0xa0 00002e1b: SHL 00002e1c: SUB 00002e1d: NOT 00002e1e: AND 00002e1f: PUSH1 0x01 00002e21: PUSH1 0x01 00002e23: PUSH1 0xa0 00002e25: SHL 00002e26: SUB 00002e27: SWAP3 00002e28: SWAP1 00002e29: SWAP3 00002e2a: AND 00002e2b: SWAP2 00002e2c: SWAP1 00002e2d: SWAP2 00002e2e: OR 00002e2f: SWAP1 00002e30: SSTORE 00002e31: PUSH0 00002e32: PUSH1 0x09 00002e34: DUP4 00002e35: PUSH1 0x14 00002e37: DUP2 00002e38: LT 00002e39: PUSH2 0x2e44 00002e3c: JUMPI 00002e3d: PUSH2 0x2e44 00002e40: PUSH2 0x45db 00002e43: JUMP 00002e44: JUMPDEST 00002e45: ADD 00002e46: DUP1 00002e47: SLOAD 00002e48: PUSH1 0x01 00002e4a: PUSH1 0x01 00002e4c: PUSH1 0xa0 00002e4e: SHL 00002e4f: SUB 00002e50: NOT 00002e51: AND 00002e52: PUSH1 0x01 00002e54: PUSH1 0x01 00002e56: PUSH1 0xa0 00002e58: SHL 00002e59: SUB 00002e5a: SWAP3 00002e5b: SWAP1 00002e5c: SWAP3 00002e5d: AND 00002e5e: SWAP2 00002e5f: SWAP1 00002e60: SWAP2 00002e61: OR 00002e62: SWAP1 00002e63: SSTORE 00002e64: JUMPDEST 00002e65: POP 00002e66: PUSH1 0x01 00002e68: ADD 00002e69: PUSH2 0x2db4 00002e6c: JUMP 00002e6d: JUMPDEST 00002e6e: PUSH2 0x16c4 00002e71: DUP3 00002e72: DUP3 00002e73: PUSH0 00002e74: PUSH2 0x3d66 00002e77: JUMP 00002e78: JUMPDEST 00002e79: PUSH4 0x8b78c6d8 00002e7e: NOT 00002e7f: SLOAD 00002e80: CALLER 00002e81: EQ 00002e82: PUSH2 0x1baa 00002e85: JUMPI 00002e86: PUSH4 0x82b42900 00002e8b: PUSH0 00002e8c: MSTORE 00002e8d: PUSH1 0x04 00002e8f: PUSH1 0x1c 00002e91: REVERT 00002e92: JUMPDEST 00002e93: PUSH0 00002e94: DUP3 00002e95: DUP3 00002e96: DUP5 00002e97: SUB 00002e98: GT 00002e99: PUSH2 0x2ea4 00002e9c: JUMPI 00002e9d: DUP2 00002e9e: DUP4 00002e9f: SUB 00002ea0: PUSH2 0x0f79 00002ea3: JUMP 00002ea4: JUMPDEST 00002ea5: PUSH0 00002ea6: SWAP4 00002ea7: SWAP3 00002ea8: POP 00002ea9: POP 00002eaa: POP 00002eab: JUMP 00002eac: JUMPDEST 00002ead: PUSH2 0x2ed8 00002eb0: DUP5 00002eb1: ADDRESS 00002eb2: DUP5 00002eb3: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 00002ed4: PUSH2 0x1e2a 00002ed7: JUMP 00002ed8: JUMPDEST 00002ed9: PUSH0 00002eda: DUP4 00002edb: PUSH1 0x60 00002edd: SHL 00002ede: PUSH2 0x2eee 00002ee1: JUMPI 00002ee2: PUSH4 0xf6b2911f 00002ee7: PUSH0 00002ee8: MSTORE 00002ee9: PUSH1 0x04 00002eeb: PUSH1 0x1c 00002eed: REVERT 00002eee: JUMPDEST 00002eef: DUP3 00002ef0: PUSH2 0x2f00 00002ef3: JUMPI 00002ef4: PUSH4 0xdd484e70 00002ef9: PUSH0 00002efa: MSTORE 00002efb: PUSH1 0x04 00002efd: PUSH1 0x1c 00002eff: REVERT 00002f00: JUMPDEST 00002f01: POP 00002f02: PUSH1 0x04 00002f04: SLOAD 00002f05: PUSH1 0x05 00002f07: SLOAD 00002f08: DUP2 00002f09: ADD 00002f0a: DUP2 00002f0b: DUP2 00002f0c: LT 00002f0d: ISZERO 00002f0e: PUSH2 0x2f15 00002f11: JUMPI 00002f12: PUSH0 00002f13: DUP1 00002f14: REVERT 00002f15: JUMPDEST 00002f16: DUP4 00002f17: DUP2 00002f18: ADD 00002f19: DUP2 00002f1a: DUP2 00002f1b: LT 00002f1c: ISZERO 00002f1d: PUSH2 0x2f24 00002f20: JUMPI 00002f21: PUSH0 00002f22: DUP1 00002f23: REVERT 00002f24: JUMPDEST 00002f25: POP 00002f26: POP 00002f27: DUP2 00002f28: PUSH2 0x2f38 00002f2b: JUMPI 00002f2c: PUSH4 0x5a870a25 00002f31: PUSH0 00002f32: MSTORE 00002f33: PUSH1 0x04 00002f35: PUSH1 0x1c 00002f37: REVERT 00002f38: JUMPDEST 00002f39: PUSH2 0x2f42 00002f3c: DUP5 00002f3d: DUP4 00002f3e: PUSH2 0x3dbd 00002f41: JUMP 00002f42: JUMPDEST 00002f43: DUP3 00002f44: DUP2 00002f45: ADD 00002f46: PUSH1 0x04 00002f48: SSTORE 00002f49: DUP3 00002f4a: PUSH0 00002f4b: MSTORE 00002f4c: DUP2 00002f4d: PUSH1 0x20 00002f4f: MSTORE 00002f50: PUSH0 00002f51: NOT 00002f52: PUSH1 0x60 00002f54: SHR 00002f55: DUP5 00002f56: DUP2 00002f57: AND 00002f58: DUP7 00002f59: DUP3 00002f5a: AND 00002f5b: PUSH32 0xdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d7 00002f7c: PUSH1 0x40 00002f7e: PUSH0 00002f7f: LOG3 00002f80: POP 00002f81: PUSH1 0x01 00002f83: SLOAD 00002f84: PUSH2 0x0100 00002f87: SWAP1 00002f88: DIV 00002f89: PUSH1 0xff 00002f8b: AND 00002f8c: DUP1 00002f8d: ISZERO 00002f8e: PUSH2 0x2fa6 00002f91: JUMPI 00002f92: POP 00002f93: TIMESTAMP 00002f94: PUSH3 0x093a80 00002f98: PUSH1 0x06 00002f9a: SLOAD 00002f9b: PUSH2 0x2fa4 00002f9e: SWAP2 00002f9f: SWAP1 00002fa0: PUSH2 0x44dd 00002fa3: JUMP 00002fa4: JUMPDEST 00002fa5: LT 00002fa6: JUMPDEST 00002fa7: ISZERO 00002fa8: PUSH2 0x3008 00002fab: JUMPI 00002fac: PUSH0 00002fad: DUP1 00002fae: PUSH0 00002faf: PUSH2 0x2fb7 00002fb2: DUP8 00002fb3: PUSH2 0x3e26 00002fb6: JUMP 00002fb7: JUMPDEST 00002fb8: SWAP3 00002fb9: POP 00002fba: SWAP3 00002fbb: POP 00002fbc: SWAP3 00002fbd: POP 00002fbe: DUP2 00002fbf: PUSH2 0x3004 00002fc2: JUMPI 00002fc3: DUP3 00002fc4: PUSH1 0x01 00002fc6: PUSH1 0x01 00002fc8: PUSH1 0xa0 00002fca: SHL 00002fcb: SUB 00002fcc: AND 00002fcd: PUSH32 0x97480aa46df4509f46b1c69560de6c385692ab01d037c7ad5b4ef10961512187 00002fee: DUP3 00002fef: PUSH1 0x40 00002ff1: MLOAD 00002ff2: PUSH2 0x2ffb 00002ff5: SWAP2 00002ff6: SWAP1 00002ff7: PUSH2 0x41d8 00002ffa: JUMP 00002ffb: JUMPDEST 00002ffc: PUSH1 0x40 00002ffe: MLOAD 00002fff: DUP1 00003000: SWAP2 00003001: SUB 00003002: SWAP1 00003003: LOG2 00003004: JUMPDEST 00003005: POP 00003006: POP 00003007: POP 00003008: JUMPDEST 00003009: POP 0000300a: POP 0000300b: POP 0000300c: POP 0000300d: POP 0000300e: JUMP 0000300f: JUMPDEST 00003010: PUSH4 0x8b78c6d8 00003015: NOT 00003016: DUP1 00003017: SLOAD 00003018: PUSH1 0x01 0000301a: PUSH1 0x01 0000301c: PUSH1 0xa0 0000301e: SHL 0000301f: SUB 00003020: SWAP1 00003021: SWAP3 00003022: AND 00003023: SWAP2 00003024: DUP3 00003025: SWAP1 00003026: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00003047: PUSH0 00003048: DUP1 00003049: LOG3 0000304a: SSTORE 0000304b: JUMP 0000304c: JUMPDEST 0000304d: PUSH1 0x05 0000304f: SLOAD 00003050: PUSH1 0x04 00003052: SLOAD 00003053: DUP2 00003054: ADD 00003055: SWAP1 00003056: DUP1 00003057: DUP3 00003058: LT 00003059: ISZERO 0000305a: PUSH2 0x3061 0000305d: JUMPI 0000305e: PUSH0 0000305f: DUP1 00003060: REVERT 00003061: JUMPDEST 00003062: POP 00003063: SWAP1 00003064: JUMP 00003065: JUMPDEST 00003066: PUSH0 00003067: DUP2 00003068: PUSH1 0x14 0000306a: MSTORE 0000306b: PUSH4 0x70a08231 00003070: PUSH1 0x60 00003072: SHL 00003073: PUSH0 00003074: MSTORE 00003075: PUSH1 0x20 00003077: DUP1 00003078: PUSH1 0x24 0000307a: PUSH1 0x10 0000307c: DUP7 0000307d: GAS 0000307e: STATICCALL 0000307f: PUSH1 0x1f 00003081: RETURNDATASIZE 00003082: GT 00003083: AND 00003084: PUSH1 0x20 00003086: MLOAD 00003087: MUL 00003088: SWAP1 00003089: POP 0000308a: SWAP3 0000308b: SWAP2 0000308c: POP 0000308d: POP 0000308e: JUMP 0000308f: JUMPDEST 00003090: PUSH0 00003091: DUP3 00003092: DUP2 00003093: MSTORE 00003094: PUSH1 0x08 00003096: PUSH1 0x20 00003098: MSTORE 00003099: PUSH1 0x40 0000309b: DUP2 0000309c: KECCAK256 0000309d: DUP1 0000309e: SLOAD 0000309f: PUSH1 0x02 000030a1: DUP3 000030a2: ADD 000030a3: SLOAD 000030a4: PUSH1 0x01 000030a6: PUSH1 0x01 000030a8: PUSH1 0x80 000030aa: SHL 000030ab: SUB 000030ac: DUP2 000030ad: AND 000030ae: SWAP4 000030af: PUSH2 0xffff 000030b2: DUP4 000030b3: AND 000030b4: SWAP4 000030b5: SWAP1 000030b6: SWAP3 000030b7: DUP4 000030b8: SWAP3 000030b9: DUP7 000030ba: DUP9 000030bb: GT 000030bc: ISZERO 000030bd: PUSH2 0x30c4 000030c0: JUMPI 000030c1: DUP7 000030c2: SWAP8 000030c3: POP 000030c4: JUMPDEST 000030c5: PUSH1 0x03 000030c7: SLOAD 000030c8: PUSH1 0x05 000030ca: SLOAD 000030cb: SWAP6 000030cc: POP 000030cd: SWAP4 000030ce: POP 000030cf: PUSH0 000030d0: DUP6 000030d1: ISZERO 000030d2: PUSH2 0x3100 000030d5: JUMPI 000030d6: PUSH2 0x30fd 000030d9: DUP7 000030da: PUSH2 0x30e3 000030dd: DUP8 000030de: DUP13 000030df: PUSH2 0x46e6 000030e2: JUMP 000030e3: JUMPDEST 000030e4: PUSH2 0x30ed 000030e7: SWAP2 000030e8: SWAP1 000030e9: PUSH2 0x46fd 000030ec: JUMP 000030ed: JUMPDEST 000030ee: DUP9 000030ef: PUSH2 0xffff 000030f2: AND 000030f3: DUP1 000030f4: DUP3 000030f5: XOR 000030f6: SWAP1 000030f7: DUP3 000030f8: GT 000030f9: MUL 000030fa: XOR 000030fb: SWAP1 000030fc: JUMP 000030fd: JUMPDEST 000030fe: SWAP1 000030ff: POP 00003100: JUMPDEST 00003101: DUP5 00003102: DUP2 00003103: GT 00003104: ISZERO 00003105: PUSH2 0x310c 00003108: JUMPI 00003109: PUSH0 0000310a: DUP1 0000310b: REVERT 0000310c: JUMPDEST 0000310d: DUP6 0000310e: DUP10 0000310f: GT 00003110: ISZERO 00003111: PUSH2 0x3118 00003114: JUMPI 00003115: PUSH0 00003116: DUP1 00003117: REVERT 00003118: JUMPDEST 00003119: DUP7 0000311a: DUP2 0000311b: GT 0000311c: ISZERO 0000311d: PUSH2 0x3124 00003120: JUMPI 00003121: PUSH0 00003122: DUP1 00003123: REVERT 00003124: JUMPDEST 00003125: DUP1 00003126: DUP6 00003127: SUB 00003128: PUSH1 0x03 0000312a: SSTORE 0000312b: DUP9 0000312c: DUP7 0000312d: SUB 0000312e: PUSH1 0x05 00003130: SSTORE 00003131: PUSH2 0xffff 00003134: DUP2 00003135: DUP9 00003136: SUB 00003137: AND 00003138: PUSH2 0xffff 0000313b: NOT 0000313c: DUP5 0000313d: AND 0000313e: OR 0000313f: DUP5 00003140: SSTORE 00003141: PUSH1 0x80 00003143: DUP3 00003144: SWAP1 00003145: SHR 00003146: DUP10 00003147: ADD 00003148: DUP10 00003149: DUP2 0000314a: LT 0000314b: ISZERO 0000314c: PUSH2 0x3153 0000314f: JUMPI 00003150: PUSH0 00003151: DUP1 00003152: REVERT 00003153: JUMPDEST 00003154: DUP10 00003155: DUP10 00003156: SUB 00003157: PUSH1 0x80 00003159: SHL 0000315a: PUSH1 0x80 0000315c: SHR 0000315d: DUP2 0000315e: PUSH1 0x80 00003160: SHL 00003161: OR 00003162: SWAP3 00003163: POP 00003164: POP 00003165: DUP2 00003166: PUSH1 0x02 00003168: DUP6 00003169: ADD 0000316a: SSTORE 0000316b: POP 0000316c: POP 0000316d: POP 0000316e: POP 0000316f: POP 00003170: POP 00003171: POP 00003172: POP 00003173: POP 00003174: POP 00003175: JUMP 00003176: JUMPDEST 00003177: PUSH0 00003178: DUP1 00003179: PUSH0 0000317a: DUP6 0000317b: PUSH0 0000317c: MSTORE 0000317d: PUSH1 0x08 0000317f: PUSH1 0x20 00003181: MSTORE 00003182: PUSH1 0x40 00003184: PUSH0 00003185: KECCAK256 00003186: SLOAD 00003187: SWAP1 00003188: POP 00003189: PUSH0 0000318a: DUP6 0000318b: EQ 0000318c: TIMESTAMP 0000318d: DUP3 0000318e: PUSH1 0xb0 00003190: SHL 00003191: PUSH1 0xd0 00003193: SHR 00003194: EQ 00003195: OR 00003196: ISZERO 00003197: PUSH2 0x319f 0000319a: JUMPI 0000319b: PUSH1 0x01 0000319d: SWAP2 0000319e: POP 0000319f: JUMPDEST 000031a0: DUP2 000031a1: ISZERO 000031a2: PUSH2 0x31af 000031a5: JUMPI 000031a6: PUSH0 000031a7: SWAP3 000031a8: POP 000031a9: POP 000031aa: POP 000031ab: PUSH2 0x0f79 000031ae: JUMP 000031af: JUMPDEST 000031b0: PUSH6 0xffffffffffff 000031b7: PUSH1 0x50 000031b9: DUP3 000031ba: SWAP1 000031bb: SHR 000031bc: AND 000031bd: TIMESTAMP 000031be: SUB 000031bf: PUSH0 000031c0: DUP1 000031c1: DUP1 000031c2: DUP1 000031c3: DUP1 000031c4: DUP6 000031c5: PUSH2 0x31d5 000031c8: JUMPI 000031c9: PUSH4 0x17de0c6e 000031ce: PUSH0 000031cf: MSTORE 000031d0: PUSH1 0x04 000031d2: PUSH1 0x1c 000031d4: REVERT 000031d5: JUMPDEST 000031d6: DUP7 000031d7: PUSH1 0xe0 000031d9: SHL 000031da: PUSH1 0xf0 000031dc: SHR 000031dd: SWAP5 000031de: POP 000031df: PUSH1 0x1e 000031e1: SLOAD 000031e2: PUSH1 0x1d 000031e4: SLOAD 000031e5: DUP2 000031e6: PUSH0 000031e7: NOT 000031e8: DIV 000031e9: DUP14 000031ea: GT 000031eb: DUP3 000031ec: MUL 000031ed: ISZERO 000031ee: PUSH2 0x31f5 000031f1: JUMPI 000031f2: PUSH0 000031f3: DUP1 000031f4: REVERT 000031f5: JUMPDEST 000031f6: PUSH2 0x2710 000031f9: DUP3 000031fa: DUP15 000031fb: MUL 000031fc: DIV 000031fd: SWAP6 000031fe: POP 000031ff: DUP7 00003200: PUSH0 00003201: NOT 00003202: DIV 00003203: DUP14 00003204: GT 00003205: DUP8 00003206: MUL 00003207: ISZERO 00003208: PUSH2 0x320f 0000320b: JUMPI 0000320c: PUSH0 0000320d: DUP1 0000320e: REVERT 0000320f: JUMPDEST 00003210: PUSH2 0x2710 00003213: DUP8 00003214: DUP15 00003215: MUL 00003216: DIV 00003217: SWAP5 00003218: POP 00003219: DUP1 0000321a: PUSH0 0000321b: NOT 0000321c: DIV 0000321d: DUP14 0000321e: GT 0000321f: DUP2 00003220: MUL 00003221: ISZERO 00003222: PUSH2 0x3229 00003225: JUMPI 00003226: PUSH0 00003227: DUP1 00003228: REVERT 00003229: JUMPDEST 0000322a: PUSH2 0x2710 0000322d: SWAP1 0000322e: DUP14 0000322f: MUL 00003230: DIV 00003231: SWAP3 00003232: POP 00003233: POP 00003234: POP 00003235: DUP3 00003236: DUP3 00003237: ADD 00003238: DUP2 00003239: ADD 0000323a: DUP11 0000323b: DUP2 0000323c: GT 0000323d: ISZERO 0000323e: PUSH2 0x3244 00003241: JUMPI 00003242: POP 00003243: DUP10 00003244: JUMPDEST 00003245: DUP1 00003246: ISZERO 00003247: PUSH2 0x3360 0000324a: JUMPI 0000324b: PUSH0 0000324c: PUSH2 0x3255 0000324f: ADDRESS 00003250: DUP4 00003251: PUSH2 0x4051 00003254: JUMP 00003255: JUMPDEST 00003256: SWAP1 00003257: POP 00003258: DUP4 00003259: ISZERO 0000325a: PUSH2 0x32e3 0000325d: JUMPI 0000325e: PUSH0 0000325f: DUP2 00003260: PUSH0 00003261: NOT 00003262: DIV 00003263: DUP6 00003264: GT 00003265: DUP3 00003266: MUL 00003267: ISZERO 00003268: PUSH2 0x326f 0000326b: JUMPI 0000326c: PUSH0 0000326d: DUP1 0000326e: REVERT 0000326f: JUMPDEST 00003270: DUP3 00003271: DUP3 00003272: DUP7 00003273: MUL 00003274: DIV 00003275: SWAP1 00003276: POP 00003277: PUSH2 0x32e1 0000327a: DUP15 0000327b: PUSH1 0x01 0000327d: PUSH1 0x01 0000327f: PUSH1 0xa0 00003281: SHL 00003282: SUB 00003283: AND 00003284: PUSH4 0x1fe4a686 00003289: PUSH1 0x40 0000328b: MLOAD 0000328c: DUP2 0000328d: PUSH4 0xffffffff 00003292: AND 00003293: PUSH1 0xe0 00003295: SHL 00003296: DUP2 00003297: MSTORE 00003298: PUSH1 0x04 0000329a: ADD 0000329b: PUSH1 0x20 0000329d: PUSH1 0x40 0000329f: MLOAD 000032a0: DUP1 000032a1: DUP4 000032a2: SUB 000032a3: DUP2 000032a4: DUP7 000032a5: GAS 000032a6: STATICCALL 000032a7: ISZERO 000032a8: DUP1 000032a9: ISZERO 000032aa: PUSH2 0x32b5 000032ad: JUMPI 000032ae: RETURNDATASIZE 000032af: PUSH0 000032b0: DUP1 000032b1: RETURNDATACOPY 000032b2: RETURNDATASIZE 000032b3: PUSH0 000032b4: REVERT 000032b5: JUMPDEST 000032b6: POP 000032b7: POP 000032b8: POP 000032b9: POP 000032ba: PUSH1 0x40 000032bc: MLOAD 000032bd: RETURNDATASIZE 000032be: PUSH1 0x1f 000032c0: NOT 000032c1: PUSH1 0x1f 000032c3: DUP3 000032c4: ADD 000032c5: AND 000032c6: DUP3 000032c7: ADD 000032c8: DUP1 000032c9: PUSH1 0x40 000032cb: MSTORE 000032cc: POP 000032cd: DUP2 000032ce: ADD 000032cf: SWAP1 000032d0: PUSH2 0x32d9 000032d3: SWAP2 000032d4: SWAP1 000032d5: PUSH2 0x4619 000032d8: JUMP 000032d9: JUMPDEST 000032da: ADDRESS 000032db: SWAP1 000032dc: DUP4 000032dd: PUSH2 0x34c3 000032e0: JUMP 000032e1: JUMPDEST 000032e2: POP 000032e3: JUMPDEST 000032e4: PUSH4 0x87a211a2 000032e9: PUSH1 0x0c 000032eb: SWAP1 000032ec: DUP2 000032ed: MSTORE 000032ee: ADDRESS 000032ef: PUSH0 000032f0: MSTORE 000032f1: PUSH1 0x20 000032f3: SWAP1 000032f4: KECCAK256 000032f5: SLOAD 000032f6: DUP1 000032f7: ISZERO 000032f8: PUSH2 0x335d 000032fb: JUMPI 000032fc: PUSH1 0x01 000032fe: PUSH1 0x01 00003300: PUSH1 0xa0 00003302: SHL 00003303: SUB 00003304: DUP13 00003305: AND 00003306: ISZERO 00003307: PUSH2 0x333f 0000330a: JUMPI 0000330b: PUSH2 0x332b 0000330e: DUP13 0000330f: DUP5 00003310: PUSH2 0x3319 00003313: DUP10 00003314: DUP6 00003315: PUSH2 0x46e6 00003318: JUMP 00003319: JUMPDEST 0000331a: PUSH2 0x3323 0000331d: SWAP2 0000331e: SWAP1 0000331f: PUSH2 0x46fd 00003322: JUMP 00003323: JUMPDEST 00003324: ADDRESS 00003325: SWAP2 00003326: SWAP1 00003327: PUSH2 0x34c3 0000332a: JUMP 0000332b: JUMPDEST 0000332c: POP 0000332d: PUSH4 0x87a211a2 00003332: PUSH1 0x0c 00003334: SWAP1 00003335: DUP2 00003336: MSTORE 00003337: ADDRESS 00003338: PUSH0 00003339: MSTORE 0000333a: PUSH1 0x20 0000333c: SWAP1 0000333d: KECCAK256 0000333e: SLOAD 0000333f: JUMPDEST 00003340: DUP1 00003341: ISZERO 00003342: PUSH2 0x335d 00003345: JUMPI 00003346: PUSH1 0x07 00003348: SLOAD 00003349: PUSH2 0x335d 0000334c: SWAP1 0000334d: ADDRESS 0000334e: SWAP1 0000334f: PUSH1 0x01 00003351: PUSH1 0x01 00003353: PUSH1 0xa0 00003355: SHL 00003356: SUB 00003357: AND 00003358: DUP4 00003359: PUSH2 0x34c3 0000335c: JUMP 0000335d: JUMPDEST 0000335e: POP 0000335f: POP 00003360: JUMPDEST 00003361: PUSH1 0x40 00003363: MLOAD 00003364: DUP5 00003365: PUSH0 00003366: MSTORE 00003367: DUP3 00003368: PUSH1 0x20 0000336a: MSTORE 0000336b: DUP4 0000336c: PUSH1 0x40 0000336e: MSTORE 0000336f: DUP7 00003370: PUSH1 0x60 00003372: MSTORE 00003373: PUSH32 0x25bf703141a84375d04ea08a0c4a21c7406f300f133e12aef555607b4f3ff238 00003394: PUSH1 0x80 00003396: PUSH0 00003397: LOG1 00003398: PUSH1 0x40 0000339a: MSTORE 0000339b: PUSH0 0000339c: PUSH1 0x60 0000339e: MSTORE 0000339f: SWAP12 000033a0: SWAP11 000033a1: POP 000033a2: POP 000033a3: POP 000033a4: POP 000033a5: POP 000033a6: POP 000033a7: POP 000033a8: POP 000033a9: POP 000033aa: POP 000033ab: POP 000033ac: JUMP 000033ad: JUMPDEST 000033ae: PUSH1 0x01 000033b0: SLOAD 000033b1: PUSH0 000033b2: SWAP1 000033b3: PUSH1 0xff 000033b5: AND 000033b6: ISZERO 000033b7: PUSH2 0x33c1 000033ba: JUMPI 000033bb: POP 000033bc: PUSH0 000033bd: SWAP2 000033be: SWAP1 000033bf: POP 000033c0: JUMP 000033c1: JUMPDEST 000033c2: PUSH0 000033c3: PUSH2 0x33ca 000033c6: PUSH2 0x304c 000033c9: JUMP 000033ca: JUMPDEST 000033cb: SWAP1 000033cc: POP 000033cd: PUSH0 000033ce: PUSH2 0x33d9 000033d1: PUSH1 0x03 000033d3: SLOAD 000033d4: DUP4 000033d5: PUSH2 0x4079 000033d8: JUMP 000033d9: JUMPDEST 000033da: PUSH1 0x05 000033dc: SLOAD 000033dd: PUSH0 000033de: DUP7 000033df: DUP2 000033e0: MSTORE 000033e1: PUSH1 0x08 000033e3: PUSH1 0x20 000033e5: MSTORE 000033e6: PUSH1 0x40 000033e8: DUP2 000033e9: KECCAK256 000033ea: PUSH1 0x02 000033ec: DUP2 000033ed: ADD 000033ee: SLOAD 000033ef: DUP2 000033f0: SLOAD 000033f1: SWAP5 000033f2: SWAP6 000033f3: POP 000033f4: SWAP3 000033f5: SWAP4 000033f6: SWAP2 000033f7: SWAP3 000033f8: SWAP1 000033f9: SWAP2 000033fa: SWAP1 000033fb: PUSH1 0x01 000033fd: PUSH1 0x01 000033ff: PUSH1 0x80 00003401: SHL 00003402: SUB 00003403: AND 00003404: DUP4 00003405: PUSH2 0xffff 00003408: DUP4 00003409: AND 0000340a: PUSH0 0000340b: NOT 0000340c: DUP10 0000340d: SWAP1 0000340e: DIV 0000340f: DUP2 00003410: GT 00003411: DUP10 00003412: MUL 00003413: ISZERO 00003414: PUSH2 0x341b 00003417: JUMPI 00003418: PUSH0 00003419: DUP1 0000341a: REVERT 0000341b: JUMPDEST 0000341c: PUSH2 0x2710 0000341f: SWAP1 00003420: DUP10 00003421: MUL 00003422: DIV 00003423: SWAP1 00003424: POP 00003425: DUP1 00003426: DUP3 00003427: GT 00003428: DUP8 00003429: DUP8 0000342a: GT 0000342b: OR 0000342c: ISZERO 0000342d: PUSH2 0x3435 00003430: JUMPI 00003431: PUSH1 0x01 00003433: SWAP5 00003434: POP 00003435: JUMPDEST 00003436: DUP5 00003437: ISZERO 00003438: PUSH2 0x344a 0000343b: JUMPI 0000343c: POP 0000343d: PUSH0 0000343e: SWAP10 0000343f: SWAP9 00003440: POP 00003441: POP 00003442: POP 00003443: POP 00003444: POP 00003445: POP 00003446: POP 00003447: POP 00003448: POP 00003449: JUMP 0000344a: JUMPDEST 0000344b: PUSH0 0000344c: PUSH2 0x345f 0000344f: DUP4 00003450: DUP4 00003451: SUB 00003452: DUP9 00003453: DUP11 00003454: SUB 00003455: DUP1 00003456: DUP3 00003457: XOR 00003458: SWAP1 00003459: DUP3 0000345a: GT 0000345b: MUL 0000345c: XOR 0000345d: SWAP1 0000345e: JUMP 0000345f: JUMPDEST 00003460: SWAP1 00003461: POP 00003462: PUSH2 0x3473 00003465: DUP2 00003466: PUSH1 0x04 00003468: SLOAD 00003469: DUP1 0000346a: DUP3 0000346b: XOR 0000346c: SWAP1 0000346d: DUP3 0000346e: GT 0000346f: MUL 00003470: XOR 00003471: SWAP1 00003472: JUMP 00003473: JUMPDEST 00003474: PUSH1 0x01 00003476: DUP7 00003477: ADD 00003478: SLOAD 00003479: SWAP1 0000347a: SWAP2 0000347b: POP 0000347c: PUSH1 0x01 0000347e: PUSH1 0x01 00003480: PUSH1 0x80 00003482: SHL 00003483: SUB 00003484: AND 00003485: DUP2 00003486: LT 00003487: ISZERO 00003488: PUSH2 0x3490 0000348b: JUMPI 0000348c: PUSH1 0x01 0000348e: SWAP6 0000348f: POP 00003490: JUMPDEST 00003491: DUP6 00003492: ISZERO 00003493: PUSH2 0x34a6 00003496: JUMPI 00003497: POP 00003498: PUSH0 00003499: SWAP11 0000349a: SWAP10 0000349b: POP 0000349c: POP 0000349d: POP 0000349e: POP 0000349f: POP 000034a0: POP 000034a1: POP 000034a2: POP 000034a3: POP 000034a4: POP 000034a5: JUMP 000034a6: JUMPDEST 000034a7: PUSH1 0x80 000034a9: SWAP4 000034aa: SWAP1 000034ab: SWAP4 000034ac: SHR 000034ad: DUP4 000034ae: DUP2 000034af: XOR 000034b0: SWAP1 000034b1: DUP5 000034b2: GT 000034b3: MUL 000034b4: SWAP1 000034b5: SWAP3 000034b6: XOR 000034b7: SWAP10 000034b8: SWAP9 000034b9: POP 000034ba: POP 000034bb: POP 000034bc: POP 000034bd: POP 000034be: POP 000034bf: POP 000034c0: POP 000034c1: POP 000034c2: JUMP 000034c3: JUMPDEST 000034c4: DUP2 000034c5: PUSH1 0x14 000034c7: MSTORE 000034c8: DUP1 000034c9: PUSH1 0x34 000034cb: MSTORE 000034cc: PUSH4 0xa9059cbb 000034d1: PUSH1 0x60 000034d3: SHL 000034d4: PUSH0 000034d5: MSTORE 000034d6: PUSH1 0x20 000034d8: PUSH0 000034d9: PUSH1 0x44 000034db: PUSH1 0x10 000034dd: PUSH0 000034de: DUP8 000034df: GAS 000034e0: CALL 000034e1: RETURNDATASIZE 000034e2: ISZERO 000034e3: PUSH1 0x01 000034e5: PUSH0 000034e6: MLOAD 000034e7: EQ 000034e8: OR 000034e9: AND 000034ea: PUSH2 0x34fa 000034ed: JUMPI 000034ee: PUSH4 0x90b8ec18 000034f3: PUSH0 000034f4: MSTORE 000034f5: PUSH1 0x04 000034f7: PUSH1 0x1c 000034f9: REVERT 000034fa: JUMPDEST 000034fb: PUSH0 000034fc: PUSH1 0x34 000034fe: MSTORE 000034ff: POP 00003500: POP 00003501: POP 00003502: JUMP 00003503: JUMPDEST 00003504: PUSH1 0x40 00003506: MLOAD 00003507: DUP2 00003508: PUSH1 0x60 0000350a: MSTORE 0000350b: DUP3 0000350c: PUSH1 0x40 0000350e: MSTORE 0000350f: DUP4 00003510: PUSH1 0x60 00003512: SHL 00003513: PUSH1 0x2c 00003515: MSTORE 00003516: PUSH4 0x23b872dd 0000351b: PUSH1 0x60 0000351d: SHL 0000351e: PUSH1 0x0c 00003520: MSTORE 00003521: PUSH1 0x20 00003523: PUSH0 00003524: PUSH1 0x64 00003526: PUSH1 0x1c 00003528: PUSH0 00003529: DUP10 0000352a: GAS 0000352b: CALL 0000352c: RETURNDATASIZE 0000352d: ISZERO 0000352e: PUSH1 0x01 00003530: PUSH0 00003531: MLOAD 00003532: EQ 00003533: OR 00003534: AND 00003535: PUSH2 0x3545 00003538: JUMPI 00003539: PUSH4 0x7939f424 0000353e: PUSH0 0000353f: MSTORE 00003540: PUSH1 0x04 00003542: PUSH1 0x1c 00003544: REVERT 00003545: JUMPDEST 00003546: PUSH0 00003547: PUSH1 0x60 00003549: MSTORE 0000354a: PUSH1 0x40 0000354c: MSTORE 0000354d: POP 0000354e: POP 0000354f: POP 00003550: POP 00003551: JUMP 00003552: JUMPDEST 00003553: PUSH0 00003554: DUP2 00003555: DUP2 00003556: MSTORE 00003557: PUSH1 0x08 00003559: PUSH1 0x20 0000355b: MSTORE 0000355c: PUSH1 0x40 0000355e: DUP2 0000355f: KECCAK256 00003560: PUSH1 0x02 00003562: DUP2 00003563: ADD 00003564: SLOAD 00003565: SWAP1 00003566: SLOAD 00003567: PUSH1 0x03 00003569: SLOAD 0000356a: PUSH1 0x01 0000356c: PUSH1 0x01 0000356e: PUSH1 0x80 00003570: SHL 00003571: SUB 00003572: SWAP1 00003573: SWAP3 00003574: AND 00003575: SWAP2 00003576: PUSH2 0xffff 00003579: SWAP1 0000357a: SWAP2 0000357b: AND 0000357c: SWAP1 0000357d: ISZERO 0000357e: DUP1 0000357f: PUSH2 0x358a 00003582: JUMPI 00003583: POP 00003584: PUSH1 0x01 00003586: SLOAD 00003587: PUSH1 0xff 00003589: AND 0000358a: JUMPDEST 0000358b: ISZERO 0000358c: PUSH2 0x3596 0000358f: JUMPI 00003590: POP 00003591: SWAP3 00003592: SWAP2 00003593: POP 00003594: POP 00003595: JUMP 00003596: JUMPDEST 00003597: PUSH0 00003598: PUSH2 0x35a8 0000359b: DUP3 0000359c: PUSH2 0x35a3 0000359f: PUSH2 0x304c 000035a2: JUMP 000035a3: JUMPDEST 000035a4: PUSH2 0x4079 000035a7: JUMP 000035a8: JUMPDEST 000035a9: SWAP1 000035aa: POP 000035ab: DUP3 000035ac: DUP2 000035ad: LT 000035ae: PUSH2 0x35bb 000035b1: JUMPI 000035b2: POP 000035b3: PUSH0 000035b4: SWAP5 000035b5: SWAP4 000035b6: POP 000035b7: POP 000035b8: POP 000035b9: POP 000035ba: JUMP 000035bb: JUMPDEST 000035bc: SWAP1 000035bd: SWAP2 000035be: SUB 000035bf: SWAP4 000035c0: SWAP3 000035c1: POP 000035c2: POP 000035c3: POP 000035c4: JUMP 000035c5: JUMPDEST 000035c6: PUSH0 000035c7: DUP2 000035c8: PUSH2 0x35d8 000035cb: JUMPI 000035cc: PUSH4 0xdd484e70 000035d1: PUSH0 000035d2: MSTORE 000035d3: PUSH1 0x04 000035d5: PUSH1 0x1c 000035d7: REVERT 000035d8: JUMPDEST 000035d9: PUSH0 000035da: PUSH2 0x35e1 000035dd: PUSH2 0x2bc7 000035e0: JUMP 000035e1: JUMPDEST 000035e2: PUSH1 0x04 000035e4: SLOAD 000035e5: SWAP1 000035e6: SWAP2 000035e7: POP 000035e8: PUSH1 0x06 000035ea: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 0000360b: PUSH2 0x3619 0000360e: DUP7 0000360f: PUSH2 0x11dc 00003612: DUP5 00003613: PUSH1 0x0a 00003615: PUSH2 0x45d0 00003618: JUMP 00003619: JUMPDEST 0000361a: SWAP5 0000361b: POP 0000361c: DUP3 0000361d: DUP7 0000361e: GT 0000361f: ISZERO 00003620: PUSH2 0x38e6 00003623: JUMPI 00003624: PUSH0 00003625: DUP1 00003626: JUMPDEST 00003627: PUSH1 0x14 00003629: DUP2 0000362a: LT 0000362b: ISZERO 0000362c: PUSH2 0x3878 0000362f: JUMPI 00003630: PUSH0 00003631: PUSH1 0x09 00003633: DUP3 00003634: PUSH1 0x14 00003636: DUP2 00003637: LT 00003638: PUSH2 0x3643 0000363b: JUMPI 0000363c: PUSH2 0x3643 0000363f: PUSH2 0x45db 00003642: JUMP 00003643: JUMPDEST 00003644: ADD 00003645: SLOAD 00003646: PUSH1 0x01 00003648: PUSH1 0x01 0000364a: PUSH1 0xa0 0000364c: SHL 0000364d: SUB 0000364e: AND 0000364f: SWAP1 00003650: POP 00003651: DUP1 00003652: PUSH2 0x365b 00003655: JUMPI 00003656: POP 00003657: PUSH2 0x3878 0000365a: JUMP 0000365b: JUMPDEST 0000365c: DUP9 0000365d: DUP7 0000365e: LT 0000365f: PUSH2 0x3668 00003662: JUMPI 00003663: POP 00003664: PUSH2 0x3878 00003667: JUMP 00003668: JUMPDEST 00003669: PUSH0 0000366a: PUSH2 0x3673 0000366d: DUP8 0000366e: DUP12 0000366f: PUSH2 0x45ef 00003672: JUMP 00003673: JUMPDEST 00003674: SWAP1 00003675: POP 00003676: PUSH2 0x36b5 00003679: DUP2 0000367a: DUP4 0000367b: PUSH1 0x01 0000367d: PUSH1 0x01 0000367f: PUSH1 0xa0 00003681: SHL 00003682: SUB 00003683: AND 00003684: PUSH4 0x8f843dd1 00003689: PUSH1 0x40 0000368b: MLOAD 0000368c: DUP2 0000368d: PUSH4 0xffffffff 00003692: AND 00003693: PUSH1 0xe0 00003695: SHL 00003696: DUP2 00003697: MSTORE 00003698: PUSH1 0x04 0000369a: ADD 0000369b: PUSH1 0x20 0000369d: PUSH1 0x40 0000369f: MLOAD 000036a0: DUP1 000036a1: DUP4 000036a2: SUB 000036a3: DUP2 000036a4: DUP7 000036a5: GAS 000036a6: STATICCALL 000036a7: ISZERO 000036a8: DUP1 000036a9: ISZERO 000036aa: PUSH2 0x10e4 000036ad: JUMPI 000036ae: RETURNDATASIZE 000036af: PUSH0 000036b0: DUP1 000036b1: RETURNDATACOPY 000036b2: RETURNDATASIZE 000036b3: PUSH0 000036b4: REVERT 000036b5: JUMPDEST 000036b6: SWAP1 000036b7: POP 000036b8: DUP1 000036b9: PUSH0 000036ba: SUB 000036bb: PUSH2 0x36c8 000036be: JUMPI 000036bf: POP 000036c0: POP 000036c1: PUSH1 0x01 000036c3: ADD 000036c4: PUSH2 0x3626 000036c7: JUMP 000036c8: JUMPDEST 000036c9: PUSH0 000036ca: PUSH2 0x36dc 000036cd: PUSH1 0x01 000036cf: PUSH1 0x01 000036d1: PUSH1 0xa0 000036d3: SHL 000036d4: SUB 000036d5: DUP8 000036d6: AND 000036d7: ADDRESS 000036d8: PUSH2 0x3065 000036db: JUMP 000036dc: JUMPDEST 000036dd: SWAP1 000036de: POP 000036df: PUSH0 000036e0: DUP1 000036e1: DUP5 000036e2: PUSH1 0x01 000036e4: PUSH1 0x01 000036e6: PUSH1 0xa0 000036e8: SHL 000036e9: SUB 000036ea: AND 000036eb: PUSH4 0x1fd8c7b7 000036f0: DUP6 000036f1: PUSH1 0x40 000036f3: MLOAD 000036f4: DUP3 000036f5: PUSH4 0xffffffff 000036fa: AND 000036fb: PUSH1 0xe0 000036fd: SHL 000036fe: DUP2 000036ff: MSTORE 00003700: PUSH1 0x04 00003702: ADD 00003703: PUSH2 0x370e 00003706: SWAP2 00003707: DUP2 00003708: MSTORE 00003709: PUSH1 0x20 0000370b: ADD 0000370c: SWAP1 0000370d: JUMP 0000370e: JUMPDEST 0000370f: PUSH1 0x20 00003711: PUSH1 0x40 00003713: MLOAD 00003714: DUP1 00003715: DUP4 00003716: SUB 00003717: DUP2 00003718: PUSH0 00003719: DUP8 0000371a: GAS 0000371b: CALL 0000371c: SWAP3 0000371d: POP 0000371e: POP 0000371f: POP 00003720: DUP1 00003721: ISZERO 00003722: PUSH2 0x3748 00003725: JUMPI 00003726: POP 00003727: PUSH1 0x40 00003729: DUP1 0000372a: MLOAD 0000372b: PUSH1 0x1f 0000372d: RETURNDATASIZE 0000372e: SWAP1 0000372f: DUP2 00003730: ADD 00003731: PUSH1 0x1f 00003733: NOT 00003734: AND 00003735: DUP3 00003736: ADD 00003737: SWAP1 00003738: SWAP3 00003739: MSTORE 0000373a: PUSH2 0x3745 0000373d: SWAP2 0000373e: DUP2 0000373f: ADD 00003740: SWAP1 00003741: PUSH2 0x4602 00003744: JUMP 00003745: JUMPDEST 00003746: PUSH1 0x01 00003748: JUMPDEST 00003749: PUSH2 0x375c 0000374c: JUMPI 0000374d: DUP6 0000374e: PUSH1 0x01 00003750: ADD 00003751: SWAP6 00003752: POP 00003753: POP 00003754: POP 00003755: POP 00003756: POP 00003757: POP 00003758: PUSH2 0x3626 0000375b: JUMP 0000375c: JUMPDEST 0000375d: DUP1 0000375e: SWAP2 0000375f: POP 00003760: DUP4 00003761: PUSH2 0x376a 00003764: DUP11 00003765: ADDRESS 00003766: PUSH2 0x3065 00003769: JUMP 0000376a: JUMPDEST 0000376b: PUSH2 0x3774 0000376e: SWAP2 0000376f: SWAP1 00003770: PUSH2 0x45ef 00003773: JUMP 00003774: JUMPDEST 00003775: SWAP3 00003776: POP 00003777: POP 00003778: DUP2 00003779: PUSH0 0000377a: SUB 0000377b: PUSH2 0x378e 0000377e: JUMPI 0000377f: DUP6 00003780: PUSH1 0x01 00003782: ADD 00003783: SWAP6 00003784: POP 00003785: POP 00003786: POP 00003787: POP 00003788: POP 00003789: POP 0000378a: PUSH2 0x3626 0000378d: JUMP 0000378e: JUMPDEST 0000378f: PUSH2 0x3798 00003792: DUP3 00003793: DUP12 00003794: PUSH2 0x44dd 00003797: JUMP 00003798: JUMPDEST 00003799: SWAP10 0000379a: POP 0000379b: DUP1 0000379c: ISZERO 0000379d: PUSH2 0x37b6 000037a0: JUMPI 000037a1: PUSH2 0x37aa 000037a4: DUP2 000037a5: DUP9 000037a6: PUSH2 0x44dd 000037a9: JUMP 000037aa: JUMPDEST 000037ab: SWAP7 000037ac: POP 000037ad: PUSH2 0x37b6 000037b0: DUP6 000037b1: DUP3 000037b2: PUSH2 0x308f 000037b5: JUMP 000037b6: JUMPDEST 000037b7: PUSH1 0x01 000037b9: PUSH1 0x01 000037bb: PUSH1 0xa0 000037bd: SHL 000037be: SUB 000037bf: DUP6 000037c0: AND 000037c1: PUSH0 000037c2: SWAP1 000037c3: DUP2 000037c4: MSTORE 000037c5: PUSH1 0x08 000037c7: PUSH1 0x20 000037c9: MSTORE 000037ca: PUSH1 0x40 000037cc: DUP2 000037cd: KECCAK256 000037ce: PUSH1 0x02 000037d0: ADD 000037d1: DUP1 000037d2: SLOAD 000037d3: PUSH1 0x05 000037d5: DUP1 000037d6: SLOAD 000037d7: PUSH1 0x01 000037d9: PUSH1 0x01 000037db: PUSH1 0x80 000037dd: SHL 000037de: SUB 000037df: SWAP3 000037e0: DUP4 000037e1: AND 000037e2: DUP8 000037e3: DUP2 000037e4: XOR 000037e5: DUP9 000037e6: DUP3 000037e7: GT 000037e8: MUL 000037e9: XOR 000037ea: SWAP1 000037eb: DUP2 000037ec: SWAP1 000037ed: SUB 000037ee: SWAP1 000037ef: SWAP2 000037f0: SSTORE 000037f1: SWAP2 000037f2: SLOAD 000037f3: SWAP2 000037f4: SWAP3 000037f5: SWAP2 000037f6: PUSH2 0x3801 000037f9: SWAP2 000037fa: DUP5 000037fb: SWAP2 000037fc: AND 000037fd: PUSH2 0x45ef 00003800: JUMP 00003801: JUMPDEST 00003802: PUSH1 0x01 00003804: PUSH1 0x01 00003806: PUSH1 0xa0 00003808: SHL 00003809: SUB 0000380a: DUP9 0000380b: AND 0000380c: PUSH0 0000380d: SWAP1 0000380e: DUP2 0000380f: MSTORE 00003810: PUSH1 0x08 00003812: PUSH1 0x20 00003814: SWAP1 00003815: DUP2 00003816: MSTORE 00003817: PUSH1 0x40 00003819: DUP1 0000381a: DUP4 0000381b: KECCAK256 0000381c: PUSH1 0x02 0000381e: ADD 0000381f: DUP1 00003820: SLOAD 00003821: PUSH1 0x01 00003823: PUSH1 0x01 00003825: PUSH1 0x80 00003827: SHL 00003828: SUB 00003829: NOT 0000382a: AND 0000382b: PUSH1 0x01 0000382d: PUSH1 0x01 0000382f: PUSH1 0x80 00003831: SHL 00003832: SUB 00003833: DUP7 00003834: AND 00003835: OR 00003836: SWAP1 00003837: SSTORE 00003838: DUP4 00003839: DUP4 0000383a: MSTORE 0000383b: SWAP1 0000383c: DUP7 0000383d: SWAP1 0000383e: MSTORE 0000383f: SWAP2 00003840: SWAP3 00003841: POP 00003842: DUP9 00003843: SWAP2 00003844: PUSH32 0x8c1171ccd065c6769e1540f65c3c0874e5f7173ccdff7ca293238e69d000bf20 00003865: SWAP2 00003866: LOG2 00003867: DUP8 00003868: PUSH1 0x01 0000386a: ADD 0000386b: SWAP8 0000386c: POP 0000386d: POP 0000386e: POP 0000386f: POP 00003870: POP 00003871: POP 00003872: POP 00003873: POP 00003874: PUSH2 0x3626 00003877: JUMP 00003878: JUMPDEST 00003879: POP 0000387a: PUSH1 0x04 0000387c: DUP5 0000387d: SWAP1 0000387e: SSTORE 0000387f: PUSH2 0x38ab 00003882: DUP2 00003883: PUSH2 0x388d 00003886: DUP6 00003887: PUSH1 0x0a 00003889: PUSH2 0x45d0 0000388c: JUMP 0000388d: JUMPDEST 0000388e: PUSH9 0x05345cdf77eb68f44c 00003898: SLOAD 00003899: PUSH2 0x38a2 0000389c: SWAP2 0000389d: SWAP1 0000389e: PUSH2 0x44dd 000038a1: JUMP 000038a2: JUMPDEST 000038a3: PUSH1 0x01 000038a5: DUP9 000038a6: ADD 000038a7: PUSH2 0x2d55 000038aa: JUMP 000038ab: JUMPDEST 000038ac: PUSH2 0x38b5 000038af: SWAP1 000038b0: DUP8 000038b1: PUSH2 0x44dd 000038b4: JUMP 000038b5: JUMPDEST 000038b6: SWAP6 000038b7: POP 000038b8: DUP7 000038b9: DUP5 000038ba: LT 000038bb: ISZERO 000038bc: PUSH2 0x38e4 000038bf: JUMPI 000038c0: PUSH2 0x38d7 000038c3: PUSH2 0x38cc 000038c6: DUP6 000038c7: DUP10 000038c8: PUSH2 0x45ef 000038cb: JUMP 000038cc: JUMPDEST 000038cd: PUSH2 0x388d 000038d0: DUP6 000038d1: PUSH1 0x0a 000038d3: PUSH2 0x45d0 000038d6: JUMP 000038d7: JUMPDEST 000038d8: PUSH2 0x38e1 000038db: SWAP1 000038dc: DUP8 000038dd: PUSH2 0x44dd 000038e0: JUMP 000038e1: JUMPDEST 000038e2: SWAP6 000038e3: POP 000038e4: JUMPDEST 000038e5: POP 000038e6: JUMPDEST 000038e7: DUP7 000038e8: PUSH1 0x01 000038ea: PUSH1 0x01 000038ec: PUSH1 0xa0 000038ee: SHL 000038ef: SUB 000038f0: AND 000038f1: DUP10 000038f2: PUSH1 0x01 000038f4: PUSH1 0x01 000038f6: PUSH1 0xa0 000038f8: SHL 000038f9: SUB 000038fa: AND 000038fb: EQ 000038fc: PUSH2 0x390a 000038ff: JUMPI 00003900: PUSH2 0x390a 00003903: DUP8 00003904: DUP11 00003905: DUP8 00003906: PUSH2 0x4095 00003909: JUMP 0000390a: JUMPDEST 0000390b: PUSH2 0x3914 0000390e: DUP8 0000390f: DUP7 00003910: PUSH2 0x40d3 00003913: JUMP 00003914: JUMPDEST 00003915: PUSH1 0x04 00003917: SLOAD 00003918: DUP7 00003919: GT 0000391a: ISZERO 0000391b: PUSH2 0x3922 0000391e: JUMPI 0000391f: PUSH0 00003920: DUP1 00003921: REVERT 00003922: JUMPDEST 00003923: PUSH1 0x04 00003925: DUP1 00003926: SLOAD 00003927: DUP8 00003928: SWAP1 00003929: SUB 0000392a: SWAP1 0000392b: SSTORE 0000392c: PUSH2 0x3936 0000392f: DUP2 00003930: DUP10 00003931: DUP9 00003932: PUSH2 0x34c3 00003935: JUMP 00003936: JUMPDEST 00003937: DUP6 00003938: PUSH0 00003939: MSTORE 0000393a: DUP5 0000393b: PUSH1 0x20 0000393d: MSTORE 0000393e: PUSH0 0000393f: NOT 00003940: PUSH1 0x60 00003942: SHR 00003943: DUP8 00003944: DUP2 00003945: AND 00003946: DUP10 00003947: DUP3 00003948: AND 00003949: DUP12 0000394a: DUP4 0000394b: AND 0000394c: PUSH32 0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db 0000396d: PUSH1 0x40 0000396f: PUSH0 00003970: LOG4 00003971: POP 00003972: POP 00003973: POP 00003974: POP 00003975: POP 00003976: SWAP5 00003977: SWAP4 00003978: POP 00003979: POP 0000397a: POP 0000397b: POP 0000397c: JUMP 0000397d: JUMPDEST 0000397e: PUSH0 0000397f: DUP3 00003980: PUSH1 0x01 00003982: PUSH1 0x01 00003984: PUSH1 0xa0 00003986: SHL 00003987: SUB 00003988: AND 00003989: DUP6 0000398a: PUSH1 0x01 0000398c: PUSH1 0x01 0000398e: PUSH1 0xa0 00003990: SHL 00003991: SUB 00003992: AND 00003993: EQ 00003994: PUSH2 0x39a2 00003997: JUMPI 00003998: PUSH2 0x39a2 0000399b: DUP4 0000399c: DUP7 0000399d: DUP5 0000399e: PUSH2 0x4095 000039a1: JUMP 000039a2: JUMPDEST 000039a3: DUP2 000039a4: PUSH2 0x39b4 000039a7: JUMPI 000039a8: PUSH4 0x5a870a25 000039ad: PUSH0 000039ae: MSTORE 000039af: PUSH1 0x04 000039b1: PUSH1 0x1c 000039b3: REVERT 000039b4: JUMPDEST 000039b5: PUSH2 0x39bd 000039b8: DUP3 000039b9: PUSH2 0x0f3a 000039bc: JUMP 000039bd: JUMPDEST 000039be: PUSH1 0x04 000039c0: SLOAD 000039c1: SWAP1 000039c2: SWAP2 000039c3: POP 000039c4: PUSH32 0x000000000000000000000000a0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 000039e5: SWAP1 000039e6: DUP1 000039e7: DUP4 000039e8: GT 000039e9: ISZERO 000039ea: PUSH2 0x3c6f 000039ed: JUMPI 000039ee: PUSH0 000039ef: DUP1 000039f0: JUMPDEST 000039f1: PUSH1 0x14 000039f3: DUP2 000039f4: LT 000039f5: ISZERO 000039f6: PUSH2 0x3c57 000039f9: JUMPI 000039fa: PUSH0 000039fb: PUSH1 0x09 000039fd: DUP3 000039fe: PUSH1 0x14 00003a00: DUP2 00003a01: LT 00003a02: PUSH2 0x3a0d 00003a05: JUMPI 00003a06: PUSH2 0x3a0d 00003a09: PUSH2 0x45db 00003a0c: JUMP 00003a0d: JUMPDEST 00003a0e: ADD 00003a0f: SLOAD 00003a10: PUSH1 0x01 00003a12: PUSH1 0x01 00003a14: PUSH1 0xa0 00003a16: SHL 00003a17: SUB 00003a18: AND 00003a19: SWAP1 00003a1a: POP 00003a1b: DUP1 00003a1c: PUSH2 0x3a25 00003a1f: JUMPI 00003a20: POP 00003a21: PUSH2 0x3c57 00003a24: JUMP 00003a25: JUMPDEST 00003a26: DUP6 00003a27: DUP5 00003a28: LT 00003a29: PUSH2 0x3a32 00003a2c: JUMPI 00003a2d: POP 00003a2e: PUSH2 0x3c57 00003a31: JUMP 00003a32: JUMPDEST 00003a33: PUSH0 00003a34: DUP2 00003a35: PUSH0 00003a36: MSTORE 00003a37: PUSH1 0x08 00003a39: PUSH1 0x20 00003a3b: MSTORE 00003a3c: PUSH1 0x02 00003a3e: PUSH1 0x40 00003a40: PUSH0 00003a41: KECCAK256 00003a42: ADD 00003a43: SWAP1 00003a44: POP 00003a45: PUSH0 00003a46: DUP6 00003a47: DUP9 00003a48: SUB 00003a49: SWAP1 00003a4a: POP 00003a4b: PUSH2 0x3a8a 00003a4e: DUP2 00003a4f: DUP5 00003a50: PUSH1 0x01 00003a52: PUSH1 0x01 00003a54: PUSH1 0xa0 00003a56: SHL 00003a57: SUB 00003a58: AND 00003a59: PUSH4 0xa2b20eec 00003a5e: PUSH1 0x40 00003a60: MLOAD 00003a61: DUP2 00003a62: PUSH4 0xffffffff 00003a67: AND 00003a68: PUSH1 0xe0 00003a6a: SHL 00003a6b: DUP2 00003a6c: MSTORE 00003a6d: PUSH1 0x04 00003a6f: ADD 00003a70: PUSH1 0x20 00003a72: PUSH1 0x40 00003a74: MLOAD 00003a75: DUP1 00003a76: DUP4 00003a77: SUB 00003a78: DUP2 00003a79: DUP7 00003a7a: GAS 00003a7b: STATICCALL 00003a7c: ISZERO 00003a7d: DUP1 00003a7e: ISZERO 00003a7f: PUSH2 0x10e4 00003a82: JUMPI 00003a83: RETURNDATASIZE 00003a84: PUSH0 00003a85: DUP1 00003a86: RETURNDATACOPY 00003a87: RETURNDATASIZE 00003a88: PUSH0 00003a89: REVERT 00003a8a: JUMPDEST 00003a8b: SWAP1 00003a8c: POP 00003a8d: DUP1 00003a8e: PUSH0 00003a8f: SUB 00003a90: PUSH2 0x3aa1 00003a93: JUMPI 00003a94: DUP4 00003a95: PUSH1 0x01 00003a97: ADD 00003a98: SWAP4 00003a99: POP 00003a9a: POP 00003a9b: POP 00003a9c: POP 00003a9d: PUSH2 0x39f0 00003aa0: JUMP 00003aa1: JUMPDEST 00003aa2: PUSH0 00003aa3: PUSH2 0x3aac 00003aa6: DUP9 00003aa7: ADDRESS 00003aa8: PUSH2 0x3065 00003aab: JUMP 00003aac: JUMPDEST 00003aad: SWAP1 00003aae: POP 00003aaf: PUSH0 00003ab0: DUP1 00003ab1: DUP6 00003ab2: PUSH1 0x01 00003ab4: PUSH1 0x01 00003ab6: PUSH1 0xa0 00003ab8: SHL 00003ab9: SUB 00003aba: AND 00003abb: PUSH4 0x415f1240 00003ac0: DUP6 00003ac1: PUSH1 0x40 00003ac3: MLOAD 00003ac4: DUP3 00003ac5: PUSH4 0xffffffff 00003aca: AND 00003acb: PUSH1 0xe0 00003acd: SHL 00003ace: DUP2 00003acf: MSTORE 00003ad0: PUSH1 0x04 00003ad2: ADD 00003ad3: PUSH2 0x3ade 00003ad6: SWAP2 00003ad7: DUP2 00003ad8: MSTORE 00003ad9: PUSH1 0x20 00003adb: ADD 00003adc: SWAP1 00003add: JUMP 00003ade: JUMPDEST 00003adf: PUSH1 0x20 00003ae1: PUSH1 0x40 00003ae3: MLOAD 00003ae4: DUP1 00003ae5: DUP4 00003ae6: SUB 00003ae7: DUP2 00003ae8: PUSH0 00003ae9: DUP8 00003aea: GAS 00003aeb: CALL 00003aec: SWAP3 00003aed: POP 00003aee: POP 00003aef: POP 00003af0: DUP1 00003af1: ISZERO 00003af2: PUSH2 0x3b18 00003af5: JUMPI 00003af6: POP 00003af7: PUSH1 0x40 00003af9: DUP1 00003afa: MLOAD 00003afb: PUSH1 0x1f 00003afd: RETURNDATASIZE 00003afe: SWAP1 00003aff: DUP2 00003b00: ADD 00003b01: PUSH1 0x1f 00003b03: NOT 00003b04: AND 00003b05: DUP3 00003b06: ADD 00003b07: SWAP1 00003b08: SWAP3 00003b09: MSTORE 00003b0a: PUSH2 0x3b15 00003b0d: SWAP2 00003b0e: DUP2 00003b0f: ADD 00003b10: SWAP1 00003b11: PUSH2 0x4602 00003b14: JUMP 00003b15: JUMPDEST 00003b16: PUSH1 0x01 00003b18: JUMPDEST 00003b19: PUSH2 0x3b2d 00003b1c: JUMPI 00003b1d: DUP7 00003b1e: PUSH1 0x01 00003b20: ADD 00003b21: SWAP7 00003b22: POP 00003b23: POP 00003b24: POP 00003b25: POP 00003b26: POP 00003b27: POP 00003b28: POP 00003b29: PUSH2 0x39f0 00003b2c: JUMP 00003b2d: JUMPDEST 00003b2e: DUP1 00003b2f: SWAP2 00003b30: POP 00003b31: DUP4 00003b32: PUSH2 0x3b3b 00003b35: DUP13 00003b36: ADDRESS 00003b37: PUSH2 0x3065 00003b3a: JUMP 00003b3b: JUMPDEST 00003b3c: PUSH2 0x3b45 00003b3f: SWAP2 00003b40: SWAP1 00003b41: PUSH2 0x45ef 00003b44: JUMP 00003b45: JUMPDEST 00003b46: SWAP3 00003b47: POP 00003b48: POP 00003b49: DUP2 00003b4a: PUSH0 00003b4b: SUB 00003b4c: PUSH2 0x3b60 00003b4f: JUMPI 00003b50: DUP7 00003b51: PUSH1 0x01 00003b53: ADD 00003b54: SWAP7 00003b55: POP 00003b56: POP 00003b57: POP 00003b58: POP 00003b59: POP 00003b5a: POP 00003b5b: POP 00003b5c: PUSH2 0x39f0 00003b5f: JUMP 00003b60: JUMPDEST 00003b61: PUSH2 0x3b6a 00003b64: DUP3 00003b65: DUP11 00003b66: PUSH2 0x44dd 00003b69: JUMP 00003b6a: JUMPDEST 00003b6b: SWAP9 00003b6c: POP 00003b6d: DUP1 00003b6e: ISZERO 00003b6f: PUSH2 0x3b94 00003b72: JUMPI 00003b73: PUSH2 0x3b7c 00003b76: DUP2 00003b77: DUP13 00003b78: PUSH2 0x45ef 00003b7b: JUMP 00003b7c: JUMPDEST 00003b7d: SWAP11 00003b7e: POP 00003b7f: PUSH2 0x3b88 00003b82: DUP2 00003b83: DUP10 00003b84: PUSH2 0x44dd 00003b87: JUMP 00003b88: JUMPDEST 00003b89: SWAP8 00003b8a: POP 00003b8b: PUSH2 0x3b94 00003b8e: DUP7 00003b8f: DUP3 00003b90: PUSH2 0x308f 00003b93: JUMP 00003b94: JUMPDEST 00003b95: PUSH1 0x01 00003b97: PUSH1 0x01 00003b99: PUSH1 0xa0 00003b9b: SHL 00003b9c: SUB 00003b9d: DUP7 00003b9e: AND 00003b9f: PUSH0 00003ba0: SWAP1 00003ba1: DUP2 00003ba2: MSTORE 00003ba3: PUSH1 0x08 00003ba5: PUSH1 0x20 00003ba7: MSTORE 00003ba8: PUSH1 0x40 00003baa: DUP2 00003bab: KECCAK256 00003bac: PUSH1 0x02 00003bae: ADD 00003baf: DUP1 00003bb0: SLOAD 00003bb1: PUSH1 0x05 00003bb3: DUP1 00003bb4: SLOAD 00003bb5: PUSH1 0x01 00003bb7: PUSH1 0x01 00003bb9: PUSH1 0x80 00003bbb: SHL 00003bbc: SUB 00003bbd: SWAP3 00003bbe: DUP4 00003bbf: AND 00003bc0: DUP8 00003bc1: DUP2 00003bc2: XOR 00003bc3: DUP9 00003bc4: DUP3 00003bc5: GT 00003bc6: MUL 00003bc7: XOR 00003bc8: SWAP1 00003bc9: DUP2 00003bca: SWAP1 00003bcb: SUB 00003bcc: SWAP1 00003bcd: SWAP2 00003bce: SSTORE 00003bcf: SWAP2 00003bd0: SLOAD 00003bd1: SWAP2 00003bd2: SWAP3 00003bd3: SWAP2 00003bd4: PUSH2 0x3bdf 00003bd7: SWAP2 00003bd8: DUP5 00003bd9: SWAP2 00003bda: AND 00003bdb: PUSH2 0x45ef 00003bde: JUMP 00003bdf: JUMPDEST 00003be0: PUSH1 0x01 00003be2: PUSH1 0x01 00003be4: PUSH1 0xa0 00003be6: SHL 00003be7: SUB 00003be8: DUP10 00003be9: AND 00003bea: PUSH0 00003beb: SWAP1 00003bec: DUP2 00003bed: MSTORE 00003bee: PUSH1 0x08 00003bf0: PUSH1 0x20 00003bf2: SWAP1 00003bf3: DUP2 00003bf4: MSTORE 00003bf5: PUSH1 0x40 00003bf7: DUP1 00003bf8: DUP4 00003bf9: KECCAK256 00003bfa: PUSH1 0x02 00003bfc: ADD 00003bfd: DUP1 00003bfe: SLOAD 00003bff: PUSH1 0x01 00003c01: PUSH1 0x01 00003c03: PUSH1 0x80 00003c05: SHL 00003c06: SUB 00003c07: NOT 00003c08: AND 00003c09: PUSH1 0x01 00003c0b: PUSH1 0x01 00003c0d: PUSH1 0x80 00003c0f: SHL 00003c10: SUB 00003c11: DUP7 00003c12: AND 00003c13: OR 00003c14: SWAP1 00003c15: SSTORE 00003c16: DUP4 00003c17: DUP4 00003c18: MSTORE 00003c19: SWAP1 00003c1a: DUP7 00003c1b: SWAP1 00003c1c: MSTORE 00003c1d: SWAP2 00003c1e: SWAP3 00003c1f: POP 00003c20: DUP10 00003c21: SWAP2 00003c22: PUSH32 0x8c1171ccd065c6769e1540f65c3c0874e5f7173ccdff7ca293238e69d000bf20 00003c43: SWAP2 00003c44: LOG2 00003c45: DUP9 00003c46: PUSH1 0x01 00003c48: ADD 00003c49: SWAP9 00003c4a: POP 00003c4b: POP 00003c4c: POP 00003c4d: POP 00003c4e: POP 00003c4f: POP 00003c50: POP 00003c51: POP 00003c52: POP 00003c53: PUSH2 0x39f0 00003c56: JUMP 00003c57: JUMPDEST 00003c58: POP 00003c59: PUSH1 0x04 00003c5b: DUP3 00003c5c: SWAP1 00003c5d: SSTORE 00003c5e: DUP4 00003c5f: DUP2 00003c60: ADD 00003c61: DUP5 00003c62: DUP2 00003c63: LT 00003c64: ISZERO 00003c65: PUSH2 0x3c6c 00003c68: JUMPI 00003c69: PUSH0 00003c6a: DUP1 00003c6b: REVERT 00003c6c: JUMPDEST 00003c6d: POP 00003c6e: POP 00003c6f: JUMPDEST 00003c70: DUP3 00003c71: PUSH2 0x3c81 00003c74: JUMPI 00003c75: PUSH4 0xdd484e70 00003c7a: PUSH0 00003c7b: MSTORE 00003c7c: PUSH1 0x04 00003c7e: PUSH1 0x1c 00003c80: REVERT 00003c81: JUMPDEST 00003c82: PUSH2 0x3c8b 00003c85: DUP6 00003c86: DUP6 00003c87: PUSH2 0x40d3 00003c8a: JUMP 00003c8b: JUMPDEST 00003c8c: PUSH1 0x04 00003c8e: SLOAD 00003c8f: DUP4 00003c90: GT 00003c91: ISZERO 00003c92: PUSH2 0x3c9b 00003c95: JUMPI 00003c96: PUSH1 0x04 00003c98: SLOAD 00003c99: SWAP3 00003c9a: POP 00003c9b: JUMPDEST 00003c9c: DUP3 00003c9d: PUSH2 0x3cad 00003ca0: JUMPI 00003ca1: PUSH4 0xdd484e70 00003ca6: PUSH0 00003ca7: MSTORE 00003ca8: PUSH1 0x04 00003caa: PUSH1 0x1c 00003cac: REVERT 00003cad: JUMPDEST 00003cae: PUSH1 0x04 00003cb0: DUP1 00003cb1: SLOAD 00003cb2: DUP5 00003cb3: SWAP1 00003cb4: SUB 00003cb5: SWAP1 00003cb6: SSTORE 00003cb7: PUSH2 0x3cc1 00003cba: DUP3 00003cbb: DUP8 00003cbc: DUP6 00003cbd: PUSH2 0x34c3 00003cc0: JUMP 00003cc1: JUMPDEST 00003cc2: DUP3 00003cc3: PUSH0 00003cc4: MSTORE 00003cc5: DUP4 00003cc6: PUSH1 0x20 00003cc8: MSTORE 00003cc9: PUSH0 00003cca: NOT 00003ccb: PUSH1 0x60 00003ccd: SHR 00003cce: DUP6 00003ccf: DUP2 00003cd0: AND 00003cd1: DUP8 00003cd2: DUP3 00003cd3: AND 00003cd4: DUP10 00003cd5: DUP4 00003cd6: AND 00003cd7: PUSH32 0xfbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db 00003cf8: PUSH1 0x40 00003cfa: PUSH0 00003cfb: LOG4 00003cfc: POP 00003cfd: POP 00003cfe: POP 00003cff: SWAP5 00003d00: SWAP4 00003d01: POP 00003d02: POP 00003d03: POP 00003d04: POP 00003d05: JUMP 00003d06: JUMPDEST 00003d07: DUP1 00003d08: PUSH1 0x03 00003d0a: PUSH0 00003d0b: DUP3 00003d0c: DUP3 00003d0d: SLOAD 00003d0e: PUSH2 0x3d17 00003d11: SWAP2 00003d12: SWAP1 00003d13: PUSH2 0x45ef 00003d16: JUMP 00003d17: JUMPDEST 00003d18: SWAP1 00003d19: SWAP2 00003d1a: SSTORE 00003d1b: POP 00003d1c: POP 00003d1d: PUSH1 0x01 00003d1f: PUSH1 0x01 00003d21: PUSH1 0xa0 00003d23: SHL 00003d24: SUB 00003d25: DUP3 00003d26: AND 00003d27: PUSH0 00003d28: SWAP1 00003d29: DUP2 00003d2a: MSTORE 00003d2b: PUSH1 0x08 00003d2d: PUSH1 0x20 00003d2f: MSTORE 00003d30: PUSH1 0x40 00003d32: DUP2 00003d33: KECCAK256 00003d34: DUP1 00003d35: SLOAD 00003d36: PUSH2 0xffff 00003d39: NOT 00003d3a: AND 00003d3b: SWAP1 00003d3c: SSTORE 00003d3d: DUP3 00003d3e: SWAP1 00003d3f: PUSH32 0x4201c688d84c01154d321afa0c72f1bffe9eef53005c9de9d035074e71e9b32a 00003d60: SWAP1 00003d61: DUP1 00003d62: LOG2 00003d63: POP 00003d64: POP 00003d65: JUMP 00003d66: JUMPDEST 00003d67: PUSH4 0x8b78c6d8 00003d6c: PUSH1 0x0c 00003d6e: MSTORE 00003d6f: DUP3 00003d70: PUSH0 00003d71: MSTORE 00003d72: PUSH1 0x20 00003d74: PUSH1 0x0c 00003d76: KECCAK256 00003d77: DUP1 00003d78: SLOAD 00003d79: DUP4 00003d7a: DUP2 00003d7b: OR 00003d7c: DUP4 00003d7d: PUSH2 0x3d87 00003d80: JUMPI 00003d81: POP 00003d82: DUP1 00003d83: DUP5 00003d84: AND 00003d85: DUP2 00003d86: XOR 00003d87: JUMPDEST 00003d88: DUP1 00003d89: DUP4 00003d8a: SSTORE 00003d8b: DUP1 00003d8c: PUSH1 0x0c 00003d8e: MLOAD 00003d8f: PUSH1 0x60 00003d91: SHR 00003d92: PUSH32 0x715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe26 00003db3: PUSH0 00003db4: DUP1 00003db5: LOG3 00003db6: POP 00003db7: POP 00003db8: POP 00003db9: POP 00003dba: POP 00003dbb: POP 00003dbc: JUMP 00003dbd: JUMPDEST 00003dbe: PUSH9 0x05345cdf77eb68f44c 00003dc8: SLOAD 00003dc9: DUP2 00003dca: DUP2 00003dcb: ADD 00003dcc: DUP2 00003dcd: DUP2 00003dce: LT 00003dcf: ISZERO 00003dd0: PUSH2 0x3de0 00003dd3: JUMPI 00003dd4: PUSH4 0xe5cfe957 00003dd9: PUSH0 00003dda: MSTORE 00003ddb: PUSH1 0x04 00003ddd: PUSH1 0x1c 00003ddf: REVERT 00003de0: JUMPDEST 00003de1: DUP1 00003de2: PUSH9 0x05345cdf77eb68f44c 00003dec: SSTORE 00003ded: POP 00003dee: POP 00003def: PUSH4 0x87a211a2 00003df4: PUSH1 0x0c 00003df6: MSTORE 00003df7: DUP2 00003df8: PUSH0 00003df9: MSTORE 00003dfa: PUSH1 0x20 00003dfc: PUSH1 0x0c 00003dfe: KECCAK256 00003dff: DUP2 00003e00: DUP2 00003e01: SLOAD 00003e02: ADD 00003e03: DUP2 00003e04: SSTORE 00003e05: POP 00003e06: DUP1 00003e07: PUSH1 0x20 00003e09: MSTORE 00003e0a: PUSH1 0x0c 00003e0c: MLOAD 00003e0d: PUSH1 0x60 00003e0f: SHR 00003e10: PUSH0 00003e11: PUSH0 00003e12: DUP1 00003e13: MLOAD 00003e14: PUSH1 0x20 00003e16: PUSH2 0x471d 00003e19: DUP4 00003e1a: CODECOPY 00003e1b: DUP2 00003e1c: MLOAD 00003e1d: SWAP2 00003e1e: MSTORE 00003e1f: PUSH1 0x20 00003e21: DUP1 00003e22: LOG3 00003e23: POP 00003e24: POP 00003e25: JUMP 00003e26: JUMPDEST 00003e27: PUSH1 0x40 00003e29: DUP1 00003e2a: MLOAD 00003e2b: PUSH2 0x0280 00003e2e: DUP2 00003e2f: ADD 00003e30: SWAP2 00003e31: DUP3 00003e32: SWAP1 00003e33: MSTORE 00003e34: PUSH0 00003e35: SWAP2 00003e36: DUP3 00003e37: SWAP2 00003e38: PUSH1 0x60 00003e3a: SWAP2 00003e3b: PUSH1 0x14 00003e3d: SWAP2 00003e3e: DUP5 00003e3f: SWAP2 00003e40: PUSH1 0x09 00003e42: SWAP1 00003e43: DUP5 00003e44: SWAP1 00003e45: DUP3 00003e46: DUP5 00003e47: JUMPDEST 00003e48: DUP2 00003e49: SLOAD 00003e4a: PUSH1 0x01 00003e4c: PUSH1 0x01 00003e4e: PUSH1 0xa0 00003e50: SHL 00003e51: SUB 00003e52: AND 00003e53: DUP2 00003e54: MSTORE 00003e55: PUSH1 0x01 00003e57: SWAP1 00003e58: SWAP2 00003e59: ADD 00003e5a: SWAP1 00003e5b: PUSH1 0x20 00003e5d: ADD 00003e5e: DUP1 00003e5f: DUP4 00003e60: GT 00003e61: PUSH2 0x3e47 00003e64: JUMPI 00003e65: POP 00003e66: POP 00003e67: POP 00003e68: POP 00003e69: POP 00003e6a: SWAP1 00003e6b: POP 00003e6c: PUSH0 00003e6d: PUSH1 0x01 00003e6f: DUP4 00003e70: PUSH2 0x3e79 00003e73: SWAP2 00003e74: SWAP1 00003e75: PUSH2 0x45ef 00003e78: JUMP 00003e79: JUMPDEST 00003e7a: PUSH1 0x01 00003e7c: SLOAD 00003e7d: PUSH3 0x010000 00003e81: SWAP1 00003e82: DIV 00003e83: PUSH1 0xff 00003e85: AND 00003e86: GT 00003e87: PUSH2 0x3e9b 00003e8a: JUMPI 00003e8b: PUSH1 0x01 00003e8d: SLOAD 00003e8e: PUSH3 0x010000 00003e92: SWAP1 00003e93: DIV 00003e94: PUSH1 0xff 00003e96: AND 00003e97: PUSH2 0x3e9d 00003e9a: JUMP 00003e9b: JUMPDEST 00003e9c: PUSH0 00003e9d: JUMPDEST 00003e9e: SWAP1 00003e9f: POP 00003ea0: PUSH0 00003ea1: JUMPDEST 00003ea2: DUP4 00003ea3: DUP3 00003ea4: PUSH1 0xff 00003ea6: AND 00003ea7: LT 00003ea8: ISZERO 00003ea9: PUSH2 0x3f20 00003eac: JUMPI 00003ead: PUSH1 0x08 00003eaf: PUSH0 00003eb0: DUP5 00003eb1: DUP5 00003eb2: PUSH1 0xff 00003eb4: AND 00003eb5: PUSH1 0x14 00003eb7: DUP2 00003eb8: LT 00003eb9: PUSH2 0x3ec4 00003ebc: JUMPI 00003ebd: PUSH2 0x3ec4 00003ec0: PUSH2 0x45db 00003ec3: JUMP 00003ec4: JUMPDEST 00003ec5: PUSH1 0x20 00003ec7: SWAP1 00003ec8: DUP2 00003ec9: MUL 00003eca: SWAP2 00003ecb: SWAP1 00003ecc: SWAP2 00003ecd: ADD 00003ece: MLOAD 00003ecf: PUSH1 0x01 00003ed1: PUSH1 0x01 00003ed3: PUSH1 0xa0 00003ed5: SHL 00003ed6: SUB 00003ed7: AND 00003ed8: DUP3 00003ed9: MSTORE 00003eda: DUP2 00003edb: ADD 00003edc: SWAP2 00003edd: SWAP1 00003ede: SWAP2 00003edf: MSTORE 00003ee0: PUSH1 0x40 00003ee2: ADD 00003ee3: PUSH0 00003ee4: KECCAK256 00003ee5: PUSH1 0x03 00003ee7: ADD 00003ee8: SLOAD 00003ee9: PUSH1 0xff 00003eeb: AND 00003eec: ISZERO 00003eed: PUSH2 0x3f15 00003ef0: JUMPI 00003ef1: DUP3 00003ef2: DUP3 00003ef3: PUSH1 0xff 00003ef5: AND 00003ef6: PUSH1 0x14 00003ef8: DUP2 00003ef9: LT 00003efa: PUSH2 0x3f05 00003efd: JUMPI 00003efe: PUSH2 0x3f05 00003f01: PUSH2 0x45db 00003f04: JUMP 00003f05: JUMPDEST 00003f06: PUSH1 0x20 00003f08: MUL 00003f09: ADD 00003f0a: MLOAD 00003f0b: SWAP7 00003f0c: POP 00003f0d: PUSH1 0x01 00003f0f: SWAP1 00003f10: POP 00003f11: PUSH2 0x3f20 00003f14: JUMP 00003f15: JUMPDEST 00003f16: DUP2 00003f17: PUSH1 0x01 00003f19: ADD 00003f1a: SWAP2 00003f1b: POP 00003f1c: PUSH2 0x3ea1 00003f1f: JUMP 00003f20: JUMPDEST 00003f21: PUSH1 0x01 00003f23: DUP5 00003f24: SUB 00003f25: DUP3 00003f26: PUSH1 0xff 00003f28: AND 00003f29: LT 00003f2a: ISZERO 00003f2b: DUP1 00003f2c: PUSH2 0x3f59 00003f2f: JUMPI 00003f30: POP 00003f31: PUSH0 00003f32: DUP4 00003f33: PUSH1 0xff 00003f35: PUSH1 0x01 00003f37: DUP6 00003f38: ADD 00003f39: AND 00003f3a: PUSH1 0x14 00003f3c: DUP2 00003f3d: LT 00003f3e: PUSH2 0x3f49 00003f41: JUMPI 00003f42: PUSH2 0x3f49 00003f45: PUSH2 0x45db 00003f48: JUMP 00003f49: JUMPDEST 00003f4a: PUSH1 0x20 00003f4c: MUL 00003f4d: ADD 00003f4e: MLOAD 00003f4f: PUSH1 0x01 00003f51: PUSH1 0x01 00003f53: PUSH1 0xa0 00003f55: SHL 00003f56: SUB 00003f57: AND 00003f58: EQ 00003f59: JUMPDEST 00003f5a: ISZERO 00003f5b: PUSH2 0x3f6f 00003f5e: JUMPI 00003f5f: PUSH1 0x01 00003f61: DUP1 00003f62: SLOAD 00003f63: PUSH3 0xff0000 00003f67: NOT 00003f68: AND 00003f69: SWAP1 00003f6a: SSTORE 00003f6b: PUSH2 0x3f8c 00003f6e: JUMP 00003f6f: JUMPDEST 00003f70: PUSH1 0x01 00003f72: DUP1 00003f73: SLOAD 00003f74: PUSH1 0xff 00003f76: SWAP4 00003f77: DUP3 00003f78: ADD 00003f79: SWAP4 00003f7a: DUP5 00003f7b: AND 00003f7c: PUSH3 0x010000 00003f80: MUL 00003f81: PUSH3 0xff0000 00003f85: NOT 00003f86: SWAP1 00003f87: SWAP2 00003f88: AND 00003f89: OR 00003f8a: SWAP1 00003f8b: SSTORE 00003f8c: JUMPDEST 00003f8d: DUP1 00003f8e: PUSH2 0x3f9f 00003f91: JUMPI 00003f92: POP 00003f93: PUSH1 0x01 00003f95: SWAP5 00003f96: POP 00003f97: PUSH2 0x404a 00003f9a: SWAP3 00003f9b: POP 00003f9c: POP 00003f9d: POP 00003f9e: JUMP 00003f9f: JUMPDEST 00003fa0: PUSH1 0x40 00003fa2: MLOAD 00003fa3: PUSH4 0xcf3f6637 00003fa8: PUSH1 0xe0 00003faa: SHL 00003fab: DUP2 00003fac: MSTORE 00003fad: PUSH0 00003fae: PUSH1 0x04 00003fb0: DUP3 00003fb1: ADD 00003fb2: DUP2 00003fb3: SWAP1 00003fb4: MSTORE 00003fb5: PUSH1 0x24 00003fb7: DUP3 00003fb8: ADD 00003fb9: MSTORE 00003fba: PUSH1 0x01 00003fbc: PUSH1 0x01 00003fbe: PUSH1 0xa0 00003fc0: SHL 00003fc1: SUB 00003fc2: DUP10 00003fc3: DUP2 00003fc4: AND 00003fc5: PUSH1 0x44 00003fc7: DUP4 00003fc8: ADD 00003fc9: MSTORE 00003fca: TIMESTAMP 00003fcb: PUSH1 0x64 00003fcd: DUP4 00003fce: ADD 00003fcf: MSTORE 00003fd0: DUP9 00003fd1: AND 00003fd2: SWAP1 00003fd3: PUSH4 0xcf3f6637 00003fd8: SWAP1 00003fd9: PUSH1 0x84 00003fdb: ADD 00003fdc: PUSH0 00003fdd: PUSH1 0x40 00003fdf: MLOAD 00003fe0: DUP1 00003fe1: DUP4 00003fe2: SUB 00003fe3: DUP2 00003fe4: PUSH0 00003fe5: DUP8 00003fe6: DUP1 00003fe7: EXTCODESIZE 00003fe8: ISZERO 00003fe9: DUP1 00003fea: ISZERO 00003feb: PUSH2 0x3ff2 00003fee: JUMPI 00003fef: PUSH0 00003ff0: DUP1 00003ff1: REVERT 00003ff2: JUMPDEST 00003ff3: POP 00003ff4: GAS 00003ff5: CALL 00003ff6: SWAP3 00003ff7: POP 00003ff8: POP 00003ff9: POP 00003ffa: DUP1 00003ffb: ISZERO 00003ffc: PUSH2 0x4003 00003fff: JUMPI 00004000: POP 00004001: PUSH1 0x01 00004003: JUMPDEST 00004004: PUSH2 0x4040 00004007: JUMPI 00004008: RETURNDATASIZE 00004009: DUP1 0000400a: DUP1 0000400b: ISZERO 0000400c: PUSH2 0x4030 0000400f: JUMPI 00004010: PUSH1 0x40 00004012: MLOAD 00004013: SWAP2 00004014: POP 00004015: PUSH1 0x1f 00004017: NOT 00004018: PUSH1 0x3f 0000401a: RETURNDATASIZE 0000401b: ADD 0000401c: AND 0000401d: DUP3 0000401e: ADD 0000401f: PUSH1 0x40 00004021: MSTORE 00004022: RETURNDATASIZE 00004023: DUP3 00004024: MSTORE 00004025: RETURNDATASIZE 00004026: PUSH0 00004027: PUSH1 0x20 00004029: DUP5 0000402a: ADD 0000402b: RETURNDATACOPY 0000402c: PUSH2 0x4035 0000402f: JUMP 00004030: JUMPDEST 00004031: PUSH1 0x60 00004033: SWAP2 00004034: POP 00004035: JUMPDEST 00004036: POP 00004037: PUSH0 00004038: SWAP7 00004039: POP 0000403a: SWAP5 0000403b: POP 0000403c: PUSH2 0x4045 0000403f: JUMP 00004040: JUMPDEST 00004041: PUSH1 0x01 00004043: SWAP6 00004044: POP 00004045: JUMPDEST 00004046: POP 00004047: POP 00004048: POP 00004049: POP 0000404a: JUMPDEST 0000404b: SWAP2 0000404c: SWAP4 0000404d: SWAP1 0000404e: SWAP3 0000404f: POP 00004050: JUMP 00004051: JUMPDEST 00004052: PUSH0 00004053: PUSH2 0x405b 00004056: DUP3 00004057: PUSH2 0x2408 0000405a: JUMP 0000405b: JUMPDEST 0000405c: SWAP1 0000405d: POP 0000405e: DUP1 0000405f: PUSH2 0x406f 00004062: JUMPI 00004063: PUSH4 0x5a870a25 00004068: PUSH0 00004069: MSTORE 0000406a: PUSH1 0x04 0000406c: PUSH1 0x1c 0000406e: REVERT 0000406f: JUMPDEST 00004070: PUSH2 0x0fca 00004073: DUP4 00004074: DUP3 00004075: PUSH2 0x3dbd 00004078: JUMP 00004079: JUMPDEST 0000407a: PUSH0 0000407b: DUP2 0000407c: PUSH0 0000407d: NOT 0000407e: DIV 0000407f: DUP4 00004080: GT 00004081: DUP3 00004082: MUL 00004083: ISZERO 00004084: PUSH2 0x408b 00004087: JUMPI 00004088: PUSH0 00004089: DUP1 0000408a: REVERT 0000408b: JUMPDEST 0000408c: POP 0000408d: PUSH2 0x2710 00004090: SWAP2 00004091: MUL 00004092: DIV 00004093: SWAP1 00004094: JUMP 00004095: JUMPDEST 00004096: DUP2 00004097: PUSH1 0x20 00004099: MSTORE 0000409a: PUSH4 0x7f5e9f20 0000409f: PUSH1 0x0c 000040a1: MSTORE 000040a2: DUP3 000040a3: PUSH0 000040a4: MSTORE 000040a5: PUSH1 0x34 000040a7: PUSH1 0x0c 000040a9: KECCAK256 000040aa: DUP1 000040ab: SLOAD 000040ac: PUSH1 0x01 000040ae: DUP2 000040af: ADD 000040b0: ISZERO 000040b1: PUSH2 0x3008 000040b4: JUMPI 000040b5: DUP1 000040b6: DUP4 000040b7: GT 000040b8: ISZERO 000040b9: PUSH2 0x40c9 000040bc: JUMPI 000040bd: PUSH4 0x13be252b 000040c2: PUSH0 000040c3: MSTORE 000040c4: PUSH1 0x04 000040c6: PUSH1 0x1c 000040c8: REVERT 000040c9: JUMPDEST 000040ca: SWAP2 000040cb: SWAP1 000040cc: SWAP2 000040cd: SUB 000040ce: SWAP1 000040cf: SSTORE 000040d0: POP 000040d1: POP 000040d2: JUMP 000040d3: JUMPDEST 000040d4: PUSH4 0x87a211a2 000040d9: PUSH1 0x0c 000040db: MSTORE 000040dc: DUP2 000040dd: PUSH0 000040de: MSTORE 000040df: PUSH1 0x20 000040e1: PUSH1 0x0c 000040e3: KECCAK256 000040e4: DUP1 000040e5: SLOAD 000040e6: DUP1 000040e7: DUP4 000040e8: GT 000040e9: ISZERO 000040ea: PUSH2 0x40fa 000040ed: JUMPI 000040ee: PUSH4 0xf4d678b8 000040f3: PUSH0 000040f4: MSTORE 000040f5: PUSH1 0x04 000040f7: PUSH1 0x1c 000040f9: REVERT 000040fa: JUMPDEST 000040fb: DUP3 000040fc: SWAP1 000040fd: SUB 000040fe: SWAP1 000040ff: SSTORE 00004100: PUSH9 0x05345cdf77eb68f44c 0000410a: DUP1 0000410b: SLOAD 0000410c: DUP3 0000410d: SWAP1 0000410e: SUB 0000410f: SWAP1 00004110: SSTORE 00004111: PUSH0 00004112: DUP2 00004113: DUP2 00004114: MSTORE 00004115: PUSH1 0x01 00004117: PUSH1 0x01 00004119: PUSH1 0xa0 0000411b: SHL 0000411c: SUB 0000411d: DUP4 0000411e: AND 0000411f: PUSH0 00004120: DUP1 00004121: MLOAD 00004122: PUSH1 0x20 00004124: PUSH2 0x471d 00004127: DUP4 00004128: CODECOPY 00004129: DUP2 0000412a: MLOAD 0000412b: SWAP2 0000412c: MSTORE 0000412d: PUSH1 0x20 0000412f: DUP4 00004130: LOG3 00004131: POP 00004132: POP 00004133: JUMP 00004134: JUMPDEST 00004135: DUP3 00004136: PUSH1 0x14 00004138: DUP2 00004139: ADD 0000413a: SWAP3 0000413b: DUP3 0000413c: ISZERO 0000413d: PUSH2 0x417a 00004140: JUMPI 00004141: SWAP2 00004142: PUSH1 0x20 00004144: MUL 00004145: DUP3 00004146: ADD 00004147: JUMPDEST 00004148: DUP3 00004149: DUP2 0000414a: GT 0000414b: ISZERO 0000414c: PUSH2 0x417a 0000414f: JUMPI 00004150: DUP2 00004151: SLOAD 00004152: PUSH1 0x01 00004154: PUSH1 0x01 00004156: PUSH1 0xa0 00004158: SHL 00004159: SUB 0000415a: NOT 0000415b: AND 0000415c: PUSH1 0x01 0000415e: PUSH1 0x01 00004160: PUSH1 0xa0 00004162: SHL 00004163: SUB 00004164: DUP5 00004165: CALLDATALOAD 00004166: AND 00004167: OR 00004168: DUP3 00004169: SSTORE 0000416a: PUSH1 0x20 0000416c: SWAP1 0000416d: SWAP3 0000416e: ADD 0000416f: SWAP2 00004170: PUSH1 0x01 00004172: SWAP1 00004173: SWAP2 00004174: ADD 00004175: SWAP1 00004176: PUSH2 0x4147 00004179: JUMP 0000417a: JUMPDEST 0000417b: POP 0000417c: PUSH2 0x3061 0000417f: SWAP3 00004180: SWAP2 00004181: POP 00004182: JUMPDEST 00004183: DUP1 00004184: DUP3 00004185: GT 00004186: ISZERO 00004187: PUSH2 0x3061 0000418a: JUMPI 0000418b: PUSH0 0000418c: DUP2 0000418d: SSTORE 0000418e: PUSH1 0x01 00004190: ADD 00004191: PUSH2 0x4182 00004194: JUMP 00004195: JUMPDEST 00004196: PUSH0 00004197: DUP2 00004198: MLOAD 00004199: DUP1 0000419a: DUP5 0000419b: MSTORE 0000419c: PUSH0 0000419d: JUMPDEST 0000419e: DUP2 0000419f: DUP2 000041a0: LT 000041a1: ISZERO 000041a2: PUSH2 0x41b9 000041a5: JUMPI 000041a6: PUSH1 0x20 000041a8: DUP2 000041a9: DUP6 000041aa: ADD 000041ab: DUP2 000041ac: ADD 000041ad: MLOAD 000041ae: DUP7 000041af: DUP4 000041b0: ADD 000041b1: DUP3 000041b2: ADD 000041b3: MSTORE 000041b4: ADD 000041b5: PUSH2 0x419d 000041b8: JUMP 000041b9: JUMPDEST 000041ba: POP 000041bb: PUSH0 000041bc: PUSH1 0x20 000041be: DUP3 000041bf: DUP7 000041c0: ADD 000041c1: ADD 000041c2: MSTORE 000041c3: PUSH1 0x20 000041c5: PUSH1 0x1f 000041c7: NOT 000041c8: PUSH1 0x1f 000041ca: DUP4 000041cb: ADD 000041cc: AND 000041cd: DUP6 000041ce: ADD 000041cf: ADD 000041d0: SWAP2 000041d1: POP 000041d2: POP 000041d3: SWAP3 000041d4: SWAP2 000041d5: POP 000041d6: POP 000041d7: JUMP 000041d8: JUMPDEST 000041d9: PUSH1 0x20 000041db: DUP2 000041dc: MSTORE 000041dd: PUSH0 000041de: PUSH2 0x0f79 000041e1: PUSH1 0x20 000041e3: DUP4 000041e4: ADD 000041e5: DUP5 000041e6: PUSH2 0x4195 000041e9: JUMP 000041ea: JUMPDEST 000041eb: PUSH0 000041ec: PUSH1 0x20 000041ee: DUP3 000041ef: DUP5 000041f0: SUB 000041f1: SLT 000041f2: ISZERO 000041f3: PUSH2 0x41fa 000041f6: JUMPI 000041f7: PUSH0 000041f8: DUP1 000041f9: REVERT 000041fa: JUMPDEST 000041fb: POP 000041fc: CALLDATALOAD 000041fd: SWAP2 000041fe: SWAP1 000041ff: POP 00004200: JUMP 00004201: JUMPDEST 00004202: PUSH1 0x01 00004204: PUSH1 0x01 00004206: PUSH1 0xa0 00004208: SHL 00004209: SUB 0000420a: DUP2 0000420b: AND 0000420c: DUP2 0000420d: EQ 0000420e: PUSH2 0x16d2 00004211: JUMPI 00004212: PUSH0 00004213: DUP1 00004214: REVERT 00004215: JUMPDEST 00004216: PUSH0 00004217: DUP1 00004218: PUSH1 0x40 0000421a: DUP4 0000421b: DUP6 0000421c: SUB 0000421d: SLT 0000421e: ISZERO 0000421f: PUSH2 0x4226 00004222: JUMPI 00004223: PUSH0 00004224: DUP1 00004225: REVERT 00004226: JUMPDEST 00004227: DUP3 00004228: CALLDATALOAD 00004229: PUSH2 0x4231 0000422c: DUP2 0000422d: PUSH2 0x4201 00004230: JUMP 00004231: JUMPDEST 00004232: SWAP5 00004233: PUSH1 0x20 00004235: SWAP4 00004236: SWAP1 00004237: SWAP4 00004238: ADD 00004239: CALLDATALOAD 0000423a: SWAP4 0000423b: POP 0000423c: POP 0000423d: POP 0000423e: JUMP 0000423f: JUMPDEST 00004240: PUSH0 00004241: DUP1 00004242: PUSH0 00004243: DUP1 00004244: PUSH0 00004245: PUSH1 0xa0 00004247: DUP7 00004248: DUP9 00004249: SUB 0000424a: SLT 0000424b: ISZERO 0000424c: PUSH2 0x4253 0000424f: JUMPI 00004250: PUSH0 00004251: DUP1 00004252: REVERT 00004253: JUMPDEST 00004254: DUP6 00004255: CALLDATALOAD 00004256: PUSH2 0x425e 00004259: DUP2 0000425a: PUSH2 0x4201 0000425d: JUMP 0000425e: JUMPDEST 0000425f: SWAP8 00004260: PUSH1 0x20 00004262: DUP8 00004263: ADD 00004264: CALLDATALOAD 00004265: SWAP8 00004266: POP 00004267: PUSH1 0x40 00004269: DUP8 0000426a: ADD 0000426b: CALLDATALOAD 0000426c: SWAP7 0000426d: PUSH1 0x60 0000426f: DUP2 00004270: ADD 00004271: CALLDATALOAD 00004272: SWAP7 00004273: POP 00004274: PUSH1 0x80 00004276: ADD 00004277: CALLDATALOAD 00004278: SWAP5 00004279: POP 0000427a: SWAP3 0000427b: POP 0000427c: POP 0000427d: POP 0000427e: JUMP 0000427f: JUMPDEST 00004280: PUSH0 00004281: PUSH1 0x20 00004283: DUP3 00004284: DUP5 00004285: SUB 00004286: SLT 00004287: ISZERO 00004288: PUSH2 0x428f 0000428b: JUMPI 0000428c: PUSH0 0000428d: DUP1 0000428e: REVERT 0000428f: JUMPDEST 00004290: DUP2 00004291: CALLDATALOAD 00004292: DUP1 00004293: ISZERO 00004294: ISZERO 00004295: DUP2 00004296: EQ 00004297: PUSH2 0x0f79 0000429a: JUMPI 0000429b: PUSH0 0000429c: DUP1 0000429d: REVERT 0000429e: JUMPDEST 0000429f: PUSH0 000042a0: PUSH1 0x20 000042a2: DUP3 000042a3: DUP5 000042a4: SUB 000042a5: SLT 000042a6: ISZERO 000042a7: PUSH2 0x42ae 000042aa: JUMPI 000042ab: PUSH0 000042ac: DUP1 000042ad: REVERT 000042ae: JUMPDEST 000042af: DUP2 000042b0: CALLDATALOAD 000042b1: PUSH2 0x0f79 000042b4: DUP2 000042b5: PUSH2 0x4201 000042b8: JUMP 000042b9: JUMPDEST 000042ba: PUSH0 000042bb: DUP1 000042bc: PUSH0 000042bd: PUSH1 0x60 000042bf: DUP5 000042c0: DUP7 000042c1: SUB 000042c2: SLT 000042c3: ISZERO 000042c4: PUSH2 0x42cb 000042c7: JUMPI 000042c8: PUSH0 000042c9: DUP1 000042ca: REVERT 000042cb: JUMPDEST 000042cc: DUP4 000042cd: CALLDATALOAD 000042ce: PUSH2 0x42d6 000042d1: DUP2 000042d2: PUSH2 0x4201 000042d5: JUMP 000042d6: JUMPDEST 000042d7: SWAP3 000042d8: POP 000042d9: PUSH1 0x20 000042db: DUP5 000042dc: ADD 000042dd: CALLDATALOAD 000042de: PUSH2 0x42e6 000042e1: DUP2 000042e2: PUSH2 0x4201 000042e5: JUMP 000042e6: JUMPDEST 000042e7: SWAP3 000042e8: SWAP6 000042e9: SWAP3 000042ea: SWAP5 000042eb: POP 000042ec: POP 000042ed: POP 000042ee: PUSH1 0x40 000042f0: SWAP2 000042f1: SWAP1 000042f2: SWAP2 000042f3: ADD 000042f4: CALLDATALOAD 000042f5: SWAP1 000042f6: JUMP 000042f7: JUMPDEST 000042f8: PUSH0 000042f9: DUP1 000042fa: PUSH1 0x40 000042fc: DUP4 000042fd: DUP6 000042fe: SUB 000042ff: SLT 00004300: ISZERO 00004301: PUSH2 0x4308 00004304: JUMPI 00004305: PUSH0 00004306: DUP1 00004307: REVERT 00004308: JUMPDEST 00004309: DUP3 0000430a: CALLDATALOAD 0000430b: SWAP2 0000430c: POP 0000430d: PUSH1 0x20 0000430f: DUP4 00004310: ADD 00004311: CALLDATALOAD 00004312: PUSH2 0x431a 00004315: DUP2 00004316: PUSH2 0x4201 00004319: JUMP 0000431a: JUMPDEST 0000431b: DUP1 0000431c: SWAP2 0000431d: POP 0000431e: POP 0000431f: SWAP3 00004320: POP 00004321: SWAP3 00004322: SWAP1 00004323: POP 00004324: JUMP 00004325: JUMPDEST 00004326: DUP1 00004327: CALLDATALOAD 00004328: PUSH1 0x01 0000432a: PUSH1 0x01 0000432c: PUSH1 0x80 0000432e: SHL 0000432f: SUB 00004330: DUP2 00004331: AND 00004332: DUP2 00004333: EQ 00004334: PUSH2 0x433b 00004337: JUMPI 00004338: PUSH0 00004339: DUP1 0000433a: REVERT 0000433b: JUMPDEST 0000433c: SWAP2 0000433d: SWAP1 0000433e: POP 0000433f: JUMP 00004340: JUMPDEST 00004341: PUSH0 00004342: DUP1 00004343: PUSH0 00004344: DUP1 00004345: PUSH1 0x80 00004347: DUP6 00004348: DUP8 00004349: SUB 0000434a: SLT 0000434b: ISZERO 0000434c: PUSH2 0x4353 0000434f: JUMPI 00004350: PUSH0 00004351: DUP1 00004352: REVERT 00004353: JUMPDEST 00004354: PUSH2 0x435c 00004357: DUP6 00004358: PUSH2 0x4325 0000435b: JUMP 0000435c: JUMPDEST 0000435d: SWAP4 0000435e: POP 0000435f: PUSH2 0x436a 00004362: PUSH1 0x20 00004364: DUP7 00004365: ADD 00004366: PUSH2 0x4325 00004369: JUMP 0000436a: JUMPDEST 0000436b: SWAP3 0000436c: POP 0000436d: PUSH2 0x4378 00004370: PUSH1 0x40 00004372: DUP7 00004373: ADD 00004374: PUSH2 0x4325 00004377: JUMP 00004378: JUMPDEST 00004379: SWAP2 0000437a: POP 0000437b: PUSH1 0x60 0000437d: DUP6 0000437e: ADD 0000437f: CALLDATALOAD 00004380: PUSH2 0x4388 00004383: DUP2 00004384: PUSH2 0x4201 00004387: JUMP 00004388: JUMPDEST 00004389: SWAP4 0000438a: SWAP7 0000438b: SWAP3 0000438c: SWAP6 0000438d: POP 0000438e: SWAP1 0000438f: SWAP4 00004390: POP 00004391: POP 00004392: JUMP 00004393: JUMPDEST 00004394: PUSH0 00004395: PUSH2 0x0280 00004398: DUP1 00004399: DUP4 0000439a: DUP6 0000439b: SUB 0000439c: SLT 0000439d: ISZERO 0000439e: PUSH2 0x43a5 000043a1: JUMPI 000043a2: PUSH0 000043a3: DUP1 000043a4: REVERT 000043a5: JUMPDEST 000043a6: DUP4 000043a7: DUP2 000043a8: DUP5 000043a9: ADD 000043aa: GT 000043ab: ISZERO 000043ac: PUSH2 0x43b3 000043af: JUMPI 000043b0: PUSH0 000043b1: DUP1 000043b2: REVERT 000043b3: JUMPDEST 000043b4: POP 000043b5: SWAP1 000043b6: SWAP3 000043b7: SWAP2 000043b8: POP 000043b9: POP 000043ba: JUMP 000043bb: JUMPDEST 000043bc: PUSH0 000043bd: DUP1 000043be: PUSH0 000043bf: PUSH1 0x60 000043c1: DUP5 000043c2: DUP7 000043c3: SUB 000043c4: SLT 000043c5: ISZERO 000043c6: PUSH2 0x43cd 000043c9: JUMPI 000043ca: PUSH0 000043cb: DUP1 000043cc: REVERT 000043cd: JUMPDEST 000043ce: DUP4 000043cf: CALLDATALOAD 000043d0: SWAP3 000043d1: POP 000043d2: PUSH1 0x20 000043d4: DUP5 000043d5: ADD 000043d6: CALLDATALOAD 000043d7: PUSH2 0x43df 000043da: DUP2 000043db: PUSH2 0x4201 000043de: JUMP 000043df: JUMPDEST 000043e0: SWAP2 000043e1: POP 000043e2: PUSH1 0x40 000043e4: DUP5 000043e5: ADD 000043e6: CALLDATALOAD 000043e7: PUSH2 0x43ef 000043ea: DUP2 000043eb: PUSH2 0x4201 000043ee: JUMP 000043ef: JUMPDEST 000043f0: DUP1 000043f1: SWAP2 000043f2: POP 000043f3: POP 000043f4: SWAP3 000043f5: POP 000043f6: SWAP3 000043f7: POP 000043f8: SWAP3 000043f9: JUMP 000043fa: JUMPDEST 000043fb: PUSH0 000043fc: DUP1 000043fd: PUSH0 000043fe: DUP1 000043ff: PUSH0 00004400: DUP1 00004401: PUSH0 00004402: PUSH1 0xe0 00004404: DUP9 00004405: DUP11 00004406: SUB 00004407: SLT 00004408: ISZERO 00004409: PUSH2 0x4410 0000440c: JUMPI 0000440d: PUSH0 0000440e: DUP1 0000440f: REVERT 00004410: JUMPDEST 00004411: DUP8 00004412: CALLDATALOAD 00004413: PUSH2 0x441b 00004416: DUP2 00004417: PUSH2 0x4201 0000441a: JUMP 0000441b: JUMPDEST 0000441c: SWAP7 0000441d: POP 0000441e: PUSH1 0x20 00004420: DUP9 00004421: ADD 00004422: CALLDATALOAD 00004423: PUSH2 0x442b 00004426: DUP2 00004427: PUSH2 0x4201 0000442a: JUMP 0000442b: JUMPDEST 0000442c: SWAP6 0000442d: POP 0000442e: PUSH1 0x40 00004430: DUP9 00004431: ADD 00004432: CALLDATALOAD 00004433: SWAP5 00004434: POP 00004435: PUSH1 0x60 00004437: DUP9 00004438: ADD 00004439: CALLDATALOAD 0000443a: SWAP4 0000443b: POP 0000443c: PUSH1 0x80 0000443e: DUP9 0000443f: ADD 00004440: CALLDATALOAD 00004441: PUSH1 0xff 00004443: DUP2 00004444: AND 00004445: DUP2 00004446: EQ 00004447: PUSH2 0x444e 0000444a: JUMPI 0000444b: PUSH0 0000444c: DUP1 0000444d: REVERT 0000444e: JUMPDEST 0000444f: SWAP7 00004450: SWAP10 00004451: SWAP6 00004452: SWAP9 00004453: POP 00004454: SWAP4 00004455: SWAP7 00004456: SWAP3 00004457: SWAP6 00004458: SWAP5 00004459: PUSH1 0xa0 0000445b: DUP5 0000445c: ADD 0000445d: CALLDATALOAD 0000445e: SWAP5 0000445f: POP 00004460: PUSH1 0xc0 00004462: SWAP1 00004463: SWAP4 00004464: ADD 00004465: CALLDATALOAD 00004466: SWAP3 00004467: SWAP2 00004468: POP 00004469: POP 0000446a: JUMP 0000446b: JUMPDEST 0000446c: PUSH0 0000446d: DUP1 0000446e: PUSH1 0x40 00004470: DUP4 00004471: DUP6 00004472: SUB 00004473: SLT 00004474: ISZERO 00004475: PUSH2 0x447c 00004478: JUMPI 00004479: PUSH0 0000447a: DUP1 0000447b: REVERT 0000447c: JUMPDEST 0000447d: DUP3 0000447e: CALLDATALOAD 0000447f: PUSH2 0x4487 00004482: DUP2 00004483: PUSH2 0x4201 00004486: JUMP 00004487: JUMPDEST 00004488: SWAP2 00004489: POP 0000448a: PUSH1 0x20 0000448c: DUP4 0000448d: ADD 0000448e: CALLDATALOAD 0000448f: PUSH2 0x431a 00004492: DUP2 00004493: PUSH2 0x4201 00004496: JUMP 00004497: JUMPDEST 00004498: PUSH1 0x01 0000449a: DUP2 0000449b: DUP2 0000449c: SHR 0000449d: SWAP1 0000449e: DUP3 0000449f: AND 000044a0: DUP1 000044a1: PUSH2 0x44ab 000044a4: JUMPI 000044a5: PUSH1 0x7f 000044a7: DUP3 000044a8: AND 000044a9: SWAP2 000044aa: POP 000044ab: JUMPDEST 000044ac: PUSH1 0x20 000044ae: DUP3 000044af: LT 000044b0: DUP2 000044b1: SUB 000044b2: PUSH2 0x1a36 000044b5: JUMPI 000044b6: PUSH4 0x4e487b71 000044bb: PUSH1 0xe0 000044bd: SHL 000044be: PUSH0 000044bf: MSTORE 000044c0: PUSH1 0x22 000044c2: PUSH1 0x04 000044c4: MSTORE 000044c5: PUSH1 0x24 000044c7: PUSH0 000044c8: REVERT 000044c9: JUMPDEST 000044ca: PUSH4 0x4e487b71 000044cf: PUSH1 0xe0 000044d1: SHL 000044d2: PUSH0 000044d3: MSTORE 000044d4: PUSH1 0x11 000044d6: PUSH1 0x04 000044d8: MSTORE 000044d9: PUSH1 0x24 000044db: PUSH0 000044dc: REVERT 000044dd: JUMPDEST 000044de: DUP1 000044df: DUP3 000044e0: ADD 000044e1: DUP1 000044e2: DUP3 000044e3: GT 000044e4: ISZERO 000044e5: PUSH2 0x0fca 000044e8: JUMPI 000044e9: PUSH2 0x0fca 000044ec: PUSH2 0x44c9 000044ef: JUMP 000044f0: JUMPDEST 000044f1: PUSH1 0x01 000044f3: DUP2 000044f4: DUP2 000044f5: JUMPDEST 000044f6: DUP1 000044f7: DUP6 000044f8: GT 000044f9: ISZERO 000044fa: PUSH2 0x452a 000044fd: JUMPI 000044fe: DUP2 000044ff: PUSH0 00004500: NOT 00004501: DIV 00004502: DUP3 00004503: GT 00004504: ISZERO 00004505: PUSH2 0x4510 00004508: JUMPI 00004509: PUSH2 0x4510 0000450c: PUSH2 0x44c9 0000450f: JUMP 00004510: JUMPDEST 00004511: DUP1 00004512: DUP6 00004513: AND 00004514: ISZERO 00004515: PUSH2 0x451d 00004518: JUMPI 00004519: SWAP2 0000451a: DUP2 0000451b: MUL 0000451c: SWAP2 0000451d: JUMPDEST 0000451e: SWAP4 0000451f: DUP5 00004520: SHR 00004521: SWAP4 00004522: SWAP1 00004523: DUP1 00004524: MUL 00004525: SWAP1 00004526: PUSH2 0x44f5 00004529: JUMP 0000452a: JUMPDEST 0000452b: POP 0000452c: SWAP3 0000452d: POP 0000452e: SWAP3 0000452f: SWAP1 00004530: POP 00004531: JUMP 00004532: JUMPDEST 00004533: PUSH0 00004534: DUP3 00004535: PUSH2 0x4540 00004538: JUMPI 00004539: POP 0000453a: PUSH1 0x01 0000453c: PUSH2 0x0fca 0000453f: JUMP 00004540: JUMPDEST 00004541: DUP2 00004542: PUSH2 0x454c 00004545: JUMPI 00004546: POP 00004547: PUSH0 00004548: PUSH2 0x0fca 0000454b: JUMP 0000454c: JUMPDEST 0000454d: DUP2 0000454e: PUSH1 0x01 00004550: DUP2 00004551: EQ 00004552: PUSH2 0x4562 00004555: JUMPI 00004556: PUSH1 0x02 00004558: DUP2 00004559: EQ 0000455a: PUSH2 0x456c 0000455d: JUMPI 0000455e: PUSH2 0x4588 00004561: JUMP 00004562: JUMPDEST 00004563: PUSH1 0x01 00004565: SWAP2 00004566: POP 00004567: POP 00004568: PUSH2 0x0fca 0000456b: JUMP 0000456c: JUMPDEST 0000456d: PUSH1 0xff 0000456f: DUP5 00004570: GT 00004571: ISZERO 00004572: PUSH2 0x457d 00004575: JUMPI 00004576: PUSH2 0x457d 00004579: PUSH2 0x44c9 0000457c: JUMP 0000457d: JUMPDEST 0000457e: POP 0000457f: POP 00004580: PUSH1 0x01 00004582: DUP3 00004583: SHL 00004584: PUSH2 0x0fca 00004587: JUMP 00004588: JUMPDEST 00004589: POP 0000458a: PUSH1 0x20 0000458c: DUP4 0000458d: LT 0000458e: PUSH2 0x0133 00004591: DUP4 00004592: LT 00004593: AND 00004594: PUSH1 0x4e 00004596: DUP5 00004597: LT 00004598: PUSH1 0x0b 0000459a: DUP5 0000459b: LT 0000459c: AND 0000459d: OR 0000459e: ISZERO 0000459f: PUSH2 0x45ab 000045a2: JUMPI 000045a3: POP 000045a4: DUP2 000045a5: DUP2 000045a6: EXP 000045a7: PUSH2 0x0fca 000045aa: JUMP 000045ab: JUMPDEST 000045ac: PUSH2 0x45b5 000045af: DUP4 000045b0: DUP4 000045b1: PUSH2 0x44f0 000045b4: JUMP 000045b5: JUMPDEST 000045b6: DUP1 000045b7: PUSH0 000045b8: NOT 000045b9: DIV 000045ba: DUP3 000045bb: GT 000045bc: ISZERO 000045bd: PUSH2 0x45c8 000045c0: JUMPI 000045c1: PUSH2 0x45c8 000045c4: PUSH2 0x44c9 000045c7: JUMP 000045c8: JUMPDEST 000045c9: MUL 000045ca: SWAP4 000045cb: SWAP3 000045cc: POP 000045cd: POP 000045ce: POP 000045cf: JUMP 000045d0: JUMPDEST 000045d1: PUSH0 000045d2: PUSH2 0x0f79 000045d5: DUP4 000045d6: DUP4 000045d7: PUSH2 0x4532 000045da: JUMP 000045db: JUMPDEST 000045dc: PUSH4 0x4e487b71 000045e1: PUSH1 0xe0 000045e3: SHL 000045e4: PUSH0 000045e5: MSTORE 000045e6: PUSH1 0x32 000045e8: PUSH1 0x04 000045ea: MSTORE 000045eb: PUSH1 0x24 000045ed: PUSH0 000045ee: REVERT 000045ef: JUMPDEST 000045f0: DUP2 000045f1: DUP2 000045f2: SUB 000045f3: DUP2 000045f4: DUP2 000045f5: GT 000045f6: ISZERO 000045f7: PUSH2 0x0fca 000045fa: JUMPI 000045fb: PUSH2 0x0fca 000045fe: PUSH2 0x44c9 00004601: JUMP 00004602: JUMPDEST 00004603: PUSH0 00004604: PUSH1 0x20 00004606: DUP3 00004607: DUP5 00004608: SUB 00004609: SLT 0000460a: ISZERO 0000460b: PUSH2 0x4612 0000460e: JUMPI 0000460f: PUSH0 00004610: DUP1 00004611: REVERT 00004612: JUMPDEST 00004613: POP 00004614: MLOAD 00004615: SWAP2 00004616: SWAP1 00004617: POP 00004618: JUMP 00004619: JUMPDEST 0000461a: PUSH0 0000461b: PUSH1 0x20 0000461d: DUP3 0000461e: DUP5 0000461f: SUB 00004620: SLT 00004621: ISZERO 00004622: PUSH2 0x4629 00004625: JUMPI 00004626: PUSH0 00004627: DUP1 00004628: REVERT 00004629: JUMPDEST 0000462a: DUP2 0000462b: MLOAD 0000462c: PUSH2 0x0f79 0000462f: DUP2 00004630: PUSH2 0x4201 00004633: JUMP 00004634: JUMPDEST 00004635: PUSH1 0xff 00004637: DUP2 00004638: DUP2 00004639: AND 0000463a: DUP4 0000463b: DUP3 0000463c: AND 0000463d: ADD 0000463e: SWAP1 0000463f: DUP2 00004640: GT 00004641: ISZERO 00004642: PUSH2 0x0fca 00004645: JUMPI 00004646: PUSH2 0x0fca 00004649: PUSH2 0x44c9 0000464c: JUMP 0000464d: JUMPDEST 0000464e: PUSH1 0x01 00004650: PUSH1 0x01 00004652: PUSH1 0x80 00004654: SHL 00004655: SUB 00004656: DUP2 00004657: DUP2 00004658: AND 00004659: DUP4 0000465a: DUP3 0000465b: AND 0000465c: ADD 0000465d: SWAP1 0000465e: DUP1 0000465f: DUP3 00004660: GT 00004661: ISZERO 00004662: PUSH2 0x466d 00004665: JUMPI 00004666: PUSH2 0x466d 00004669: PUSH2 0x44c9 0000466c: JUMP 0000466d: JUMPDEST 0000466e: POP 0000466f: SWAP3 00004670: SWAP2 00004671: POP 00004672: POP 00004673: JUMP 00004674: JUMPDEST 00004675: PUSH1 0x01 00004677: PUSH1 0x01 00004679: PUSH1 0x80 0000467b: SHL 0000467c: SUB 0000467d: DUP3 0000467e: DUP2 0000467f: AND 00004680: DUP3 00004681: DUP3 00004682: AND 00004683: SUB 00004684: SWAP1 00004685: DUP1 00004686: DUP3 00004687: GT 00004688: ISZERO 00004689: PUSH2 0x466d 0000468c: JUMPI 0000468d: PUSH2 0x466d 00004690: PUSH2 0x44c9 00004693: JUMP 00004694: JUMPDEST 00004695: PUSH0 00004696: PUSH2 0x0f79 00004699: PUSH1 0xff 0000469b: DUP5 0000469c: AND 0000469d: DUP4 0000469e: PUSH2 0x4532 000046a1: JUMP 000046a2: JUMPDEST 000046a3: PUSH2 0x0280 000046a6: DUP2 000046a7: ADD 000046a8: DUP2 000046a9: DUP4 000046aa: PUSH0 000046ab: JUMPDEST 000046ac: PUSH1 0x14 000046ae: DUP2 000046af: LT 000046b0: ISZERO 000046b1: PUSH2 0x46dd 000046b4: JUMPI 000046b5: DUP2 000046b6: CALLDATALOAD 000046b7: PUSH2 0x46bf 000046ba: DUP2 000046bb: PUSH2 0x4201 000046be: JUMP 000046bf: JUMPDEST 000046c0: PUSH1 0x01 000046c2: PUSH1 0x01 000046c4: PUSH1 0xa0 000046c6: SHL 000046c7: SUB 000046c8: AND 000046c9: DUP4 000046ca: MSTORE 000046cb: PUSH1 0x20 000046cd: SWAP3 000046ce: DUP4 000046cf: ADD 000046d0: SWAP3 000046d1: SWAP2 000046d2: SWAP1 000046d3: SWAP2 000046d4: ADD 000046d5: SWAP1 000046d6: PUSH1 0x01 000046d8: ADD 000046d9: PUSH2 0x46ab 000046dc: JUMP 000046dd: JUMPDEST 000046de: POP 000046df: POP 000046e0: POP 000046e1: SWAP3 000046e2: SWAP2 000046e3: POP 000046e4: POP 000046e5: JUMP 000046e6: JUMPDEST 000046e7: DUP1 000046e8: DUP3 000046e9: MUL 000046ea: DUP2 000046eb: ISZERO 000046ec: DUP3 000046ed: DUP3 000046ee: DIV 000046ef: DUP5 000046f0: EQ 000046f1: OR 000046f2: PUSH2 0x0fca 000046f5: JUMPI 000046f6: PUSH2 0x0fca 000046f9: PUSH2 0x44c9 000046fc: JUMP 000046fd: JUMPDEST 000046fe: PUSH0 000046ff: DUP3 00004700: PUSH2 0x4717 00004703: JUMPI 00004704: PUSH4 0x4e487b71 00004709: PUSH1 0xe0 0000470b: SHL 0000470c: PUSH0 0000470d: MSTORE 0000470e: PUSH1 0x12 00004710: PUSH1 0x04 00004712: MSTORE 00004713: PUSH1 0x24 00004715: PUSH0 00004716: REVERT 00004717: JUMPDEST 00004718: POP 00004719: DIV 0000471a: SWAP1 0000471b: JUMP 0000471c: INVALID 0000471d: UNKNOWN(0xDD) 0000471e: CALLCODE 0000471f: MSTORE 00004720: UNKNOWN(0xAD) 00004721: SHL 00004722: UNKNOWN(0xE2) 00004723: UNKNOWN(0xC8) 00004724: SWAP12 00004725: PUSH10 0xc2b068fc378daa952ba7 00004730: CALL 00004731: PUSH4 0xc4a11628 00004736: CREATE2 00004737: GAS 00004738: UNKNOWN(0x4D) 00004739: CREATE2 0000473a: UNKNOWN(0x23) 0000473b: UNKNOWN(0xB3) 0000473c: UNKNOWN(0xEF) 0000473d: LOG2 0000473e: PUSH5 0x6970667358 00004744: UNKNOWN(0x22) 00004745: SLT 00004746: KECCAK256 00004747: SDIV 00004748: UNKNOWN(0xC9) 00004749: UNKNOWN(0xD7) 0000474a: UNKNOWN(0xF6) 0000474b: CODECOPY 0000474c: BALANCE 0000474d: SLT 0000474e: PUSH1 0x62 00004750: UNKNOWN(0xCC) 00004751: UNKNOWN(0xAA) 00004752: EQ 00004753: UNKNOWN(0xD3) 00004754: PUSH18 0xa9f47b21ebc0e155bd60ed5b38cd4fcce7e6 00004767: PUSH5 0x736f6c6343 0000476d: STOP 0000476e: ADDMOD 0000476f: EQ 00004770: STOP 00004771: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | reentrancy | codex | `report()` is reentrancy‑reachable before `strategyLastReport`/`lastReport` updates | 75 | no | — |
viewevidence_json{
"evidence": "`report()` performs `safeTransfer`/`safeTransferFrom` before updating `strategyLastReport`/`lastReport`, with no reentrancy guard.",
"locations": [
"contracts/src/MaxApyVault.sol:1543",
"contracts/src/MaxApyVault.sol:1602",
"contracts/src/MaxApyVault.sol:1617"
],
"recommendation": "Add `nonReentrant` to `report()` and/or move the timestamp updates (and any other critical state) before external calls. Follow checks\u2011effects\u2011interactions to ensure reentrancy cannot repeat fee assessment in the same tx.",
"exploit_scenario": "If the underlying token or strategy uses a reentrancy hook (e.g., ERC777), a strategy can call `report()`, hit the external token transfer, and reenter `report()` before `strategyLastReport`/`lastReport` are updated. This bypasses the `FeesAlreadyAssesed` duration guard and allows multiple fee assessments and credit adjustments in the same transaction, diluting shares or draining idle funds."
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x2b9a1cbebe99c286236f3f3d00811ef3c9df859acf432072340a9b200fe87af8
call_targets:
0x349c996c4a53208b6eb09c103782d86a3f1bb57e
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x2b9a1cbebe99c286236f3f3d00811ef3c9df859acf432072340a9b200fe87af8",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x349c996c4a53208b6eb09c103782d86a3f1bb57e"
],
"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": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc7b9c18",
"selector": "0xfc7b9c18",
"calldata_variants": [
"0xfc7b9c18",
"0xfc7b9c180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfd967f47",
"selector": "0xfd967f47",
"calldata_variants": [
"0xfd967f47",
"0xfd967f470000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfe56e232",
"selector": "0xfe56e232",
"calldata_variants": [
"0xfe56e232",
"0xfe56e2320000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfee81cf4",
"selector": "0xfee81cf4",
"calldata_variants": [
"0xfee81cf4",
"0xfee81cf40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5bc6947",
"selector": "0xe5bc6947",
"calldata_variants": [
"0xe5bc6947",
"0xe5bc69470000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xecf70858",
"selector": "0xecf70858",
"calldata_variants": [
"0xecf70858",
"0xecf708580000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef8b30f7",
"selector": "0xef8b30f7",
"calldata_variants": [
"0xef8b30f7",
"0xef8b30f70000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4853,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5019,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 9938,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 11,
"guards_detected": [
{
"pc": 11905,
"type": "msg_sender_eq_storage"
}
],
"untrusted_call_count": 11
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x2b9a1cbebe99c286236f3f3d00811ef3c9df859acf432072340a9b200fe87af8
call_targets:
0x349c996c4a53208b6eb09c103782d86a3f1bb57e
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x2b9a1cbebe99c286236f3f3d00811ef3c9df859acf432072340a9b200fe87af8",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x349c996c4a53208b6eb09c103782d86a3f1bb57e"
],
"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": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc7b9c18",
"selector": "0xfc7b9c18",
"calldata_variants": [
"0xfc7b9c18",
"0xfc7b9c180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfd967f47",
"selector": "0xfd967f47",
"calldata_variants": [
"0xfd967f47",
"0xfd967f470000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfe56e232",
"selector": "0xfe56e232",
"calldata_variants": [
"0xfe56e232",
"0xfe56e2320000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfee81cf4",
"selector": "0xfee81cf4",
"calldata_variants": [
"0xfee81cf4",
"0xfee81cf40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5bc6947",
"selector": "0xe5bc6947",
"calldata_variants": [
"0xe5bc6947",
"0xe5bc69470000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xecf70858",
"selector": "0xecf70858",
"calldata_variants": [
"0xecf70858",
"0xecf708580000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef8b30f7",
"selector": "0xef8b30f7",
"calldata_variants": [
"0xef8b30f7",
"0xef8b30f70000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4853,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5019,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 9938,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 11,
"guards_detected": [
{
"pc": 11905,
"type": "msg_sender_eq_storage"
}
]
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0xc215252475bc89d382af5a1a51a0946acf4be4024864dec7642507de53cb1fac
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0xc215252475bc89d382af5a1a51a0946acf4be4024864dec7642507de53cb1fac",
"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": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfc7b9c18",
"selector": "0xfc7b9c18",
"calldata_variants": [
"0xfc7b9c18",
"0xfc7b9c180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfd967f47",
"selector": "0xfd967f47",
"calldata_variants": [
"0xfd967f47",
"0xfd967f470000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfe56e232",
"selector": "0xfe56e232",
"calldata_variants": [
"0xfe56e232",
"0xfe56e2320000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfee81cf4",
"selector": "0xfee81cf4",
"calldata_variants": [
"0xfee81cf4",
"0xfee81cf40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe5bc6947",
"selector": "0xe5bc6947",
"calldata_variants": [
"0xe5bc6947",
"0xe5bc69470000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xecf70858",
"selector": "0xecf70858",
"calldata_variants": [
"0xecf70858",
"0xecf708580000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xef8b30f7",
"selector": "0xef8b30f7",
"calldata_variants": [
"0xef8b30f7",
"0xef8b30f70000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 2
}
|
| low | math | codex | Share/accounting mismatch for fee‑on‑transfer or rebasing underlying tokens | 65 | no | — |
viewevidence_json{
"evidence": "`_deposit` transfers `assets` then mints shares and increments `totalIdle` by `assets` without using actual received amount.",
"locations": [
"contracts/src/MaxApyVault.sol:1101",
"contracts/src/MaxApyVault.sol:1102",
"contracts/src/MaxApyVault.sol:1137"
],
"recommendation": "Restrict underlying assets to standard non\u2011fee, non\u2011rebasing ERC20s (enforce via deployment/docs), or compute received assets via balance\u2011before/after and use that value for minting and `totalIdle` updates.",
"exploit_scenario": "On deposit, the vault mints shares and increments `totalIdle` by the requested `assets` amount without verifying the actual amount received. If the underlying token charges transfer fees or rebases, users can mint more shares than the vault actually received, leading to share inflation and potential loss for other depositors."
}
|
| 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": 24
}
|