84393c30-1563-4324-8f7f-af48cff93df1
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 |
|---|---|---|---|---|
| 31274 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 110642 | artifact.fetch | failed | 1 / 3 | 1 week ago |
| 110643 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 110644 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 110645 | capability.graph | complete | 1 / 3 | 1 week ago |
| 110646 | detector.run | complete | 1 / 3 | 1 week ago |
| 110647 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1016432] OpenAI Codex v0.77.0 (research preview)
[codex:1016432] --------
[codex:1016432] workdir: /tmp/codex-multi-2c7m_cyi
[codex:1016432] model: gpt-5.2-codex
[codex:1016432] provider: openai
[codex:1016432] approval: never
[codex:1016432] sandbox: read-only
[codex:1016432] reasoning effort: xhigh
[codex:1016432] reasoning summaries: auto
[codex:1016432] session id: 019b7f48-4384-7d62-bc7d-1eecd152debf
[codex:1016432] --------
[codex:1016432] user
[codex:1016432] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:1016432]
[codex:1016432] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:1016432]
[codex:1016432] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:1016432] - Gas inefficiency, code quality, naming, or best practices
[codex:1016432] - Theoretical vulnerabilities without a clear extraction path
[codex:1016432] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:1016432] - Front-running unless it enables theft beyond MEV
[codex:1016432] - DoS, griefing, or issues that don't result in attacker profit
[codex:1016432] - Missing events, view function issues, or informational findings
[codex:1016432]
[codex:1016432] HIGH-VALUE PATTERNS TO HUNT:
[codex:1016432] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:1016432] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:1016432] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:1016432] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:1016432] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:1016432] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:1016432] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:1016432] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:1016432] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:1016432]
[codex:1016432] For each finding, you MUST provide:
[codex:1016432] 1. Exact file and line numbers of vulnerable code
[codex:1016432] 2. Step-by-step exploit transaction sequence
[codex:1016432] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:1016432]
[codex:1016432] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:1016432]
[codex:1016432] Output MUST be valid JSON matching the provided schema.
[codex:1016432] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:1016432] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:1016432] mcp startup: no servers
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Preparing to read AUDIT_BUNDLE.txt**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc ls in /tmp/codex-multi-2c7m_cyi succeeded in 5ms:
[codex:1016432] AUDIT_BUNDLE.txt
[codex:1016432] codex-output-schema.json
[codex:1016432] contracts
[codex:1016432] exec
[codex:1016432] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1016432]
[codex:1016432] ================================================================================
[codex:1016432] FILE: contracts/Contract.sol
[codex:1016432] ================================================================================
[codex:1016432] // SPDX-License-Identifier: GPL-2.0-or-later
[codex:1016432] pragma solidity >=0.8.0;
[codex:1016432]
[codex:1016432]
[codex:1016432] // ====================================================================
[codex:1016432] // | ______ _______ |
[codex:1016432] // | / _____________ __ __ / ____(_____ ____ _____ ________ |
[codex:1016432] // | / /_ / ___/ __ `| |/_/ / /_ / / __ \/ __ `/ __ \/ ___/ _ \ |
[codex:1016432] // | / __/ / / / /_/ _> < / __/ / / / / / /_/ / / / / /__/ __/ |
[codex:1016432] // | /_/ /_/ \__,_/_/|_| /_/ /_/_/ /_/\__,_/_/ /_/\___/\___/ |
[codex:1016432] // | |
[codex:1016432] // ====================================================================
[codex:1016432] // ===================== FraxEtherRedemptionQueue =====================
[codex:1016432] // ====================================================================
[codex:1016432] // Users wishing to exchange frxETH for ETH 1-to-1 will need to deposit their frxETH and wait to redeem it.
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Investigating potential vulnerabilities**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc 'rg -n "function|recover|collect|withdraw|redeem|burn" contracts/Contract.sol' in /tmp/codex-multi-2c7m_cyi succeeded in 8ms:
[codex:1016432] 15:// Users wishing to exchange frxETH for ETH 1-to-1 will need to deposit their frxETH and wait to redeem it.
[codex:1016432] 51: function totalSupply() external view returns (uint256);
[codex:1016432] 56: function balanceOf(address account) external view returns (uint256);
[codex:1016432] 65: function transfer(address to, uint256 amount) external returns (bool);
[codex:1016432] 74: function allowance(address owner, address spender) external view returns (uint256);
[codex:1016432] 90: function approve(address spender, uint256 amount) external returns (bool);
[codex:1016432] 101: function transferFrom(address from, address to, uint256 amount) external returns (bool);
[codex:1016432] 126: * This function call must use less than 30 000 gas.
[codex:1016432] 128: function supportsInterface(bytes4 interfaceId) external view returns (bool);
[codex:1016432] 153: function balanceOf(address owner) external view returns (uint256 balance);
[codex:1016432] 162: function ownerOf(uint256 tokenId) external view returns (address owner);
[codex:1016432] 177: function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external;
[codex:1016432] 193: function safeTransferFrom(address from, address to, uint256 tokenId) external;
[codex:1016432] 211: function transferFrom(address from, address to, uint256 tokenId) external;
[codex:1016432] 226: function approve(address to, uint256 tokenId) external;
[codex:1016432] 238: function setApprovalForAll(address operator, bool approved) external;
[codex:1016432] 247: function getApproved(uint256 tokenId) external view returns (address operator);
[codex:1016432] 254: function isApprovedForAll(address owner, address operator) external view returns (bool);
[codex:1016432] 267: * by `operator` from `from`, this function is called.
[codex:1016432] 274: function onERC721Received(
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Examining contract around fee collection**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '3260,3405p' contracts/Contract.sol" in /tmp/codex-multi-2c7m_cyi succeeded in 5ms:
[codex:1016432] /// @param earlyExitFee Early NFT back to frxETH exit fee given as a percentage with 1e6 precision
[codex:1016432] struct RedemptionQueueState {
[codex:1016432] uint64 nextNftId;
[codex:1016432] uint64 queueLengthSecs;
[codex:1016432] uint64 redemptionFee;
[codex:1016432] uint64 earlyExitFee;
[codex:1016432] }
[codex:1016432]
[codex:1016432] /// @notice Accounting of Frax's frxETH redemption queue
[codex:1016432] RedemptionQueueAccounting public redemptionQueueAccounting;
[codex:1016432]
[codex:1016432] /// @param etherLiabilities How much ETH would need to be paid out if every NFT holder could claim immediately
[codex:1016432] /// @param unclaimedFees Earned fees that the protocol has not collected yet
[codex:1016432] struct RedemptionQueueAccounting {
[codex:1016432] uint128 etherLiabilities;
[codex:1016432] uint128 unclaimedFees;
[codex:1016432] }
[codex:1016432]
[codex:1016432] /// @notice Information about a user's redemption ticket NFT
[codex:1016432] mapping(uint256 nftId => RedemptionQueueItem) public nftInformation;
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Analyzing redemption queue for reentrancy and auth**
[codex:1016432]
[codex:1016432] I’m carefully examining the redemption queue contract, focusing on whether proper admin checks and nonReentrant guards protect critical functions like entering the queue and burning NFTs. I’m considering token transfer callbacks that could cause reentrancy, especially around safeTransferFrom calls and hooks from ERC777-style tokens. The contract uses nonReentrant in core state-update functions but leaves some entry points unguarded, so I’m weighing if that’s safe given the tokens involved. I’m also scrutinizing the burn logic for double-spend safeguards and the implications of redeeming via the SFRX_ETH token’s external redeem call, looking for possible reentrancy or authorization gaps. Lots to unpack here!
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '1230,1270p' contracts/Contract.sol" in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432] require(_checkOnERC721Received(from, to, tokenId, data), "ERC721: transfer to non ERC721Receiver implementer");
[codex:1016432] }
[codex:1016432]
[codex:1016432] /**
[codex:1016432] * @dev Returns the owner of the `tokenId`. Does NOT revert if token doesn't exist
[codex:1016432] */
[codex:1016432] function _ownerOf(uint256 tokenId) internal view virtual returns (address) {
[codex:1016432] return _owners[tokenId];
[codex:1016432] }
[codex:1016432]
[codex:1016432] /**
[codex:1016432] * @dev Returns whether `tokenId` exists.
[codex:1016432] *
[codex:1016432] * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}.
[codex:1016432] *
[codex:1016432] * Tokens start existing when they are minted (`_mint`),
[codex:1016432] * and stop existing when they are burned (`_burn`).
[codex:1016432] */
[codex:1016432] function _exists(uint256 tokenId) internal view virtual returns (bool) {
[codex:1016432] return _ownerOf(tokenId) != address(0);
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Verifying ownerOf behavior**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '1100,1125p' contracts/Contract.sol" in /tmp/codex-multi-2c7m_cyi succeeded in 5ms:
[codex:1016432] function balanceOf(address owner) public view virtual override returns (uint256) {
[codex:1016432] require(owner != address(0), "ERC721: address zero is not a valid owner");
[codex:1016432] return _balances[owner];
[codex:1016432] }
[codex:1016432]
[codex:1016432] /**
[codex:1016432] * @dev See {IERC721-ownerOf}.
[codex:1016432] */
[codex:1016432] function ownerOf(uint256 tokenId) public view virtual override returns (address) {
[codex:1016432] address owner = _ownerOf(tokenId);
[codex:1016432] require(owner != address(0), "ERC721: invalid token ID");
[codex:1016432] return owner;
[codex:1016432] }
[codex:1016432]
[codex:1016432] /**
[codex:1016432] * @dev See {IERC721Metadata-name}.
[codex:1016432] */
[codex:1016432] function name() public view virtual override returns (string memory) {
[codex:1016432] return _name;
[codex:1016432] }
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Analyzing potential contract vulnerabilities**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc 'rg -n "contract" contracts/Contract.sol' in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432] 114: * Implementers can declare support of contract interfaces, which can then be
[codex:1016432] 121: * @dev Returns true if this contract implements the interface defined by
[codex:1016432] 132: * @dev Required interface of an ERC721 compliant contract.
[codex:1016432] 173: * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
[codex:1016432] 180: * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients
[codex:1016432] 189: * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.
[codex:1016432] 261: * @dev Interface for any contract that wants to support safeTransfers
[codex:1016432] 262: * from ERC721 asset contracts.
[codex:1016432] 266: * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}
[codex:1016432] 312: * @dev Returns true if `account` is a contract.
[codex:1016432] 317: * false is an externally-owned account (EOA) and not a contract.
[codex:1016432] 323: * - a contract in construction
[codex:1016432] 324: * - an address where a contract will be created
[codex:1016432] 325: * - an address where a contract lived, but was destroyed
[codex:1016432] 327: * Furthermore, `isContract` will also return true if the target contract within
[codex:1016432] 336: * Preventing calls from contracts is highly discouraged. It breaks composability, breaks support for smart wallets
[codex:1016432] 337: * like Gnosis Safe, and does not provide security since it can be circumvented by calling from a contract
[codex:1016432] 343: // for contracts in construction, since the code is only stored at the end
[codex:1016432] 354: * of certain opcodes, possibly making contracts go over the 2300 gas limit
[codex:1016432] 385: * - `target` must be a contract.
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Analyzing FraxEtherRedemptionQueue contract**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '3470,3775p' contracts/Contract.sol" in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432] function setFeeRecipient(address _newFeeRecipient) external {
[codex:1016432] _requireSenderIsTimelock();
[codex:1016432]
[codex:1016432] emit SetFeeRecipient({ oldFeeRecipient: feeRecipient, newFeeRecipient: _newFeeRecipient });
[codex:1016432]
[codex:1016432] feeRecipient = _newFeeRecipient;
[codex:1016432] }
[codex:1016432]
[codex:1016432] // =============================================================================================
[codex:1016432] // Queue Functions
[codex:1016432] // =============================================================================================
[codex:1016432]
[codex:1016432] /// @notice When someone enters the redemption queue
[codex:1016432] /// @param nftId The ID of the NFT
[codex:1016432] /// @param sender The address of the msg.sender, who is redeeming frxEth
[codex:1016432] /// @param recipient The recipient of the NFT
[codex:1016432] /// @param amountFrxEthRedeemed The amount of frxEth redeemed
[codex:1016432] /// @param maturityTimestamp The date of maturity, upon which redemption is allowed
[codex:1016432] /// @param redemptionFeeAmount The redemption fee
[codex:1016432] /// @param earlyExitFee The early exit fee at the time of minting
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Analyzing potential exploit paths and reentrancy risks**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '2920,3155p' contracts/Contract.sol" in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432] // ====================================================================
[codex:1016432] // ========================== Timelock2Step ===========================
[codex:1016432] // ====================================================================
[codex:1016432] // Frax Finance: https://github.com/FraxFinance
[codex:1016432]
[codex:1016432] // Primary Author
[codex:1016432] // Drake Evans: https://github.com/DrakeEvans
[codex:1016432]
[codex:1016432] // Reviewers
[codex:1016432] // Dennis: https://github.com/denett
[codex:1016432]
[codex:1016432] // ====================================================================
[codex:1016432]
[codex:1016432] /// @title Timelock2Step
[codex:1016432] /// @author Drake Evans (Frax Finance) https://github.com/drakeevans
[codex:1016432] /// @dev Inspired by OpenZeppelin's Ownable2Step contract
[codex:1016432] /// @notice An abstract contract which contains 2-step transfer and renounce logic for a timelock address
[codex:1016432] abstract contract Timelock2Step {
[codex:1016432] /// @notice The pending timelock address
[codex:1016432] address public pendingTimelockAddress;
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Analyzing potential vulnerabilities and exploits**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '1688,1768p' contracts/Contract.sol" in /tmp/codex-multi-2c7m_cyi succeeded in 8ms:
[codex:1016432] * This is a variant of {_callOptionalReturn} that silents catches all reverts and returns a bool instead.
[codex:1016432] */
[codex:1016432] function _callOptionalReturnBool(IERC20 token, bytes memory data) private returns (bool) {
[codex:1016432] // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
[codex:1016432] // we're implementing it ourselves. We cannot use {Address-functionCall} here since this should return false
[codex:1016432] // and not revert is the subcall reverts.
[codex:1016432]
[codex:1016432] (bool success, bytes memory returndata) = address(token).call(data);
[codex:1016432] return
[codex:1016432] success && (returndata.length == 0 || abi.decode(returndata, (bool))) && Address.isContract(address(token));
[codex:1016432] }
[codex:1016432] }
[codex:1016432]
[codex:1016432] // OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol)
[codex:1016432]
[codex:1016432] // NOTE: This file has been modified from the original to make the _status an internal item so that it can be exposed by consumers.
[codex:1016432] // This allows us to prevent global reentrancy across different
[codex:1016432]
[codex:1016432] /**
[codex:1016432] * @dev Contract module that helps prevent reentrant calls to a function.
[codex:1016432]
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Assessing potential reentrancy and token manipulation risks**
[codex:1016432] thinking
[codex:1016432] **Reviewing access control and reentrancy safeguards with final audit output**
[codex:1016432]
[codex:1016432] I’m carefully verifying access control functions like timelock transfers and operator roles for any bypasses, and checking if reentrancy protections perfectly block all vulnerable paths, including ERC721 hooks. Since no concrete exploit or profit path emerges, I’m preparing the final structured JSON response with no_FINDINGS set to true, ensuring compliance with the user’s output schema and considering the file length and segmentation for complete audit.
[codex:1016432] exec
[codex:1016432] /bin/bash -lc 'rg -n "''^FILE:" AUDIT_BUNDLE.txt' in /tmp/codex-multi-2c7m_cyi succeeded in 7ms:
[codex:1016432] 4:FILE: contracts/Contract.sol
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Checking for risky calls**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "rg -n \"call\\{|delegatecall|functionCall\" contracts/Contract.sol" in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432] 368: (bool success, ) = recipient.call{value: amount}("");
[codex:1016432] 390: function functionCall(address target, bytes memory data) internal returns (bytes memory) {
[codex:1016432] 391: return functionCallWithValue(target, data, 0, "Address: low-level call failed");
[codex:1016432] 395: * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with
[codex:1016432] 400: function functionCall(
[codex:1016432] 405: return functionCallWithValue(target, data, 0, errorMessage);
[codex:1016432] 409: * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
[codex:1016432] 419: function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
[codex:1016432] 420: return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
[codex:1016432] 424: * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but
[codex:1016432] 429: function functionCallWithValue(
[codex:1016432] 436: (bool success, bytes memory returndata) = target.call{value: value}(data);
[codex:1016432] 441: * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
[codex:1016432] 451: * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
[codex:1016432] 466: * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
[codex:1016432] 476: * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`],
[codex:1016432] 486: (bool success, bytes memory returndata) = target.delegatecall(data);
[codex:1016432] 1675: // we're implementing it ourselves. We use {Address-functionCall} to perform this call, which verifies that
[codex:1016432] 1678: bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed");
[codex:1016432] 1692: // we're implementing it ourselves. We cannot use {Address-functionCall} here since this should return false
[codex:1016432]
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Evaluating reentrancy and token transfer risks**
[codex:1016432] thinking
[codex:1016432] **Planning incremental file reading**
[codex:1016432]
[codex:1016432] I'll read the file in 500-line chunks to safely process all 3,820 lines without overwhelming output limits, ensuring I comply with the instruction to fully examine the file before concluding.
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '1,500p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2c7m_cyi succeeded in 7ms:
[codex:1016432] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:1016432]
[codex:1016432] ================================================================================
[codex:1016432] FILE: contracts/Contract.sol
[codex:1016432] ================================================================================
[codex:1016432] // SPDX-License-Identifier: GPL-2.0-or-later
[codex:1016432] pragma solidity >=0.8.0;
[codex:1016432]
[codex:1016432]
[codex:1016432] // ====================================================================
[codex:1016432] // | ______ _______ |
[codex:1016432] // | / _____________ __ __ / ____(_____ ____ _____ ________ |
[codex:1016432] // | / /_ / ___/ __ `| |/_/ / /_ / / __ \/ __ `/ __ \/ ___/ _ \ |
[codex:1016432] // | / __/ / / / /_/ _> < / __/ / / / / / /_/ / / / / /__/ __/ |
[codex:1016432] // | /_/ /_/ \__,_/_/|_| /_/ /_/_/ /_/\__,_/_/ /_/\___/\___/ |
[codex:1016432] // | |
[codex:1016432] // ====================================================================
[codex:1016432] // ===================== FraxEtherRedemptionQueue =====================
[codex:1016432] // ====================================================================
[codex:1016432] // Users wishing to exchange frxETH for ETH 1-to-1 will need to deposit their frxETH and wait to redeem it.
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Continuing to read remaining content**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '501,1000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432] function verifyCallResultFromTarget(
[codex:1016432] address target,
[codex:1016432] bool success,
[codex:1016432] bytes memory returndata,
[codex:1016432] string memory errorMessage
[codex:1016432] ) internal view returns (bytes memory) {
[codex:1016432] if (success) {
[codex:1016432] if (returndata.length == 0) {
[codex:1016432] // only check isContract if the call was successful and the return data is empty
[codex:1016432] // otherwise we already know that it was a contract
[codex:1016432] require(isContract(target), "Address: call to non-contract");
[codex:1016432] }
[codex:1016432] return returndata;
[codex:1016432] } else {
[codex:1016432] _revert(returndata, errorMessage);
[codex:1016432] }
[codex:1016432] }
[codex:1016432]
[codex:1016432] /**
[codex:1016432] * @dev Tool to verify that a low level call was successful, and revert if it wasn't, either by bubbling the
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Continuing to read remaining content**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '1001,1500p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2c7m_cyi succeeded in 7ms:
[codex:1016432]
[codex:1016432] /**
[codex:1016432] * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.
[codex:1016432] */
[codex:1016432] function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {
[codex:1016432] bytes memory buffer = new bytes(2 * length + 2);
[codex:1016432] buffer[0] = "0";
[codex:1016432] buffer[1] = "x";
[codex:1016432] for (uint256 i = 2 * length + 1; i > 1; --i) {
[codex:1016432] buffer[i] = _SYMBOLS[value & 0xf];
[codex:1016432] value >>= 4;
[codex:1016432] }
[codex:1016432] require(value == 0, "Strings: hex length insufficient");
[codex:1016432] return string(buffer);
[codex:1016432] }
[codex:1016432]
[codex:1016432] /**
[codex:1016432] * @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation.
[codex:1016432] */
[codex:1016432] function toHexString(address addr) internal pure returns (string memory) {
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Continuing task execution**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '1501,2000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432] * WARNING: Anyone calling this MUST ensure that the balances remain consistent with the ownership. The invariant
[codex:1016432] * being that for any address `a` the value returned by `balanceOf(a)` must be equal to the number of tokens such
[codex:1016432] * that `ownerOf(tokenId)` is `a`.
[codex:1016432] */
[codex:1016432] // solhint-disable-next-line func-name-mixedcase
[codex:1016432] function __unsafe_increaseBalance(address account, uint256 amount) internal {
[codex:1016432] _balances[account] += amount;
[codex:1016432] }
[codex:1016432] }
[codex:1016432]
[codex:1016432] // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/utils/SafeERC20.sol)
[codex:1016432]
[codex:1016432] // OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/extensions/IERC20Permit.sol)
[codex:1016432]
[codex:1016432] /**
[codex:1016432] * @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in
[codex:1016432] * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].
[codex:1016432] *
[codex:1016432] * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by
[codex:1016432] * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Continuing exploration**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '2001,2500p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432] */
[codex:1016432] function toUint160(uint256 value) internal pure returns (uint160) {
[codex:1016432] require(value <= type(uint160).max, "SafeCast: value doesn't fit in 160 bits");
[codex:1016432] return uint160(value);
[codex:1016432] }
[codex:1016432]
[codex:1016432] /**
[codex:1016432] * @dev Returns the downcasted uint152 from uint256, reverting on
[codex:1016432] * overflow (when the input is greater than largest uint152).
[codex:1016432] *
[codex:1016432] * Counterpart to Solidity's `uint152` operator.
[codex:1016432] *
[codex:1016432] * Requirements:
[codex:1016432] *
[codex:1016432] * - input must fit into 152 bits
[codex:1016432] *
[codex:1016432] * _Available since v4.7._
[codex:1016432] */
[codex:1016432] function toUint152(uint256 value) internal pure returns (uint152) {
[codex:1016432] require(value <= type(uint152).max, "SafeCast: value doesn't fit in 152 bits");
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Resuming reading from line 2501**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '2501,3000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2c7m_cyi succeeded in 6ms:
[codex:1016432] function toInt184(int256 value) internal pure returns (int184 downcasted) {
[codex:1016432] downcasted = int184(value);
[codex:1016432] require(downcasted == value, "SafeCast: value doesn't fit in 184 bits");
[codex:1016432] }
[codex:1016432]
[codex:1016432] /**
[codex:1016432] * @dev Returns the downcasted int176 from int256, reverting on
[codex:1016432] * overflow (when the input is less than smallest int176 or
[codex:1016432] * greater than largest int176).
[codex:1016432] *
[codex:1016432] * Counterpart to Solidity's `int176` operator.
[codex:1016432] *
[codex:1016432] * Requirements:
[codex:1016432] *
[codex:1016432] * - input must fit into 176 bits
[codex:1016432] *
[codex:1016432] * _Available since v4.7._
[codex:1016432] */
[codex:1016432] function toInt176(int256 value) internal pure returns (int176 downcasted) {
[codex:1016432] downcasted = int176(value);
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Continuing code review beyond 3000**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '3001,3500p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2c7m_cyi succeeded in 5ms:
[codex:1016432] /// @dev This function is to be implemented by a public function
[codex:1016432] /// @param _newTimelock The address of the new timelock
[codex:1016432] function _setTimelock(address _newTimelock) internal {
[codex:1016432] emit TimelockTransferred(timelockAddress, _newTimelock);
[codex:1016432] timelockAddress = _newTimelock;
[codex:1016432] }
[codex:1016432]
[codex:1016432] // ============================================================================================
[codex:1016432] // Functions: Internal Checks
[codex:1016432] // ============================================================================================
[codex:1016432]
[codex:1016432] /// @notice The ```_isTimelock``` function checks if _address is current timelock address
[codex:1016432] /// @param _address The address to check against the timelock
[codex:1016432] /// @return Whether or not msg.sender is current timelock address
[codex:1016432] function _isTimelock(address _address) internal view returns (bool) {
[codex:1016432] return _address == timelockAddress;
[codex:1016432] }
[codex:1016432]
[codex:1016432] /// @notice The ```_requireIsTimelock``` function reverts if _address is not current timelock address
[codex:1016432] /// @param _address The address to check against the timelock
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Requesting remainder of content**
[codex:1016432] exec
[codex:1016432] /bin/bash -lc "sed -n '3501,4000p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-2c7m_cyi succeeded in 8ms:
[codex:1016432] uint64 maturityTimestamp,
[codex:1016432] uint256 earlyExitFee
[codex:1016432] );
[codex:1016432]
[codex:1016432] /// @notice Enter the queue for redeeming frxEth 1-to-1 for Eth, without the need to approve first (EIP-712 / EIP-2612)
[codex:1016432] /// @notice Will generate a FrxEthRedemptionTicket NFT that can be redeemed for the actual Eth later.
[codex:1016432] /// @param _amountToRedeem Amount of frxETH to redeem
[codex:1016432] /// @param _recipient Recipient of the NFT. Must be ERC721 compatible if a contract
[codex:1016432] /// @param _deadline Deadline for this signature
[codex:1016432] /// @param _nftId The ID of the FrxEthRedemptionTicket NFT
[codex:1016432] function enterRedemptionQueueWithPermit(
[codex:1016432] uint120 _amountToRedeem,
[codex:1016432] address _recipient,
[codex:1016432] uint256 _deadline,
[codex:1016432] uint8 _v,
[codex:1016432] bytes32 _r,
[codex:1016432] bytes32 _s
[codex:1016432] ) external returns (uint256 _nftId) {
[codex:1016432] // Call the permit
[codex:1016432] FRX_ETH.permit({
[codex:1016432]
[codex:1016432] thinking
[codex:1016432] **Concluding security analysis**
[codex:1016432]
[codex:1016432] I've carefully examined possible reentrancy, permit misuse, and token transfer behaviors, weighing risks from trusted libraries versus external tokens; after considering attack vectors and assumptions, I see no exploitable paths to extract assets, so I'll finalize a clean no-findings report.
[codex:1016432] codex
[codex:1016432] {"no_findings":true,"summary":"No concrete, exploitable paths to extract ETH/tokens/NFTs found in the audited contract.","findings":[]}
[codex:1016432] tokens used
[codex:1016432] 95,029
[codex:1016432] {"no_findings":true,"summary":"No concrete, exploitable paths to extract ETH/tokens/NFTs found in the audited contract.","findings":[]}
{
"codex": {
"ran_at": "2026-01-02T15:23:53.128183+00:00",
"returncode": 0
},
"summary": "No concrete, exploitable paths to extract ETH/tokens/NFTs found in the audited contract.",
"raw_final": {
"summary": "No concrete, exploitable paths to extract ETH/tokens/NFTs found in the audited contract.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x02d5 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x70a08231 00000019: GT 0000001a: PUSH2 0x0179 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xbc7aed03 00000024: GT 00000025: PUSH2 0x00d6 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xe14cbb8a 0000002f: GT 00000030: PUSH2 0x008a 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xe985e9c5 0000003a: GT 0000003b: PUSH2 0x0064 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xe985e9c5 00000045: EQ 00000046: PUSH2 0x09ea 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf6ccaad4 00000050: EQ 00000051: PUSH2 0x0a40 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf737c276 0000005b: EQ 0000005c: PUSH2 0x0a55 0000005f: JUMPI 00000060: PUSH1 0x00 00000062: DUP1 00000063: REVERT 00000064: JUMPDEST 00000065: DUP1 00000066: PUSH4 0xe14cbb8a 0000006b: EQ 0000006c: PUSH2 0x097a 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0xe63a391f 00000076: EQ 00000077: PUSH2 0x099a 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xe74b981b 00000081: EQ 00000082: PUSH2 0x09ca 00000085: JUMPI 00000086: PUSH1 0x00 00000088: DUP1 00000089: REVERT 0000008a: JUMPDEST 0000008b: DUP1 0000008c: PUSH4 0xc87b56dd 00000091: GT 00000092: PUSH2 0x00bb 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0xc87b56dd 0000009c: EQ 0000009d: PUSH2 0x091a 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0xcfbdd6a0 000000a7: EQ 000000a8: PUSH2 0x093a 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0xda577ef1 000000b2: EQ 000000b3: PUSH2 0x095a 000000b6: JUMPI 000000b7: PUSH1 0x00 000000b9: DUP1 000000ba: REVERT 000000bb: JUMPDEST 000000bc: DUP1 000000bd: PUSH4 0xbc7aed03 000000c2: EQ 000000c3: PUSH2 0x08da 000000c6: JUMPI 000000c7: DUP1 000000c8: PUSH4 0xc3d31487 000000cd: EQ 000000ce: PUSH2 0x08fa 000000d1: JUMPI 000000d2: PUSH1 0x00 000000d4: DUP1 000000d5: REVERT 000000d6: JUMPDEST 000000d7: DUP1 000000d8: PUSH4 0x9ac93022 000000dd: GT 000000de: PUSH2 0x012d 000000e1: JUMPI 000000e2: DUP1 000000e3: PUSH4 0xb3ab15fb 000000e8: GT 000000e9: PUSH2 0x0112 000000ec: JUMPI 000000ed: DUP1 000000ee: PUSH4 0xb3ab15fb 000000f3: EQ 000000f4: PUSH2 0x087a 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0xb88d4fde 000000fe: EQ 000000ff: PUSH2 0x089a 00000102: JUMPI 00000103: DUP1 00000104: PUSH4 0xbbe9ea74 00000109: EQ 0000010a: PUSH2 0x08ba 0000010d: JUMPI 0000010e: PUSH1 0x00 00000110: DUP1 00000111: REVERT 00000112: JUMPDEST 00000113: DUP1 00000114: PUSH4 0x9ac93022 00000119: EQ 0000011a: PUSH2 0x083a 0000011d: JUMPI 0000011e: DUP1 0000011f: PUSH4 0xa22cb465 00000124: EQ 00000125: PUSH2 0x085a 00000128: JUMPI 00000129: PUSH1 0x00 0000012b: DUP1 0000012c: REVERT 0000012d: JUMPDEST 0000012e: DUP1 0000012f: PUSH4 0x7d7d7b0a 00000134: GT 00000135: PUSH2 0x015e 00000138: JUMPI 00000139: DUP1 0000013a: PUSH4 0x7d7d7b0a 0000013f: EQ 00000140: PUSH2 0x07d1 00000143: JUMPI 00000144: DUP1 00000145: PUSH4 0x838f3b68 0000014a: EQ 0000014b: PUSH2 0x0805 0000014e: JUMPI 0000014f: DUP1 00000150: PUSH4 0x95d89b41 00000155: EQ 00000156: PUSH2 0x0825 00000159: JUMPI 0000015a: PUSH1 0x00 0000015c: DUP1 0000015d: REVERT 0000015e: JUMPDEST 0000015f: DUP1 00000160: PUSH4 0x70a08231 00000165: EQ 00000166: PUSH2 0x0791 00000169: JUMPI 0000016a: DUP1 0000016b: PUSH4 0x738a8ce6 00000170: EQ 00000171: PUSH2 0x07b1 00000174: JUMPI 00000175: PUSH1 0x00 00000177: DUP1 00000178: REVERT 00000179: JUMPDEST 0000017a: DUP1 0000017b: PUSH4 0x23b872dd 00000180: GT 00000181: PUSH2 0x0232 00000184: JUMPI 00000185: DUP1 00000186: PUSH4 0x4bc66f32 0000018b: GT 0000018c: PUSH2 0x01e6 0000018f: JUMPI 00000190: DUP1 00000191: PUSH4 0x6352211e 00000196: GT 00000197: PUSH2 0x01c0 0000019a: JUMPI 0000019b: DUP1 0000019c: PUSH4 0x6352211e 000001a1: EQ 000001a2: PUSH2 0x071d 000001a5: JUMPI 000001a6: DUP1 000001a7: PUSH4 0x64cb1688 000001ac: EQ 000001ad: PUSH2 0x073d 000001b0: JUMPI 000001b1: DUP1 000001b2: PUSH4 0x6ae3535e 000001b7: EQ 000001b8: PUSH2 0x075d 000001bb: JUMPI 000001bc: PUSH1 0x00 000001be: DUP1 000001bf: REVERT 000001c0: JUMPDEST 000001c1: DUP1 000001c2: PUSH4 0x4bc66f32 000001c7: EQ 000001c8: PUSH2 0x06ad 000001cb: JUMPI 000001cc: DUP1 000001cd: PUSH4 0x4f4798ae 000001d2: EQ 000001d3: PUSH2 0x06da 000001d6: JUMPI 000001d7: DUP1 000001d8: PUSH4 0x4f8b4ae7 000001dd: EQ 000001de: PUSH2 0x0708 000001e1: JUMPI 000001e2: PUSH1 0x00 000001e4: DUP1 000001e5: REVERT 000001e6: JUMPDEST 000001e7: DUP1 000001e8: PUSH4 0x42842e0e 000001ed: GT 000001ee: PUSH2 0x0217 000001f1: JUMPI 000001f2: DUP1 000001f3: PUSH4 0x42842e0e 000001f8: EQ 000001f9: PUSH2 0x0640 000001fc: JUMPI 000001fd: DUP1 000001fe: PUSH4 0x45014095 00000203: EQ 00000204: PUSH2 0x0660 00000207: JUMPI 00000208: DUP1 00000209: PUSH4 0x46904840 0000020e: EQ 0000020f: PUSH2 0x0680 00000212: JUMPI 00000213: PUSH1 0x00 00000215: DUP1 00000216: REVERT 00000217: JUMPDEST 00000218: DUP1 00000219: PUSH4 0x23b872dd 0000021e: EQ 0000021f: PUSH2 0x05e0 00000222: JUMPI 00000223: DUP1 00000224: PUSH4 0x420a5538 00000229: EQ 0000022a: PUSH2 0x0600 0000022d: JUMPI 0000022e: PUSH1 0x00 00000230: DUP1 00000231: REVERT 00000232: JUMPDEST 00000233: DUP1 00000234: PUSH4 0x0a5334e5 00000239: GT 0000023a: PUSH2 0x0289 0000023d: JUMPI 0000023e: DUP1 0000023f: PUSH4 0x127effb2 00000244: GT 00000245: PUSH2 0x026e 00000248: JUMPI 00000249: DUP1 0000024a: PUSH4 0x127effb2 0000024f: EQ 00000250: PUSH2 0x0456 00000253: JUMPI 00000254: DUP1 00000255: PUSH4 0x1494ef63 0000025a: EQ 0000025b: PUSH2 0x0483 0000025e: JUMPI 0000025f: DUP1 00000260: PUSH4 0x16b79639 00000265: EQ 00000266: PUSH2 0x051e 00000269: JUMPI 0000026a: PUSH1 0x00 0000026c: DUP1 0000026d: REVERT 0000026e: JUMPDEST 0000026f: DUP1 00000270: PUSH4 0x0a5334e5 00000275: EQ 00000276: PUSH2 0x03cc 00000279: JUMPI 0000027a: DUP1 0000027b: PUSH4 0x103cf9e3 00000280: EQ 00000281: PUSH2 0x03ec 00000284: JUMPI 00000285: PUSH1 0x00 00000287: DUP1 00000288: REVERT 00000289: JUMPDEST 0000028a: DUP1 0000028b: PUSH4 0x081812fc 00000290: GT 00000291: PUSH2 0x02ba 00000294: JUMPI 00000295: DUP1 00000296: PUSH4 0x081812fc 0000029b: EQ 0000029c: PUSH2 0x0338 0000029f: JUMPI 000002a0: DUP1 000002a1: PUSH4 0x090f3f50 000002a6: EQ 000002a7: PUSH2 0x037d 000002aa: JUMPI 000002ab: DUP1 000002ac: PUSH4 0x095ea7b3 000002b1: EQ 000002b2: PUSH2 0x03aa 000002b5: JUMPI 000002b6: PUSH1 0x00 000002b8: DUP1 000002b9: REVERT 000002ba: JUMPDEST 000002bb: DUP1 000002bc: PUSH4 0x01ffc9a7 000002c1: EQ 000002c2: PUSH2 0x02e1 000002c5: JUMPI 000002c6: DUP1 000002c7: PUSH4 0x06fdde03 000002cc: EQ 000002cd: PUSH2 0x0316 000002d0: JUMPI 000002d1: PUSH1 0x00 000002d3: DUP1 000002d4: REVERT 000002d5: JUMPDEST 000002d6: CALLDATASIZE 000002d7: PUSH2 0x02dc 000002da: JUMPI 000002db: STOP 000002dc: JUMPDEST 000002dd: PUSH1 0x00 000002df: DUP1 000002e0: REVERT 000002e1: JUMPDEST 000002e2: CALLVALUE 000002e3: DUP1 000002e4: ISZERO 000002e5: PUSH2 0x02ed 000002e8: JUMPI 000002e9: PUSH1 0x00 000002eb: DUP1 000002ec: REVERT 000002ed: JUMPDEST 000002ee: POP 000002ef: PUSH2 0x0301 000002f2: PUSH2 0x02fc 000002f5: CALLDATASIZE 000002f6: PUSH1 0x04 000002f8: PUSH2 0x3de7 000002fb: JUMP 000002fc: JUMPDEST 000002fd: PUSH2 0x0a6b 00000300: JUMP 00000301: JUMPDEST 00000302: PUSH1 0x40 00000304: MLOAD 00000305: SWAP1 00000306: ISZERO 00000307: ISZERO 00000308: DUP2 00000309: MSTORE 0000030a: PUSH1 0x20 0000030c: ADD 0000030d: JUMPDEST 0000030e: PUSH1 0x40 00000310: MLOAD 00000311: DUP1 00000312: SWAP2 00000313: SUB 00000314: SWAP1 00000315: RETURN 00000316: JUMPDEST 00000317: CALLVALUE 00000318: DUP1 00000319: ISZERO 0000031a: PUSH2 0x0322 0000031d: JUMPI 0000031e: PUSH1 0x00 00000320: DUP1 00000321: REVERT 00000322: JUMPDEST 00000323: POP 00000324: PUSH2 0x032b 00000327: PUSH2 0x0b50 0000032a: JUMP 0000032b: JUMPDEST 0000032c: PUSH1 0x40 0000032e: MLOAD 0000032f: PUSH2 0x030d 00000332: SWAP2 00000333: SWAP1 00000334: PUSH2 0x3e72 00000337: JUMP 00000338: JUMPDEST 00000339: CALLVALUE 0000033a: DUP1 0000033b: ISZERO 0000033c: PUSH2 0x0344 0000033f: JUMPI 00000340: PUSH1 0x00 00000342: DUP1 00000343: REVERT 00000344: JUMPDEST 00000345: POP 00000346: PUSH2 0x0358 00000349: PUSH2 0x0353 0000034c: CALLDATASIZE 0000034d: PUSH1 0x04 0000034f: PUSH2 0x3e85 00000352: JUMP 00000353: JUMPDEST 00000354: PUSH2 0x0be2 00000357: JUMP 00000358: JUMPDEST 00000359: PUSH1 0x40 0000035b: MLOAD 0000035c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000371: SWAP1 00000372: SWAP2 00000373: AND 00000374: DUP2 00000375: MSTORE 00000376: PUSH1 0x20 00000378: ADD 00000379: PUSH2 0x030d 0000037c: JUMP 0000037d: JUMPDEST 0000037e: CALLVALUE 0000037f: DUP1 00000380: ISZERO 00000381: PUSH2 0x0389 00000384: JUMPI 00000385: PUSH1 0x00 00000387: DUP1 00000388: REVERT 00000389: JUMPDEST 0000038a: POP 0000038b: PUSH1 0x06 0000038d: SLOAD 0000038e: PUSH2 0x0358 00000391: SWAP1 00000392: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003a7: AND 000003a8: DUP2 000003a9: JUMP 000003aa: JUMPDEST 000003ab: CALLVALUE 000003ac: DUP1 000003ad: ISZERO 000003ae: PUSH2 0x03b6 000003b1: JUMPI 000003b2: PUSH1 0x00 000003b4: DUP1 000003b5: REVERT 000003b6: JUMPDEST 000003b7: POP 000003b8: PUSH2 0x03ca 000003bb: PUSH2 0x03c5 000003be: CALLDATASIZE 000003bf: PUSH1 0x04 000003c1: PUSH2 0x3ec0 000003c4: JUMP 000003c5: JUMPDEST 000003c6: PUSH2 0x0c16 000003c9: JUMP 000003ca: JUMPDEST 000003cb: STOP 000003cc: JUMPDEST 000003cd: CALLVALUE 000003ce: DUP1 000003cf: ISZERO 000003d0: PUSH2 0x03d8 000003d3: JUMPI 000003d4: PUSH1 0x00 000003d6: DUP1 000003d7: REVERT 000003d8: JUMPDEST 000003d9: POP 000003da: PUSH2 0x03ca 000003dd: PUSH2 0x03e7 000003e0: CALLDATASIZE 000003e1: PUSH1 0x04 000003e3: PUSH2 0x3eec 000003e6: JUMP 000003e7: JUMPDEST 000003e8: PUSH2 0x0da7 000003eb: JUMP 000003ec: JUMPDEST 000003ed: CALLVALUE 000003ee: DUP1 000003ef: ISZERO 000003f0: PUSH2 0x03f8 000003f3: JUMPI 000003f4: PUSH1 0x00 000003f6: DUP1 000003f7: REVERT 000003f8: JUMPDEST 000003f9: POP 000003fa: PUSH1 0x0b 000003fc: SLOAD 000003fd: PUSH2 0x042d 00000400: SWAP1 00000401: PUSH16 0xffffffffffffffffffffffffffffffff 00000412: DUP1 00000413: DUP3 00000414: AND 00000415: SWAP2 00000416: PUSH17 0x0100000000000000000000000000000000 00000428: SWAP1 00000429: DIV 0000042a: AND 0000042b: DUP3 0000042c: JUMP 0000042d: JUMPDEST 0000042e: PUSH1 0x40 00000430: DUP1 00000431: MLOAD 00000432: PUSH16 0xffffffffffffffffffffffffffffffff 00000443: SWAP4 00000444: DUP5 00000445: AND 00000446: DUP2 00000447: MSTORE 00000448: SWAP3 00000449: SWAP1 0000044a: SWAP2 0000044b: AND 0000044c: PUSH1 0x20 0000044e: DUP4 0000044f: ADD 00000450: MSTORE 00000451: ADD 00000452: PUSH2 0x030d 00000455: JUMP 00000456: JUMPDEST 00000457: CALLVALUE 00000458: DUP1 00000459: ISZERO 0000045a: PUSH2 0x0462 0000045d: JUMPI 0000045e: PUSH1 0x00 00000460: DUP1 00000461: REVERT 00000462: JUMPDEST 00000463: POP 00000464: PUSH1 0x08 00000466: SLOAD 00000467: PUSH2 0x0358 0000046a: SWAP1 0000046b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000480: AND 00000481: DUP2 00000482: JUMP 00000483: JUMPDEST 00000484: CALLVALUE 00000485: DUP1 00000486: ISZERO 00000487: PUSH2 0x048f 0000048a: JUMPI 0000048b: PUSH1 0x00 0000048d: DUP1 0000048e: REVERT 0000048f: JUMPDEST 00000490: POP 00000491: PUSH1 0x0a 00000493: SLOAD 00000494: PUSH2 0x04ea 00000497: SWAP1 00000498: PUSH8 0xffffffffffffffff 000004a1: DUP1 000004a2: DUP3 000004a3: AND 000004a4: SWAP2 000004a5: PUSH9 0x010000000000000000 000004af: DUP2 000004b0: DIV 000004b1: DUP3 000004b2: AND 000004b3: SWAP2 000004b4: PUSH17 0x0100000000000000000000000000000000 000004c6: DUP3 000004c7: DIV 000004c8: DUP2 000004c9: AND 000004ca: SWAP2 000004cb: PUSH25 0x01000000000000000000000000000000000000000000000000 000004e5: SWAP1 000004e6: DIV 000004e7: AND 000004e8: DUP5 000004e9: JUMP 000004ea: JUMPDEST 000004eb: PUSH1 0x40 000004ed: DUP1 000004ee: MLOAD 000004ef: PUSH8 0xffffffffffffffff 000004f8: SWAP6 000004f9: DUP7 000004fa: AND 000004fb: DUP2 000004fc: MSTORE 000004fd: SWAP4 000004fe: DUP6 000004ff: AND 00000500: PUSH1 0x20 00000502: DUP6 00000503: ADD 00000504: MSTORE 00000505: SWAP2 00000506: DUP5 00000507: AND 00000508: SWAP2 00000509: DUP4 0000050a: ADD 0000050b: SWAP2 0000050c: SWAP1 0000050d: SWAP2 0000050e: MSTORE 0000050f: SWAP1 00000510: SWAP2 00000511: AND 00000512: PUSH1 0x60 00000514: DUP3 00000515: ADD 00000516: MSTORE 00000517: PUSH1 0x80 00000519: ADD 0000051a: PUSH2 0x030d 0000051d: JUMP 0000051e: JUMPDEST 0000051f: CALLVALUE 00000520: DUP1 00000521: ISZERO 00000522: PUSH2 0x052a 00000525: JUMPI 00000526: PUSH1 0x00 00000528: DUP1 00000529: REVERT 0000052a: JUMPDEST 0000052b: POP 0000052c: PUSH2 0x059e 0000052f: PUSH2 0x0539 00000532: CALLDATASIZE 00000533: PUSH1 0x04 00000535: PUSH2 0x3e85 00000538: JUMP 00000539: JUMPDEST 0000053a: PUSH1 0x0c 0000053c: PUSH1 0x20 0000053e: MSTORE 0000053f: PUSH1 0x00 00000541: SWAP1 00000542: DUP2 00000543: MSTORE 00000544: PUSH1 0x40 00000546: SWAP1 00000547: KECCAK256 00000548: SLOAD 00000549: PUSH1 0xff 0000054b: DUP2 0000054c: AND 0000054d: SWAP1 0000054e: PUSH8 0xffffffffffffffff 00000557: PUSH2 0x0100 0000055a: DUP3 0000055b: DIV 0000055c: DUP2 0000055d: AND 0000055e: SWAP2 0000055f: PUSH15 0xffffffffffffffffffffffffffffff 0000056f: PUSH10 0x01000000000000000000 0000057a: DUP3 0000057b: DIV 0000057c: AND 0000057d: SWAP2 0000057e: PUSH25 0x01000000000000000000000000000000000000000000000000 00000598: SWAP1 00000599: SWAP2 0000059a: DIV 0000059b: AND 0000059c: DUP5 0000059d: JUMP 0000059e: JUMPDEST 0000059f: PUSH1 0x40 000005a1: DUP1 000005a2: MLOAD 000005a3: SWAP5 000005a4: ISZERO 000005a5: ISZERO 000005a6: DUP6 000005a7: MSTORE 000005a8: PUSH8 0xffffffffffffffff 000005b1: SWAP4 000005b2: DUP5 000005b3: AND 000005b4: PUSH1 0x20 000005b6: DUP7 000005b7: ADD 000005b8: MSTORE 000005b9: PUSH15 0xffffffffffffffffffffffffffffff 000005c9: SWAP1 000005ca: SWAP3 000005cb: AND 000005cc: SWAP2 000005cd: DUP5 000005ce: ADD 000005cf: SWAP2 000005d0: SWAP1 000005d1: SWAP2 000005d2: MSTORE 000005d3: AND 000005d4: PUSH1 0x60 000005d6: DUP3 000005d7: ADD 000005d8: MSTORE 000005d9: PUSH1 0x80 000005db: ADD 000005dc: PUSH2 0x030d 000005df: JUMP 000005e0: JUMPDEST 000005e1: CALLVALUE 000005e2: DUP1 000005e3: ISZERO 000005e4: PUSH2 0x05ec 000005e7: JUMPI 000005e8: PUSH1 0x00 000005ea: DUP1 000005eb: REVERT 000005ec: JUMPDEST 000005ed: POP 000005ee: PUSH2 0x03ca 000005f1: PUSH2 0x05fb 000005f4: CALLDATASIZE 000005f5: PUSH1 0x04 000005f7: PUSH2 0x3f1c 000005fa: JUMP 000005fb: JUMPDEST 000005fc: PUSH2 0x0ee2 000005ff: JUMP 00000600: JUMPDEST 00000601: CALLVALUE 00000602: DUP1 00000603: ISZERO 00000604: PUSH2 0x060c 00000607: JUMPI 00000608: PUSH1 0x00 0000060a: DUP1 0000060b: REVERT 0000060c: JUMPDEST 0000060d: POP 0000060e: PUSH2 0x0620 00000611: PUSH2 0x061b 00000614: CALLDATASIZE 00000615: PUSH1 0x04 00000617: PUSH2 0x3ec0 0000061a: JUMP 0000061b: JUMPDEST 0000061c: PUSH2 0x0f83 0000061f: JUMP 00000620: JUMPDEST 00000621: PUSH1 0x40 00000623: MLOAD 00000624: PUSH15 0xffffffffffffffffffffffffffffff 00000634: SWAP1 00000635: SWAP2 00000636: AND 00000637: DUP2 00000638: MSTORE 00000639: PUSH1 0x20 0000063b: ADD 0000063c: PUSH2 0x030d 0000063f: JUMP 00000640: JUMPDEST 00000641: CALLVALUE 00000642: DUP1 00000643: ISZERO 00000644: PUSH2 0x064c 00000647: JUMPI 00000648: PUSH1 0x00 0000064a: DUP1 0000064b: REVERT 0000064c: JUMPDEST 0000064d: POP 0000064e: PUSH2 0x03ca 00000651: PUSH2 0x065b 00000654: CALLDATASIZE 00000655: PUSH1 0x04 00000657: PUSH2 0x3f1c 0000065a: JUMP 0000065b: JUMPDEST 0000065c: PUSH2 0x128b 0000065f: JUMP 00000660: JUMPDEST 00000661: CALLVALUE 00000662: DUP1 00000663: ISZERO 00000664: PUSH2 0x066c 00000667: JUMPI 00000668: PUSH1 0x00 0000066a: DUP1 0000066b: REVERT 0000066c: JUMPDEST 0000066d: POP 0000066e: PUSH2 0x03ca 00000671: PUSH2 0x067b 00000674: CALLDATASIZE 00000675: PUSH1 0x04 00000677: PUSH2 0x3f5d 0000067a: JUMP 0000067b: JUMPDEST 0000067c: PUSH2 0x12a6 0000067f: JUMP 00000680: JUMPDEST 00000681: CALLVALUE 00000682: DUP1 00000683: ISZERO 00000684: PUSH2 0x068c 00000687: JUMPI 00000688: PUSH1 0x00 0000068a: DUP1 0000068b: REVERT 0000068c: JUMPDEST 0000068d: POP 0000068e: PUSH1 0x0e 00000690: SLOAD 00000691: PUSH2 0x0358 00000694: SWAP1 00000695: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006aa: AND 000006ab: DUP2 000006ac: JUMP 000006ad: JUMPDEST 000006ae: CALLVALUE 000006af: DUP1 000006b0: ISZERO 000006b1: PUSH2 0x06b9 000006b4: JUMPI 000006b5: PUSH1 0x00 000006b7: DUP1 000006b8: REVERT 000006b9: JUMPDEST 000006ba: POP 000006bb: PUSH1 0x07 000006bd: SLOAD 000006be: PUSH2 0x0358 000006c1: SWAP1 000006c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006d7: AND 000006d8: DUP2 000006d9: JUMP 000006da: JUMPDEST 000006db: CALLVALUE 000006dc: DUP1 000006dd: ISZERO 000006de: PUSH2 0x06e6 000006e1: JUMPI 000006e2: PUSH1 0x00 000006e4: DUP1 000006e5: REVERT 000006e6: JUMPDEST 000006e7: POP 000006e8: PUSH2 0x06fa 000006eb: PUSH2 0x06f5 000006ee: CALLDATASIZE 000006ef: PUSH1 0x04 000006f1: PUSH2 0x3f9e 000006f4: JUMP 000006f5: JUMPDEST 000006f6: PUSH2 0x12ba 000006f9: JUMP 000006fa: JUMPDEST 000006fb: PUSH1 0x40 000006fd: MLOAD 000006fe: SWAP1 000006ff: DUP2 00000700: MSTORE 00000701: PUSH1 0x20 00000703: ADD 00000704: PUSH2 0x030d 00000707: JUMP 00000708: JUMPDEST 00000709: CALLVALUE 0000070a: DUP1 0000070b: ISZERO 0000070c: PUSH2 0x0714 0000070f: JUMPI 00000710: PUSH1 0x00 00000712: DUP1 00000713: REVERT 00000714: JUMPDEST 00000715: POP 00000716: PUSH2 0x03ca 00000719: PUSH2 0x131b 0000071c: JUMP 0000071d: JUMPDEST 0000071e: CALLVALUE 0000071f: DUP1 00000720: ISZERO 00000721: PUSH2 0x0729 00000724: JUMPI 00000725: PUSH1 0x00 00000727: DUP1 00000728: REVERT 00000729: JUMPDEST 0000072a: POP 0000072b: PUSH2 0x0358 0000072e: PUSH2 0x0738 00000731: CALLDATASIZE 00000732: PUSH1 0x04 00000734: PUSH2 0x3e85 00000737: JUMP 00000738: JUMPDEST 00000739: PUSH2 0x1341 0000073c: JUMP 0000073d: JUMPDEST 0000073e: CALLVALUE 0000073f: DUP1 00000740: ISZERO 00000741: PUSH2 0x0749 00000744: JUMPI 00000745: PUSH1 0x00 00000747: DUP1 00000748: REVERT 00000749: JUMPDEST 0000074a: POP 0000074b: PUSH2 0x03ca 0000074e: PUSH2 0x0758 00000751: CALLDATASIZE 00000752: PUSH1 0x04 00000754: PUSH2 0x3fd3 00000757: JUMP 00000758: JUMPDEST 00000759: PUSH2 0x13cd 0000075c: JUMP 0000075d: JUMPDEST 0000075e: CALLVALUE 0000075f: DUP1 00000760: ISZERO 00000761: PUSH2 0x0769 00000764: JUMPI 00000765: PUSH1 0x00 00000767: DUP1 00000768: REVERT 00000769: JUMPDEST 0000076a: POP 0000076b: PUSH2 0x0358 0000076e: PUSH32 0x0000000000000000000000005e8422345238f34275888049021821e8e08caa1f 0000078f: DUP2 00000790: JUMP 00000791: JUMPDEST 00000792: CALLVALUE 00000793: DUP1 00000794: ISZERO 00000795: PUSH2 0x079d 00000798: JUMPI 00000799: PUSH1 0x00 0000079b: DUP1 0000079c: REVERT 0000079d: JUMPDEST 0000079e: POP 0000079f: PUSH2 0x06fa 000007a2: PUSH2 0x07ac 000007a5: CALLDATASIZE 000007a6: PUSH1 0x04 000007a8: PUSH2 0x3f5d 000007ab: JUMP 000007ac: JUMPDEST 000007ad: PUSH2 0x15b1 000007b0: JUMP 000007b1: JUMPDEST 000007b2: CALLVALUE 000007b3: DUP1 000007b4: ISZERO 000007b5: PUSH2 0x07bd 000007b8: JUMPI 000007b9: PUSH1 0x00 000007bb: DUP1 000007bc: REVERT 000007bd: JUMPDEST 000007be: POP 000007bf: PUSH2 0x03ca 000007c2: PUSH2 0x07cc 000007c5: CALLDATASIZE 000007c6: PUSH1 0x04 000007c8: PUSH2 0x3ec0 000007cb: JUMP 000007cc: JUMPDEST 000007cd: PUSH2 0x167f 000007d0: JUMP 000007d1: JUMPDEST 000007d2: CALLVALUE 000007d3: DUP1 000007d4: ISZERO 000007d5: PUSH2 0x07dd 000007d8: JUMPI 000007d9: PUSH1 0x00 000007db: DUP1 000007dc: REVERT 000007dd: JUMPDEST 000007de: POP 000007df: PUSH2 0x0358 000007e2: PUSH32 0x000000000000000000000000ac3e018457b222d93114458476f3e3416abbe38f 00000803: DUP2 00000804: JUMP 00000805: JUMPDEST 00000806: CALLVALUE 00000807: DUP1 00000808: ISZERO 00000809: PUSH2 0x0811 0000080c: JUMPI 0000080d: PUSH1 0x00 0000080f: DUP1 00000810: REVERT 00000811: JUMPDEST 00000812: POP 00000813: PUSH2 0x06fa 00000816: PUSH2 0x0820 00000819: CALLDATASIZE 0000081a: PUSH1 0x04 0000081c: PUSH2 0x4005 0000081f: JUMP 00000820: JUMPDEST 00000821: PUSH2 0x16fb 00000824: JUMP 00000825: JUMPDEST 00000826: CALLVALUE 00000827: DUP1 00000828: ISZERO 00000829: PUSH2 0x0831 0000082c: JUMPI 0000082d: PUSH1 0x00 0000082f: DUP1 00000830: REVERT 00000831: JUMPDEST 00000832: POP 00000833: PUSH2 0x032b 00000836: PUSH2 0x17ed 00000839: JUMP 0000083a: JUMPDEST 0000083b: CALLVALUE 0000083c: DUP1 0000083d: ISZERO 0000083e: PUSH2 0x0846 00000841: JUMPI 00000842: PUSH1 0x00 00000844: DUP1 00000845: REVERT 00000846: JUMPDEST 00000847: POP 00000848: PUSH2 0x03ca 0000084b: PUSH2 0x0855 0000084e: CALLDATASIZE 0000084f: PUSH1 0x04 00000851: PUSH2 0x406e 00000854: JUMP 00000855: JUMPDEST 00000856: PUSH2 0x17fc 00000859: JUMP 0000085a: JUMPDEST 0000085b: CALLVALUE 0000085c: DUP1 0000085d: ISZERO 0000085e: PUSH2 0x0866 00000861: JUMPI 00000862: PUSH1 0x00 00000864: DUP1 00000865: REVERT 00000866: JUMPDEST 00000867: POP 00000868: PUSH2 0x03ca 0000086b: PUSH2 0x0875 0000086e: CALLDATASIZE 0000086f: PUSH1 0x04 00000871: PUSH2 0x40a6 00000874: JUMP 00000875: JUMPDEST 00000876: PUSH2 0x190b 00000879: JUMP 0000087a: JUMPDEST 0000087b: CALLVALUE 0000087c: DUP1 0000087d: ISZERO 0000087e: PUSH2 0x0886 00000881: JUMPI 00000882: PUSH1 0x00 00000884: DUP1 00000885: REVERT 00000886: JUMPDEST 00000887: POP 00000888: PUSH2 0x03ca 0000088b: PUSH2 0x0895 0000088e: CALLDATASIZE 0000088f: PUSH1 0x04 00000891: PUSH2 0x3f5d 00000894: JUMP 00000895: JUMPDEST 00000896: PUSH2 0x1916 00000899: JUMP 0000089a: JUMPDEST 0000089b: CALLVALUE 0000089c: DUP1 0000089d: ISZERO 0000089e: PUSH2 0x08a6 000008a1: JUMPI 000008a2: PUSH1 0x00 000008a4: DUP1 000008a5: REVERT 000008a6: JUMPDEST 000008a7: POP 000008a8: PUSH2 0x03ca 000008ab: PUSH2 0x08b5 000008ae: CALLDATASIZE 000008af: PUSH1 0x04 000008b1: PUSH2 0x4103 000008b4: JUMP 000008b5: JUMPDEST 000008b6: PUSH2 0x1927 000008b9: JUMP 000008ba: JUMPDEST 000008bb: CALLVALUE 000008bc: DUP1 000008bd: ISZERO 000008be: PUSH2 0x08c6 000008c1: JUMPI 000008c2: PUSH1 0x00 000008c4: DUP1 000008c5: REVERT 000008c6: JUMPDEST 000008c7: POP 000008c8: PUSH2 0x03ca 000008cb: PUSH2 0x08d5 000008ce: CALLDATASIZE 000008cf: PUSH1 0x04 000008d1: PUSH2 0x3e85 000008d4: JUMP 000008d5: JUMPDEST 000008d6: PUSH2 0x19cf 000008d9: JUMP 000008da: JUMPDEST 000008db: CALLVALUE 000008dc: DUP1 000008dd: ISZERO 000008de: PUSH2 0x08e6 000008e1: JUMPI 000008e2: PUSH1 0x00 000008e4: DUP1 000008e5: REVERT 000008e6: JUMPDEST 000008e7: POP 000008e8: PUSH2 0x03ca 000008eb: PUSH2 0x08f5 000008ee: CALLDATASIZE 000008ef: PUSH1 0x04 000008f1: PUSH2 0x406e 000008f4: JUMP 000008f5: JUMPDEST 000008f6: PUSH2 0x1a18 000008f9: JUMP 000008fa: JUMPDEST 000008fb: CALLVALUE 000008fc: DUP1 000008fd: ISZERO 000008fe: PUSH2 0x0906 00000901: JUMPI 00000902: PUSH1 0x00 00000904: DUP1 00000905: REVERT 00000906: JUMPDEST 00000907: POP 00000908: PUSH2 0x03ca 0000090b: PUSH2 0x0915 0000090e: CALLDATASIZE 0000090f: PUSH1 0x04 00000911: PUSH2 0x3e85 00000914: JUMP 00000915: JUMPDEST 00000916: PUSH2 0x1b3c 00000919: JUMP 0000091a: JUMPDEST 0000091b: CALLVALUE 0000091c: DUP1 0000091d: ISZERO 0000091e: PUSH2 0x0926 00000921: JUMPI 00000922: PUSH1 0x00 00000924: DUP1 00000925: REVERT 00000926: JUMPDEST 00000927: POP 00000928: PUSH2 0x032b 0000092b: PUSH2 0x0935 0000092e: CALLDATASIZE 0000092f: PUSH1 0x04 00000931: PUSH2 0x3e85 00000934: JUMP 00000935: JUMPDEST 00000936: PUSH2 0x1bfc 00000939: JUMP 0000093a: JUMPDEST 0000093b: CALLVALUE 0000093c: DUP1 0000093d: ISZERO 0000093e: PUSH2 0x0946 00000941: JUMPI 00000942: PUSH1 0x00 00000944: DUP1 00000945: REVERT 00000946: JUMPDEST 00000947: POP 00000948: PUSH2 0x03ca 0000094b: PUSH2 0x0955 0000094e: CALLDATASIZE 0000094f: PUSH1 0x04 00000951: PUSH2 0x406e 00000954: JUMP 00000955: JUMPDEST 00000956: PUSH2 0x1c70 00000959: JUMP 0000095a: JUMPDEST 0000095b: CALLVALUE 0000095c: DUP1 0000095d: ISZERO 0000095e: PUSH2 0x0966 00000961: JUMPI 00000962: PUSH1 0x00 00000964: DUP1 00000965: REVERT 00000966: JUMPDEST 00000967: POP 00000968: PUSH2 0x06fa 0000096b: PUSH2 0x0975 0000096e: CALLDATASIZE 0000096f: PUSH1 0x04 00000971: PUSH2 0x4005 00000974: JUMP 00000975: JUMPDEST 00000976: PUSH2 0x1d87 00000979: JUMP 0000097a: JUMPDEST 0000097b: CALLVALUE 0000097c: DUP1 0000097d: ISZERO 0000097e: PUSH2 0x0986 00000981: JUMPI 00000982: PUSH1 0x00 00000984: DUP1 00000985: REVERT 00000986: JUMPDEST 00000987: POP 00000988: PUSH2 0x06fa 0000098b: PUSH2 0x0995 0000098e: CALLDATASIZE 0000098f: PUSH1 0x04 00000991: PUSH2 0x3f9e 00000994: JUMP 00000995: JUMPDEST 00000996: PUSH2 0x1e6a 00000999: JUMP 0000099a: JUMPDEST 0000099b: CALLVALUE 0000099c: DUP1 0000099d: ISZERO 0000099e: PUSH2 0x09a6 000009a1: JUMPI 000009a2: PUSH1 0x00 000009a4: DUP1 000009a5: REVERT 000009a6: JUMPDEST 000009a7: POP 000009a8: PUSH2 0x09b1 000009ab: PUSH3 0x0f4240 000009af: DUP2 000009b0: JUMP 000009b1: JUMPDEST 000009b2: PUSH1 0x40 000009b4: MLOAD 000009b5: PUSH8 0xffffffffffffffff 000009be: SWAP1 000009bf: SWAP2 000009c0: AND 000009c1: DUP2 000009c2: MSTORE 000009c3: PUSH1 0x20 000009c5: ADD 000009c6: PUSH2 0x030d 000009c9: JUMP 000009ca: JUMPDEST 000009cb: CALLVALUE 000009cc: DUP1 000009cd: ISZERO 000009ce: PUSH2 0x09d6 000009d1: JUMPI 000009d2: PUSH1 0x00 000009d4: DUP1 000009d5: REVERT 000009d6: JUMPDEST 000009d7: POP 000009d8: PUSH2 0x03ca 000009db: PUSH2 0x09e5 000009de: CALLDATASIZE 000009df: PUSH1 0x04 000009e1: PUSH2 0x3f5d 000009e4: JUMP 000009e5: JUMPDEST 000009e6: PUSH2 0x1fa4 000009e9: JUMP 000009ea: JUMPDEST 000009eb: CALLVALUE 000009ec: DUP1 000009ed: ISZERO 000009ee: PUSH2 0x09f6 000009f1: JUMPI 000009f2: PUSH1 0x00 000009f4: DUP1 000009f5: REVERT 000009f6: JUMPDEST 000009f7: POP 000009f8: PUSH2 0x0301 000009fb: PUSH2 0x0a05 000009fe: CALLDATASIZE 000009ff: PUSH1 0x04 00000a01: PUSH2 0x4201 00000a04: JUMP 00000a05: JUMPDEST 00000a06: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a1b: SWAP2 00000a1c: DUP3 00000a1d: AND 00000a1e: PUSH1 0x00 00000a20: SWAP1 00000a21: DUP2 00000a22: MSTORE 00000a23: PUSH1 0x05 00000a25: PUSH1 0x20 00000a27: SWAP1 00000a28: DUP2 00000a29: MSTORE 00000a2a: PUSH1 0x40 00000a2c: DUP1 00000a2d: DUP4 00000a2e: KECCAK256 00000a2f: SWAP4 00000a30: SWAP1 00000a31: SWAP5 00000a32: AND 00000a33: DUP3 00000a34: MSTORE 00000a35: SWAP2 00000a36: SWAP1 00000a37: SWAP2 00000a38: MSTORE 00000a39: KECCAK256 00000a3a: SLOAD 00000a3b: PUSH1 0xff 00000a3d: AND 00000a3e: SWAP1 00000a3f: JUMP 00000a40: JUMPDEST 00000a41: CALLVALUE 00000a42: DUP1 00000a43: ISZERO 00000a44: PUSH2 0x0a4c 00000a47: JUMPI 00000a48: PUSH1 0x00 00000a4a: DUP1 00000a4b: REVERT 00000a4c: JUMPDEST 00000a4d: POP 00000a4e: PUSH2 0x03ca 00000a51: PUSH2 0x2047 00000a54: JUMP 00000a55: JUMPDEST 00000a56: CALLVALUE 00000a57: DUP1 00000a58: ISZERO 00000a59: PUSH2 0x0a61 00000a5c: JUMPI 00000a5d: PUSH1 0x00 00000a5f: DUP1 00000a60: REVERT 00000a61: JUMPDEST 00000a62: POP 00000a63: PUSH2 0x06fa 00000a66: PUSH1 0x0d 00000a68: SLOAD 00000a69: DUP2 00000a6a: JUMP 00000a6b: JUMPDEST 00000a6c: PUSH1 0x00 00000a6e: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00000a8f: DUP3 00000a90: AND 00000a91: PUSH32 0x80ac58cd00000000000000000000000000000000000000000000000000000000 00000ab2: EQ 00000ab3: DUP1 00000ab4: PUSH2 0x0afe 00000ab7: JUMPI 00000ab8: POP 00000ab9: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00000ada: DUP3 00000adb: AND 00000adc: PUSH32 0x5b5e139f00000000000000000000000000000000000000000000000000000000 00000afd: EQ 00000afe: JUMPDEST 00000aff: DUP1 00000b00: PUSH2 0x0b4a 00000b03: JUMPI 00000b04: POP 00000b05: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000 00000b26: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00000b47: DUP4 00000b48: AND 00000b49: EQ 00000b4a: JUMPDEST 00000b4b: SWAP3 00000b4c: SWAP2 00000b4d: POP 00000b4e: POP 00000b4f: JUMP 00000b50: JUMPDEST 00000b51: PUSH1 0x60 00000b53: PUSH1 0x00 00000b55: DUP1 00000b56: SLOAD 00000b57: PUSH2 0x0b5f 00000b5a: SWAP1 00000b5b: PUSH2 0x422f 00000b5e: JUMP 00000b5f: JUMPDEST 00000b60: DUP1 00000b61: PUSH1 0x1f 00000b63: ADD 00000b64: PUSH1 0x20 00000b66: DUP1 00000b67: SWAP2 00000b68: DIV 00000b69: MUL 00000b6a: PUSH1 0x20 00000b6c: ADD 00000b6d: PUSH1 0x40 00000b6f: MLOAD 00000b70: SWAP1 00000b71: DUP2 00000b72: ADD 00000b73: PUSH1 0x40 00000b75: MSTORE 00000b76: DUP1 00000b77: SWAP3 00000b78: SWAP2 00000b79: SWAP1 00000b7a: DUP2 00000b7b: DUP2 00000b7c: MSTORE 00000b7d: PUSH1 0x20 00000b7f: ADD 00000b80: DUP3 00000b81: DUP1 00000b82: SLOAD 00000b83: PUSH2 0x0b8b 00000b86: SWAP1 00000b87: PUSH2 0x422f 00000b8a: JUMP 00000b8b: JUMPDEST 00000b8c: DUP1 00000b8d: ISZERO 00000b8e: PUSH2 0x0bd8 00000b91: JUMPI 00000b92: DUP1 00000b93: PUSH1 0x1f 00000b95: LT 00000b96: PUSH2 0x0bad 00000b99: JUMPI 00000b9a: PUSH2 0x0100 00000b9d: DUP1 00000b9e: DUP4 00000b9f: SLOAD 00000ba0: DIV 00000ba1: MUL 00000ba2: DUP4 00000ba3: MSTORE 00000ba4: SWAP2 00000ba5: PUSH1 0x20 00000ba7: ADD 00000ba8: SWAP2 00000ba9: PUSH2 0x0bd8 00000bac: JUMP 00000bad: JUMPDEST 00000bae: DUP3 00000baf: ADD 00000bb0: SWAP2 00000bb1: SWAP1 00000bb2: PUSH1 0x00 00000bb4: MSTORE 00000bb5: PUSH1 0x20 00000bb7: PUSH1 0x00 00000bb9: KECCAK256 00000bba: SWAP1 00000bbb: JUMPDEST 00000bbc: DUP2 00000bbd: SLOAD 00000bbe: DUP2 00000bbf: MSTORE 00000bc0: SWAP1 00000bc1: PUSH1 0x01 00000bc3: ADD 00000bc4: SWAP1 00000bc5: PUSH1 0x20 00000bc7: ADD 00000bc8: DUP1 00000bc9: DUP4 00000bca: GT 00000bcb: PUSH2 0x0bbb 00000bce: JUMPI 00000bcf: DUP3 00000bd0: SWAP1 00000bd1: SUB 00000bd2: PUSH1 0x1f 00000bd4: AND 00000bd5: DUP3 00000bd6: ADD 00000bd7: SWAP2 00000bd8: JUMPDEST 00000bd9: POP 00000bda: POP 00000bdb: POP 00000bdc: POP 00000bdd: POP 00000bde: SWAP1 00000bdf: POP 00000be0: SWAP1 00000be1: JUMP 00000be2: JUMPDEST 00000be3: PUSH1 0x00 00000be5: PUSH2 0x0bed 00000be8: DUP3 00000be9: PUSH2 0x2057 00000bec: JUMP 00000bed: JUMPDEST 00000bee: POP 00000bef: PUSH1 0x00 00000bf1: SWAP1 00000bf2: DUP2 00000bf3: MSTORE 00000bf4: PUSH1 0x04 00000bf6: PUSH1 0x20 00000bf8: MSTORE 00000bf9: PUSH1 0x40 00000bfb: SWAP1 00000bfc: KECCAK256 00000bfd: SLOAD 00000bfe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c13: AND 00000c14: SWAP1 00000c15: JUMP 00000c16: JUMPDEST 00000c17: PUSH1 0x00 00000c19: PUSH2 0x0c21 00000c1c: DUP3 00000c1d: PUSH2 0x1341 00000c20: JUMP 00000c21: JUMPDEST 00000c22: SWAP1 00000c23: POP 00000c24: DUP1 00000c25: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c3a: AND 00000c3b: DUP4 00000c3c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c51: AND 00000c52: SUB 00000c53: PUSH2 0x0ce3 00000c56: JUMPI 00000c57: PUSH1 0x40 00000c59: MLOAD 00000c5a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000c7b: DUP2 00000c7c: MSTORE 00000c7d: PUSH1 0x20 00000c7f: PUSH1 0x04 00000c81: DUP3 00000c82: ADD 00000c83: MSTORE 00000c84: PUSH1 0x21 00000c86: PUSH1 0x24 00000c88: DUP3 00000c89: ADD 00000c8a: MSTORE 00000c8b: PUSH32 0x4552433732313a20617070726f76616c20746f2063757272656e74206f776e65 00000cac: PUSH1 0x44 00000cae: DUP3 00000caf: ADD 00000cb0: MSTORE 00000cb1: PUSH32 0x7200000000000000000000000000000000000000000000000000000000000000 00000cd2: PUSH1 0x64 00000cd4: DUP3 00000cd5: ADD 00000cd6: MSTORE 00000cd7: PUSH1 0x84 00000cd9: ADD 00000cda: JUMPDEST 00000cdb: PUSH1 0x40 00000cdd: MLOAD 00000cde: DUP1 00000cdf: SWAP2 00000ce0: SUB 00000ce1: SWAP1 00000ce2: REVERT 00000ce3: JUMPDEST 00000ce4: CALLER 00000ce5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cfa: DUP3 00000cfb: AND 00000cfc: EQ 00000cfd: DUP1 00000cfe: PUSH2 0x0d0c 00000d01: JUMPI 00000d02: POP 00000d03: PUSH2 0x0d0c 00000d06: DUP2 00000d07: CALLER 00000d08: PUSH2 0x0a05 00000d0b: JUMP 00000d0c: JUMPDEST 00000d0d: PUSH2 0x0d98 00000d10: JUMPI 00000d11: PUSH1 0x40 00000d13: MLOAD 00000d14: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000d35: DUP2 00000d36: MSTORE 00000d37: PUSH1 0x20 00000d39: PUSH1 0x04 00000d3b: DUP3 00000d3c: ADD 00000d3d: MSTORE 00000d3e: PUSH1 0x3d 00000d40: PUSH1 0x24 00000d42: DUP3 00000d43: ADD 00000d44: MSTORE 00000d45: PUSH32 0x4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f 00000d66: PUSH1 0x44 00000d68: DUP3 00000d69: ADD 00000d6a: MSTORE 00000d6b: PUSH32 0x6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000 00000d8c: PUSH1 0x64 00000d8e: DUP3 00000d8f: ADD 00000d90: MSTORE 00000d91: PUSH1 0x84 00000d93: ADD 00000d94: PUSH2 0x0cda 00000d97: JUMP 00000d98: JUMPDEST 00000d99: PUSH2 0x0da2 00000d9c: DUP4 00000d9d: DUP4 00000d9e: PUSH2 0x20e2 00000da1: JUMP 00000da2: JUMPDEST 00000da3: POP 00000da4: POP 00000da5: POP 00000da6: JUMP 00000da7: JUMPDEST 00000da8: PUSH2 0x0daf 00000dab: PUSH2 0x2182 00000dae: JUMP 00000daf: JUMPDEST 00000db0: PUSH1 0x00 00000db2: PUSH2 0x0dbb 00000db5: DUP4 00000db6: DUP4 00000db7: PUSH2 0x21f5 00000dba: JUMP 00000dbb: JUMPDEST 00000dbc: SWAP1 00000dbd: POP 00000dbe: PUSH1 0x00 00000dc0: DUP3 00000dc1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dd6: AND 00000dd7: DUP3 00000dd8: PUSH1 0x40 00000dda: ADD 00000ddb: MLOAD 00000ddc: PUSH15 0xffffffffffffffffffffffffffffff 00000dec: AND 00000ded: PUSH1 0x40 00000def: MLOAD 00000df0: PUSH1 0x00 00000df2: PUSH1 0x40 00000df4: MLOAD 00000df5: DUP1 00000df6: DUP4 00000df7: SUB 00000df8: DUP2 00000df9: DUP6 00000dfa: DUP8 00000dfb: GAS 00000dfc: CALL 00000dfd: SWAP3 00000dfe: POP 00000dff: POP 00000e00: POP 00000e01: RETURNDATASIZE 00000e02: DUP1 00000e03: PUSH1 0x00 00000e05: DUP2 00000e06: EQ 00000e07: PUSH2 0x0e2c 00000e0a: JUMPI 00000e0b: PUSH1 0x40 00000e0d: MLOAD 00000e0e: SWAP2 00000e0f: POP 00000e10: PUSH1 0x1f 00000e12: NOT 00000e13: PUSH1 0x3f 00000e15: RETURNDATASIZE 00000e16: ADD 00000e17: AND 00000e18: DUP3 00000e19: ADD 00000e1a: PUSH1 0x40 00000e1c: MSTORE 00000e1d: RETURNDATASIZE 00000e1e: DUP3 00000e1f: MSTORE 00000e20: RETURNDATASIZE 00000e21: PUSH1 0x00 00000e23: PUSH1 0x20 00000e25: DUP5 00000e26: ADD 00000e27: RETURNDATACOPY 00000e28: PUSH2 0x0e31 00000e2b: JUMP 00000e2c: JUMPDEST 00000e2d: PUSH1 0x60 00000e2f: SWAP2 00000e30: POP 00000e31: JUMPDEST 00000e32: POP 00000e33: POP 00000e34: SWAP1 00000e35: POP 00000e36: DUP1 00000e37: PUSH2 0x0e6c 00000e3a: JUMPI 00000e3b: PUSH1 0x40 00000e3d: MLOAD 00000e3e: PUSH32 0x96ac6a6800000000000000000000000000000000000000000000000000000000 00000e5f: DUP2 00000e60: MSTORE 00000e61: PUSH1 0x04 00000e63: ADD 00000e64: PUSH1 0x40 00000e66: MLOAD 00000e67: DUP1 00000e68: SWAP2 00000e69: SUB 00000e6a: SWAP1 00000e6b: REVERT 00000e6c: JUMPDEST 00000e6d: PUSH1 0x40 00000e6f: DUP1 00000e70: DUP4 00000e71: ADD 00000e72: MLOAD 00000e73: SWAP1 00000e74: MLOAD 00000e75: PUSH15 0xffffffffffffffffffffffffffffff 00000e85: SWAP1 00000e86: SWAP2 00000e87: AND 00000e88: DUP2 00000e89: MSTORE 00000e8a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e9f: DUP5 00000ea0: AND 00000ea1: SWAP1 00000ea2: CALLER 00000ea3: SWAP1 00000ea4: DUP7 00000ea5: SWAP1 00000ea6: PUSH32 0x0d2adb99657ac2de89adc7a48f29ffe7f24d0bfb8a77215e9006a8c4dc94a061 00000ec7: SWAP1 00000ec8: PUSH1 0x20 00000eca: ADD 00000ecb: PUSH1 0x40 00000ecd: MLOAD 00000ece: DUP1 00000ecf: SWAP2 00000ed0: SUB 00000ed1: SWAP1 00000ed2: LOG4 00000ed3: POP 00000ed4: POP 00000ed5: PUSH2 0x0ede 00000ed8: PUSH1 0x01 00000eda: PUSH1 0x09 00000edc: SSTORE 00000edd: JUMP 00000ede: JUMPDEST 00000edf: POP 00000ee0: POP 00000ee1: JUMP 00000ee2: JUMPDEST 00000ee3: PUSH2 0x0eec 00000ee6: CALLER 00000ee7: DUP3 00000ee8: PUSH2 0x24a4 00000eeb: JUMP 00000eec: JUMPDEST 00000eed: PUSH2 0x0f78 00000ef0: JUMPI 00000ef1: PUSH1 0x40 00000ef3: MLOAD 00000ef4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000f15: DUP2 00000f16: MSTORE 00000f17: PUSH1 0x20 00000f19: PUSH1 0x04 00000f1b: DUP3 00000f1c: ADD 00000f1d: MSTORE 00000f1e: PUSH1 0x2d 00000f20: PUSH1 0x24 00000f22: DUP3 00000f23: ADD 00000f24: MSTORE 00000f25: PUSH32 0x4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65 00000f46: PUSH1 0x44 00000f48: DUP3 00000f49: ADD 00000f4a: MSTORE 00000f4b: PUSH32 0x72206f7220617070726f76656400000000000000000000000000000000000000 00000f6c: PUSH1 0x64 00000f6e: DUP3 00000f6f: ADD 00000f70: MSTORE 00000f71: PUSH1 0x84 00000f73: ADD 00000f74: PUSH2 0x0cda 00000f77: JUMP 00000f78: JUMPDEST 00000f79: PUSH2 0x0da2 00000f7c: DUP4 00000f7d: DUP4 00000f7e: DUP4 00000f7f: PUSH2 0x2563 00000f82: JUMP 00000f83: JUMPDEST 00000f84: PUSH1 0x00 00000f86: PUSH2 0x0f8d 00000f89: PUSH2 0x2182 00000f8c: JUMP 00000f8d: JUMPDEST 00000f8e: PUSH2 0x0f97 00000f91: CALLER 00000f92: DUP4 00000f93: PUSH2 0x24a4 00000f96: JUMP 00000f97: JUMPDEST 00000f98: PUSH2 0x0fcd 00000f9b: JUMPI 00000f9c: PUSH1 0x40 00000f9e: MLOAD 00000f9f: PUSH32 0xe816274400000000000000000000000000000000000000000000000000000000 00000fc0: DUP2 00000fc1: MSTORE 00000fc2: PUSH1 0x04 00000fc4: ADD 00000fc5: PUSH1 0x40 00000fc7: MLOAD 00000fc8: DUP1 00000fc9: SWAP2 00000fca: SUB 00000fcb: SWAP1 00000fcc: REVERT 00000fcd: JUMPDEST 00000fce: PUSH1 0x40 00000fd0: DUP1 00000fd1: MLOAD 00000fd2: DUP1 00000fd3: DUP3 00000fd4: ADD 00000fd5: DUP3 00000fd6: MSTORE 00000fd7: PUSH1 0x0b 00000fd9: SLOAD 00000fda: PUSH16 0xffffffffffffffffffffffffffffffff 00000feb: DUP1 00000fec: DUP3 00000fed: AND 00000fee: DUP4 00000fef: MSTORE 00000ff0: PUSH17 0x0100000000000000000000000000000000 00001002: SWAP1 00001003: SWAP2 00001004: DIV 00001005: AND 00001006: PUSH1 0x20 00001008: DUP1 00001009: DUP4 0000100a: ADD 0000100b: SWAP2 0000100c: SWAP1 0000100d: SWAP2 0000100e: MSTORE 0000100f: PUSH1 0x00 00001011: DUP6 00001012: DUP2 00001013: MSTORE 00001014: PUSH1 0x0c 00001016: DUP3 00001017: MSTORE 00001018: DUP4 00001019: SWAP1 0000101a: KECCAK256 0000101b: DUP4 0000101c: MLOAD 0000101d: PUSH1 0x80 0000101f: DUP2 00001020: ADD 00001021: DUP6 00001022: MSTORE 00001023: SWAP1 00001024: SLOAD 00001025: PUSH1 0xff 00001027: DUP2 00001028: AND 00001029: ISZERO 0000102a: ISZERO 0000102b: DUP3 0000102c: MSTORE 0000102d: PUSH8 0xffffffffffffffff 00001036: PUSH2 0x0100 00001039: DUP3 0000103a: DIV 0000103b: DUP2 0000103c: AND 0000103d: SWAP4 0000103e: DUP4 0000103f: ADD 00001040: SWAP4 00001041: SWAP1 00001042: SWAP4 00001043: MSTORE 00001044: PUSH15 0xffffffffffffffffffffffffffffff 00001054: PUSH10 0x01000000000000000000 0000105f: DUP3 00001060: DIV 00001061: AND 00001062: SWAP5 00001063: DUP3 00001064: ADD 00001065: DUP6 00001066: SWAP1 00001067: MSTORE 00001068: PUSH25 0x01000000000000000000000000000000000000000000000000 00001082: SWAP1 00001083: DIV 00001084: SWAP1 00001085: SWAP2 00001086: AND 00001087: PUSH1 0x60 00001089: DUP3 0000108a: ADD 0000108b: MSTORE 0000108c: DUP2 0000108d: MLOAD 0000108e: SWAP2 0000108f: SWAP3 00001090: SWAP1 00001091: SWAP2 00001092: DUP2 00001093: SWAP1 00001094: DUP5 00001095: SWAP1 00001096: PUSH2 0x10a0 00001099: SWAP1 0000109a: DUP4 0000109b: SWAP1 0000109c: PUSH2 0x42b1 0000109f: JUMP 000010a0: JUMPDEST 000010a1: PUSH16 0xffffffffffffffffffffffffffffffff 000010b2: AND 000010b3: SWAP1 000010b4: MSTORE 000010b5: POP 000010b6: PUSH1 0x60 000010b8: DUP3 000010b9: ADD 000010ba: MLOAD 000010bb: PUSH1 0x00 000010bd: SWAP1 000010be: PUSH2 0x10fa 000010c1: SWAP1 000010c2: PUSH3 0x0f4240 000010c6: SWAP1 000010c7: PUSH2 0x10eb 000010ca: SWAP1 000010cb: PUSH8 0xffffffffffffffff 000010d4: AND 000010d5: PUSH15 0xffffffffffffffffffffffffffffff 000010e5: DUP7 000010e6: AND 000010e7: PUSH2 0x42e1 000010ea: JUMP 000010eb: JUMPDEST 000010ec: PUSH2 0x10f5 000010ef: SWAP2 000010f0: SWAP1 000010f1: PUSH2 0x42f8 000010f4: JUMP 000010f5: JUMPDEST 000010f6: PUSH2 0x285e 000010f9: JUMP 000010fa: JUMPDEST 000010fb: SWAP1 000010fc: POP 000010fd: DUP1 000010fe: PUSH15 0xffffffffffffffffffffffffffffff 0000110e: AND 0000110f: DUP5 00001110: PUSH1 0x20 00001112: ADD 00001113: DUP2 00001114: DUP2 00001115: MLOAD 00001116: PUSH2 0x111f 00001119: SWAP2 0000111a: SWAP1 0000111b: PUSH2 0x4333 0000111e: JUMP 0000111f: JUMPDEST 00001120: PUSH16 0xffffffffffffffffffffffffffffffff 00001131: AND 00001132: SWAP1 00001133: MSTORE 00001134: POP 00001135: PUSH2 0x113e 00001138: DUP2 00001139: DUP4 0000113a: PUSH2 0x435c 0000113d: JUMP 0000113e: JUMPDEST 0000113f: SWAP5 00001140: POP 00001141: PUSH2 0x1149 00001144: DUP7 00001145: PUSH2 0x2903 00001148: JUMP 00001149: JUMPDEST 0000114a: DUP4 0000114b: MLOAD 0000114c: PUSH1 0x20 0000114e: DUP1 0000114f: DUP7 00001150: ADD 00001151: MLOAD 00001152: PUSH16 0xffffffffffffffffffffffffffffffff 00001163: SWAP1 00001164: DUP2 00001165: AND 00001166: PUSH17 0x0100000000000000000000000000000000 00001178: MUL 00001179: SWAP3 0000117a: AND 0000117b: SWAP2 0000117c: SWAP1 0000117d: SWAP2 0000117e: OR 0000117f: PUSH1 0x0b 00001181: SSTORE 00001182: PUSH1 0x00 00001184: DUP8 00001185: DUP2 00001186: MSTORE 00001187: PUSH1 0x0c 00001189: SWAP1 0000118a: SWAP2 0000118b: MSTORE 0000118c: PUSH1 0x40 0000118e: SWAP1 0000118f: DUP2 00001190: SWAP1 00001191: KECCAK256 00001192: DUP1 00001193: SLOAD 00001194: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000011b5: AND 000011b6: PUSH1 0x01 000011b8: OR 000011b9: SWAP1 000011ba: SSTORE 000011bb: MLOAD 000011bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011d1: DUP9 000011d2: AND 000011d3: SWAP1 000011d4: CALLER 000011d5: SWAP1 000011d6: DUP9 000011d7: SWAP1 000011d8: PUSH32 0x05fa421df00cc659f6fe545d6a78481efccaa067455be4034e79037060d18686 000011f9: SWAP1 000011fa: PUSH2 0x1223 000011fd: SWAP1 000011fe: DUP11 000011ff: SWAP1 00001200: DUP8 00001201: SWAP1 00001202: PUSH15 0xffffffffffffffffffffffffffffff 00001212: SWAP3 00001213: DUP4 00001214: AND 00001215: DUP2 00001216: MSTORE 00001217: SWAP2 00001218: AND 00001219: PUSH1 0x20 0000121b: DUP3 0000121c: ADD 0000121d: MSTORE 0000121e: PUSH1 0x40 00001220: ADD 00001221: SWAP1 00001222: JUMP 00001223: JUMPDEST 00001224: PUSH1 0x40 00001226: MLOAD 00001227: DUP1 00001228: SWAP2 00001229: SUB 0000122a: SWAP1 0000122b: LOG4 0000122c: PUSH2 0x127d 0000122f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001244: PUSH32 0x0000000000000000000000005e8422345238f34275888049021821e8e08caa1f 00001265: AND 00001266: DUP9 00001267: PUSH15 0xffffffffffffffffffffffffffffff 00001277: DUP9 00001278: AND 00001279: PUSH2 0x29db 0000127c: JUMP 0000127d: JUMPDEST 0000127e: POP 0000127f: POP 00001280: POP 00001281: POP 00001282: PUSH2 0x0b4a 00001285: PUSH1 0x01 00001287: PUSH1 0x09 00001289: SSTORE 0000128a: JUMP 0000128b: JUMPDEST 0000128c: PUSH2 0x0da2 0000128f: DUP4 00001290: DUP4 00001291: DUP4 00001292: PUSH1 0x40 00001294: MLOAD 00001295: DUP1 00001296: PUSH1 0x20 00001298: ADD 00001299: PUSH1 0x40 0000129b: MSTORE 0000129c: DUP1 0000129d: PUSH1 0x00 0000129f: DUP2 000012a0: MSTORE 000012a1: POP 000012a2: PUSH2 0x1927 000012a5: JUMP 000012a6: JUMPDEST 000012a7: PUSH2 0x12ae 000012aa: PUSH2 0x2aaf 000012ad: JUMP 000012ae: JUMPDEST 000012af: PUSH2 0x12b7 000012b2: DUP2 000012b3: PUSH2 0x2ab8 000012b6: JUMP 000012b7: JUMPDEST 000012b8: POP 000012b9: JUMP 000012ba: JUMPDEST 000012bb: PUSH1 0x00 000012bd: PUSH2 0x12c6 000012c0: DUP4 000012c1: DUP4 000012c2: PUSH2 0x2b2f 000012c5: JUMP 000012c6: JUMPDEST 000012c7: SWAP1 000012c8: POP 000012c9: PUSH2 0x0b4a 000012cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012e1: PUSH32 0x0000000000000000000000005e8422345238f34275888049021821e8e08caa1f 00001302: AND 00001303: CALLER 00001304: ADDRESS 00001305: PUSH15 0xffffffffffffffffffffffffffffff 00001315: DUP7 00001316: AND 00001317: PUSH2 0x2f52 0000131a: JUMP 0000131b: JUMPDEST 0000131c: PUSH2 0x1323 0000131f: PUSH2 0x2aaf 00001322: JUMP 00001323: JUMPDEST 00001324: PUSH2 0x132b 00001327: PUSH2 0x2fb0 0000132a: JUMP 0000132b: JUMPDEST 0000132c: PUSH2 0x1335 0000132f: PUSH1 0x00 00001331: PUSH2 0x2ab8 00001334: JUMP 00001335: JUMPDEST 00001336: PUSH2 0x133f 00001339: PUSH1 0x00 0000133b: PUSH2 0x2fb9 0000133e: JUMP 0000133f: JUMPDEST 00001340: JUMP 00001341: JUMPDEST 00001342: PUSH1 0x00 00001344: DUP2 00001345: DUP2 00001346: MSTORE 00001347: PUSH1 0x02 00001349: PUSH1 0x20 0000134b: MSTORE 0000134c: PUSH1 0x40 0000134e: DUP2 0000134f: KECCAK256 00001350: SLOAD 00001351: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001366: AND 00001367: DUP1 00001368: PUSH2 0x0b4a 0000136b: JUMPI 0000136c: PUSH1 0x40 0000136e: MLOAD 0000136f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001390: DUP2 00001391: MSTORE 00001392: PUSH1 0x20 00001394: PUSH1 0x04 00001396: DUP3 00001397: ADD 00001398: MSTORE 00001399: PUSH1 0x18 0000139b: PUSH1 0x24 0000139d: DUP3 0000139e: ADD 0000139f: MSTORE 000013a0: PUSH32 0x4552433732313a20696e76616c696420746f6b656e2049440000000000000000 000013c1: PUSH1 0x44 000013c3: DUP3 000013c4: ADD 000013c5: MSTORE 000013c6: PUSH1 0x64 000013c8: ADD 000013c9: PUSH2 0x0cda 000013cc: JUMP 000013cd: JUMPDEST 000013ce: PUSH2 0x13d5 000013d1: PUSH2 0x3047 000013d4: JUMP 000013d5: JUMPDEST 000013d6: PUSH1 0x0b 000013d8: SLOAD 000013d9: PUSH16 0xffffffffffffffffffffffffffffffff 000013ea: PUSH17 0x0100000000000000000000000000000000 000013fc: SWAP1 000013fd: SWAP2 000013fe: DIV 000013ff: DUP2 00001400: AND 00001401: SWAP1 00001402: DUP3 00001403: AND 00001404: DUP2 00001405: LT 00001406: ISZERO 00001407: PUSH2 0x1458 0000140a: JUMPI 0000140b: PUSH1 0x40 0000140d: MLOAD 0000140e: PUSH32 0xcf1950de00000000000000000000000000000000000000000000000000000000 0000142f: DUP2 00001430: MSTORE 00001431: PUSH16 0xffffffffffffffffffffffffffffffff 00001442: DUP1 00001443: DUP5 00001444: AND 00001445: PUSH1 0x04 00001447: DUP4 00001448: ADD 00001449: MSTORE 0000144a: DUP3 0000144b: AND 0000144c: PUSH1 0x24 0000144e: DUP3 0000144f: ADD 00001450: MSTORE 00001451: PUSH1 0x44 00001453: ADD 00001454: PUSH2 0x0cda 00001457: JUMP 00001458: JUMPDEST 00001459: PUSH1 0x0b 0000145b: DUP1 0000145c: SLOAD 0000145d: DUP4 0000145e: SWAP2 0000145f: SWAP1 00001460: PUSH1 0x10 00001462: SWAP1 00001463: PUSH2 0x1493 00001466: SWAP1 00001467: DUP5 00001468: SWAP1 00001469: PUSH17 0x0100000000000000000000000000000000 0000147b: SWAP1 0000147c: DIV 0000147d: PUSH16 0xffffffffffffffffffffffffffffffff 0000148e: AND 0000148f: PUSH2 0x42b1 00001492: JUMP 00001493: JUMPDEST 00001494: SWAP3 00001495: POP 00001496: PUSH2 0x0100 00001499: EXP 0000149a: DUP2 0000149b: SLOAD 0000149c: DUP2 0000149d: PUSH16 0xffffffffffffffffffffffffffffffff 000014ae: MUL 000014af: NOT 000014b0: AND 000014b1: SWAP1 000014b2: DUP4 000014b3: PUSH16 0xffffffffffffffffffffffffffffffff 000014c4: AND 000014c5: MUL 000014c6: OR 000014c7: SWAP1 000014c8: SSTORE 000014c9: POP 000014ca: PUSH2 0x1548 000014cd: PUSH1 0x0e 000014cf: PUSH1 0x00 000014d1: SWAP1 000014d2: SLOAD 000014d3: SWAP1 000014d4: PUSH2 0x0100 000014d7: EXP 000014d8: SWAP1 000014d9: DIV 000014da: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014ef: AND 000014f0: DUP4 000014f1: PUSH16 0xffffffffffffffffffffffffffffffff 00001502: AND 00001503: PUSH32 0x0000000000000000000000005e8422345238f34275888049021821e8e08caa1f 00001524: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001539: AND 0000153a: PUSH2 0x29db 0000153d: SWAP1 0000153e: SWAP3 0000153f: SWAP2 00001540: SWAP1 00001541: PUSH4 0xffffffff 00001546: AND 00001547: JUMP 00001548: JUMPDEST 00001549: PUSH1 0x0e 0000154b: SLOAD 0000154c: PUSH1 0x40 0000154e: DUP1 0000154f: MLOAD 00001550: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001565: SWAP1 00001566: SWAP3 00001567: AND 00001568: DUP3 00001569: MSTORE 0000156a: PUSH16 0xffffffffffffffffffffffffffffffff 0000157b: DUP5 0000157c: AND 0000157d: PUSH1 0x20 0000157f: DUP4 00001580: ADD 00001581: MSTORE 00001582: PUSH32 0x80352cad384db4ac5f719c28fc1f7d83351c3fbbf124ef6759a7f2b1d35aeff4 000015a3: SWAP2 000015a4: ADD 000015a5: JUMPDEST 000015a6: PUSH1 0x40 000015a8: MLOAD 000015a9: DUP1 000015aa: SWAP2 000015ab: SUB 000015ac: SWAP1 000015ad: LOG1 000015ae: POP 000015af: POP 000015b0: JUMP 000015b1: JUMPDEST 000015b2: PUSH1 0x00 000015b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015c9: DUP3 000015ca: AND 000015cb: PUSH2 0x1656 000015ce: JUMPI 000015cf: PUSH1 0x40 000015d1: MLOAD 000015d2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000015f3: DUP2 000015f4: MSTORE 000015f5: PUSH1 0x20 000015f7: PUSH1 0x04 000015f9: DUP3 000015fa: ADD 000015fb: MSTORE 000015fc: PUSH1 0x29 000015fe: PUSH1 0x24 00001600: DUP3 00001601: ADD 00001602: MSTORE 00001603: PUSH32 0x4552433732313a2061646472657373207a65726f206973206e6f742061207661 00001624: PUSH1 0x44 00001626: DUP3 00001627: ADD 00001628: MSTORE 00001629: PUSH32 0x6c6964206f776e65720000000000000000000000000000000000000000000000 0000164a: PUSH1 0x64 0000164c: DUP3 0000164d: ADD 0000164e: MSTORE 0000164f: PUSH1 0x84 00001651: ADD 00001652: PUSH2 0x0cda 00001655: JUMP 00001656: JUMPDEST 00001657: POP 00001658: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000166d: AND 0000166e: PUSH1 0x00 00001670: SWAP1 00001671: DUP2 00001672: MSTORE 00001673: PUSH1 0x03 00001675: PUSH1 0x20 00001677: MSTORE 00001678: PUSH1 0x40 0000167a: SWAP1 0000167b: KECCAK256 0000167c: SLOAD 0000167d: SWAP1 0000167e: JUMP 0000167f: JUMPDEST 00001680: PUSH2 0x1687 00001683: PUSH2 0x2aaf 00001686: JUMP 00001687: JUMPDEST 00001688: PUSH2 0x16a8 0000168b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016a0: DUP4 000016a1: AND 000016a2: CALLER 000016a3: DUP4 000016a4: PUSH2 0x29db 000016a7: JUMP 000016a8: JUMPDEST 000016a9: PUSH1 0x40 000016ab: DUP1 000016ac: MLOAD 000016ad: CALLER 000016ae: DUP2 000016af: MSTORE 000016b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016c5: DUP5 000016c6: AND 000016c7: PUSH1 0x20 000016c9: DUP3 000016ca: ADD 000016cb: MSTORE 000016cc: SWAP1 000016cd: DUP2 000016ce: ADD 000016cf: DUP3 000016d0: SWAP1 000016d1: MSTORE 000016d2: PUSH32 0x8707eabf0aab8fc872bdb95c17ebd24c4311fc70326f8ac9c4e121449c2aa4dd 000016f3: SWAP1 000016f4: PUSH1 0x60 000016f6: ADD 000016f7: PUSH2 0x15a5 000016fa: JUMP 000016fb: JUMPDEST 000016fc: PUSH1 0x40 000016fe: MLOAD 000016ff: PUSH32 0xd505accf00000000000000000000000000000000000000000000000000000000 00001720: DUP2 00001721: MSTORE 00001722: CALLER 00001723: PUSH1 0x04 00001725: DUP3 00001726: ADD 00001727: MSTORE 00001728: ADDRESS 00001729: PUSH1 0x24 0000172b: DUP3 0000172c: ADD 0000172d: MSTORE 0000172e: PUSH15 0xffffffffffffffffffffffffffffff 0000173e: DUP8 0000173f: AND 00001740: PUSH1 0x44 00001742: DUP3 00001743: ADD 00001744: MSTORE 00001745: PUSH1 0x64 00001747: DUP2 00001748: ADD 00001749: DUP6 0000174a: SWAP1 0000174b: MSTORE 0000174c: PUSH1 0xff 0000174e: DUP5 0000174f: AND 00001750: PUSH1 0x84 00001752: DUP3 00001753: ADD 00001754: MSTORE 00001755: PUSH1 0xa4 00001757: DUP2 00001758: ADD 00001759: DUP4 0000175a: SWAP1 0000175b: MSTORE 0000175c: PUSH1 0xc4 0000175e: DUP2 0000175f: ADD 00001760: DUP3 00001761: SWAP1 00001762: MSTORE 00001763: PUSH1 0x00 00001765: SWAP1 00001766: PUSH32 0x0000000000000000000000005e8422345238f34275888049021821e8e08caa1f 00001787: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000179c: AND 0000179d: SWAP1 0000179e: PUSH4 0xd505accf 000017a3: SWAP1 000017a4: PUSH1 0xe4 000017a6: ADD 000017a7: PUSH1 0x00 000017a9: PUSH1 0x40 000017ab: MLOAD 000017ac: DUP1 000017ad: DUP4 000017ae: SUB 000017af: DUP2 000017b0: PUSH1 0x00 000017b2: DUP8 000017b3: DUP1 000017b4: EXTCODESIZE 000017b5: ISZERO 000017b6: DUP1 000017b7: ISZERO 000017b8: PUSH2 0x17c0 000017bb: JUMPI 000017bc: PUSH1 0x00 000017be: DUP1 000017bf: REVERT 000017c0: JUMPDEST 000017c1: POP 000017c2: GAS 000017c3: CALL 000017c4: ISZERO 000017c5: DUP1 000017c6: ISZERO 000017c7: PUSH2 0x17d4 000017ca: JUMPI 000017cb: RETURNDATASIZE 000017cc: PUSH1 0x00 000017ce: DUP1 000017cf: RETURNDATACOPY 000017d0: RETURNDATASIZE 000017d1: PUSH1 0x00 000017d3: REVERT 000017d4: JUMPDEST 000017d5: POP 000017d6: POP 000017d7: POP 000017d8: POP 000017d9: PUSH2 0x17e2 000017dc: DUP7 000017dd: DUP9 000017de: PUSH2 0x12ba 000017e1: JUMP 000017e2: JUMPDEST 000017e3: SWAP8 000017e4: SWAP7 000017e5: POP 000017e6: POP 000017e7: POP 000017e8: POP 000017e9: POP 000017ea: POP 000017eb: POP 000017ec: JUMP 000017ed: JUMPDEST 000017ee: PUSH1 0x60 000017f0: PUSH1 0x01 000017f2: DUP1 000017f3: SLOAD 000017f4: PUSH2 0x0b5f 000017f7: SWAP1 000017f8: PUSH2 0x422f 000017fb: JUMP 000017fc: JUMPDEST 000017fd: PUSH2 0x1804 00001800: PUSH2 0x2aaf 00001803: JUMP 00001804: JUMPDEST 00001805: PUSH3 0x0f4240 00001809: PUSH8 0xffffffffffffffff 00001812: DUP3 00001813: AND 00001814: GT 00001815: ISZERO 00001816: PUSH2 0x1860 00001819: JUMPI 0000181a: PUSH1 0x40 0000181c: MLOAD 0000181d: PUSH32 0xe395eda100000000000000000000000000000000000000000000000000000000 0000183e: DUP2 0000183f: MSTORE 00001840: PUSH8 0xffffffffffffffff 00001849: DUP3 0000184a: AND 0000184b: PUSH1 0x04 0000184d: DUP3 0000184e: ADD 0000184f: MSTORE 00001850: PUSH3 0x0f4240 00001854: PUSH1 0x24 00001856: DUP3 00001857: ADD 00001858: MSTORE 00001859: PUSH1 0x44 0000185b: ADD 0000185c: PUSH2 0x0cda 0000185f: JUMP 00001860: JUMPDEST 00001861: PUSH1 0x0a 00001863: SLOAD 00001864: PUSH1 0x40 00001866: DUP1 00001867: MLOAD 00001868: PUSH17 0x0100000000000000000000000000000000 0000187a: SWAP1 0000187b: SWAP3 0000187c: DIV 0000187d: PUSH8 0xffffffffffffffff 00001886: SWAP1 00001887: DUP2 00001888: AND 00001889: DUP4 0000188a: MSTORE 0000188b: DUP4 0000188c: AND 0000188d: PUSH1 0x20 0000188f: DUP4 00001890: ADD 00001891: MSTORE 00001892: PUSH32 0x220a87070dd39806f4303c6b65a7576e200ea96a7bb966175aef96a648fece39 000018b3: SWAP2 000018b4: ADD 000018b5: PUSH1 0x40 000018b7: MLOAD 000018b8: DUP1 000018b9: SWAP2 000018ba: SUB 000018bb: SWAP1 000018bc: LOG1 000018bd: PUSH1 0x0a 000018bf: DUP1 000018c0: SLOAD 000018c1: PUSH8 0xffffffffffffffff 000018ca: SWAP1 000018cb: SWAP3 000018cc: AND 000018cd: PUSH17 0x0100000000000000000000000000000000 000018df: MUL 000018e0: PUSH32 0xffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff 00001901: SWAP1 00001902: SWAP3 00001903: AND 00001904: SWAP2 00001905: SWAP1 00001906: SWAP2 00001907: OR 00001908: SWAP1 00001909: SSTORE 0000190a: JUMP 0000190b: JUMPDEST 0000190c: PUSH2 0x0ede 0000190f: CALLER 00001910: DUP4 00001911: DUP4 00001912: PUSH2 0x30ba 00001915: JUMP 00001916: JUMPDEST 00001917: PUSH2 0x191e 0000191a: PUSH2 0x2aaf 0000191d: JUMP 0000191e: JUMPDEST 0000191f: PUSH2 0x12b7 00001922: DUP2 00001923: PUSH2 0x31e7 00001926: JUMP 00001927: JUMPDEST 00001928: PUSH2 0x1931 0000192b: CALLER 0000192c: DUP4 0000192d: PUSH2 0x24a4 00001930: JUMP 00001931: JUMPDEST 00001932: PUSH2 0x19bd 00001935: JUMPI 00001936: PUSH1 0x40 00001938: MLOAD 00001939: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000195a: DUP2 0000195b: MSTORE 0000195c: PUSH1 0x20 0000195e: PUSH1 0x04 00001960: DUP3 00001961: ADD 00001962: MSTORE 00001963: PUSH1 0x2d 00001965: PUSH1 0x24 00001967: DUP3 00001968: ADD 00001969: MSTORE 0000196a: PUSH32 0x4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65 0000198b: PUSH1 0x44 0000198d: DUP3 0000198e: ADD 0000198f: MSTORE 00001990: PUSH32 0x72206f7220617070726f76656400000000000000000000000000000000000000 000019b1: PUSH1 0x64 000019b3: DUP3 000019b4: ADD 000019b5: MSTORE 000019b6: PUSH1 0x84 000019b8: ADD 000019b9: PUSH2 0x0cda 000019bc: JUMP 000019bd: JUMPDEST 000019be: PUSH2 0x19c9 000019c1: DUP5 000019c2: DUP5 000019c3: DUP5 000019c4: DUP5 000019c5: PUSH2 0x3275 000019c8: JUMP 000019c9: JUMPDEST 000019ca: POP 000019cb: POP 000019cc: POP 000019cd: POP 000019ce: JUMP 000019cf: JUMPDEST 000019d0: PUSH2 0x19d7 000019d3: PUSH2 0x2aaf 000019d6: JUMP 000019d7: JUMPDEST 000019d8: PUSH1 0x0d 000019da: SLOAD 000019db: PUSH1 0x40 000019dd: DUP1 000019de: MLOAD 000019df: SWAP2 000019e0: DUP3 000019e1: MSTORE 000019e2: PUSH1 0x20 000019e4: DUP3 000019e5: ADD 000019e6: DUP4 000019e7: SWAP1 000019e8: MSTORE 000019e9: PUSH32 0xc6fbedb9b757f1809295c76da1eef8c2ca78593d2fccf59b5323cb253cedc9d1 00001a0a: SWAP2 00001a0b: ADD 00001a0c: PUSH1 0x40 00001a0e: MLOAD 00001a0f: DUP1 00001a10: SWAP2 00001a11: SUB 00001a12: SWAP1 00001a13: LOG1 00001a14: PUSH1 0x0d 00001a16: SSTORE 00001a17: JUMP 00001a18: JUMPDEST 00001a19: PUSH2 0x1a20 00001a1c: PUSH2 0x3047 00001a1f: JUMP 00001a20: JUMPDEST 00001a21: PUSH1 0x07 00001a23: SLOAD 00001a24: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a39: AND 00001a3a: CALLER 00001a3b: EQ 00001a3c: DUP1 00001a3d: ISZERO 00001a3e: SWAP1 00001a3f: PUSH2 0x1a53 00001a42: JUMPI 00001a43: POP 00001a44: PUSH1 0x0d 00001a46: SLOAD 00001a47: DUP2 00001a48: PUSH8 0xffffffffffffffff 00001a51: AND 00001a52: GT 00001a53: JUMPDEST 00001a54: ISZERO 00001a55: PUSH2 0x1aa1 00001a58: JUMPI 00001a59: PUSH1 0x0d 00001a5b: SLOAD 00001a5c: PUSH1 0x40 00001a5e: MLOAD 00001a5f: PUSH32 0xc3e95ba000000000000000000000000000000000000000000000000000000000 00001a80: DUP2 00001a81: MSTORE 00001a82: PUSH8 0xffffffffffffffff 00001a8b: DUP4 00001a8c: AND 00001a8d: PUSH1 0x04 00001a8f: DUP3 00001a90: ADD 00001a91: MSTORE 00001a92: PUSH1 0x24 00001a94: DUP2 00001a95: ADD 00001a96: SWAP2 00001a97: SWAP1 00001a98: SWAP2 00001a99: MSTORE 00001a9a: PUSH1 0x44 00001a9c: ADD 00001a9d: PUSH2 0x0cda 00001aa0: JUMP 00001aa1: JUMPDEST 00001aa2: PUSH1 0x0a 00001aa4: SLOAD 00001aa5: PUSH1 0x40 00001aa7: DUP1 00001aa8: MLOAD 00001aa9: PUSH9 0x010000000000000000 00001ab3: SWAP1 00001ab4: SWAP3 00001ab5: DIV 00001ab6: PUSH8 0xffffffffffffffff 00001abf: SWAP1 00001ac0: DUP2 00001ac1: AND 00001ac2: DUP4 00001ac3: MSTORE 00001ac4: DUP4 00001ac5: AND 00001ac6: PUSH1 0x20 00001ac8: DUP4 00001ac9: ADD 00001aca: MSTORE 00001acb: PUSH32 0x8852de94b41fa50f0eb4f40fab8a113bd62ac4c4736671d68ed7a337948faaac 00001aec: SWAP2 00001aed: ADD 00001aee: PUSH1 0x40 00001af0: MLOAD 00001af1: DUP1 00001af2: SWAP2 00001af3: SUB 00001af4: SWAP1 00001af5: LOG1 00001af6: PUSH1 0x0a 00001af8: DUP1 00001af9: SLOAD 00001afa: PUSH8 0xffffffffffffffff 00001b03: SWAP1 00001b04: SWAP3 00001b05: AND 00001b06: PUSH9 0x010000000000000000 00001b10: MUL 00001b11: PUSH32 0xffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff 00001b32: SWAP1 00001b33: SWAP3 00001b34: AND 00001b35: SWAP2 00001b36: SWAP1 00001b37: SWAP2 00001b38: OR 00001b39: SWAP1 00001b3a: SSTORE 00001b3b: JUMP 00001b3c: JUMPDEST 00001b3d: PUSH2 0x1b44 00001b40: PUSH2 0x2aaf 00001b43: JUMP 00001b44: JUMPDEST 00001b45: PUSH1 0x40 00001b47: MLOAD 00001b48: PUSH1 0x00 00001b4a: SWAP1 00001b4b: CALLER 00001b4c: SWAP1 00001b4d: DUP4 00001b4e: SWAP1 00001b4f: DUP4 00001b50: DUP2 00001b51: DUP2 00001b52: DUP2 00001b53: DUP6 00001b54: DUP8 00001b55: GAS 00001b56: CALL 00001b57: SWAP3 00001b58: POP 00001b59: POP 00001b5a: POP 00001b5b: RETURNDATASIZE 00001b5c: DUP1 00001b5d: PUSH1 0x00 00001b5f: DUP2 00001b60: EQ 00001b61: PUSH2 0x1b86 00001b64: JUMPI 00001b65: PUSH1 0x40 00001b67: MLOAD 00001b68: SWAP2 00001b69: POP 00001b6a: PUSH1 0x1f 00001b6c: NOT 00001b6d: PUSH1 0x3f 00001b6f: RETURNDATASIZE 00001b70: ADD 00001b71: AND 00001b72: DUP3 00001b73: ADD 00001b74: PUSH1 0x40 00001b76: MSTORE 00001b77: RETURNDATASIZE 00001b78: DUP3 00001b79: MSTORE 00001b7a: RETURNDATASIZE 00001b7b: PUSH1 0x00 00001b7d: PUSH1 0x20 00001b7f: DUP5 00001b80: ADD 00001b81: RETURNDATACOPY 00001b82: PUSH2 0x1b8b 00001b85: JUMP 00001b86: JUMPDEST 00001b87: PUSH1 0x60 00001b89: SWAP2 00001b8a: POP 00001b8b: JUMPDEST 00001b8c: POP 00001b8d: POP 00001b8e: SWAP1 00001b8f: POP 00001b90: DUP1 00001b91: PUSH2 0x1bc6 00001b94: JUMPI 00001b95: PUSH1 0x40 00001b97: MLOAD 00001b98: PUSH32 0x96ac6a6800000000000000000000000000000000000000000000000000000000 00001bb9: DUP2 00001bba: MSTORE 00001bbb: PUSH1 0x04 00001bbd: ADD 00001bbe: PUSH1 0x40 00001bc0: MLOAD 00001bc1: DUP1 00001bc2: SWAP2 00001bc3: SUB 00001bc4: SWAP1 00001bc5: REVERT 00001bc6: JUMPDEST 00001bc7: PUSH1 0x40 00001bc9: DUP1 00001bca: MLOAD 00001bcb: CALLER 00001bcc: DUP2 00001bcd: MSTORE 00001bce: PUSH1 0x20 00001bd0: DUP2 00001bd1: ADD 00001bd2: DUP5 00001bd3: SWAP1 00001bd4: MSTORE 00001bd5: PUSH32 0xbcc06820cb477a1e01547e0f03ed1720e794fe5961b9e55d956a75ff8ffdb341 00001bf6: SWAP2 00001bf7: ADD 00001bf8: PUSH2 0x15a5 00001bfb: JUMP 00001bfc: JUMPDEST 00001bfd: PUSH1 0x60 00001bff: PUSH2 0x1c07 00001c02: DUP3 00001c03: PUSH2 0x2057 00001c06: JUMP 00001c07: JUMPDEST 00001c08: PUSH1 0x00 00001c0a: PUSH2 0x1c1e 00001c0d: PUSH1 0x40 00001c0f: DUP1 00001c10: MLOAD 00001c11: PUSH1 0x20 00001c13: DUP2 00001c14: ADD 00001c15: SWAP1 00001c16: SWAP2 00001c17: MSTORE 00001c18: PUSH1 0x00 00001c1a: DUP2 00001c1b: MSTORE 00001c1c: SWAP1 00001c1d: JUMP 00001c1e: JUMPDEST 00001c1f: SWAP1 00001c20: POP 00001c21: PUSH1 0x00 00001c23: DUP2 00001c24: MLOAD 00001c25: GT 00001c26: PUSH2 0x1c3e 00001c29: JUMPI 00001c2a: PUSH1 0x40 00001c2c: MLOAD 00001c2d: DUP1 00001c2e: PUSH1 0x20 00001c30: ADD 00001c31: PUSH1 0x40 00001c33: MSTORE 00001c34: DUP1 00001c35: PUSH1 0x00 00001c37: DUP2 00001c38: MSTORE 00001c39: POP 00001c3a: PUSH2 0x1c69 00001c3d: JUMP 00001c3e: JUMPDEST 00001c3f: DUP1 00001c40: PUSH2 0x1c48 00001c43: DUP5 00001c44: PUSH2 0x3318 00001c47: JUMP 00001c48: JUMPDEST 00001c49: PUSH1 0x40 00001c4b: MLOAD 00001c4c: PUSH1 0x20 00001c4e: ADD 00001c4f: PUSH2 0x1c59 00001c52: SWAP3 00001c53: SWAP2 00001c54: SWAP1 00001c55: PUSH2 0x4384 00001c58: JUMP 00001c59: JUMPDEST 00001c5a: PUSH1 0x40 00001c5c: MLOAD 00001c5d: PUSH1 0x20 00001c5f: DUP2 00001c60: DUP4 00001c61: SUB 00001c62: SUB 00001c63: DUP2 00001c64: MSTORE 00001c65: SWAP1 00001c66: PUSH1 0x40 00001c68: MSTORE 00001c69: JUMPDEST 00001c6a: SWAP4 00001c6b: SWAP3 00001c6c: POP 00001c6d: POP 00001c6e: POP 00001c6f: JUMP 00001c70: JUMPDEST 00001c71: PUSH2 0x1c78 00001c74: PUSH2 0x2aaf 00001c77: JUMP 00001c78: JUMPDEST 00001c79: PUSH3 0x0f4240 00001c7d: PUSH8 0xffffffffffffffff 00001c86: DUP3 00001c87: AND 00001c88: GT 00001c89: ISZERO 00001c8a: PUSH2 0x1cd4 00001c8d: JUMPI 00001c8e: PUSH1 0x40 00001c90: MLOAD 00001c91: PUSH32 0x54f3d55600000000000000000000000000000000000000000000000000000000 00001cb2: DUP2 00001cb3: MSTORE 00001cb4: PUSH8 0xffffffffffffffff 00001cbd: DUP3 00001cbe: AND 00001cbf: PUSH1 0x04 00001cc1: DUP3 00001cc2: ADD 00001cc3: MSTORE 00001cc4: PUSH3 0x0f4240 00001cc8: PUSH1 0x24 00001cca: DUP3 00001ccb: ADD 00001ccc: MSTORE 00001ccd: PUSH1 0x44 00001ccf: ADD 00001cd0: PUSH2 0x0cda 00001cd3: JUMP 00001cd4: JUMPDEST 00001cd5: PUSH1 0x0a 00001cd7: SLOAD 00001cd8: PUSH1 0x40 00001cda: DUP1 00001cdb: MLOAD 00001cdc: PUSH25 0x01000000000000000000000000000000000000000000000000 00001cf6: SWAP1 00001cf7: SWAP3 00001cf8: DIV 00001cf9: PUSH8 0xffffffffffffffff 00001d02: SWAP1 00001d03: DUP2 00001d04: AND 00001d05: DUP4 00001d06: MSTORE 00001d07: DUP4 00001d08: AND 00001d09: PUSH1 0x20 00001d0b: DUP4 00001d0c: ADD 00001d0d: MSTORE 00001d0e: PUSH32 0xdd215094dcc7fc3147958e850323a46d15cef79a2796cc4f81822309216cf803 00001d2f: SWAP2 00001d30: ADD 00001d31: PUSH1 0x40 00001d33: MLOAD 00001d34: DUP1 00001d35: SWAP2 00001d36: SUB 00001d37: SWAP1 00001d38: LOG1 00001d39: PUSH1 0x0a 00001d3b: DUP1 00001d3c: SLOAD 00001d3d: PUSH8 0xffffffffffffffff 00001d46: SWAP1 00001d47: SWAP3 00001d48: AND 00001d49: PUSH25 0x01000000000000000000000000000000000000000000000000 00001d63: MUL 00001d64: PUSH24 0xffffffffffffffffffffffffffffffffffffffffffffffff 00001d7d: SWAP1 00001d7e: SWAP3 00001d7f: AND 00001d80: SWAP2 00001d81: SWAP1 00001d82: SWAP2 00001d83: OR 00001d84: SWAP1 00001d85: SSTORE 00001d86: JUMP 00001d87: JUMPDEST 00001d88: PUSH1 0x40 00001d8a: MLOAD 00001d8b: PUSH32 0xd505accf00000000000000000000000000000000000000000000000000000000 00001dac: DUP2 00001dad: MSTORE 00001dae: CALLER 00001daf: PUSH1 0x04 00001db1: DUP3 00001db2: ADD 00001db3: MSTORE 00001db4: ADDRESS 00001db5: PUSH1 0x24 00001db7: DUP3 00001db8: ADD 00001db9: MSTORE 00001dba: PUSH15 0xffffffffffffffffffffffffffffff 00001dca: DUP8 00001dcb: AND 00001dcc: PUSH1 0x44 00001dce: DUP3 00001dcf: ADD 00001dd0: MSTORE 00001dd1: PUSH1 0x64 00001dd3: DUP2 00001dd4: ADD 00001dd5: DUP6 00001dd6: SWAP1 00001dd7: MSTORE 00001dd8: PUSH1 0xff 00001dda: DUP5 00001ddb: AND 00001ddc: PUSH1 0x84 00001dde: DUP3 00001ddf: ADD 00001de0: MSTORE 00001de1: PUSH1 0xa4 00001de3: DUP2 00001de4: ADD 00001de5: DUP4 00001de6: SWAP1 00001de7: MSTORE 00001de8: PUSH1 0xc4 00001dea: DUP2 00001deb: ADD 00001dec: DUP3 00001ded: SWAP1 00001dee: MSTORE 00001def: PUSH1 0x00 00001df1: SWAP1 00001df2: PUSH32 0x000000000000000000000000ac3e018457b222d93114458476f3e3416abbe38f 00001e13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e28: AND 00001e29: SWAP1 00001e2a: PUSH4 0xd505accf 00001e2f: SWAP1 00001e30: PUSH1 0xe4 00001e32: ADD 00001e33: PUSH1 0x00 00001e35: PUSH1 0x40 00001e37: MLOAD 00001e38: DUP1 00001e39: DUP4 00001e3a: SUB 00001e3b: DUP2 00001e3c: PUSH1 0x00 00001e3e: DUP8 00001e3f: DUP1 00001e40: EXTCODESIZE 00001e41: ISZERO 00001e42: DUP1 00001e43: ISZERO 00001e44: PUSH2 0x1e4c 00001e47: JUMPI 00001e48: PUSH1 0x00 00001e4a: DUP1 00001e4b: REVERT 00001e4c: JUMPDEST 00001e4d: POP 00001e4e: GAS 00001e4f: CALL 00001e50: ISZERO 00001e51: DUP1 00001e52: ISZERO 00001e53: PUSH2 0x1e60 00001e56: JUMPI 00001e57: RETURNDATASIZE 00001e58: PUSH1 0x00 00001e5a: DUP1 00001e5b: RETURNDATACOPY 00001e5c: RETURNDATASIZE 00001e5d: PUSH1 0x00 00001e5f: REVERT 00001e60: JUMPDEST 00001e61: POP 00001e62: POP 00001e63: POP 00001e64: POP 00001e65: PUSH2 0x17e2 00001e68: DUP7 00001e69: DUP9 00001e6a: JUMPDEST 00001e6b: PUSH1 0x00 00001e6d: PUSH2 0x1ebf 00001e70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e85: PUSH32 0x000000000000000000000000ac3e018457b222d93114458476f3e3416abbe38f 00001ea6: AND 00001ea7: CALLER 00001ea8: ADDRESS 00001ea9: PUSH15 0xffffffffffffffffffffffffffffff 00001eb9: DUP7 00001eba: AND 00001ebb: PUSH2 0x2f52 00001ebe: JUMP 00001ebf: JUMPDEST 00001ec0: PUSH1 0x40 00001ec2: MLOAD 00001ec3: PUSH32 0xba08765200000000000000000000000000000000000000000000000000000000 00001ee4: DUP2 00001ee5: MSTORE 00001ee6: PUSH15 0xffffffffffffffffffffffffffffff 00001ef6: DUP4 00001ef7: AND 00001ef8: PUSH1 0x04 00001efa: DUP3 00001efb: ADD 00001efc: MSTORE 00001efd: ADDRESS 00001efe: PUSH1 0x24 00001f00: DUP3 00001f01: ADD 00001f02: DUP2 00001f03: SWAP1 00001f04: MSTORE 00001f05: PUSH1 0x44 00001f07: DUP3 00001f08: ADD 00001f09: MSTORE 00001f0a: PUSH1 0x00 00001f0c: SWAP1 00001f0d: PUSH32 0x000000000000000000000000ac3e018457b222d93114458476f3e3416abbe38f 00001f2e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f43: AND 00001f44: SWAP1 00001f45: PUSH4 0xba087652 00001f4a: SWAP1 00001f4b: PUSH1 0x64 00001f4d: ADD 00001f4e: PUSH1 0x20 00001f50: PUSH1 0x40 00001f52: MLOAD 00001f53: DUP1 00001f54: DUP4 00001f55: SUB 00001f56: DUP2 00001f57: PUSH1 0x00 00001f59: DUP8 00001f5a: GAS 00001f5b: CALL 00001f5c: ISZERO 00001f5d: DUP1 00001f5e: ISZERO 00001f5f: PUSH2 0x1f6c 00001f62: JUMPI 00001f63: RETURNDATASIZE 00001f64: PUSH1 0x00 00001f66: DUP1 00001f67: RETURNDATACOPY 00001f68: RETURNDATASIZE 00001f69: PUSH1 0x00 00001f6b: REVERT 00001f6c: JUMPDEST 00001f6d: POP 00001f6e: POP 00001f6f: POP 00001f70: POP 00001f71: PUSH1 0x40 00001f73: MLOAD 00001f74: RETURNDATASIZE 00001f75: PUSH1 0x1f 00001f77: NOT 00001f78: PUSH1 0x1f 00001f7a: DUP3 00001f7b: ADD 00001f7c: AND 00001f7d: DUP3 00001f7e: ADD 00001f7f: DUP1 00001f80: PUSH1 0x40 00001f82: MSTORE 00001f83: POP 00001f84: DUP2 00001f85: ADD 00001f86: SWAP1 00001f87: PUSH2 0x1f90 00001f8a: SWAP2 00001f8b: SWAP1 00001f8c: PUSH2 0x43b3 00001f8f: JUMP 00001f90: JUMPDEST 00001f91: SWAP1 00001f92: POP 00001f93: PUSH2 0x1f9c 00001f96: DUP5 00001f97: DUP3 00001f98: PUSH2 0x2b2f 00001f9b: JUMP 00001f9c: JUMPDEST 00001f9d: SWAP5 00001f9e: SWAP4 00001f9f: POP 00001fa0: POP 00001fa1: POP 00001fa2: POP 00001fa3: JUMP 00001fa4: JUMPDEST 00001fa5: PUSH2 0x1fac 00001fa8: PUSH2 0x2aaf 00001fab: JUMP 00001fac: JUMPDEST 00001fad: PUSH1 0x0e 00001faf: SLOAD 00001fb0: PUSH1 0x40 00001fb2: DUP1 00001fb3: MLOAD 00001fb4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fc9: SWAP3 00001fca: DUP4 00001fcb: AND 00001fcc: DUP2 00001fcd: MSTORE 00001fce: SWAP2 00001fcf: DUP4 00001fd0: AND 00001fd1: PUSH1 0x20 00001fd3: DUP4 00001fd4: ADD 00001fd5: MSTORE 00001fd6: PUSH32 0xd9d6b85b6d670cd443496fc6d03390f739bbff47f96a8e33fb0cdd52ad26f5c2 00001ff7: SWAP2 00001ff8: ADD 00001ff9: PUSH1 0x40 00001ffb: MLOAD 00001ffc: DUP1 00001ffd: SWAP2 00001ffe: SUB 00001fff: SWAP1 00002000: LOG1 00002001: PUSH1 0x0e 00002003: DUP1 00002004: SLOAD 00002005: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00002026: AND 00002027: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000203c: SWAP3 0000203d: SWAP1 0000203e: SWAP3 0000203f: AND 00002040: SWAP2 00002041: SWAP1 00002042: SWAP2 00002043: OR 00002044: SWAP1 00002045: SSTORE 00002046: JUMP 00002047: JUMPDEST 00002048: PUSH2 0x204f 0000204b: PUSH2 0x2fb0 0000204e: JUMP 0000204f: JUMPDEST 00002050: PUSH2 0x133f 00002053: PUSH2 0x33d6 00002056: JUMP 00002057: JUMPDEST 00002058: PUSH1 0x00 0000205a: DUP2 0000205b: DUP2 0000205c: MSTORE 0000205d: PUSH1 0x02 0000205f: PUSH1 0x20 00002061: MSTORE 00002062: PUSH1 0x40 00002064: SWAP1 00002065: KECCAK256 00002066: SLOAD 00002067: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000207c: AND 0000207d: PUSH2 0x12b7 00002080: JUMPI 00002081: PUSH1 0x40 00002083: MLOAD 00002084: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000020a5: DUP2 000020a6: MSTORE 000020a7: PUSH1 0x20 000020a9: PUSH1 0x04 000020ab: DUP3 000020ac: ADD 000020ad: MSTORE 000020ae: PUSH1 0x18 000020b0: PUSH1 0x24 000020b2: DUP3 000020b3: ADD 000020b4: MSTORE 000020b5: PUSH32 0x4552433732313a20696e76616c696420746f6b656e2049440000000000000000 000020d6: PUSH1 0x44 000020d8: DUP3 000020d9: ADD 000020da: MSTORE 000020db: PUSH1 0x64 000020dd: ADD 000020de: PUSH2 0x0cda 000020e1: JUMP 000020e2: JUMPDEST 000020e3: PUSH1 0x00 000020e5: DUP2 000020e6: DUP2 000020e7: MSTORE 000020e8: PUSH1 0x04 000020ea: PUSH1 0x20 000020ec: MSTORE 000020ed: PUSH1 0x40 000020ef: SWAP1 000020f0: KECCAK256 000020f1: DUP1 000020f2: SLOAD 000020f3: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00002114: AND 00002115: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000212a: DUP5 0000212b: AND 0000212c: SWAP1 0000212d: DUP2 0000212e: OR 0000212f: SWAP1 00002130: SWAP2 00002131: SSTORE 00002132: DUP2 00002133: SWAP1 00002134: PUSH2 0x213c 00002137: DUP3 00002138: PUSH2 0x1341 0000213b: JUMP 0000213c: JUMPDEST 0000213d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002152: AND 00002153: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 00002174: PUSH1 0x40 00002176: MLOAD 00002177: PUSH1 0x40 00002179: MLOAD 0000217a: DUP1 0000217b: SWAP2 0000217c: SUB 0000217d: SWAP1 0000217e: LOG4 0000217f: POP 00002180: POP 00002181: JUMP 00002182: JUMPDEST 00002183: PUSH1 0x02 00002185: PUSH1 0x09 00002187: SLOAD 00002188: SUB 00002189: PUSH2 0x21ee 0000218c: JUMPI 0000218d: PUSH1 0x40 0000218f: MLOAD 00002190: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000021b1: DUP2 000021b2: MSTORE 000021b3: PUSH1 0x20 000021b5: PUSH1 0x04 000021b7: DUP3 000021b8: ADD 000021b9: MSTORE 000021ba: PUSH1 0x1f 000021bc: PUSH1 0x24 000021be: DUP3 000021bf: ADD 000021c0: MSTORE 000021c1: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 000021e2: PUSH1 0x44 000021e4: DUP3 000021e5: ADD 000021e6: MSTORE 000021e7: PUSH1 0x64 000021e9: ADD 000021ea: PUSH2 0x0cda 000021ed: JUMP 000021ee: JUMPDEST 000021ef: PUSH1 0x02 000021f1: PUSH1 0x09 000021f3: SSTORE 000021f4: JUMP 000021f5: JUMPDEST 000021f6: PUSH1 0x40 000021f8: DUP1 000021f9: MLOAD 000021fa: PUSH1 0x80 000021fc: DUP2 000021fd: ADD 000021fe: DUP3 000021ff: MSTORE 00002200: PUSH1 0x00 00002202: DUP1 00002203: DUP3 00002204: MSTORE 00002205: PUSH1 0x20 00002207: DUP3 00002208: ADD 00002209: DUP2 0000220a: SWAP1 0000220b: MSTORE 0000220c: SWAP2 0000220d: DUP2 0000220e: ADD 0000220f: DUP3 00002210: SWAP1 00002211: MSTORE 00002212: PUSH1 0x60 00002214: DUP2 00002215: ADD 00002216: SWAP2 00002217: SWAP1 00002218: SWAP2 00002219: MSTORE 0000221a: PUSH2 0x2223 0000221d: CALLER 0000221e: DUP5 0000221f: PUSH2 0x24a4 00002222: JUMP 00002223: JUMPDEST 00002224: PUSH2 0x2259 00002227: JUMPI 00002228: PUSH1 0x40 0000222a: MLOAD 0000222b: PUSH32 0xe816274400000000000000000000000000000000000000000000000000000000 0000224c: DUP2 0000224d: MSTORE 0000224e: PUSH1 0x04 00002250: ADD 00002251: PUSH1 0x40 00002253: MLOAD 00002254: DUP1 00002255: SWAP2 00002256: SUB 00002257: SWAP1 00002258: REVERT 00002259: JUMPDEST 0000225a: POP 0000225b: PUSH1 0x00 0000225d: DUP3 0000225e: DUP2 0000225f: MSTORE 00002260: PUSH1 0x0c 00002262: PUSH1 0x20 00002264: SWAP1 00002265: DUP2 00002266: MSTORE 00002267: PUSH1 0x40 00002269: SWAP2 0000226a: DUP3 0000226b: SWAP1 0000226c: KECCAK256 0000226d: DUP3 0000226e: MLOAD 0000226f: PUSH1 0x80 00002271: DUP2 00002272: ADD 00002273: DUP5 00002274: MSTORE 00002275: SWAP1 00002276: SLOAD 00002277: PUSH1 0xff 00002279: DUP2 0000227a: AND 0000227b: ISZERO 0000227c: ISZERO 0000227d: DUP3 0000227e: MSTORE 0000227f: PUSH8 0xffffffffffffffff 00002288: PUSH2 0x0100 0000228b: DUP3 0000228c: DIV 0000228d: DUP2 0000228e: AND 0000228f: SWAP4 00002290: DUP4 00002291: ADD 00002292: DUP5 00002293: SWAP1 00002294: MSTORE 00002295: PUSH15 0xffffffffffffffffffffffffffffff 000022a5: PUSH10 0x01000000000000000000 000022b0: DUP4 000022b1: DIV 000022b2: AND 000022b3: SWAP5 000022b4: DUP4 000022b5: ADD 000022b6: SWAP5 000022b7: SWAP1 000022b8: SWAP5 000022b9: MSTORE 000022ba: PUSH25 0x01000000000000000000000000000000000000000000000000 000022d4: SWAP1 000022d5: DIV 000022d6: SWAP1 000022d7: SWAP3 000022d8: AND 000022d9: PUSH1 0x60 000022db: DUP4 000022dc: ADD 000022dd: MSTORE 000022de: TIMESTAMP 000022df: LT 000022e0: ISZERO 000022e1: PUSH2 0x232e 000022e4: JUMPI 000022e5: PUSH1 0x20 000022e7: DUP2 000022e8: ADD 000022e9: MLOAD 000022ea: PUSH1 0x40 000022ec: MLOAD 000022ed: PUSH32 0x375394cb00000000000000000000000000000000000000000000000000000000 0000230e: DUP2 0000230f: MSTORE 00002310: TIMESTAMP 00002311: PUSH1 0x04 00002313: DUP3 00002314: ADD 00002315: MSTORE 00002316: PUSH8 0xffffffffffffffff 0000231f: SWAP1 00002320: SWAP2 00002321: AND 00002322: PUSH1 0x24 00002324: DUP3 00002325: ADD 00002326: MSTORE 00002327: PUSH1 0x44 00002329: ADD 0000232a: PUSH2 0x0cda 0000232d: JUMP 0000232e: JUMPDEST 0000232f: PUSH1 0x40 00002331: DUP2 00002332: ADD 00002333: MLOAD 00002334: PUSH1 0x0b 00002336: DUP1 00002337: SLOAD 00002338: PUSH15 0xffffffffffffffffffffffffffffff 00002348: SWAP1 00002349: SWAP3 0000234a: AND 0000234b: SWAP2 0000234c: PUSH1 0x00 0000234e: SWAP1 0000234f: PUSH2 0x236b 00002352: SWAP1 00002353: DUP5 00002354: SWAP1 00002355: PUSH16 0xffffffffffffffffffffffffffffffff 00002366: AND 00002367: PUSH2 0x42b1 0000236a: JUMP 0000236b: JUMPDEST 0000236c: SWAP3 0000236d: POP 0000236e: PUSH2 0x0100 00002371: EXP 00002372: DUP2 00002373: SLOAD 00002374: DUP2 00002375: PUSH16 0xffffffffffffffffffffffffffffffff 00002386: MUL 00002387: NOT 00002388: AND 00002389: SWAP1 0000238a: DUP4 0000238b: PUSH16 0xffffffffffffffffffffffffffffffff 0000239c: AND 0000239d: MUL 0000239e: OR 0000239f: SWAP1 000023a0: SSTORE 000023a1: POP 000023a2: PUSH2 0x23aa 000023a5: DUP4 000023a6: PUSH2 0x2903 000023a9: JUMP 000023aa: JUMPDEST 000023ab: PUSH1 0x00 000023ad: DUP4 000023ae: DUP2 000023af: MSTORE 000023b0: PUSH1 0x0c 000023b2: PUSH1 0x20 000023b4: MSTORE 000023b5: PUSH1 0x40 000023b7: SWAP1 000023b8: DUP2 000023b9: SWAP1 000023ba: KECCAK256 000023bb: DUP1 000023bc: SLOAD 000023bd: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000023de: AND 000023df: PUSH1 0x01 000023e1: OR 000023e2: SWAP1 000023e3: SSTORE 000023e4: DUP2 000023e5: DUP2 000023e6: ADD 000023e7: MLOAD 000023e8: SWAP1 000023e9: MLOAD 000023ea: PUSH32 0x42966c6800000000000000000000000000000000000000000000000000000000 0000240b: DUP2 0000240c: MSTORE 0000240d: PUSH15 0xffffffffffffffffffffffffffffff 0000241d: SWAP1 0000241e: SWAP2 0000241f: AND 00002420: PUSH1 0x04 00002422: DUP3 00002423: ADD 00002424: MSTORE 00002425: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000243a: PUSH32 0x0000000000000000000000005e8422345238f34275888049021821e8e08caa1f 0000245b: AND 0000245c: SWAP1 0000245d: PUSH4 0x42966c68 00002462: SWAP1 00002463: PUSH1 0x24 00002465: ADD 00002466: PUSH1 0x00 00002468: PUSH1 0x40 0000246a: MLOAD 0000246b: DUP1 0000246c: DUP4 0000246d: SUB 0000246e: DUP2 0000246f: PUSH1 0x00 00002471: DUP8 00002472: DUP1 00002473: EXTCODESIZE 00002474: ISZERO 00002475: DUP1 00002476: ISZERO 00002477: PUSH2 0x247f 0000247a: JUMPI 0000247b: PUSH1 0x00 0000247d: DUP1 0000247e: REVERT 0000247f: JUMPDEST 00002480: POP 00002481: GAS 00002482: CALL 00002483: ISZERO 00002484: DUP1 00002485: ISZERO 00002486: PUSH2 0x2493 00002489: JUMPI 0000248a: RETURNDATASIZE 0000248b: PUSH1 0x00 0000248d: DUP1 0000248e: RETURNDATACOPY 0000248f: RETURNDATASIZE 00002490: PUSH1 0x00 00002492: REVERT 00002493: JUMPDEST 00002494: POP 00002495: POP 00002496: POP 00002497: POP 00002498: SWAP3 00002499: SWAP2 0000249a: POP 0000249b: POP 0000249c: JUMP 0000249d: JUMPDEST 0000249e: PUSH1 0x01 000024a0: PUSH1 0x09 000024a2: SSTORE 000024a3: JUMP 000024a4: JUMPDEST 000024a5: PUSH1 0x00 000024a7: DUP1 000024a8: PUSH2 0x24b0 000024ab: DUP4 000024ac: PUSH2 0x1341 000024af: JUMP 000024b0: JUMPDEST 000024b1: SWAP1 000024b2: POP 000024b3: DUP1 000024b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024c9: AND 000024ca: DUP5 000024cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024e0: AND 000024e1: EQ 000024e2: DUP1 000024e3: PUSH2 0x251e 000024e6: JUMPI 000024e7: POP 000024e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024fd: DUP1 000024fe: DUP3 000024ff: AND 00002500: PUSH1 0x00 00002502: SWAP1 00002503: DUP2 00002504: MSTORE 00002505: PUSH1 0x05 00002507: PUSH1 0x20 00002509: SWAP1 0000250a: DUP2 0000250b: MSTORE 0000250c: PUSH1 0x40 0000250e: DUP1 0000250f: DUP4 00002510: KECCAK256 00002511: SWAP4 00002512: DUP9 00002513: AND 00002514: DUP4 00002515: MSTORE 00002516: SWAP3 00002517: SWAP1 00002518: MSTORE 00002519: KECCAK256 0000251a: SLOAD 0000251b: PUSH1 0xff 0000251d: AND 0000251e: JUMPDEST 0000251f: DUP1 00002520: PUSH2 0x1f9c 00002523: JUMPI 00002524: POP 00002525: DUP4 00002526: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000253b: AND 0000253c: PUSH2 0x2544 0000253f: DUP5 00002540: PUSH2 0x0be2 00002543: JUMP 00002544: JUMPDEST 00002545: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000255a: AND 0000255b: EQ 0000255c: SWAP5 0000255d: SWAP4 0000255e: POP 0000255f: POP 00002560: POP 00002561: POP 00002562: JUMP 00002563: JUMPDEST 00002564: DUP3 00002565: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000257a: AND 0000257b: PUSH2 0x2583 0000257e: DUP3 0000257f: PUSH2 0x1341 00002582: JUMP 00002583: JUMPDEST 00002584: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002599: AND 0000259a: EQ 0000259b: PUSH2 0x2626 0000259e: JUMPI 0000259f: PUSH1 0x40 000025a1: MLOAD 000025a2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000025c3: DUP2 000025c4: MSTORE 000025c5: PUSH1 0x20 000025c7: PUSH1 0x04 000025c9: DUP3 000025ca: ADD 000025cb: MSTORE 000025cc: PUSH1 0x25 000025ce: PUSH1 0x24 000025d0: DUP3 000025d1: ADD 000025d2: MSTORE 000025d3: PUSH32 0x4552433732313a207472616e736665722066726f6d20696e636f727265637420 000025f4: PUSH1 0x44 000025f6: DUP3 000025f7: ADD 000025f8: MSTORE 000025f9: PUSH32 0x6f776e6572000000000000000000000000000000000000000000000000000000 0000261a: PUSH1 0x64 0000261c: DUP3 0000261d: ADD 0000261e: MSTORE 0000261f: PUSH1 0x84 00002621: ADD 00002622: PUSH2 0x0cda 00002625: JUMP 00002626: JUMPDEST 00002627: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000263c: DUP3 0000263d: AND 0000263e: PUSH2 0x26c8 00002641: JUMPI 00002642: PUSH1 0x40 00002644: MLOAD 00002645: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002666: DUP2 00002667: MSTORE 00002668: PUSH1 0x20 0000266a: PUSH1 0x04 0000266c: DUP3 0000266d: ADD 0000266e: MSTORE 0000266f: PUSH1 0x24 00002671: DUP1 00002672: DUP3 00002673: ADD 00002674: MSTORE 00002675: PUSH32 0x4552433732313a207472616e7366657220746f20746865207a65726f20616464 00002696: PUSH1 0x44 00002698: DUP3 00002699: ADD 0000269a: MSTORE 0000269b: PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 000026bc: PUSH1 0x64 000026be: DUP3 000026bf: ADD 000026c0: MSTORE 000026c1: PUSH1 0x84 000026c3: ADD 000026c4: PUSH2 0x0cda 000026c7: JUMP 000026c8: JUMPDEST 000026c9: DUP3 000026ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026df: AND 000026e0: PUSH2 0x26e8 000026e3: DUP3 000026e4: PUSH2 0x1341 000026e7: JUMP 000026e8: JUMPDEST 000026e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026fe: AND 000026ff: EQ 00002700: PUSH2 0x278b 00002703: JUMPI 00002704: PUSH1 0x40 00002706: MLOAD 00002707: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002728: DUP2 00002729: MSTORE 0000272a: PUSH1 0x20 0000272c: PUSH1 0x04 0000272e: DUP3 0000272f: ADD 00002730: MSTORE 00002731: PUSH1 0x25 00002733: PUSH1 0x24 00002735: DUP3 00002736: ADD 00002737: MSTORE 00002738: PUSH32 0x4552433732313a207472616e736665722066726f6d20696e636f727265637420 00002759: PUSH1 0x44 0000275b: DUP3 0000275c: ADD 0000275d: MSTORE 0000275e: PUSH32 0x6f776e6572000000000000000000000000000000000000000000000000000000 0000277f: PUSH1 0x64 00002781: DUP3 00002782: ADD 00002783: MSTORE 00002784: PUSH1 0x84 00002786: ADD 00002787: PUSH2 0x0cda 0000278a: JUMP 0000278b: JUMPDEST 0000278c: PUSH1 0x00 0000278e: DUP2 0000278f: DUP2 00002790: MSTORE 00002791: PUSH1 0x04 00002793: PUSH1 0x20 00002795: SWAP1 00002796: DUP2 00002797: MSTORE 00002798: PUSH1 0x40 0000279a: DUP1 0000279b: DUP4 0000279c: KECCAK256 0000279d: DUP1 0000279e: SLOAD 0000279f: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000027c0: SWAP1 000027c1: DUP2 000027c2: AND 000027c3: SWAP1 000027c4: SWAP2 000027c5: SSTORE 000027c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027db: DUP8 000027dc: DUP2 000027dd: AND 000027de: DUP1 000027df: DUP7 000027e0: MSTORE 000027e1: PUSH1 0x03 000027e3: DUP6 000027e4: MSTORE 000027e5: DUP4 000027e6: DUP7 000027e7: KECCAK256 000027e8: DUP1 000027e9: SLOAD 000027ea: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000280b: ADD 0000280c: SWAP1 0000280d: SSTORE 0000280e: SWAP1 0000280f: DUP8 00002810: AND 00002811: DUP1 00002812: DUP7 00002813: MSTORE 00002814: DUP4 00002815: DUP7 00002816: KECCAK256 00002817: DUP1 00002818: SLOAD 00002819: PUSH1 0x01 0000281b: ADD 0000281c: SWAP1 0000281d: SSTORE 0000281e: DUP7 0000281f: DUP7 00002820: MSTORE 00002821: PUSH1 0x02 00002823: SWAP1 00002824: SWAP5 00002825: MSTORE 00002826: DUP3 00002827: DUP6 00002828: KECCAK256 00002829: DUP1 0000282a: SLOAD 0000282b: SWAP1 0000282c: SWAP3 0000282d: AND 0000282e: DUP5 0000282f: OR 00002830: SWAP1 00002831: SWAP2 00002832: SSTORE 00002833: SWAP1 00002834: MLOAD 00002835: DUP5 00002836: SWAP4 00002837: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00002858: SWAP2 00002859: LOG4 0000285a: POP 0000285b: POP 0000285c: POP 0000285d: JUMP 0000285e: JUMPDEST 0000285f: PUSH1 0x00 00002861: PUSH15 0xffffffffffffffffffffffffffffff 00002871: DUP3 00002872: GT 00002873: ISZERO 00002874: PUSH2 0x28ff 00002877: JUMPI 00002878: PUSH1 0x40 0000287a: MLOAD 0000287b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000289c: DUP2 0000289d: MSTORE 0000289e: PUSH1 0x20 000028a0: PUSH1 0x04 000028a2: DUP3 000028a3: ADD 000028a4: MSTORE 000028a5: PUSH1 0x27 000028a7: PUSH1 0x24 000028a9: DUP3 000028aa: ADD 000028ab: MSTORE 000028ac: PUSH32 0x53616665436173743a2076616c756520646f65736e27742066697420696e2031 000028cd: PUSH1 0x44 000028cf: DUP3 000028d0: ADD 000028d1: MSTORE 000028d2: PUSH32 0x3230206269747300000000000000000000000000000000000000000000000000 000028f3: PUSH1 0x64 000028f5: DUP3 000028f6: ADD 000028f7: MSTORE 000028f8: PUSH1 0x84 000028fa: ADD 000028fb: PUSH2 0x0cda 000028fe: JUMP 000028ff: JUMPDEST 00002900: POP 00002901: SWAP1 00002902: JUMP 00002903: JUMPDEST 00002904: PUSH1 0x00 00002906: PUSH2 0x290e 00002909: DUP3 0000290a: PUSH2 0x1341 0000290d: JUMP 0000290e: JUMPDEST 0000290f: SWAP1 00002910: POP 00002911: PUSH2 0x2919 00002914: DUP3 00002915: PUSH2 0x1341 00002918: JUMP 00002919: JUMPDEST 0000291a: PUSH1 0x00 0000291c: DUP4 0000291d: DUP2 0000291e: MSTORE 0000291f: PUSH1 0x04 00002921: PUSH1 0x20 00002923: SWAP1 00002924: DUP2 00002925: MSTORE 00002926: PUSH1 0x40 00002928: DUP1 00002929: DUP4 0000292a: KECCAK256 0000292b: DUP1 0000292c: SLOAD 0000292d: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 0000294e: SWAP1 0000294f: DUP2 00002950: AND 00002951: SWAP1 00002952: SWAP2 00002953: SSTORE 00002954: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002969: DUP6 0000296a: AND 0000296b: DUP1 0000296c: DUP6 0000296d: MSTORE 0000296e: PUSH1 0x03 00002970: DUP5 00002971: MSTORE 00002972: DUP3 00002973: DUP6 00002974: KECCAK256 00002975: DUP1 00002976: SLOAD 00002977: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002998: ADD 00002999: SWAP1 0000299a: SSTORE 0000299b: DUP8 0000299c: DUP6 0000299d: MSTORE 0000299e: PUSH1 0x02 000029a0: SWAP1 000029a1: SWAP4 000029a2: MSTORE 000029a3: DUP2 000029a4: DUP5 000029a5: KECCAK256 000029a6: DUP1 000029a7: SLOAD 000029a8: SWAP1 000029a9: SWAP2 000029aa: AND 000029ab: SWAP1 000029ac: SSTORE 000029ad: MLOAD 000029ae: SWAP3 000029af: SWAP4 000029b0: POP 000029b1: DUP5 000029b2: SWAP3 000029b3: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 000029d4: SWAP1 000029d5: DUP4 000029d6: SWAP1 000029d7: LOG4 000029d8: POP 000029d9: POP 000029da: JUMP 000029db: JUMPDEST 000029dc: PUSH1 0x40 000029de: MLOAD 000029df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000029f4: DUP4 000029f5: AND 000029f6: PUSH1 0x24 000029f8: DUP3 000029f9: ADD 000029fa: MSTORE 000029fb: PUSH1 0x44 000029fd: DUP2 000029fe: ADD 000029ff: DUP3 00002a00: SWAP1 00002a01: MSTORE 00002a02: PUSH2 0x0da2 00002a05: SWAP1 00002a06: DUP5 00002a07: SWAP1 00002a08: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00002a29: SWAP1 00002a2a: PUSH1 0x64 00002a2c: ADD 00002a2d: JUMPDEST 00002a2e: PUSH1 0x40 00002a30: DUP1 00002a31: MLOAD 00002a32: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00002a53: DUP2 00002a54: DUP5 00002a55: SUB 00002a56: ADD 00002a57: DUP2 00002a58: MSTORE 00002a59: SWAP2 00002a5a: SWAP1 00002a5b: MSTORE 00002a5c: PUSH1 0x20 00002a5e: DUP2 00002a5f: ADD 00002a60: DUP1 00002a61: MLOAD 00002a62: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002a7f: AND 00002a80: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00002aa1: SWAP1 00002aa2: SWAP4 00002aa3: AND 00002aa4: SWAP3 00002aa5: SWAP1 00002aa6: SWAP3 00002aa7: OR 00002aa8: SWAP1 00002aa9: SWAP2 00002aaa: MSTORE 00002aab: PUSH2 0x3407 00002aae: JUMP 00002aaf: JUMPDEST 00002ab0: PUSH2 0x133f 00002ab3: CALLER 00002ab4: PUSH2 0x3516 00002ab7: JUMP 00002ab8: JUMPDEST 00002ab9: PUSH1 0x06 00002abb: DUP1 00002abc: SLOAD 00002abd: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00002ade: AND 00002adf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002af4: DUP4 00002af5: DUP2 00002af6: AND 00002af7: SWAP2 00002af8: DUP3 00002af9: OR 00002afa: SWAP1 00002afb: SWAP3 00002afc: SSTORE 00002afd: PUSH1 0x07 00002aff: SLOAD 00002b00: PUSH1 0x40 00002b02: MLOAD 00002b03: SWAP2 00002b04: SWAP3 00002b05: AND 00002b06: SWAP1 00002b07: PUSH32 0x162998b90abc2507f3953aa797827b03a14c42dbd9a35f09feaf02e0d592773a 00002b28: SWAP1 00002b29: PUSH1 0x00 00002b2b: SWAP1 00002b2c: LOG3 00002b2d: POP 00002b2e: JUMP 00002b2f: JUMPDEST 00002b30: PUSH1 0x00 00002b32: PUSH2 0x2b39 00002b35: PUSH2 0x2182 00002b38: JUMP 00002b39: JUMPDEST 00002b3a: PUSH1 0x40 00002b3c: DUP1 00002b3d: MLOAD 00002b3e: PUSH1 0x80 00002b40: DUP2 00002b41: ADD 00002b42: DUP3 00002b43: MSTORE 00002b44: PUSH1 0x0a 00002b46: SLOAD 00002b47: PUSH8 0xffffffffffffffff 00002b50: DUP1 00002b51: DUP3 00002b52: AND 00002b53: DUP4 00002b54: MSTORE 00002b55: PUSH9 0x010000000000000000 00002b5f: DUP3 00002b60: DIV 00002b61: DUP2 00002b62: AND 00002b63: PUSH1 0x20 00002b65: DUP1 00002b66: DUP6 00002b67: ADD 00002b68: SWAP2 00002b69: SWAP1 00002b6a: SWAP2 00002b6b: MSTORE 00002b6c: PUSH17 0x0100000000000000000000000000000000 00002b7e: DUP1 00002b7f: DUP5 00002b80: DIV 00002b81: DUP4 00002b82: AND 00002b83: DUP6 00002b84: DUP8 00002b85: ADD 00002b86: SWAP1 00002b87: DUP2 00002b88: MSTORE 00002b89: PUSH25 0x01000000000000000000000000000000000000000000000000 00002ba3: SWAP1 00002ba4: SWAP5 00002ba5: DIV 00002ba6: DUP4 00002ba7: AND 00002ba8: PUSH1 0x60 00002baa: DUP7 00002bab: ADD 00002bac: MSTORE 00002bad: DUP6 00002bae: MLOAD 00002baf: DUP1 00002bb0: DUP8 00002bb1: ADD 00002bb2: SWAP1 00002bb3: SWAP7 00002bb4: MSTORE 00002bb5: PUSH1 0x0b 00002bb7: SLOAD 00002bb8: PUSH16 0xffffffffffffffffffffffffffffffff 00002bc9: DUP1 00002bca: DUP3 00002bcb: AND 00002bcc: DUP9 00002bcd: MSTORE 00002bce: SWAP2 00002bcf: SWAP1 00002bd0: DIV 00002bd1: AND 00002bd2: SWAP1 00002bd3: DUP6 00002bd4: ADD 00002bd5: MSTORE 00002bd6: SWAP1 00002bd7: MLOAD 00002bd8: SWAP2 00002bd9: SWAP3 00002bda: SWAP2 00002bdb: PUSH1 0x00 00002bdd: SWAP2 00002bde: PUSH2 0x2c02 00002be1: SWAP2 00002be2: PUSH3 0x0f4240 00002be6: SWAP2 00002be7: PUSH2 0x10eb 00002bea: SWAP2 00002beb: AND 00002bec: PUSH15 0xffffffffffffffffffffffffffffff 00002bfc: DUP10 00002bfd: AND 00002bfe: PUSH2 0x42e1 00002c01: JUMP 00002c02: JUMPDEST 00002c03: SWAP1 00002c04: POP 00002c05: PUSH1 0x00 00002c07: PUSH2 0x2c10 00002c0a: DUP3 00002c0b: DUP8 00002c0c: PUSH2 0x435c 00002c0f: JUMP 00002c10: JUMPDEST 00002c11: SWAP1 00002c12: POP 00002c13: DUP1 00002c14: PUSH15 0xffffffffffffffffffffffffffffff 00002c24: AND 00002c25: DUP4 00002c26: PUSH1 0x00 00002c28: ADD 00002c29: DUP2 00002c2a: DUP2 00002c2b: MLOAD 00002c2c: PUSH2 0x2c35 00002c2f: SWAP2 00002c30: SWAP1 00002c31: PUSH2 0x4333 00002c34: JUMP 00002c35: JUMPDEST 00002c36: PUSH16 0xffffffffffffffffffffffffffffffff 00002c47: AND 00002c48: SWAP1 00002c49: MSTORE 00002c4a: POP 00002c4b: PUSH1 0x20 00002c4d: DUP4 00002c4e: ADD 00002c4f: DUP1 00002c50: MLOAD 00002c51: PUSH15 0xffffffffffffffffffffffffffffff 00002c61: DUP5 00002c62: AND 00002c63: SWAP2 00002c64: SWAP1 00002c65: PUSH2 0x2c6f 00002c68: SWAP1 00002c69: DUP4 00002c6a: SWAP1 00002c6b: PUSH2 0x4333 00002c6e: JUMP 00002c6f: JUMPDEST 00002c70: PUSH16 0xffffffffffffffffffffffffffffffff 00002c81: AND 00002c82: SWAP1 00002c83: MSTORE 00002c84: POP 00002c85: PUSH1 0x20 00002c87: DUP5 00002c88: ADD 00002c89: MLOAD 00002c8a: PUSH1 0x00 00002c8c: SWAP1 00002c8d: PUSH2 0x2c96 00002c90: SWAP1 00002c91: TIMESTAMP 00002c92: PUSH2 0x43cc 00002c95: JUMP 00002c96: JUMPDEST 00002c97: PUSH1 0x40 00002c99: DUP1 00002c9a: MLOAD 00002c9b: PUSH1 0x80 00002c9d: DUP2 00002c9e: ADD 00002c9f: DUP3 00002ca0: MSTORE 00002ca1: PUSH1 0x00 00002ca3: DUP1 00002ca4: DUP3 00002ca5: MSTORE 00002ca6: PUSH8 0xffffffffffffffff 00002caf: DUP1 00002cb0: DUP6 00002cb1: AND 00002cb2: PUSH1 0x20 00002cb4: DUP1 00002cb5: DUP6 00002cb6: ADD 00002cb7: SWAP2 00002cb8: DUP3 00002cb9: MSTORE 00002cba: PUSH15 0xffffffffffffffffffffffffffffff 00002cca: DUP1 00002ccb: DUP11 00002ccc: AND 00002ccd: DUP7 00002cce: DUP9 00002ccf: ADD 00002cd0: SWAP1 00002cd1: DUP2 00002cd2: MSTORE 00002cd3: PUSH1 0x60 00002cd5: DUP15 00002cd6: DUP2 00002cd7: ADD 00002cd8: MLOAD 00002cd9: DUP7 00002cda: AND 00002cdb: SWAP1 00002cdc: DUP9 00002cdd: ADD 00002cde: SWAP1 00002cdf: DUP2 00002ce0: MSTORE 00002ce1: DUP15 00002ce2: MLOAD 00002ce3: DUP7 00002ce4: AND 00002ce5: DUP8 00002ce6: MSTORE 00002ce7: PUSH1 0x0c 00002ce9: SWAP1 00002cea: SWAP4 00002ceb: MSTORE 00002cec: SWAP7 00002ced: SWAP1 00002cee: SWAP5 00002cef: KECCAK256 00002cf0: SWAP5 00002cf1: MLOAD 00002cf2: DUP6 00002cf3: SLOAD 00002cf4: SWAP3 00002cf5: MLOAD 00002cf6: SWAP7 00002cf7: MLOAD 00002cf8: SWAP2 00002cf9: MLOAD 00002cfa: DUP5 00002cfb: AND 00002cfc: PUSH25 0x01000000000000000000000000000000000000000000000000 00002d16: MUL 00002d17: PUSH24 0xffffffffffffffffffffffffffffffffffffffffffffffff 00002d30: SWAP3 00002d31: SWAP1 00002d32: SWAP6 00002d33: AND 00002d34: PUSH10 0x01000000000000000000 00002d3f: MUL 00002d40: SWAP2 00002d41: SWAP1 00002d42: SWAP2 00002d43: AND 00002d44: PUSH9 0xffffffffffffffffff 00002d4e: SWAP7 00002d4f: DUP5 00002d50: AND 00002d51: PUSH2 0x0100 00002d54: MUL 00002d55: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff 00002d76: SWAP3 00002d77: ISZERO 00002d78: ISZERO 00002d79: SWAP3 00002d7a: SWAP1 00002d7b: SWAP3 00002d7c: AND 00002d7d: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffff000000000000000000 00002d9e: SWAP1 00002d9f: SWAP4 00002da0: AND 00002da1: SWAP3 00002da2: SWAP1 00002da3: SWAP3 00002da4: OR 00002da5: OR 00002da6: SWAP5 00002da7: SWAP1 00002da8: SWAP5 00002da9: AND 00002daa: SWAP4 00002dab: SWAP1 00002dac: SWAP4 00002dad: OR 00002dae: OR 00002daf: SWAP1 00002db0: SSTORE 00002db1: DUP7 00002db2: MLOAD 00002db3: SWAP2 00002db4: SWAP3 00002db5: POP 00002db6: PUSH2 0x2dc1 00002db9: SWAP2 00002dba: DUP11 00002dbb: SWAP2 00002dbc: AND 00002dbd: PUSH2 0x358e 00002dc0: JUMP 00002dc1: JUMPDEST 00002dc2: DUP5 00002dc3: MLOAD 00002dc4: PUSH1 0x60 00002dc6: DUP1 00002dc7: DUP8 00002dc8: ADD 00002dc9: MLOAD 00002dca: PUSH1 0x40 00002dcc: DUP1 00002dcd: MLOAD 00002dce: PUSH15 0xffffffffffffffffffffffffffffff 00002dde: DUP13 00002ddf: DUP2 00002de0: AND 00002de1: DUP3 00002de2: MSTORE 00002de3: DUP9 00002de4: AND 00002de5: PUSH1 0x20 00002de7: DUP3 00002de8: ADD 00002de9: MSTORE 00002dea: PUSH8 0xffffffffffffffff 00002df3: DUP7 00002df4: DUP2 00002df5: AND 00002df6: DUP3 00002df7: DUP5 00002df8: ADD 00002df9: MSTORE 00002dfa: SWAP3 00002dfb: DUP4 00002dfc: AND 00002dfd: SWAP4 00002dfe: DUP2 00002dff: ADD 00002e00: SWAP4 00002e01: SWAP1 00002e02: SWAP4 00002e03: MSTORE 00002e04: MLOAD 00002e05: SWAP3 00002e06: AND 00002e07: SWAP8 00002e08: POP 00002e09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002e1e: DUP11 00002e1f: AND 00002e20: SWAP2 00002e21: CALLER 00002e22: SWAP2 00002e23: DUP10 00002e24: SWAP2 00002e25: PUSH32 0x6d276369c2c335a7a5cd8eeda9c75ea535f37c65e580d36fd3ab8ce3d1297a00 00002e46: SWAP2 00002e47: DUP2 00002e48: SWAP1 00002e49: SUB 00002e4a: PUSH1 0x80 00002e4c: ADD 00002e4d: SWAP1 00002e4e: LOG4 00002e4f: DUP5 00002e50: MLOAD 00002e51: DUP6 00002e52: SWAP1 00002e53: PUSH2 0x2e5b 00002e56: SWAP1 00002e57: PUSH2 0x43ed 00002e5a: JUMP 00002e5b: JUMPDEST 00002e5c: PUSH8 0xffffffffffffffff 00002e65: SWAP1 00002e66: DUP2 00002e67: AND 00002e68: SWAP1 00002e69: SWAP2 00002e6a: MSTORE 00002e6b: DUP6 00002e6c: MLOAD 00002e6d: PUSH1 0x0a 00002e6f: DUP1 00002e70: SLOAD 00002e71: PUSH1 0x20 00002e73: DUP1 00002e74: DUP11 00002e75: ADD 00002e76: MLOAD 00002e77: PUSH1 0x40 00002e79: DUP12 00002e7a: ADD 00002e7b: MLOAD 00002e7c: PUSH1 0x60 00002e7e: SWAP1 00002e7f: SWAP12 00002e80: ADD 00002e81: MLOAD 00002e82: DUP7 00002e83: AND 00002e84: PUSH25 0x01000000000000000000000000000000000000000000000000 00002e9e: MUL 00002e9f: PUSH24 0xffffffffffffffffffffffffffffffffffffffffffffffff 00002eb8: SWAP12 00002eb9: DUP8 00002eba: AND 00002ebb: PUSH17 0x0100000000000000000000000000000000 00002ecd: SWAP1 00002ece: DUP2 00002ecf: MUL 00002ed0: SWAP13 00002ed1: SWAP1 00002ed2: SWAP13 00002ed3: AND 00002ed4: PUSH16 0xffffffffffffffffffffffffffffffff 00002ee5: SWAP3 00002ee6: DUP9 00002ee7: AND 00002ee8: PUSH9 0x010000000000000000 00002ef2: MUL 00002ef3: PUSH32 0xffffffffffffffffffffffffffffffff00000000000000000000000000000000 00002f14: SWAP1 00002f15: SWAP6 00002f16: AND 00002f17: SWAP7 00002f18: SWAP1 00002f19: SWAP8 00002f1a: AND 00002f1b: SWAP6 00002f1c: SWAP1 00002f1d: SWAP6 00002f1e: OR 00002f1f: SWAP3 00002f20: SWAP1 00002f21: SWAP3 00002f22: OR 00002f23: DUP3 00002f24: AND 00002f25: SWAP5 00002f26: SWAP1 00002f27: SWAP5 00002f28: OR 00002f29: SWAP3 00002f2a: SWAP1 00002f2b: SWAP3 00002f2c: OR 00002f2d: SWAP1 00002f2e: SSTORE 00002f2f: DUP6 00002f30: MLOAD 00002f31: SWAP6 00002f32: SWAP1 00002f33: SWAP2 00002f34: ADD 00002f35: MLOAD 00002f36: DUP2 00002f37: AND 00002f38: SWAP1 00002f39: SWAP6 00002f3a: MUL 00002f3b: SWAP4 00002f3c: SWAP1 00002f3d: SWAP5 00002f3e: AND 00002f3f: SWAP3 00002f40: SWAP1 00002f41: SWAP3 00002f42: OR 00002f43: PUSH1 0x0b 00002f45: SSTORE 00002f46: POP 00002f47: PUSH2 0x0b4a 00002f4a: SWAP2 00002f4b: POP 00002f4c: PUSH2 0x249d 00002f4f: SWAP1 00002f50: POP 00002f51: JUMP 00002f52: JUMPDEST 00002f53: PUSH1 0x40 00002f55: MLOAD 00002f56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002f6b: DUP1 00002f6c: DUP6 00002f6d: AND 00002f6e: PUSH1 0x24 00002f70: DUP4 00002f71: ADD 00002f72: MSTORE 00002f73: DUP4 00002f74: AND 00002f75: PUSH1 0x44 00002f77: DUP3 00002f78: ADD 00002f79: MSTORE 00002f7a: PUSH1 0x64 00002f7c: DUP2 00002f7d: ADD 00002f7e: DUP3 00002f7f: SWAP1 00002f80: MSTORE 00002f81: PUSH2 0x19c9 00002f84: SWAP1 00002f85: DUP6 00002f86: SWAP1 00002f87: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 00002fa8: SWAP1 00002fa9: PUSH1 0x84 00002fab: ADD 00002fac: PUSH2 0x2a2d 00002faf: JUMP 00002fb0: JUMPDEST 00002fb1: PUSH2 0x133f 00002fb4: CALLER 00002fb5: PUSH2 0x35a8 00002fb8: JUMP 00002fb9: JUMPDEST 00002fba: PUSH1 0x07 00002fbc: SLOAD 00002fbd: PUSH1 0x40 00002fbf: MLOAD 00002fc0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002fd5: DUP1 00002fd6: DUP5 00002fd7: AND 00002fd8: SWAP3 00002fd9: AND 00002fda: SWAP1 00002fdb: PUSH32 0x31b6c5a04b069b6ec1b3cef44c4e7c1eadd721349cda9823d0b1877b3551cdc6 00002ffc: SWAP1 00002ffd: PUSH1 0x00 00002fff: SWAP1 00003000: LOG3 00003001: PUSH1 0x07 00003003: DUP1 00003004: SLOAD 00003005: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00003026: AND 00003027: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000303c: SWAP3 0000303d: SWAP1 0000303e: SWAP3 0000303f: AND 00003040: SWAP2 00003041: SWAP1 00003042: SWAP2 00003043: OR 00003044: SWAP1 00003045: SSTORE 00003046: JUMP 00003047: JUMPDEST 00003048: PUSH1 0x07 0000304a: SLOAD 0000304b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003060: AND 00003061: CALLER 00003062: EQ 00003063: DUP1 00003064: PUSH2 0x3084 00003067: JUMPI 00003068: POP 00003069: PUSH1 0x08 0000306b: SLOAD 0000306c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003081: AND 00003082: CALLER 00003083: EQ 00003084: JUMPDEST 00003085: PUSH2 0x133f 00003088: JUMPI 00003089: PUSH1 0x40 0000308b: MLOAD 0000308c: PUSH32 0x559bf54c00000000000000000000000000000000000000000000000000000000 000030ad: DUP2 000030ae: MSTORE 000030af: PUSH1 0x04 000030b1: ADD 000030b2: PUSH1 0x40 000030b4: MLOAD 000030b5: DUP1 000030b6: SWAP2 000030b7: SUB 000030b8: SWAP1 000030b9: REVERT 000030ba: JUMPDEST 000030bb: DUP2 000030bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000030d1: AND 000030d2: DUP4 000030d3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000030e8: AND 000030e9: SUB 000030ea: PUSH2 0x314f 000030ed: JUMPI 000030ee: PUSH1 0x40 000030f0: MLOAD 000030f1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003112: DUP2 00003113: MSTORE 00003114: PUSH1 0x20 00003116: PUSH1 0x04 00003118: DUP3 00003119: ADD 0000311a: MSTORE 0000311b: PUSH1 0x19 0000311d: PUSH1 0x24 0000311f: DUP3 00003120: ADD 00003121: MSTORE 00003122: PUSH32 0x4552433732313a20617070726f766520746f2063616c6c657200000000000000 00003143: PUSH1 0x44 00003145: DUP3 00003146: ADD 00003147: MSTORE 00003148: PUSH1 0x64 0000314a: ADD 0000314b: PUSH2 0x0cda 0000314e: JUMP 0000314f: JUMPDEST 00003150: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003165: DUP4 00003166: DUP2 00003167: AND 00003168: PUSH1 0x00 0000316a: DUP2 0000316b: DUP2 0000316c: MSTORE 0000316d: PUSH1 0x05 0000316f: PUSH1 0x20 00003171: SWAP1 00003172: DUP2 00003173: MSTORE 00003174: PUSH1 0x40 00003176: DUP1 00003177: DUP4 00003178: KECCAK256 00003179: SWAP5 0000317a: DUP8 0000317b: AND 0000317c: DUP1 0000317d: DUP5 0000317e: MSTORE 0000317f: SWAP5 00003180: DUP3 00003181: MSTORE 00003182: SWAP2 00003183: DUP3 00003184: SWAP1 00003185: KECCAK256 00003186: DUP1 00003187: SLOAD 00003188: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 000031a9: AND 000031aa: DUP7 000031ab: ISZERO 000031ac: ISZERO 000031ad: SWAP1 000031ae: DUP2 000031af: OR 000031b0: SWAP1 000031b1: SWAP2 000031b2: SSTORE 000031b3: SWAP2 000031b4: MLOAD 000031b5: SWAP2 000031b6: DUP3 000031b7: MSTORE 000031b8: PUSH32 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31 000031d9: SWAP2 000031da: ADD 000031db: PUSH1 0x40 000031dd: MLOAD 000031de: DUP1 000031df: SWAP2 000031e0: SUB 000031e1: SWAP1 000031e2: LOG3 000031e3: POP 000031e4: POP 000031e5: POP 000031e6: JUMP 000031e7: JUMPDEST 000031e8: PUSH1 0x08 000031ea: SLOAD 000031eb: PUSH1 0x40 000031ed: MLOAD 000031ee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003203: DUP1 00003204: DUP5 00003205: AND 00003206: SWAP3 00003207: AND 00003208: SWAP1 00003209: PUSH32 0x74da04524d50c64947f5dd5381ef1a4dca5cba8ed1d816243f9e48aa0b5617ed 0000322a: SWAP1 0000322b: PUSH1 0x00 0000322d: SWAP1 0000322e: LOG3 0000322f: PUSH1 0x08 00003231: DUP1 00003232: SLOAD 00003233: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00003254: AND 00003255: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000326a: SWAP3 0000326b: SWAP1 0000326c: SWAP3 0000326d: AND 0000326e: SWAP2 0000326f: SWAP1 00003270: SWAP2 00003271: OR 00003272: SWAP1 00003273: SSTORE 00003274: JUMP 00003275: JUMPDEST 00003276: PUSH2 0x3280 00003279: DUP5 0000327a: DUP5 0000327b: DUP5 0000327c: PUSH2 0x2563 0000327f: JUMP 00003280: JUMPDEST 00003281: PUSH2 0x328c 00003284: DUP5 00003285: DUP5 00003286: DUP5 00003287: DUP5 00003288: PUSH2 0x3620 0000328b: JUMP 0000328c: JUMPDEST 0000328d: PUSH2 0x19c9 00003290: JUMPI 00003291: PUSH1 0x40 00003293: MLOAD 00003294: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000032b5: DUP2 000032b6: MSTORE 000032b7: PUSH1 0x20 000032b9: PUSH1 0x04 000032bb: DUP3 000032bc: ADD 000032bd: MSTORE 000032be: PUSH1 0x32 000032c0: PUSH1 0x24 000032c2: DUP3 000032c3: ADD 000032c4: MSTORE 000032c5: PUSH32 0x4552433732313a207472616e7366657220746f206e6f6e204552433732315265 000032e6: PUSH1 0x44 000032e8: DUP3 000032e9: ADD 000032ea: MSTORE 000032eb: PUSH32 0x63656976657220696d706c656d656e7465720000000000000000000000000000 0000330c: PUSH1 0x64 0000330e: DUP3 0000330f: ADD 00003310: MSTORE 00003311: PUSH1 0x84 00003313: ADD 00003314: PUSH2 0x0cda 00003317: JUMP 00003318: JUMPDEST 00003319: PUSH1 0x60 0000331b: PUSH1 0x00 0000331d: PUSH2 0x3325 00003320: DUP4 00003321: PUSH2 0x3813 00003324: JUMP 00003325: JUMPDEST 00003326: PUSH1 0x01 00003328: ADD 00003329: SWAP1 0000332a: POP 0000332b: PUSH1 0x00 0000332d: DUP2 0000332e: PUSH8 0xffffffffffffffff 00003337: DUP2 00003338: GT 00003339: ISZERO 0000333a: PUSH2 0x3345 0000333d: JUMPI 0000333e: PUSH2 0x3345 00003341: PUSH2 0x40d4 00003344: JUMP 00003345: JUMPDEST 00003346: PUSH1 0x40 00003348: MLOAD 00003349: SWAP1 0000334a: DUP1 0000334b: DUP3 0000334c: MSTORE 0000334d: DUP1 0000334e: PUSH1 0x1f 00003350: ADD 00003351: PUSH1 0x1f 00003353: NOT 00003354: AND 00003355: PUSH1 0x20 00003357: ADD 00003358: DUP3 00003359: ADD 0000335a: PUSH1 0x40 0000335c: MSTORE 0000335d: DUP1 0000335e: ISZERO 0000335f: PUSH2 0x336f 00003362: JUMPI 00003363: PUSH1 0x20 00003365: DUP3 00003366: ADD 00003367: DUP2 00003368: DUP1 00003369: CALLDATASIZE 0000336a: DUP4 0000336b: CALLDATACOPY 0000336c: ADD 0000336d: SWAP1 0000336e: POP 0000336f: JUMPDEST 00003370: POP 00003371: SWAP1 00003372: POP 00003373: DUP2 00003374: DUP2 00003375: ADD 00003376: PUSH1 0x20 00003378: ADD 00003379: JUMPDEST 0000337a: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000339b: ADD 0000339c: PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 000033bd: PUSH1 0x0a 000033bf: DUP7 000033c0: MOD 000033c1: BYTE 000033c2: DUP2 000033c3: MSTORE8 000033c4: PUSH1 0x0a 000033c6: DUP6 000033c7: DIV 000033c8: SWAP5 000033c9: POP 000033ca: DUP5 000033cb: PUSH2 0x3379 000033ce: JUMPI 000033cf: POP 000033d0: SWAP4 000033d1: SWAP3 000033d2: POP 000033d3: POP 000033d4: POP 000033d5: JUMP 000033d6: JUMPDEST 000033d7: PUSH1 0x06 000033d9: DUP1 000033da: SLOAD 000033db: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000033fc: AND 000033fd: SWAP1 000033fe: SSTORE 000033ff: PUSH2 0x133f 00003402: CALLER 00003403: PUSH2 0x2fb9 00003406: JUMP 00003407: JUMPDEST 00003408: PUSH1 0x00 0000340a: PUSH2 0x3469 0000340d: DUP3 0000340e: PUSH1 0x40 00003410: MLOAD 00003411: DUP1 00003412: PUSH1 0x40 00003414: ADD 00003415: PUSH1 0x40 00003417: MSTORE 00003418: DUP1 00003419: PUSH1 0x20 0000341b: DUP2 0000341c: MSTORE 0000341d: PUSH1 0x20 0000341f: ADD 00003420: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 00003441: DUP2 00003442: MSTORE 00003443: POP 00003444: DUP6 00003445: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000345a: AND 0000345b: PUSH2 0x38f5 0000345e: SWAP1 0000345f: SWAP3 00003460: SWAP2 00003461: SWAP1 00003462: PUSH4 0xffffffff 00003467: AND 00003468: JUMP 00003469: JUMPDEST 0000346a: SWAP1 0000346b: POP 0000346c: DUP1 0000346d: MLOAD 0000346e: PUSH1 0x00 00003470: EQ 00003471: DUP1 00003472: PUSH2 0x348a 00003475: JUMPI 00003476: POP 00003477: DUP1 00003478: DUP1 00003479: PUSH1 0x20 0000347b: ADD 0000347c: SWAP1 0000347d: MLOAD 0000347e: DUP2 0000347f: ADD 00003480: SWAP1 00003481: PUSH2 0x348a 00003484: SWAP2 00003485: SWAP1 00003486: PUSH2 0x4414 00003489: JUMP 0000348a: JUMPDEST 0000348b: PUSH2 0x0da2 0000348e: JUMPI 0000348f: PUSH1 0x40 00003491: MLOAD 00003492: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000034b3: DUP2 000034b4: MSTORE 000034b5: PUSH1 0x20 000034b7: PUSH1 0x04 000034b9: DUP3 000034ba: ADD 000034bb: MSTORE 000034bc: PUSH1 0x2a 000034be: PUSH1 0x24 000034c0: DUP3 000034c1: ADD 000034c2: MSTORE 000034c3: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 000034e4: PUSH1 0x44 000034e6: DUP3 000034e7: ADD 000034e8: MSTORE 000034e9: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000 0000350a: PUSH1 0x64 0000350c: DUP3 0000350d: ADD 0000350e: MSTORE 0000350f: PUSH1 0x84 00003511: ADD 00003512: PUSH2 0x0cda 00003515: JUMP 00003516: JUMPDEST 00003517: PUSH1 0x07 00003519: SLOAD 0000351a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000352f: DUP3 00003530: DUP2 00003531: AND 00003532: SWAP2 00003533: AND 00003534: EQ 00003535: PUSH2 0x12b7 00003538: JUMPI 00003539: PUSH1 0x07 0000353b: SLOAD 0000353c: PUSH1 0x40 0000353e: MLOAD 0000353f: PUSH32 0x443dc2b400000000000000000000000000000000000000000000000000000000 00003560: DUP2 00003561: MSTORE 00003562: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003577: SWAP2 00003578: DUP3 00003579: AND 0000357a: PUSH1 0x04 0000357c: DUP3 0000357d: ADD 0000357e: MSTORE 0000357f: SWAP1 00003580: DUP3 00003581: AND 00003582: PUSH1 0x24 00003584: DUP3 00003585: ADD 00003586: MSTORE 00003587: PUSH1 0x44 00003589: ADD 0000358a: PUSH2 0x0cda 0000358d: JUMP 0000358e: JUMPDEST 0000358f: PUSH2 0x0ede 00003592: DUP3 00003593: DUP3 00003594: PUSH1 0x40 00003596: MLOAD 00003597: DUP1 00003598: PUSH1 0x20 0000359a: ADD 0000359b: PUSH1 0x40 0000359d: MSTORE 0000359e: DUP1 0000359f: PUSH1 0x00 000035a1: DUP2 000035a2: MSTORE 000035a3: POP 000035a4: PUSH2 0x3904 000035a7: JUMP 000035a8: JUMPDEST 000035a9: PUSH1 0x06 000035ab: SLOAD 000035ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000035c1: DUP3 000035c2: DUP2 000035c3: AND 000035c4: SWAP2 000035c5: AND 000035c6: EQ 000035c7: PUSH2 0x12b7 000035ca: JUMPI 000035cb: PUSH1 0x06 000035cd: SLOAD 000035ce: PUSH1 0x40 000035d0: MLOAD 000035d1: PUSH32 0xbe5a953700000000000000000000000000000000000000000000000000000000 000035f2: DUP2 000035f3: MSTORE 000035f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003609: SWAP2 0000360a: DUP3 0000360b: AND 0000360c: PUSH1 0x04 0000360e: DUP3 0000360f: ADD 00003610: MSTORE 00003611: SWAP1 00003612: DUP3 00003613: AND 00003614: PUSH1 0x24 00003616: DUP3 00003617: ADD 00003618: MSTORE 00003619: PUSH1 0x44 0000361b: ADD 0000361c: PUSH2 0x0cda 0000361f: JUMP 00003620: JUMPDEST 00003621: PUSH1 0x00 00003623: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003638: DUP5 00003639: AND 0000363a: EXTCODESIZE 0000363b: ISZERO 0000363c: PUSH2 0x3808 0000363f: JUMPI 00003640: PUSH1 0x40 00003642: MLOAD 00003643: PUSH32 0x150b7a0200000000000000000000000000000000000000000000000000000000 00003664: DUP2 00003665: MSTORE 00003666: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000367b: DUP6 0000367c: AND 0000367d: SWAP1 0000367e: PUSH4 0x150b7a02 00003683: SWAP1 00003684: PUSH2 0x3697 00003687: SWAP1 00003688: CALLER 00003689: SWAP1 0000368a: DUP10 0000368b: SWAP1 0000368c: DUP9 0000368d: SWAP1 0000368e: DUP9 0000368f: SWAP1 00003690: PUSH1 0x04 00003692: ADD 00003693: PUSH2 0x4431 00003696: JUMP 00003697: JUMPDEST 00003698: PUSH1 0x20 0000369a: PUSH1 0x40 0000369c: MLOAD 0000369d: DUP1 0000369e: DUP4 0000369f: SUB 000036a0: DUP2 000036a1: PUSH1 0x00 000036a3: DUP8 000036a4: GAS 000036a5: CALL 000036a6: SWAP3 000036a7: POP 000036a8: POP 000036a9: POP 000036aa: DUP1 000036ab: ISZERO 000036ac: PUSH2 0x36f0 000036af: JUMPI 000036b0: POP 000036b1: PUSH1 0x40 000036b3: DUP1 000036b4: MLOAD 000036b5: PUSH1 0x1f 000036b7: RETURNDATASIZE 000036b8: SWAP1 000036b9: DUP2 000036ba: ADD 000036bb: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000036dc: AND 000036dd: DUP3 000036de: ADD 000036df: SWAP1 000036e0: SWAP3 000036e1: MSTORE 000036e2: PUSH2 0x36ed 000036e5: SWAP2 000036e6: DUP2 000036e7: ADD 000036e8: SWAP1 000036e9: PUSH2 0x447a 000036ec: JUMP 000036ed: JUMPDEST 000036ee: PUSH1 0x01 000036f0: JUMPDEST 000036f1: PUSH2 0x37bd 000036f4: JUMPI 000036f5: RETURNDATASIZE 000036f6: DUP1 000036f7: DUP1 000036f8: ISZERO 000036f9: PUSH2 0x371e 000036fc: JUMPI 000036fd: PUSH1 0x40 000036ff: MLOAD 00003700: SWAP2 00003701: POP 00003702: PUSH1 0x1f 00003704: NOT 00003705: PUSH1 0x3f 00003707: RETURNDATASIZE 00003708: ADD 00003709: AND 0000370a: DUP3 0000370b: ADD 0000370c: PUSH1 0x40 0000370e: MSTORE 0000370f: RETURNDATASIZE 00003710: DUP3 00003711: MSTORE 00003712: RETURNDATASIZE 00003713: PUSH1 0x00 00003715: PUSH1 0x20 00003717: DUP5 00003718: ADD 00003719: RETURNDATACOPY 0000371a: PUSH2 0x3723 0000371d: JUMP 0000371e: JUMPDEST 0000371f: PUSH1 0x60 00003721: SWAP2 00003722: POP 00003723: JUMPDEST 00003724: POP 00003725: DUP1 00003726: MLOAD 00003727: PUSH1 0x00 00003729: SUB 0000372a: PUSH2 0x37b5 0000372d: JUMPI 0000372e: PUSH1 0x40 00003730: MLOAD 00003731: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003752: DUP2 00003753: MSTORE 00003754: PUSH1 0x20 00003756: PUSH1 0x04 00003758: DUP3 00003759: ADD 0000375a: MSTORE 0000375b: PUSH1 0x32 0000375d: PUSH1 0x24 0000375f: DUP3 00003760: ADD 00003761: MSTORE 00003762: PUSH32 0x4552433732313a207472616e7366657220746f206e6f6e204552433732315265 00003783: PUSH1 0x44 00003785: DUP3 00003786: ADD 00003787: MSTORE 00003788: PUSH32 0x63656976657220696d706c656d656e7465720000000000000000000000000000 000037a9: PUSH1 0x64 000037ab: DUP3 000037ac: ADD 000037ad: MSTORE 000037ae: PUSH1 0x84 000037b0: ADD 000037b1: PUSH2 0x0cda 000037b4: JUMP 000037b5: JUMPDEST 000037b6: DUP1 000037b7: MLOAD 000037b8: DUP2 000037b9: PUSH1 0x20 000037bb: ADD 000037bc: REVERT 000037bd: JUMPDEST 000037be: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 000037df: AND 000037e0: PUSH32 0x150b7a0200000000000000000000000000000000000000000000000000000000 00003801: EQ 00003802: SWAP1 00003803: POP 00003804: PUSH2 0x1f9c 00003807: JUMP 00003808: JUMPDEST 00003809: POP 0000380a: PUSH1 0x01 0000380c: SWAP5 0000380d: SWAP4 0000380e: POP 0000380f: POP 00003810: POP 00003811: POP 00003812: JUMP 00003813: JUMPDEST 00003814: PUSH1 0x00 00003816: DUP1 00003817: PUSH27 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000 00003833: DUP4 00003834: LT 00003835: PUSH2 0x385c 00003838: JUMPI 00003839: PUSH27 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000 00003855: DUP4 00003856: DIV 00003857: SWAP3 00003858: POP 00003859: PUSH1 0x40 0000385b: ADD 0000385c: JUMPDEST 0000385d: PUSH14 0x04ee2d6d415b85acef8100000000 0000386c: DUP4 0000386d: LT 0000386e: PUSH2 0x3888 00003871: JUMPI 00003872: PUSH14 0x04ee2d6d415b85acef8100000000 00003881: DUP4 00003882: DIV 00003883: SWAP3 00003884: POP 00003885: PUSH1 0x20 00003887: ADD 00003888: JUMPDEST 00003889: PUSH7 0x2386f26fc10000 00003891: DUP4 00003892: LT 00003893: PUSH2 0x38a6 00003896: JUMPI 00003897: PUSH7 0x2386f26fc10000 0000389f: DUP4 000038a0: DIV 000038a1: SWAP3 000038a2: POP 000038a3: PUSH1 0x10 000038a5: ADD 000038a6: JUMPDEST 000038a7: PUSH4 0x05f5e100 000038ac: DUP4 000038ad: LT 000038ae: PUSH2 0x38be 000038b1: JUMPI 000038b2: PUSH4 0x05f5e100 000038b7: DUP4 000038b8: DIV 000038b9: SWAP3 000038ba: POP 000038bb: PUSH1 0x08 000038bd: ADD 000038be: JUMPDEST 000038bf: PUSH2 0x2710 000038c2: DUP4 000038c3: LT 000038c4: PUSH2 0x38d2 000038c7: JUMPI 000038c8: PUSH2 0x2710 000038cb: DUP4 000038cc: DIV 000038cd: SWAP3 000038ce: POP 000038cf: PUSH1 0x04 000038d1: ADD 000038d2: JUMPDEST 000038d3: PUSH1 0x64 000038d5: DUP4 000038d6: LT 000038d7: PUSH2 0x38e4 000038da: JUMPI 000038db: PUSH1 0x64 000038dd: DUP4 000038de: DIV 000038df: SWAP3 000038e0: POP 000038e1: PUSH1 0x02 000038e3: ADD 000038e4: JUMPDEST 000038e5: PUSH1 0x0a 000038e7: DUP4 000038e8: LT 000038e9: PUSH2 0x0b4a 000038ec: JUMPI 000038ed: PUSH1 0x01 000038ef: ADD 000038f0: SWAP3 000038f1: SWAP2 000038f2: POP 000038f3: POP 000038f4: JUMP 000038f5: JUMPDEST 000038f6: PUSH1 0x60 000038f8: PUSH2 0x1f9c 000038fb: DUP5 000038fc: DUP5 000038fd: PUSH1 0x00 000038ff: DUP6 00003900: PUSH2 0x39a7 00003903: JUMP 00003904: JUMPDEST 00003905: PUSH2 0x390e 00003908: DUP4 00003909: DUP4 0000390a: PUSH2 0x3ab5 0000390d: JUMP 0000390e: JUMPDEST 0000390f: PUSH2 0x391b 00003912: PUSH1 0x00 00003914: DUP5 00003915: DUP5 00003916: DUP5 00003917: PUSH2 0x3620 0000391a: JUMP 0000391b: JUMPDEST 0000391c: PUSH2 0x0da2 0000391f: JUMPI 00003920: PUSH1 0x40 00003922: MLOAD 00003923: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003944: DUP2 00003945: MSTORE 00003946: PUSH1 0x20 00003948: PUSH1 0x04 0000394a: DUP3 0000394b: ADD 0000394c: MSTORE 0000394d: PUSH1 0x32 0000394f: PUSH1 0x24 00003951: DUP3 00003952: ADD 00003953: MSTORE 00003954: PUSH32 0x4552433732313a207472616e7366657220746f206e6f6e204552433732315265 00003975: PUSH1 0x44 00003977: DUP3 00003978: ADD 00003979: MSTORE 0000397a: PUSH32 0x63656976657220696d706c656d656e7465720000000000000000000000000000 0000399b: PUSH1 0x64 0000399d: DUP3 0000399e: ADD 0000399f: MSTORE 000039a0: PUSH1 0x84 000039a2: ADD 000039a3: PUSH2 0x0cda 000039a6: JUMP 000039a7: JUMPDEST 000039a8: PUSH1 0x60 000039aa: DUP3 000039ab: SELFBALANCE 000039ac: LT 000039ad: ISZERO 000039ae: PUSH2 0x3a39 000039b1: JUMPI 000039b2: PUSH1 0x40 000039b4: MLOAD 000039b5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000039d6: DUP2 000039d7: MSTORE 000039d8: PUSH1 0x20 000039da: PUSH1 0x04 000039dc: DUP3 000039dd: ADD 000039de: MSTORE 000039df: PUSH1 0x26 000039e1: PUSH1 0x24 000039e3: DUP3 000039e4: ADD 000039e5: MSTORE 000039e6: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 00003a07: PUSH1 0x44 00003a09: DUP3 00003a0a: ADD 00003a0b: MSTORE 00003a0c: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000 00003a2d: PUSH1 0x64 00003a2f: DUP3 00003a30: ADD 00003a31: MSTORE 00003a32: PUSH1 0x84 00003a34: ADD 00003a35: PUSH2 0x0cda 00003a38: JUMP 00003a39: JUMPDEST 00003a3a: PUSH1 0x00 00003a3c: DUP1 00003a3d: DUP7 00003a3e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003a53: AND 00003a54: DUP6 00003a55: DUP8 00003a56: PUSH1 0x40 00003a58: MLOAD 00003a59: PUSH2 0x3a62 00003a5c: SWAP2 00003a5d: SWAP1 00003a5e: PUSH2 0x4497 00003a61: JUMP 00003a62: JUMPDEST 00003a63: PUSH1 0x00 00003a65: PUSH1 0x40 00003a67: MLOAD 00003a68: DUP1 00003a69: DUP4 00003a6a: SUB 00003a6b: DUP2 00003a6c: DUP6 00003a6d: DUP8 00003a6e: GAS 00003a6f: CALL 00003a70: SWAP3 00003a71: POP 00003a72: POP 00003a73: POP 00003a74: RETURNDATASIZE 00003a75: DUP1 00003a76: PUSH1 0x00 00003a78: DUP2 00003a79: EQ 00003a7a: PUSH2 0x3a9f 00003a7d: JUMPI 00003a7e: PUSH1 0x40 00003a80: MLOAD 00003a81: SWAP2 00003a82: POP 00003a83: PUSH1 0x1f 00003a85: NOT 00003a86: PUSH1 0x3f 00003a88: RETURNDATASIZE 00003a89: ADD 00003a8a: AND 00003a8b: DUP3 00003a8c: ADD 00003a8d: PUSH1 0x40 00003a8f: MSTORE 00003a90: RETURNDATASIZE 00003a91: DUP3 00003a92: MSTORE 00003a93: RETURNDATASIZE 00003a94: PUSH1 0x00 00003a96: PUSH1 0x20 00003a98: DUP5 00003a99: ADD 00003a9a: RETURNDATACOPY 00003a9b: PUSH2 0x3aa4 00003a9e: JUMP 00003a9f: JUMPDEST 00003aa0: PUSH1 0x60 00003aa2: SWAP2 00003aa3: POP 00003aa4: JUMPDEST 00003aa5: POP 00003aa6: SWAP2 00003aa7: POP 00003aa8: SWAP2 00003aa9: POP 00003aaa: PUSH2 0x17e2 00003aad: DUP8 00003aae: DUP4 00003aaf: DUP4 00003ab0: DUP8 00003ab1: PUSH2 0x3cda 00003ab4: JUMP 00003ab5: JUMPDEST 00003ab6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003acb: DUP3 00003acc: AND 00003acd: PUSH2 0x3b32 00003ad0: JUMPI 00003ad1: PUSH1 0x40 00003ad3: MLOAD 00003ad4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003af5: DUP2 00003af6: MSTORE 00003af7: PUSH1 0x20 00003af9: PUSH1 0x04 00003afb: DUP3 00003afc: ADD 00003afd: DUP2 00003afe: SWAP1 00003aff: MSTORE 00003b00: PUSH1 0x24 00003b02: DUP3 00003b03: ADD 00003b04: MSTORE 00003b05: PUSH32 0x4552433732313a206d696e7420746f20746865207a65726f2061646472657373 00003b26: PUSH1 0x44 00003b28: DUP3 00003b29: ADD 00003b2a: MSTORE 00003b2b: PUSH1 0x64 00003b2d: ADD 00003b2e: PUSH2 0x0cda 00003b31: JUMP 00003b32: JUMPDEST 00003b33: PUSH1 0x00 00003b35: DUP2 00003b36: DUP2 00003b37: MSTORE 00003b38: PUSH1 0x02 00003b3a: PUSH1 0x20 00003b3c: MSTORE 00003b3d: PUSH1 0x40 00003b3f: SWAP1 00003b40: KECCAK256 00003b41: SLOAD 00003b42: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003b57: AND 00003b58: ISZERO 00003b59: PUSH2 0x3bbe 00003b5c: JUMPI 00003b5d: PUSH1 0x40 00003b5f: MLOAD 00003b60: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003b81: DUP2 00003b82: MSTORE 00003b83: PUSH1 0x20 00003b85: PUSH1 0x04 00003b87: DUP3 00003b88: ADD 00003b89: MSTORE 00003b8a: PUSH1 0x1c 00003b8c: PUSH1 0x24 00003b8e: DUP3 00003b8f: ADD 00003b90: MSTORE 00003b91: PUSH32 0x4552433732313a20746f6b656e20616c7265616479206d696e74656400000000 00003bb2: PUSH1 0x44 00003bb4: DUP3 00003bb5: ADD 00003bb6: MSTORE 00003bb7: PUSH1 0x64 00003bb9: ADD 00003bba: PUSH2 0x0cda 00003bbd: JUMP 00003bbe: JUMPDEST 00003bbf: PUSH1 0x00 00003bc1: DUP2 00003bc2: DUP2 00003bc3: MSTORE 00003bc4: PUSH1 0x02 00003bc6: PUSH1 0x20 00003bc8: MSTORE 00003bc9: PUSH1 0x40 00003bcb: SWAP1 00003bcc: KECCAK256 00003bcd: SLOAD 00003bce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003be3: AND 00003be4: ISZERO 00003be5: PUSH2 0x3c4a 00003be8: JUMPI 00003be9: PUSH1 0x40 00003beb: MLOAD 00003bec: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003c0d: DUP2 00003c0e: MSTORE 00003c0f: PUSH1 0x20 00003c11: PUSH1 0x04 00003c13: DUP3 00003c14: ADD 00003c15: MSTORE 00003c16: PUSH1 0x1c 00003c18: PUSH1 0x24 00003c1a: DUP3 00003c1b: ADD 00003c1c: MSTORE 00003c1d: PUSH32 0x4552433732313a20746f6b656e20616c7265616479206d696e74656400000000 00003c3e: PUSH1 0x44 00003c40: DUP3 00003c41: ADD 00003c42: MSTORE 00003c43: PUSH1 0x64 00003c45: ADD 00003c46: PUSH2 0x0cda 00003c49: JUMP 00003c4a: JUMPDEST 00003c4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003c60: DUP3 00003c61: AND 00003c62: PUSH1 0x00 00003c64: DUP2 00003c65: DUP2 00003c66: MSTORE 00003c67: PUSH1 0x03 00003c69: PUSH1 0x20 00003c6b: SWAP1 00003c6c: DUP2 00003c6d: MSTORE 00003c6e: PUSH1 0x40 00003c70: DUP1 00003c71: DUP4 00003c72: KECCAK256 00003c73: DUP1 00003c74: SLOAD 00003c75: PUSH1 0x01 00003c77: ADD 00003c78: SWAP1 00003c79: SSTORE 00003c7a: DUP5 00003c7b: DUP4 00003c7c: MSTORE 00003c7d: PUSH1 0x02 00003c7f: SWAP1 00003c80: SWAP2 00003c81: MSTORE 00003c82: DUP1 00003c83: DUP3 00003c84: KECCAK256 00003c85: DUP1 00003c86: SLOAD 00003c87: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00003ca8: AND 00003ca9: DUP5 00003caa: OR 00003cab: SWAP1 00003cac: SSTORE 00003cad: MLOAD 00003cae: DUP4 00003caf: SWAP3 00003cb0: SWAP2 00003cb1: SWAP1 00003cb2: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00003cd3: SWAP1 00003cd4: DUP3 00003cd5: SWAP1 00003cd6: LOG4 00003cd7: POP 00003cd8: POP 00003cd9: JUMP 00003cda: JUMPDEST 00003cdb: PUSH1 0x60 00003cdd: DUP4 00003cde: ISZERO 00003cdf: PUSH2 0x3d70 00003ce2: JUMPI 00003ce3: DUP3 00003ce4: MLOAD 00003ce5: PUSH1 0x00 00003ce7: SUB 00003ce8: PUSH2 0x3d69 00003ceb: JUMPI 00003cec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003d01: DUP6 00003d02: AND 00003d03: EXTCODESIZE 00003d04: PUSH2 0x3d69 00003d07: JUMPI 00003d08: PUSH1 0x40 00003d0a: MLOAD 00003d0b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003d2c: DUP2 00003d2d: MSTORE 00003d2e: PUSH1 0x20 00003d30: PUSH1 0x04 00003d32: DUP3 00003d33: ADD 00003d34: MSTORE 00003d35: PUSH1 0x1d 00003d37: PUSH1 0x24 00003d39: DUP3 00003d3a: ADD 00003d3b: MSTORE 00003d3c: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00003d5d: PUSH1 0x44 00003d5f: DUP3 00003d60: ADD 00003d61: MSTORE 00003d62: PUSH1 0x64 00003d64: ADD 00003d65: PUSH2 0x0cda 00003d68: JUMP 00003d69: JUMPDEST 00003d6a: POP 00003d6b: DUP2 00003d6c: PUSH2 0x1f9c 00003d6f: JUMP 00003d70: JUMPDEST 00003d71: PUSH2 0x1f9c 00003d74: DUP4 00003d75: DUP4 00003d76: DUP2 00003d77: MLOAD 00003d78: ISZERO 00003d79: PUSH2 0x3d85 00003d7c: JUMPI 00003d7d: DUP2 00003d7e: MLOAD 00003d7f: DUP1 00003d80: DUP4 00003d81: PUSH1 0x20 00003d83: ADD 00003d84: REVERT 00003d85: JUMPDEST 00003d86: DUP1 00003d87: PUSH1 0x40 00003d89: MLOAD 00003d8a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003dab: DUP2 00003dac: MSTORE 00003dad: PUSH1 0x04 00003daf: ADD 00003db0: PUSH2 0x0cda 00003db3: SWAP2 00003db4: SWAP1 00003db5: PUSH2 0x3e72 00003db8: JUMP 00003db9: JUMPDEST 00003dba: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00003ddb: DUP2 00003ddc: AND 00003ddd: DUP2 00003dde: EQ 00003ddf: PUSH2 0x12b7 00003de2: JUMPI 00003de3: PUSH1 0x00 00003de5: DUP1 00003de6: REVERT 00003de7: JUMPDEST 00003de8: PUSH1 0x00 00003dea: PUSH1 0x20 00003dec: DUP3 00003ded: DUP5 00003dee: SUB 00003def: SLT 00003df0: ISZERO 00003df1: PUSH2 0x3df9 00003df4: JUMPI 00003df5: PUSH1 0x00 00003df7: DUP1 00003df8: REVERT 00003df9: JUMPDEST 00003dfa: DUP2 00003dfb: CALLDATALOAD 00003dfc: PUSH2 0x1c69 00003dff: DUP2 00003e00: PUSH2 0x3db9 00003e03: JUMP 00003e04: JUMPDEST 00003e05: PUSH1 0x00 00003e07: JUMPDEST 00003e08: DUP4 00003e09: DUP2 00003e0a: LT 00003e0b: ISZERO 00003e0c: PUSH2 0x3e1f 00003e0f: JUMPI 00003e10: DUP2 00003e11: DUP2 00003e12: ADD 00003e13: MLOAD 00003e14: DUP4 00003e15: DUP3 00003e16: ADD 00003e17: MSTORE 00003e18: PUSH1 0x20 00003e1a: ADD 00003e1b: PUSH2 0x3e07 00003e1e: JUMP 00003e1f: JUMPDEST 00003e20: POP 00003e21: POP 00003e22: PUSH1 0x00 00003e24: SWAP2 00003e25: ADD 00003e26: MSTORE 00003e27: JUMP 00003e28: JUMPDEST 00003e29: PUSH1 0x00 00003e2b: DUP2 00003e2c: MLOAD 00003e2d: DUP1 00003e2e: DUP5 00003e2f: MSTORE 00003e30: PUSH2 0x3e40 00003e33: DUP2 00003e34: PUSH1 0x20 00003e36: DUP7 00003e37: ADD 00003e38: PUSH1 0x20 00003e3a: DUP7 00003e3b: ADD 00003e3c: PUSH2 0x3e04 00003e3f: JUMP 00003e40: JUMPDEST 00003e41: PUSH1 0x1f 00003e43: ADD 00003e44: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00003e65: AND 00003e66: SWAP3 00003e67: SWAP1 00003e68: SWAP3 00003e69: ADD 00003e6a: PUSH1 0x20 00003e6c: ADD 00003e6d: SWAP3 00003e6e: SWAP2 00003e6f: POP 00003e70: POP 00003e71: JUMP 00003e72: JUMPDEST 00003e73: PUSH1 0x20 00003e75: DUP2 00003e76: MSTORE 00003e77: PUSH1 0x00 00003e79: PUSH2 0x1c69 00003e7c: PUSH1 0x20 00003e7e: DUP4 00003e7f: ADD 00003e80: DUP5 00003e81: PUSH2 0x3e28 00003e84: JUMP 00003e85: JUMPDEST 00003e86: PUSH1 0x00 00003e88: PUSH1 0x20 00003e8a: DUP3 00003e8b: DUP5 00003e8c: SUB 00003e8d: SLT 00003e8e: ISZERO 00003e8f: PUSH2 0x3e97 00003e92: JUMPI 00003e93: PUSH1 0x00 00003e95: DUP1 00003e96: REVERT 00003e97: JUMPDEST 00003e98: POP 00003e99: CALLDATALOAD 00003e9a: SWAP2 00003e9b: SWAP1 00003e9c: POP 00003e9d: JUMP 00003e9e: JUMPDEST 00003e9f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003eb4: DUP2 00003eb5: AND 00003eb6: DUP2 00003eb7: EQ 00003eb8: PUSH2 0x12b7 00003ebb: JUMPI 00003ebc: PUSH1 0x00 00003ebe: DUP1 00003ebf: REVERT 00003ec0: JUMPDEST 00003ec1: PUSH1 0x00 00003ec3: DUP1 00003ec4: PUSH1 0x40 00003ec6: DUP4 00003ec7: DUP6 00003ec8: SUB 00003ec9: SLT 00003eca: ISZERO 00003ecb: PUSH2 0x3ed3 00003ece: JUMPI 00003ecf: PUSH1 0x00 00003ed1: DUP1 00003ed2: REVERT 00003ed3: JUMPDEST 00003ed4: DUP3 00003ed5: CALLDATALOAD 00003ed6: PUSH2 0x3ede 00003ed9: DUP2 00003eda: PUSH2 0x3e9e 00003edd: JUMP 00003ede: JUMPDEST 00003edf: SWAP5 00003ee0: PUSH1 0x20 00003ee2: SWAP4 00003ee3: SWAP1 00003ee4: SWAP4 00003ee5: ADD 00003ee6: CALLDATALOAD 00003ee7: SWAP4 00003ee8: POP 00003ee9: POP 00003eea: POP 00003eeb: JUMP 00003eec: JUMPDEST 00003eed: PUSH1 0x00 00003eef: DUP1 00003ef0: PUSH1 0x40 00003ef2: DUP4 00003ef3: DUP6 00003ef4: SUB 00003ef5: SLT 00003ef6: ISZERO 00003ef7: PUSH2 0x3eff 00003efa: JUMPI 00003efb: PUSH1 0x00 00003efd: DUP1 00003efe: REVERT 00003eff: JUMPDEST 00003f00: DUP3 00003f01: CALLDATALOAD 00003f02: SWAP2 00003f03: POP 00003f04: PUSH1 0x20 00003f06: DUP4 00003f07: ADD 00003f08: CALLDATALOAD 00003f09: PUSH2 0x3f11 00003f0c: DUP2 00003f0d: PUSH2 0x3e9e 00003f10: JUMP 00003f11: JUMPDEST 00003f12: DUP1 00003f13: SWAP2 00003f14: POP 00003f15: POP 00003f16: SWAP3 00003f17: POP 00003f18: SWAP3 00003f19: SWAP1 00003f1a: POP 00003f1b: JUMP 00003f1c: JUMPDEST 00003f1d: PUSH1 0x00 00003f1f: DUP1 00003f20: PUSH1 0x00 00003f22: PUSH1 0x60 00003f24: DUP5 00003f25: DUP7 00003f26: SUB 00003f27: SLT 00003f28: ISZERO 00003f29: PUSH2 0x3f31 00003f2c: JUMPI 00003f2d: PUSH1 0x00 00003f2f: DUP1 00003f30: REVERT 00003f31: JUMPDEST 00003f32: DUP4 00003f33: CALLDATALOAD 00003f34: PUSH2 0x3f3c 00003f37: DUP2 00003f38: PUSH2 0x3e9e 00003f3b: JUMP 00003f3c: JUMPDEST 00003f3d: SWAP3 00003f3e: POP 00003f3f: PUSH1 0x20 00003f41: DUP5 00003f42: ADD 00003f43: CALLDATALOAD 00003f44: PUSH2 0x3f4c 00003f47: DUP2 00003f48: PUSH2 0x3e9e 00003f4b: JUMP 00003f4c: JUMPDEST 00003f4d: SWAP3 00003f4e: SWAP6 00003f4f: SWAP3 00003f50: SWAP5 00003f51: POP 00003f52: POP 00003f53: POP 00003f54: PUSH1 0x40 00003f56: SWAP2 00003f57: SWAP1 00003f58: SWAP2 00003f59: ADD 00003f5a: CALLDATALOAD 00003f5b: SWAP1 00003f5c: JUMP 00003f5d: JUMPDEST 00003f5e: PUSH1 0x00 00003f60: PUSH1 0x20 00003f62: DUP3 00003f63: DUP5 00003f64: SUB 00003f65: SLT 00003f66: ISZERO 00003f67: PUSH2 0x3f6f 00003f6a: JUMPI 00003f6b: PUSH1 0x00 00003f6d: DUP1 00003f6e: REVERT 00003f6f: JUMPDEST 00003f70: DUP2 00003f71: CALLDATALOAD 00003f72: PUSH2 0x1c69 00003f75: DUP2 00003f76: PUSH2 0x3e9e 00003f79: JUMP 00003f7a: JUMPDEST 00003f7b: DUP1 00003f7c: CALLDATALOAD 00003f7d: PUSH15 0xffffffffffffffffffffffffffffff 00003f8d: DUP2 00003f8e: AND 00003f8f: DUP2 00003f90: EQ 00003f91: PUSH2 0x3f99 00003f94: JUMPI 00003f95: PUSH1 0x00 00003f97: DUP1 00003f98: REVERT 00003f99: JUMPDEST 00003f9a: SWAP2 00003f9b: SWAP1 00003f9c: POP 00003f9d: JUMP 00003f9e: JUMPDEST 00003f9f: PUSH1 0x00 00003fa1: DUP1 00003fa2: PUSH1 0x40 00003fa4: DUP4 00003fa5: DUP6 00003fa6: SUB 00003fa7: SLT 00003fa8: ISZERO 00003fa9: PUSH2 0x3fb1 00003fac: JUMPI 00003fad: PUSH1 0x00 00003faf: DUP1 00003fb0: REVERT 00003fb1: JUMPDEST 00003fb2: DUP3 00003fb3: CALLDATALOAD 00003fb4: PUSH2 0x3fbc 00003fb7: DUP2 00003fb8: PUSH2 0x3e9e 00003fbb: JUMP 00003fbc: JUMPDEST 00003fbd: SWAP2 00003fbe: POP 00003fbf: PUSH2 0x3fca 00003fc2: PUSH1 0x20 00003fc4: DUP5 00003fc5: ADD 00003fc6: PUSH2 0x3f7a 00003fc9: JUMP 00003fca: JUMPDEST 00003fcb: SWAP1 00003fcc: POP 00003fcd: SWAP3 00003fce: POP 00003fcf: SWAP3 00003fd0: SWAP1 00003fd1: POP 00003fd2: JUMP 00003fd3: JUMPDEST 00003fd4: PUSH1 0x00 00003fd6: PUSH1 0x20 00003fd8: DUP3 00003fd9: DUP5 00003fda: SUB 00003fdb: SLT 00003fdc: ISZERO 00003fdd: PUSH2 0x3fe5 00003fe0: JUMPI 00003fe1: PUSH1 0x00 00003fe3: DUP1 00003fe4: REVERT 00003fe5: JUMPDEST 00003fe6: DUP2 00003fe7: CALLDATALOAD 00003fe8: PUSH16 0xffffffffffffffffffffffffffffffff 00003ff9: DUP2 00003ffa: AND 00003ffb: DUP2 00003ffc: EQ 00003ffd: PUSH2 0x1c69 00004000: JUMPI 00004001: PUSH1 0x00 00004003: DUP1 00004004: REVERT 00004005: JUMPDEST 00004006: PUSH1 0x00 00004008: DUP1 00004009: PUSH1 0x00 0000400b: DUP1 0000400c: PUSH1 0x00 0000400e: DUP1 0000400f: PUSH1 0xc0 00004011: DUP8 00004012: DUP10 00004013: SUB 00004014: SLT 00004015: ISZERO 00004016: PUSH2 0x401e 00004019: JUMPI 0000401a: PUSH1 0x00 0000401c: DUP1 0000401d: REVERT 0000401e: JUMPDEST 0000401f: PUSH2 0x4027 00004022: DUP8 00004023: PUSH2 0x3f7a 00004026: JUMP 00004027: JUMPDEST 00004028: SWAP6 00004029: POP 0000402a: PUSH1 0x20 0000402c: DUP8 0000402d: ADD 0000402e: CALLDATALOAD 0000402f: PUSH2 0x4037 00004032: DUP2 00004033: PUSH2 0x3e9e 00004036: JUMP 00004037: JUMPDEST 00004038: SWAP5 00004039: POP 0000403a: PUSH1 0x40 0000403c: DUP8 0000403d: ADD 0000403e: CALLDATALOAD 0000403f: SWAP4 00004040: POP 00004041: PUSH1 0x60 00004043: DUP8 00004044: ADD 00004045: CALLDATALOAD 00004046: PUSH1 0xff 00004048: DUP2 00004049: AND 0000404a: DUP2 0000404b: EQ 0000404c: PUSH2 0x4054 0000404f: JUMPI 00004050: PUSH1 0x00 00004052: DUP1 00004053: REVERT 00004054: JUMPDEST 00004055: SWAP6 00004056: SWAP9 00004057: SWAP5 00004058: SWAP8 00004059: POP 0000405a: SWAP3 0000405b: SWAP6 0000405c: PUSH1 0x80 0000405e: DUP2 0000405f: ADD 00004060: CALLDATALOAD 00004061: SWAP5 00004062: PUSH1 0xa0 00004064: SWAP1 00004065: SWAP2 00004066: ADD 00004067: CALLDATALOAD 00004068: SWAP4 00004069: POP 0000406a: SWAP2 0000406b: POP 0000406c: POP 0000406d: JUMP 0000406e: JUMPDEST 0000406f: PUSH1 0x00 00004071: PUSH1 0x20 00004073: DUP3 00004074: DUP5 00004075: SUB 00004076: SLT 00004077: ISZERO 00004078: PUSH2 0x4080 0000407b: JUMPI 0000407c: PUSH1 0x00 0000407e: DUP1 0000407f: REVERT 00004080: JUMPDEST 00004081: DUP2 00004082: CALLDATALOAD 00004083: PUSH8 0xffffffffffffffff 0000408c: DUP2 0000408d: AND 0000408e: DUP2 0000408f: EQ 00004090: PUSH2 0x1c69 00004093: JUMPI 00004094: PUSH1 0x00 00004096: DUP1 00004097: REVERT 00004098: JUMPDEST 00004099: DUP1 0000409a: ISZERO 0000409b: ISZERO 0000409c: DUP2 0000409d: EQ 0000409e: PUSH2 0x12b7 000040a1: JUMPI 000040a2: PUSH1 0x00 000040a4: DUP1 000040a5: REVERT 000040a6: JUMPDEST 000040a7: PUSH1 0x00 000040a9: DUP1 000040aa: PUSH1 0x40 000040ac: DUP4 000040ad: DUP6 000040ae: SUB 000040af: SLT 000040b0: ISZERO 000040b1: PUSH2 0x40b9 000040b4: JUMPI 000040b5: PUSH1 0x00 000040b7: DUP1 000040b8: REVERT 000040b9: JUMPDEST 000040ba: DUP3 000040bb: CALLDATALOAD 000040bc: PUSH2 0x40c4 000040bf: DUP2 000040c0: PUSH2 0x3e9e 000040c3: JUMP 000040c4: JUMPDEST 000040c5: SWAP2 000040c6: POP 000040c7: PUSH1 0x20 000040c9: DUP4 000040ca: ADD 000040cb: CALLDATALOAD 000040cc: PUSH2 0x3f11 000040cf: DUP2 000040d0: PUSH2 0x4098 000040d3: JUMP 000040d4: JUMPDEST 000040d5: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000040f6: PUSH1 0x00 000040f8: MSTORE 000040f9: PUSH1 0x41 000040fb: PUSH1 0x04 000040fd: MSTORE 000040fe: PUSH1 0x24 00004100: PUSH1 0x00 00004102: REVERT 00004103: JUMPDEST 00004104: PUSH1 0x00 00004106: DUP1 00004107: PUSH1 0x00 00004109: DUP1 0000410a: PUSH1 0x80 0000410c: DUP6 0000410d: DUP8 0000410e: SUB 0000410f: SLT 00004110: ISZERO 00004111: PUSH2 0x4119 00004114: JUMPI 00004115: PUSH1 0x00 00004117: DUP1 00004118: REVERT 00004119: JUMPDEST 0000411a: DUP5 0000411b: CALLDATALOAD 0000411c: PUSH2 0x4124 0000411f: DUP2 00004120: PUSH2 0x3e9e 00004123: JUMP 00004124: JUMPDEST 00004125: SWAP4 00004126: POP 00004127: PUSH1 0x20 00004129: DUP6 0000412a: ADD 0000412b: CALLDATALOAD 0000412c: PUSH2 0x4134 0000412f: DUP2 00004130: PUSH2 0x3e9e 00004133: JUMP 00004134: JUMPDEST 00004135: SWAP3 00004136: POP 00004137: PUSH1 0x40 00004139: DUP6 0000413a: ADD 0000413b: CALLDATALOAD 0000413c: SWAP2 0000413d: POP 0000413e: PUSH1 0x60 00004140: DUP6 00004141: ADD 00004142: CALLDATALOAD 00004143: PUSH8 0xffffffffffffffff 0000414c: DUP1 0000414d: DUP3 0000414e: GT 0000414f: ISZERO 00004150: PUSH2 0x4158 00004153: JUMPI 00004154: PUSH1 0x00 00004156: DUP1 00004157: REVERT 00004158: JUMPDEST 00004159: DUP2 0000415a: DUP8 0000415b: ADD 0000415c: SWAP2 0000415d: POP 0000415e: DUP8 0000415f: PUSH1 0x1f 00004161: DUP4 00004162: ADD 00004163: SLT 00004164: PUSH2 0x416c 00004167: JUMPI 00004168: PUSH1 0x00 0000416a: DUP1 0000416b: REVERT 0000416c: JUMPDEST 0000416d: DUP2 0000416e: CALLDATALOAD 0000416f: DUP2 00004170: DUP2 00004171: GT 00004172: ISZERO 00004173: PUSH2 0x417e 00004176: JUMPI 00004177: PUSH2 0x417e 0000417a: PUSH2 0x40d4 0000417d: JUMP 0000417e: JUMPDEST 0000417f: PUSH1 0x40 00004181: MLOAD 00004182: PUSH1 0x1f 00004184: DUP3 00004185: ADD 00004186: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000041a7: SWAP1 000041a8: DUP2 000041a9: AND 000041aa: PUSH1 0x3f 000041ac: ADD 000041ad: AND 000041ae: DUP2 000041af: ADD 000041b0: SWAP1 000041b1: DUP4 000041b2: DUP3 000041b3: GT 000041b4: DUP2 000041b5: DUP4 000041b6: LT 000041b7: OR 000041b8: ISZERO 000041b9: PUSH2 0x41c4 000041bc: JUMPI 000041bd: PUSH2 0x41c4 000041c0: PUSH2 0x40d4 000041c3: JUMP 000041c4: JUMPDEST 000041c5: DUP2 000041c6: PUSH1 0x40 000041c8: MSTORE 000041c9: DUP3 000041ca: DUP2 000041cb: MSTORE 000041cc: DUP11 000041cd: PUSH1 0x20 000041cf: DUP5 000041d0: DUP8 000041d1: ADD 000041d2: ADD 000041d3: GT 000041d4: ISZERO 000041d5: PUSH2 0x41dd 000041d8: JUMPI 000041d9: PUSH1 0x00 000041db: DUP1 000041dc: REVERT 000041dd: JUMPDEST 000041de: DUP3 000041df: PUSH1 0x20 000041e1: DUP7 000041e2: ADD 000041e3: PUSH1 0x20 000041e5: DUP4 000041e6: ADD 000041e7: CALLDATACOPY 000041e8: PUSH1 0x00 000041ea: PUSH1 0x20 000041ec: DUP5 000041ed: DUP4 000041ee: ADD 000041ef: ADD 000041f0: MSTORE 000041f1: DUP1 000041f2: SWAP6 000041f3: POP 000041f4: POP 000041f5: POP 000041f6: POP 000041f7: POP 000041f8: POP 000041f9: SWAP3 000041fa: SWAP6 000041fb: SWAP2 000041fc: SWAP5 000041fd: POP 000041fe: SWAP3 000041ff: POP 00004200: JUMP 00004201: JUMPDEST 00004202: PUSH1 0x00 00004204: DUP1 00004205: PUSH1 0x40 00004207: DUP4 00004208: DUP6 00004209: SUB 0000420a: SLT 0000420b: ISZERO 0000420c: PUSH2 0x4214 0000420f: JUMPI 00004210: PUSH1 0x00 00004212: DUP1 00004213: REVERT 00004214: JUMPDEST 00004215: DUP3 00004216: CALLDATALOAD 00004217: PUSH2 0x421f 0000421a: DUP2 0000421b: PUSH2 0x3e9e 0000421e: JUMP 0000421f: JUMPDEST 00004220: SWAP2 00004221: POP 00004222: PUSH1 0x20 00004224: DUP4 00004225: ADD 00004226: CALLDATALOAD 00004227: PUSH2 0x3f11 0000422a: DUP2 0000422b: PUSH2 0x3e9e 0000422e: JUMP 0000422f: JUMPDEST 00004230: PUSH1 0x01 00004232: DUP2 00004233: DUP2 00004234: SHR 00004235: SWAP1 00004236: DUP3 00004237: AND 00004238: DUP1 00004239: PUSH2 0x4243 0000423c: JUMPI 0000423d: PUSH1 0x7f 0000423f: DUP3 00004240: AND 00004241: SWAP2 00004242: POP 00004243: JUMPDEST 00004244: PUSH1 0x20 00004246: DUP3 00004247: LT 00004248: DUP2 00004249: SUB 0000424a: PUSH2 0x427c 0000424d: JUMPI 0000424e: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 0000426f: PUSH1 0x00 00004271: MSTORE 00004272: PUSH1 0x22 00004274: PUSH1 0x04 00004276: MSTORE 00004277: PUSH1 0x24 00004279: PUSH1 0x00 0000427b: REVERT 0000427c: JUMPDEST 0000427d: POP 0000427e: SWAP2 0000427f: SWAP1 00004280: POP 00004281: JUMP 00004282: JUMPDEST 00004283: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000042a4: PUSH1 0x00 000042a6: MSTORE 000042a7: PUSH1 0x11 000042a9: PUSH1 0x04 000042ab: MSTORE 000042ac: PUSH1 0x24 000042ae: PUSH1 0x00 000042b0: REVERT 000042b1: JUMPDEST 000042b2: PUSH16 0xffffffffffffffffffffffffffffffff 000042c3: DUP3 000042c4: DUP2 000042c5: AND 000042c6: DUP3 000042c7: DUP3 000042c8: AND 000042c9: SUB 000042ca: SWAP1 000042cb: DUP1 000042cc: DUP3 000042cd: GT 000042ce: ISZERO 000042cf: PUSH2 0x42da 000042d2: JUMPI 000042d3: PUSH2 0x42da 000042d6: PUSH2 0x4282 000042d9: JUMP 000042da: JUMPDEST 000042db: POP 000042dc: SWAP3 000042dd: SWAP2 000042de: POP 000042df: POP 000042e0: JUMP 000042e1: JUMPDEST 000042e2: DUP1 000042e3: DUP3 000042e4: MUL 000042e5: DUP2 000042e6: ISZERO 000042e7: DUP3 000042e8: DUP3 000042e9: DIV 000042ea: DUP5 000042eb: EQ 000042ec: OR 000042ed: PUSH2 0x0b4a 000042f0: JUMPI 000042f1: PUSH2 0x0b4a 000042f4: PUSH2 0x4282 000042f7: JUMP 000042f8: JUMPDEST 000042f9: PUSH1 0x00 000042fb: DUP3 000042fc: PUSH2 0x432e 000042ff: JUMPI 00004300: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004321: PUSH1 0x00 00004323: MSTORE 00004324: PUSH1 0x12 00004326: PUSH1 0x04 00004328: MSTORE 00004329: PUSH1 0x24 0000432b: PUSH1 0x00 0000432d: REVERT 0000432e: JUMPDEST 0000432f: POP 00004330: DIV 00004331: SWAP1 00004332: JUMP 00004333: JUMPDEST 00004334: PUSH16 0xffffffffffffffffffffffffffffffff 00004345: DUP2 00004346: DUP2 00004347: AND 00004348: DUP4 00004349: DUP3 0000434a: AND 0000434b: ADD 0000434c: SWAP1 0000434d: DUP1 0000434e: DUP3 0000434f: GT 00004350: ISZERO 00004351: PUSH2 0x42da 00004354: JUMPI 00004355: PUSH2 0x42da 00004358: PUSH2 0x4282 0000435b: JUMP 0000435c: JUMPDEST 0000435d: PUSH15 0xffffffffffffffffffffffffffffff 0000436d: DUP3 0000436e: DUP2 0000436f: AND 00004370: DUP3 00004371: DUP3 00004372: AND 00004373: SUB 00004374: SWAP1 00004375: DUP1 00004376: DUP3 00004377: GT 00004378: ISZERO 00004379: PUSH2 0x42da 0000437c: JUMPI 0000437d: PUSH2 0x42da 00004380: PUSH2 0x4282 00004383: JUMP 00004384: JUMPDEST 00004385: PUSH1 0x00 00004387: DUP4 00004388: MLOAD 00004389: PUSH2 0x4396 0000438c: DUP2 0000438d: DUP5 0000438e: PUSH1 0x20 00004390: DUP9 00004391: ADD 00004392: PUSH2 0x3e04 00004395: JUMP 00004396: JUMPDEST 00004397: DUP4 00004398: MLOAD 00004399: SWAP1 0000439a: DUP4 0000439b: ADD 0000439c: SWAP1 0000439d: PUSH2 0x43aa 000043a0: DUP2 000043a1: DUP4 000043a2: PUSH1 0x20 000043a4: DUP9 000043a5: ADD 000043a6: PUSH2 0x3e04 000043a9: JUMP 000043aa: JUMPDEST 000043ab: ADD 000043ac: SWAP5 000043ad: SWAP4 000043ae: POP 000043af: POP 000043b0: POP 000043b1: POP 000043b2: JUMP 000043b3: JUMPDEST 000043b4: PUSH1 0x00 000043b6: PUSH1 0x20 000043b8: DUP3 000043b9: DUP5 000043ba: SUB 000043bb: SLT 000043bc: ISZERO 000043bd: PUSH2 0x43c5 000043c0: JUMPI 000043c1: PUSH1 0x00 000043c3: DUP1 000043c4: REVERT 000043c5: JUMPDEST 000043c6: POP 000043c7: MLOAD 000043c8: SWAP2 000043c9: SWAP1 000043ca: POP 000043cb: JUMP 000043cc: JUMPDEST 000043cd: PUSH8 0xffffffffffffffff 000043d6: DUP2 000043d7: DUP2 000043d8: AND 000043d9: DUP4 000043da: DUP3 000043db: AND 000043dc: ADD 000043dd: SWAP1 000043de: DUP1 000043df: DUP3 000043e0: GT 000043e1: ISZERO 000043e2: PUSH2 0x42da 000043e5: JUMPI 000043e6: PUSH2 0x42da 000043e9: PUSH2 0x4282 000043ec: JUMP 000043ed: JUMPDEST 000043ee: PUSH1 0x00 000043f0: PUSH8 0xffffffffffffffff 000043f9: DUP1 000043fa: DUP4 000043fb: AND 000043fc: DUP2 000043fd: DUP2 000043fe: SUB 000043ff: PUSH2 0x440a 00004402: JUMPI 00004403: PUSH2 0x440a 00004406: PUSH2 0x4282 00004409: JUMP 0000440a: JUMPDEST 0000440b: PUSH1 0x01 0000440d: ADD 0000440e: SWAP4 0000440f: SWAP3 00004410: POP 00004411: POP 00004412: POP 00004413: JUMP 00004414: JUMPDEST 00004415: PUSH1 0x00 00004417: PUSH1 0x20 00004419: DUP3 0000441a: DUP5 0000441b: SUB 0000441c: SLT 0000441d: ISZERO 0000441e: PUSH2 0x4426 00004421: JUMPI 00004422: PUSH1 0x00 00004424: DUP1 00004425: REVERT 00004426: JUMPDEST 00004427: DUP2 00004428: MLOAD 00004429: PUSH2 0x1c69 0000442c: DUP2 0000442d: PUSH2 0x4098 00004430: JUMP 00004431: JUMPDEST 00004432: PUSH1 0x00 00004434: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00004449: DUP1 0000444a: DUP8 0000444b: AND 0000444c: DUP4 0000444d: MSTORE 0000444e: DUP1 0000444f: DUP7 00004450: AND 00004451: PUSH1 0x20 00004453: DUP5 00004454: ADD 00004455: MSTORE 00004456: POP 00004457: DUP4 00004458: PUSH1 0x40 0000445a: DUP4 0000445b: ADD 0000445c: MSTORE 0000445d: PUSH1 0x80 0000445f: PUSH1 0x60 00004461: DUP4 00004462: ADD 00004463: MSTORE 00004464: PUSH2 0x4470 00004467: PUSH1 0x80 00004469: DUP4 0000446a: ADD 0000446b: DUP5 0000446c: PUSH2 0x3e28 0000446f: JUMP 00004470: JUMPDEST 00004471: SWAP7 00004472: SWAP6 00004473: POP 00004474: POP 00004475: POP 00004476: POP 00004477: POP 00004478: POP 00004479: JUMP 0000447a: JUMPDEST 0000447b: PUSH1 0x00 0000447d: PUSH1 0x20 0000447f: DUP3 00004480: DUP5 00004481: SUB 00004482: SLT 00004483: ISZERO 00004484: PUSH2 0x448c 00004487: JUMPI 00004488: PUSH1 0x00 0000448a: DUP1 0000448b: REVERT 0000448c: JUMPDEST 0000448d: DUP2 0000448e: MLOAD 0000448f: PUSH2 0x1c69 00004492: DUP2 00004493: PUSH2 0x3db9 00004496: JUMP 00004497: JUMPDEST 00004498: PUSH1 0x00 0000449a: DUP3 0000449b: MLOAD 0000449c: PUSH2 0x44a9 0000449f: DUP2 000044a0: DUP5 000044a1: PUSH1 0x20 000044a3: DUP8 000044a4: ADD 000044a5: PUSH2 0x3e04 000044a8: JUMP 000044a9: JUMPDEST 000044aa: SWAP2 000044ab: SWAP1 000044ac: SWAP2 000044ad: ADD 000044ae: SWAP3 000044af: SWAP2 000044b0: POP 000044b1: POP 000044b2: JUMP 000044b3: INVALID 000044b4: LOG2 000044b5: PUSH5 0x6970667358 000044bb: UNKNOWN(0x22) 000044bc: SLT 000044bd: KECCAK256 000044be: SLT 000044bf: DUP4 000044c0: UNKNOWN(0x0C) 000044c1: DUP3 000044c2: BLOBHASH 000044c3: UNKNOWN(0xFC) 000044c4: SWAP8 000044c5: CREATE2 000044c6: EXTCODECOPY 000044c7: KECCAK256 000044c8: UNKNOWN(0xD1) 000044c9: SLT 000044ca: UNKNOWN(0x4E) 000044cb: SDIV 000044cc: DIV 000044cd: UNKNOWN(0x4D) 000044ce: UNKNOWN(0xC1) 000044cf: EQ 000044d0: SELFBALANCE 000044d1: BLOBHASH 000044d2: UNKNOWN(0xFB) 000044d3: DUP9 000044d4: UNKNOWN(0x4E) 000044d5: UNKNOWN(0xDE) 000044d6: ADDRESS 000044d7: TLOAD 000044d8: DUP12 000044d9: CALLER 000044da: UNKNOWN(0xCB) 000044db: UNKNOWN(0xAA) 000044dc: SWAP3 000044dd: PUSH30
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x023d395b322f18c97d067b0df2d41525f7340481c339267b73f45e24d4f5c357
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x023d395b322f18c97d067b0df2d41525f7340481c339267b73f45e24d4f5c357",
"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": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf6ccaad4",
"selector": "0xf6ccaad4",
"calldata_variants": [
"0xf6ccaad4",
"0xf6ccaad40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf737c276",
"selector": "0xf737c276",
"calldata_variants": [
"0xf737c276",
"0xf737c2760000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe14cbb8a",
"selector": "0xe14cbb8a",
"calldata_variants": [
"0xe14cbb8a",
"0xe14cbb8a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe63a391f",
"selector": "0xe63a391f",
"calldata_variants": [
"0xe63a391f",
"0xe63a391f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe74b981b",
"selector": "0xe74b981b",
"calldata_variants": [
"0xe74b981b",
"0xe74b981b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc87b56dd",
"selector": "0xc87b56dd",
"calldata_variants": [
"0xc87b56dd",
"0xc87b56dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcfbdd6a0",
"selector": "0xcfbdd6a0",
"calldata_variants": [
"0xcfbdd6a0",
"0xcfbdd6a00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 0,
"create2_count": 1
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x0d6f4ed03e3561bd67620e40d13cb73b75b823613a0538cc0ca391052271d2db
call_targets:
0x82ba8da44cd5261762e629dd5c605b17715727bd
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x0d6f4ed03e3561bd67620e40d13cb73b75b823613a0538cc0ca391052271d2db",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x82ba8da44cd5261762e629dd5c605b17715727bd"
],
"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": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf6ccaad4",
"selector": "0xf6ccaad4",
"calldata_variants": [
"0xf6ccaad4",
"0xf6ccaad40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf737c276",
"selector": "0xf737c276",
"calldata_variants": [
"0xf737c276",
"0xf737c2760000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe14cbb8a",
"selector": "0xe14cbb8a",
"calldata_variants": [
"0xe14cbb8a",
"0xe14cbb8a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe63a391f",
"selector": "0xe63a391f",
"calldata_variants": [
"0xe63a391f",
"0xe63a391f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe74b981b",
"selector": "0xe74b981b",
"calldata_variants": [
"0xe74b981b",
"0xe74b981b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc87b56dd",
"selector": "0xc87b56dd",
"calldata_variants": [
"0xc87b56dd",
"0xc87b56dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcfbdd6a0",
"selector": "0xcfbdd6a0",
"calldata_variants": [
"0xcfbdd6a0",
"0xcfbdd6a00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3580,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6083,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6998,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 7,
"guards_detected": [
{
"pc": 3300,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x0d6f4ed03e3561bd67620e40d13cb73b75b823613a0538cc0ca391052271d2db
call_targets:
0x82ba8da44cd5261762e629dd5c605b17715727bd
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x0d6f4ed03e3561bd67620e40d13cb73b75b823613a0538cc0ca391052271d2db",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x82ba8da44cd5261762e629dd5c605b17715727bd"
],
"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": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf6ccaad4",
"selector": "0xf6ccaad4",
"calldata_variants": [
"0xf6ccaad4",
"0xf6ccaad40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf737c276",
"selector": "0xf737c276",
"calldata_variants": [
"0xf737c276",
"0xf737c2760000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe14cbb8a",
"selector": "0xe14cbb8a",
"calldata_variants": [
"0xe14cbb8a",
"0xe14cbb8a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe63a391f",
"selector": "0xe63a391f",
"calldata_variants": [
"0xe63a391f",
"0xe63a391f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe74b981b",
"selector": "0xe74b981b",
"calldata_variants": [
"0xe74b981b",
"0xe74b981b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc87b56dd",
"selector": "0xc87b56dd",
"calldata_variants": [
"0xc87b56dd",
"0xc87b56dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcfbdd6a0",
"selector": "0xcfbdd6a0",
"calldata_variants": [
"0xcfbdd6a0",
"0xcfbdd6a00000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3580,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6083,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6998,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 8,
"guards_detected": [
{
"pc": 3300,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 8
}
|
| 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": 1
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 6
}
|