ffebce4c-2965-43ca-b4bc-25ee78b21aa6
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 |
|---|---|---|---|---|
| 30181 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 93685 | artifact.fetch | complete | 1 / 3 | 2 weeks ago |
| 93686 | tool.cast_disasm | complete | 1 / 3 | 2 weeks ago |
| 93687 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 93688 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 93689 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 93690 | validation.fork | complete | 1 / 3 | 2 weeks ago |
No slither job recorded yet.
[codex:544923] OpenAI Codex v0.77.0 (research preview)
[codex:544923] --------
[codex:544923] workdir: /tmp/codex-multi-p2j0ji02
[codex:544923] model: gpt-5.2-codex
[codex:544923] provider: openai
[codex:544923] approval: never
[codex:544923] sandbox: read-only
[codex:544923] reasoning effort: xhigh
[codex:544923] reasoning summaries: auto
[codex:544923] session id: 019b5b3a-a80d-76f3-b1c1-55fa9d592603
[codex:544923] --------
[codex:544923] user
[codex:544923] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:544923] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:544923] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:544923]
[codex:544923] Scope rules:
[codex:544923] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:544923] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:544923]
[codex:544923] Output MUST be valid JSON matching the provided schema.
[codex:544923] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:544923] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:544923]
[codex:544923] Output constraints (IMPORTANT):
[codex:544923] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:544923] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:544923] mcp startup: no servers
[codex:544923]
[codex:544923] thinking
[codex:544923] **Reading AUDIT_BUNDLE.txt**
[codex:544923] exec
[codex:544923] /bin/bash -lc ls in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] AUDIT_BUNDLE.txt
[codex:544923] codex-output-schema.json
[codex:544923] contracts
[codex:544923] exec
[codex:544923] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:544923]
[codex:544923] ================================================================================
[codex:544923] FILE: contracts/contracts/lib/helpers/AssetHelpers.sol
[codex:544923] ================================================================================
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923]
[codex:544923] thinking
[codex:544923] **Analyzing large audit bundle for vulnerabilities**
[codex:544923]
[codex:544923] I'll tackle the big AUDIT_BUNDLE by focusing on first-party code, ignoring known third-party libraries like OpenZeppelin. Since the code might be related to Balancer V2, I'll search for patterns indicating vulnerabilities such as missing reentrancy guards or unsafe external calls before state updates. I plan to carefully scan relevant vault and pool modules and generate a JSON report listing any issues found or confirming no vulnerabilities.
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "contract Vault|Vault" AUDIT_BUNDLE.txt' in /tmp/codex-multi-p2j0ji02 succeeded in 7ms:
[codex:544923] 312: // Vault
[codex:544923] 2563:import "./interfaces/IVault.sol";
[codex:544923] 2577: * caller of this function to check that this is true to prevent the Vault from using its own ETH (though the Vault
[codex:544923] 2594: // the Vault at a 1:1 ratio.
[codex:544923] 2597: // Note we're checking for the Vault's total balance, *not* ETH sent in this transaction.
[codex:544923] 2639: // First, the Vault withdraws deposited ETH from the WETH contract, by burning the same amount of WETH
[codex:544923] 2640: // from the Vault. This receipt will be handled by the Vault's `receive`.
[codex:544923] 2659: * Because the caller might not know exactly how much ETH a Vault action will require, they may send extra.
[codex:544923] 2674: * @dev Enables the Vault to receive ETH. This is required for it to be able to unwrap WETH, which sends ETH to the
[codex:544923] 2677: * Any ETH sent to the Vault outside of the WETH unwrapping mechanism would be forever locked inside the Vault, so
[codex:544923] 2678: * we prevent that from happening. Other mechanisms used to send ETH to the Vault (such as being the recipient of an
[codex:544923] 2732:import "./VaultAuthorization.sol";
[codex:544923] 2733:import "./interfaces/IVault.sol";
[codex:544923] 2736: * @dev To reduce the bytecode size of the Vault, most of the protocol fee logic is not here, but in the
[codex:544923] 2739:abstract contract Fees is IVault {
[codex:544923] 2745: _protocolFeesCollector = new ProtocolFeesCollector(IVault(this));
[codex:544923] 2809: * @dev Handles Flash Loans through the Vault. Calls the `receiveFlashLoan` hook on the flash loan recipient
[codex:544923] 3065: // The Vault ignores the `recipient` in joins and the `sender` in exits: it is up to the Pool to keep track of
[codex:544923] 3208:import "./VaultAuthorization.sol";
[codex:544923] 3214:abstract contract PoolRegistry is ReentrancyGuard, VaultAuthorization {
[codex:544923]
[codex:544923] thinking
[codex:544923] **Analyzing AUDIT_BUNDLE for vulnerabilities**
[codex:544923]
[codex:544923] I’m examining the full Balancer contract included in AUDIT_BUNDLE to identify potential security issues, focusing on key modules like VaultAuthorization, SignaturesValidator, and ReentrancyGuard. Since the file is large, I’m prioritizing known vulnerability patterns and comparing with original source files to get precise context and line numbers. I'm especially curious about signature validation, external calls, and any subtle reentrancy risks.
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "SignaturesValidator" contracts -g "*.sol"' in /tmp/codex-multi-p2j0ji02 succeeded in 8ms:
[codex:544923] contracts/contracts/vault/VaultAuthorization.sol:22:import "../lib/helpers/SignaturesValidator.sol";
[codex:544923] contracts/contracts/vault/VaultAuthorization.sol:37: SignaturesValidator,
[codex:544923] contracts/contracts/vault/VaultAuthorization.sol:79: SignaturesValidator("Balancer V2 Vault")
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:25:import "../../lib/helpers/ISignaturesValidator.sol";
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:34:interface IVault is ISignaturesValidator, ITemporarilyPausable {
[codex:544923] contracts/contracts/lib/helpers/SignaturesValidator.sol:18:import "./ISignaturesValidator.sol";
[codex:544923] contracts/contracts/lib/helpers/SignaturesValidator.sol:29:abstract contract SignaturesValidator is ISignaturesValidator, EIP712 {
[codex:544923] contracts/contracts/lib/helpers/ISignaturesValidator.sol:20:interface ISignaturesValidator {
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/lib/helpers/SignaturesValidator.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923]
[codex:544923] import "./BalancerErrors.sol";
[codex:544923] import "./ISignaturesValidator.sol";
[codex:544923] import "../openzeppelin/EIP712.sol";
[codex:544923]
[codex:544923]
[codex:544923] thinking
[codex:544923] **Analyzing signature validation logic**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/VaultAuthorization.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923]
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/helpers/Authentication.sol";
[codex:544923] import "../lib/helpers/TemporarilyPausable.sol";
[codex:544923]
[codex:544923] thinking
[codex:544923] **Examining signature validation with relayers**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "function joinPool|joinPool" -n contracts/contracts/vault -g "*.sol"' in /tmp/codex-multi-p2j0ji02 succeeded in 11ms:
[codex:544923] contracts/contracts/vault/PoolBalances.sol:43: function joinPool(
[codex:544923] contracts/contracts/vault/PoolBalances.sol:105: * @dev Implements both `joinPool` and `exitPool`, based on `kind`.
[codex:544923] contracts/contracts/vault/interfaces/IBasePool.sol:28: * @dev Called by the Vault when a user calls `IVault.joinPool` to add liquidity to this Pool. Returns how many of
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:324: * The order of the `tokens` array is the same order that will be used in `joinPool`, `exitPool`, as well as in all
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:375: function joinPool(
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:439: * @dev Emitted when a user joins or exits a Pool by calling `joinPool` or `exitPool`, respectively.
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:615: * `joinPool`.
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/PoolBalances.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923]
[codex:544923] import "../lib/math/Math.sol";
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/helpers/InputHelpers.sol";
[codex:544923]
[codex:544923] thinking
[codex:544923] **Analyzing signature validation and relayer binding**
[codex:544923]
[codex:544923] I'm exploring how the signature validation works in relation to the relayer and sender addresses, verifying that the user’s signature includes the relayer’s address to prevent unauthorized replay or substitution. While the calldata includes the sender parameter and the signature binds to the relayer, this seems secure by design. I'm also considering edge cases around calldata length and EVM assembly behavior to check for vulnerabilities, and scanning for upgradeability or delegatecall risks next.
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "delegatecall" contracts -g "*.sol"' in /tmp/codex-multi-p2j0ji02 exited 1 in 9ms:
[codex:544923]
[codex:544923]
[codex:544923] thinking
[codex:544923] **Checking reentrancy protections**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "function swap|function batchSwap|flashLoan|managePoolBalance" contracts/contracts/vault -g "*.sol"' in /tmp/codex-multi-p2j0ji02 succeeded in 9ms:
[codex:544923] contracts/contracts/vault/FlashLoans.sol:37: function flashLoan(
[codex:544923] contracts/contracts/vault/ProtocolFeesCollector.sol:52: uint256 private _flashLoanFeePercentage;
[codex:544923] contracts/contracts/vault/ProtocolFeesCollector.sol:90: _flashLoanFeePercentage = newFlashLoanFeePercentage;
[codex:544923] contracts/contracts/vault/ProtocolFeesCollector.sol:99: return _flashLoanFeePercentage;
[codex:544923] contracts/contracts/vault/Swaps.sol:56: function swap(
[codex:544923] contracts/contracts/vault/Swaps.sol:107: function batchSwap(
[codex:544923] contracts/contracts/vault/PoolBalances.sol:35: * `managePoolBalance` handles all Asset Manager interactions.
[codex:544923] contracts/contracts/vault/AssetManagers.sol:43: function managePoolBalance(PoolBalanceOp[] memory ops) external override nonReentrant whenNotPaused {
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:253: * Manager for the corresponding token. Asset Managers can manage a Pool's tokens via `managePoolBalance`,
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:513: function swap(
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:568: function batchSwap(
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:666: function flashLoan(
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:674: * @dev Emitted for each individual flash loan performed by `flashLoan`.
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:700: function managePoolBalance(PoolBalanceOp[] memory ops) external;
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:720: * @dev Emitted when a Pool's token Asset Manager alters its balance via `managePoolBalance`.
[codex:544923] contracts/contracts/vault/interfaces/IFlashLoanRecipient.sol:23: * @dev When `flashLoan` is called on the Vault, it invokes the `receiveFlashLoan` hook on the recipient.
[codex:544923] contracts/contracts/vault/interfaces/IFlashLoanRecipient.sol:29: * `userData` is the same value passed in the `IVault.flashLoan` call.
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/Swaps.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923]
[codex:544923] import "../lib/math/Math.sol";
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/helpers/InputHelpers.sol";
[codex:544923]
[codex:544923] thinking
[codex:544923] **Checking for flash loan vulnerabilities**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/FlashLoans.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] // This flash loan provider was based on the Aave protocol's open source
[codex:544923] // implementation and terminology and interfaces are intentionally kept
[codex:544923] // similar
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923]
[codex:544923] thinking
[codex:544923] **Analyzing flash loan token transfer and access control**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/ProtocolFeesCollector.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923]
[codex:544923] import "../lib/openzeppelin/IERC20.sol";
[codex:544923] import "../lib/helpers/InputHelpers.sol";
[codex:544923] import "../lib/helpers/Authentication.sol";
[codex:544923]
[codex:544923] thinking
[codex:544923] **Evaluating access control and oracle usage**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "oracle|price" contracts/contracts -g "*.sol"' in /tmp/codex-multi-p2j0ji02 succeeded in 10ms:
[codex:544923] contracts/contracts/vault/balances/BalanceAllocation.sol:37:// can be used to implement price oracles that are resilient to 'sandwich' attacks.
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:305: * example when developing price oracles. A change of zero (e.g. caused by a swap with amount zero) is considered a
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:455: // aware of the Pools' pricing algorithms in order to estimate the prices Pools will quote.
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol:684: // prices of the other tokens, and then drain the Pool with swaps. The risk of using Asset Managers is therefore
[codex:544923]
[codex:544923] thinking
[codex:544923] **Checking for receive functions**
[codex:544923] exec
[codex:544923] /bin/bash -lc "rg -n \"receive\\(\\)\" contracts/contracts/vault -g \"*.sol\"" in /tmp/codex-multi-p2j0ji02 succeeded in 9ms:
[codex:544923] contracts/contracts/vault/AssetTransfersHandler.sol:147: receive() external payable {
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,220p' contracts/contracts/vault/AssetTransfersHandler.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923]
[codex:544923] import "../lib/math/Math.sol";
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/openzeppelin/IERC20.sol";
[codex:544923]
[codex:544923] thinking
[codex:544923] **Analyzing ETH handling for vulnerabilities**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "_handleRemainingEth" contracts/contracts/vault -g "*.sol"' in /tmp/codex-multi-p2j0ji02 succeeded in 9ms:
[codex:544923] contracts/contracts/vault/Swaps.sol:104: _handleRemainingEth(_isETH(singleSwap.assetIn) ? amountIn : 0);
[codex:544923] contracts/contracts/vault/Swaps.sol:154: _handleRemainingEth(wrappedEth);
[codex:544923] contracts/contracts/vault/UserBalance.sol:116: _handleRemainingEth(ethWrapped);
[codex:544923] contracts/contracts/vault/AssetTransfersHandler.sol:128: function _handleRemainingEth(uint256 amountUsed) internal {
[codex:544923] contracts/contracts/vault/PoolBalances.sol:247: _handleRemainingEth(wrappedEth);
[codex:544923]
[codex:544923] thinking
[codex:544923] **Inspecting PoolBalances ETH handling**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '200,340p' contracts/contracts/vault/PoolBalances.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923] // their participation.
[codex:544923] finalBalances = kind == PoolBalanceChangeKind.JOIN
[codex:544923] ? _processJoinPoolTransfers(sender, change, balances, amountsInOrOut, dueProtocolFeeAmounts)
[codex:544923] : _processExitPoolTransfers(recipient, change, balances, amountsInOrOut, dueProtocolFeeAmounts);
[codex:544923] }
[codex:544923]
[codex:544923] /**
[codex:544923] * @dev Transfers `amountsIn` from `sender`, checking that they are within their accepted limits, and pays
[codex:544923] * accumulated protocol swap fees.
[codex:544923] *
[codex:544923] * Returns the Pool's final balances, which are the current balances plus `amountsIn` minus accumulated protocol
[codex:544923] * swap fees.
[codex:544923] */
[codex:544923] function _processJoinPoolTransfers(
[codex:544923] address sender,
[codex:544923] PoolBalanceChange memory change,
[codex:544923] bytes32[] memory balances,
[codex:544923] uint256[] memory amountsIn,
[codex:544923] uint256[] memory dueProtocolFeeAmounts
[codex:544923] ) private returns (bytes32[] memory finalBalances) {
[codex:544923]
[codex:544923] thinking
[codex:544923] **Analyzing ETH handling and reentrancy risks**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/UserBalance.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923]
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/math/Math.sol";
[codex:544923] import "../lib/openzeppelin/IERC20.sol";
[codex:544923]
[codex:544923] thinking
[codex:544923] **Inspecting user balance validation**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "_validateUserBalanceOp" -n contracts/contracts/vault/UserBalance.sol' in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] 74: // This destructuring by calling `_validateUserBalanceOp` seems odd, but results in reduced bytecode size.
[codex:544923] 75: (kind, asset, amount, sender, recipient, checkedCallerIsRelayer) = _validateUserBalanceOp(
[codex:544923] 224: function _validateUserBalanceOp(UserBalanceOp memory op, bool checkedCallerIsRelayer)
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '200,320p' contracts/contracts/vault/UserBalance.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923] * Emits an `InternalBalanceChanged` event. This event includes `delta`, which is the amount the balance increased
[codex:544923] * (if positive) or decreased (if negative). To avoid reading the current balance in order to compute the delta,
[codex:544923] * this function relies on the caller providing it directly.
[codex:544923] */
[codex:544923] function _setInternalBalance(
[codex:544923] address account,
[codex:544923] IERC20 token,
[codex:544923] uint256 newBalance,
[codex:544923] int256 delta
[codex:544923] ) private {
[codex:544923] _internalTokenBalance[account][token] = newBalance;
[codex:544923] emit InternalBalanceChanged(account, token, delta);
[codex:544923] }
[codex:544923]
[codex:544923] /**
[codex:544923] * @dev Returns `account`'s Internal Balance for `token`.
[codex:544923] */
[codex:544923] function _getInternalBalance(address account, IERC20 token) internal view returns (uint256) {
[codex:544923] return _internalTokenBalance[account][token];
[codex:544923] }
[codex:544923]
[codex:544923] thinking
[codex:544923] **Reviewing user balance and swap security**
[codex:544923]
[codex:544923] I'll verify relayer approval logic and nonPaused checks around internal withdrawals, confirm permission enforcement via _authenticateCaller, and carefully examine swap functions `_swapWithPools` and `_swapWithPool` for potential reentrancy or balance inconsistencies during external pool calls.
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "_swapWithPools|_swapWithPool" -n contracts/contracts/vault/Swaps.sol' in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] 97: (amountCalculated, amountIn, amountOut) = _swapWithPool(poolRequest);
[codex:544923] 130: assetDeltas = _swapWithPools(swaps, assets, funds, kind);
[codex:544923] 157: // For `_swapWithPools` to handle both 'given in' and 'given out' swaps, it internally tracks the 'given' amount
[codex:544923] 205: function _swapWithPools(
[codex:544923] 257: (previousAmountCalculated, amountIn, amountOut) = _swapWithPool(poolRequest);
[codex:544923] 275: function _swapWithPool(IPoolSwapStructs.SwapRequest memory request)
[codex:544923] 516: int256[] memory deltas = _swapWithPools(swaps, assets, funds, kind);
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '200,380p' contracts/contracts/vault/Swaps.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923] /**
[codex:544923] * @dev Performs all `swaps`, calling swap hooks on the Pool contracts and updating their balances. Does not cause
[codex:544923] * any transfer of tokens - instead it returns the net Vault token deltas: positive if the Vault should receive
[codex:544923] * tokens, and negative if it should send them.
[codex:544923] */
[codex:544923] function _swapWithPools(
[codex:544923] BatchSwapStep[] memory swaps,
[codex:544923] IAsset[] memory assets,
[codex:544923] FundManagement memory funds,
[codex:544923] SwapKind kind
[codex:544923] ) private returns (int256[] memory assetDeltas) {
[codex:544923] assetDeltas = new int256[](assets.length);
[codex:544923]
[codex:544923] // These variables could be declared inside the loop, but that causes the compiler to allocate memory on each
[codex:544923] // loop iteration, increasing gas costs.
[codex:544923] BatchSwapStep memory batchSwapStep;
[codex:544923] IPoolSwapStructs.SwapRequest memory poolRequest;
[codex:544923]
[codex:544923] // These store data about the previous swap here to implement multihop logic across swaps.
[codex:544923] IERC20 previousTokenCalculated;
[codex:544923]
[codex:544923] thinking
[codex:544923] **Inspecting _callMinimalSwapInfoPoolOnSwapHook details**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '380,560p' contracts/contracts/vault/Swaps.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923] request.lastChangeBlock = Math.max(tokenInBalance.lastChangeBlock(), tokenOutBalance.lastChangeBlock());
[codex:544923]
[codex:544923] // Perform the swap request callback, and compute the new balances for 'token in' and 'token out' after the swap
[codex:544923] amountCalculated = pool.onSwap(request, tokenInTotal, tokenOutTotal);
[codex:544923] (uint256 amountIn, uint256 amountOut) = _getAmounts(request.kind, request.amount, amountCalculated);
[codex:544923]
[codex:544923] newTokenInBalance = tokenInBalance.increaseCash(amountIn);
[codex:544923] newTokenOutBalance = tokenOutBalance.decreaseCash(amountOut);
[codex:544923] }
[codex:544923]
[codex:544923] function _processGeneralPoolSwapRequest(IPoolSwapStructs.SwapRequest memory request, IGeneralPool pool)
[codex:544923] private
[codex:544923] returns (uint256 amountCalculated)
[codex:544923] {
[codex:544923] bytes32 tokenInBalance;
[codex:544923] bytes32 tokenOutBalance;
[codex:544923]
[codex:544923] // We access both token indexes without checking existence, because we will do it manually immediately after.
[codex:544923] EnumerableMap.IERC20ToBytes32Map storage poolBalances = _generalPoolsBalances[request.poolId];
[codex:544923] uint256 indexIn = poolBalances.unchecked_indexOf(request.tokenIn);
[codex:544923]
[codex:544923] thinking
[codex:544923] **Analyzing potential reentrancy and signature validation risks**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/AssetManagers.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923]
[codex:544923] import "../lib/math/Math.sol";
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/helpers/InputHelpers.sol";
[codex:544923]
[codex:544923] thinking
[codex:544923] **Investigating pool implementations for vulnerabilities**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg --files contracts/contracts -g "*.sol"' in /tmp/codex-multi-p2j0ji02 succeeded in 11ms:
[codex:544923] contracts/contracts/vault/FlashLoans.sol
[codex:544923] contracts/contracts/vault/ProtocolFeesCollector.sol
[codex:544923] contracts/contracts/vault/Swaps.sol
[codex:544923] contracts/contracts/vault/Vault.sol
[codex:544923] contracts/contracts/vault/VaultAuthorization.sol
[codex:544923] contracts/contracts/vault/PoolTokens.sol
[codex:544923] contracts/contracts/vault/Fees.sol
[codex:544923] contracts/contracts/vault/PoolBalances.sol
[codex:544923] contracts/contracts/vault/AssetManagers.sol
[codex:544923] contracts/contracts/vault/PoolRegistry.sol
[codex:544923] contracts/contracts/vault/AssetTransfersHandler.sol
[codex:544923] contracts/contracts/vault/balances/MinimalSwapInfoPoolsBalance.sol
[codex:544923] contracts/contracts/vault/balances/TwoTokenPoolsBalance.sol
[codex:544923] contracts/contracts/vault/balances/BalanceAllocation.sol
[codex:544923] contracts/contracts/vault/balances/GeneralPoolsBalance.sol
[codex:544923] contracts/contracts/vault/UserBalance.sol
[codex:544923] contracts/contracts/lib/math/LogExpMath.sol
[codex:544923] contracts/contracts/lib/math/FixedPoint.sol
[codex:544923] contracts/contracts/lib/math/Math.sol
[codex:544923] contracts/contracts/vault/interfaces/IVault.sol
[codex:544923]
[codex:544923] thinking
[codex:544923] **Inspecting Vault core for vulnerabilities**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/PoolRegistry.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923]
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/openzeppelin/ReentrancyGuard.sol";
[codex:544923]
[codex:544923]
[codex:544923] thinking
[codex:544923] **Reviewing PoolRegistry and PoolTokens**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,220p' contracts/contracts/vault/PoolTokens.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923]
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/openzeppelin/ReentrancyGuard.sol";
[codex:544923]
[codex:544923]
[codex:544923] thinking
[codex:544923] **Evaluating potential security concerns**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/balances/BalanceAllocation.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923]
[codex:544923] import "../../lib/math/Math.sol";
[codex:544923]
[codex:544923] // This library is used to create a data structure that represents a token's balance for a Pool. 'cash' is how many
[codex:544923] // tokens the Pool has sitting inside of the Vault. 'managed' is how many tokens were withdrawn from the Vault by the
[codex:544923]
[codex:544923] thinking
[codex:544923] **Reviewing potential vulnerabilities and access controls**
[codex:544923]
[codex:544923] I'm carefully analyzing the usage of library functions, signature validation with EIP712, and reentrancy protections within the Vault and related contracts. I'm considering possible unsafe casts, replay attacks, reentrancy through pool hooks, race conditions when paused, and integer overflow risks in swaps. Though some minor info-level concerns exist, I find no clear exploitable vulnerabilities or access control weaknesses that stand out.
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/balances/GeneralPoolsBalance.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923]
[codex:544923] import "../../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../../lib/openzeppelin/EnumerableMap.sol";
[codex:544923] import "../../lib/openzeppelin/IERC20.sol";
[codex:544923]
[codex:544923]
[codex:544923] thinking
[codex:544923] **Analyzing token registration and sorting constraints**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/balances/MinimalSwapInfoPoolsBalance.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923]
[codex:544923] import "../../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../../lib/openzeppelin/EnumerableSet.sol";
[codex:544923] import "../../lib/openzeppelin/IERC20.sol";
[codex:544923]
[codex:544923] thinking
[codex:544923] **Analyzing token order and balance constraints**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "setManaged" -n contracts/contracts/vault/balances/BalanceAllocation.sol' in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] 212: function setManaged(bytes32 balance, uint256 newManaged) internal view returns (bytes32) {
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '200,260p' contracts/contracts/vault/balances/BalanceAllocation.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] uint256 newManaged = managed(balance).sub(amount);
[codex:544923] uint256 currentLastChangeBlock = lastChangeBlock(balance);
[codex:544923]
[codex:544923] return toBalance(newCash, newManaged, currentLastChangeBlock);
[codex:544923] }
[codex:544923]
[codex:544923] /**
[codex:544923] * @dev Sets 'managed' balance to an arbitrary value, changing 'total'. Called when the Asset Manager reports
[codex:544923] * profits or losses. It's the Manager's responsibility to provide a meaningful value.
[codex:544923] *
[codex:544923] * Updates the last total balance change block, even if `newManaged` is equal to the current 'managed' value.
[codex:544923] */
[codex:544923] function setManaged(bytes32 balance, uint256 newManaged) internal view returns (bytes32) {
[codex:544923] uint256 currentCash = cash(balance);
[codex:544923] uint256 newLastChangeBlock = block.number;
[codex:544923] return toBalance(currentCash, newManaged, newLastChangeBlock);
[codex:544923] }
[codex:544923]
[codex:544923] // Alternative mode for Pools with the Two Token specialization setting
[codex:544923]
[codex:544923]
[codex:544923] thinking
[codex:544923] **Reviewing potential vulnerabilities in asset and fee handling**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,160p' contracts/contracts/vault/Vault.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923]
[codex:544923] import "./interfaces/IAuthorizer.sol";
[codex:544923] import "./interfaces/IWETH.sol";
[codex:544923]
[codex:544923]
[codex:544923] thinking
[codex:544923] **Inspecting Fees contract for vulnerabilities**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/Fees.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923]
[codex:544923] import "../lib/math/FixedPoint.sol";
[codex:544923] import "../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../lib/openzeppelin/IERC20.sol";
[codex:544923]
[codex:544923]
[codex:544923] thinking
[codex:544923] **Analyzing detailed security considerations**
[codex:544923]
[codex:544923] I've carefully reviewed many potential vulnerabilities including reentrancy, authentication, signature validation, and upgradeability. I explored subtle issues like unchecked return values, pool registration by EOAs, replay attacks, and token duplication in batch swaps. While some design quirks and edge cases surfaced, none appear exploitable given the current safeguards, so I lean toward reporting no findings but remain attentive to nuanced risks.
[codex:544923] thinking
[codex:544923] **Evaluating duplicate assets effect on swaps**
[codex:544923]
[codex:544923] I'm examining how duplicate tokens in the assets array interact with asset deltas and swap limits. While duplicates cause individual deltas to be handled separately, the contract’s checks on token equality and delta limits appear designed to prevent abuses like bypassing swap constraints. The nuanced behaviors don’t show exploitable vulnerabilities but are worth noting for how limits and deltas interplay.
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/lib/helpers/TemporarilyPausable.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 6ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923]
[codex:544923] import "./BalancerErrors.sol";
[codex:544923] import "./ITemporarilyPausable.sol";
[codex:544923]
[codex:544923] /**
[codex:544923]
[codex:544923] thinking
[codex:544923] **Analyzing potential vulnerabilities and design risks**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'rg -n "TODO|HACK|FIXME|DANGER|unchecked" contracts/contracts -g "*.sol"' in /tmp/codex-multi-p2j0ji02 succeeded in 9ms:
[codex:544923] contracts/contracts/vault/Swaps.sol:399: uint256 indexIn = poolBalances.unchecked_indexOf(request.tokenIn);
[codex:544923] contracts/contracts/vault/Swaps.sol:400: uint256 indexOut = poolBalances.unchecked_indexOf(request.tokenOut);
[codex:544923] contracts/contracts/vault/Swaps.sol:420: // know `i` is a valid token index and can use `unchecked_valueAt` to save storage reads.
[codex:544923] contracts/contracts/vault/Swaps.sol:421: bytes32 balance = poolBalances.unchecked_valueAt(i);
[codex:544923] contracts/contracts/vault/Swaps.sol:440: // 'token in' and 'token out', we can use `unchecked_setAt` to save storage reads.
[codex:544923] contracts/contracts/vault/Swaps.sol:441: poolBalances.unchecked_setAt(indexIn, tokenInBalance);
[codex:544923] contracts/contracts/vault/Swaps.sol:442: poolBalances.unchecked_setAt(indexOut, tokenOutBalance);
[codex:544923] contracts/contracts/vault/balances/MinimalSwapInfoPoolsBalance.sol:189: // `unchecked_at` as we know `i` is a valid token index, saving storage reads.
[codex:544923] contracts/contracts/vault/balances/MinimalSwapInfoPoolsBalance.sol:190: IERC20 token = IERC20(poolTokens.unchecked_at(i));
[codex:544923] contracts/contracts/vault/AssetTransfersHandler.sol:71: // and the amount to decrease, it is safe to perform unchecked arithmetic.
[codex:544923] contracts/contracts/vault/balances/GeneralPoolsBalance.sol:96: // Since we assume all balances are properly ordered, we can simply use `unchecked_setAt` to avoid one less
[codex:544923] contracts/contracts/vault/balances/GeneralPoolsBalance.sol:98: poolBalances.unchecked_setAt(i, balances[i]);
[codex:544923] contracts/contracts/vault/balances/GeneralPoolsBalance.sol:187: // `unchecked_at` as we know `i` is a valid token index, saving storage reads.
[codex:544923] contracts/contracts/vault/balances/GeneralPoolsBalance.sol:188: (tokens[i], balances[i]) = poolBalances.unchecked_at(i);
[codex:544923] contracts/contracts/lib/openzeppelin/SafeCast.sol:16: * Using this library instead of the unchecked operations eliminates an entire
[codex:544923] contracts/contracts/lib/openzeppelin/EnumerableSet.sol:10:// The `unchecked_at` function was also added, which allows for more gas efficient data reads in some scenarios.
[codex:544923] contracts/contracts/lib/openzeppelin/EnumerableSet.sol:133: return unchecked_at(set, index);
[codex:544923] contracts/contracts/lib/openzeppelin/EnumerableSet.sol:143: function unchecked_at(AddressSet storage set, uint256 index) internal view returns (address) {
[codex:544923] contracts/contracts/lib/openzeppelin/EnumerableMap.sol:8:// * unchecked_at and unchecked_valueAt, which allow for more gas efficient data reads in some scenarios
[codex:544923] contracts/contracts/lib/openzeppelin/EnumerableMap.sol:9:// * unchecked_indexOf and unchecked_setAt, which allow for more gas efficient data writes in some scenarios
[codex:544923]
[codex:544923] thinking
[codex:544923] **Reviewing potential signature and relayer risks**
[codex:544923] exec
[codex:544923] /bin/bash -lc "sed -n '1,200p' contracts/contracts/vault/balances/TwoTokenPoolsBalance.sol" in /tmp/codex-multi-p2j0ji02 succeeded in 7ms:
[codex:544923] // SPDX-License-Identifier: GPL-3.0-or-later
[codex:544923] // This program is free software: you can redistribute it and/or modify
[codex:544923] // it under the terms of the GNU General Public License as published by
[codex:544923] // the Free Software Foundation, either version 3 of the License, or
[codex:544923] // (at your option) any later version.
[codex:544923]
[codex:544923] // This program is distributed in the hope that it will be useful,
[codex:544923] // but WITHOUT ANY WARRANTY; without even the implied warranty of
[codex:544923] // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
[codex:544923] // GNU General Public License for more details.
[codex:544923]
[codex:544923] // You should have received a copy of the GNU General Public License
[codex:544923] // along with this program. If not, see <http://www.gnu.org/licenses/>.
[codex:544923]
[codex:544923] pragma solidity ^0.7.0;
[codex:544923] pragma experimental ABIEncoderV2;
[codex:544923]
[codex:544923] import "../../lib/helpers/BalancerErrors.sol";
[codex:544923] import "../../lib/openzeppelin/IERC20.sol";
[codex:544923]
[codex:544923]
[codex:544923] thinking
[codex:544923] **Assessing potential vulnerabilities**
[codex:544923] exec
[codex:544923] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-p2j0ji02 succeeded in 5ms:
[codex:544923] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:544923]
[codex:544923] thinking
[codex:544923] **Reviewing and finalizing audit report**
[codex:544923]
[codex:544923] I'm carefully verifying that the summary string and findings array align with expectations and that any potential signature-related edge cases or governance risks do not translate into exploitable vulnerabilities. I'll ensure the JSON output is valid and clearly states no findings within the specified audit scope.
[codex:544923] codex
[codex:544923] {"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party Vault contracts within the provided AUDIT_BUNDLE scope.","findings":[]}
[codex:544923] tokens used
[codex:544923] 121,759
[codex:544923] {"no_findings":true,"summary":"No exploitable vulnerabilities found in the first-party Vault contracts within the provided AUDIT_BUNDLE scope.","findings":[]}
{
"codex": {
"ran_at": "2025-12-26T15:22:48.409945+00:00",
"returncode": 0
},
"summary": "No exploitable vulnerabilities found in the first-party Vault contracts within the provided AUDIT_BUNDLE scope.",
"raw_final": {
"summary": "No exploitable vulnerabilities found in the first-party Vault contracts within the provided AUDIT_BUNDLE scope.",
"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 0x01a5 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x945bcec9 00000019: GT 0000001a: PUSH2 0x00e1 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xe6c46092 00000024: GT 00000025: PUSH2 0x008a 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xf84d066e 0000002f: GT 00000030: PUSH2 0x0064 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xf84d066e 0000003a: EQ 0000003b: PUSH2 0x048a 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xf94d4668 00000045: EQ 00000046: PUSH2 0x04aa 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xfa6e671d 00000050: EQ 00000051: PUSH2 0x04d9 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xfec90d72 0000005b: EQ 0000005c: PUSH2 0x04f9 0000005f: JUMPI 00000060: PUSH2 0x01d3 00000063: JUMP 00000064: JUMPDEST 00000065: DUP1 00000066: PUSH4 0xe6c46092 0000006b: EQ 0000006c: PUSH2 0x0427 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0xed24911d 00000076: EQ 00000077: PUSH2 0x0447 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xf6c00927 00000081: EQ 00000082: PUSH2 0x045c 00000085: JUMPI 00000086: PUSH2 0x01d3 00000089: JUMP 0000008a: JUMPDEST 0000008b: DUP1 0000008c: PUSH4 0xb05f8e48 00000091: GT 00000092: PUSH2 0x00bb 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0xb05f8e48 0000009c: EQ 0000009d: PUSH2 0x03cf 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0xb95cac28 000000a7: EQ 000000a8: PUSH2 0x03ff 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0xd2946c2b 000000b2: EQ 000000b3: PUSH2 0x0412 000000b6: JUMPI 000000b7: PUSH2 0x01d3 000000ba: JUMP 000000bb: JUMPDEST 000000bc: DUP1 000000bd: PUSH4 0x945bcec9 000000c2: EQ 000000c3: PUSH2 0x0385 000000c6: JUMPI 000000c7: DUP1 000000c8: PUSH4 0xaaabadc5 000000cd: EQ 000000ce: PUSH2 0x0398 000000d1: JUMPI 000000d2: DUP1 000000d3: PUSH4 0xad5c4648 000000d8: EQ 000000d9: PUSH2 0x03ba 000000dc: JUMPI 000000dd: PUSH2 0x01d3 000000e0: JUMP 000000e1: JUMPDEST 000000e2: DUP1 000000e3: PUSH4 0x52bbbe29 000000e8: GT 000000e9: PUSH2 0x014e 000000ec: JUMPI 000000ed: DUP1 000000ee: PUSH4 0x7d3aeb96 000000f3: GT 000000f4: PUSH2 0x0128 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0x7d3aeb96 000000fe: EQ 000000ff: PUSH2 0x0305 00000102: JUMPI 00000103: DUP1 00000104: PUSH4 0x851c1bb3 00000109: EQ 0000010a: PUSH2 0x0325 0000010d: JUMPI 0000010e: DUP1 0000010f: PUSH4 0x8bdb3913 00000114: EQ 00000115: PUSH2 0x0345 00000118: JUMPI 00000119: DUP1 0000011a: PUSH4 0x90193b7c 0000011f: EQ 00000120: PUSH2 0x0365 00000123: JUMPI 00000124: PUSH2 0x01d3 00000127: JUMP 00000128: JUMPDEST 00000129: DUP1 0000012a: PUSH4 0x52bbbe29 0000012f: EQ 00000130: PUSH2 0x02b2 00000133: JUMPI 00000134: DUP1 00000135: PUSH4 0x5c38449e 0000013a: EQ 0000013b: PUSH2 0x02c5 0000013e: JUMPI 0000013f: DUP1 00000140: PUSH4 0x66a9c7d2 00000145: EQ 00000146: PUSH2 0x02e5 00000149: JUMPI 0000014a: PUSH2 0x01d3 0000014d: JUMP 0000014e: JUMPDEST 0000014f: DUP1 00000150: PUSH4 0x0f5a6efa 00000155: GT 00000156: PUSH2 0x017f 00000159: JUMPI 0000015a: DUP1 0000015b: PUSH4 0x0f5a6efa 00000160: EQ 00000161: PUSH2 0x0241 00000164: JUMPI 00000165: DUP1 00000166: PUSH4 0x16c38b3c 0000016b: EQ 0000016c: PUSH2 0x026e 0000016f: JUMPI 00000170: DUP1 00000171: PUSH4 0x1c0de051 00000176: EQ 00000177: PUSH2 0x028e 0000017a: JUMPI 0000017b: PUSH2 0x01d3 0000017e: JUMP 0000017f: JUMPDEST 00000180: DUP1 00000181: PUSH4 0x058a628f 00000186: EQ 00000187: PUSH2 0x01d8 0000018a: JUMPI 0000018b: DUP1 0000018c: PUSH4 0x09b2760f 00000191: EQ 00000192: PUSH2 0x01f8 00000195: JUMPI 00000196: DUP1 00000197: PUSH4 0x0e8e3e84 0000019c: EQ 0000019d: PUSH2 0x022e 000001a0: JUMPI 000001a1: PUSH2 0x01d3 000001a4: JUMP 000001a5: JUMPDEST 000001a6: CALLDATASIZE 000001a7: PUSH2 0x01d3 000001aa: JUMPI 000001ab: PUSH2 0x01d1 000001ae: PUSH2 0x01b5 000001b1: PUSH2 0x0526 000001b4: JUMP 000001b5: JUMPDEST 000001b6: PUSH1 0x01 000001b8: PUSH1 0x01 000001ba: PUSH1 0xa0 000001bc: SHL 000001bd: SUB 000001be: AND 000001bf: CALLER 000001c0: PUSH1 0x01 000001c2: PUSH1 0x01 000001c4: PUSH1 0xa0 000001c6: SHL 000001c7: SUB 000001c8: AND 000001c9: EQ 000001ca: PUSH2 0x0206 000001cd: PUSH2 0x054b 000001d0: JUMP 000001d1: JUMPDEST 000001d2: STOP 000001d3: JUMPDEST 000001d4: PUSH1 0x00 000001d6: DUP1 000001d7: REVERT 000001d8: JUMPDEST 000001d9: CALLVALUE 000001da: DUP1 000001db: ISZERO 000001dc: PUSH2 0x01e4 000001df: JUMPI 000001e0: PUSH1 0x00 000001e2: DUP1 000001e3: REVERT 000001e4: JUMPDEST 000001e5: POP 000001e6: PUSH2 0x01d1 000001e9: PUSH2 0x01f3 000001ec: CALLDATASIZE 000001ed: PUSH1 0x04 000001ef: PUSH2 0x5157 000001f2: JUMP 000001f3: JUMPDEST 000001f4: PUSH2 0x055d 000001f7: JUMP 000001f8: JUMPDEST 000001f9: CALLVALUE 000001fa: DUP1 000001fb: ISZERO 000001fc: PUSH2 0x0204 000001ff: JUMPI 00000200: PUSH1 0x00 00000202: DUP1 00000203: REVERT 00000204: JUMPDEST 00000205: POP 00000206: PUSH2 0x0218 00000209: PUSH2 0x0213 0000020c: CALLDATASIZE 0000020d: PUSH1 0x04 0000020f: PUSH2 0x56e6 00000212: JUMP 00000213: JUMPDEST 00000214: PUSH2 0x0581 00000217: JUMP 00000218: JUMPDEST 00000219: PUSH1 0x40 0000021b: MLOAD 0000021c: PUSH2 0x0225 0000021f: SWAP2 00000220: SWAP1 00000221: PUSH2 0x5d3e 00000224: JUMP 00000225: JUMPDEST 00000226: PUSH1 0x40 00000228: MLOAD 00000229: DUP1 0000022a: SWAP2 0000022b: SUB 0000022c: SWAP1 0000022d: RETURN 0000022e: JUMPDEST 0000022f: PUSH2 0x01d1 00000232: PUSH2 0x023c 00000235: CALLDATASIZE 00000236: PUSH1 0x04 00000238: PUSH2 0x531e 0000023b: JUMP 0000023c: JUMPDEST 0000023d: PUSH2 0x0634 00000240: JUMP 00000241: JUMPDEST 00000242: CALLVALUE 00000243: DUP1 00000244: ISZERO 00000245: PUSH2 0x024d 00000248: JUMPI 00000249: PUSH1 0x00 0000024b: DUP1 0000024c: REVERT 0000024d: JUMPDEST 0000024e: POP 0000024f: PUSH2 0x0261 00000252: PUSH2 0x025c 00000255: CALLDATASIZE 00000256: PUSH1 0x04 00000258: PUSH2 0x51f5 0000025b: JUMP 0000025c: JUMPDEST 0000025d: PUSH2 0x0770 00000260: JUMP 00000261: JUMPDEST 00000262: PUSH1 0x40 00000264: MLOAD 00000265: PUSH2 0x0225 00000268: SWAP2 00000269: SWAP1 0000026a: PUSH2 0x5d08 0000026d: JUMP 0000026e: JUMPDEST 0000026f: CALLVALUE 00000270: DUP1 00000271: ISZERO 00000272: PUSH2 0x027a 00000275: JUMPI 00000276: PUSH1 0x00 00000278: DUP1 00000279: REVERT 0000027a: JUMPDEST 0000027b: POP 0000027c: PUSH2 0x01d1 0000027f: PUSH2 0x0289 00000282: CALLDATASIZE 00000283: PUSH1 0x04 00000285: PUSH2 0x545c 00000288: JUMP 00000289: JUMPDEST 0000028a: PUSH2 0x0806 0000028d: JUMP 0000028e: JUMPDEST 0000028f: CALLVALUE 00000290: DUP1 00000291: ISZERO 00000292: PUSH2 0x029a 00000295: JUMPI 00000296: PUSH1 0x00 00000298: DUP1 00000299: REVERT 0000029a: JUMPDEST 0000029b: POP 0000029c: PUSH2 0x02a3 0000029f: PUSH2 0x081f 000002a2: JUMP 000002a3: JUMPDEST 000002a4: PUSH1 0x40 000002a6: MLOAD 000002a7: PUSH2 0x0225 000002aa: SWAP4 000002ab: SWAP3 000002ac: SWAP2 000002ad: SWAP1 000002ae: PUSH2 0x5d26 000002b1: JUMP 000002b2: JUMPDEST 000002b3: PUSH2 0x0218 000002b6: PUSH2 0x02c0 000002b9: CALLDATASIZE 000002ba: PUSH1 0x04 000002bc: PUSH2 0x588f 000002bf: JUMP 000002c0: JUMPDEST 000002c1: PUSH2 0x0848 000002c4: JUMP 000002c5: JUMPDEST 000002c6: CALLVALUE 000002c7: DUP1 000002c8: ISZERO 000002c9: PUSH2 0x02d1 000002cc: JUMPI 000002cd: PUSH1 0x00 000002cf: DUP1 000002d0: REVERT 000002d1: JUMPDEST 000002d2: POP 000002d3: PUSH2 0x01d1 000002d6: PUSH2 0x02e0 000002d9: CALLDATASIZE 000002da: PUSH1 0x04 000002dc: PUSH2 0x565b 000002df: JUMP 000002e0: JUMPDEST 000002e1: PUSH2 0x09e9 000002e4: JUMP 000002e5: JUMPDEST 000002e6: CALLVALUE 000002e7: DUP1 000002e8: ISZERO 000002e9: PUSH2 0x02f1 000002ec: JUMPI 000002ed: PUSH1 0x00 000002ef: DUP1 000002f0: REVERT 000002f1: JUMPDEST 000002f2: POP 000002f3: PUSH2 0x01d1 000002f6: PUSH2 0x0300 000002f9: CALLDATASIZE 000002fa: PUSH1 0x04 000002fc: PUSH2 0x5545 000002ff: JUMP 00000300: JUMPDEST 00000301: PUSH2 0x0e06 00000304: JUMP 00000305: JUMPDEST 00000306: CALLVALUE 00000307: DUP1 00000308: ISZERO 00000309: PUSH2 0x0311 0000030c: JUMPI 0000030d: PUSH1 0x00 0000030f: DUP1 00000310: REVERT 00000311: JUMPDEST 00000312: POP 00000313: PUSH2 0x01d1 00000316: PUSH2 0x0320 00000319: CALLDATASIZE 0000031a: PUSH1 0x04 0000031c: PUSH2 0x5516 0000031f: JUMP 00000320: JUMPDEST 00000321: PUSH2 0x0fa5 00000324: JUMP 00000325: JUMPDEST 00000326: CALLVALUE 00000327: DUP1 00000328: ISZERO 00000329: PUSH2 0x0331 0000032c: JUMPI 0000032d: PUSH1 0x00 0000032f: DUP1 00000330: REVERT 00000331: JUMPDEST 00000332: POP 00000333: PUSH2 0x0218 00000336: PUSH2 0x0340 00000339: CALLDATASIZE 0000033a: PUSH1 0x04 0000033c: PUSH2 0x5633 0000033f: JUMP 00000340: JUMPDEST 00000341: PUSH2 0x10f9 00000344: JUMP 00000345: JUMPDEST 00000346: CALLVALUE 00000347: DUP1 00000348: ISZERO 00000349: PUSH2 0x0351 0000034c: JUMPI 0000034d: PUSH1 0x00 0000034f: DUP1 00000350: REVERT 00000351: JUMPDEST 00000352: POP 00000353: PUSH2 0x01d1 00000356: PUSH2 0x0360 00000359: CALLDATASIZE 0000035a: PUSH1 0x04 0000035c: PUSH2 0x54ac 0000035f: JUMP 00000360: JUMPDEST 00000361: PUSH2 0x114b 00000364: JUMP 00000365: JUMPDEST 00000366: CALLVALUE 00000367: DUP1 00000368: ISZERO 00000369: PUSH2 0x0371 0000036c: JUMPI 0000036d: PUSH1 0x00 0000036f: DUP1 00000370: REVERT 00000371: JUMPDEST 00000372: POP 00000373: PUSH2 0x0218 00000376: PUSH2 0x0380 00000379: CALLDATASIZE 0000037a: PUSH1 0x04 0000037c: PUSH2 0x5157 0000037f: JUMP 00000380: JUMPDEST 00000381: PUSH2 0x1161 00000384: JUMP 00000385: JUMPDEST 00000386: PUSH2 0x0261 00000389: PUSH2 0x0393 0000038c: CALLDATASIZE 0000038d: PUSH1 0x04 0000038f: PUSH2 0x5786 00000392: JUMP 00000393: JUMPDEST 00000394: PUSH2 0x117c 00000397: JUMP 00000398: JUMPDEST 00000399: CALLVALUE 0000039a: DUP1 0000039b: ISZERO 0000039c: PUSH2 0x03a4 0000039f: JUMPI 000003a0: PUSH1 0x00 000003a2: DUP1 000003a3: REVERT 000003a4: JUMPDEST 000003a5: POP 000003a6: PUSH2 0x03ad 000003a9: PUSH2 0x12b0 000003ac: JUMP 000003ad: JUMPDEST 000003ae: PUSH1 0x40 000003b0: MLOAD 000003b1: PUSH2 0x0225 000003b4: SWAP2 000003b5: SWAP1 000003b6: PUSH2 0x5b63 000003b9: JUMP 000003ba: JUMPDEST 000003bb: CALLVALUE 000003bc: DUP1 000003bd: ISZERO 000003be: PUSH2 0x03c6 000003c1: JUMPI 000003c2: PUSH1 0x00 000003c4: DUP1 000003c5: REVERT 000003c6: JUMPDEST 000003c7: POP 000003c8: PUSH2 0x03ad 000003cb: PUSH2 0x12c4 000003ce: JUMP 000003cf: JUMPDEST 000003d0: CALLVALUE 000003d1: DUP1 000003d2: ISZERO 000003d3: PUSH2 0x03db 000003d6: JUMPI 000003d7: PUSH1 0x00 000003d9: DUP1 000003da: REVERT 000003db: JUMPDEST 000003dc: POP 000003dd: PUSH2 0x03ef 000003e0: PUSH2 0x03ea 000003e3: CALLDATASIZE 000003e4: PUSH1 0x04 000003e6: PUSH2 0x560f 000003e9: JUMP 000003ea: JUMPDEST 000003eb: PUSH2 0x12d3 000003ee: JUMP 000003ef: JUMPDEST 000003f0: PUSH1 0x40 000003f2: MLOAD 000003f3: PUSH2 0x0225 000003f6: SWAP5 000003f7: SWAP4 000003f8: SWAP3 000003f9: SWAP2 000003fa: SWAP1 000003fb: PUSH2 0x5eb9 000003fe: JUMP 000003ff: JUMPDEST 00000400: PUSH2 0x01d1 00000403: PUSH2 0x040d 00000406: CALLDATASIZE 00000407: PUSH1 0x04 00000409: PUSH2 0x54ac 0000040c: JUMP 0000040d: JUMPDEST 0000040e: PUSH2 0x1396 00000411: JUMP 00000412: JUMPDEST 00000413: CALLVALUE 00000414: DUP1 00000415: ISZERO 00000416: PUSH2 0x041e 00000419: JUMPI 0000041a: PUSH1 0x00 0000041c: DUP1 0000041d: REVERT 0000041e: JUMPDEST 0000041f: POP 00000420: PUSH2 0x03ad 00000423: PUSH2 0x13af 00000426: JUMP 00000427: JUMPDEST 00000428: CALLVALUE 00000429: DUP1 0000042a: ISZERO 0000042b: PUSH2 0x0433 0000042e: JUMPI 0000042f: PUSH1 0x00 00000431: DUP1 00000432: REVERT 00000433: JUMPDEST 00000434: POP 00000435: PUSH2 0x01d1 00000438: PUSH2 0x0442 0000043b: CALLDATASIZE 0000043c: PUSH1 0x04 0000043e: PUSH2 0x5243 00000441: JUMP 00000442: JUMPDEST 00000443: PUSH2 0x13d3 00000446: JUMP 00000447: JUMPDEST 00000448: CALLVALUE 00000449: DUP1 0000044a: ISZERO 0000044b: PUSH2 0x0453 0000044e: JUMPI 0000044f: PUSH1 0x00 00000451: DUP1 00000452: REVERT 00000453: JUMPDEST 00000454: POP 00000455: PUSH2 0x0218 00000458: PUSH2 0x14ef 0000045b: JUMP 0000045c: JUMPDEST 0000045d: CALLVALUE 0000045e: DUP1 0000045f: ISZERO 00000460: PUSH2 0x0468 00000463: JUMPI 00000464: PUSH1 0x00 00000466: DUP1 00000467: REVERT 00000468: JUMPDEST 00000469: POP 0000046a: PUSH2 0x047c 0000046d: PUSH2 0x0477 00000470: CALLDATASIZE 00000471: PUSH1 0x04 00000473: PUSH2 0x5494 00000476: JUMP 00000477: JUMPDEST 00000478: PUSH2 0x14f9 0000047b: JUMP 0000047c: JUMPDEST 0000047d: PUSH1 0x40 0000047f: MLOAD 00000480: PUSH2 0x0225 00000483: SWAP3 00000484: SWAP2 00000485: SWAP1 00000486: PUSH2 0x5b9b 00000489: JUMP 0000048a: JUMPDEST 0000048b: CALLVALUE 0000048c: DUP1 0000048d: ISZERO 0000048e: PUSH2 0x0496 00000491: JUMPI 00000492: PUSH1 0x00 00000494: DUP1 00000495: REVERT 00000496: JUMPDEST 00000497: POP 00000498: PUSH2 0x0261 0000049b: PUSH2 0x04a5 0000049e: CALLDATASIZE 0000049f: PUSH1 0x04 000004a1: PUSH2 0x5702 000004a4: JUMP 000004a5: JUMPDEST 000004a6: PUSH2 0x1523 000004a9: JUMP 000004aa: JUMPDEST 000004ab: CALLVALUE 000004ac: DUP1 000004ad: ISZERO 000004ae: PUSH2 0x04b6 000004b1: JUMPI 000004b2: PUSH1 0x00 000004b4: DUP1 000004b5: REVERT 000004b6: JUMPDEST 000004b7: POP 000004b8: PUSH2 0x04ca 000004bb: PUSH2 0x04c5 000004be: CALLDATASIZE 000004bf: PUSH1 0x04 000004c1: PUSH2 0x5494 000004c4: JUMP 000004c5: JUMPDEST 000004c6: PUSH2 0x1620 000004c9: JUMP 000004ca: JUMPDEST 000004cb: PUSH1 0x40 000004cd: MLOAD 000004ce: PUSH2 0x0225 000004d1: SWAP4 000004d2: SWAP3 000004d3: SWAP2 000004d4: SWAP1 000004d5: PUSH2 0x5cd2 000004d8: JUMP 000004d9: JUMPDEST 000004da: CALLVALUE 000004db: DUP1 000004dc: ISZERO 000004dd: PUSH2 0x04e5 000004e0: JUMPI 000004e1: PUSH1 0x00 000004e3: DUP1 000004e4: REVERT 000004e5: JUMPDEST 000004e6: POP 000004e7: PUSH2 0x01d1 000004ea: PUSH2 0x04f4 000004ed: CALLDATASIZE 000004ee: PUSH1 0x04 000004f0: PUSH2 0x51ab 000004f3: JUMP 000004f4: JUMPDEST 000004f5: PUSH2 0x1654 000004f8: JUMP 000004f9: JUMPDEST 000004fa: CALLVALUE 000004fb: DUP1 000004fc: ISZERO 000004fd: PUSH2 0x0505 00000500: JUMPI 00000501: PUSH1 0x00 00000503: DUP1 00000504: REVERT 00000505: JUMPDEST 00000506: POP 00000507: PUSH2 0x0519 0000050a: PUSH2 0x0514 0000050d: CALLDATASIZE 0000050e: PUSH1 0x04 00000510: PUSH2 0x5173 00000513: JUMP 00000514: JUMPDEST 00000515: PUSH2 0x16e6 00000518: JUMP 00000519: JUMPDEST 0000051a: PUSH1 0x40 0000051c: MLOAD 0000051d: PUSH2 0x0225 00000520: SWAP2 00000521: SWAP1 00000522: PUSH2 0x5d1b 00000525: JUMP 00000526: JUMPDEST 00000527: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000548: JUMPDEST 00000549: SWAP1 0000054a: JUMP 0000054b: JUMPDEST 0000054c: DUP2 0000054d: PUSH2 0x0559 00000550: JUMPI 00000551: PUSH2 0x0559 00000554: DUP2 00000555: PUSH2 0x16fb 00000558: JUMP 00000559: JUMPDEST 0000055a: POP 0000055b: POP 0000055c: JUMP 0000055d: JUMPDEST 0000055e: PUSH2 0x0565 00000561: PUSH2 0x1768 00000564: JUMP 00000565: JUMPDEST 00000566: PUSH2 0x056d 00000569: PUSH2 0x1781 0000056c: JUMP 0000056d: JUMPDEST 0000056e: PUSH2 0x0576 00000571: DUP2 00000572: PUSH2 0x17af 00000575: JUMP 00000576: JUMPDEST 00000577: PUSH2 0x057e 0000057a: PUSH2 0x1822 0000057d: JUMP 0000057e: JUMPDEST 0000057f: POP 00000580: JUMP 00000581: JUMPDEST 00000582: PUSH1 0x00 00000584: PUSH2 0x058b 00000587: PUSH2 0x1768 0000058a: JUMP 0000058b: JUMPDEST 0000058c: PUSH2 0x0593 0000058f: PUSH2 0x1829 00000592: JUMP 00000593: JUMPDEST 00000594: PUSH1 0x00 00000596: PUSH2 0x05a2 00000599: CALLER 0000059a: DUP5 0000059b: PUSH1 0x06 0000059d: SLOAD 0000059e: PUSH2 0x183e 000005a1: JUMP 000005a2: JUMPDEST 000005a3: PUSH1 0x00 000005a5: DUP2 000005a6: DUP2 000005a7: MSTORE 000005a8: PUSH1 0x05 000005aa: PUSH1 0x20 000005ac: MSTORE 000005ad: PUSH1 0x40 000005af: SWAP1 000005b0: KECCAK256 000005b1: SLOAD 000005b2: SWAP1 000005b3: SWAP2 000005b4: POP 000005b5: PUSH2 0x05c4 000005b8: SWAP1 000005b9: PUSH1 0xff 000005bb: AND 000005bc: ISZERO 000005bd: PUSH2 0x01f4 000005c0: PUSH2 0x054b 000005c3: JUMP 000005c4: JUMPDEST 000005c5: PUSH1 0x00 000005c7: DUP2 000005c8: DUP2 000005c9: MSTORE 000005ca: PUSH1 0x05 000005cc: PUSH1 0x20 000005ce: MSTORE 000005cf: PUSH1 0x40 000005d1: SWAP1 000005d2: DUP2 000005d3: SWAP1 000005d4: KECCAK256 000005d5: DUP1 000005d6: SLOAD 000005d7: PUSH1 0xff 000005d9: NOT 000005da: AND 000005db: PUSH1 0x01 000005dd: SWAP1 000005de: DUP2 000005df: OR 000005e0: SWAP1 000005e1: SWAP2 000005e2: SSTORE 000005e3: PUSH1 0x06 000005e5: DUP1 000005e6: SLOAD 000005e7: SWAP1 000005e8: SWAP2 000005e9: ADD 000005ea: SWAP1 000005eb: SSTORE 000005ec: MLOAD 000005ed: CALLER 000005ee: SWAP1 000005ef: DUP3 000005f0: SWAP1 000005f1: PUSH32 0x3c13bc30b8e878c53fd2a36b679409c073afd75950be43d8858768e956fbc20e 00000612: SWAP1 00000613: PUSH2 0x061d 00000616: SWAP1 00000617: DUP8 00000618: SWAP1 00000619: PUSH2 0x5e3a 0000061c: JUMP 0000061d: JUMPDEST 0000061e: PUSH1 0x40 00000620: MLOAD 00000621: DUP1 00000622: SWAP2 00000623: SUB 00000624: SWAP1 00000625: LOG3 00000626: SWAP1 00000627: POP 00000628: PUSH2 0x062f 0000062b: PUSH2 0x1822 0000062e: JUMP 0000062f: JUMPDEST 00000630: SWAP2 00000631: SWAP1 00000632: POP 00000633: JUMP 00000634: JUMPDEST 00000635: PUSH2 0x063c 00000638: PUSH2 0x1768 0000063b: JUMP 0000063c: JUMPDEST 0000063d: PUSH1 0x00 0000063f: DUP1 00000640: PUSH1 0x00 00000642: DUP1 00000643: JUMPDEST 00000644: DUP5 00000645: MLOAD 00000646: DUP2 00000647: LT 00000648: ISZERO 00000649: PUSH2 0x075b 0000064c: JUMPI 0000064d: PUSH1 0x00 0000064f: DUP1 00000650: PUSH1 0x00 00000652: DUP1 00000653: PUSH1 0x00 00000655: PUSH2 0x0671 00000658: DUP11 00000659: DUP8 0000065a: DUP2 0000065b: MLOAD 0000065c: DUP2 0000065d: LT 0000065e: PUSH2 0x0663 00000661: JUMPI 00000662: INVALID 00000663: JUMPDEST 00000664: PUSH1 0x20 00000666: MUL 00000667: PUSH1 0x20 00000669: ADD 0000066a: ADD 0000066b: MLOAD 0000066c: DUP10 0000066d: PUSH2 0x187d 00000670: JUMP 00000671: JUMPDEST 00000672: SWAP13 00000673: POP 00000674: SWAP4 00000675: SWAP9 00000676: POP 00000677: SWAP2 00000678: SWAP7 00000679: POP 0000067a: SWAP5 0000067b: POP 0000067c: SWAP3 0000067d: POP 0000067e: SWAP1 0000067f: POP 00000680: PUSH1 0x01 00000682: DUP6 00000683: PUSH1 0x03 00000685: DUP2 00000686: GT 00000687: ISZERO 00000688: PUSH2 0x068d 0000068b: JUMPI 0000068c: INVALID 0000068d: JUMPDEST 0000068e: EQ 0000068f: ISZERO 00000690: PUSH2 0x06a4 00000693: JUMPI 00000694: PUSH2 0x069f 00000697: DUP5 00000698: DUP4 00000699: DUP4 0000069a: DUP7 0000069b: PUSH2 0x18f5 0000069e: JUMP 0000069f: JUMPDEST 000006a0: PUSH2 0x074a 000006a3: JUMP 000006a4: JUMPDEST 000006a5: DUP7 000006a6: PUSH2 0x06b6 000006a9: JUMPI 000006aa: PUSH2 0x06b1 000006ad: PUSH2 0x1829 000006b0: JUMP 000006b1: JUMPDEST 000006b2: PUSH1 0x01 000006b4: SWAP7 000006b5: POP 000006b6: JUMPDEST 000006b7: PUSH1 0x00 000006b9: DUP6 000006ba: PUSH1 0x03 000006bc: DUP2 000006bd: GT 000006be: ISZERO 000006bf: PUSH2 0x06c4 000006c2: JUMPI 000006c3: INVALID 000006c4: JUMPDEST 000006c5: EQ 000006c6: ISZERO 000006c7: PUSH2 0x06f5 000006ca: JUMPI 000006cb: PUSH2 0x06d6 000006ce: DUP5 000006cf: DUP4 000006d0: DUP4 000006d1: DUP7 000006d2: PUSH2 0x1918 000006d5: JUMP 000006d6: JUMPDEST 000006d7: PUSH2 0x06df 000006da: DUP5 000006db: PUSH2 0x1938 000006de: JUMP 000006df: JUMPDEST 000006e0: ISZERO 000006e1: PUSH2 0x069f 000006e4: JUMPI 000006e5: PUSH2 0x06ee 000006e8: DUP10 000006e9: DUP5 000006ea: PUSH2 0x1945 000006ed: JUMP 000006ee: JUMPDEST 000006ef: SWAP9 000006f0: POP 000006f1: PUSH2 0x074a 000006f4: JUMP 000006f5: JUMPDEST 000006f6: PUSH2 0x070a 000006f9: PUSH2 0x0701 000006fc: DUP6 000006fd: PUSH2 0x1938 00000700: JUMP 00000701: JUMPDEST 00000702: ISZERO 00000703: PUSH2 0x0207 00000706: PUSH2 0x054b 00000709: JUMP 0000070a: JUMPDEST 0000070b: PUSH1 0x00 0000070d: PUSH2 0x0715 00000710: DUP6 00000711: PUSH2 0x0548 00000714: JUMP 00000715: JUMPDEST 00000716: SWAP1 00000717: POP 00000718: PUSH1 0x02 0000071a: DUP7 0000071b: PUSH1 0x03 0000071d: DUP2 0000071e: GT 0000071f: ISZERO 00000720: PUSH2 0x0725 00000723: JUMPI 00000724: INVALID 00000725: JUMPDEST 00000726: EQ 00000727: ISZERO 00000728: PUSH2 0x073c 0000072b: JUMPI 0000072c: PUSH2 0x0737 0000072f: DUP2 00000730: DUP5 00000731: DUP5 00000732: DUP8 00000733: PUSH2 0x1957 00000736: JUMP 00000737: JUMPDEST 00000738: PUSH2 0x0748 0000073b: JUMP 0000073c: JUMPDEST 0000073d: PUSH2 0x0748 00000740: DUP2 00000741: DUP5 00000742: DUP5 00000743: DUP8 00000744: PUSH2 0x1970 00000747: JUMP 00000748: JUMPDEST 00000749: POP 0000074a: JUMPDEST 0000074b: POP 0000074c: POP 0000074d: PUSH1 0x01 0000074f: SWAP1 00000750: SWAP4 00000751: ADD 00000752: SWAP3 00000753: POP 00000754: PUSH2 0x0643 00000757: SWAP2 00000758: POP 00000759: POP 0000075a: JUMP 0000075b: JUMPDEST 0000075c: POP 0000075d: PUSH2 0x0765 00000760: DUP4 00000761: PUSH2 0x19de 00000764: JUMP 00000765: JUMPDEST 00000766: POP 00000767: POP 00000768: POP 00000769: PUSH2 0x057e 0000076c: PUSH2 0x1822 0000076f: JUMP 00000770: JUMPDEST 00000771: PUSH1 0x60 00000773: DUP2 00000774: MLOAD 00000775: PUSH8 0xffffffffffffffff 0000077e: DUP2 0000077f: GT 00000780: DUP1 00000781: ISZERO 00000782: PUSH2 0x078a 00000785: JUMPI 00000786: PUSH1 0x00 00000788: DUP1 00000789: REVERT 0000078a: JUMPDEST 0000078b: POP 0000078c: PUSH1 0x40 0000078e: MLOAD 0000078f: SWAP1 00000790: DUP1 00000791: DUP3 00000792: MSTORE 00000793: DUP1 00000794: PUSH1 0x20 00000796: MUL 00000797: PUSH1 0x20 00000799: ADD 0000079a: DUP3 0000079b: ADD 0000079c: PUSH1 0x40 0000079e: MSTORE 0000079f: DUP1 000007a0: ISZERO 000007a1: PUSH2 0x07b4 000007a4: JUMPI 000007a5: DUP2 000007a6: PUSH1 0x20 000007a8: ADD 000007a9: PUSH1 0x20 000007ab: DUP3 000007ac: MUL 000007ad: DUP1 000007ae: CALLDATASIZE 000007af: DUP4 000007b0: CALLDATACOPY 000007b1: ADD 000007b2: SWAP1 000007b3: POP 000007b4: JUMPDEST 000007b5: POP 000007b6: SWAP1 000007b7: POP 000007b8: PUSH1 0x00 000007ba: JUMPDEST 000007bb: DUP3 000007bc: MLOAD 000007bd: DUP2 000007be: LT 000007bf: ISZERO 000007c0: PUSH2 0x07ff 000007c3: JUMPI 000007c4: PUSH2 0x07e0 000007c7: DUP5 000007c8: DUP5 000007c9: DUP4 000007ca: DUP2 000007cb: MLOAD 000007cc: DUP2 000007cd: LT 000007ce: PUSH2 0x07d3 000007d1: JUMPI 000007d2: INVALID 000007d3: JUMPDEST 000007d4: PUSH1 0x20 000007d6: MUL 000007d7: PUSH1 0x20 000007d9: ADD 000007da: ADD 000007db: MLOAD 000007dc: PUSH2 0x1a01 000007df: JUMP 000007e0: JUMPDEST 000007e1: DUP3 000007e2: DUP3 000007e3: DUP2 000007e4: MLOAD 000007e5: DUP2 000007e6: LT 000007e7: PUSH2 0x07ec 000007ea: JUMPI 000007eb: INVALID 000007ec: JUMPDEST 000007ed: PUSH1 0x20 000007ef: SWAP1 000007f0: DUP2 000007f1: MUL 000007f2: SWAP2 000007f3: SWAP1 000007f4: SWAP2 000007f5: ADD 000007f6: ADD 000007f7: MSTORE 000007f8: PUSH1 0x01 000007fa: ADD 000007fb: PUSH2 0x07ba 000007fe: JUMP 000007ff: JUMPDEST 00000800: POP 00000801: SWAP3 00000802: SWAP2 00000803: POP 00000804: POP 00000805: JUMP 00000806: JUMPDEST 00000807: PUSH2 0x080e 0000080a: PUSH2 0x1768 0000080d: JUMP 0000080e: JUMPDEST 0000080f: PUSH2 0x0816 00000812: PUSH2 0x1781 00000815: JUMP 00000816: JUMPDEST 00000817: PUSH2 0x0576 0000081a: DUP2 0000081b: PUSH2 0x1a2c 0000081e: JUMP 0000081f: JUMPDEST 00000820: PUSH1 0x00 00000822: DUP1 00000823: PUSH1 0x00 00000825: PUSH2 0x082c 00000828: PUSH2 0x1aaa 0000082b: JUMP 0000082c: JUMPDEST 0000082d: ISZERO 0000082e: SWAP3 0000082f: POP 00000830: PUSH2 0x0837 00000833: PUSH2 0x1ac7 00000836: JUMP 00000837: JUMPDEST 00000838: SWAP2 00000839: POP 0000083a: PUSH2 0x0841 0000083d: PUSH2 0x1aeb 00000840: JUMP 00000841: JUMPDEST 00000842: SWAP1 00000843: POP 00000844: SWAP1 00000845: SWAP2 00000846: SWAP3 00000847: JUMP 00000848: JUMPDEST 00000849: PUSH1 0x00 0000084b: PUSH2 0x0852 0000084e: PUSH2 0x1768 00000851: JUMP 00000852: JUMPDEST 00000853: PUSH2 0x085a 00000856: PUSH2 0x1829 00000859: JUMP 0000085a: JUMPDEST 0000085b: DUP4 0000085c: MLOAD 0000085d: PUSH2 0x0865 00000860: DUP2 00000861: PUSH2 0x1b0f 00000864: JUMP 00000865: JUMPDEST 00000866: PUSH2 0x0874 00000869: DUP4 0000086a: TIMESTAMP 0000086b: GT 0000086c: ISZERO 0000086d: PUSH2 0x01fc 00000870: PUSH2 0x054b 00000873: JUMP 00000874: JUMPDEST 00000875: PUSH2 0x0887 00000878: PUSH1 0x00 0000087a: DUP8 0000087b: PUSH1 0x80 0000087d: ADD 0000087e: MLOAD 0000087f: GT 00000880: PUSH2 0x01fe 00000883: PUSH2 0x054b 00000886: JUMP 00000887: JUMPDEST 00000888: PUSH1 0x00 0000088a: PUSH2 0x0896 0000088d: DUP8 0000088e: PUSH1 0x40 00000890: ADD 00000891: MLOAD 00000892: PUSH2 0x1b41 00000895: JUMP 00000896: JUMPDEST 00000897: SWAP1 00000898: POP 00000899: PUSH1 0x00 0000089b: PUSH2 0x08a7 0000089e: DUP9 0000089f: PUSH1 0x60 000008a1: ADD 000008a2: MLOAD 000008a3: PUSH2 0x1b41 000008a6: JUMP 000008a7: JUMPDEST 000008a8: SWAP1 000008a9: POP 000008aa: PUSH2 0x08ca 000008ad: DUP2 000008ae: PUSH1 0x01 000008b0: PUSH1 0x01 000008b2: PUSH1 0xa0 000008b4: SHL 000008b5: SUB 000008b6: AND 000008b7: DUP4 000008b8: PUSH1 0x01 000008ba: PUSH1 0x01 000008bc: PUSH1 0xa0 000008be: SHL 000008bf: SUB 000008c0: AND 000008c1: EQ 000008c2: ISZERO 000008c3: PUSH2 0x01fd 000008c6: PUSH2 0x054b 000008c9: JUMP 000008ca: JUMPDEST 000008cb: PUSH2 0x08d2 000008ce: PUSH2 0x4ce1 000008d1: JUMP 000008d2: JUMPDEST 000008d3: DUP9 000008d4: MLOAD 000008d5: PUSH1 0x80 000008d7: DUP3 000008d8: ADD 000008d9: MSTORE 000008da: PUSH1 0x20 000008dc: DUP10 000008dd: ADD 000008de: MLOAD 000008df: DUP2 000008e0: SWAP1 000008e1: PUSH1 0x01 000008e3: DUP2 000008e4: GT 000008e5: ISZERO 000008e6: PUSH2 0x08eb 000008e9: JUMPI 000008ea: INVALID 000008eb: JUMPDEST 000008ec: SWAP1 000008ed: DUP2 000008ee: PUSH1 0x01 000008f0: DUP2 000008f1: GT 000008f2: ISZERO 000008f3: PUSH2 0x08f8 000008f6: JUMPI 000008f7: INVALID 000008f8: JUMPDEST 000008f9: SWAP1 000008fa: MSTORE 000008fb: POP 000008fc: PUSH1 0x01 000008fe: PUSH1 0x01 00000900: PUSH1 0xa0 00000902: SHL 00000903: SUB 00000904: DUP1 00000905: DUP5 00000906: AND 00000907: PUSH1 0x20 00000909: DUP4 0000090a: ADD 0000090b: MSTORE 0000090c: DUP3 0000090d: DUP2 0000090e: AND 0000090f: PUSH1 0x40 00000911: DUP1 00000912: DUP5 00000913: ADD 00000914: SWAP2 00000915: SWAP1 00000916: SWAP2 00000917: MSTORE 00000918: PUSH1 0x80 0000091a: DUP12 0000091b: ADD 0000091c: MLOAD 0000091d: PUSH1 0x60 0000091f: DUP5 00000920: ADD 00000921: MSTORE 00000922: PUSH1 0xa0 00000924: DUP12 00000925: ADD 00000926: MLOAD 00000927: PUSH2 0x0100 0000092a: DUP5 0000092b: ADD 0000092c: MSTORE 0000092d: DUP10 0000092e: MLOAD 0000092f: DUP3 00000930: AND 00000931: PUSH1 0xc0 00000933: DUP5 00000934: ADD 00000935: MSTORE 00000936: DUP10 00000937: ADD 00000938: MLOAD 00000939: AND 0000093a: PUSH1 0xe0 0000093c: DUP3 0000093d: ADD 0000093e: MSTORE 0000093f: PUSH1 0x00 00000941: DUP1 00000942: PUSH2 0x094a 00000945: DUP4 00000946: PUSH2 0x1b66 00000949: JUMP 0000094a: JUMPDEST 0000094b: SWAP2 0000094c: SWAP9 0000094d: POP 0000094e: SWAP3 0000094f: POP 00000950: SWAP1 00000951: POP 00000952: PUSH2 0x0981 00000955: PUSH1 0x00 00000957: DUP13 00000958: PUSH1 0x20 0000095a: ADD 0000095b: MLOAD 0000095c: PUSH1 0x01 0000095e: DUP2 0000095f: GT 00000960: ISZERO 00000961: PUSH2 0x0966 00000964: JUMPI 00000965: INVALID 00000966: JUMPDEST 00000967: EQ 00000968: PUSH2 0x0974 0000096b: JUMPI 0000096c: DUP10 0000096d: DUP4 0000096e: GT 0000096f: ISZERO 00000970: PUSH2 0x0979 00000973: JUMP 00000974: JUMPDEST 00000975: DUP10 00000976: DUP3 00000977: LT 00000978: ISZERO 00000979: JUMPDEST 0000097a: PUSH2 0x01fb 0000097d: PUSH2 0x054b 00000980: JUMP 00000981: JUMPDEST 00000982: PUSH2 0x0999 00000985: DUP12 00000986: PUSH1 0x40 00000988: ADD 00000989: MLOAD 0000098a: DUP4 0000098b: DUP13 0000098c: PUSH1 0x00 0000098e: ADD 0000098f: MLOAD 00000990: DUP14 00000991: PUSH1 0x20 00000993: ADD 00000994: MLOAD 00000995: PUSH2 0x1c5a 00000998: JUMP 00000999: JUMPDEST 0000099a: PUSH2 0x09b1 0000099d: DUP12 0000099e: PUSH1 0x60 000009a0: ADD 000009a1: MLOAD 000009a2: DUP3 000009a3: DUP13 000009a4: PUSH1 0x40 000009a6: ADD 000009a7: MLOAD 000009a8: DUP14 000009a9: PUSH1 0x60 000009ab: ADD 000009ac: MLOAD 000009ad: PUSH2 0x1d38 000009b0: JUMP 000009b1: JUMPDEST 000009b2: PUSH2 0x09d3 000009b5: PUSH2 0x09c1 000009b8: DUP13 000009b9: PUSH1 0x40 000009bb: ADD 000009bc: MLOAD 000009bd: PUSH2 0x1938 000009c0: JUMP 000009c1: JUMPDEST 000009c2: PUSH2 0x09cc 000009c5: JUMPI 000009c6: PUSH1 0x00 000009c8: PUSH2 0x09ce 000009cb: JUMP 000009cc: JUMPDEST 000009cd: DUP3 000009ce: JUMPDEST 000009cf: PUSH2 0x19de 000009d2: JUMP 000009d3: JUMPDEST 000009d4: POP 000009d5: POP 000009d6: POP 000009d7: POP 000009d8: POP 000009d9: POP 000009da: PUSH2 0x09e1 000009dd: PUSH2 0x1822 000009e0: JUMP 000009e1: JUMPDEST 000009e2: SWAP5 000009e3: SWAP4 000009e4: POP 000009e5: POP 000009e6: POP 000009e7: POP 000009e8: JUMP 000009e9: JUMPDEST 000009ea: PUSH2 0x09f1 000009ed: PUSH2 0x1768 000009f0: JUMP 000009f1: JUMPDEST 000009f2: PUSH2 0x09f9 000009f5: PUSH2 0x1829 000009f8: JUMP 000009f9: JUMPDEST 000009fa: PUSH2 0x0a05 000009fd: DUP4 000009fe: MLOAD 000009ff: DUP4 00000a00: MLOAD 00000a01: PUSH2 0x1e12 00000a04: JUMP 00000a05: JUMPDEST 00000a06: PUSH1 0x60 00000a08: DUP4 00000a09: MLOAD 00000a0a: PUSH8 0xffffffffffffffff 00000a13: DUP2 00000a14: GT 00000a15: DUP1 00000a16: ISZERO 00000a17: PUSH2 0x0a1f 00000a1a: JUMPI 00000a1b: PUSH1 0x00 00000a1d: DUP1 00000a1e: REVERT 00000a1f: JUMPDEST 00000a20: POP 00000a21: PUSH1 0x40 00000a23: MLOAD 00000a24: SWAP1 00000a25: DUP1 00000a26: DUP3 00000a27: MSTORE 00000a28: DUP1 00000a29: PUSH1 0x20 00000a2b: MUL 00000a2c: PUSH1 0x20 00000a2e: ADD 00000a2f: DUP3 00000a30: ADD 00000a31: PUSH1 0x40 00000a33: MSTORE 00000a34: DUP1 00000a35: ISZERO 00000a36: PUSH2 0x0a49 00000a39: JUMPI 00000a3a: DUP2 00000a3b: PUSH1 0x20 00000a3d: ADD 00000a3e: PUSH1 0x20 00000a40: DUP3 00000a41: MUL 00000a42: DUP1 00000a43: CALLDATASIZE 00000a44: DUP4 00000a45: CALLDATACOPY 00000a46: ADD 00000a47: SWAP1 00000a48: POP 00000a49: JUMPDEST 00000a4a: POP 00000a4b: SWAP1 00000a4c: POP 00000a4d: PUSH1 0x60 00000a4f: DUP5 00000a50: MLOAD 00000a51: PUSH8 0xffffffffffffffff 00000a5a: DUP2 00000a5b: GT 00000a5c: DUP1 00000a5d: ISZERO 00000a5e: PUSH2 0x0a66 00000a61: JUMPI 00000a62: PUSH1 0x00 00000a64: DUP1 00000a65: REVERT 00000a66: JUMPDEST 00000a67: POP 00000a68: PUSH1 0x40 00000a6a: MLOAD 00000a6b: SWAP1 00000a6c: DUP1 00000a6d: DUP3 00000a6e: MSTORE 00000a6f: DUP1 00000a70: PUSH1 0x20 00000a72: MUL 00000a73: PUSH1 0x20 00000a75: ADD 00000a76: DUP3 00000a77: ADD 00000a78: PUSH1 0x40 00000a7a: MSTORE 00000a7b: DUP1 00000a7c: ISZERO 00000a7d: PUSH2 0x0a90 00000a80: JUMPI 00000a81: DUP2 00000a82: PUSH1 0x20 00000a84: ADD 00000a85: PUSH1 0x20 00000a87: DUP3 00000a88: MUL 00000a89: DUP1 00000a8a: CALLDATASIZE 00000a8b: DUP4 00000a8c: CALLDATACOPY 00000a8d: ADD 00000a8e: SWAP1 00000a8f: POP 00000a90: JUMPDEST 00000a91: POP 00000a92: SWAP1 00000a93: POP 00000a94: PUSH1 0x00 00000a96: DUP1 00000a97: JUMPDEST 00000a98: DUP7 00000a99: MLOAD 00000a9a: DUP2 00000a9b: LT 00000a9c: ISZERO 00000a9d: PUSH2 0x0c09 00000aa0: JUMPI 00000aa1: PUSH1 0x00 00000aa3: DUP8 00000aa4: DUP3 00000aa5: DUP2 00000aa6: MLOAD 00000aa7: DUP2 00000aa8: LT 00000aa9: PUSH2 0x0aae 00000aac: JUMPI 00000aad: INVALID 00000aae: JUMPDEST 00000aaf: PUSH1 0x20 00000ab1: MUL 00000ab2: PUSH1 0x20 00000ab4: ADD 00000ab5: ADD 00000ab6: MLOAD 00000ab7: SWAP1 00000ab8: POP 00000ab9: PUSH1 0x00 00000abb: DUP8 00000abc: DUP4 00000abd: DUP2 00000abe: MLOAD 00000abf: DUP2 00000ac0: LT 00000ac1: PUSH2 0x0ac6 00000ac4: JUMPI 00000ac5: INVALID 00000ac6: JUMPDEST 00000ac7: PUSH1 0x20 00000ac9: MUL 00000aca: PUSH1 0x20 00000acc: ADD 00000acd: ADD 00000ace: MLOAD 00000acf: SWAP1 00000ad0: POP 00000ad1: PUSH2 0x0b11 00000ad4: DUP5 00000ad5: PUSH1 0x01 00000ad7: PUSH1 0x01 00000ad9: PUSH1 0xa0 00000adb: SHL 00000adc: SUB 00000add: AND 00000ade: DUP4 00000adf: PUSH1 0x01 00000ae1: PUSH1 0x01 00000ae3: PUSH1 0xa0 00000ae5: SHL 00000ae6: SUB 00000ae7: AND 00000ae8: GT 00000ae9: PUSH1 0x00 00000aeb: PUSH1 0x01 00000aed: PUSH1 0x01 00000aef: PUSH1 0xa0 00000af1: SHL 00000af2: SUB 00000af3: AND 00000af4: DUP5 00000af5: PUSH1 0x01 00000af7: PUSH1 0x01 00000af9: PUSH1 0xa0 00000afb: SHL 00000afc: SUB 00000afd: AND 00000afe: EQ 00000aff: PUSH2 0x0b09 00000b02: JUMPI 00000b03: PUSH1 0x66 00000b05: PUSH2 0x0b0c 00000b08: JUMP 00000b09: JUMPDEST 00000b0a: PUSH1 0x68 00000b0c: JUMPDEST 00000b0d: PUSH2 0x054b 00000b10: JUMP 00000b11: JUMPDEST 00000b12: DUP2 00000b13: SWAP4 00000b14: POP 00000b15: DUP2 00000b16: PUSH1 0x01 00000b18: PUSH1 0x01 00000b1a: PUSH1 0xa0 00000b1c: SHL 00000b1d: SUB 00000b1e: AND 00000b1f: PUSH4 0x70a08231 00000b24: ADDRESS 00000b25: PUSH1 0x40 00000b27: MLOAD 00000b28: DUP3 00000b29: PUSH4 0xffffffff 00000b2e: AND 00000b2f: PUSH1 0xe0 00000b31: SHL 00000b32: DUP2 00000b33: MSTORE 00000b34: PUSH1 0x04 00000b36: ADD 00000b37: PUSH2 0x0b40 00000b3a: SWAP2 00000b3b: SWAP1 00000b3c: PUSH2 0x5b63 00000b3f: JUMP 00000b40: JUMPDEST 00000b41: PUSH1 0x20 00000b43: PUSH1 0x40 00000b45: MLOAD 00000b46: DUP1 00000b47: DUP4 00000b48: SUB 00000b49: DUP2 00000b4a: DUP7 00000b4b: DUP1 00000b4c: EXTCODESIZE 00000b4d: ISZERO 00000b4e: DUP1 00000b4f: ISZERO 00000b50: PUSH2 0x0b58 00000b53: JUMPI 00000b54: PUSH1 0x00 00000b56: DUP1 00000b57: REVERT 00000b58: JUMPDEST 00000b59: POP 00000b5a: GAS 00000b5b: STATICCALL 00000b5c: ISZERO 00000b5d: DUP1 00000b5e: ISZERO 00000b5f: PUSH2 0x0b6c 00000b62: JUMPI 00000b63: RETURNDATASIZE 00000b64: PUSH1 0x00 00000b66: DUP1 00000b67: RETURNDATACOPY 00000b68: RETURNDATASIZE 00000b69: PUSH1 0x00 00000b6b: REVERT 00000b6c: JUMPDEST 00000b6d: POP 00000b6e: POP 00000b6f: POP 00000b70: POP 00000b71: PUSH1 0x40 00000b73: MLOAD 00000b74: RETURNDATASIZE 00000b75: PUSH1 0x1f 00000b77: NOT 00000b78: PUSH1 0x1f 00000b7a: DUP3 00000b7b: ADD 00000b7c: AND 00000b7d: DUP3 00000b7e: ADD 00000b7f: DUP1 00000b80: PUSH1 0x40 00000b82: MSTORE 00000b83: POP 00000b84: DUP2 00000b85: ADD 00000b86: SWAP1 00000b87: PUSH2 0x0b90 00000b8a: SWAP2 00000b8b: SWAP1 00000b8c: PUSH2 0x5968 00000b8f: JUMP 00000b90: JUMPDEST 00000b91: DUP6 00000b92: DUP5 00000b93: DUP2 00000b94: MLOAD 00000b95: DUP2 00000b96: LT 00000b97: PUSH2 0x0b9c 00000b9a: JUMPI 00000b9b: INVALID 00000b9c: JUMPDEST 00000b9d: PUSH1 0x20 00000b9f: MUL 00000ba0: PUSH1 0x20 00000ba2: ADD 00000ba3: ADD 00000ba4: DUP2 00000ba5: DUP2 00000ba6: MSTORE 00000ba7: POP 00000ba8: POP 00000ba9: PUSH2 0x0bb1 00000bac: DUP2 00000bad: PUSH2 0x1e1f 00000bb0: JUMP 00000bb1: JUMPDEST 00000bb2: DUP7 00000bb3: DUP5 00000bb4: DUP2 00000bb5: MLOAD 00000bb6: DUP2 00000bb7: LT 00000bb8: PUSH2 0x0bbd 00000bbb: JUMPI 00000bbc: INVALID 00000bbd: JUMPDEST 00000bbe: PUSH1 0x20 00000bc0: MUL 00000bc1: PUSH1 0x20 00000bc3: ADD 00000bc4: ADD 00000bc5: DUP2 00000bc6: DUP2 00000bc7: MSTORE 00000bc8: POP 00000bc9: POP 00000bca: PUSH2 0x0beb 00000bcd: DUP2 00000bce: DUP7 00000bcf: DUP6 00000bd0: DUP2 00000bd1: MLOAD 00000bd2: DUP2 00000bd3: LT 00000bd4: PUSH2 0x0bd9 00000bd7: JUMPI 00000bd8: INVALID 00000bd9: JUMPDEST 00000bda: PUSH1 0x20 00000bdc: MUL 00000bdd: PUSH1 0x20 00000bdf: ADD 00000be0: ADD 00000be1: MLOAD 00000be2: LT 00000be3: ISZERO 00000be4: PUSH2 0x0210 00000be7: PUSH2 0x054b 00000bea: JUMP 00000beb: JUMPDEST 00000bec: PUSH2 0x0bff 00000bef: PUSH1 0x01 00000bf1: PUSH1 0x01 00000bf3: PUSH1 0xa0 00000bf5: SHL 00000bf6: SUB 00000bf7: DUP4 00000bf8: AND 00000bf9: DUP12 00000bfa: DUP4 00000bfb: PUSH2 0x1ea6 00000bfe: JUMP 00000bff: JUMPDEST 00000c00: POP 00000c01: POP 00000c02: PUSH1 0x01 00000c04: ADD 00000c05: PUSH2 0x0a97 00000c08: JUMP 00000c09: JUMPDEST 00000c0a: POP 00000c0b: PUSH1 0x40 00000c0d: MLOAD 00000c0e: PUSH32 0xf04f270700000000000000000000000000000000000000000000000000000000 00000c2f: DUP2 00000c30: MSTORE 00000c31: PUSH1 0x01 00000c33: PUSH1 0x01 00000c35: PUSH1 0xa0 00000c37: SHL 00000c38: SUB 00000c39: DUP9 00000c3a: AND 00000c3b: SWAP1 00000c3c: PUSH4 0xf04f2707 00000c41: SWAP1 00000c42: PUSH2 0x0c55 00000c45: SWAP1 00000c46: DUP10 00000c47: SWAP1 00000c48: DUP10 00000c49: SWAP1 00000c4a: DUP9 00000c4b: SWAP1 00000c4c: DUP11 00000c4d: SWAP1 00000c4e: PUSH1 0x04 00000c50: ADD 00000c51: PUSH2 0x5c85 00000c54: JUMP 00000c55: JUMPDEST 00000c56: PUSH1 0x00 00000c58: PUSH1 0x40 00000c5a: MLOAD 00000c5b: DUP1 00000c5c: DUP4 00000c5d: SUB 00000c5e: DUP2 00000c5f: PUSH1 0x00 00000c61: DUP8 00000c62: DUP1 00000c63: EXTCODESIZE 00000c64: ISZERO 00000c65: DUP1 00000c66: ISZERO 00000c67: PUSH2 0x0c6f 00000c6a: JUMPI 00000c6b: PUSH1 0x00 00000c6d: DUP1 00000c6e: REVERT 00000c6f: JUMPDEST 00000c70: POP 00000c71: GAS 00000c72: CALL 00000c73: ISZERO 00000c74: DUP1 00000c75: ISZERO 00000c76: PUSH2 0x0c83 00000c79: JUMPI 00000c7a: RETURNDATASIZE 00000c7b: PUSH1 0x00 00000c7d: DUP1 00000c7e: RETURNDATACOPY 00000c7f: RETURNDATASIZE 00000c80: PUSH1 0x00 00000c82: REVERT 00000c83: JUMPDEST 00000c84: POP 00000c85: POP 00000c86: POP 00000c87: POP 00000c88: PUSH1 0x00 00000c8a: JUMPDEST 00000c8b: DUP7 00000c8c: MLOAD 00000c8d: DUP2 00000c8e: LT 00000c8f: ISZERO 00000c90: PUSH2 0x0df4 00000c93: JUMPI 00000c94: PUSH1 0x00 00000c96: DUP8 00000c97: DUP3 00000c98: DUP2 00000c99: MLOAD 00000c9a: DUP2 00000c9b: LT 00000c9c: PUSH2 0x0ca1 00000c9f: JUMPI 00000ca0: INVALID 00000ca1: JUMPDEST 00000ca2: PUSH1 0x20 00000ca4: MUL 00000ca5: PUSH1 0x20 00000ca7: ADD 00000ca8: ADD 00000ca9: MLOAD 00000caa: SWAP1 00000cab: POP 00000cac: PUSH1 0x00 00000cae: DUP5 00000caf: DUP4 00000cb0: DUP2 00000cb1: MLOAD 00000cb2: DUP2 00000cb3: LT 00000cb4: PUSH2 0x0cb9 00000cb7: JUMPI 00000cb8: INVALID 00000cb9: JUMPDEST 00000cba: PUSH1 0x20 00000cbc: MUL 00000cbd: PUSH1 0x20 00000cbf: ADD 00000cc0: ADD 00000cc1: MLOAD 00000cc2: SWAP1 00000cc3: POP 00000cc4: PUSH1 0x00 00000cc6: DUP3 00000cc7: PUSH1 0x01 00000cc9: PUSH1 0x01 00000ccb: PUSH1 0xa0 00000ccd: SHL 00000cce: SUB 00000ccf: AND 00000cd0: PUSH4 0x70a08231 00000cd5: ADDRESS 00000cd6: PUSH1 0x40 00000cd8: MLOAD 00000cd9: DUP3 00000cda: PUSH4 0xffffffff 00000cdf: AND 00000ce0: PUSH1 0xe0 00000ce2: SHL 00000ce3: DUP2 00000ce4: MSTORE 00000ce5: PUSH1 0x04 00000ce7: ADD 00000ce8: PUSH2 0x0cf1 00000ceb: SWAP2 00000cec: SWAP1 00000ced: PUSH2 0x5b63 00000cf0: JUMP 00000cf1: JUMPDEST 00000cf2: PUSH1 0x20 00000cf4: PUSH1 0x40 00000cf6: MLOAD 00000cf7: DUP1 00000cf8: DUP4 00000cf9: SUB 00000cfa: DUP2 00000cfb: DUP7 00000cfc: DUP1 00000cfd: EXTCODESIZE 00000cfe: ISZERO 00000cff: DUP1 00000d00: ISZERO 00000d01: PUSH2 0x0d09 00000d04: JUMPI 00000d05: PUSH1 0x00 00000d07: DUP1 00000d08: REVERT 00000d09: JUMPDEST 00000d0a: POP 00000d0b: GAS 00000d0c: STATICCALL 00000d0d: ISZERO 00000d0e: DUP1 00000d0f: ISZERO 00000d10: PUSH2 0x0d1d 00000d13: JUMPI 00000d14: RETURNDATASIZE 00000d15: PUSH1 0x00 00000d17: DUP1 00000d18: RETURNDATACOPY 00000d19: RETURNDATASIZE 00000d1a: PUSH1 0x00 00000d1c: REVERT 00000d1d: JUMPDEST 00000d1e: POP 00000d1f: POP 00000d20: POP 00000d21: POP 00000d22: PUSH1 0x40 00000d24: MLOAD 00000d25: RETURNDATASIZE 00000d26: PUSH1 0x1f 00000d28: NOT 00000d29: PUSH1 0x1f 00000d2b: DUP3 00000d2c: ADD 00000d2d: AND 00000d2e: DUP3 00000d2f: ADD 00000d30: DUP1 00000d31: PUSH1 0x40 00000d33: MSTORE 00000d34: POP 00000d35: DUP2 00000d36: ADD 00000d37: SWAP1 00000d38: PUSH2 0x0d41 00000d3b: SWAP2 00000d3c: SWAP1 00000d3d: PUSH2 0x5968 00000d40: JUMP 00000d41: JUMPDEST 00000d42: SWAP1 00000d43: POP 00000d44: PUSH2 0x0d52 00000d47: DUP3 00000d48: DUP3 00000d49: LT 00000d4a: ISZERO 00000d4b: PUSH2 0x0203 00000d4e: PUSH2 0x054b 00000d51: JUMP 00000d52: JUMPDEST 00000d53: PUSH1 0x00 00000d55: DUP3 00000d56: DUP3 00000d57: SUB 00000d58: SWAP1 00000d59: POP 00000d5a: PUSH2 0x0d7b 00000d5d: DUP9 00000d5e: DUP7 00000d5f: DUP2 00000d60: MLOAD 00000d61: DUP2 00000d62: LT 00000d63: PUSH2 0x0d68 00000d66: JUMPI 00000d67: INVALID 00000d68: JUMPDEST 00000d69: PUSH1 0x20 00000d6b: MUL 00000d6c: PUSH1 0x20 00000d6e: ADD 00000d6f: ADD 00000d70: MLOAD 00000d71: DUP3 00000d72: LT 00000d73: ISZERO 00000d74: PUSH2 0x025a 00000d77: PUSH2 0x054b 00000d7a: JUMP 00000d7b: JUMPDEST 00000d7c: PUSH2 0x0d85 00000d7f: DUP5 00000d80: DUP3 00000d81: PUSH2 0x1f11 00000d84: JUMP 00000d85: JUMPDEST 00000d86: DUP4 00000d87: PUSH1 0x01 00000d89: PUSH1 0x01 00000d8b: PUSH1 0xa0 00000d8d: SHL 00000d8e: SUB 00000d8f: AND 00000d90: DUP13 00000d91: PUSH1 0x01 00000d93: PUSH1 0x01 00000d95: PUSH1 0xa0 00000d97: SHL 00000d98: SUB 00000d99: AND 00000d9a: PUSH32 0x0d7d75e01ab95780d3cd1c8ec0dd6c2ce19e3a20427eec8bf53283b6fb8e95f0 00000dbb: DUP13 00000dbc: DUP9 00000dbd: DUP2 00000dbe: MLOAD 00000dbf: DUP2 00000dc0: LT 00000dc1: PUSH2 0x0dc6 00000dc4: JUMPI 00000dc5: INVALID 00000dc6: JUMPDEST 00000dc7: PUSH1 0x20 00000dc9: MUL 00000dca: PUSH1 0x20 00000dcc: ADD 00000dcd: ADD 00000dce: MLOAD 00000dcf: DUP5 00000dd0: PUSH1 0x40 00000dd2: MLOAD 00000dd3: PUSH2 0x0ddd 00000dd6: SWAP3 00000dd7: SWAP2 00000dd8: SWAP1 00000dd9: PUSH2 0x5e4d 00000ddc: JUMP 00000ddd: JUMPDEST 00000dde: PUSH1 0x40 00000de0: MLOAD 00000de1: DUP1 00000de2: SWAP2 00000de3: SUB 00000de4: SWAP1 00000de5: LOG3 00000de6: POP 00000de7: POP 00000de8: POP 00000de9: POP 00000dea: DUP1 00000deb: PUSH1 0x01 00000ded: ADD 00000dee: SWAP1 00000def: POP 00000df0: PUSH2 0x0c8a 00000df3: JUMP 00000df4: JUMPDEST 00000df5: POP 00000df6: POP 00000df7: POP 00000df8: POP 00000df9: PUSH2 0x0e00 00000dfc: PUSH2 0x1822 00000dff: JUMP 00000e00: JUMPDEST 00000e01: POP 00000e02: POP 00000e03: POP 00000e04: POP 00000e05: JUMP 00000e06: JUMPDEST 00000e07: PUSH2 0x0e0e 00000e0a: PUSH2 0x1768 00000e0d: JUMP 00000e0e: JUMPDEST 00000e0f: PUSH2 0x0e16 00000e12: PUSH2 0x1829 00000e15: JUMP 00000e16: JUMPDEST 00000e17: DUP3 00000e18: PUSH2 0x0e20 00000e1b: DUP2 00000e1c: PUSH2 0x1f33 00000e1f: JUMP 00000e20: JUMPDEST 00000e21: PUSH2 0x0e2c 00000e24: DUP4 00000e25: MLOAD 00000e26: DUP4 00000e27: MLOAD 00000e28: PUSH2 0x1e12 00000e2b: JUMP 00000e2c: JUMPDEST 00000e2d: PUSH1 0x00 00000e2f: JUMPDEST 00000e30: DUP4 00000e31: MLOAD 00000e32: DUP2 00000e33: LT 00000e34: ISZERO 00000e35: PUSH2 0x0eca 00000e38: JUMPI 00000e39: PUSH1 0x00 00000e3b: DUP5 00000e3c: DUP3 00000e3d: DUP2 00000e3e: MLOAD 00000e3f: DUP2 00000e40: LT 00000e41: PUSH2 0x0e46 00000e44: JUMPI 00000e45: INVALID 00000e46: JUMPDEST 00000e47: PUSH1 0x20 00000e49: MUL 00000e4a: PUSH1 0x20 00000e4c: ADD 00000e4d: ADD 00000e4e: MLOAD 00000e4f: SWAP1 00000e50: POP 00000e51: PUSH2 0x0e72 00000e54: PUSH1 0x00 00000e56: PUSH1 0x01 00000e58: PUSH1 0x01 00000e5a: PUSH1 0xa0 00000e5c: SHL 00000e5d: SUB 00000e5e: AND 00000e5f: DUP3 00000e60: PUSH1 0x01 00000e62: PUSH1 0x01 00000e64: PUSH1 0xa0 00000e66: SHL 00000e67: SUB 00000e68: AND 00000e69: EQ 00000e6a: ISZERO 00000e6b: PUSH2 0x0135 00000e6e: PUSH2 0x054b 00000e71: JUMP 00000e72: JUMPDEST 00000e73: DUP4 00000e74: DUP3 00000e75: DUP2 00000e76: MLOAD 00000e77: DUP2 00000e78: LT 00000e79: PUSH2 0x0e7e 00000e7c: JUMPI 00000e7d: INVALID 00000e7e: JUMPDEST 00000e7f: PUSH1 0x20 00000e81: SWAP1 00000e82: DUP2 00000e83: MUL 00000e84: SWAP2 00000e85: SWAP1 00000e86: SWAP2 00000e87: ADD 00000e88: DUP2 00000e89: ADD 00000e8a: MLOAD 00000e8b: PUSH1 0x00 00000e8d: DUP9 00000e8e: DUP2 00000e8f: MSTORE 00000e90: PUSH1 0x0a 00000e92: DUP4 00000e93: MSTORE 00000e94: PUSH1 0x40 00000e96: DUP1 00000e97: DUP3 00000e98: KECCAK256 00000e99: PUSH1 0x01 00000e9b: PUSH1 0x01 00000e9d: PUSH1 0xa0 00000e9f: SHL 00000ea0: SUB 00000ea1: SWAP6 00000ea2: DUP7 00000ea3: AND 00000ea4: DUP4 00000ea5: MSTORE 00000ea6: SWAP1 00000ea7: SWAP4 00000ea8: MSTORE 00000ea9: SWAP2 00000eaa: SWAP1 00000eab: SWAP2 00000eac: KECCAK256 00000ead: DUP1 00000eae: SLOAD 00000eaf: PUSH1 0x01 00000eb1: PUSH1 0x01 00000eb3: PUSH1 0xa0 00000eb5: SHL 00000eb6: SUB 00000eb7: NOT 00000eb8: AND 00000eb9: SWAP3 00000eba: SWAP1 00000ebb: SWAP2 00000ebc: AND 00000ebd: SWAP2 00000ebe: SWAP1 00000ebf: SWAP2 00000ec0: OR 00000ec1: SWAP1 00000ec2: SSTORE 00000ec3: PUSH1 0x01 00000ec5: ADD 00000ec6: PUSH2 0x0e2f 00000ec9: JUMP 00000eca: JUMPDEST 00000ecb: POP 00000ecc: PUSH1 0x00 00000ece: PUSH2 0x0ed6 00000ed1: DUP6 00000ed2: PUSH2 0x1f64 00000ed5: JUMP 00000ed6: JUMPDEST 00000ed7: SWAP1 00000ed8: POP 00000ed9: PUSH1 0x02 00000edb: DUP2 00000edc: PUSH1 0x02 00000ede: DUP2 00000edf: GT 00000ee0: ISZERO 00000ee1: PUSH2 0x0ee6 00000ee4: JUMPI 00000ee5: INVALID 00000ee6: JUMPDEST 00000ee7: EQ 00000ee8: ISZERO 00000ee9: PUSH2 0x0f34 00000eec: JUMPI 00000eed: PUSH2 0x0efc 00000ef0: DUP5 00000ef1: MLOAD 00000ef2: PUSH1 0x02 00000ef4: EQ 00000ef5: PUSH2 0x020c 00000ef8: PUSH2 0x054b 00000efb: JUMP 00000efc: JUMPDEST 00000efd: PUSH2 0x0f2f 00000f00: DUP6 00000f01: DUP6 00000f02: PUSH1 0x00 00000f04: DUP2 00000f05: MLOAD 00000f06: DUP2 00000f07: LT 00000f08: PUSH2 0x0f0d 00000f0b: JUMPI 00000f0c: INVALID 00000f0d: JUMPDEST 00000f0e: PUSH1 0x20 00000f10: MUL 00000f11: PUSH1 0x20 00000f13: ADD 00000f14: ADD 00000f15: MLOAD 00000f16: DUP7 00000f17: PUSH1 0x01 00000f19: DUP2 00000f1a: MLOAD 00000f1b: DUP2 00000f1c: LT 00000f1d: PUSH2 0x0f22 00000f20: JUMPI 00000f21: INVALID 00000f22: JUMPDEST 00000f23: PUSH1 0x20 00000f25: MUL 00000f26: PUSH1 0x20 00000f28: ADD 00000f29: ADD 00000f2a: MLOAD 00000f2b: PUSH2 0x1f7e 00000f2e: JUMP 00000f2f: JUMPDEST 00000f30: PUSH2 0x0f5c 00000f33: JUMP 00000f34: JUMPDEST 00000f35: PUSH1 0x01 00000f37: DUP2 00000f38: PUSH1 0x02 00000f3a: DUP2 00000f3b: GT 00000f3c: ISZERO 00000f3d: PUSH2 0x0f42 00000f40: JUMPI 00000f41: INVALID 00000f42: JUMPDEST 00000f43: EQ 00000f44: ISZERO 00000f45: PUSH2 0x0f52 00000f48: JUMPI 00000f49: PUSH2 0x0f2f 00000f4c: DUP6 00000f4d: DUP6 00000f4e: PUSH2 0x202a 00000f51: JUMP 00000f52: JUMPDEST 00000f53: PUSH2 0x0f5c 00000f56: DUP6 00000f57: DUP6 00000f58: PUSH2 0x2082 00000f5b: JUMP 00000f5c: JUMPDEST 00000f5d: DUP5 00000f5e: PUSH32 0xf5847d3f2197b16cdcd2098ec95d0905cd1abdaf415f07bb7cef2bba8ac5dec4 00000f7f: DUP6 00000f80: DUP6 00000f81: PUSH1 0x40 00000f83: MLOAD 00000f84: PUSH2 0x0f8e 00000f87: SWAP3 00000f88: SWAP2 00000f89: SWAP1 00000f8a: PUSH2 0x5bed 00000f8d: JUMP 00000f8e: JUMPDEST 00000f8f: PUSH1 0x40 00000f91: MLOAD 00000f92: DUP1 00000f93: SWAP2 00000f94: SUB 00000f95: SWAP1 00000f96: LOG2 00000f97: POP 00000f98: POP 00000f99: PUSH2 0x0fa0 00000f9c: PUSH2 0x1822 00000f9f: JUMP 00000fa0: JUMPDEST 00000fa1: POP 00000fa2: POP 00000fa3: POP 00000fa4: JUMP 00000fa5: JUMPDEST 00000fa6: PUSH2 0x0fad 00000fa9: PUSH2 0x1768 00000fac: JUMP 00000fad: JUMPDEST 00000fae: PUSH2 0x0fb5 00000fb1: PUSH2 0x1829 00000fb4: JUMP 00000fb5: JUMPDEST 00000fb6: DUP2 00000fb7: PUSH2 0x0fbf 00000fba: DUP2 00000fbb: PUSH2 0x1f33 00000fbe: JUMP 00000fbf: JUMPDEST 00000fc0: PUSH1 0x00 00000fc2: PUSH2 0x0fca 00000fc5: DUP5 00000fc6: PUSH2 0x1f64 00000fc9: JUMP 00000fca: JUMPDEST 00000fcb: SWAP1 00000fcc: POP 00000fcd: PUSH1 0x02 00000fcf: DUP2 00000fd0: PUSH1 0x02 00000fd2: DUP2 00000fd3: GT 00000fd4: ISZERO 00000fd5: PUSH2 0x0fda 00000fd8: JUMPI 00000fd9: INVALID 00000fda: JUMPDEST 00000fdb: EQ 00000fdc: ISZERO 00000fdd: PUSH2 0x1028 00000fe0: JUMPI 00000fe1: PUSH2 0x0ff0 00000fe4: DUP4 00000fe5: MLOAD 00000fe6: PUSH1 0x02 00000fe8: EQ 00000fe9: PUSH2 0x020c 00000fec: PUSH2 0x054b 00000fef: JUMP 00000ff0: JUMPDEST 00000ff1: PUSH2 0x1023 00000ff4: DUP5 00000ff5: DUP5 00000ff6: PUSH1 0x00 00000ff8: DUP2 00000ff9: MLOAD 00000ffa: DUP2 00000ffb: LT 00000ffc: PUSH2 0x1001 00000fff: JUMPI 00001000: INVALID 00001001: JUMPDEST 00001002: PUSH1 0x20 00001004: MUL 00001005: PUSH1 0x20 00001007: ADD 00001008: ADD 00001009: MLOAD 0000100a: DUP6 0000100b: PUSH1 0x01 0000100d: DUP2 0000100e: MLOAD 0000100f: DUP2 00001010: LT 00001011: PUSH2 0x1016 00001014: JUMPI 00001015: INVALID 00001016: JUMPDEST 00001017: PUSH1 0x20 00001019: MUL 0000101a: PUSH1 0x20 0000101c: ADD 0000101d: ADD 0000101e: MLOAD 0000101f: PUSH2 0x20d7 00001022: JUMP 00001023: JUMPDEST 00001024: PUSH2 0x1050 00001027: JUMP 00001028: JUMPDEST 00001029: PUSH1 0x01 0000102b: DUP2 0000102c: PUSH1 0x02 0000102e: DUP2 0000102f: GT 00001030: ISZERO 00001031: PUSH2 0x1036 00001034: JUMPI 00001035: INVALID 00001036: JUMPDEST 00001037: EQ 00001038: ISZERO 00001039: PUSH2 0x1046 0000103c: JUMPI 0000103d: PUSH2 0x1023 00001040: DUP5 00001041: DUP5 00001042: PUSH2 0x2145 00001045: JUMP 00001046: JUMPDEST 00001047: PUSH2 0x1050 0000104a: DUP5 0000104b: DUP5 0000104c: PUSH2 0x21ff 0000104f: JUMP 00001050: JUMPDEST 00001051: PUSH1 0x00 00001053: JUMPDEST 00001054: DUP4 00001055: MLOAD 00001056: DUP2 00001057: LT 00001058: ISZERO 00001059: PUSH2 0x10b6 0000105c: JUMPI 0000105d: PUSH1 0x0a 0000105f: PUSH1 0x00 00001061: DUP7 00001062: DUP2 00001063: MSTORE 00001064: PUSH1 0x20 00001066: ADD 00001067: SWAP1 00001068: DUP2 00001069: MSTORE 0000106a: PUSH1 0x20 0000106c: ADD 0000106d: PUSH1 0x00 0000106f: KECCAK256 00001070: PUSH1 0x00 00001072: DUP6 00001073: DUP4 00001074: DUP2 00001075: MLOAD 00001076: DUP2 00001077: LT 00001078: PUSH2 0x107d 0000107b: JUMPI 0000107c: INVALID 0000107d: JUMPDEST 0000107e: PUSH1 0x20 00001080: SWAP1 00001081: DUP2 00001082: MUL 00001083: SWAP2 00001084: SWAP1 00001085: SWAP2 00001086: ADD 00001087: DUP2 00001088: ADD 00001089: MLOAD 0000108a: PUSH1 0x01 0000108c: PUSH1 0x01 0000108e: PUSH1 0xa0 00001090: SHL 00001091: SUB 00001092: AND 00001093: DUP3 00001094: MSTORE 00001095: DUP2 00001096: ADD 00001097: SWAP2 00001098: SWAP1 00001099: SWAP2 0000109a: MSTORE 0000109b: PUSH1 0x40 0000109d: ADD 0000109e: PUSH1 0x00 000010a0: KECCAK256 000010a1: DUP1 000010a2: SLOAD 000010a3: PUSH1 0x01 000010a5: PUSH1 0x01 000010a7: PUSH1 0xa0 000010a9: SHL 000010aa: SUB 000010ab: NOT 000010ac: AND 000010ad: SWAP1 000010ae: SSTORE 000010af: PUSH1 0x01 000010b1: ADD 000010b2: PUSH2 0x1053 000010b5: JUMP 000010b6: JUMPDEST 000010b7: POP 000010b8: DUP4 000010b9: PUSH32 0x7dcdc6d02ef40c7c1a7046a011b058bd7f988fa14e20a66344f9d4e60657d610 000010da: DUP5 000010db: PUSH1 0x40 000010dd: MLOAD 000010de: PUSH2 0x10e7 000010e1: SWAP2 000010e2: SWAP1 000010e3: PUSH2 0x5bda 000010e6: JUMP 000010e7: JUMPDEST 000010e8: PUSH1 0x40 000010ea: MLOAD 000010eb: DUP1 000010ec: SWAP2 000010ed: SUB 000010ee: SWAP1 000010ef: LOG2 000010f0: POP 000010f1: POP 000010f2: PUSH2 0x0559 000010f5: PUSH2 0x1822 000010f8: JUMP 000010f9: JUMPDEST 000010fa: PUSH1 0x00 000010fc: PUSH32 0x000000000000000000000000ba12222222228d8ba445958a75a0704d566bf2c8 0000111d: DUP3 0000111e: PUSH1 0x40 00001120: MLOAD 00001121: PUSH1 0x20 00001123: ADD 00001124: PUSH2 0x112e 00001127: SWAP3 00001128: SWAP2 00001129: SWAP1 0000112a: PUSH2 0x5ac2 0000112d: JUMP 0000112e: JUMPDEST 0000112f: PUSH1 0x40 00001131: MLOAD 00001132: PUSH1 0x20 00001134: DUP2 00001135: DUP4 00001136: SUB 00001137: SUB 00001138: DUP2 00001139: MSTORE 0000113a: SWAP1 0000113b: PUSH1 0x40 0000113d: MSTORE 0000113e: DUP1 0000113f: MLOAD 00001140: SWAP1 00001141: PUSH1 0x20 00001143: ADD 00001144: KECCAK256 00001145: SWAP1 00001146: POP 00001147: SWAP2 00001148: SWAP1 00001149: POP 0000114a: JUMP 0000114b: JUMPDEST 0000114c: PUSH2 0x0e00 0000114f: PUSH1 0x01 00001151: DUP6 00001152: DUP6 00001153: DUP6 00001154: PUSH2 0x115c 00001157: DUP7 00001158: PUSH2 0x2262 0000115b: JUMP 0000115c: JUMPDEST 0000115d: PUSH2 0x226e 00001160: JUMP 00001161: JUMPDEST 00001162: PUSH1 0x01 00001164: PUSH1 0x01 00001166: PUSH1 0xa0 00001168: SHL 00001169: SUB 0000116a: AND 0000116b: PUSH1 0x00 0000116d: SWAP1 0000116e: DUP2 0000116f: MSTORE 00001170: PUSH1 0x02 00001172: PUSH1 0x20 00001174: MSTORE 00001175: PUSH1 0x40 00001177: SWAP1 00001178: KECCAK256 00001179: SLOAD 0000117a: SWAP1 0000117b: JUMP 0000117c: JUMPDEST 0000117d: PUSH1 0x60 0000117f: PUSH2 0x1186 00001182: PUSH2 0x1768 00001185: JUMP 00001186: JUMPDEST 00001187: PUSH2 0x118e 0000118a: PUSH2 0x1829 0000118d: JUMP 0000118e: JUMPDEST 0000118f: DUP4 00001190: MLOAD 00001191: PUSH2 0x1199 00001194: DUP2 00001195: PUSH2 0x1b0f 00001198: JUMP 00001199: JUMPDEST 0000119a: PUSH2 0x11a8 0000119d: DUP4 0000119e: TIMESTAMP 0000119f: GT 000011a0: ISZERO 000011a1: PUSH2 0x01fc 000011a4: PUSH2 0x054b 000011a7: JUMP 000011a8: JUMPDEST 000011a9: PUSH2 0x11b4 000011ac: DUP7 000011ad: MLOAD 000011ae: DUP6 000011af: MLOAD 000011b0: PUSH2 0x1e12 000011b3: JUMP 000011b4: JUMPDEST 000011b5: PUSH2 0x11c0 000011b8: DUP8 000011b9: DUP8 000011ba: DUP8 000011bb: DUP12 000011bc: PUSH2 0x23f4 000011bf: JUMP 000011c0: JUMPDEST 000011c1: SWAP2 000011c2: POP 000011c3: PUSH1 0x00 000011c5: DUP1 000011c6: JUMPDEST 000011c7: DUP8 000011c8: MLOAD 000011c9: DUP2 000011ca: LT 000011cb: ISZERO 000011cc: PUSH2 0x1292 000011cf: JUMPI 000011d0: PUSH1 0x00 000011d2: DUP9 000011d3: DUP3 000011d4: DUP2 000011d5: MLOAD 000011d6: DUP2 000011d7: LT 000011d8: PUSH2 0x11dd 000011db: JUMPI 000011dc: INVALID 000011dd: JUMPDEST 000011de: PUSH1 0x20 000011e0: MUL 000011e1: PUSH1 0x20 000011e3: ADD 000011e4: ADD 000011e5: MLOAD 000011e6: SWAP1 000011e7: POP 000011e8: PUSH1 0x00 000011ea: DUP6 000011eb: DUP4 000011ec: DUP2 000011ed: MLOAD 000011ee: DUP2 000011ef: LT 000011f0: PUSH2 0x11f5 000011f3: JUMPI 000011f4: INVALID 000011f5: JUMPDEST 000011f6: PUSH1 0x20 000011f8: MUL 000011f9: PUSH1 0x20 000011fb: ADD 000011fc: ADD 000011fd: MLOAD 000011fe: SWAP1 000011ff: POP 00001200: PUSH2 0x1221 00001203: DUP9 00001204: DUP5 00001205: DUP2 00001206: MLOAD 00001207: DUP2 00001208: LT 00001209: PUSH2 0x120e 0000120c: JUMPI 0000120d: INVALID 0000120e: JUMPDEST 0000120f: PUSH1 0x20 00001211: MUL 00001212: PUSH1 0x20 00001214: ADD 00001215: ADD 00001216: MLOAD 00001217: DUP3 00001218: SGT 00001219: ISZERO 0000121a: PUSH2 0x01fb 0000121d: PUSH2 0x054b 00001220: JUMP 00001221: JUMPDEST 00001222: PUSH1 0x00 00001224: DUP2 00001225: SGT 00001226: ISZERO 00001227: PUSH2 0x1261 0000122a: JUMPI 0000122b: DUP9 0000122c: MLOAD 0000122d: PUSH1 0x20 0000122f: DUP11 00001230: ADD 00001231: MLOAD 00001232: DUP3 00001233: SWAP2 00001234: PUSH2 0x1240 00001237: SWAP2 00001238: DUP6 00001239: SWAP2 0000123a: DUP5 0000123b: SWAP2 0000123c: PUSH2 0x1c5a 0000123f: JUMP 00001240: JUMPDEST 00001241: PUSH2 0x1249 00001244: DUP4 00001245: PUSH2 0x1938 00001248: JUMP 00001249: JUMPDEST 0000124a: ISZERO 0000124b: PUSH2 0x125b 0000124e: JUMPI 0000124f: PUSH2 0x1258 00001252: DUP6 00001253: DUP3 00001254: PUSH2 0x1945 00001257: JUMP 00001258: JUMPDEST 00001259: SWAP5 0000125a: POP 0000125b: JUMPDEST 0000125c: POP 0000125d: PUSH2 0x1288 00001260: JUMP 00001261: JUMPDEST 00001262: PUSH1 0x00 00001264: DUP2 00001265: SLT 00001266: ISZERO 00001267: PUSH2 0x1288 0000126a: JUMPI 0000126b: PUSH1 0x00 0000126d: DUP2 0000126e: PUSH1 0x00 00001270: SUB 00001271: SWAP1 00001272: POP 00001273: PUSH2 0x1286 00001276: DUP4 00001277: DUP3 00001278: DUP13 00001279: PUSH1 0x40 0000127b: ADD 0000127c: MLOAD 0000127d: DUP14 0000127e: PUSH1 0x60 00001280: ADD 00001281: MLOAD 00001282: PUSH2 0x1d38 00001285: JUMP 00001286: JUMPDEST 00001287: POP 00001288: JUMPDEST 00001289: POP 0000128a: POP 0000128b: PUSH1 0x01 0000128d: ADD 0000128e: PUSH2 0x11c6 00001291: JUMP 00001292: JUMPDEST 00001293: POP 00001294: PUSH2 0x129c 00001297: DUP2 00001298: PUSH2 0x19de 0000129b: JUMP 0000129c: JUMPDEST 0000129d: POP 0000129e: POP 0000129f: PUSH2 0x12a6 000012a2: PUSH2 0x1822 000012a5: JUMP 000012a6: JUMPDEST 000012a7: SWAP7 000012a8: SWAP6 000012a9: POP 000012aa: POP 000012ab: POP 000012ac: POP 000012ad: POP 000012ae: POP 000012af: JUMP 000012b0: JUMPDEST 000012b1: PUSH1 0x03 000012b3: SLOAD 000012b4: PUSH2 0x0100 000012b7: SWAP1 000012b8: DIV 000012b9: PUSH1 0x01 000012bb: PUSH1 0x01 000012bd: PUSH1 0xa0 000012bf: SHL 000012c0: SUB 000012c1: AND 000012c2: SWAP1 000012c3: JUMP 000012c4: JUMPDEST 000012c5: PUSH1 0x00 000012c7: PUSH2 0x12ce 000012ca: PUSH2 0x0526 000012cd: JUMP 000012ce: JUMPDEST 000012cf: SWAP1 000012d0: POP 000012d1: SWAP1 000012d2: JUMP 000012d3: JUMPDEST 000012d4: PUSH1 0x00 000012d6: DUP1 000012d7: PUSH1 0x00 000012d9: DUP1 000012da: DUP6 000012db: PUSH2 0x12e3 000012de: DUP2 000012df: PUSH2 0x2683 000012e2: JUMP 000012e3: JUMPDEST 000012e4: PUSH1 0x00 000012e6: DUP1 000012e7: PUSH2 0x12ef 000012ea: DUP10 000012eb: PUSH2 0x1f64 000012ee: JUMP 000012ef: JUMPDEST 000012f0: SWAP1 000012f1: POP 000012f2: PUSH1 0x02 000012f4: DUP2 000012f5: PUSH1 0x02 000012f7: DUP2 000012f8: GT 000012f9: ISZERO 000012fa: PUSH2 0x12ff 000012fd: JUMPI 000012fe: INVALID 000012ff: JUMPDEST 00001300: EQ 00001301: ISZERO 00001302: PUSH2 0x1316 00001305: JUMPI 00001306: PUSH2 0x130f 00001309: DUP10 0000130a: DUP10 0000130b: PUSH2 0x26a1 0000130e: JUMP 0000130f: JUMPDEST 00001310: SWAP2 00001311: POP 00001312: PUSH2 0x1341 00001315: JUMP 00001316: JUMPDEST 00001317: PUSH1 0x01 00001319: DUP2 0000131a: PUSH1 0x02 0000131c: DUP2 0000131d: GT 0000131e: ISZERO 0000131f: PUSH2 0x1324 00001322: JUMPI 00001323: INVALID 00001324: JUMPDEST 00001325: EQ 00001326: ISZERO 00001327: PUSH2 0x1334 0000132a: JUMPI 0000132b: PUSH2 0x130f 0000132e: DUP10 0000132f: DUP10 00001330: PUSH2 0x271b 00001333: JUMP 00001334: JUMPDEST 00001335: PUSH2 0x133e 00001338: DUP10 00001339: DUP10 0000133a: PUSH2 0x2789 0000133d: JUMP 0000133e: JUMPDEST 0000133f: SWAP2 00001340: POP 00001341: JUMPDEST 00001342: PUSH2 0x134a 00001345: DUP3 00001346: PUSH2 0x27a1 00001349: JUMP 0000134a: JUMPDEST 0000134b: SWAP7 0000134c: POP 0000134d: PUSH2 0x1355 00001350: DUP3 00001351: PUSH2 0x27b4 00001354: JUMP 00001355: JUMPDEST 00001356: SWAP6 00001357: POP 00001358: PUSH2 0x1360 0000135b: DUP3 0000135c: PUSH2 0x27ca 0000135f: JUMP 00001360: JUMPDEST 00001361: PUSH1 0x00 00001363: SWAP10 00001364: DUP11 00001365: MSTORE 00001366: PUSH1 0x0a 00001368: PUSH1 0x20 0000136a: SWAP1 0000136b: DUP2 0000136c: MSTORE 0000136d: PUSH1 0x40 0000136f: DUP1 00001370: DUP13 00001371: KECCAK256 00001372: PUSH1 0x01 00001374: PUSH1 0x01 00001376: PUSH1 0xa0 00001378: SHL 00001379: SUB 0000137a: SWAP12 0000137b: DUP13 0000137c: AND 0000137d: DUP14 0000137e: MSTORE 0000137f: SWAP1 00001380: SWAP2 00001381: MSTORE 00001382: SWAP1 00001383: SWAP10 00001384: KECCAK256 00001385: SLOAD 00001386: SWAP7 00001387: SWAP10 00001388: SWAP6 00001389: SWAP9 0000138a: SWAP8 0000138b: SWAP7 0000138c: SWAP1 0000138d: SWAP7 0000138e: AND 0000138f: SWAP6 00001390: POP 00001391: POP 00001392: POP 00001393: POP 00001394: POP 00001395: JUMP 00001396: JUMPDEST 00001397: PUSH2 0x139e 0000139a: PUSH2 0x1829 0000139d: JUMP 0000139e: JUMPDEST 0000139f: PUSH2 0x0e00 000013a2: PUSH1 0x00 000013a4: DUP6 000013a5: DUP6 000013a6: DUP6 000013a7: PUSH2 0x115c 000013aa: DUP7 000013ab: PUSH2 0x2262 000013ae: JUMP 000013af: JUMPDEST 000013b0: PUSH32 0x000000000000000000000000ce88686553686da562ce7cea497ce749da109f9f 000013d1: SWAP1 000013d2: JUMP 000013d3: JUMPDEST 000013d4: PUSH2 0x13db 000013d7: PUSH2 0x1768 000013da: JUMP 000013db: JUMPDEST 000013dc: PUSH2 0x13e3 000013df: PUSH2 0x1829 000013e2: JUMP 000013e3: JUMPDEST 000013e4: PUSH2 0x13eb 000013e7: PUSH2 0x4d31 000013ea: JUMP 000013eb: JUMPDEST 000013ec: PUSH1 0x00 000013ee: JUMPDEST 000013ef: DUP3 000013f0: MLOAD 000013f1: DUP2 000013f2: LT 000013f3: ISZERO 000013f4: PUSH2 0x14e5 000013f7: JUMPI 000013f8: DUP3 000013f9: DUP2 000013fa: DUP2 000013fb: MLOAD 000013fc: DUP2 000013fd: LT 000013fe: PUSH2 0x1403 00001401: JUMPI 00001402: INVALID 00001403: JUMPDEST 00001404: PUSH1 0x20 00001406: MUL 00001407: PUSH1 0x20 00001409: ADD 0000140a: ADD 0000140b: MLOAD 0000140c: SWAP2 0000140d: POP 0000140e: PUSH1 0x00 00001410: DUP3 00001411: PUSH1 0x20 00001413: ADD 00001414: MLOAD 00001415: SWAP1 00001416: POP 00001417: PUSH2 0x141f 0000141a: DUP2 0000141b: PUSH2 0x2683 0000141e: JUMP 0000141f: JUMPDEST 00001420: PUSH1 0x40 00001422: DUP4 00001423: ADD 00001424: MLOAD 00001425: PUSH2 0x1439 00001428: PUSH2 0x1431 0000142b: DUP4 0000142c: DUP4 0000142d: PUSH2 0x27d0 00001430: JUMP 00001431: JUMPDEST 00001432: PUSH2 0x0209 00001435: PUSH2 0x054b 00001438: JUMP 00001439: JUMPDEST 0000143a: PUSH1 0x00 0000143c: DUP3 0000143d: DUP2 0000143e: MSTORE 0000143f: PUSH1 0x0a 00001441: PUSH1 0x20 00001443: SWAP1 00001444: DUP2 00001445: MSTORE 00001446: PUSH1 0x40 00001448: DUP1 00001449: DUP4 0000144a: KECCAK256 0000144b: PUSH1 0x01 0000144d: PUSH1 0x01 0000144f: PUSH1 0xa0 00001451: SHL 00001452: SUB 00001453: DUP6 00001454: DUP2 00001455: AND 00001456: DUP6 00001457: MSTORE 00001458: SWAP3 00001459: MSTORE 0000145a: SWAP1 0000145b: SWAP2 0000145c: KECCAK256 0000145d: SLOAD 0000145e: PUSH2 0x146c 00001461: SWAP2 00001462: AND 00001463: CALLER 00001464: EQ 00001465: PUSH2 0x01f6 00001468: PUSH2 0x054b 0000146b: JUMP 0000146c: JUMPDEST 0000146d: DUP4 0000146e: MLOAD 0000146f: PUSH1 0x60 00001471: DUP6 00001472: ADD 00001473: MLOAD 00001474: PUSH1 0x00 00001476: DUP1 00001477: PUSH2 0x1482 0000147a: DUP5 0000147b: DUP8 0000147c: DUP8 0000147d: DUP7 0000147e: PUSH2 0x282c 00001481: JUMP 00001482: JUMPDEST 00001483: SWAP2 00001484: POP 00001485: SWAP2 00001486: POP 00001487: DUP5 00001488: PUSH1 0x01 0000148a: PUSH1 0x01 0000148c: PUSH1 0xa0 0000148e: SHL 0000148f: SUB 00001490: AND 00001491: CALLER 00001492: PUSH1 0x01 00001494: PUSH1 0x01 00001496: PUSH1 0xa0 00001498: SHL 00001499: SUB 0000149a: AND 0000149b: DUP8 0000149c: PUSH32 0x6edcaf6241105b4c94c2efdbf3a6b12458eb3d07be3a0e81d24b13c44045fe7a 000014bd: DUP6 000014be: DUP6 000014bf: PUSH1 0x40 000014c1: MLOAD 000014c2: PUSH2 0x14cc 000014c5: SWAP3 000014c6: SWAP2 000014c7: SWAP1 000014c8: PUSH2 0x5e4d 000014cb: JUMP 000014cc: JUMPDEST 000014cd: PUSH1 0x40 000014cf: MLOAD 000014d0: DUP1 000014d1: SWAP2 000014d2: SUB 000014d3: SWAP1 000014d4: LOG4 000014d5: POP 000014d6: POP 000014d7: POP 000014d8: POP 000014d9: POP 000014da: POP 000014db: DUP1 000014dc: PUSH1 0x01 000014de: ADD 000014df: SWAP1 000014e0: POP 000014e1: PUSH2 0x13ee 000014e4: JUMP 000014e5: JUMPDEST 000014e6: POP 000014e7: POP 000014e8: PUSH2 0x057e 000014eb: PUSH2 0x1822 000014ee: JUMP 000014ef: JUMPDEST 000014f0: PUSH1 0x00 000014f2: PUSH2 0x12ce 000014f5: PUSH2 0x289b 000014f8: JUMP 000014f9: JUMPDEST 000014fa: PUSH1 0x00 000014fc: DUP1 000014fd: DUP3 000014fe: PUSH2 0x1506 00001501: DUP2 00001502: PUSH2 0x2683 00001505: JUMP 00001506: JUMPDEST 00001507: PUSH2 0x150f 0000150a: DUP5 0000150b: PUSH2 0x2938 0000150e: JUMP 0000150f: JUMPDEST 00001510: PUSH2 0x1518 00001513: DUP6 00001514: PUSH2 0x1f64 00001517: JUMP 00001518: JUMPDEST 00001519: SWAP3 0000151a: POP 0000151b: SWAP3 0000151c: POP 0000151d: JUMPDEST 0000151e: POP 0000151f: SWAP2 00001520: POP 00001521: SWAP2 00001522: JUMP 00001523: JUMPDEST 00001524: PUSH1 0x60 00001526: CALLER 00001527: ADDRESS 00001528: EQ 00001529: PUSH2 0x15f6 0000152c: JUMPI 0000152d: PUSH1 0x00 0000152f: ADDRESS 00001530: PUSH1 0x01 00001532: PUSH1 0x01 00001534: PUSH1 0xa0 00001536: SHL 00001537: SUB 00001538: AND 00001539: PUSH1 0x00 0000153b: CALLDATASIZE 0000153c: PUSH1 0x40 0000153e: MLOAD 0000153f: PUSH2 0x1549 00001542: SWAP3 00001543: SWAP2 00001544: SWAP1 00001545: PUSH2 0x5ada 00001548: JUMP 00001549: JUMPDEST 0000154a: PUSH1 0x00 0000154c: PUSH1 0x40 0000154e: MLOAD 0000154f: DUP1 00001550: DUP4 00001551: SUB 00001552: DUP2 00001553: PUSH1 0x00 00001555: DUP7 00001556: GAS 00001557: CALL 00001558: SWAP2 00001559: POP 0000155a: POP 0000155b: RETURNDATASIZE 0000155c: DUP1 0000155d: PUSH1 0x00 0000155f: DUP2 00001560: EQ 00001561: PUSH2 0x1586 00001564: JUMPI 00001565: PUSH1 0x40 00001567: MLOAD 00001568: SWAP2 00001569: POP 0000156a: PUSH1 0x1f 0000156c: NOT 0000156d: PUSH1 0x3f 0000156f: RETURNDATASIZE 00001570: ADD 00001571: AND 00001572: DUP3 00001573: ADD 00001574: PUSH1 0x40 00001576: MSTORE 00001577: RETURNDATASIZE 00001578: DUP3 00001579: MSTORE 0000157a: RETURNDATASIZE 0000157b: PUSH1 0x00 0000157d: PUSH1 0x20 0000157f: DUP5 00001580: ADD 00001581: RETURNDATACOPY 00001582: PUSH2 0x158b 00001585: JUMP 00001586: JUMPDEST 00001587: PUSH1 0x60 00001589: SWAP2 0000158a: POP 0000158b: JUMPDEST 0000158c: POP 0000158d: POP 0000158e: SWAP1 0000158f: POP 00001590: DUP1 00001591: PUSH1 0x00 00001593: DUP2 00001594: EQ 00001595: PUSH2 0x159a 00001598: JUMPI 00001599: INVALID 0000159a: JUMPDEST 0000159b: PUSH1 0x04 0000159d: PUSH1 0x00 0000159f: DUP1 000015a0: RETURNDATACOPY 000015a1: PUSH1 0x00 000015a3: MLOAD 000015a4: PUSH1 0x01 000015a6: PUSH1 0x01 000015a8: PUSH1 0xe0 000015aa: SHL 000015ab: SUB 000015ac: NOT 000015ad: AND 000015ae: PUSH32 0xfa61cc1200000000000000000000000000000000000000000000000000000000 000015cf: DUP2 000015d0: EQ 000015d1: PUSH2 0x15de 000015d4: JUMPI 000015d5: RETURNDATASIZE 000015d6: PUSH1 0x00 000015d8: DUP1 000015d9: RETURNDATACOPY 000015da: RETURNDATASIZE 000015db: PUSH1 0x00 000015dd: REVERT 000015de: JUMPDEST 000015df: POP 000015e0: PUSH1 0x20 000015e2: PUSH1 0x00 000015e4: MSTORE 000015e5: PUSH1 0x04 000015e7: RETURNDATASIZE 000015e8: SUB 000015e9: DUP1 000015ea: PUSH1 0x04 000015ec: PUSH1 0x20 000015ee: RETURNDATACOPY 000015ef: PUSH1 0x20 000015f1: DUP2 000015f2: ADD 000015f3: PUSH1 0x00 000015f5: RETURN 000015f6: JUMPDEST 000015f7: PUSH1 0x60 000015f9: PUSH2 0x1604 000015fc: DUP6 000015fd: DUP6 000015fe: DUP6 000015ff: DUP10 00001600: PUSH2 0x23f4 00001603: JUMP 00001604: JUMPDEST 00001605: SWAP1 00001606: POP 00001607: PUSH1 0x20 00001609: DUP2 0000160a: MLOAD 0000160b: MUL 0000160c: PUSH4 0xfa61cc12 00001611: PUSH1 0x20 00001613: DUP4 00001614: SUB 00001615: MSTORE 00001616: PUSH1 0x04 00001618: DUP3 00001619: SUB 0000161a: PUSH1 0x24 0000161c: DUP3 0000161d: ADD 0000161e: DUP2 0000161f: REVERT 00001620: JUMPDEST 00001621: PUSH1 0x60 00001623: DUP1 00001624: PUSH1 0x00 00001626: DUP4 00001627: PUSH2 0x162f 0000162a: DUP2 0000162b: PUSH2 0x2683 0000162e: JUMP 0000162f: JUMPDEST 00001630: PUSH1 0x60 00001632: PUSH2 0x163a 00001635: DUP7 00001636: PUSH2 0x293e 00001639: JUMP 0000163a: JUMPDEST 0000163b: SWAP1 0000163c: SWAP6 0000163d: POP 0000163e: SWAP1 0000163f: POP 00001640: PUSH2 0x1648 00001643: DUP2 00001644: PUSH2 0x29a0 00001647: JUMP 00001648: JUMPDEST 00001649: SWAP6 0000164a: SWAP8 0000164b: SWAP1 0000164c: SWAP7 0000164d: POP 0000164e: SWAP4 0000164f: POP 00001650: POP 00001651: POP 00001652: POP 00001653: JUMP 00001654: JUMPDEST 00001655: PUSH2 0x165c 00001658: PUSH2 0x1768 0000165b: JUMP 0000165c: JUMPDEST 0000165d: PUSH2 0x1664 00001660: PUSH2 0x1829 00001663: JUMP 00001664: JUMPDEST 00001665: DUP3 00001666: PUSH2 0x166e 00001669: DUP2 0000166a: PUSH2 0x1b0f 0000166d: JUMP 0000166e: JUMPDEST 0000166f: PUSH1 0x01 00001671: PUSH1 0x01 00001673: PUSH1 0xa0 00001675: SHL 00001676: SUB 00001677: DUP5 00001678: DUP2 00001679: AND 0000167a: PUSH1 0x00 0000167c: DUP2 0000167d: DUP2 0000167e: MSTORE 0000167f: PUSH1 0x04 00001681: PUSH1 0x20 00001683: SWAP1 00001684: DUP2 00001685: MSTORE 00001686: PUSH1 0x40 00001688: DUP1 00001689: DUP4 0000168a: KECCAK256 0000168b: SWAP5 0000168c: DUP9 0000168d: AND 0000168e: DUP1 0000168f: DUP5 00001690: MSTORE 00001691: SWAP5 00001692: SWAP1 00001693: SWAP2 00001694: MSTORE 00001695: SWAP1 00001696: DUP2 00001697: SWAP1 00001698: KECCAK256 00001699: DUP1 0000169a: SLOAD 0000169b: PUSH1 0xff 0000169d: NOT 0000169e: AND 0000169f: DUP7 000016a0: ISZERO 000016a1: ISZERO 000016a2: OR 000016a3: SWAP1 000016a4: SSTORE 000016a5: MLOAD 000016a6: SWAP1 000016a7: SWAP2 000016a8: SWAP1 000016a9: PUSH32 0x46961fdb4502b646d5095fba7600486a8ac05041d55cdf0f16ed677180b5cad8 000016ca: SWAP1 000016cb: PUSH2 0x16d5 000016ce: SWAP1 000016cf: DUP7 000016d0: SWAP1 000016d1: PUSH2 0x5d1b 000016d4: JUMP 000016d5: JUMPDEST 000016d6: PUSH1 0x40 000016d8: MLOAD 000016d9: DUP1 000016da: SWAP2 000016db: SUB 000016dc: SWAP1 000016dd: LOG3 000016de: POP 000016df: PUSH2 0x0fa0 000016e2: PUSH2 0x1822 000016e5: JUMP 000016e6: JUMPDEST 000016e7: PUSH1 0x00 000016e9: PUSH2 0x16f2 000016ec: DUP4 000016ed: DUP4 000016ee: PUSH2 0x2a4f 000016f1: JUMP 000016f2: JUMPDEST 000016f3: SWAP1 000016f4: POP 000016f5: JUMPDEST 000016f6: SWAP3 000016f7: SWAP2 000016f8: POP 000016f9: POP 000016fa: JUMP 000016fb: JUMPDEST 000016fc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000171d: PUSH1 0x00 0000171f: SWAP1 00001720: DUP2 00001721: MSTORE 00001722: PUSH1 0x20 00001724: PUSH1 0x04 00001726: MSTORE 00001727: PUSH1 0x07 00001729: PUSH1 0x24 0000172b: MSTORE 0000172c: PUSH7 0x42414c23000030 00001734: PUSH1 0x0a 00001736: DUP1 00001737: DUP5 00001738: DIV 00001739: DUP2 0000173a: DUP2 0000173b: MOD 0000173c: PUSH1 0x30 0000173e: SWAP1 0000173f: DUP2 00001740: ADD 00001741: PUSH1 0x08 00001743: SHL 00001744: SWAP6 00001745: DUP4 00001746: SWAP1 00001747: MOD 00001748: SWAP6 00001749: SWAP1 0000174a: SWAP6 0000174b: ADD 0000174c: SWAP1 0000174d: DUP3 0000174e: SWAP1 0000174f: DIV 00001750: SWAP2 00001751: DUP3 00001752: MOD 00001753: SWAP1 00001754: SWAP5 00001755: ADD 00001756: PUSH1 0x10 00001758: SHL 00001759: SWAP4 0000175a: SWAP1 0000175b: SWAP4 0000175c: ADD 0000175d: ADD 0000175e: PUSH1 0xc8 00001760: SHL 00001761: PUSH1 0x44 00001763: MSTORE 00001764: PUSH1 0x64 00001766: SWAP1 00001767: REVERT 00001768: JUMPDEST 00001769: PUSH2 0x177a 0000176c: PUSH1 0x02 0000176e: PUSH1 0x00 00001770: SLOAD 00001771: EQ 00001772: ISZERO 00001773: PUSH2 0x0190 00001776: PUSH2 0x054b 00001779: JUMP 0000177a: JUMPDEST 0000177b: PUSH1 0x02 0000177d: PUSH1 0x00 0000177f: SSTORE 00001780: JUMP 00001781: JUMPDEST 00001782: PUSH1 0x00 00001784: PUSH2 0x1798 00001787: PUSH1 0x00 00001789: CALLDATALOAD 0000178a: PUSH1 0x01 0000178c: PUSH1 0x01 0000178e: PUSH1 0xe0 00001790: SHL 00001791: SUB 00001792: NOT 00001793: AND 00001794: PUSH2 0x10f9 00001797: JUMP 00001798: JUMPDEST 00001799: SWAP1 0000179a: POP 0000179b: PUSH2 0x057e 0000179e: PUSH2 0x17a7 000017a1: DUP3 000017a2: CALLER 000017a3: PUSH2 0x2a7d 000017a6: JUMP 000017a7: JUMPDEST 000017a8: PUSH2 0x0191 000017ab: PUSH2 0x054b 000017ae: JUMP 000017af: JUMPDEST 000017b0: PUSH1 0x40 000017b2: MLOAD 000017b3: PUSH1 0x01 000017b5: PUSH1 0x01 000017b7: PUSH1 0xa0 000017b9: SHL 000017ba: SUB 000017bb: DUP3 000017bc: AND 000017bd: SWAP1 000017be: PUSH32 0x94b979b6831a51293e2641426f97747feed46f17779fed9cd18d1ecefcfe92ef 000017df: SWAP1 000017e0: PUSH1 0x00 000017e2: SWAP1 000017e3: LOG2 000017e4: PUSH1 0x03 000017e6: DUP1 000017e7: SLOAD 000017e8: PUSH1 0x01 000017ea: PUSH1 0x01 000017ec: PUSH1 0xa0 000017ee: SHL 000017ef: SUB 000017f0: SWAP1 000017f1: SWAP3 000017f2: AND 000017f3: PUSH2 0x0100 000017f6: MUL 000017f7: PUSH32 0xffffffffffffffffffffff0000000000000000000000000000000000000000ff 00001818: SWAP1 00001819: SWAP3 0000181a: AND 0000181b: SWAP2 0000181c: SWAP1 0000181d: SWAP2 0000181e: OR 0000181f: SWAP1 00001820: SSTORE 00001821: JUMP 00001822: JUMPDEST 00001823: PUSH1 0x01 00001825: PUSH1 0x00 00001827: SSTORE 00001828: JUMP 00001829: JUMPDEST 0000182a: PUSH2 0x183c 0000182d: PUSH2 0x1834 00001830: PUSH2 0x1aaa 00001833: JUMP 00001834: JUMPDEST 00001835: PUSH2 0x0192 00001838: PUSH2 0x054b 0000183b: JUMP 0000183c: JUMPDEST 0000183d: JUMP 0000183e: JUMPDEST 0000183f: PUSH1 0x00 00001841: PUSH10 0xffffffffffffffffffff 0000184c: DUP3 0000184d: AND 0000184e: PUSH1 0x50 00001850: DUP5 00001851: PUSH1 0x02 00001853: DUP2 00001854: GT 00001855: ISZERO 00001856: PUSH2 0x185b 00001859: JUMPI 0000185a: INVALID 0000185b: JUMPDEST 0000185c: SWAP1 0000185d: SHL 0000185e: OR 0000185f: PUSH1 0x60 00001861: DUP6 00001862: SWAP1 00001863: SHL 00001864: PUSH12 0xffffffffffffffffffffffff 00001871: NOT 00001872: AND 00001873: OR 00001874: SWAP1 00001875: POP 00001876: JUMPDEST 00001877: SWAP4 00001878: SWAP3 00001879: POP 0000187a: POP 0000187b: POP 0000187c: JUMP 0000187d: JUMPDEST 0000187e: PUSH1 0x00 00001880: DUP1 00001881: PUSH1 0x00 00001883: DUP1 00001884: PUSH1 0x00 00001886: DUP1 00001887: PUSH1 0x00 00001889: DUP9 0000188a: PUSH1 0x60 0000188c: ADD 0000188d: MLOAD 0000188e: SWAP1 0000188f: POP 00001890: CALLER 00001891: PUSH1 0x01 00001893: PUSH1 0x01 00001895: PUSH1 0xa0 00001897: SHL 00001898: SUB 00001899: AND 0000189a: DUP2 0000189b: PUSH1 0x01 0000189d: PUSH1 0x01 0000189f: PUSH1 0xa0 000018a1: SHL 000018a2: SUB 000018a3: AND 000018a4: EQ 000018a5: PUSH2 0x18cf 000018a8: JUMPI 000018a9: DUP8 000018aa: PUSH2 0x18ba 000018ad: JUMPI 000018ae: PUSH2 0x18b5 000018b1: PUSH2 0x1781 000018b4: JUMP 000018b5: JUMPDEST 000018b6: PUSH1 0x01 000018b8: SWAP8 000018b9: POP 000018ba: JUMPDEST 000018bb: PUSH2 0x18cf 000018be: PUSH2 0x18c7 000018c1: DUP3 000018c2: CALLER 000018c3: PUSH2 0x2a4f 000018c6: JUMP 000018c7: JUMPDEST 000018c8: PUSH2 0x01f7 000018cb: PUSH2 0x054b 000018ce: JUMP 000018cf: JUMPDEST 000018d0: DUP9 000018d1: MLOAD 000018d2: PUSH1 0x20 000018d4: DUP11 000018d5: ADD 000018d6: MLOAD 000018d7: PUSH1 0x40 000018d9: DUP12 000018da: ADD 000018db: MLOAD 000018dc: PUSH1 0x80 000018de: SWAP1 000018df: SWAP12 000018e0: ADD 000018e1: MLOAD 000018e2: SWAP2 000018e3: SWAP12 000018e4: SWAP1 000018e5: SWAP11 000018e6: SWAP10 000018e7: SWAP3 000018e8: SWAP9 000018e9: POP 000018ea: SWAP1 000018eb: SWAP7 000018ec: POP 000018ed: SWAP1 000018ee: SWAP5 000018ef: POP 000018f0: SWAP3 000018f1: POP 000018f2: POP 000018f3: POP 000018f4: JUMP 000018f5: JUMPDEST 000018f6: PUSH2 0x190a 000018f9: DUP4 000018fa: PUSH2 0x1902 000018fd: DUP7 000018fe: PUSH2 0x1b41 00001901: JUMP 00001902: JUMPDEST 00001903: DUP4 00001904: PUSH1 0x00 00001906: PUSH2 0x2b20 00001909: JUMP 0000190a: JUMPDEST 0000190b: POP 0000190c: PUSH2 0x0e00 0000190f: DUP5 00001910: DUP3 00001911: DUP5 00001912: PUSH1 0x00 00001914: PUSH2 0x1d38 00001917: JUMP 00001918: JUMPDEST 00001919: PUSH2 0x192b 0000191c: DUP3 0000191d: PUSH2 0x1925 00001920: DUP7 00001921: PUSH2 0x1b41 00001924: JUMP 00001925: JUMPDEST 00001926: DUP4 00001927: PUSH2 0x2b76 0000192a: JUMP 0000192b: JUMPDEST 0000192c: PUSH2 0x0e00 0000192f: DUP5 00001930: DUP3 00001931: DUP6 00001932: PUSH1 0x00 00001934: PUSH2 0x1c5a 00001937: JUMP 00001938: JUMPDEST 00001939: PUSH1 0x01 0000193b: PUSH1 0x01 0000193d: PUSH1 0xa0 0000193f: SHL 00001940: SUB 00001941: AND 00001942: ISZERO 00001943: SWAP1 00001944: JUMP 00001945: JUMPDEST 00001946: PUSH1 0x00 00001948: DUP3 00001949: DUP3 0000194a: ADD 0000194b: PUSH2 0x16f2 0000194e: DUP5 0000194f: DUP3 00001950: LT 00001951: ISZERO 00001952: DUP4 00001953: PUSH2 0x054b 00001956: JUMP 00001957: JUMPDEST 00001958: PUSH2 0x1964 0000195b: DUP4 0000195c: DUP6 0000195d: DUP4 0000195e: PUSH1 0x00 00001960: PUSH2 0x2b20 00001963: JUMP 00001964: JUMPDEST 00001965: POP 00001966: PUSH2 0x0e00 00001969: DUP3 0000196a: DUP6 0000196b: DUP4 0000196c: PUSH2 0x2b76 0000196f: JUMP 00001970: JUMPDEST 00001971: DUP1 00001972: ISZERO 00001973: PUSH2 0x0e00 00001976: JUMPI 00001977: PUSH2 0x198b 0000197a: PUSH1 0x01 0000197c: PUSH1 0x01 0000197e: PUSH1 0xa0 00001980: SHL 00001981: SUB 00001982: DUP6 00001983: AND 00001984: DUP5 00001985: DUP5 00001986: DUP5 00001987: PUSH2 0x2ba6 0000198a: JUMP 0000198b: JUMPDEST 0000198c: DUP3 0000198d: PUSH1 0x01 0000198f: PUSH1 0x01 00001991: PUSH1 0xa0 00001993: SHL 00001994: SUB 00001995: AND 00001996: DUP5 00001997: PUSH1 0x01 00001999: PUSH1 0x01 0000199b: PUSH1 0xa0 0000199d: SHL 0000199e: SUB 0000199f: AND 000019a0: PUSH32 0x540a1a3f28340caec336c81d8d7b3df139ee5cdc1839a4f283d7ebb7eaae2d5c 000019c1: DUP5 000019c2: DUP5 000019c3: PUSH1 0x40 000019c5: MLOAD 000019c6: PUSH2 0x19d0 000019c9: SWAP3 000019ca: SWAP2 000019cb: SWAP1 000019cc: PUSH2 0x5bc1 000019cf: JUMP 000019d0: JUMPDEST 000019d1: PUSH1 0x40 000019d3: MLOAD 000019d4: DUP1 000019d5: SWAP2 000019d6: SUB 000019d7: SWAP1 000019d8: LOG3 000019d9: POP 000019da: POP 000019db: POP 000019dc: POP 000019dd: JUMP 000019de: JUMPDEST 000019df: PUSH2 0x19ed 000019e2: DUP2 000019e3: CALLVALUE 000019e4: LT 000019e5: ISZERO 000019e6: PUSH2 0x0204 000019e9: PUSH2 0x054b 000019ec: JUMP 000019ed: JUMPDEST 000019ee: CALLVALUE 000019ef: DUP2 000019f0: SWAP1 000019f1: SUB 000019f2: DUP1 000019f3: ISZERO 000019f4: PUSH2 0x0559 000019f7: JUMPI 000019f8: PUSH2 0x0559 000019fb: CALLER 000019fc: DUP3 000019fd: PUSH2 0x2bc7 00001a00: JUMP 00001a01: JUMPDEST 00001a02: PUSH1 0x01 00001a04: PUSH1 0x01 00001a06: PUSH1 0xa0 00001a08: SHL 00001a09: SUB 00001a0a: SWAP2 00001a0b: DUP3 00001a0c: AND 00001a0d: PUSH1 0x00 00001a0f: SWAP1 00001a10: DUP2 00001a11: MSTORE 00001a12: PUSH1 0x0b 00001a14: PUSH1 0x20 00001a16: SWAP1 00001a17: DUP2 00001a18: MSTORE 00001a19: PUSH1 0x40 00001a1b: DUP1 00001a1c: DUP4 00001a1d: KECCAK256 00001a1e: SWAP4 00001a1f: SWAP1 00001a20: SWAP5 00001a21: AND 00001a22: DUP3 00001a23: MSTORE 00001a24: SWAP2 00001a25: SWAP1 00001a26: SWAP2 00001a27: MSTORE 00001a28: KECCAK256 00001a29: SLOAD 00001a2a: SWAP1 00001a2b: JUMP 00001a2c: JUMPDEST 00001a2d: DUP1 00001a2e: ISZERO 00001a2f: PUSH2 0x1a4c 00001a32: JUMPI 00001a33: PUSH2 0x1a47 00001a36: PUSH2 0x1a3d 00001a39: PUSH2 0x1ac7 00001a3c: JUMP 00001a3d: JUMPDEST 00001a3e: TIMESTAMP 00001a3f: LT 00001a40: PUSH2 0x0193 00001a43: PUSH2 0x054b 00001a46: JUMP 00001a47: JUMPDEST 00001a48: PUSH2 0x1a61 00001a4b: JUMP 00001a4c: JUMPDEST 00001a4d: PUSH2 0x1a61 00001a50: PUSH2 0x1a57 00001a53: PUSH2 0x1aeb 00001a56: JUMP 00001a57: JUMPDEST 00001a58: TIMESTAMP 00001a59: LT 00001a5a: PUSH2 0x01a9 00001a5d: PUSH2 0x054b 00001a60: JUMP 00001a61: JUMPDEST 00001a62: PUSH1 0x03 00001a64: DUP1 00001a65: SLOAD 00001a66: PUSH1 0xff 00001a68: NOT 00001a69: AND 00001a6a: DUP3 00001a6b: ISZERO 00001a6c: ISZERO 00001a6d: OR 00001a6e: SWAP1 00001a6f: SSTORE 00001a70: PUSH1 0x40 00001a72: MLOAD 00001a73: PUSH32 0x9e3a5e37224532dea67b89face185703738a228a6e8a23dee546960180d3be64 00001a94: SWAP1 00001a95: PUSH2 0x1a9f 00001a98: SWAP1 00001a99: DUP4 00001a9a: SWAP1 00001a9b: PUSH2 0x5d1b 00001a9e: JUMP 00001a9f: JUMPDEST 00001aa0: PUSH1 0x40 00001aa2: MLOAD 00001aa3: DUP1 00001aa4: SWAP2 00001aa5: SUB 00001aa6: SWAP1 00001aa7: LOG1 00001aa8: POP 00001aa9: JUMP 00001aaa: JUMPDEST 00001aab: PUSH1 0x00 00001aad: PUSH2 0x1ab4 00001ab0: PUSH2 0x1aeb 00001ab3: JUMP 00001ab4: JUMPDEST 00001ab5: TIMESTAMP 00001ab6: GT 00001ab7: DUP1 00001ab8: PUSH2 0x12ce 00001abb: JUMPI 00001abc: POP 00001abd: POP 00001abe: PUSH1 0x03 00001ac0: SLOAD 00001ac1: PUSH1 0xff 00001ac3: AND 00001ac4: ISZERO 00001ac5: SWAP1 00001ac6: JUMP 00001ac7: JUMPDEST 00001ac8: PUSH32 0x0000000000000000000000000000000000000000000000000000000060f474bf 00001ae9: SWAP1 00001aea: JUMP 00001aeb: JUMPDEST 00001aec: PUSH32 0x00000000000000000000000000000000000000000000000000000000611c01bf 00001b0d: SWAP1 00001b0e: JUMP 00001b0f: JUMPDEST 00001b10: CALLER 00001b11: PUSH1 0x01 00001b13: PUSH1 0x01 00001b15: PUSH1 0xa0 00001b17: SHL 00001b18: SUB 00001b19: DUP3 00001b1a: AND 00001b1b: EQ 00001b1c: PUSH2 0x057e 00001b1f: JUMPI 00001b20: PUSH2 0x1b27 00001b23: PUSH2 0x1781 00001b26: JUMP 00001b27: JUMPDEST 00001b28: PUSH2 0x1b31 00001b2b: DUP2 00001b2c: CALLER 00001b2d: PUSH2 0x2a4f 00001b30: JUMP 00001b31: JUMPDEST 00001b32: PUSH2 0x057e 00001b35: JUMPI 00001b36: PUSH2 0x057e 00001b39: DUP2 00001b3a: PUSH2 0x01f7 00001b3d: PUSH2 0x2c41 00001b40: JUMP 00001b41: JUMPDEST 00001b42: PUSH1 0x00 00001b44: PUSH2 0x1b4c 00001b47: DUP3 00001b48: PUSH2 0x1938 00001b4b: JUMP 00001b4c: JUMPDEST 00001b4d: PUSH2 0x1b5e 00001b50: JUMPI 00001b51: PUSH2 0x1b59 00001b54: DUP3 00001b55: PUSH2 0x0548 00001b58: JUMP 00001b59: JUMPDEST 00001b5a: PUSH2 0x16f5 00001b5d: JUMP 00001b5e: JUMPDEST 00001b5f: PUSH2 0x16f5 00001b62: PUSH2 0x0526 00001b65: JUMP 00001b66: JUMPDEST 00001b67: PUSH1 0x00 00001b69: DUP1 00001b6a: PUSH1 0x00 00001b6c: DUP1 00001b6d: PUSH2 0x1b79 00001b70: DUP6 00001b71: PUSH1 0x80 00001b73: ADD 00001b74: MLOAD 00001b75: PUSH2 0x2938 00001b78: JUMP 00001b79: JUMPDEST 00001b7a: SWAP1 00001b7b: POP 00001b7c: PUSH1 0x00 00001b7e: PUSH2 0x1b8a 00001b81: DUP7 00001b82: PUSH1 0x80 00001b84: ADD 00001b85: MLOAD 00001b86: PUSH2 0x1f64 00001b89: JUMP 00001b8a: JUMPDEST 00001b8b: SWAP1 00001b8c: POP 00001b8d: PUSH1 0x02 00001b8f: DUP2 00001b90: PUSH1 0x02 00001b92: DUP2 00001b93: GT 00001b94: ISZERO 00001b95: PUSH2 0x1b9a 00001b98: JUMPI 00001b99: INVALID 00001b9a: JUMPDEST 00001b9b: EQ 00001b9c: ISZERO 00001b9d: PUSH2 0x1bb1 00001ba0: JUMPI 00001ba1: PUSH2 0x1baa 00001ba4: DUP7 00001ba5: DUP4 00001ba6: PUSH2 0x2c75 00001ba9: JUMP 00001baa: JUMPDEST 00001bab: SWAP5 00001bac: POP 00001bad: PUSH2 0x1bdc 00001bb0: JUMP 00001bb1: JUMPDEST 00001bb2: PUSH1 0x01 00001bb4: DUP2 00001bb5: PUSH1 0x02 00001bb7: DUP2 00001bb8: GT 00001bb9: ISZERO 00001bba: PUSH2 0x1bbf 00001bbd: JUMPI 00001bbe: INVALID 00001bbf: JUMPDEST 00001bc0: EQ 00001bc1: ISZERO 00001bc2: PUSH2 0x1bcf 00001bc5: JUMPI 00001bc6: PUSH2 0x1baa 00001bc9: DUP7 00001bca: DUP4 00001bcb: PUSH2 0x2d25 00001bce: JUMP 00001bcf: JUMPDEST 00001bd0: PUSH2 0x1bd9 00001bd3: DUP7 00001bd4: DUP4 00001bd5: PUSH2 0x2db8 00001bd8: JUMP 00001bd9: JUMPDEST 00001bda: SWAP5 00001bdb: POP 00001bdc: JUMPDEST 00001bdd: PUSH2 0x1bef 00001be0: DUP7 00001be1: PUSH1 0x00 00001be3: ADD 00001be4: MLOAD 00001be5: DUP8 00001be6: PUSH1 0x60 00001be8: ADD 00001be9: MLOAD 00001bea: DUP8 00001beb: PUSH2 0x2ff7 00001bee: JUMP 00001bef: JUMPDEST 00001bf0: DUP1 00001bf1: SWAP5 00001bf2: POP 00001bf3: DUP2 00001bf4: SWAP6 00001bf5: POP 00001bf6: POP 00001bf7: POP 00001bf8: DUP6 00001bf9: PUSH1 0x40 00001bfb: ADD 00001bfc: MLOAD 00001bfd: PUSH1 0x01 00001bff: PUSH1 0x01 00001c01: PUSH1 0xa0 00001c03: SHL 00001c04: SUB 00001c05: AND 00001c06: DUP7 00001c07: PUSH1 0x20 00001c09: ADD 00001c0a: MLOAD 00001c0b: PUSH1 0x01 00001c0d: PUSH1 0x01 00001c0f: PUSH1 0xa0 00001c11: SHL 00001c12: SUB 00001c13: AND 00001c14: DUP8 00001c15: PUSH1 0x80 00001c17: ADD 00001c18: MLOAD 00001c19: PUSH32 0x2170c741c41531aec20e7c107c24eecfdd15e69c9bb0a8dd37b1840b9e0b207b 00001c3a: DUP8 00001c3b: DUP8 00001c3c: PUSH1 0x40 00001c3e: MLOAD 00001c3f: PUSH2 0x1c49 00001c42: SWAP3 00001c43: SWAP2 00001c44: SWAP1 00001c45: PUSH2 0x5e4d 00001c48: JUMP 00001c49: JUMPDEST 00001c4a: PUSH1 0x40 00001c4c: MLOAD 00001c4d: DUP1 00001c4e: SWAP2 00001c4f: SUB 00001c50: SWAP1 00001c51: LOG4 00001c52: POP 00001c53: POP 00001c54: SWAP2 00001c55: SWAP4 00001c56: SWAP1 00001c57: SWAP3 00001c58: POP 00001c59: JUMP 00001c5a: JUMPDEST 00001c5b: DUP3 00001c5c: PUSH2 0x1c64 00001c5f: JUMPI 00001c60: PUSH2 0x0e00 00001c63: JUMP 00001c64: JUMPDEST 00001c65: PUSH2 0x1c6d 00001c68: DUP5 00001c69: PUSH2 0x1938 00001c6c: JUMP 00001c6d: JUMPDEST 00001c6e: ISZERO 00001c6f: PUSH2 0x1cee 00001c72: JUMPI 00001c73: PUSH2 0x1c7f 00001c76: DUP2 00001c77: ISZERO 00001c78: PUSH2 0x0202 00001c7b: PUSH2 0x054b 00001c7e: JUMP 00001c7f: JUMPDEST 00001c80: PUSH2 0x1c8e 00001c83: DUP4 00001c84: SELFBALANCE 00001c85: LT 00001c86: ISZERO 00001c87: PUSH2 0x0204 00001c8a: PUSH2 0x054b 00001c8d: JUMP 00001c8e: JUMPDEST 00001c8f: PUSH2 0x1c96 00001c92: PUSH2 0x0526 00001c95: JUMP 00001c96: JUMPDEST 00001c97: PUSH1 0x01 00001c99: PUSH1 0x01 00001c9b: PUSH1 0xa0 00001c9d: SHL 00001c9e: SUB 00001c9f: AND 00001ca0: PUSH4 0xd0e30db0 00001ca5: DUP5 00001ca6: PUSH1 0x40 00001ca8: MLOAD 00001ca9: DUP3 00001caa: PUSH4 0xffffffff 00001caf: AND 00001cb0: PUSH1 0xe0 00001cb2: SHL 00001cb3: DUP2 00001cb4: MSTORE 00001cb5: PUSH1 0x04 00001cb7: ADD 00001cb8: PUSH1 0x00 00001cba: PUSH1 0x40 00001cbc: MLOAD 00001cbd: DUP1 00001cbe: DUP4 00001cbf: SUB 00001cc0: DUP2 00001cc1: DUP6 00001cc2: DUP9 00001cc3: DUP1 00001cc4: EXTCODESIZE 00001cc5: ISZERO 00001cc6: DUP1 00001cc7: ISZERO 00001cc8: PUSH2 0x1cd0 00001ccb: JUMPI 00001ccc: PUSH1 0x00 00001cce: DUP1 00001ccf: REVERT 00001cd0: JUMPDEST 00001cd1: POP 00001cd2: GAS 00001cd3: CALL 00001cd4: ISZERO 00001cd5: DUP1 00001cd6: ISZERO 00001cd7: PUSH2 0x1ce4 00001cda: JUMPI 00001cdb: RETURNDATASIZE 00001cdc: PUSH1 0x00 00001cde: DUP1 00001cdf: RETURNDATACOPY 00001ce0: RETURNDATASIZE 00001ce1: PUSH1 0x00 00001ce3: REVERT 00001ce4: JUMPDEST 00001ce5: POP 00001ce6: POP 00001ce7: POP 00001ce8: POP 00001ce9: POP 00001cea: PUSH2 0x0e00 00001ced: JUMP 00001cee: JUMPDEST 00001cef: PUSH1 0x00 00001cf1: PUSH2 0x1cf9 00001cf4: DUP6 00001cf5: PUSH2 0x0548 00001cf8: JUMP 00001cf9: JUMPDEST 00001cfa: SWAP1 00001cfb: POP 00001cfc: DUP2 00001cfd: ISZERO 00001cfe: PUSH2 0x1d16 00001d01: JUMPI 00001d02: PUSH1 0x00 00001d04: PUSH2 0x1d10 00001d07: DUP5 00001d08: DUP4 00001d09: DUP8 00001d0a: PUSH1 0x01 00001d0c: PUSH2 0x2b20 00001d0f: JUMP 00001d10: JUMPDEST 00001d11: SWAP1 00001d12: SWAP5 00001d13: SUB 00001d14: SWAP4 00001d15: POP 00001d16: JUMPDEST 00001d17: DUP4 00001d18: ISZERO 00001d19: PUSH2 0x1d31 00001d1c: JUMPI 00001d1d: PUSH2 0x1d31 00001d20: PUSH1 0x01 00001d22: PUSH1 0x01 00001d24: PUSH1 0xa0 00001d26: SHL 00001d27: SUB 00001d28: DUP3 00001d29: AND 00001d2a: DUP5 00001d2b: ADDRESS 00001d2c: DUP8 00001d2d: PUSH2 0x2ba6 00001d30: JUMP 00001d31: JUMPDEST 00001d32: POP 00001d33: POP 00001d34: POP 00001d35: POP 00001d36: POP 00001d37: JUMP 00001d38: JUMPDEST 00001d39: DUP3 00001d3a: PUSH2 0x1d42 00001d3d: JUMPI 00001d3e: PUSH2 0x0e00 00001d41: JUMP 00001d42: JUMPDEST 00001d43: PUSH2 0x1d4b 00001d46: DUP5 00001d47: PUSH2 0x1938 00001d4a: JUMP 00001d4b: JUMPDEST 00001d4c: ISZERO 00001d4d: PUSH2 0x1ddb 00001d50: JUMPI 00001d51: PUSH2 0x1d5d 00001d54: DUP2 00001d55: ISZERO 00001d56: PUSH2 0x0202 00001d59: PUSH2 0x054b 00001d5c: JUMP 00001d5d: JUMPDEST 00001d5e: PUSH2 0x1d65 00001d61: PUSH2 0x0526 00001d64: JUMP 00001d65: JUMPDEST 00001d66: PUSH1 0x01 00001d68: PUSH1 0x01 00001d6a: PUSH1 0xa0 00001d6c: SHL 00001d6d: SUB 00001d6e: AND 00001d6f: PUSH4 0x2e1a7d4d 00001d74: DUP5 00001d75: PUSH1 0x40 00001d77: MLOAD 00001d78: DUP3 00001d79: PUSH4 0xffffffff 00001d7e: AND 00001d7f: PUSH1 0xe0 00001d81: SHL 00001d82: DUP2 00001d83: MSTORE 00001d84: PUSH1 0x04 00001d86: ADD 00001d87: PUSH2 0x1d90 00001d8a: SWAP2 00001d8b: SWAP1 00001d8c: PUSH2 0x5d3e 00001d8f: JUMP 00001d90: JUMPDEST 00001d91: PUSH1 0x00 00001d93: PUSH1 0x40 00001d95: MLOAD 00001d96: DUP1 00001d97: DUP4 00001d98: SUB 00001d99: DUP2 00001d9a: PUSH1 0x00 00001d9c: DUP8 00001d9d: DUP1 00001d9e: EXTCODESIZE 00001d9f: ISZERO 00001da0: DUP1 00001da1: ISZERO 00001da2: PUSH2 0x1daa 00001da5: JUMPI 00001da6: PUSH1 0x00 00001da8: DUP1 00001da9: REVERT 00001daa: JUMPDEST 00001dab: POP 00001dac: GAS 00001dad: CALL 00001dae: ISZERO 00001daf: DUP1 00001db0: ISZERO 00001db1: PUSH2 0x1dbe 00001db4: JUMPI 00001db5: RETURNDATASIZE 00001db6: PUSH1 0x00 00001db8: DUP1 00001db9: RETURNDATACOPY 00001dba: RETURNDATASIZE 00001dbb: PUSH1 0x00 00001dbd: REVERT 00001dbe: JUMPDEST 00001dbf: POP 00001dc0: PUSH2 0x1dd6 00001dc3: SWAP3 00001dc4: POP 00001dc5: POP 00001dc6: POP 00001dc7: PUSH1 0x01 00001dc9: PUSH1 0x01 00001dcb: PUSH1 0xa0 00001dcd: SHL 00001dce: SUB 00001dcf: DUP4 00001dd0: AND 00001dd1: DUP5 00001dd2: PUSH2 0x2bc7 00001dd5: JUMP 00001dd6: JUMPDEST 00001dd7: PUSH2 0x0e00 00001dda: JUMP 00001ddb: JUMPDEST 00001ddc: PUSH1 0x00 00001dde: PUSH2 0x1de6 00001de1: DUP6 00001de2: PUSH2 0x0548 00001de5: JUMP 00001de6: JUMPDEST 00001de7: SWAP1 00001de8: POP 00001de9: DUP2 00001dea: ISZERO 00001deb: PUSH2 0x1dfe 00001dee: JUMPI 00001def: PUSH2 0x1df9 00001df2: DUP4 00001df3: DUP3 00001df4: DUP7 00001df5: PUSH2 0x2b76 00001df8: JUMP 00001df9: JUMPDEST 00001dfa: PUSH2 0x1d31 00001dfd: JUMP 00001dfe: JUMPDEST 00001dff: PUSH2 0x1d31 00001e02: PUSH1 0x01 00001e04: PUSH1 0x01 00001e06: PUSH1 0xa0 00001e08: SHL 00001e09: SUB 00001e0a: DUP3 00001e0b: AND 00001e0c: DUP5 00001e0d: DUP7 00001e0e: PUSH2 0x1ea6 00001e11: JUMP 00001e12: JUMPDEST 00001e13: PUSH2 0x0559 00001e16: DUP2 00001e17: DUP4 00001e18: EQ 00001e19: PUSH1 0x67 00001e1b: PUSH2 0x054b 00001e1e: JUMP 00001e1f: JUMPDEST 00001e20: PUSH1 0x00 00001e22: DUP1 00001e23: PUSH2 0x1e2a 00001e26: PUSH2 0x13af 00001e29: JUMP 00001e2a: JUMPDEST 00001e2b: PUSH1 0x01 00001e2d: PUSH1 0x01 00001e2f: PUSH1 0xa0 00001e31: SHL 00001e32: SUB 00001e33: AND 00001e34: PUSH4 0xd877845c 00001e39: PUSH1 0x40 00001e3b: MLOAD 00001e3c: DUP2 00001e3d: PUSH4 0xffffffff 00001e42: AND 00001e43: PUSH1 0xe0 00001e45: SHL 00001e46: DUP2 00001e47: MSTORE 00001e48: PUSH1 0x04 00001e4a: ADD 00001e4b: PUSH1 0x20 00001e4d: PUSH1 0x40 00001e4f: MLOAD 00001e50: DUP1 00001e51: DUP4 00001e52: SUB 00001e53: DUP2 00001e54: DUP7 00001e55: DUP1 00001e56: EXTCODESIZE 00001e57: ISZERO 00001e58: DUP1 00001e59: ISZERO 00001e5a: PUSH2 0x1e62 00001e5d: JUMPI 00001e5e: PUSH1 0x00 00001e60: DUP1 00001e61: REVERT 00001e62: JUMPDEST 00001e63: POP 00001e64: GAS 00001e65: STATICCALL 00001e66: ISZERO 00001e67: DUP1 00001e68: ISZERO 00001e69: PUSH2 0x1e76 00001e6c: JUMPI 00001e6d: RETURNDATASIZE 00001e6e: PUSH1 0x00 00001e70: DUP1 00001e71: RETURNDATACOPY 00001e72: RETURNDATASIZE 00001e73: PUSH1 0x00 00001e75: REVERT 00001e76: JUMPDEST 00001e77: POP 00001e78: POP 00001e79: POP 00001e7a: POP 00001e7b: PUSH1 0x40 00001e7d: MLOAD 00001e7e: RETURNDATASIZE 00001e7f: PUSH1 0x1f 00001e81: NOT 00001e82: PUSH1 0x1f 00001e84: DUP3 00001e85: ADD 00001e86: AND 00001e87: DUP3 00001e88: ADD 00001e89: DUP1 00001e8a: PUSH1 0x40 00001e8c: MSTORE 00001e8d: POP 00001e8e: DUP2 00001e8f: ADD 00001e90: SWAP1 00001e91: PUSH2 0x1e9a 00001e94: SWAP2 00001e95: SWAP1 00001e96: PUSH2 0x5968 00001e99: JUMP 00001e9a: JUMPDEST 00001e9b: SWAP1 00001e9c: POP 00001e9d: PUSH2 0x1876 00001ea0: DUP4 00001ea1: DUP3 00001ea2: PUSH2 0x3025 00001ea5: JUMP 00001ea6: JUMPDEST 00001ea7: PUSH2 0x0fa0 00001eaa: DUP4 00001eab: PUSH4 0xa9059cbb 00001eb0: PUSH1 0xe0 00001eb2: SHL 00001eb3: DUP5 00001eb4: DUP5 00001eb5: PUSH1 0x40 00001eb7: MLOAD 00001eb8: PUSH1 0x24 00001eba: ADD 00001ebb: PUSH2 0x1ec5 00001ebe: SWAP3 00001ebf: SWAP2 00001ec0: SWAP1 00001ec1: PUSH2 0x5bc1 00001ec4: JUMP 00001ec5: JUMPDEST 00001ec6: PUSH1 0x40 00001ec8: DUP1 00001ec9: MLOAD 00001eca: PUSH1 0x1f 00001ecc: NOT 00001ecd: DUP2 00001ece: DUP5 00001ecf: SUB 00001ed0: ADD 00001ed1: DUP2 00001ed2: MSTORE 00001ed3: SWAP2 00001ed4: SWAP1 00001ed5: MSTORE 00001ed6: PUSH1 0x20 00001ed8: DUP2 00001ed9: ADD 00001eda: DUP1 00001edb: MLOAD 00001edc: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001ef9: AND 00001efa: PUSH1 0x01 00001efc: PUSH1 0x01 00001efe: PUSH1 0xe0 00001f00: SHL 00001f01: SUB 00001f02: NOT 00001f03: SWAP1 00001f04: SWAP4 00001f05: AND 00001f06: SWAP3 00001f07: SWAP1 00001f08: SWAP3 00001f09: OR 00001f0a: SWAP1 00001f0b: SWAP2 00001f0c: MSTORE 00001f0d: PUSH2 0x3072 00001f10: JUMP 00001f11: JUMPDEST 00001f12: DUP1 00001f13: ISZERO 00001f14: PUSH2 0x0559 00001f17: JUMPI 00001f18: PUSH2 0x0559 00001f1b: PUSH2 0x1f22 00001f1e: PUSH2 0x13af 00001f21: JUMP 00001f22: JUMPDEST 00001f23: PUSH1 0x01 00001f25: PUSH1 0x01 00001f27: PUSH1 0xa0 00001f29: SHL 00001f2a: SUB 00001f2b: DUP5 00001f2c: AND 00001f2d: SWAP1 00001f2e: DUP4 00001f2f: PUSH2 0x1ea6 00001f32: JUMP 00001f33: JUMPDEST 00001f34: PUSH2 0x1f3c 00001f37: DUP2 00001f38: PUSH2 0x2683 00001f3b: JUMP 00001f3c: JUMPDEST 00001f3d: PUSH2 0x057e 00001f40: PUSH2 0x1f48 00001f43: DUP3 00001f44: PUSH2 0x2938 00001f47: JUMP 00001f48: JUMPDEST 00001f49: PUSH1 0x01 00001f4b: PUSH1 0x01 00001f4d: PUSH1 0xa0 00001f4f: SHL 00001f50: SUB 00001f51: AND 00001f52: CALLER 00001f53: PUSH1 0x01 00001f55: PUSH1 0x01 00001f57: PUSH1 0xa0 00001f59: SHL 00001f5a: SUB 00001f5b: AND 00001f5c: EQ 00001f5d: PUSH2 0x01f5 00001f60: PUSH2 0x054b 00001f63: JUMP 00001f64: JUMPDEST 00001f65: PUSH1 0x00 00001f67: PUSH2 0xffff 00001f6a: PUSH1 0x50 00001f6c: DUP4 00001f6d: SWAP1 00001f6e: SHR 00001f6f: AND 00001f70: PUSH2 0x16f5 00001f73: PUSH1 0x03 00001f75: DUP3 00001f76: LT 00001f77: PUSH2 0x01f4 00001f7a: PUSH2 0x054b 00001f7d: JUMP 00001f7e: JUMPDEST 00001f7f: PUSH2 0x1f9f 00001f82: DUP2 00001f83: PUSH1 0x01 00001f85: PUSH1 0x01 00001f87: PUSH1 0xa0 00001f89: SHL 00001f8a: SUB 00001f8b: AND 00001f8c: DUP4 00001f8d: PUSH1 0x01 00001f8f: PUSH1 0x01 00001f91: PUSH1 0xa0 00001f93: SHL 00001f94: SUB 00001f95: AND 00001f96: EQ 00001f97: ISZERO 00001f98: PUSH2 0x020a 00001f9b: PUSH2 0x054b 00001f9e: JUMP 00001f9f: JUMPDEST 00001fa0: PUSH2 0x1fbe 00001fa3: DUP2 00001fa4: PUSH1 0x01 00001fa6: PUSH1 0x01 00001fa8: PUSH1 0xa0 00001faa: SHL 00001fab: SUB 00001fac: AND 00001fad: DUP4 00001fae: PUSH1 0x01 00001fb0: PUSH1 0x01 00001fb2: PUSH1 0xa0 00001fb4: SHL 00001fb5: SUB 00001fb6: AND 00001fb7: LT 00001fb8: PUSH1 0x66 00001fba: PUSH2 0x054b 00001fbd: JUMP 00001fbe: JUMPDEST 00001fbf: PUSH1 0x00 00001fc1: DUP4 00001fc2: DUP2 00001fc3: MSTORE 00001fc4: PUSH1 0x09 00001fc6: PUSH1 0x20 00001fc8: MSTORE 00001fc9: PUSH1 0x40 00001fcb: SWAP1 00001fcc: KECCAK256 00001fcd: DUP1 00001fce: SLOAD 00001fcf: PUSH2 0x1ffb 00001fd2: SWAP1 00001fd3: PUSH1 0x01 00001fd5: PUSH1 0x01 00001fd7: PUSH1 0xa0 00001fd9: SHL 00001fda: SUB 00001fdb: AND 00001fdc: ISZERO 00001fdd: DUP1 00001fde: ISZERO 00001fdf: PUSH2 0x1ff3 00001fe2: JUMPI 00001fe3: POP 00001fe4: PUSH1 0x01 00001fe6: DUP3 00001fe7: ADD 00001fe8: SLOAD 00001fe9: PUSH1 0x01 00001feb: PUSH1 0x01 00001fed: PUSH1 0xa0 00001fef: SHL 00001ff0: SUB 00001ff1: AND 00001ff2: ISZERO 00001ff3: JUMPDEST 00001ff4: PUSH2 0x020b 00001ff7: PUSH2 0x054b 00001ffa: JUMP 00001ffb: JUMPDEST 00001ffc: DUP1 00001ffd: SLOAD 00001ffe: PUSH1 0x01 00002000: PUSH1 0x01 00002002: PUSH1 0xa0 00002004: SHL 00002005: SUB 00002006: SWAP4 00002007: DUP5 00002008: AND 00002009: PUSH1 0x01 0000200b: PUSH1 0x01 0000200d: PUSH1 0xa0 0000200f: SHL 00002010: SUB 00002011: NOT 00002012: SWAP2 00002013: DUP3 00002014: AND 00002015: OR 00002016: DUP3 00002017: SSTORE 00002018: PUSH1 0x01 0000201a: SWAP1 0000201b: SWAP2 0000201c: ADD 0000201d: DUP1 0000201e: SLOAD 0000201f: SWAP3 00002020: SWAP1 00002021: SWAP4 00002022: AND 00002023: SWAP2 00002024: AND 00002025: OR 00002026: SWAP1 00002027: SSTORE 00002028: POP 00002029: JUMP 0000202a: JUMPDEST 0000202b: PUSH1 0x00 0000202d: DUP3 0000202e: DUP2 0000202f: MSTORE 00002030: PUSH1 0x08 00002032: PUSH1 0x20 00002034: MSTORE 00002035: PUSH1 0x40 00002037: DUP2 00002038: KECCAK256 00002039: SWAP1 0000203a: JUMPDEST 0000203b: DUP3 0000203c: MLOAD 0000203d: DUP2 0000203e: LT 0000203f: ISZERO 00002040: PUSH2 0x0e00 00002043: JUMPI 00002044: PUSH1 0x00 00002046: PUSH2 0x206b 00002049: DUP5 0000204a: DUP4 0000204b: DUP2 0000204c: MLOAD 0000204d: DUP2 0000204e: LT 0000204f: PUSH2 0x2054 00002052: JUMPI 00002053: INVALID 00002054: JUMPDEST 00002055: PUSH1 0x20 00002057: MUL 00002058: PUSH1 0x20 0000205a: ADD 0000205b: ADD 0000205c: MLOAD 0000205d: DUP5 0000205e: PUSH2 0x3112 00002061: SWAP1 00002062: SWAP2 00002063: SWAP1 00002064: PUSH4 0xffffffff 00002069: AND 0000206a: JUMP 0000206b: JUMPDEST 0000206c: SWAP1 0000206d: POP 0000206e: PUSH2 0x2079 00002071: DUP2 00002072: PUSH2 0x020a 00002075: PUSH2 0x054b 00002078: JUMP 00002079: JUMPDEST 0000207a: POP 0000207b: PUSH1 0x01 0000207d: ADD 0000207e: PUSH2 0x203a 00002081: JUMP 00002082: JUMPDEST 00002083: PUSH1 0x00 00002085: DUP3 00002086: DUP2 00002087: MSTORE 00002088: PUSH1 0x01 0000208a: PUSH1 0x20 0000208c: MSTORE 0000208d: PUSH1 0x40 0000208f: DUP2 00002090: KECCAK256 00002091: SWAP1 00002092: JUMPDEST 00002093: DUP3 00002094: MLOAD 00002095: DUP2 00002096: LT 00002097: ISZERO 00002098: PUSH2 0x0e00 0000209b: JUMPI 0000209c: PUSH1 0x00 0000209e: PUSH2 0x20c0 000020a1: DUP5 000020a2: DUP4 000020a3: DUP2 000020a4: MLOAD 000020a5: DUP2 000020a6: LT 000020a7: PUSH2 0x20ac 000020aa: JUMPI 000020ab: INVALID 000020ac: JUMPDEST 000020ad: PUSH1 0x20 000020af: SWAP1 000020b0: DUP2 000020b1: MUL 000020b2: SWAP2 000020b3: SWAP1 000020b4: SWAP2 000020b5: ADD 000020b6: ADD 000020b7: MLOAD 000020b8: DUP5 000020b9: SWAP1 000020ba: PUSH1 0x00 000020bc: PUSH2 0x3175 000020bf: JUMP 000020c0: JUMPDEST 000020c1: SWAP1 000020c2: POP 000020c3: PUSH2 0x20ce 000020c6: DUP2 000020c7: PUSH2 0x020a 000020ca: PUSH2 0x054b 000020cd: JUMP 000020ce: JUMPDEST 000020cf: POP 000020d0: PUSH1 0x01 000020d2: ADD 000020d3: PUSH2 0x2092 000020d6: JUMP 000020d7: JUMPDEST 000020d8: PUSH1 0x00 000020da: DUP1 000020db: PUSH1 0x00 000020dd: PUSH2 0x20e7 000020e0: DUP7 000020e1: DUP7 000020e2: DUP7 000020e3: PUSH2 0x3222 000020e6: JUMP 000020e7: JUMPDEST 000020e8: SWAP3 000020e9: POP 000020ea: SWAP3 000020eb: POP 000020ec: SWAP3 000020ed: POP 000020ee: PUSH2 0x2111 000020f1: PUSH2 0x20f9 000020f4: DUP5 000020f5: PUSH2 0x32e9 000020f8: JUMP 000020f9: JUMPDEST 000020fa: DUP1 000020fb: ISZERO 000020fc: PUSH2 0x2109 000020ff: JUMPI 00002100: POP 00002101: PUSH2 0x2109 00002104: DUP4 00002105: PUSH2 0x32e9 00002108: JUMP 00002109: JUMPDEST 0000210a: PUSH2 0x020d 0000210d: PUSH2 0x054b 00002110: JUMP 00002111: JUMPDEST 00002112: PUSH1 0x00 00002114: SWAP6 00002115: DUP7 00002116: MSTORE 00002117: PUSH1 0x09 00002119: PUSH1 0x20 0000211b: MSTORE 0000211c: PUSH1 0x40 0000211e: DUP7 0000211f: KECCAK256 00002120: DUP1 00002121: SLOAD 00002122: PUSH1 0x01 00002124: PUSH1 0x01 00002126: PUSH1 0xa0 00002128: SHL 00002129: SUB 0000212a: NOT 0000212b: SWAP1 0000212c: DUP2 0000212d: AND 0000212e: DUP3 0000212f: SSTORE 00002130: PUSH1 0x01 00002132: SWAP1 00002133: SWAP2 00002134: ADD 00002135: DUP1 00002136: SLOAD 00002137: SWAP1 00002138: SWAP2 00002139: AND 0000213a: SWAP1 0000213b: SSTORE 0000213c: SWAP5 0000213d: SWAP1 0000213e: SWAP5 0000213f: SSTORE 00002140: POP 00002141: POP 00002142: POP 00002143: POP 00002144: JUMP 00002145: JUMPDEST 00002146: PUSH1 0x00 00002148: DUP3 00002149: DUP2 0000214a: MSTORE 0000214b: PUSH1 0x08 0000214d: PUSH1 0x20 0000214f: MSTORE 00002150: PUSH1 0x40 00002152: DUP2 00002153: KECCAK256 00002154: SWAP1 00002155: JUMPDEST 00002156: DUP3 00002157: MLOAD 00002158: DUP2 00002159: LT 0000215a: ISZERO 0000215b: PUSH2 0x0e00 0000215e: JUMPI 0000215f: PUSH1 0x00 00002161: DUP4 00002162: DUP3 00002163: DUP2 00002164: MLOAD 00002165: DUP2 00002166: LT 00002167: PUSH2 0x216c 0000216a: JUMPI 0000216b: INVALID 0000216c: JUMPDEST 0000216d: PUSH1 0x20 0000216f: MUL 00002170: PUSH1 0x20 00002172: ADD 00002173: ADD 00002174: MLOAD 00002175: SWAP1 00002176: POP 00002177: PUSH2 0x21b8 0000217a: PUSH2 0x2109 0000217d: PUSH1 0x07 0000217f: PUSH1 0x00 00002181: DUP9 00002182: DUP2 00002183: MSTORE 00002184: PUSH1 0x20 00002186: ADD 00002187: SWAP1 00002188: DUP2 00002189: MSTORE 0000218a: PUSH1 0x20 0000218c: ADD 0000218d: PUSH1 0x00 0000218f: KECCAK256 00002190: PUSH1 0x00 00002192: DUP5 00002193: PUSH1 0x01 00002195: PUSH1 0x01 00002197: PUSH1 0xa0 00002199: SHL 0000219a: SUB 0000219b: AND 0000219c: PUSH1 0x01 0000219e: PUSH1 0x01 000021a0: PUSH1 0xa0 000021a2: SHL 000021a3: SUB 000021a4: AND 000021a5: DUP2 000021a6: MSTORE 000021a7: PUSH1 0x20 000021a9: ADD 000021aa: SWAP1 000021ab: DUP2 000021ac: MSTORE 000021ad: PUSH1 0x20 000021af: ADD 000021b0: PUSH1 0x00 000021b2: KECCAK256 000021b3: SLOAD 000021b4: PUSH2 0x32e9 000021b7: JUMP 000021b8: JUMPDEST 000021b9: PUSH1 0x00 000021bb: DUP6 000021bc: DUP2 000021bd: MSTORE 000021be: PUSH1 0x07 000021c0: PUSH1 0x20 000021c2: SWAP1 000021c3: DUP2 000021c4: MSTORE 000021c5: PUSH1 0x40 000021c7: DUP1 000021c8: DUP4 000021c9: KECCAK256 000021ca: PUSH1 0x01 000021cc: PUSH1 0x01 000021ce: PUSH1 0xa0 000021d0: SHL 000021d1: SUB 000021d2: DUP6 000021d3: AND 000021d4: DUP5 000021d5: MSTORE 000021d6: SWAP1 000021d7: SWAP2 000021d8: MSTORE 000021d9: DUP2 000021da: KECCAK256 000021db: DUP2 000021dc: SWAP1 000021dd: SSTORE 000021de: PUSH2 0x21e7 000021e1: DUP5 000021e2: DUP4 000021e3: PUSH2 0x330b 000021e6: JUMP 000021e7: JUMPDEST 000021e8: SWAP1 000021e9: POP 000021ea: PUSH2 0x21f5 000021ed: DUP2 000021ee: PUSH2 0x0209 000021f1: PUSH2 0x054b 000021f4: JUMP 000021f5: JUMPDEST 000021f6: POP 000021f7: POP 000021f8: PUSH1 0x01 000021fa: ADD 000021fb: PUSH2 0x2155 000021fe: JUMP 000021ff: JUMPDEST 00002200: PUSH1 0x00 00002202: DUP3 00002203: DUP2 00002204: MSTORE 00002205: PUSH1 0x01 00002207: PUSH1 0x20 00002209: MSTORE 0000220a: PUSH1 0x40 0000220c: DUP2 0000220d: KECCAK256 0000220e: SWAP1 0000220f: JUMPDEST 00002210: DUP3 00002211: MLOAD 00002212: DUP2 00002213: LT 00002214: ISZERO 00002215: PUSH2 0x0e00 00002218: JUMPI 00002219: PUSH1 0x00 0000221b: DUP4 0000221c: DUP3 0000221d: DUP2 0000221e: MLOAD 0000221f: DUP2 00002220: LT 00002221: PUSH2 0x2226 00002224: JUMPI 00002225: INVALID 00002226: JUMPDEST 00002227: PUSH1 0x20 00002229: MUL 0000222a: PUSH1 0x20 0000222c: ADD 0000222d: ADD 0000222e: MLOAD 0000222f: SWAP1 00002230: POP 00002231: PUSH1 0x00 00002233: PUSH2 0x223c 00002236: DUP5 00002237: DUP4 00002238: PUSH2 0x3412 0000223b: JUMP 0000223c: JUMPDEST 0000223d: SWAP1 0000223e: POP 0000223f: PUSH2 0x224a 00002242: PUSH2 0x2109 00002245: DUP3 00002246: PUSH2 0x32e9 00002249: JUMP 0000224a: JUMPDEST 0000224b: PUSH2 0x2254 0000224e: DUP5 0000224f: DUP4 00002250: PUSH2 0x3421 00002253: JUMP 00002254: JUMPDEST 00002255: POP 00002256: POP 00002257: POP 00002258: DUP1 00002259: PUSH1 0x01 0000225b: ADD 0000225c: SWAP1 0000225d: POP 0000225e: PUSH2 0x220f 00002261: JUMP 00002262: JUMPDEST 00002263: PUSH2 0x226a 00002266: PUSH2 0x4d5a 00002269: JUMP 0000226a: JUMPDEST 0000226b: POP 0000226c: SWAP1 0000226d: JUMP 0000226e: JUMPDEST 0000226f: PUSH2 0x2276 00002272: PUSH2 0x1768 00002275: JUMP 00002276: JUMPDEST 00002277: DUP4 00002278: PUSH2 0x2280 0000227b: DUP2 0000227c: PUSH2 0x2683 0000227f: JUMP 00002280: JUMPDEST 00002281: DUP4 00002282: PUSH2 0x228a 00002285: DUP2 00002286: PUSH2 0x1b0f 00002289: JUMP 0000228a: JUMPDEST 0000228b: PUSH2 0x229e 0000228e: DUP4 0000228f: PUSH1 0x00 00002291: ADD 00002292: MLOAD 00002293: MLOAD 00002294: DUP5 00002295: PUSH1 0x20 00002297: ADD 00002298: MLOAD 00002299: MLOAD 0000229a: PUSH2 0x1e12 0000229d: JUMP 0000229e: JUMPDEST 0000229f: PUSH1 0x60 000022a1: PUSH2 0x22ad 000022a4: DUP5 000022a5: PUSH1 0x00 000022a7: ADD 000022a8: MLOAD 000022a9: PUSH2 0x34c3 000022ac: JUMP 000022ad: JUMPDEST 000022ae: SWAP1 000022af: POP 000022b0: PUSH1 0x60 000022b2: PUSH2 0x22bb 000022b5: DUP9 000022b6: DUP4 000022b7: PUSH2 0x3552 000022ba: JUMP 000022bb: JUMPDEST 000022bc: SWAP1 000022bd: POP 000022be: PUSH1 0x60 000022c0: DUP1 000022c1: PUSH1 0x60 000022c3: PUSH2 0x22d0 000022c6: DUP13 000022c7: DUP13 000022c8: DUP13 000022c9: DUP13 000022ca: DUP13 000022cb: DUP10 000022cc: PUSH2 0x35e3 000022cf: JUMP 000022d0: JUMPDEST 000022d1: SWAP3 000022d2: POP 000022d3: SWAP3 000022d4: POP 000022d5: SWAP3 000022d6: POP 000022d7: PUSH1 0x00 000022d9: PUSH2 0x22e1 000022dc: DUP13 000022dd: PUSH2 0x1f64 000022e0: JUMP 000022e1: JUMPDEST 000022e2: SWAP1 000022e3: POP 000022e4: PUSH1 0x02 000022e6: DUP2 000022e7: PUSH1 0x02 000022e9: DUP2 000022ea: GT 000022eb: ISZERO 000022ec: PUSH2 0x22f1 000022ef: JUMPI 000022f0: INVALID 000022f1: JUMPDEST 000022f2: EQ 000022f3: ISZERO 000022f4: PUSH2 0x2359 000022f7: JUMPI 000022f8: PUSH2 0x2354 000022fb: DUP13 000022fc: DUP8 000022fd: PUSH1 0x00 000022ff: DUP2 00002300: MLOAD 00002301: DUP2 00002302: LT 00002303: PUSH2 0x2308 00002306: JUMPI 00002307: INVALID 00002308: JUMPDEST 00002309: PUSH1 0x20 0000230b: MUL 0000230c: PUSH1 0x20 0000230e: ADD 0000230f: ADD 00002310: MLOAD 00002311: DUP7 00002312: PUSH1 0x00 00002314: DUP2 00002315: MLOAD 00002316: DUP2 00002317: LT 00002318: PUSH2 0x231d 0000231b: JUMPI 0000231c: INVALID 0000231d: JUMPDEST 0000231e: PUSH1 0x20 00002320: MUL 00002321: PUSH1 0x20 00002323: ADD 00002324: ADD 00002325: MLOAD 00002326: DUP10 00002327: PUSH1 0x01 00002329: DUP2 0000232a: MLOAD 0000232b: DUP2 0000232c: LT 0000232d: PUSH2 0x2332 00002330: JUMPI 00002331: INVALID 00002332: JUMPDEST 00002333: PUSH1 0x20 00002335: MUL 00002336: PUSH1 0x20 00002338: ADD 00002339: ADD 0000233a: MLOAD 0000233b: DUP9 0000233c: PUSH1 0x01 0000233e: DUP2 0000233f: MLOAD 00002340: DUP2 00002341: LT 00002342: PUSH2 0x2347 00002345: JUMPI 00002346: INVALID 00002347: JUMPDEST 00002348: PUSH1 0x20 0000234a: MUL 0000234b: PUSH1 0x20 0000234d: ADD 0000234e: ADD 0000234f: MLOAD 00002350: PUSH2 0x37a8 00002353: JUMP 00002354: JUMPDEST 00002355: PUSH2 0x2382 00002358: JUMP 00002359: JUMPDEST 0000235a: PUSH1 0x01 0000235c: DUP2 0000235d: PUSH1 0x02 0000235f: DUP2 00002360: GT 00002361: ISZERO 00002362: PUSH2 0x2367 00002365: JUMPI 00002366: INVALID 00002367: JUMPDEST 00002368: EQ 00002369: ISZERO 0000236a: PUSH2 0x2378 0000236d: JUMPI 0000236e: PUSH2 0x2354 00002371: DUP13 00002372: DUP8 00002373: DUP7 00002374: PUSH2 0x37e7 00002377: JUMP 00002378: JUMPDEST 00002379: PUSH2 0x2382 0000237c: DUP13 0000237d: DUP6 0000237e: PUSH2 0x3854 00002381: JUMP 00002382: JUMPDEST 00002383: PUSH1 0x00 00002385: DUP1 00002386: DUP15 00002387: PUSH1 0x01 00002389: DUP2 0000238a: GT 0000238b: ISZERO 0000238c: PUSH2 0x2391 0000238f: JUMPI 00002390: INVALID 00002391: JUMPDEST 00002392: EQ 00002393: SWAP1 00002394: POP 00002395: DUP12 00002396: PUSH1 0x01 00002398: PUSH1 0x01 0000239a: PUSH1 0xa0 0000239c: SHL 0000239d: SUB 0000239e: AND 0000239f: DUP14 000023a0: PUSH32 0xe5ce249087ce04f05a957192435400fd97868dba0e6a4b4c049abf8af80dae78 000023c1: DUP10 000023c2: PUSH2 0x23cb 000023c5: DUP9 000023c6: DUP7 000023c7: PUSH2 0x389d 000023ca: JUMP 000023cb: JUMPDEST 000023cc: DUP8 000023cd: PUSH1 0x40 000023cf: MLOAD 000023d0: PUSH2 0x23db 000023d3: SWAP4 000023d4: SWAP3 000023d5: SWAP2 000023d6: SWAP1 000023d7: PUSH2 0x5c4c 000023da: JUMP 000023db: JUMPDEST 000023dc: PUSH1 0x40 000023de: MLOAD 000023df: DUP1 000023e0: SWAP2 000023e1: SUB 000023e2: SWAP1 000023e3: LOG3 000023e4: POP 000023e5: POP 000023e6: POP 000023e7: POP 000023e8: POP 000023e9: POP 000023ea: POP 000023eb: POP 000023ec: POP 000023ed: PUSH2 0x1d31 000023f0: PUSH2 0x1822 000023f3: JUMP 000023f4: JUMPDEST 000023f5: PUSH1 0x60 000023f7: DUP4 000023f8: MLOAD 000023f9: PUSH8 0xffffffffffffffff 00002402: DUP2 00002403: GT 00002404: DUP1 00002405: ISZERO 00002406: PUSH2 0x240e 00002409: JUMPI 0000240a: PUSH1 0x00 0000240c: DUP1 0000240d: REVERT 0000240e: JUMPDEST 0000240f: POP 00002410: PUSH1 0x40 00002412: MLOAD 00002413: SWAP1 00002414: DUP1 00002415: DUP3 00002416: MSTORE 00002417: DUP1 00002418: PUSH1 0x20 0000241a: MUL 0000241b: PUSH1 0x20 0000241d: ADD 0000241e: DUP3 0000241f: ADD 00002420: PUSH1 0x40 00002422: MSTORE 00002423: DUP1 00002424: ISZERO 00002425: PUSH2 0x2438 00002428: JUMPI 00002429: DUP2 0000242a: PUSH1 0x20 0000242c: ADD 0000242d: PUSH1 0x20 0000242f: DUP3 00002430: MUL 00002431: DUP1 00002432: CALLDATASIZE 00002433: DUP4 00002434: CALLDATACOPY 00002435: ADD 00002436: SWAP1 00002437: POP 00002438: JUMPDEST 00002439: POP 0000243a: SWAP1 0000243b: POP 0000243c: PUSH2 0x2443 0000243f: PUSH2 0x4d84 00002442: JUMP 00002443: JUMPDEST 00002444: PUSH2 0x244b 00002447: PUSH2 0x4ce1 0000244a: JUMP 0000244b: JUMPDEST 0000244c: PUSH1 0x00 0000244e: DUP1 0000244f: PUSH1 0x00 00002451: JUMPDEST 00002452: DUP10 00002453: MLOAD 00002454: DUP2 00002455: LT 00002456: ISZERO 00002457: PUSH2 0x2676 0000245a: JUMPI 0000245b: DUP10 0000245c: DUP2 0000245d: DUP2 0000245e: MLOAD 0000245f: DUP2 00002460: LT 00002461: PUSH2 0x2466 00002464: JUMPI 00002465: INVALID 00002466: JUMPDEST 00002467: PUSH1 0x20 00002469: MUL 0000246a: PUSH1 0x20 0000246c: ADD 0000246d: ADD 0000246e: MLOAD 0000246f: SWAP5 00002470: POP 00002471: PUSH1 0x00 00002473: DUP10 00002474: MLOAD 00002475: DUP7 00002476: PUSH1 0x20 00002478: ADD 00002479: MLOAD 0000247a: LT 0000247b: DUP1 0000247c: ISZERO 0000247d: PUSH2 0x248a 00002480: JUMPI 00002481: POP 00002482: DUP10 00002483: MLOAD 00002484: DUP7 00002485: PUSH1 0x40 00002487: ADD 00002488: MLOAD 00002489: LT 0000248a: JUMPDEST 0000248b: SWAP1 0000248c: POP 0000248d: PUSH2 0x2497 00002490: DUP2 00002491: PUSH1 0x64 00002493: PUSH2 0x054b 00002496: JUMP 00002497: JUMPDEST 00002498: PUSH1 0x00 0000249a: PUSH2 0x24b9 0000249d: DUP12 0000249e: DUP9 0000249f: PUSH1 0x20 000024a1: ADD 000024a2: MLOAD 000024a3: DUP2 000024a4: MLOAD 000024a5: DUP2 000024a6: LT 000024a7: PUSH2 0x24ac 000024aa: JUMPI 000024ab: INVALID 000024ac: JUMPDEST 000024ad: PUSH1 0x20 000024af: MUL 000024b0: PUSH1 0x20 000024b2: ADD 000024b3: ADD 000024b4: MLOAD 000024b5: PUSH2 0x1b41 000024b8: JUMP 000024b9: JUMPDEST 000024ba: SWAP1 000024bb: POP 000024bc: PUSH1 0x00 000024be: PUSH2 0x24d0 000024c1: DUP13 000024c2: DUP10 000024c3: PUSH1 0x40 000024c5: ADD 000024c6: MLOAD 000024c7: DUP2 000024c8: MLOAD 000024c9: DUP2 000024ca: LT 000024cb: PUSH2 0x24ac 000024ce: JUMPI 000024cf: INVALID 000024d0: JUMPDEST 000024d1: SWAP1 000024d2: POP 000024d3: PUSH2 0x24f3 000024d6: DUP2 000024d7: PUSH1 0x01 000024d9: PUSH1 0x01 000024db: PUSH1 0xa0 000024dd: SHL 000024de: SUB 000024df: AND 000024e0: DUP4 000024e1: PUSH1 0x01 000024e3: PUSH1 0x01 000024e5: PUSH1 0xa0 000024e7: SHL 000024e8: SUB 000024e9: AND 000024ea: EQ 000024eb: ISZERO 000024ec: PUSH2 0x01fd 000024ef: PUSH2 0x054b 000024f2: JUMP 000024f3: JUMPDEST 000024f4: PUSH1 0x60 000024f6: DUP9 000024f7: ADD 000024f8: MLOAD 000024f9: PUSH2 0x2543 000024fc: JUMPI 000024fd: PUSH2 0x250b 00002500: PUSH1 0x00 00002502: DUP6 00002503: GT 00002504: PUSH2 0x01fe 00002507: PUSH2 0x054b 0000250a: JUMP 0000250b: JUMPDEST 0000250c: PUSH1 0x00 0000250e: PUSH2 0x2518 00002511: DUP12 00002512: DUP5 00002513: DUP5 00002514: PUSH2 0x3945 00002517: JUMP 00002518: JUMPDEST 00002519: PUSH1 0x01 0000251b: PUSH1 0x01 0000251d: PUSH1 0xa0 0000251f: SHL 00002520: SUB 00002521: AND 00002522: DUP8 00002523: PUSH1 0x01 00002525: PUSH1 0x01 00002527: PUSH1 0xa0 00002529: SHL 0000252a: SUB 0000252b: AND 0000252c: EQ 0000252d: SWAP1 0000252e: POP 0000252f: PUSH2 0x253a 00002532: DUP2 00002533: PUSH2 0x01ff 00002536: PUSH2 0x054b 00002539: JUMP 0000253a: JUMPDEST 0000253b: POP 0000253c: PUSH1 0x60 0000253e: DUP9 0000253f: ADD 00002540: DUP6 00002541: SWAP1 00002542: MSTORE 00002543: JUMPDEST 00002544: DUP8 00002545: MLOAD 00002546: PUSH1 0x80 00002548: DUP9 00002549: ADD 0000254a: MSTORE 0000254b: DUP7 0000254c: DUP11 0000254d: PUSH1 0x01 0000254f: DUP2 00002550: GT 00002551: ISZERO 00002552: PUSH2 0x2557 00002555: JUMPI 00002556: INVALID 00002557: JUMPDEST 00002558: SWAP1 00002559: DUP2 0000255a: PUSH1 0x01 0000255c: DUP2 0000255d: GT 0000255e: ISZERO 0000255f: PUSH2 0x2564 00002562: JUMPI 00002563: INVALID 00002564: JUMPDEST 00002565: SWAP1 00002566: MSTORE 00002567: POP 00002568: PUSH1 0x01 0000256a: PUSH1 0x01 0000256c: PUSH1 0xa0 0000256e: SHL 0000256f: SUB 00002570: DUP1 00002571: DUP4 00002572: AND 00002573: PUSH1 0x20 00002575: DUP10 00002576: ADD 00002577: MSTORE 00002578: DUP2 00002579: DUP2 0000257a: AND 0000257b: PUSH1 0x40 0000257d: DUP1 0000257e: DUP11 0000257f: ADD 00002580: SWAP2 00002581: SWAP1 00002582: SWAP2 00002583: MSTORE 00002584: PUSH1 0x60 00002586: DUP1 00002587: DUP12 00002588: ADD 00002589: MLOAD 0000258a: SWAP1 0000258b: DUP11 0000258c: ADD 0000258d: MSTORE 0000258e: PUSH1 0x80 00002590: DUP11 00002591: ADD 00002592: MLOAD 00002593: PUSH2 0x0100 00002596: DUP11 00002597: ADD 00002598: MSTORE 00002599: DUP13 0000259a: MLOAD 0000259b: DUP3 0000259c: AND 0000259d: PUSH1 0xc0 0000259f: DUP11 000025a0: ADD 000025a1: MSTORE 000025a2: DUP13 000025a3: ADD 000025a4: MLOAD 000025a5: AND 000025a6: PUSH1 0xe0 000025a8: DUP9 000025a9: ADD 000025aa: MSTORE 000025ab: PUSH1 0x00 000025ad: DUP1 000025ae: PUSH2 0x25b6 000025b1: DUP10 000025b2: PUSH2 0x1b66 000025b5: JUMP 000025b6: JUMPDEST 000025b7: SWAP2 000025b8: SWAP9 000025b9: POP 000025ba: SWAP3 000025bb: POP 000025bc: SWAP1 000025bd: POP 000025be: PUSH2 0x25c8 000025c1: DUP13 000025c2: DUP6 000025c3: DUP6 000025c4: PUSH2 0x3967 000025c7: JUMP 000025c8: JUMPDEST 000025c9: SWAP8 000025ca: POP 000025cb: PUSH2 0x25fc 000025ce: PUSH2 0x25d6 000025d1: DUP4 000025d2: PUSH2 0x3981 000025d5: JUMP 000025d6: JUMPDEST 000025d7: DUP13 000025d8: DUP13 000025d9: PUSH1 0x20 000025db: ADD 000025dc: MLOAD 000025dd: DUP2 000025de: MLOAD 000025df: DUP2 000025e0: LT 000025e1: PUSH2 0x25e6 000025e4: JUMPI 000025e5: INVALID 000025e6: JUMPDEST 000025e7: PUSH1 0x20 000025e9: MUL 000025ea: PUSH1 0x20 000025ec: ADD 000025ed: ADD 000025ee: MLOAD 000025ef: PUSH2 0x39b1 000025f2: SWAP1 000025f3: SWAP2 000025f4: SWAP1 000025f5: PUSH4 0xffffffff 000025fa: AND 000025fb: JUMP 000025fc: JUMPDEST 000025fd: DUP12 000025fe: DUP12 000025ff: PUSH1 0x20 00002601: ADD 00002602: MLOAD 00002603: DUP2 00002604: MLOAD 00002605: DUP2 00002606: LT 00002607: PUSH2 0x260c 0000260a: JUMPI 0000260b: INVALID 0000260c: JUMPDEST 0000260d: PUSH1 0x20 0000260f: MUL 00002610: PUSH1 0x20 00002612: ADD 00002613: ADD 00002614: DUP2 00002615: DUP2 00002616: MSTORE 00002617: POP 00002618: POP 00002619: PUSH2 0x264a 0000261c: PUSH2 0x2624 0000261f: DUP3 00002620: PUSH2 0x3981 00002623: JUMP 00002624: JUMPDEST 00002625: DUP13 00002626: DUP13 00002627: PUSH1 0x40 00002629: ADD 0000262a: MLOAD 0000262b: DUP2 0000262c: MLOAD 0000262d: DUP2 0000262e: LT 0000262f: PUSH2 0x2634 00002632: JUMPI 00002633: INVALID 00002634: JUMPDEST 00002635: PUSH1 0x20 00002637: MUL 00002638: PUSH1 0x20 0000263a: ADD 0000263b: ADD 0000263c: MLOAD 0000263d: PUSH2 0x39e5 00002640: SWAP1 00002641: SWAP2 00002642: SWAP1 00002643: PUSH4 0xffffffff 00002648: AND 00002649: JUMP 0000264a: JUMPDEST 0000264b: DUP12 0000264c: DUP12 0000264d: PUSH1 0x40 0000264f: ADD 00002650: MLOAD 00002651: DUP2 00002652: MLOAD 00002653: DUP2 00002654: LT 00002655: PUSH2 0x265a 00002658: JUMPI 00002659: INVALID 0000265a: JUMPDEST 0000265b: PUSH1 0x20 0000265d: MUL 0000265e: PUSH1 0x20 00002660: ADD 00002661: ADD 00002662: DUP2 00002663: DUP2 00002664: MSTORE 00002665: POP 00002666: POP 00002667: POP 00002668: POP 00002669: POP 0000266a: POP 0000266b: POP 0000266c: DUP1 0000266d: PUSH1 0x01 0000266f: ADD 00002670: SWAP1 00002671: POP 00002672: PUSH2 0x2451 00002675: JUMP 00002676: JUMPDEST 00002677: POP 00002678: POP 00002679: POP 0000267a: POP 0000267b: POP 0000267c: SWAP5 0000267d: SWAP4 0000267e: POP 0000267f: POP 00002680: POP 00002681: POP 00002682: JUMP 00002683: JUMPDEST 00002684: PUSH1 0x00 00002686: DUP2 00002687: DUP2 00002688: MSTORE 00002689: PUSH1 0x05 0000268b: PUSH1 0x20 0000268d: MSTORE 0000268e: PUSH1 0x40 00002690: SWAP1 00002691: KECCAK256 00002692: SLOAD 00002693: PUSH2 0x057e 00002696: SWAP1 00002697: PUSH1 0xff 00002699: AND 0000269a: PUSH2 0x01f4 0000269d: PUSH2 0x054b 000026a0: JUMP 000026a1: JUMPDEST 000026a2: PUSH1 0x00 000026a4: DUP1 000026a5: PUSH1 0x00 000026a7: DUP1 000026a8: PUSH1 0x00 000026aa: PUSH2 0x26b2 000026ad: DUP8 000026ae: PUSH2 0x3a19 000026b1: JUMP 000026b2: JUMPDEST 000026b3: SWAP5 000026b4: POP 000026b5: SWAP5 000026b6: POP 000026b7: SWAP5 000026b8: POP 000026b9: SWAP5 000026ba: POP 000026bb: POP 000026bc: DUP4 000026bd: PUSH1 0x01 000026bf: PUSH1 0x01 000026c1: PUSH1 0xa0 000026c3: SHL 000026c4: SUB 000026c5: AND 000026c6: DUP7 000026c7: PUSH1 0x01 000026c9: PUSH1 0x01 000026cb: PUSH1 0xa0 000026cd: SHL 000026ce: SUB 000026cf: AND 000026d0: EQ 000026d1: ISZERO 000026d2: PUSH2 0x26e1 000026d5: JUMPI 000026d6: DUP3 000026d7: SWAP5 000026d8: POP 000026d9: POP 000026da: POP 000026db: POP 000026dc: POP 000026dd: PUSH2 0x16f5 000026e0: JUMP 000026e1: JUMPDEST 000026e2: DUP2 000026e3: PUSH1 0x01 000026e5: PUSH1 0x01 000026e7: PUSH1 0xa0 000026e9: SHL 000026ea: SUB 000026eb: AND 000026ec: DUP7 000026ed: PUSH1 0x01 000026ef: PUSH1 0x01 000026f1: PUSH1 0xa0 000026f3: SHL 000026f4: SUB 000026f5: AND 000026f6: EQ 000026f7: ISZERO 000026f8: PUSH2 0x2706 000026fb: JUMPI 000026fc: SWAP4 000026fd: POP 000026fe: PUSH2 0x16f5 00002701: SWAP3 00002702: POP 00002703: POP 00002704: POP 00002705: JUMP 00002706: JUMPDEST 00002707: PUSH2 0x2711 0000270a: PUSH2 0x0209 0000270d: PUSH2 0x16fb 00002710: JUMP 00002711: JUMPDEST 00002712: POP 00002713: POP 00002714: POP 00002715: POP 00002716: SWAP3 00002717: SWAP2 00002718: POP 00002719: POP 0000271a: JUMP 0000271b: JUMPDEST 0000271c: PUSH1 0x00 0000271e: DUP3 0000271f: DUP2 00002720: MSTORE 00002721: PUSH1 0x07 00002723: PUSH1 0x20 00002725: SWAP1 00002726: DUP2 00002727: MSTORE 00002728: PUSH1 0x40 0000272a: DUP1 0000272b: DUP4 0000272c: KECCAK256 0000272d: PUSH1 0x01 0000272f: PUSH1 0x01 00002731: PUSH1 0xa0 00002733: SHL 00002734: SUB 00002735: DUP6 00002736: AND 00002737: DUP5 00002738: MSTORE 00002739: SWAP1 0000273a: SWAP2 0000273b: MSTORE 0000273c: DUP2 0000273d: KECCAK256 0000273e: SLOAD 0000273f: DUP2 00002740: PUSH2 0x2748 00002743: DUP3 00002744: PUSH2 0x3a8f 00002747: JUMP 00002748: JUMPDEST 00002749: DUP1 0000274a: PUSH2 0x2766 0000274d: JUMPI 0000274e: POP 0000274f: PUSH1 0x00 00002751: DUP6 00002752: DUP2 00002753: MSTORE 00002754: PUSH1 0x08 00002756: PUSH1 0x20 00002758: MSTORE 00002759: PUSH1 0x40 0000275b: SWAP1 0000275c: KECCAK256 0000275d: PUSH2 0x2766 00002760: SWAP1 00002761: DUP6 00002762: PUSH2 0x3aa1 00002765: JUMP 00002766: JUMPDEST 00002767: SWAP1 00002768: POP 00002769: DUP1 0000276a: PUSH2 0x2781 0000276d: JUMPI 0000276e: PUSH2 0x2776 00002771: DUP6 00002772: PUSH2 0x2683 00002775: JUMP 00002776: JUMPDEST 00002777: PUSH2 0x2781 0000277a: PUSH2 0x0209 0000277d: PUSH2 0x16fb 00002780: JUMP 00002781: JUMPDEST 00002782: POP 00002783: SWAP4 00002784: SWAP3 00002785: POP 00002786: POP 00002787: POP 00002788: JUMP 00002789: JUMPDEST 0000278a: PUSH1 0x00 0000278c: DUP3 0000278d: DUP2 0000278e: MSTORE 0000278f: PUSH1 0x01 00002791: PUSH1 0x20 00002793: MSTORE 00002794: PUSH1 0x40 00002796: DUP2 00002797: KECCAK256 00002798: PUSH2 0x09e1 0000279b: DUP2 0000279c: DUP5 0000279d: PUSH2 0x3412 000027a0: JUMP 000027a1: JUMPDEST 000027a2: PUSH14 0xffffffffffffffffffffffffffff 000027b1: AND 000027b2: SWAP1 000027b3: JUMP 000027b4: JUMPDEST 000027b5: PUSH1 0x70 000027b7: SHR 000027b8: PUSH14 0xffffffffffffffffffffffffffff 000027c7: AND 000027c8: SWAP1 000027c9: JUMP 000027ca: JUMPDEST 000027cb: PUSH1 0xe0 000027cd: SHR 000027ce: SWAP1 000027cf: JUMP 000027d0: JUMPDEST 000027d1: PUSH1 0x00 000027d3: DUP1 000027d4: PUSH2 0x27dc 000027d7: DUP5 000027d8: PUSH2 0x1f64 000027db: JUMP 000027dc: JUMPDEST 000027dd: SWAP1 000027de: POP 000027df: PUSH1 0x02 000027e1: DUP2 000027e2: PUSH1 0x02 000027e4: DUP2 000027e5: GT 000027e6: ISZERO 000027e7: PUSH2 0x27ec 000027ea: JUMPI 000027eb: INVALID 000027ec: JUMPDEST 000027ed: EQ 000027ee: ISZERO 000027ef: PUSH2 0x2804 000027f2: JUMPI 000027f3: PUSH2 0x27fc 000027f6: DUP5 000027f7: DUP5 000027f8: PUSH2 0x3ac2 000027fb: JUMP 000027fc: JUMPDEST 000027fd: SWAP2 000027fe: POP 000027ff: POP 00002800: PUSH2 0x16f5 00002803: JUMP 00002804: JUMPDEST 00002805: PUSH1 0x01 00002807: DUP2 00002808: PUSH1 0x02 0000280a: DUP2 0000280b: GT 0000280c: ISZERO 0000280d: PUSH2 0x2812 00002810: JUMPI 00002811: INVALID 00002812: JUMPDEST 00002813: EQ 00002814: ISZERO 00002815: PUSH2 0x2822 00002818: JUMPI 00002819: PUSH2 0x27fc 0000281c: DUP5 0000281d: DUP5 0000281e: PUSH2 0x3b13 00002821: JUMP 00002822: JUMPDEST 00002823: PUSH2 0x27fc 00002826: DUP5 00002827: DUP5 00002828: PUSH2 0x3b2b 0000282b: JUMP 0000282c: JUMPDEST 0000282d: PUSH1 0x00 0000282f: DUP1 00002830: PUSH1 0x00 00002832: PUSH2 0x283a 00002835: DUP7 00002836: PUSH2 0x1f64 00002839: JUMP 0000283a: JUMPDEST 0000283b: SWAP1 0000283c: POP 0000283d: PUSH1 0x00 0000283f: DUP8 00002840: PUSH1 0x02 00002842: DUP2 00002843: GT 00002844: ISZERO 00002845: PUSH2 0x284a 00002848: JUMPI 00002849: INVALID 0000284a: JUMPDEST 0000284b: EQ 0000284c: ISZERO 0000284d: PUSH2 0x2866 00002850: JUMPI 00002851: PUSH2 0x285c 00002854: DUP7 00002855: DUP3 00002856: DUP8 00002857: DUP8 00002858: PUSH2 0x3b43 0000285b: JUMP 0000285c: JUMPDEST 0000285d: SWAP3 0000285e: POP 0000285f: SWAP3 00002860: POP 00002861: POP 00002862: PUSH2 0x2892 00002865: JUMP 00002866: JUMPDEST 00002867: PUSH1 0x01 00002869: DUP8 0000286a: PUSH1 0x02 0000286c: DUP2 0000286d: GT 0000286e: ISZERO 0000286f: PUSH2 0x2874 00002872: JUMPI 00002873: INVALID 00002874: JUMPDEST 00002875: EQ 00002876: ISZERO 00002877: PUSH2 0x2886 0000287a: JUMPI 0000287b: PUSH2 0x285c 0000287e: DUP7 0000287f: DUP3 00002880: DUP8 00002881: DUP8 00002882: PUSH2 0x3bbe 00002885: JUMP 00002886: JUMPDEST 00002887: PUSH2 0x285c 0000288a: DUP7 0000288b: DUP3 0000288c: DUP8 0000288d: DUP8 0000288e: PUSH2 0x3c3a 00002891: JUMP 00002892: JUMPDEST 00002893: SWAP5 00002894: POP 00002895: SWAP5 00002896: SWAP3 00002897: POP 00002898: POP 00002899: POP 0000289a: JUMP 0000289b: JUMPDEST 0000289c: PUSH1 0x00 0000289e: PUSH32 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f 000028bf: PUSH32 0x546d0ab49c5920e3fe063e6971dd456a095183a2e20611f1b5815c7a1f43f069 000028e0: PUSH32 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6 00002901: PUSH2 0x2908 00002904: PUSH2 0x3c9d 00002907: JUMP 00002908: JUMPDEST 00002909: ADDRESS 0000290a: PUSH1 0x40 0000290c: MLOAD 0000290d: PUSH1 0x20 0000290f: ADD 00002910: PUSH2 0x291d 00002913: SWAP6 00002914: SWAP5 00002915: SWAP4 00002916: SWAP3 00002917: SWAP2 00002918: SWAP1 00002919: PUSH2 0x5df0 0000291c: JUMP 0000291d: JUMPDEST 0000291e: PUSH1 0x40 00002920: MLOAD 00002921: PUSH1 0x20 00002923: DUP2 00002924: DUP4 00002925: SUB 00002926: SUB 00002927: DUP2 00002928: MSTORE 00002929: SWAP1 0000292a: PUSH1 0x40 0000292c: MSTORE 0000292d: DUP1 0000292e: MLOAD 0000292f: SWAP1 00002930: PUSH1 0x20 00002932: ADD 00002933: KECCAK256 00002934: SWAP1 00002935: POP 00002936: SWAP1 00002937: JUMP 00002938: JUMPDEST 00002939: PUSH1 0x60 0000293b: SHR 0000293c: SWAP1 0000293d: JUMP 0000293e: JUMPDEST 0000293f: PUSH1 0x60 00002941: DUP1 00002942: PUSH1 0x00 00002944: PUSH2 0x294c 00002947: DUP5 00002948: PUSH2 0x1f64 0000294b: JUMP 0000294c: JUMPDEST 0000294d: SWAP1 0000294e: POP 0000294f: PUSH1 0x02 00002951: DUP2 00002952: PUSH1 0x02 00002954: DUP2 00002955: GT 00002956: ISZERO 00002957: PUSH2 0x295c 0000295a: JUMPI 0000295b: INVALID 0000295c: JUMPDEST 0000295d: EQ 0000295e: ISZERO 0000295f: PUSH2 0x2975 00002962: JUMPI 00002963: PUSH2 0x296b 00002966: DUP5 00002967: PUSH2 0x3ca1 0000296a: JUMP 0000296b: JUMPDEST 0000296c: SWAP3 0000296d: POP 0000296e: SWAP3 0000296f: POP 00002970: POP 00002971: PUSH2 0x299b 00002974: JUMP 00002975: JUMPDEST 00002976: PUSH1 0x01 00002978: DUP2 00002979: PUSH1 0x02 0000297b: DUP2 0000297c: GT 0000297d: ISZERO 0000297e: PUSH2 0x2983 00002981: JUMPI 00002982: INVALID 00002983: JUMPDEST 00002984: EQ 00002985: ISZERO 00002986: PUSH2 0x2992 00002989: JUMPI 0000298a: PUSH2 0x296b 0000298d: DUP5 0000298e: PUSH2 0x3dd6 00002991: JUMP 00002992: JUMPDEST 00002993: PUSH2 0x296b 00002996: DUP5 00002997: PUSH2 0x3efd 0000299a: JUMP 0000299b: JUMPDEST 0000299c: SWAP2 0000299d: POP 0000299e: SWAP2 0000299f: JUMP 000029a0: JUMPDEST 000029a1: PUSH1 0x60 000029a3: PUSH1 0x00 000029a5: DUP3 000029a6: MLOAD 000029a7: PUSH8 0xffffffffffffffff 000029b0: DUP2 000029b1: GT 000029b2: DUP1 000029b3: ISZERO 000029b4: PUSH2 0x29bc 000029b7: JUMPI 000029b8: PUSH1 0x00 000029ba: DUP1 000029bb: REVERT 000029bc: JUMPDEST 000029bd: POP 000029be: PUSH1 0x40 000029c0: MLOAD 000029c1: SWAP1 000029c2: DUP1 000029c3: DUP3 000029c4: MSTORE 000029c5: DUP1 000029c6: PUSH1 0x20 000029c8: MUL 000029c9: PUSH1 0x20 000029cb: ADD 000029cc: DUP3 000029cd: ADD 000029ce: PUSH1 0x40 000029d0: MSTORE 000029d1: DUP1 000029d2: ISZERO 000029d3: PUSH2 0x29e6 000029d6: JUMPI 000029d7: DUP2 000029d8: PUSH1 0x20 000029da: ADD 000029db: PUSH1 0x20 000029dd: DUP3 000029de: MUL 000029df: DUP1 000029e0: CALLDATASIZE 000029e1: DUP4 000029e2: CALLDATACOPY 000029e3: ADD 000029e4: SWAP1 000029e5: POP 000029e6: JUMPDEST 000029e7: POP 000029e8: SWAP2 000029e9: POP 000029ea: PUSH1 0x00 000029ec: SWAP1 000029ed: POP 000029ee: PUSH1 0x00 000029f0: JUMPDEST 000029f1: DUP3 000029f2: MLOAD 000029f3: DUP2 000029f4: LT 000029f5: ISZERO 000029f6: PUSH2 0x151d 000029f9: JUMPI 000029fa: PUSH1 0x00 000029fc: DUP5 000029fd: DUP3 000029fe: DUP2 000029ff: MLOAD 00002a00: DUP2 00002a01: LT 00002a02: PUSH2 0x2a07 00002a05: JUMPI 00002a06: INVALID 00002a07: JUMPDEST 00002a08: PUSH1 0x20 00002a0a: MUL 00002a0b: PUSH1 0x20 00002a0d: ADD 00002a0e: ADD 00002a0f: MLOAD 00002a10: SWAP1 00002a11: POP 00002a12: PUSH2 0x2a1a 00002a15: DUP2 00002a16: PUSH2 0x3ff9 00002a19: JUMP 00002a1a: JUMPDEST 00002a1b: DUP5 00002a1c: DUP4 00002a1d: DUP2 00002a1e: MLOAD 00002a1f: DUP2 00002a20: LT 00002a21: PUSH2 0x2a26 00002a24: JUMPI 00002a25: INVALID 00002a26: JUMPDEST 00002a27: PUSH1 0x20 00002a29: MUL 00002a2a: PUSH1 0x20 00002a2c: ADD 00002a2d: ADD 00002a2e: DUP2 00002a2f: DUP2 00002a30: MSTORE 00002a31: POP 00002a32: POP 00002a33: PUSH2 0x2a44 00002a36: DUP4 00002a37: PUSH2 0x2a3f 00002a3a: DUP4 00002a3b: PUSH2 0x27ca 00002a3e: JUMP 00002a3f: JUMPDEST 00002a40: PUSH2 0x4014 00002a43: JUMP 00002a44: JUMPDEST 00002a45: SWAP3 00002a46: POP 00002a47: POP 00002a48: PUSH1 0x01 00002a4a: ADD 00002a4b: PUSH2 0x29f0 00002a4e: JUMP 00002a4f: JUMPDEST 00002a50: PUSH1 0x01 00002a52: PUSH1 0x01 00002a54: PUSH1 0xa0 00002a56: SHL 00002a57: SUB 00002a58: SWAP2 00002a59: DUP3 00002a5a: AND 00002a5b: PUSH1 0x00 00002a5d: SWAP1 00002a5e: DUP2 00002a5f: MSTORE 00002a60: PUSH1 0x04 00002a62: PUSH1 0x20 00002a64: SWAP1 00002a65: DUP2 00002a66: MSTORE 00002a67: PUSH1 0x40 00002a69: DUP1 00002a6a: DUP4 00002a6b: KECCAK256 00002a6c: SWAP4 00002a6d: SWAP1 00002a6e: SWAP5 00002a6f: AND 00002a70: DUP3 00002a71: MSTORE 00002a72: SWAP2 00002a73: SWAP1 00002a74: SWAP2 00002a75: MSTORE 00002a76: KECCAK256 00002a77: SLOAD 00002a78: PUSH1 0xff 00002a7a: AND 00002a7b: SWAP1 00002a7c: JUMP 00002a7d: JUMPDEST 00002a7e: PUSH1 0x03 00002a80: SLOAD 00002a81: PUSH1 0x40 00002a83: MLOAD 00002a84: PUSH32 0x9be2a88400000000000000000000000000000000000000000000000000000000 00002aa5: DUP2 00002aa6: MSTORE 00002aa7: PUSH1 0x00 00002aa9: SWAP2 00002aaa: PUSH2 0x0100 00002aad: SWAP1 00002aae: DIV 00002aaf: PUSH1 0x01 00002ab1: PUSH1 0x01 00002ab3: PUSH1 0xa0 00002ab5: SHL 00002ab6: SUB 00002ab7: AND 00002ab8: SWAP1 00002ab9: PUSH4 0x9be2a884 00002abe: SWAP1 00002abf: PUSH2 0x2ad0 00002ac2: SWAP1 00002ac3: DUP7 00002ac4: SWAP1 00002ac5: DUP7 00002ac6: SWAP1 00002ac7: ADDRESS 00002ac8: SWAP1 00002ac9: PUSH1 0x04 00002acb: ADD 00002acc: PUSH2 0x5d47 00002acf: JUMP 00002ad0: JUMPDEST 00002ad1: PUSH1 0x20 00002ad3: PUSH1 0x40 00002ad5: MLOAD 00002ad6: DUP1 00002ad7: DUP4 00002ad8: SUB 00002ad9: DUP2 00002ada: DUP7 00002adb: DUP1 00002adc: EXTCODESIZE 00002add: ISZERO 00002ade: DUP1 00002adf: ISZERO 00002ae0: PUSH2 0x2ae8 00002ae3: JUMPI 00002ae4: PUSH1 0x00 00002ae6: DUP1 00002ae7: REVERT 00002ae8: JUMPDEST 00002ae9: POP 00002aea: GAS 00002aeb: STATICCALL 00002aec: ISZERO 00002aed: DUP1 00002aee: ISZERO 00002aef: PUSH2 0x2afc 00002af2: JUMPI 00002af3: RETURNDATASIZE 00002af4: PUSH1 0x00 00002af6: DUP1 00002af7: RETURNDATACOPY 00002af8: RETURNDATASIZE 00002af9: PUSH1 0x00 00002afb: REVERT 00002afc: JUMPDEST 00002afd: POP 00002afe: POP 00002aff: POP 00002b00: POP 00002b01: PUSH1 0x40 00002b03: MLOAD 00002b04: RETURNDATASIZE 00002b05: PUSH1 0x1f 00002b07: NOT 00002b08: PUSH1 0x1f 00002b0a: DUP3 00002b0b: ADD 00002b0c: AND 00002b0d: DUP3 00002b0e: ADD 00002b0f: DUP1 00002b10: PUSH1 0x40 00002b12: MSTORE 00002b13: POP 00002b14: DUP2 00002b15: ADD 00002b16: SWAP1 00002b17: PUSH2 0x16f2 00002b1a: SWAP2 00002b1b: SWAP1 00002b1c: PUSH2 0x5478 00002b1f: JUMP 00002b20: JUMPDEST 00002b21: PUSH1 0x00 00002b23: DUP1 00002b24: PUSH2 0x2b2d 00002b27: DUP7 00002b28: DUP7 00002b29: PUSH2 0x1a01 00002b2c: JUMP 00002b2d: JUMPDEST 00002b2e: SWAP1 00002b2f: POP 00002b30: PUSH2 0x2b46 00002b33: DUP4 00002b34: DUP1 00002b35: PUSH2 0x2b3e 00002b38: JUMPI 00002b39: POP 00002b3a: DUP5 00002b3b: DUP3 00002b3c: LT 00002b3d: ISZERO 00002b3e: JUMPDEST 00002b3f: PUSH2 0x0201 00002b42: PUSH2 0x054b 00002b45: JUMP 00002b46: JUMPDEST 00002b47: PUSH2 0x2b50 00002b4a: DUP2 00002b4b: DUP6 00002b4c: PUSH2 0x402b 00002b4f: JUMP 00002b50: JUMPDEST 00002b51: SWAP2 00002b52: POP 00002b53: DUP2 00002b54: DUP2 00002b55: SUB 00002b56: PUSH2 0x2b6c 00002b59: DUP8 00002b5a: DUP8 00002b5b: DUP4 00002b5c: PUSH2 0x2b64 00002b5f: DUP8 00002b60: PUSH2 0x3981 00002b63: JUMP 00002b64: JUMPDEST 00002b65: PUSH1 0x00 00002b67: SUB 00002b68: PUSH2 0x403a 00002b6b: JUMP 00002b6c: JUMPDEST 00002b6d: POP 00002b6e: POP 00002b6f: SWAP5 00002b70: SWAP4 00002b71: POP 00002b72: POP 00002b73: POP 00002b74: POP 00002b75: JUMP 00002b76: JUMPDEST 00002b77: PUSH1 0x00 00002b79: PUSH2 0x2b82 00002b7c: DUP5 00002b7d: DUP5 00002b7e: PUSH2 0x1a01 00002b81: JUMP 00002b82: JUMPDEST 00002b83: SWAP1 00002b84: POP 00002b85: PUSH1 0x00 00002b87: PUSH2 0x2b90 00002b8a: DUP3 00002b8b: DUP5 00002b8c: PUSH2 0x1945 00002b8f: JUMP 00002b90: JUMPDEST 00002b91: SWAP1 00002b92: POP 00002b93: PUSH2 0x1d31 00002b96: DUP6 00002b97: DUP6 00002b98: DUP4 00002b99: PUSH2 0x2ba1 00002b9c: DUP8 00002b9d: PUSH2 0x3981 00002ba0: JUMP 00002ba1: JUMPDEST 00002ba2: PUSH2 0x403a 00002ba5: JUMP 00002ba6: JUMPDEST 00002ba7: PUSH2 0x0e00 00002baa: DUP5 00002bab: PUSH4 0x23b872dd 00002bb0: PUSH1 0xe0 00002bb2: SHL 00002bb3: DUP6 00002bb4: DUP6 00002bb5: DUP6 00002bb6: PUSH1 0x40 00002bb8: MLOAD 00002bb9: PUSH1 0x24 00002bbb: ADD 00002bbc: PUSH2 0x1ec5 00002bbf: SWAP4 00002bc0: SWAP3 00002bc1: SWAP2 00002bc2: SWAP1 00002bc3: PUSH2 0x5b77 00002bc6: JUMP 00002bc7: JUMPDEST 00002bc8: PUSH2 0x2bd6 00002bcb: DUP2 00002bcc: SELFBALANCE 00002bcd: LT 00002bce: ISZERO 00002bcf: PUSH2 0x01a3 00002bd2: PUSH2 0x054b 00002bd5: JUMP 00002bd6: JUMPDEST 00002bd7: PUSH1 0x00 00002bd9: DUP3 00002bda: PUSH1 0x01 00002bdc: PUSH1 0x01 00002bde: PUSH1 0xa0 00002be0: SHL 00002be1: SUB 00002be2: AND 00002be3: DUP3 00002be4: PUSH1 0x40 00002be6: MLOAD 00002be7: PUSH2 0x2bef 00002bea: SWAP1 00002beb: PUSH2 0x0548 00002bee: JUMP 00002bef: JUMPDEST 00002bf0: PUSH1 0x00 00002bf2: PUSH1 0x40 00002bf4: MLOAD 00002bf5: DUP1 00002bf6: DUP4 00002bf7: SUB 00002bf8: DUP2 00002bf9: DUP6 00002bfa: DUP8 00002bfb: GAS 00002bfc: CALL 00002bfd: SWAP3 00002bfe: POP 00002bff: POP 00002c00: POP 00002c01: RETURNDATASIZE 00002c02: DUP1 00002c03: PUSH1 0x00 00002c05: DUP2 00002c06: EQ 00002c07: PUSH2 0x2c2c 00002c0a: JUMPI 00002c0b: PUSH1 0x40 00002c0d: MLOAD 00002c0e: SWAP2 00002c0f: POP 00002c10: PUSH1 0x1f 00002c12: NOT 00002c13: PUSH1 0x3f 00002c15: RETURNDATASIZE 00002c16: ADD 00002c17: AND 00002c18: DUP3 00002c19: ADD 00002c1a: PUSH1 0x40 00002c1c: MSTORE 00002c1d: RETURNDATASIZE 00002c1e: DUP3 00002c1f: MSTORE 00002c20: RETURNDATASIZE 00002c21: PUSH1 0x00 00002c23: PUSH1 0x20 00002c25: DUP5 00002c26: ADD 00002c27: RETURNDATACOPY 00002c28: PUSH2 0x2c31 00002c2b: JUMP 00002c2c: JUMPDEST 00002c2d: PUSH1 0x60 00002c2f: SWAP2 00002c30: POP 00002c31: JUMPDEST 00002c32: POP 00002c33: POP 00002c34: SWAP1 00002c35: POP 00002c36: PUSH2 0x0fa0 00002c39: DUP2 00002c3a: PUSH2 0x01a4 00002c3d: PUSH2 0x054b 00002c40: JUMP 00002c41: JUMPDEST 00002c42: PUSH1 0x01 00002c44: PUSH1 0x01 00002c46: PUSH1 0xa0 00002c48: SHL 00002c49: SUB 00002c4a: DUP3 00002c4b: AND 00002c4c: PUSH1 0x00 00002c4e: SWAP1 00002c4f: DUP2 00002c50: MSTORE 00002c51: PUSH1 0x02 00002c53: PUSH1 0x20 00002c55: MSTORE 00002c56: PUSH1 0x40 00002c58: SWAP1 00002c59: KECCAK256 00002c5a: DUP1 00002c5b: SLOAD 00002c5c: PUSH1 0x01 00002c5e: DUP2 00002c5f: ADD 00002c60: SWAP1 00002c61: SWAP2 00002c62: SSTORE 00002c63: PUSH2 0x0fa0 00002c66: PUSH2 0x2c6f 00002c69: DUP5 00002c6a: DUP4 00002c6b: PUSH2 0x4095 00002c6e: JUMP 00002c6f: JUMPDEST 00002c70: DUP4 00002c71: PUSH2 0x054b 00002c74: JUMP 00002c75: JUMPDEST 00002c76: PUSH1 0x00 00002c78: DUP1 00002c79: PUSH1 0x00 00002c7b: DUP1 00002c7c: PUSH2 0x2c92 00002c7f: DUP7 00002c80: PUSH1 0x80 00002c82: ADD 00002c83: MLOAD 00002c84: DUP8 00002c85: PUSH1 0x20 00002c87: ADD 00002c88: MLOAD 00002c89: DUP9 00002c8a: PUSH1 0x40 00002c8c: ADD 00002c8d: MLOAD 00002c8e: PUSH2 0x3222 00002c91: JUMP 00002c92: JUMPDEST 00002c93: SWAP3 00002c94: POP 00002c95: SWAP3 00002c96: POP 00002c97: SWAP3 00002c98: POP 00002c99: PUSH1 0x00 00002c9b: DUP1 00002c9c: DUP8 00002c9d: PUSH1 0x40 00002c9f: ADD 00002ca0: MLOAD 00002ca1: PUSH1 0x01 00002ca3: PUSH1 0x01 00002ca5: PUSH1 0xa0 00002ca7: SHL 00002ca8: SUB 00002ca9: AND 00002caa: DUP9 00002cab: PUSH1 0x20 00002cad: ADD 00002cae: MLOAD 00002caf: PUSH1 0x01 00002cb1: PUSH1 0x01 00002cb3: PUSH1 0xa0 00002cb5: SHL 00002cb6: SUB 00002cb7: AND 00002cb8: LT 00002cb9: ISZERO 00002cba: PUSH2 0x2cc7 00002cbd: JUMPI 00002cbe: POP 00002cbf: DUP4 00002cc0: SWAP1 00002cc1: POP 00002cc2: DUP3 00002cc3: PUSH2 0x2ccd 00002cc6: JUMP 00002cc7: JUMPDEST 00002cc8: POP 00002cc9: DUP3 00002cca: SWAP1 00002ccb: POP 00002ccc: DUP4 00002ccd: JUMPDEST 00002cce: PUSH2 0x2cd9 00002cd1: DUP9 00002cd2: DUP9 00002cd3: DUP5 00002cd4: DUP5 00002cd5: PUSH2 0x41bb 00002cd8: JUMP 00002cd9: JUMPDEST 00002cda: PUSH1 0x40 00002cdc: DUP12 00002cdd: ADD 00002cde: MLOAD 00002cdf: PUSH1 0x20 00002ce1: DUP13 00002ce2: ADD 00002ce3: MLOAD 00002ce4: SWAP2 00002ce5: SWAP10 00002ce6: POP 00002ce7: SWAP3 00002ce8: SWAP5 00002ce9: POP 00002cea: SWAP1 00002ceb: SWAP3 00002cec: POP 00002ced: PUSH1 0x01 00002cef: PUSH1 0x01 00002cf1: PUSH1 0xa0 00002cf3: SHL 00002cf4: SUB 00002cf5: SWAP2 00002cf6: DUP3 00002cf7: AND 00002cf8: SWAP2 00002cf9: AND 00002cfa: LT 00002cfb: PUSH2 0x2d0d 00002cfe: JUMPI 00002cff: PUSH2 0x2d08 00002d02: DUP2 00002d03: DUP4 00002d04: PUSH2 0x42d1 00002d07: JUMP 00002d08: JUMPDEST 00002d09: PUSH2 0x2d17 00002d0c: JUMP 00002d0d: JUMPDEST 00002d0e: PUSH2 0x2d17 00002d11: DUP3 00002d12: DUP3 00002d13: PUSH2 0x42d1 00002d16: JUMP 00002d17: JUMPDEST 00002d18: SWAP1 00002d19: SWAP3 00002d1a: SSTORE 00002d1b: POP 00002d1c: SWAP3 00002d1d: SWAP6 00002d1e: SWAP5 00002d1f: POP 00002d20: POP 00002d21: POP 00002d22: POP 00002d23: POP 00002d24: JUMP 00002d25: JUMPDEST 00002d26: PUSH1 0x00 00002d28: DUP1 00002d29: PUSH2 0x2d3a 00002d2c: DUP5 00002d2d: PUSH1 0x80 00002d2f: ADD 00002d30: MLOAD 00002d31: DUP6 00002d32: PUSH1 0x20 00002d34: ADD 00002d35: MLOAD 00002d36: PUSH2 0x271b 00002d39: JUMP 00002d3a: JUMPDEST 00002d3b: SWAP1 00002d3c: POP 00002d3d: PUSH1 0x00 00002d3f: PUSH2 0x2d50 00002d42: DUP6 00002d43: PUSH1 0x80 00002d45: ADD 00002d46: MLOAD 00002d47: DUP7 00002d48: PUSH1 0x40 00002d4a: ADD 00002d4b: MLOAD 00002d4c: PUSH2 0x271b 00002d4f: JUMP 00002d50: JUMPDEST 00002d51: SWAP1 00002d52: POP 00002d53: PUSH2 0x2d5e 00002d56: DUP6 00002d57: DUP6 00002d58: DUP5 00002d59: DUP5 00002d5a: PUSH2 0x41bb 00002d5d: JUMP 00002d5e: JUMPDEST 00002d5f: PUSH1 0x80 00002d61: DUP9 00002d62: ADD 00002d63: DUP1 00002d64: MLOAD 00002d65: PUSH1 0x00 00002d67: SWAP1 00002d68: DUP2 00002d69: MSTORE 00002d6a: PUSH1 0x07 00002d6c: PUSH1 0x20 00002d6e: DUP2 00002d6f: DUP2 00002d70: MSTORE 00002d71: PUSH1 0x40 00002d73: DUP1 00002d74: DUP5 00002d75: KECCAK256 00002d76: DUP3 00002d77: DUP15 00002d78: ADD 00002d79: MLOAD 00002d7a: PUSH1 0x01 00002d7c: PUSH1 0x01 00002d7e: PUSH1 0xa0 00002d80: SHL 00002d81: SUB 00002d82: SWAP1 00002d83: DUP2 00002d84: AND 00002d85: DUP7 00002d86: MSTORE 00002d87: SWAP1 00002d88: DUP4 00002d89: MSTORE 00002d8a: DUP2 00002d8b: DUP6 00002d8c: KECCAK256 00002d8d: SWAP9 00002d8e: SWAP1 00002d8f: SWAP9 00002d90: SSTORE 00002d91: SWAP4 00002d92: MLOAD 00002d93: DUP4 00002d94: MSTORE 00002d95: SWAP1 00002d96: DUP2 00002d97: MSTORE 00002d98: DUP3 00002d99: DUP3 00002d9a: KECCAK256 00002d9b: SWAP11 00002d9c: DUP4 00002d9d: ADD 00002d9e: MLOAD 00002d9f: SWAP1 00002da0: SWAP6 00002da1: AND 00002da2: DUP2 00002da3: MSTORE 00002da4: SWAP9 00002da5: SWAP1 00002da6: SWAP4 00002da7: MSTORE 00002da8: SWAP2 00002da9: SWAP1 00002daa: SWAP7 00002dab: KECCAK256 00002dac: SWAP6 00002dad: SWAP1 00002dae: SWAP6 00002daf: SSTORE 00002db0: POP 00002db1: SWAP3 00002db2: SWAP4 00002db3: SWAP3 00002db4: POP 00002db5: POP 00002db6: POP 00002db7: JUMP 00002db8: JUMPDEST 00002db9: PUSH1 0x80 00002dbb: DUP3 00002dbc: ADD 00002dbd: MLOAD 00002dbe: PUSH1 0x00 00002dc0: SWAP1 00002dc1: DUP2 00002dc2: MSTORE 00002dc3: PUSH1 0x01 00002dc5: PUSH1 0x20 00002dc7: SWAP1 00002dc8: DUP2 00002dc9: MSTORE 00002dca: PUSH1 0x40 00002dcc: DUP3 00002dcd: KECCAK256 00002dce: SWAP1 00002dcf: DUP5 00002dd0: ADD 00002dd1: MLOAD 00002dd2: DUP3 00002dd3: SWAP2 00002dd4: DUP3 00002dd5: SWAP2 00002dd6: DUP3 00002dd7: SWAP1 00002dd8: PUSH2 0x2de2 00002ddb: SWAP1 00002ddc: DUP4 00002ddd: SWAP1 00002dde: PUSH2 0x430c 00002de1: JUMP 00002de2: JUMPDEST 00002de3: SWAP1 00002de4: POP 00002de5: PUSH1 0x00 00002de7: PUSH2 0x2dfd 00002dea: DUP9 00002deb: PUSH1 0x40 00002ded: ADD 00002dee: MLOAD 00002def: DUP5 00002df0: PUSH2 0x430c 00002df3: SWAP1 00002df4: SWAP2 00002df5: SWAP1 00002df6: PUSH4 0xffffffff 00002dfb: AND 00002dfc: JUMP 00002dfd: JUMPDEST 00002dfe: SWAP1 00002dff: POP 00002e00: DUP2 00002e01: ISZERO 00002e02: DUP1 00002e03: PUSH2 0x2e0a 00002e06: JUMPI 00002e07: POP 00002e08: DUP1 00002e09: ISZERO 00002e0a: JUMPDEST 00002e0b: ISZERO 00002e0c: PUSH2 0x2e27 00002e0f: JUMPI 00002e10: PUSH2 0x2e1c 00002e13: DUP9 00002e14: PUSH1 0x80 00002e16: ADD 00002e17: MLOAD 00002e18: PUSH2 0x2683 00002e1b: JUMP 00002e1c: JUMPDEST 00002e1d: PUSH2 0x2e27 00002e20: PUSH2 0x0209 00002e23: PUSH2 0x16fb 00002e26: JUMP 00002e27: JUMPDEST 00002e28: PUSH1 0x00 00002e2a: NOT 00002e2b: SWAP2 00002e2c: DUP3 00002e2d: ADD 00002e2e: SWAP2 00002e2f: ADD 00002e30: PUSH1 0x00 00002e32: PUSH2 0x2e3a 00002e35: DUP5 00002e36: PUSH2 0x432b 00002e39: JUMP 00002e3a: JUMPDEST 00002e3b: SWAP1 00002e3c: POP 00002e3d: PUSH1 0x60 00002e3f: DUP2 00002e40: PUSH8 0xffffffffffffffff 00002e49: DUP2 00002e4a: GT 00002e4b: DUP1 00002e4c: ISZERO 00002e4d: PUSH2 0x2e55 00002e50: JUMPI 00002e51: PUSH1 0x00 00002e53: DUP1 00002e54: REVERT 00002e55: JUMPDEST 00002e56: POP 00002e57: PUSH1 0x40 00002e59: MLOAD 00002e5a: SWAP1 00002e5b: DUP1 00002e5c: DUP3 00002e5d: MSTORE 00002e5e: DUP1 00002e5f: PUSH1 0x20 00002e61: MUL 00002e62: PUSH1 0x20 00002e64: ADD 00002e65: DUP3 00002e66: ADD 00002e67: PUSH1 0x40 00002e69: MSTORE 00002e6a: DUP1 00002e6b: ISZERO 00002e6c: PUSH2 0x2e7f 00002e6f: JUMPI 00002e70: DUP2 00002e71: PUSH1 0x20 00002e73: ADD 00002e74: PUSH1 0x20 00002e76: DUP3 00002e77: MUL 00002e78: DUP1 00002e79: CALLDATASIZE 00002e7a: DUP4 00002e7b: CALLDATACOPY 00002e7c: ADD 00002e7d: SWAP1 00002e7e: POP 00002e7f: JUMPDEST 00002e80: POP 00002e81: PUSH1 0x00 00002e83: PUSH1 0xa0 00002e85: DUP13 00002e86: ADD 00002e87: DUP2 00002e88: SWAP1 00002e89: MSTORE 00002e8a: SWAP1 00002e8b: SWAP2 00002e8c: POP 00002e8d: JUMPDEST 00002e8e: DUP3 00002e8f: DUP2 00002e90: LT 00002e91: ISZERO 00002e92: PUSH2 0x2eff 00002e95: JUMPI 00002e96: PUSH1 0x00 00002e98: PUSH2 0x2ea1 00002e9b: DUP8 00002e9c: DUP4 00002e9d: PUSH2 0x432f 00002ea0: JUMP 00002ea1: JUMPDEST 00002ea2: SWAP1 00002ea3: POP 00002ea4: PUSH2 0x2eac 00002ea7: DUP2 00002ea8: PUSH2 0x3ff9 00002eab: JUMP 00002eac: JUMPDEST 00002ead: DUP4 00002eae: DUP4 00002eaf: DUP2 00002eb0: MLOAD 00002eb1: DUP2 00002eb2: LT 00002eb3: PUSH2 0x2eb8 00002eb6: JUMPI 00002eb7: INVALID 00002eb8: JUMPDEST 00002eb9: PUSH1 0x20 00002ebb: MUL 00002ebc: PUSH1 0x20 00002ebe: ADD 00002ebf: ADD 00002ec0: DUP2 00002ec1: DUP2 00002ec2: MSTORE 00002ec3: POP 00002ec4: POP 00002ec5: PUSH2 0x2ed5 00002ec8: DUP13 00002ec9: PUSH1 0xa0 00002ecb: ADD 00002ecc: MLOAD 00002ecd: PUSH2 0x2a3f 00002ed0: DUP4 00002ed1: PUSH2 0x27ca 00002ed4: JUMP 00002ed5: JUMPDEST 00002ed6: PUSH1 0xa0 00002ed8: DUP14 00002ed9: ADD 00002eda: MSTORE 00002edb: DUP2 00002edc: DUP7 00002edd: EQ 00002ede: ISZERO 00002edf: PUSH2 0x2eea 00002ee2: JUMPI 00002ee3: DUP1 00002ee4: SWAP9 00002ee5: POP 00002ee6: PUSH2 0x2ef6 00002ee9: JUMP 00002eea: JUMPDEST 00002eeb: DUP5 00002eec: DUP3 00002eed: EQ 00002eee: ISZERO 00002eef: PUSH2 0x2ef6 00002ef2: JUMPI 00002ef3: DUP1 00002ef4: SWAP8 00002ef5: POP 00002ef6: JUMPDEST 00002ef7: POP 00002ef8: PUSH1 0x01 00002efa: ADD 00002efb: PUSH2 0x2e8d 00002efe: JUMP 00002eff: JUMPDEST 00002f00: POP 00002f01: PUSH1 0x40 00002f03: MLOAD 00002f04: PUSH32 0x01ec954a00000000000000000000000000000000000000000000000000000000 00002f25: DUP2 00002f26: MSTORE 00002f27: PUSH1 0x01 00002f29: PUSH1 0x01 00002f2b: PUSH1 0xa0 00002f2d: SHL 00002f2e: SUB 00002f2f: DUP11 00002f30: AND 00002f31: SWAP1 00002f32: PUSH4 0x01ec954a 00002f37: SWAP1 00002f38: PUSH2 0x2f4b 00002f3b: SWAP1 00002f3c: DUP14 00002f3d: SWAP1 00002f3e: DUP6 00002f3f: SWAP1 00002f40: DUP10 00002f41: SWAP1 00002f42: DUP10 00002f43: SWAP1 00002f44: PUSH1 0x04 00002f46: ADD 00002f47: PUSH2 0x5e5b 00002f4a: JUMP 00002f4b: JUMPDEST 00002f4c: PUSH1 0x20 00002f4e: PUSH1 0x40 00002f50: MLOAD 00002f51: DUP1 00002f52: DUP4 00002f53: SUB 00002f54: DUP2 00002f55: PUSH1 0x00 00002f57: DUP8 00002f58: DUP1 00002f59: EXTCODESIZE 00002f5a: ISZERO 00002f5b: DUP1 00002f5c: ISZERO 00002f5d: PUSH2 0x2f65 00002f60: JUMPI 00002f61: PUSH1 0x00 00002f63: DUP1 00002f64: REVERT 00002f65: JUMPDEST 00002f66: POP 00002f67: GAS 00002f68: CALL 00002f69: ISZERO 00002f6a: DUP1 00002f6b: ISZERO 00002f6c: PUSH2 0x2f79 00002f6f: JUMPI 00002f70: RETURNDATASIZE 00002f71: PUSH1 0x00 00002f73: DUP1 00002f74: RETURNDATACOPY 00002f75: RETURNDATASIZE 00002f76: PUSH1 0x00 00002f78: REVERT 00002f79: JUMPDEST 00002f7a: POP 00002f7b: POP 00002f7c: POP 00002f7d: POP 00002f7e: PUSH1 0x40 00002f80: MLOAD 00002f81: RETURNDATASIZE 00002f82: PUSH1 0x1f 00002f84: NOT 00002f85: PUSH1 0x1f 00002f87: DUP3 00002f88: ADD 00002f89: AND 00002f8a: DUP3 00002f8b: ADD 00002f8c: DUP1 00002f8d: PUSH1 0x40 00002f8f: MSTORE 00002f90: POP 00002f91: DUP2 00002f92: ADD 00002f93: SWAP1 00002f94: PUSH2 0x2f9d 00002f97: SWAP2 00002f98: SWAP1 00002f99: PUSH2 0x5968 00002f9c: JUMP 00002f9d: JUMPDEST 00002f9e: SWAP8 00002f9f: POP 00002fa0: PUSH1 0x00 00002fa2: DUP1 00002fa3: PUSH2 0x2fb5 00002fa6: DUP13 00002fa7: PUSH1 0x00 00002fa9: ADD 00002faa: MLOAD 00002fab: DUP14 00002fac: PUSH1 0x60 00002fae: ADD 00002faf: MLOAD 00002fb0: DUP13 00002fb1: PUSH2 0x2ff7 00002fb4: JUMP 00002fb5: JUMPDEST 00002fb6: SWAP1 00002fb7: SWAP3 00002fb8: POP 00002fb9: SWAP1 00002fba: POP 00002fbb: PUSH2 0x2fc4 00002fbe: DUP10 00002fbf: DUP4 00002fc0: PUSH2 0x4345 00002fc3: JUMP 00002fc4: JUMPDEST 00002fc5: SWAP9 00002fc6: POP 00002fc7: PUSH2 0x2fd0 00002fca: DUP9 00002fcb: DUP3 00002fcc: PUSH2 0x4376 00002fcf: JUMP 00002fd0: JUMPDEST 00002fd1: SWAP8 00002fd2: POP 00002fd3: PUSH2 0x2fdd 00002fd6: DUP8 00002fd7: DUP8 00002fd8: DUP12 00002fd9: PUSH2 0x438c 00002fdc: JUMP 00002fdd: JUMPDEST 00002fde: PUSH2 0x2fe8 00002fe1: DUP8 00002fe2: DUP7 00002fe3: DUP11 00002fe4: PUSH2 0x438c 00002fe7: JUMP 00002fe8: JUMPDEST 00002fe9: POP 00002fea: POP 00002feb: POP 00002fec: POP 00002fed: POP 00002fee: POP 00002fef: POP 00002ff0: POP 00002ff1: POP 00002ff2: SWAP3 00002ff3: SWAP2 00002ff4: POP 00002ff5: POP 00002ff6: JUMP 00002ff7: JUMPDEST 00002ff8: PUSH1 0x00 00002ffa: DUP1 00002ffb: DUP1 00002ffc: DUP6 00002ffd: PUSH1 0x01 00002fff: DUP2 00003000: GT 00003001: ISZERO 00003002: PUSH2 0x3007 00003005: JUMPI 00003006: INVALID 00003007: JUMPDEST 00003008: EQ 00003009: ISZERO 0000300a: PUSH2 0x3017 0000300d: JUMPI 0000300e: POP 0000300f: DUP3 00003010: SWAP1 00003011: POP 00003012: DUP2 00003013: PUSH2 0x301d 00003016: JUMP 00003017: JUMPDEST 00003018: POP 00003019: DUP2 0000301a: SWAP1 0000301b: POP 0000301c: DUP3 0000301d: JUMPDEST 0000301e: SWAP4 0000301f: POP 00003020: SWAP4 00003021: SWAP2 00003022: POP 00003023: POP 00003024: JUMP 00003025: JUMPDEST 00003026: PUSH1 0x00 00003028: DUP3 00003029: DUP3 0000302a: MUL 0000302b: PUSH2 0x3049 0000302e: DUP5 0000302f: ISZERO 00003030: DUP1 00003031: PUSH2 0x3042 00003034: JUMPI 00003035: POP 00003036: DUP4 00003037: DUP6 00003038: DUP4 00003039: DUP2 0000303a: PUSH2 0x303f 0000303d: JUMPI 0000303e: INVALID 0000303f: JUMPDEST 00003040: DIV 00003041: EQ 00003042: JUMPDEST 00003043: PUSH1 0x03 00003045: PUSH2 0x054b 00003048: JUMP 00003049: JUMPDEST 0000304a: DUP1 0000304b: PUSH2 0x3058 0000304e: JUMPI 0000304f: PUSH1 0x00 00003051: SWAP2 00003052: POP 00003053: POP 00003054: PUSH2 0x16f5 00003057: JUMP 00003058: JUMPDEST 00003059: PUSH8 0x0de0b6b3a7640000 00003062: PUSH1 0x00 00003064: NOT 00003065: DUP3 00003066: ADD 00003067: DIV 00003068: PUSH1 0x01 0000306a: ADD 0000306b: SWAP2 0000306c: POP 0000306d: POP 0000306e: PUSH2 0x16f5 00003071: JUMP 00003072: JUMPDEST 00003073: PUSH1 0x00 00003075: PUSH1 0x60 00003077: DUP4 00003078: PUSH1 0x01 0000307a: PUSH1 0x01 0000307c: PUSH1 0xa0 0000307e: SHL 0000307f: SUB 00003080: AND 00003081: DUP4 00003082: PUSH1 0x40 00003084: MLOAD 00003085: PUSH2 0x308e 00003088: SWAP2 00003089: SWAP1 0000308a: PUSH2 0x5aea 0000308d: JUMP 0000308e: JUMPDEST 0000308f: PUSH1 0x00 00003091: PUSH1 0x40 00003093: MLOAD 00003094: DUP1 00003095: DUP4 00003096: SUB 00003097: DUP2 00003098: PUSH1 0x00 0000309a: DUP7 0000309b: GAS 0000309c: CALL 0000309d: SWAP2 0000309e: POP 0000309f: POP 000030a0: RETURNDATASIZE 000030a1: DUP1 000030a2: PUSH1 0x00 000030a4: DUP2 000030a5: EQ 000030a6: PUSH2 0x30cb 000030a9: JUMPI 000030aa: PUSH1 0x40 000030ac: MLOAD 000030ad: SWAP2 000030ae: POP 000030af: PUSH1 0x1f 000030b1: NOT 000030b2: PUSH1 0x3f 000030b4: RETURNDATASIZE 000030b5: ADD 000030b6: AND 000030b7: DUP3 000030b8: ADD 000030b9: PUSH1 0x40 000030bb: MSTORE 000030bc: RETURNDATASIZE 000030bd: DUP3 000030be: MSTORE 000030bf: RETURNDATASIZE 000030c0: PUSH1 0x00 000030c2: PUSH1 0x20 000030c4: DUP5 000030c5: ADD 000030c6: RETURNDATACOPY 000030c7: PUSH2 0x30d0 000030ca: JUMP 000030cb: JUMPDEST 000030cc: PUSH1 0x60 000030ce: SWAP2 000030cf: POP 000030d0: JUMPDEST 000030d1: POP 000030d2: SWAP2 000030d3: POP 000030d4: SWAP2 000030d5: POP 000030d6: PUSH1 0x00 000030d8: DUP3 000030d9: EQ 000030da: ISZERO 000030db: PUSH2 0x30e8 000030de: JUMPI 000030df: RETURNDATASIZE 000030e0: PUSH1 0x00 000030e2: DUP1 000030e3: RETURNDATACOPY 000030e4: RETURNDATASIZE 000030e5: PUSH1 0x00 000030e7: REVERT 000030e8: JUMPDEST 000030e9: PUSH2 0x0e00 000030ec: DUP2 000030ed: MLOAD 000030ee: PUSH1 0x00 000030f0: EQ 000030f1: DUP1 000030f2: PUSH2 0x310a 000030f5: JUMPI 000030f6: POP 000030f7: DUP2 000030f8: DUP1 000030f9: PUSH1 0x20 000030fb: ADD 000030fc: SWAP1 000030fd: MLOAD 000030fe: DUP2 000030ff: ADD 00003100: SWAP1 00003101: PUSH2 0x310a 00003104: SWAP2 00003105: SWAP1 00003106: PUSH2 0x5478 00003109: JUMP 0000310a: JUMPDEST 0000310b: PUSH2 0x01a2 0000310e: PUSH2 0x054b 00003111: JUMP 00003112: JUMPDEST 00003113: PUSH1 0x00 00003115: PUSH2 0x311e 00003118: DUP4 00003119: DUP4 0000311a: PUSH2 0x3aa1 0000311d: JUMP 0000311e: JUMPDEST 0000311f: PUSH2 0x316d 00003122: JUMPI 00003123: POP 00003124: DUP2 00003125: SLOAD 00003126: PUSH1 0x01 00003128: DUP1 00003129: DUP3 0000312a: ADD 0000312b: DUP5 0000312c: SSTORE 0000312d: PUSH1 0x00 0000312f: DUP5 00003130: DUP2 00003131: MSTORE 00003132: PUSH1 0x20 00003134: DUP1 00003135: DUP3 00003136: KECCAK256 00003137: SWAP1 00003138: SWAP4 00003139: ADD 0000313a: DUP1 0000313b: SLOAD 0000313c: PUSH1 0x01 0000313e: PUSH1 0x01 00003140: PUSH1 0xa0 00003142: SHL 00003143: SUB 00003144: NOT 00003145: AND 00003146: PUSH1 0x01 00003148: PUSH1 0x01 0000314a: PUSH1 0xa0 0000314c: SHL 0000314d: SUB 0000314e: DUP7 0000314f: AND 00003150: SWAP1 00003151: DUP2 00003152: OR 00003153: SWAP1 00003154: SWAP2 00003155: SSTORE 00003156: DUP6 00003157: SLOAD 00003158: SWAP1 00003159: DUP3 0000315a: MSTORE 0000315b: DUP3 0000315c: DUP7 0000315d: ADD 0000315e: SWAP1 0000315f: SWAP4 00003160: MSTORE 00003161: PUSH1 0x40 00003163: SWAP1 00003164: KECCAK256 00003165: SWAP2 00003166: SWAP1 00003167: SWAP2 00003168: SSTORE 00003169: PUSH2 0x16f5 0000316c: JUMP 0000316d: JUMPDEST 0000316e: POP 0000316f: PUSH1 0x00 00003171: PUSH2 0x16f5 00003174: JUMP 00003175: JUMPDEST 00003176: PUSH1 0x01 00003178: PUSH1 0x01 0000317a: PUSH1 0xa0 0000317c: SHL 0000317d: SUB 0000317e: DUP3 0000317f: AND 00003180: PUSH1 0x00 00003182: SWAP1 00003183: DUP2 00003184: MSTORE 00003185: PUSH1 0x02 00003187: DUP5 00003188: ADD 00003189: PUSH1 0x20 0000318b: MSTORE 0000318c: PUSH1 0x40 0000318e: DUP2 0000318f: KECCAK256 00003190: SLOAD 00003191: DUP1 00003192: PUSH2 0x3202 00003195: JUMPI 00003196: POP 00003197: POP 00003198: DUP3 00003199: SLOAD 0000319a: PUSH1 0x40 0000319c: DUP1 0000319d: MLOAD 0000319e: DUP1 0000319f: DUP3 000031a0: ADD 000031a1: DUP3 000031a2: MSTORE 000031a3: PUSH1 0x01 000031a5: PUSH1 0x01 000031a7: PUSH1 0xa0 000031a9: SHL 000031aa: SUB 000031ab: DUP6 000031ac: DUP2 000031ad: AND 000031ae: DUP1 000031af: DUP4 000031b0: MSTORE 000031b1: PUSH1 0x20 000031b3: DUP1 000031b4: DUP5 000031b5: ADD 000031b6: DUP8 000031b7: DUP2 000031b8: MSTORE 000031b9: PUSH1 0x00 000031bb: DUP8 000031bc: DUP2 000031bd: MSTORE 000031be: PUSH1 0x01 000031c0: DUP1 000031c1: DUP13 000031c2: ADD 000031c3: DUP5 000031c4: MSTORE 000031c5: DUP8 000031c6: DUP3 000031c7: KECCAK256 000031c8: SWAP7 000031c9: MLOAD 000031ca: DUP8 000031cb: SLOAD 000031cc: PUSH1 0x01 000031ce: PUSH1 0x01 000031d0: PUSH1 0xa0 000031d2: SHL 000031d3: SUB 000031d4: NOT 000031d5: AND 000031d6: SWAP7 000031d7: AND 000031d8: SWAP6 000031d9: SWAP1 000031da: SWAP6 000031db: OR 000031dc: DUP7 000031dd: SSTORE 000031de: SWAP1 000031df: MLOAD 000031e0: SWAP5 000031e1: DUP5 000031e2: ADD 000031e3: SWAP5 000031e4: SWAP1 000031e5: SWAP5 000031e6: SSTORE 000031e7: SWAP5 000031e8: DUP3 000031e9: ADD 000031ea: DUP1 000031eb: DUP10 000031ec: SSTORE 000031ed: SWAP1 000031ee: DUP4 000031ef: MSTORE 000031f0: PUSH1 0x02 000031f2: DUP9 000031f3: ADD 000031f4: SWAP1 000031f5: SWAP5 000031f6: MSTORE 000031f7: SWAP2 000031f8: SWAP1 000031f9: KECCAK256 000031fa: SWAP2 000031fb: SWAP1 000031fc: SWAP2 000031fd: SSTORE 000031fe: PUSH2 0x1876 00003201: JUMP 00003202: JUMPDEST 00003203: PUSH1 0x00 00003205: NOT 00003206: ADD 00003207: PUSH1 0x00 00003209: SWAP1 0000320a: DUP2 0000320b: MSTORE 0000320c: PUSH1 0x01 0000320e: DUP1 0000320f: DUP7 00003210: ADD 00003211: PUSH1 0x20 00003213: MSTORE 00003214: PUSH1 0x40 00003216: DUP3 00003217: KECCAK256 00003218: ADD 00003219: DUP4 0000321a: SWAP1 0000321b: SSTORE 0000321c: SWAP1 0000321d: POP 0000321e: PUSH2 0x1876 00003221: JUMP 00003222: JUMPDEST 00003223: PUSH1 0x00 00003225: DUP1 00003226: PUSH1 0x00 00003228: DUP1 00003229: PUSH1 0x00 0000322b: PUSH2 0x3234 0000322e: DUP8 0000322f: DUP8 00003230: PUSH2 0x43a4 00003233: JUMP 00003234: JUMPDEST 00003235: SWAP2 00003236: POP 00003237: SWAP2 00003238: POP 00003239: PUSH1 0x00 0000323b: PUSH2 0x3244 0000323e: DUP4 0000323f: DUP4 00003240: PUSH2 0x43d5 00003243: JUMP 00003244: JUMPDEST 00003245: PUSH1 0x00 00003247: DUP11 00003248: DUP2 00003249: MSTORE 0000324a: PUSH1 0x09 0000324c: PUSH1 0x20 0000324e: SWAP1 0000324f: DUP2 00003250: MSTORE 00003251: PUSH1 0x40 00003253: DUP1 00003254: DUP4 00003255: KECCAK256 00003256: DUP5 00003257: DUP5 00003258: MSTORE 00003259: PUSH1 0x02 0000325b: ADD 0000325c: SWAP1 0000325d: SWAP2 0000325e: MSTORE 0000325f: DUP2 00003260: KECCAK256 00003261: DUP1 00003262: SLOAD 00003263: PUSH1 0x01 00003265: DUP3 00003266: ADD 00003267: SLOAD 00003268: SWAP2 00003269: SWAP8 0000326a: POP 0000326b: SWAP3 0000326c: SWAP4 0000326d: POP 0000326e: SWAP1 0000326f: PUSH2 0x3277 00003272: DUP4 00003273: PUSH2 0x3a8f 00003276: JUMP 00003277: JUMPDEST 00003278: DUP1 00003279: PUSH2 0x3286 0000327c: JUMPI 0000327d: POP 0000327e: PUSH2 0x3286 00003281: DUP3 00003282: PUSH2 0x3a8f 00003285: JUMP 00003286: JUMPDEST 00003287: DUP1 00003288: PUSH2 0x32a7 0000328b: JUMPI 0000328c: POP 0000328d: PUSH2 0x3296 00003290: DUP13 00003291: DUP8 00003292: PUSH2 0x3ac2 00003295: JUMP 00003296: JUMPDEST 00003297: DUP1 00003298: ISZERO 00003299: PUSH2 0x32a7 0000329c: JUMPI 0000329d: POP 0000329e: PUSH2 0x32a7 000032a1: DUP13 000032a2: DUP7 000032a3: PUSH2 0x3ac2 000032a6: JUMP 000032a7: JUMPDEST 000032a8: SWAP1 000032a9: POP 000032aa: DUP1 000032ab: PUSH2 0x32c2 000032ae: JUMPI 000032af: PUSH2 0x32b7 000032b2: DUP13 000032b3: PUSH2 0x2683 000032b6: JUMP 000032b7: JUMPDEST 000032b8: PUSH2 0x32c2 000032bb: PUSH2 0x0209 000032be: PUSH2 0x16fb 000032c1: JUMP 000032c2: JUMPDEST 000032c3: PUSH2 0x32cc 000032c6: DUP4 000032c7: DUP4 000032c8: PUSH2 0x4408 000032cb: JUMP 000032cc: JUMPDEST 000032cd: SWAP9 000032ce: POP 000032cf: PUSH2 0x32d8 000032d2: DUP4 000032d3: DUP4 000032d4: PUSH2 0x442d 000032d7: JUMP 000032d8: JUMPDEST 000032d9: SWAP8 000032da: POP 000032db: POP 000032dc: POP 000032dd: POP 000032de: POP 000032df: POP 000032e0: POP 000032e1: SWAP4 000032e2: POP 000032e3: SWAP4 000032e4: POP 000032e5: SWAP4 000032e6: SWAP1 000032e7: POP 000032e8: JUMP 000032e9: JUMPDEST 000032ea: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003307: AND 00003308: ISZERO 00003309: SWAP1 0000330a: JUMP 0000330b: JUMPDEST 0000330c: PUSH1 0x01 0000330e: PUSH1 0x01 00003310: PUSH1 0xa0 00003312: SHL 00003313: SUB 00003314: DUP2 00003315: AND 00003316: PUSH1 0x00 00003318: SWAP1 00003319: DUP2 0000331a: MSTORE 0000331b: PUSH1 0x01 0000331d: DUP4 0000331e: ADD 0000331f: PUSH1 0x20 00003321: MSTORE 00003322: PUSH1 0x40 00003324: DUP2 00003325: KECCAK256 00003326: SLOAD 00003327: DUP1 00003328: ISZERO 00003329: PUSH2 0x3408 0000332c: JUMPI 0000332d: DUP4 0000332e: SLOAD 0000332f: PUSH1 0x00 00003331: NOT 00003332: DUP1 00003333: DUP4 00003334: ADD 00003335: SWAP2 00003336: SWAP1 00003337: DUP2 00003338: ADD 00003339: SWAP1 0000333a: PUSH1 0x00 0000333c: SWAP1 0000333d: DUP8 0000333e: SWAP1 0000333f: DUP4 00003340: SWAP1 00003341: DUP2 00003342: LT 00003343: PUSH2 0x3348 00003346: JUMPI 00003347: INVALID 00003348: JUMPDEST 00003349: PUSH1 0x00 0000334b: SWAP2 0000334c: DUP3 0000334d: MSTORE 0000334e: PUSH1 0x20 00003350: SWAP1 00003351: SWAP2 00003352: KECCAK256 00003353: ADD 00003354: SLOAD 00003355: DUP8 00003356: SLOAD 00003357: PUSH1 0x01 00003359: PUSH1 0x01 0000335b: PUSH1 0xa0 0000335d: SHL 0000335e: SUB 0000335f: SWAP1 00003360: SWAP2 00003361: AND 00003362: SWAP2 00003363: POP 00003364: DUP2 00003365: SWAP1 00003366: DUP9 00003367: SWAP1 00003368: DUP6 00003369: SWAP1 0000336a: DUP2 0000336b: LT 0000336c: PUSH2 0x3371 0000336f: JUMPI 00003370: INVALID 00003371: JUMPDEST 00003372: PUSH1 0x00 00003374: SWAP2 00003375: DUP3 00003376: MSTORE 00003377: PUSH1 0x20 00003379: DUP1 0000337a: DUP4 0000337b: KECCAK256 0000337c: SWAP2 0000337d: SWAP1 0000337e: SWAP2 0000337f: ADD 00003380: DUP1 00003381: SLOAD 00003382: PUSH1 0x01 00003384: PUSH1 0x01 00003386: PUSH1 0xa0 00003388: SHL 00003389: SUB 0000338a: NOT 0000338b: AND 0000338c: PUSH1 0x01 0000338e: PUSH1 0x01 00003390: PUSH1 0xa0 00003392: SHL 00003393: SUB 00003394: SWAP5 00003395: DUP6 00003396: AND 00003397: OR 00003398: SWAP1 00003399: SSTORE 0000339a: SWAP2 0000339b: DUP4 0000339c: AND 0000339d: DUP2 0000339e: MSTORE 0000339f: PUSH1 0x01 000033a1: DUP10 000033a2: DUP2 000033a3: ADD 000033a4: SWAP1 000033a5: SWAP3 000033a6: MSTORE 000033a7: PUSH1 0x40 000033a9: SWAP1 000033aa: KECCAK256 000033ab: SWAP1 000033ac: DUP5 000033ad: ADD 000033ae: SWAP1 000033af: SSTORE 000033b0: DUP7 000033b1: SLOAD 000033b2: DUP8 000033b3: SWAP1 000033b4: DUP1 000033b5: PUSH2 0x33ba 000033b8: JUMPI 000033b9: INVALID 000033ba: JUMPDEST 000033bb: PUSH1 0x00 000033bd: DUP3 000033be: DUP2 000033bf: MSTORE 000033c0: PUSH1 0x20 000033c2: DUP1 000033c3: DUP3 000033c4: KECCAK256 000033c5: DUP4 000033c6: ADD 000033c7: PUSH1 0x00 000033c9: NOT 000033ca: SWAP1 000033cb: DUP2 000033cc: ADD 000033cd: DUP1 000033ce: SLOAD 000033cf: PUSH1 0x01 000033d1: PUSH1 0x01 000033d3: PUSH1 0xa0 000033d5: SHL 000033d6: SUB 000033d7: NOT 000033d8: AND 000033d9: SWAP1 000033da: SSTORE 000033db: SWAP1 000033dc: SWAP3 000033dd: ADD 000033de: SWAP1 000033df: SWAP3 000033e0: SSTORE 000033e1: PUSH1 0x01 000033e3: PUSH1 0x01 000033e5: PUSH1 0xa0 000033e7: SHL 000033e8: SUB 000033e9: DUP9 000033ea: AND 000033eb: DUP3 000033ec: MSTORE 000033ed: PUSH1 0x01 000033ef: DUP10 000033f0: DUP2 000033f1: ADD 000033f2: SWAP1 000033f3: SWAP2 000033f4: MSTORE 000033f5: PUSH1 0x40 000033f7: DUP3 000033f8: KECCAK256 000033f9: SWAP2 000033fa: SWAP1 000033fb: SWAP2 000033fc: SSTORE 000033fd: SWAP5 000033fe: POP 000033ff: PUSH2 0x16f5 00003402: SWAP4 00003403: POP 00003404: POP 00003405: POP 00003406: POP 00003407: JUMP 00003408: JUMPDEST 00003409: PUSH1 0x00 0000340b: SWAP2 0000340c: POP 0000340d: POP 0000340e: PUSH2 0x16f5 00003411: JUMP 00003412: JUMPDEST 00003413: PUSH1 0x00 00003415: PUSH2 0x16f2 00003418: DUP4 00003419: DUP4 0000341a: PUSH2 0x0209 0000341d: PUSH2 0x4444 00003420: JUMP 00003421: JUMPDEST 00003422: PUSH1 0x01 00003424: PUSH1 0x01 00003426: PUSH1 0xa0 00003428: SHL 00003429: SUB 0000342a: DUP2 0000342b: AND 0000342c: PUSH1 0x00 0000342e: SWAP1 0000342f: DUP2 00003430: MSTORE 00003431: PUSH1 0x02 00003433: DUP4 00003434: ADD 00003435: PUSH1 0x20 00003437: MSTORE 00003438: PUSH1 0x40 0000343a: DUP2 0000343b: KECCAK256 0000343c: SLOAD 0000343d: DUP1 0000343e: ISZERO 0000343f: PUSH2 0x3408 00003442: JUMPI 00003443: DUP4 00003444: SLOAD 00003445: PUSH1 0x00 00003447: NOT 00003448: SWAP1 00003449: DUP2 0000344a: ADD 0000344b: PUSH1 0x00 0000344d: DUP2 0000344e: DUP2 0000344f: MSTORE 00003450: PUSH1 0x01 00003452: DUP8 00003453: DUP2 00003454: ADD 00003455: PUSH1 0x20 00003457: SWAP1 00003458: DUP2 00003459: MSTORE 0000345a: PUSH1 0x40 0000345c: DUP1 0000345d: DUP5 0000345e: KECCAK256 0000345f: SWAP6 00003460: DUP8 00003461: ADD 00003462: DUP5 00003463: MSTORE 00003464: DUP1 00003465: DUP5 00003466: KECCAK256 00003467: DUP7 00003468: SLOAD 00003469: DUP2 0000346a: SLOAD 0000346b: PUSH1 0x01 0000346d: PUSH1 0x01 0000346f: PUSH1 0xa0 00003471: SHL 00003472: SUB 00003473: NOT 00003474: SWAP1 00003475: DUP2 00003476: AND 00003477: PUSH1 0x01 00003479: PUSH1 0x01 0000347b: PUSH1 0xa0 0000347d: SHL 0000347e: SUB 0000347f: SWAP3 00003480: DUP4 00003481: AND 00003482: OR 00003483: DUP4 00003484: SSTORE 00003485: DUP9 00003486: DUP7 00003487: ADD 00003488: DUP1 00003489: SLOAD 0000348a: SWAP4 0000348b: DUP8 0000348c: ADD 0000348d: SWAP4 0000348e: SWAP1 0000348f: SWAP4 00003490: SSTORE 00003491: DUP9 00003492: SLOAD 00003493: DUP3 00003494: AND 00003495: DUP8 00003496: MSTORE 00003497: PUSH1 0x02 00003499: DUP14 0000349a: ADD 0000349b: DUP1 0000349c: DUP7 0000349d: MSTORE 0000349e: DUP5 0000349f: DUP9 000034a0: KECCAK256 000034a1: SWAP11 000034a2: SWAP1 000034a3: SWAP11 000034a4: SSTORE 000034a5: DUP9 000034a6: SLOAD 000034a7: AND 000034a8: SWAP1 000034a9: SWAP8 000034aa: SSTORE 000034ab: DUP5 000034ac: SWAP1 000034ad: SSTORE 000034ae: SWAP4 000034af: DUP10 000034b0: SSTORE 000034b1: SWAP4 000034b2: DUP8 000034b3: AND 000034b4: DUP3 000034b5: MSTORE 000034b6: SWAP4 000034b7: SWAP1 000034b8: SWAP3 000034b9: MSTORE 000034ba: DUP2 000034bb: KECCAK256 000034bc: SSTORE 000034bd: SWAP1 000034be: POP 000034bf: PUSH2 0x16f5 000034c2: JUMP 000034c3: JUMPDEST 000034c4: PUSH1 0x60 000034c6: DUP1 000034c7: DUP3 000034c8: MLOAD 000034c9: PUSH8 0xffffffffffffffff 000034d2: DUP2 000034d3: GT 000034d4: DUP1 000034d5: ISZERO 000034d6: PUSH2 0x34de 000034d9: JUMPI 000034da: PUSH1 0x00 000034dc: DUP1 000034dd: REVERT 000034de: JUMPDEST 000034df: POP 000034e0: PUSH1 0x40 000034e2: MLOAD 000034e3: SWAP1 000034e4: DUP1 000034e5: DUP3 000034e6: MSTORE 000034e7: DUP1 000034e8: PUSH1 0x20 000034ea: MUL 000034eb: PUSH1 0x20 000034ed: ADD 000034ee: DUP3 000034ef: ADD 000034f0: PUSH1 0x40 000034f2: MSTORE 000034f3: DUP1 000034f4: ISZERO 000034f5: PUSH2 0x3508 000034f8: JUMPI 000034f9: DUP2 000034fa: PUSH1 0x20 000034fc: ADD 000034fd: PUSH1 0x20 000034ff: DUP3 00003500: MUL 00003501: DUP1 00003502: CALLDATASIZE 00003503: DUP4 00003504: CALLDATACOPY 00003505: ADD 00003506: SWAP1 00003507: POP 00003508: JUMPDEST 00003509: POP 0000350a: SWAP1 0000350b: POP 0000350c: PUSH1 0x00 0000350e: JUMPDEST 0000350f: DUP4 00003510: MLOAD 00003511: DUP2 00003512: LT 00003513: ISZERO 00003514: PUSH2 0x07ff 00003517: JUMPI 00003518: PUSH2 0x3526 0000351b: DUP5 0000351c: DUP3 0000351d: DUP2 0000351e: MLOAD 0000351f: DUP2 00003520: LT 00003521: PUSH2 0x24ac 00003524: JUMPI 00003525: INVALID 00003526: JUMPDEST 00003527: DUP3 00003528: DUP3 00003529: DUP2 0000352a: MLOAD 0000352b: DUP2 0000352c: LT 0000352d: PUSH2 0x3532 00003530: JUMPI 00003531: INVALID 00003532: JUMPDEST 00003533: PUSH1 0x01 00003535: PUSH1 0x01 00003537: PUSH1 0xa0 00003539: SHL 0000353a: SUB 0000353b: SWAP1 0000353c: SWAP3 0000353d: AND 0000353e: PUSH1 0x20 00003540: SWAP3 00003541: DUP4 00003542: MUL 00003543: SWAP2 00003544: SWAP1 00003545: SWAP2 00003546: ADD 00003547: SWAP1 00003548: SWAP2 00003549: ADD 0000354a: MSTORE 0000354b: PUSH1 0x01 0000354d: ADD 0000354e: PUSH2 0x350e 00003551: JUMP 00003552: JUMPDEST 00003553: PUSH1 0x60 00003555: DUP1 00003556: PUSH1 0x60 00003558: PUSH2 0x3560 0000355b: DUP6 0000355c: PUSH2 0x293e 0000355f: JUMP 00003560: JUMPDEST 00003561: SWAP2 00003562: POP 00003563: SWAP2 00003564: POP 00003565: PUSH2 0x3570 00003568: DUP3 00003569: MLOAD 0000356a: DUP6 0000356b: MLOAD 0000356c: PUSH2 0x1e12 0000356f: JUMP 00003570: JUMPDEST 00003571: PUSH2 0x3580 00003574: PUSH1 0x00 00003576: DUP4 00003577: MLOAD 00003578: GT 00003579: PUSH2 0x020f 0000357c: PUSH2 0x054b 0000357f: JUMP 00003580: JUMPDEST 00003581: PUSH1 0x00 00003583: JUMPDEST 00003584: DUP3 00003585: MLOAD 00003586: DUP2 00003587: LT 00003588: ISZERO 00003589: PUSH2 0x35da 0000358c: JUMPI 0000358d: PUSH2 0x35d2 00003590: DUP6 00003591: DUP3 00003592: DUP2 00003593: MLOAD 00003594: DUP2 00003595: LT 00003596: PUSH2 0x359b 00003599: JUMPI 0000359a: INVALID 0000359b: JUMPDEST 0000359c: PUSH1 0x20 0000359e: MUL 0000359f: PUSH1 0x20 000035a1: ADD 000035a2: ADD 000035a3: MLOAD 000035a4: PUSH1 0x01 000035a6: PUSH1 0x01 000035a8: PUSH1 0xa0 000035aa: SHL 000035ab: SUB 000035ac: AND 000035ad: DUP5 000035ae: DUP4 000035af: DUP2 000035b0: MLOAD 000035b1: DUP2 000035b2: LT 000035b3: PUSH2 0x35b8 000035b6: JUMPI 000035b7: INVALID 000035b8: JUMPDEST 000035b9: PUSH1 0x20 000035bb: MUL 000035bc: PUSH1 0x20 000035be: ADD 000035bf: ADD 000035c0: MLOAD 000035c1: PUSH1 0x01 000035c3: PUSH1 0x01 000035c5: PUSH1 0xa0 000035c7: SHL 000035c8: SUB 000035c9: AND 000035ca: EQ 000035cb: PUSH2 0x0208 000035ce: PUSH2 0x054b 000035d1: JUMP 000035d2: JUMPDEST 000035d3: PUSH1 0x01 000035d5: ADD 000035d6: PUSH2 0x3583 000035d9: JUMP 000035da: JUMPDEST 000035db: POP 000035dc: SWAP5 000035dd: SWAP4 000035de: POP 000035df: POP 000035e0: POP 000035e1: POP 000035e2: JUMP 000035e3: JUMPDEST 000035e4: PUSH1 0x60 000035e6: DUP1 000035e7: PUSH1 0x60 000035e9: DUP1 000035ea: PUSH1 0x00 000035ec: PUSH2 0x35f4 000035ef: DUP7 000035f0: PUSH2 0x29a0 000035f3: JUMP 000035f4: JUMPDEST 000035f5: SWAP2 000035f6: POP 000035f7: SWAP2 000035f8: POP 000035f9: PUSH1 0x00 000035fb: PUSH2 0x3603 000035fe: DUP12 000035ff: PUSH2 0x2938 00003602: JUMP 00003603: JUMPDEST 00003604: SWAP1 00003605: POP 00003606: PUSH1 0x00 00003608: DUP13 00003609: PUSH1 0x01 0000360b: DUP2 0000360c: GT 0000360d: ISZERO 0000360e: PUSH2 0x3613 00003611: JUMPI 00003612: INVALID 00003613: JUMPDEST 00003614: EQ 00003615: PUSH2 0x36b6 00003618: JUMPI 00003619: DUP1 0000361a: PUSH1 0x01 0000361c: PUSH1 0x01 0000361e: PUSH1 0xa0 00003620: SHL 00003621: SUB 00003622: AND 00003623: PUSH4 0x74f3b009 00003628: DUP13 00003629: DUP13 0000362a: DUP13 0000362b: DUP8 0000362c: DUP8 0000362d: PUSH2 0x3634 00003630: PUSH2 0x4481 00003633: JUMP 00003634: JUMPDEST 00003635: DUP16 00003636: PUSH1 0x40 00003638: ADD 00003639: MLOAD 0000363a: PUSH1 0x40 0000363c: MLOAD 0000363d: DUP9 0000363e: PUSH4 0xffffffff 00003643: AND 00003644: PUSH1 0xe0 00003646: SHL 00003647: DUP2 00003648: MSTORE 00003649: PUSH1 0x04 0000364b: ADD 0000364c: PUSH2 0x365b 0000364f: SWAP8 00003650: SWAP7 00003651: SWAP6 00003652: SWAP5 00003653: SWAP4 00003654: SWAP3 00003655: SWAP2 00003656: SWAP1 00003657: PUSH2 0x5d66 0000365a: JUMP 0000365b: JUMPDEST 0000365c: PUSH1 0x00 0000365e: PUSH1 0x40 00003660: MLOAD 00003661: DUP1 00003662: DUP4 00003663: SUB 00003664: DUP2 00003665: PUSH1 0x00 00003667: DUP8 00003668: DUP1 00003669: EXTCODESIZE 0000366a: ISZERO 0000366b: DUP1 0000366c: ISZERO 0000366d: PUSH2 0x3675 00003670: JUMPI 00003671: PUSH1 0x00 00003673: DUP1 00003674: REVERT 00003675: JUMPDEST 00003676: POP 00003677: GAS 00003678: CALL 00003679: ISZERO 0000367a: DUP1 0000367b: ISZERO 0000367c: PUSH2 0x3689 0000367f: JUMPI 00003680: RETURNDATASIZE 00003681: PUSH1 0x00 00003683: DUP1 00003684: RETURNDATACOPY 00003685: RETURNDATASIZE 00003686: PUSH1 0x00 00003688: REVERT 00003689: JUMPDEST 0000368a: POP 0000368b: POP 0000368c: POP 0000368d: POP 0000368e: PUSH1 0x40 00003690: MLOAD 00003691: RETURNDATASIZE 00003692: PUSH1 0x00 00003694: DUP3 00003695: RETURNDATACOPY 00003696: PUSH1 0x1f 00003698: RETURNDATASIZE 00003699: SWAP1 0000369a: DUP2 0000369b: ADD 0000369c: PUSH1 0x1f 0000369e: NOT 0000369f: AND 000036a0: DUP3 000036a1: ADD 000036a2: PUSH1 0x40 000036a4: MSTORE 000036a5: PUSH2 0x36b1 000036a8: SWAP2 000036a9: SWAP1 000036aa: DUP2 000036ab: ADD 000036ac: SWAP1 000036ad: PUSH2 0x5405 000036b0: JUMP 000036b1: JUMPDEST 000036b2: PUSH2 0x374f 000036b5: JUMP 000036b6: JUMPDEST 000036b7: DUP1 000036b8: PUSH1 0x01 000036ba: PUSH1 0x01 000036bc: PUSH1 0xa0 000036be: SHL 000036bf: SUB 000036c0: AND 000036c1: PUSH4 0xd5c096c4 000036c6: DUP13 000036c7: DUP13 000036c8: DUP13 000036c9: DUP8 000036ca: DUP8 000036cb: PUSH2 0x36d2 000036ce: PUSH2 0x4481 000036d1: JUMP 000036d2: JUMPDEST 000036d3: DUP16 000036d4: PUSH1 0x40 000036d6: ADD 000036d7: MLOAD 000036d8: PUSH1 0x40 000036da: MLOAD 000036db: DUP9 000036dc: PUSH4 0xffffffff 000036e1: AND 000036e2: PUSH1 0xe0 000036e4: SHL 000036e5: DUP2 000036e6: MSTORE 000036e7: PUSH1 0x04 000036e9: ADD 000036ea: PUSH2 0x36f9 000036ed: SWAP8 000036ee: SWAP7 000036ef: SWAP6 000036f0: SWAP5 000036f1: SWAP4 000036f2: SWAP3 000036f3: SWAP2 000036f4: SWAP1 000036f5: PUSH2 0x5d66 000036f8: JUMP 000036f9: JUMPDEST 000036fa: PUSH1 0x00 000036fc: PUSH1 0x40 000036fe: MLOAD 000036ff: DUP1 00003700: DUP4 00003701: SUB 00003702: DUP2 00003703: PUSH1 0x00 00003705: DUP8 00003706: DUP1 00003707: EXTCODESIZE 00003708: ISZERO 00003709: DUP1 0000370a: ISZERO 0000370b: PUSH2 0x3713 0000370e: JUMPI 0000370f: PUSH1 0x00 00003711: DUP1 00003712: REVERT 00003713: JUMPDEST 00003714: POP 00003715: GAS 00003716: CALL 00003717: ISZERO 00003718: DUP1 00003719: ISZERO 0000371a: PUSH2 0x3727 0000371d: JUMPI 0000371e: RETURNDATASIZE 0000371f: PUSH1 0x00 00003721: DUP1 00003722: RETURNDATACOPY 00003723: RETURNDATASIZE 00003724: PUSH1 0x00 00003726: REVERT 00003727: JUMPDEST 00003728: POP 00003729: POP 0000372a: POP 0000372b: POP 0000372c: PUSH1 0x40 0000372e: MLOAD 0000372f: RETURNDATASIZE 00003730: PUSH1 0x00 00003732: DUP3 00003733: RETURNDATACOPY 00003734: PUSH1 0x1f 00003736: RETURNDATASIZE 00003737: SWAP1 00003738: DUP2 00003739: ADD 0000373a: PUSH1 0x1f 0000373c: NOT 0000373d: AND 0000373e: DUP3 0000373f: ADD 00003740: PUSH1 0x40 00003742: MSTORE 00003743: PUSH2 0x374f 00003746: SWAP2 00003747: SWAP1 00003748: DUP2 00003749: ADD 0000374a: SWAP1 0000374b: PUSH2 0x5405 0000374e: JUMP 0000374f: JUMPDEST 00003750: DUP1 00003751: SWAP6 00003752: POP 00003753: DUP2 00003754: SWAP7 00003755: POP 00003756: POP 00003757: POP 00003758: PUSH2 0x3765 0000375b: DUP8 0000375c: MLOAD 0000375d: DUP7 0000375e: MLOAD 0000375f: DUP7 00003760: MLOAD 00003761: PUSH2 0x44fb 00003764: JUMP 00003765: JUMPDEST 00003766: PUSH1 0x00 00003768: DUP13 00003769: PUSH1 0x01 0000376b: DUP2 0000376c: GT 0000376d: ISZERO 0000376e: PUSH2 0x3773 00003771: JUMPI 00003772: INVALID 00003773: JUMPDEST 00003774: EQ 00003775: PUSH2 0x378a 00003778: JUMPI 00003779: PUSH2 0x3785 0000377c: DUP10 0000377d: DUP10 0000377e: DUP10 0000377f: DUP9 00003780: DUP9 00003781: PUSH2 0x4513 00003784: JUMP 00003785: JUMPDEST 00003786: PUSH2 0x3797 00003789: JUMP 0000378a: JUMPDEST 0000378b: PUSH2 0x3797 0000378e: DUP11 0000378f: DUP10 00003790: DUP10 00003791: DUP9 00003792: DUP9 00003793: PUSH2 0x465a 00003796: JUMP 00003797: JUMPDEST 00003798: SWAP6 00003799: POP 0000379a: POP 0000379b: POP 0000379c: POP 0000379d: SWAP7 0000379e: POP 0000379f: SWAP7 000037a0: POP 000037a1: SWAP7 000037a2: SWAP4 000037a3: POP 000037a4: POP 000037a5: POP 000037a6: POP 000037a7: JUMP 000037a8: JUMPDEST 000037a9: PUSH1 0x00 000037ab: PUSH2 0x37b4 000037ae: DUP6 000037af: DUP5 000037b0: PUSH2 0x43d5 000037b3: JUMP 000037b4: JUMPDEST 000037b5: PUSH1 0x00 000037b7: DUP8 000037b8: DUP2 000037b9: MSTORE 000037ba: PUSH1 0x09 000037bc: PUSH1 0x20 000037be: SWAP1 000037bf: DUP2 000037c0: MSTORE 000037c1: PUSH1 0x40 000037c3: DUP1 000037c4: DUP4 000037c5: KECCAK256 000037c6: DUP5 000037c7: DUP5 000037c8: MSTORE 000037c9: PUSH1 0x02 000037cb: ADD 000037cc: SWAP1 000037cd: SWAP2 000037ce: MSTORE 000037cf: SWAP1 000037d0: KECCAK256 000037d1: SWAP1 000037d2: SWAP2 000037d3: POP 000037d4: PUSH2 0x37dd 000037d7: DUP6 000037d8: DUP5 000037d9: PUSH2 0x42d1 000037dc: JUMP 000037dd: JUMPDEST 000037de: SWAP1 000037df: SSTORE 000037e0: POP 000037e1: POP 000037e2: POP 000037e3: POP 000037e4: POP 000037e5: POP 000037e6: JUMP 000037e7: JUMPDEST 000037e8: PUSH1 0x00 000037ea: JUMPDEST 000037eb: DUP3 000037ec: MLOAD 000037ed: DUP2 000037ee: LT 000037ef: ISZERO 000037f0: PUSH2 0x0e00 000037f3: JUMPI 000037f4: DUP2 000037f5: DUP2 000037f6: DUP2 000037f7: MLOAD 000037f8: DUP2 000037f9: LT 000037fa: PUSH2 0x37ff 000037fd: JUMPI 000037fe: INVALID 000037ff: JUMPDEST 00003800: PUSH1 0x20 00003802: MUL 00003803: PUSH1 0x20 00003805: ADD 00003806: ADD 00003807: MLOAD 00003808: PUSH1 0x07 0000380a: PUSH1 0x00 0000380c: DUP7 0000380d: DUP2 0000380e: MSTORE 0000380f: PUSH1 0x20 00003811: ADD 00003812: SWAP1 00003813: DUP2 00003814: MSTORE 00003815: PUSH1 0x20 00003817: ADD 00003818: PUSH1 0x00 0000381a: KECCAK256 0000381b: PUSH1 0x00 0000381d: DUP6 0000381e: DUP5 0000381f: DUP2 00003820: MLOAD 00003821: DUP2 00003822: LT 00003823: PUSH2 0x3828 00003826: JUMPI 00003827: INVALID 00003828: JUMPDEST 00003829: PUSH1 0x20 0000382b: SWAP1 0000382c: DUP2 0000382d: MUL 0000382e: SWAP2 0000382f: SWAP1 00003830: SWAP2 00003831: ADD 00003832: DUP2 00003833: ADD 00003834: MLOAD 00003835: PUSH1 0x01 00003837: PUSH1 0x01 00003839: PUSH1 0xa0 0000383b: SHL 0000383c: SUB 0000383d: AND 0000383e: DUP3 0000383f: MSTORE 00003840: DUP2 00003841: ADD 00003842: SWAP2 00003843: SWAP1 00003844: SWAP2 00003845: MSTORE 00003846: PUSH1 0x40 00003848: ADD 00003849: PUSH1 0x00 0000384b: KECCAK256 0000384c: SSTORE 0000384d: PUSH1 0x01 0000384f: ADD 00003850: PUSH2 0x37ea 00003853: JUMP 00003854: JUMPDEST 00003855: PUSH1 0x00 00003857: DUP3 00003858: DUP2 00003859: MSTORE 0000385a: PUSH1 0x01 0000385c: PUSH1 0x20 0000385e: MSTORE 0000385f: PUSH1 0x40 00003861: DUP2 00003862: KECCAK256 00003863: SWAP1 00003864: JUMPDEST 00003865: DUP3 00003866: MLOAD 00003867: DUP2 00003868: LT 00003869: ISZERO 0000386a: PUSH2 0x0e00 0000386d: JUMPI 0000386e: PUSH2 0x3895 00003871: DUP2 00003872: DUP5 00003873: DUP4 00003874: DUP2 00003875: MLOAD 00003876: DUP2 00003877: LT 00003878: PUSH2 0x387d 0000387b: JUMPI 0000387c: INVALID 0000387d: JUMPDEST 0000387e: PUSH1 0x20 00003880: MUL 00003881: PUSH1 0x20 00003883: ADD 00003884: ADD 00003885: MLOAD 00003886: DUP5 00003887: PUSH2 0x438c 0000388a: SWAP1 0000388b: SWAP3 0000388c: SWAP2 0000388d: SWAP1 0000388e: PUSH4 0xffffffff 00003893: AND 00003894: JUMP 00003895: JUMPDEST 00003896: PUSH1 0x01 00003898: ADD 00003899: PUSH2 0x3864 0000389c: JUMP 0000389d: JUMPDEST 0000389e: PUSH1 0x60 000038a0: DUP3 000038a1: MLOAD 000038a2: PUSH8 0xffffffffffffffff 000038ab: DUP2 000038ac: GT 000038ad: DUP1 000038ae: ISZERO 000038af: PUSH2 0x38b7 000038b2: JUMPI 000038b3: PUSH1 0x00 000038b5: DUP1 000038b6: REVERT 000038b7: JUMPDEST 000038b8: POP 000038b9: PUSH1 0x40 000038bb: MLOAD 000038bc: SWAP1 000038bd: DUP1 000038be: DUP3 000038bf: MSTORE 000038c0: DUP1 000038c1: PUSH1 0x20 000038c3: MUL 000038c4: PUSH1 0x20 000038c6: ADD 000038c7: DUP3 000038c8: ADD 000038c9: PUSH1 0x40 000038cb: MSTORE 000038cc: DUP1 000038cd: ISZERO 000038ce: PUSH2 0x38e1 000038d1: JUMPI 000038d2: DUP2 000038d3: PUSH1 0x20 000038d5: ADD 000038d6: PUSH1 0x20 000038d8: DUP3 000038d9: MUL 000038da: DUP1 000038db: CALLDATASIZE 000038dc: DUP4 000038dd: CALLDATACOPY 000038de: ADD 000038df: SWAP1 000038e0: POP 000038e1: JUMPDEST 000038e2: POP 000038e3: SWAP1 000038e4: POP 000038e5: PUSH1 0x00 000038e7: JUMPDEST 000038e8: DUP4 000038e9: MLOAD 000038ea: DUP2 000038eb: LT 000038ec: ISZERO 000038ed: PUSH2 0x07ff 000038f0: JUMPI 000038f1: DUP3 000038f2: PUSH2 0x3911 000038f5: JUMPI 000038f6: DUP4 000038f7: DUP2 000038f8: DUP2 000038f9: MLOAD 000038fa: DUP2 000038fb: LT 000038fc: PUSH2 0x3901 000038ff: JUMPI 00003900: INVALID 00003901: JUMPDEST 00003902: PUSH1 0x20 00003904: MUL 00003905: PUSH1 0x20 00003907: ADD 00003908: ADD 00003909: MLOAD 0000390a: PUSH1 0x00 0000390c: SUB 0000390d: PUSH2 0x3926 00003910: JUMP 00003911: JUMPDEST 00003912: DUP4 00003913: DUP2 00003914: DUP2 00003915: MLOAD 00003916: DUP2 00003917: LT 00003918: PUSH2 0x391d 0000391b: JUMPI 0000391c: INVALID 0000391d: JUMPDEST 0000391e: PUSH1 0x20 00003920: MUL 00003921: PUSH1 0x20 00003923: ADD 00003924: ADD 00003925: MLOAD 00003926: JUMPDEST 00003927: DUP3 00003928: DUP3 00003929: DUP2 0000392a: MLOAD 0000392b: DUP2 0000392c: LT 0000392d: PUSH2 0x3932 00003930: JUMPI 00003931: INVALID 00003932: JUMPDEST 00003933: PUSH1 0x20 00003935: SWAP1 00003936: DUP2 00003937: MUL 00003938: SWAP2 00003939: SWAP1 0000393a: SWAP2 0000393b: ADD 0000393c: ADD 0000393d: MSTORE 0000393e: PUSH1 0x01 00003940: ADD 00003941: PUSH2 0x38e7 00003944: JUMP 00003945: JUMPDEST 00003946: PUSH1 0x00 00003948: DUP1 00003949: DUP5 0000394a: PUSH1 0x01 0000394c: DUP2 0000394d: GT 0000394e: ISZERO 0000394f: PUSH2 0x3954 00003952: JUMPI 00003953: INVALID 00003954: JUMPDEST 00003955: EQ 00003956: PUSH2 0x395f 00003959: JUMPI 0000395a: DUP2 0000395b: PUSH2 0x09e1 0000395e: JUMP 0000395f: JUMPDEST 00003960: POP 00003961: SWAP1 00003962: SWAP3 00003963: SWAP2 00003964: POP 00003965: POP 00003966: JUMP 00003967: JUMPDEST 00003968: PUSH1 0x00 0000396a: DUP1 0000396b: DUP5 0000396c: PUSH1 0x01 0000396e: DUP2 0000396f: GT 00003970: ISZERO 00003971: PUSH2 0x3976 00003974: JUMPI 00003975: INVALID 00003976: JUMPDEST 00003977: EQ 00003978: PUSH2 0x07ff 0000397b: JUMPI 0000397c: DUP3 0000397d: PUSH2 0x09e1 00003980: JUMP 00003981: JUMPDEST 00003982: PUSH1 0x00 00003984: PUSH2 0x226a 00003987: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 000039a8: DUP4 000039a9: LT 000039aa: PUSH2 0x01a5 000039ad: PUSH2 0x054b 000039b0: JUMP 000039b1: JUMPDEST 000039b2: PUSH1 0x00 000039b4: DUP3 000039b5: DUP3 000039b6: ADD 000039b7: PUSH2 0x16f2 000039ba: DUP3 000039bb: DUP5 000039bc: SLT 000039bd: DUP1 000039be: ISZERO 000039bf: SWAP1 000039c0: PUSH2 0x39c9 000039c3: JUMPI 000039c4: POP 000039c5: DUP5 000039c6: DUP3 000039c7: SLT 000039c8: ISZERO 000039c9: JUMPDEST 000039ca: DUP1 000039cb: PUSH2 0x39de 000039ce: JUMPI 000039cf: POP 000039d0: PUSH1 0x00 000039d2: DUP5 000039d3: SLT 000039d4: DUP1 000039d5: ISZERO 000039d6: PUSH2 0x39de 000039d9: JUMPI 000039da: POP 000039db: DUP5 000039dc: DUP3 000039dd: SLT 000039de: JUMPDEST 000039df: PUSH1 0x00 000039e1: PUSH2 0x054b 000039e4: JUMP 000039e5: JUMPDEST 000039e6: PUSH1 0x00 000039e8: DUP2 000039e9: DUP4 000039ea: SUB 000039eb: PUSH2 0x16f2 000039ee: DUP3 000039ef: DUP5 000039f0: SLT 000039f1: DUP1 000039f2: ISZERO 000039f3: SWAP1 000039f4: PUSH2 0x39fd 000039f7: JUMPI 000039f8: POP 000039f9: DUP5 000039fa: DUP3 000039fb: SGT 000039fc: ISZERO 000039fd: JUMPDEST 000039fe: DUP1 000039ff: PUSH2 0x3a12 00003a02: JUMPI 00003a03: POP 00003a04: PUSH1 0x00 00003a06: DUP5 00003a07: SLT 00003a08: DUP1 00003a09: ISZERO 00003a0a: PUSH2 0x3a12 00003a0d: JUMPI 00003a0e: POP 00003a0f: DUP5 00003a10: DUP3 00003a11: SGT 00003a12: JUMPDEST 00003a13: PUSH1 0x01 00003a15: PUSH2 0x054b 00003a18: JUMP 00003a19: JUMPDEST 00003a1a: PUSH1 0x00 00003a1c: DUP2 00003a1d: DUP2 00003a1e: MSTORE 00003a1f: PUSH1 0x09 00003a21: PUSH1 0x20 00003a23: MSTORE 00003a24: PUSH1 0x40 00003a26: DUP2 00003a27: KECCAK256 00003a28: DUP1 00003a29: SLOAD 00003a2a: PUSH1 0x01 00003a2c: DUP3 00003a2d: ADD 00003a2e: SLOAD 00003a2f: PUSH1 0x01 00003a31: PUSH1 0x01 00003a33: PUSH1 0xa0 00003a35: SHL 00003a36: SUB 00003a37: SWAP2 00003a38: DUP3 00003a39: AND 00003a3a: SWAP3 00003a3b: DUP5 00003a3c: SWAP3 00003a3d: SWAP1 00003a3e: SWAP2 00003a3f: AND 00003a40: SWAP1 00003a41: DUP3 00003a42: SWAP1 00003a43: DUP2 00003a44: PUSH2 0x3a4d 00003a47: DUP7 00003a48: DUP6 00003a49: PUSH2 0x43d5 00003a4c: JUMP 00003a4d: JUMPDEST 00003a4e: PUSH1 0x00 00003a50: DUP2 00003a51: DUP2 00003a52: MSTORE 00003a53: PUSH1 0x02 00003a55: DUP5 00003a56: ADD 00003a57: PUSH1 0x20 00003a59: MSTORE 00003a5a: PUSH1 0x40 00003a5c: SWAP1 00003a5d: KECCAK256 00003a5e: DUP1 00003a5f: SLOAD 00003a60: PUSH1 0x01 00003a62: DUP3 00003a63: ADD 00003a64: SLOAD 00003a65: SWAP2 00003a66: SWAP10 00003a67: POP 00003a68: SWAP2 00003a69: SWAP3 00003a6a: POP 00003a6b: PUSH2 0x3a74 00003a6e: DUP3 00003a6f: DUP3 00003a70: PUSH2 0x4408 00003a73: JUMP 00003a74: JUMPDEST 00003a75: SWAP7 00003a76: POP 00003a77: PUSH2 0x3a80 00003a7a: DUP3 00003a7b: DUP3 00003a7c: PUSH2 0x442d 00003a7f: JUMP 00003a80: JUMPDEST 00003a81: SWAP5 00003a82: POP 00003a83: POP 00003a84: POP 00003a85: POP 00003a86: POP 00003a87: SWAP2 00003a88: SWAP4 00003a89: SWAP6 00003a8a: SWAP1 00003a8b: SWAP3 00003a8c: SWAP5 00003a8d: POP 00003a8e: JUMP 00003a8f: JUMPDEST 00003a90: PUSH1 0x00 00003a92: PUSH2 0x3a9a 00003a95: DUP3 00003a96: PUSH2 0x32e9 00003a99: JUMP 00003a9a: JUMPDEST 00003a9b: ISZERO 00003a9c: SWAP3 00003a9d: SWAP2 00003a9e: POP 00003a9f: POP 00003aa0: JUMP 00003aa1: JUMPDEST 00003aa2: PUSH1 0x01 00003aa4: PUSH1 0x01 00003aa6: PUSH1 0xa0 00003aa8: SHL 00003aa9: SUB 00003aaa: AND 00003aab: PUSH1 0x00 00003aad: SWAP1 00003aae: DUP2 00003aaf: MSTORE 00003ab0: PUSH1 0x01 00003ab2: SWAP2 00003ab3: SWAP1 00003ab4: SWAP2 00003ab5: ADD 00003ab6: PUSH1 0x20 00003ab8: MSTORE 00003ab9: PUSH1 0x40 00003abb: SWAP1 00003abc: KECCAK256 00003abd: SLOAD 00003abe: ISZERO 00003abf: ISZERO 00003ac0: SWAP1 00003ac1: JUMP 00003ac2: JUMPDEST 00003ac3: PUSH1 0x00 00003ac5: DUP3 00003ac6: DUP2 00003ac7: MSTORE 00003ac8: PUSH1 0x09 00003aca: PUSH1 0x20 00003acc: MSTORE 00003acd: PUSH1 0x40 00003acf: DUP2 00003ad0: KECCAK256 00003ad1: DUP1 00003ad2: SLOAD 00003ad3: PUSH1 0x01 00003ad5: PUSH1 0x01 00003ad7: PUSH1 0xa0 00003ad9: SHL 00003ada: SUB 00003adb: DUP5 00003adc: DUP2 00003add: AND 00003ade: SWAP2 00003adf: AND 00003ae0: EQ 00003ae1: DUP1 00003ae2: PUSH2 0x3afa 00003ae5: JUMPI 00003ae6: POP 00003ae7: PUSH1 0x01 00003ae9: DUP2 00003aea: ADD 00003aeb: SLOAD 00003aec: PUSH1 0x01 00003aee: PUSH1 0x01 00003af0: PUSH1 0xa0 00003af2: SHL 00003af3: SUB 00003af4: DUP5 00003af5: DUP2 00003af6: AND 00003af7: SWAP2 00003af8: AND 00003af9: EQ 00003afa: JUMPDEST 00003afb: DUP1 00003afc: ISZERO 00003afd: PUSH2 0x09e1 00003b00: JUMPI 00003b01: POP 00003b02: POP 00003b03: POP 00003b04: PUSH1 0x01 00003b06: PUSH1 0x01 00003b08: PUSH1 0xa0 00003b0a: SHL 00003b0b: SUB 00003b0c: AND 00003b0d: ISZERO 00003b0e: ISZERO 00003b0f: SWAP2 00003b10: SWAP1 00003b11: POP 00003b12: JUMP 00003b13: JUMPDEST 00003b14: PUSH1 0x00 00003b16: DUP3 00003b17: DUP2 00003b18: MSTORE 00003b19: PUSH1 0x08 00003b1b: PUSH1 0x20 00003b1d: MSTORE 00003b1e: PUSH1 0x40 00003b20: DUP2 00003b21: KECCAK256 00003b22: PUSH2 0x09e1 00003b25: DUP2 00003b26: DUP5 00003b27: PUSH2 0x3aa1 00003b2a: JUMP 00003b2b: JUMPDEST 00003b2c: PUSH1 0x00 00003b2e: DUP3 00003b2f: DUP2 00003b30: MSTORE 00003b31: PUSH1 0x01 00003b33: PUSH1 0x20 00003b35: MSTORE 00003b36: PUSH1 0x40 00003b38: DUP2 00003b39: KECCAK256 00003b3a: PUSH2 0x09e1 00003b3d: DUP2 00003b3e: DUP5 00003b3f: PUSH2 0x47d0 00003b42: JUMP 00003b43: JUMPDEST 00003b44: PUSH1 0x00 00003b46: DUP1 00003b47: PUSH1 0x02 00003b49: DUP6 00003b4a: PUSH1 0x02 00003b4c: DUP2 00003b4d: GT 00003b4e: ISZERO 00003b4f: PUSH2 0x3b54 00003b52: JUMPI 00003b53: INVALID 00003b54: JUMPDEST 00003b55: EQ 00003b56: ISZERO 00003b57: PUSH2 0x3b6a 00003b5a: JUMPI 00003b5b: PUSH2 0x3b65 00003b5e: DUP7 00003b5f: DUP6 00003b60: DUP6 00003b61: PUSH2 0x47f1 00003b64: JUMP 00003b65: JUMPDEST 00003b66: PUSH2 0x3b94 00003b69: JUMP 00003b6a: JUMPDEST 00003b6b: PUSH1 0x01 00003b6d: DUP6 00003b6e: PUSH1 0x02 00003b70: DUP2 00003b71: GT 00003b72: ISZERO 00003b73: PUSH2 0x3b78 00003b76: JUMPI 00003b77: INVALID 00003b78: JUMPDEST 00003b79: EQ 00003b7a: ISZERO 00003b7b: PUSH2 0x3b89 00003b7e: JUMPI 00003b7f: PUSH2 0x3b65 00003b82: DUP7 00003b83: DUP6 00003b84: DUP6 00003b85: PUSH2 0x47ff 00003b88: JUMP 00003b89: JUMPDEST 00003b8a: PUSH2 0x3b94 00003b8d: DUP7 00003b8e: DUP6 00003b8f: DUP6 00003b90: PUSH2 0x480d 00003b93: JUMP 00003b94: JUMPDEST 00003b95: DUP3 00003b96: ISZERO 00003b97: PUSH2 0x3bae 00003b9a: JUMPI 00003b9b: PUSH2 0x3bae 00003b9e: PUSH1 0x01 00003ba0: PUSH1 0x01 00003ba2: PUSH1 0xa0 00003ba4: SHL 00003ba5: SUB 00003ba6: DUP6 00003ba7: AND 00003ba8: CALLER 00003ba9: DUP6 00003baa: PUSH2 0x1ea6 00003bad: JUMP 00003bae: JUMPDEST 00003baf: POP 00003bb0: POP 00003bb1: PUSH1 0x00 00003bb3: DUP2 00003bb4: SWAP1 00003bb5: SUB 00003bb6: SWAP5 00003bb7: SWAP1 00003bb8: SWAP4 00003bb9: POP 00003bba: SWAP2 00003bbb: POP 00003bbc: POP 00003bbd: JUMP 00003bbe: JUMPDEST 00003bbf: PUSH1 0x00 00003bc1: DUP1 00003bc2: PUSH1 0x02 00003bc4: DUP6 00003bc5: PUSH1 0x02 00003bc7: DUP2 00003bc8: GT 00003bc9: ISZERO 00003bca: PUSH2 0x3bcf 00003bcd: JUMPI 00003bce: INVALID 00003bcf: JUMPDEST 00003bd0: EQ 00003bd1: ISZERO 00003bd2: PUSH2 0x3be5 00003bd5: JUMPI 00003bd6: PUSH2 0x3be0 00003bd9: DUP7 00003bda: DUP6 00003bdb: DUP6 00003bdc: PUSH2 0x481b 00003bdf: JUMP 00003be0: JUMPDEST 00003be1: PUSH2 0x3c0f 00003be4: JUMP 00003be5: JUMPDEST 00003be6: PUSH1 0x01 00003be8: DUP6 00003be9: PUSH1 0x02 00003beb: DUP2 00003bec: GT 00003bed: ISZERO 00003bee: PUSH2 0x3bf3 00003bf1: JUMPI 00003bf2: INVALID 00003bf3: JUMPDEST 00003bf4: EQ 00003bf5: ISZERO 00003bf6: PUSH2 0x3c04 00003bf9: JUMPI 00003bfa: PUSH2 0x3be0 00003bfd: DUP7 00003bfe: DUP6 00003bff: DUP6 00003c00: PUSH2 0x4829 00003c03: JUMP 00003c04: JUMPDEST 00003c05: PUSH2 0x3c0f 00003c08: DUP7 00003c09: DUP6 00003c0a: DUP6 00003c0b: PUSH2 0x4837 00003c0e: JUMP 00003c0f: JUMPDEST 00003c10: DUP3 00003c11: ISZERO 00003c12: PUSH2 0x3c2a 00003c15: JUMPI 00003c16: PUSH2 0x3c2a 00003c19: PUSH1 0x01 00003c1b: PUSH1 0x01 00003c1d: PUSH1 0xa0 00003c1f: SHL 00003c20: SUB 00003c21: DUP6 00003c22: AND 00003c23: CALLER 00003c24: ADDRESS 00003c25: DUP7 00003c26: PUSH2 0x2ba6 00003c29: JUMP 00003c2a: JUMPDEST 00003c2b: POP 00003c2c: SWAP1 00003c2d: SWAP5 00003c2e: PUSH1 0x00 00003c30: DUP7 00003c31: SWAP1 00003c32: SUB 00003c33: SWAP5 00003c34: POP 00003c35: SWAP3 00003c36: POP 00003c37: POP 00003c38: POP 00003c39: JUMP 00003c3a: JUMPDEST 00003c3b: PUSH1 0x00 00003c3d: DUP1 00003c3e: PUSH1 0x02 00003c40: DUP6 00003c41: PUSH1 0x02 00003c43: DUP2 00003c44: GT 00003c45: ISZERO 00003c46: PUSH2 0x3c4b 00003c49: JUMPI 00003c4a: INVALID 00003c4b: JUMPDEST 00003c4c: EQ 00003c4d: ISZERO 00003c4e: PUSH2 0x3c63 00003c51: JUMPI 00003c52: PUSH2 0x3c5c 00003c55: DUP7 00003c56: DUP6 00003c57: DUP6 00003c58: PUSH2 0x4845 00003c5b: JUMP 00003c5c: JUMPDEST 00003c5d: SWAP1 00003c5e: POP 00003c5f: PUSH2 0x3c90 00003c62: JUMP 00003c63: JUMPDEST 00003c64: PUSH1 0x01 00003c66: DUP6 00003c67: PUSH1 0x02 00003c69: DUP2 00003c6a: GT 00003c6b: ISZERO 00003c6c: PUSH2 0x3c71 00003c6f: JUMPI 00003c70: INVALID 00003c71: JUMPDEST 00003c72: EQ 00003c73: ISZERO 00003c74: PUSH2 0x3c82 00003c77: JUMPI 00003c78: PUSH2 0x3c5c 00003c7b: DUP7 00003c7c: DUP6 00003c7d: DUP6 00003c7e: PUSH2 0x4855 00003c81: JUMP 00003c82: JUMPDEST 00003c83: PUSH2 0x3c8d 00003c86: DUP7 00003c87: DUP6 00003c88: DUP6 00003c89: PUSH2 0x4865 00003c8c: JUMP 00003c8d: JUMPDEST 00003c8e: SWAP1 00003c8f: POP 00003c90: JUMPDEST 00003c91: PUSH1 0x00 00003c93: SWAP2 00003c94: POP 00003c95: SWAP5 00003c96: POP 00003c97: SWAP5 00003c98: SWAP3 00003c99: POP 00003c9a: POP 00003c9b: POP 00003c9c: JUMP 00003c9d: JUMPDEST 00003c9e: CHAINID 00003c9f: SWAP1 00003ca0: JUMP 00003ca1: JUMPDEST 00003ca2: PUSH1 0x60 00003ca4: DUP1 00003ca5: PUSH1 0x00 00003ca7: DUP1 00003ca8: PUSH1 0x00 00003caa: DUP1 00003cab: PUSH2 0x3cb3 00003cae: DUP8 00003caf: PUSH2 0x3a19 00003cb2: JUMP 00003cb3: JUMPDEST 00003cb4: SWAP3 00003cb5: SWAP8 00003cb6: POP 00003cb7: SWAP1 00003cb8: SWAP6 00003cb9: POP 00003cba: SWAP4 00003cbb: POP 00003cbc: SWAP2 00003cbd: POP 00003cbe: POP 00003cbf: PUSH1 0x01 00003cc1: PUSH1 0x01 00003cc3: PUSH1 0xa0 00003cc5: SHL 00003cc6: SUB 00003cc7: DUP5 00003cc8: AND 00003cc9: ISZERO 00003cca: DUP1 00003ccb: PUSH2 0x3cdb 00003cce: JUMPI 00003ccf: POP 00003cd0: PUSH1 0x01 00003cd2: PUSH1 0x01 00003cd4: PUSH1 0xa0 00003cd6: SHL 00003cd7: SUB 00003cd8: DUP3 00003cd9: AND 00003cda: ISZERO 00003cdb: JUMPDEST 00003cdc: ISZERO 00003cdd: PUSH2 0x3d04 00003ce0: JUMPI 00003ce1: POP 00003ce2: POP 00003ce3: PUSH1 0x40 00003ce5: DUP1 00003ce6: MLOAD 00003ce7: PUSH1 0x00 00003ce9: DUP1 00003cea: DUP3 00003ceb: MSTORE 00003cec: PUSH1 0x20 00003cee: DUP3 00003cef: ADD 00003cf0: SWAP1 00003cf1: DUP2 00003cf2: MSTORE 00003cf3: DUP2 00003cf4: DUP4 00003cf5: ADD 00003cf6: SWAP1 00003cf7: SWAP3 00003cf8: MSTORE 00003cf9: SWAP5 00003cfa: POP 00003cfb: SWAP3 00003cfc: POP 00003cfd: PUSH2 0x299b 00003d00: SWAP2 00003d01: POP 00003d02: POP 00003d03: JUMP 00003d04: JUMPDEST 00003d05: PUSH1 0x40 00003d07: DUP1 00003d08: MLOAD 00003d09: PUSH1 0x02 00003d0b: DUP1 00003d0c: DUP3 00003d0d: MSTORE 00003d0e: PUSH1 0x60 00003d10: DUP3 00003d11: ADD 00003d12: DUP4 00003d13: MSTORE 00003d14: SWAP1 00003d15: SWAP2 00003d16: PUSH1 0x20 00003d18: DUP4 00003d19: ADD 00003d1a: SWAP1 00003d1b: DUP1 00003d1c: CALLDATASIZE 00003d1d: DUP4 00003d1e: CALLDATACOPY 00003d1f: ADD 00003d20: SWAP1 00003d21: POP 00003d22: POP 00003d23: SWAP6 00003d24: POP 00003d25: DUP4 00003d26: DUP7 00003d27: PUSH1 0x00 00003d29: DUP2 00003d2a: MLOAD 00003d2b: DUP2 00003d2c: LT 00003d2d: PUSH2 0x3d32 00003d30: JUMPI 00003d31: INVALID 00003d32: JUMPDEST 00003d33: PUSH1 0x20 00003d35: MUL 00003d36: PUSH1 0x20 00003d38: ADD 00003d39: ADD 00003d3a: SWAP1 00003d3b: PUSH1 0x01 00003d3d: PUSH1 0x01 00003d3f: PUSH1 0xa0 00003d41: SHL 00003d42: SUB 00003d43: AND 00003d44: SWAP1 00003d45: DUP2 00003d46: PUSH1 0x01 00003d48: PUSH1 0x01 00003d4a: PUSH1 0xa0 00003d4c: SHL 00003d4d: SUB 00003d4e: AND 00003d4f: DUP2 00003d50: MSTORE 00003d51: POP 00003d52: POP 00003d53: DUP2 00003d54: DUP7 00003d55: PUSH1 0x01 00003d57: DUP2 00003d58: MLOAD 00003d59: DUP2 00003d5a: LT 00003d5b: PUSH2 0x3d60 00003d5e: JUMPI 00003d5f: INVALID 00003d60: JUMPDEST 00003d61: PUSH1 0x01 00003d63: PUSH1 0x01 00003d65: PUSH1 0xa0 00003d67: SHL 00003d68: SUB 00003d69: SWAP3 00003d6a: SWAP1 00003d6b: SWAP3 00003d6c: AND 00003d6d: PUSH1 0x20 00003d6f: SWAP3 00003d70: DUP4 00003d71: MUL 00003d72: SWAP2 00003d73: SWAP1 00003d74: SWAP2 00003d75: ADD 00003d76: DUP3 00003d77: ADD 00003d78: MSTORE 00003d79: PUSH1 0x40 00003d7b: DUP1 00003d7c: MLOAD 00003d7d: PUSH1 0x02 00003d7f: DUP1 00003d80: DUP3 00003d81: MSTORE 00003d82: PUSH1 0x60 00003d84: DUP3 00003d85: ADD 00003d86: DUP4 00003d87: MSTORE 00003d88: SWAP1 00003d89: SWAP3 00003d8a: SWAP1 00003d8b: SWAP2 00003d8c: SWAP1 00003d8d: DUP4 00003d8e: ADD 00003d8f: SWAP1 00003d90: DUP1 00003d91: CALLDATASIZE 00003d92: DUP4 00003d93: CALLDATACOPY 00003d94: ADD 00003d95: SWAP1 00003d96: POP 00003d97: POP 00003d98: SWAP5 00003d99: POP 00003d9a: DUP3 00003d9b: DUP6 00003d9c: PUSH1 0x00 00003d9e: DUP2 00003d9f: MLOAD 00003da0: DUP2 00003da1: LT 00003da2: PUSH2 0x3da7 00003da5: JUMPI 00003da6: INVALID 00003da7: JUMPDEST 00003da8: PUSH1 0x20 00003daa: MUL 00003dab: PUSH1 0x20 00003dad: ADD 00003dae: ADD 00003daf: DUP2 00003db0: DUP2 00003db1: MSTORE 00003db2: POP 00003db3: POP 00003db4: DUP1 00003db5: DUP6 00003db6: PUSH1 0x01 00003db8: DUP2 00003db9: MLOAD 00003dba: DUP2 00003dbb: LT 00003dbc: PUSH2 0x3dc1 00003dbf: JUMPI 00003dc0: INVALID 00003dc1: JUMPDEST 00003dc2: PUSH1 0x20 00003dc4: MUL 00003dc5: PUSH1 0x20 00003dc7: ADD 00003dc8: ADD 00003dc9: DUP2 00003dca: DUP2 00003dcb: MSTORE 00003dcc: POP 00003dcd: POP 00003dce: POP 00003dcf: POP 00003dd0: POP 00003dd1: POP 00003dd2: SWAP2 00003dd3: POP 00003dd4: SWAP2 00003dd5: JUMP 00003dd6: JUMPDEST 00003dd7: PUSH1 0x00 00003dd9: DUP2 00003dda: DUP2 00003ddb: MSTORE 00003ddc: PUSH1 0x08 00003dde: PUSH1 0x20 00003de0: MSTORE 00003de1: PUSH1 0x40 00003de3: SWAP1 00003de4: KECCAK256 00003de5: PUSH1 0x60 00003de7: SWAP1 00003de8: DUP2 00003de9: SWAP1 00003dea: PUSH2 0x3df2 00003ded: DUP2 00003dee: PUSH2 0x432b 00003df1: JUMP 00003df2: JUMPDEST 00003df3: PUSH8 0xffffffffffffffff 00003dfc: DUP2 00003dfd: GT 00003dfe: DUP1 00003dff: ISZERO 00003e00: PUSH2 0x3e08 00003e03: JUMPI 00003e04: PUSH1 0x00 00003e06: DUP1 00003e07: REVERT 00003e08: JUMPDEST 00003e09: POP 00003e0a: PUSH1 0x40 00003e0c: MLOAD 00003e0d: SWAP1 00003e0e: DUP1 00003e0f: DUP3 00003e10: MSTORE 00003e11: DUP1 00003e12: PUSH1 0x20 00003e14: MUL 00003e15: PUSH1 0x20 00003e17: ADD 00003e18: DUP3 00003e19: ADD 00003e1a: PUSH1 0x40 00003e1c: MSTORE 00003e1d: DUP1 00003e1e: ISZERO 00003e1f: PUSH2 0x3e32 00003e22: JUMPI 00003e23: DUP2 00003e24: PUSH1 0x20 00003e26: ADD 00003e27: PUSH1 0x20 00003e29: DUP3 00003e2a: MUL 00003e2b: DUP1 00003e2c: CALLDATASIZE 00003e2d: DUP4 00003e2e: CALLDATACOPY 00003e2f: ADD 00003e30: SWAP1 00003e31: POP 00003e32: JUMPDEST 00003e33: POP 00003e34: SWAP3 00003e35: POP 00003e36: DUP3 00003e37: MLOAD 00003e38: PUSH8 0xffffffffffffffff 00003e41: DUP2 00003e42: GT 00003e43: DUP1 00003e44: ISZERO 00003e45: PUSH2 0x3e4d 00003e48: JUMPI 00003e49: PUSH1 0x00 00003e4b: DUP1 00003e4c: REVERT 00003e4d: JUMPDEST 00003e4e: POP 00003e4f: PUSH1 0x40 00003e51: MLOAD 00003e52: SWAP1 00003e53: DUP1 00003e54: DUP3 00003e55: MSTORE 00003e56: DUP1 00003e57: PUSH1 0x20 00003e59: MUL 00003e5a: PUSH1 0x20 00003e5c: ADD 00003e5d: DUP3 00003e5e: ADD 00003e5f: PUSH1 0x40 00003e61: MSTORE 00003e62: DUP1 00003e63: ISZERO 00003e64: PUSH2 0x3e77 00003e67: JUMPI 00003e68: DUP2 00003e69: PUSH1 0x20 00003e6b: ADD 00003e6c: PUSH1 0x20 00003e6e: DUP3 00003e6f: MUL 00003e70: DUP1 00003e71: CALLDATASIZE 00003e72: DUP4 00003e73: CALLDATACOPY 00003e74: ADD 00003e75: SWAP1 00003e76: POP 00003e77: JUMPDEST 00003e78: POP 00003e79: SWAP2 00003e7a: POP 00003e7b: PUSH1 0x00 00003e7d: JUMPDEST 00003e7e: DUP4 00003e7f: MLOAD 00003e80: DUP2 00003e81: LT 00003e82: ISZERO 00003e83: PUSH2 0x3ef6 00003e86: JUMPI 00003e87: PUSH1 0x00 00003e89: PUSH2 0x3e92 00003e8c: DUP4 00003e8d: DUP4 00003e8e: PUSH2 0x4875 00003e91: JUMP 00003e92: JUMPDEST 00003e93: SWAP1 00003e94: POP 00003e95: DUP1 00003e96: DUP6 00003e97: DUP4 00003e98: DUP2 00003e99: MLOAD 00003e9a: DUP2 00003e9b: LT 00003e9c: PUSH2 0x3ea1 00003e9f: JUMPI 00003ea0: INVALID 00003ea1: JUMPDEST 00003ea2: PUSH1 0x01 00003ea4: PUSH1 0x01 00003ea6: PUSH1 0xa0 00003ea8: SHL 00003ea9: SUB 00003eaa: SWAP3 00003eab: DUP4 00003eac: AND 00003ead: PUSH1 0x20 00003eaf: SWAP2 00003eb0: DUP3 00003eb1: MUL 00003eb2: SWAP3 00003eb3: SWAP1 00003eb4: SWAP3 00003eb5: ADD 00003eb6: DUP2 00003eb7: ADD 00003eb8: SWAP2 00003eb9: SWAP1 00003eba: SWAP2 00003ebb: MSTORE 00003ebc: PUSH1 0x00 00003ebe: DUP9 00003ebf: DUP2 00003ec0: MSTORE 00003ec1: PUSH1 0x07 00003ec3: DUP3 00003ec4: MSTORE 00003ec5: PUSH1 0x40 00003ec7: DUP1 00003ec8: DUP3 00003ec9: KECCAK256 00003eca: SWAP4 00003ecb: DUP6 00003ecc: AND 00003ecd: DUP3 00003ece: MSTORE 00003ecf: SWAP3 00003ed0: SWAP1 00003ed1: SWAP2 00003ed2: MSTORE 00003ed3: KECCAK256 00003ed4: SLOAD 00003ed5: DUP5 00003ed6: MLOAD 00003ed7: DUP6 00003ed8: SWAP1 00003ed9: DUP5 00003eda: SWAP1 00003edb: DUP2 00003edc: LT 00003edd: PUSH2 0x3ee2 00003ee0: JUMPI 00003ee1: INVALID 00003ee2: JUMPDEST 00003ee3: PUSH1 0x20 00003ee5: SWAP1 00003ee6: DUP2 00003ee7: MUL 00003ee8: SWAP2 00003ee9: SWAP1 00003eea: SWAP2 00003eeb: ADD 00003eec: ADD 00003eed: MSTORE 00003eee: POP 00003eef: PUSH1 0x01 00003ef1: ADD 00003ef2: PUSH2 0x3e7d 00003ef5: JUMP 00003ef6: JUMPDEST 00003ef7: POP 00003ef8: POP 00003ef9: SWAP2 00003efa: POP 00003efb: SWAP2 00003efc: JUMP 00003efd: JUMPDEST 00003efe: PUSH1 0x00 00003f00: DUP2 00003f01: DUP2 00003f02: MSTORE 00003f03: PUSH1 0x01 00003f05: PUSH1 0x20 00003f07: MSTORE 00003f08: PUSH1 0x40 00003f0a: SWAP1 00003f0b: KECCAK256 00003f0c: PUSH1 0x60 00003f0e: SWAP1 00003f0f: DUP2 00003f10: SWAP1 00003f11: PUSH2 0x3f19 00003f14: DUP2 00003f15: PUSH2 0x432b 00003f18: JUMP 00003f19: JUMPDEST 00003f1a: PUSH8 0xffffffffffffffff 00003f23: DUP2 00003f24: GT 00003f25: DUP1 00003f26: ISZERO 00003f27: PUSH2 0x3f2f 00003f2a: JUMPI 00003f2b: PUSH1 0x00 00003f2d: DUP1 00003f2e: REVERT 00003f2f: JUMPDEST 00003f30: POP 00003f31: PUSH1 0x40 00003f33: MLOAD 00003f34: SWAP1 00003f35: DUP1 00003f36: DUP3 00003f37: MSTORE 00003f38: DUP1 00003f39: PUSH1 0x20 00003f3b: MUL 00003f3c: PUSH1 0x20 00003f3e: ADD 00003f3f: DUP3 00003f40: ADD 00003f41: PUSH1 0x40 00003f43: MSTORE 00003f44: DUP1 00003f45: ISZERO 00003f46: PUSH2 0x3f59 00003f49: JUMPI 00003f4a: DUP2 00003f4b: PUSH1 0x20 00003f4d: ADD 00003f4e: PUSH1 0x20 00003f50: DUP3 00003f51: MUL 00003f52: DUP1 00003f53: CALLDATASIZE 00003f54: DUP4 00003f55: CALLDATACOPY 00003f56: ADD 00003f57: SWAP1 00003f58: POP 00003f59: JUMPDEST 00003f5a: POP 00003f5b: SWAP3 00003f5c: POP 00003f5d: DUP3 00003f5e: MLOAD 00003f5f: PUSH8 0xffffffffffffffff 00003f68: DUP2 00003f69: GT 00003f6a: DUP1 00003f6b: ISZERO 00003f6c: PUSH2 0x3f74 00003f6f: JUMPI 00003f70: PUSH1 0x00 00003f72: DUP1 00003f73: REVERT 00003f74: JUMPDEST 00003f75: POP 00003f76: PUSH1 0x40 00003f78: MLOAD 00003f79: SWAP1 00003f7a: DUP1 00003f7b: DUP3 00003f7c: MSTORE 00003f7d: DUP1 00003f7e: PUSH1 0x20 00003f80: MUL 00003f81: PUSH1 0x20 00003f83: ADD 00003f84: DUP3 00003f85: ADD 00003f86: PUSH1 0x40 00003f88: MSTORE 00003f89: DUP1 00003f8a: ISZERO 00003f8b: PUSH2 0x3f9e 00003f8e: JUMPI 00003f8f: DUP2 00003f90: PUSH1 0x20 00003f92: ADD 00003f93: PUSH1 0x20 00003f95: DUP3 00003f96: MUL 00003f97: DUP1 00003f98: CALLDATASIZE 00003f99: DUP4 00003f9a: CALLDATACOPY 00003f9b: ADD 00003f9c: SWAP1 00003f9d: POP 00003f9e: JUMPDEST 00003f9f: POP 00003fa0: SWAP2 00003fa1: POP 00003fa2: PUSH1 0x00 00003fa4: JUMPDEST 00003fa5: DUP4 00003fa6: MLOAD 00003fa7: DUP2 00003fa8: LT 00003fa9: ISZERO 00003faa: PUSH2 0x3ef6 00003fad: JUMPI 00003fae: PUSH2 0x3fb7 00003fb1: DUP3 00003fb2: DUP3 00003fb3: PUSH2 0x48a2 00003fb6: JUMP 00003fb7: JUMPDEST 00003fb8: DUP6 00003fb9: DUP4 00003fba: DUP2 00003fbb: MLOAD 00003fbc: DUP2 00003fbd: LT 00003fbe: PUSH2 0x3fc3 00003fc1: JUMPI 00003fc2: INVALID 00003fc3: JUMPDEST 00003fc4: PUSH1 0x20 00003fc6: MUL 00003fc7: PUSH1 0x20 00003fc9: ADD 00003fca: ADD 00003fcb: DUP6 00003fcc: DUP5 00003fcd: DUP2 00003fce: MLOAD 00003fcf: DUP2 00003fd0: LT 00003fd1: PUSH2 0x3fd6 00003fd4: JUMPI 00003fd5: INVALID 00003fd6: JUMPDEST 00003fd7: PUSH1 0x20 00003fd9: SWAP1 00003fda: DUP2 00003fdb: MUL 00003fdc: SWAP2 00003fdd: SWAP1 00003fde: SWAP2 00003fdf: ADD 00003fe0: ADD 00003fe1: SWAP2 00003fe2: SWAP1 00003fe3: SWAP2 00003fe4: MSTORE 00003fe5: PUSH1 0x01 00003fe7: PUSH1 0x01 00003fe9: PUSH1 0xa0 00003feb: SHL 00003fec: SUB 00003fed: SWAP1 00003fee: SWAP2 00003fef: AND 00003ff0: SWAP1 00003ff1: MSTORE 00003ff2: PUSH1 0x01 00003ff4: ADD 00003ff5: PUSH2 0x3fa4 00003ff8: JUMP 00003ff9: JUMPDEST 00003ffa: PUSH1 0x00 00003ffc: PUSH2 0x4004 00003fff: DUP3 00004000: PUSH2 0x27b4 00004003: JUMP 00004004: JUMPDEST 00004005: PUSH2 0x400d 00004008: DUP4 00004009: PUSH2 0x27a1 0000400c: JUMP 0000400d: JUMPDEST 0000400e: ADD 0000400f: SWAP3 00004010: SWAP2 00004011: POP 00004012: POP 00004013: JUMP 00004014: JUMPDEST 00004015: PUSH1 0x00 00004017: DUP2 00004018: DUP4 00004019: LT 0000401a: ISZERO 0000401b: PUSH2 0x4024 0000401e: JUMPI 0000401f: DUP2 00004020: PUSH2 0x16f2 00004023: JUMP 00004024: JUMPDEST 00004025: POP 00004026: SWAP1 00004027: SWAP2 00004028: SWAP1 00004029: POP 0000402a: JUMP 0000402b: JUMPDEST 0000402c: PUSH1 0x00 0000402e: DUP2 0000402f: DUP4 00004030: LT 00004031: PUSH2 0x4024 00004034: JUMPI 00004035: DUP2 00004036: PUSH2 0x16f2 00004039: JUMP 0000403a: JUMPDEST 0000403b: PUSH1 0x01 0000403d: PUSH1 0x01 0000403f: PUSH1 0xa0 00004041: SHL 00004042: SUB 00004043: DUP1 00004044: DUP6 00004045: AND 00004046: PUSH1 0x00 00004048: DUP2 00004049: DUP2 0000404a: MSTORE 0000404b: PUSH1 0x0b 0000404d: PUSH1 0x20 0000404f: SWAP1 00004050: DUP2 00004051: MSTORE 00004052: PUSH1 0x40 00004054: DUP1 00004055: DUP4 00004056: KECCAK256 00004057: SWAP5 00004058: DUP9 00004059: AND 0000405a: DUP1 0000405b: DUP5 0000405c: MSTORE 0000405d: SWAP5 0000405e: SWAP1 0000405f: SWAP2 00004060: MSTORE 00004061: SWAP1 00004062: DUP2 00004063: SWAP1 00004064: KECCAK256 00004065: DUP6 00004066: SWAP1 00004067: SSTORE 00004068: MLOAD 00004069: PUSH32 0x18e1ea4139e68413d7d08aa752e71568e36b2c5bf940893314c2c5b01eaa0c42 0000408a: SWAP1 0000408b: PUSH2 0x19d0 0000408e: SWAP1 0000408f: DUP6 00004090: SWAP1 00004091: PUSH2 0x5d3e 00004094: JUMP 00004095: JUMPDEST 00004096: PUSH1 0x00 00004098: DUP1 00004099: PUSH2 0x40a0 0000409c: PUSH2 0x48c6 0000409f: JUMP 000040a0: JUMPDEST 000040a1: SWAP1 000040a2: POP 000040a3: TIMESTAMP 000040a4: DUP2 000040a5: LT 000040a6: ISZERO 000040a7: PUSH2 0x40b4 000040aa: JUMPI 000040ab: PUSH1 0x00 000040ad: SWAP2 000040ae: POP 000040af: POP 000040b0: PUSH2 0x16f5 000040b3: JUMP 000040b4: JUMPDEST 000040b5: PUSH1 0x00 000040b7: PUSH2 0x40be 000040ba: PUSH2 0x48d2 000040bd: JUMP 000040be: JUMPDEST 000040bf: SWAP1 000040c0: POP 000040c1: DUP1 000040c2: PUSH2 0x40d0 000040c5: JUMPI 000040c6: PUSH1 0x00 000040c8: SWAP3 000040c9: POP 000040ca: POP 000040cb: POP 000040cc: PUSH2 0x16f5 000040cf: JUMP 000040d0: JUMPDEST 000040d1: PUSH1 0x00 000040d3: DUP2 000040d4: PUSH2 0x40db 000040d7: PUSH2 0x49e3 000040da: JUMP 000040db: JUMPDEST 000040dc: DUP1 000040dd: MLOAD 000040de: PUSH1 0x20 000040e0: SWAP2 000040e1: DUP3 000040e2: ADD 000040e3: KECCAK256 000040e4: PUSH1 0x40 000040e6: MLOAD 000040e7: PUSH2 0x40f7 000040ea: SWAP4 000040eb: SWAP3 000040ec: CALLER 000040ed: SWAP2 000040ee: DUP11 000040ef: SWAP2 000040f0: DUP10 000040f1: SWAP2 000040f2: ADD 000040f3: PUSH2 0x5dc4 000040f6: JUMP 000040f7: JUMPDEST 000040f8: PUSH1 0x40 000040fa: MLOAD 000040fb: PUSH1 0x20 000040fd: DUP2 000040fe: DUP4 000040ff: SUB 00004100: SUB 00004101: DUP2 00004102: MSTORE 00004103: SWAP1 00004104: PUSH1 0x40 00004106: MSTORE 00004107: DUP1 00004108: MLOAD 00004109: SWAP1 0000410a: PUSH1 0x20 0000410c: ADD 0000410d: KECCAK256 0000410e: SWAP1 0000410f: POP 00004110: PUSH1 0x00 00004112: PUSH2 0x411a 00004115: DUP3 00004116: PUSH2 0x4a32 00004119: JUMP 0000411a: JUMPDEST 0000411b: SWAP1 0000411c: POP 0000411d: PUSH1 0x00 0000411f: DUP1 00004120: PUSH1 0x00 00004122: PUSH2 0x4129 00004125: PUSH2 0x4a4e 00004128: JUMP 00004129: JUMPDEST 0000412a: SWAP3 0000412b: POP 0000412c: SWAP3 0000412d: POP 0000412e: SWAP3 0000412f: POP 00004130: PUSH1 0x00 00004132: PUSH1 0x01 00004134: DUP6 00004135: DUP6 00004136: DUP6 00004137: DUP6 00004138: PUSH1 0x40 0000413a: MLOAD 0000413b: PUSH1 0x00 0000413d: DUP2 0000413e: MSTORE 0000413f: PUSH1 0x20 00004141: ADD 00004142: PUSH1 0x40 00004144: MSTORE 00004145: PUSH1 0x40 00004147: MLOAD 00004148: PUSH2 0x4154 0000414b: SWAP5 0000414c: SWAP4 0000414d: SWAP3 0000414e: SWAP2 0000414f: SWAP1 00004150: PUSH2 0x5e1c 00004153: JUMP 00004154: JUMPDEST 00004155: PUSH1 0x20 00004157: PUSH1 0x40 00004159: MLOAD 0000415a: PUSH1 0x20 0000415c: DUP2 0000415d: SUB 0000415e: SWAP1 0000415f: DUP1 00004160: DUP5 00004161: SUB 00004162: SWAP1 00004163: DUP6 00004164: GAS 00004165: STATICCALL 00004166: ISZERO 00004167: DUP1 00004168: ISZERO 00004169: PUSH2 0x4176 0000416c: JUMPI 0000416d: RETURNDATASIZE 0000416e: PUSH1 0x00 00004170: DUP1 00004171: RETURNDATACOPY 00004172: RETURNDATASIZE 00004173: PUSH1 0x00 00004175: REVERT 00004176: JUMPDEST 00004177: POP 00004178: POP 00004179: PUSH1 0x40 0000417b: MLOAD 0000417c: PUSH1 0x1f 0000417e: NOT 0000417f: ADD 00004180: MLOAD 00004181: SWAP2 00004182: POP 00004183: POP 00004184: PUSH1 0x01 00004186: PUSH1 0x01 00004188: PUSH1 0xa0 0000418a: SHL 0000418b: SUB 0000418c: DUP2 0000418d: AND 0000418e: ISZERO 0000418f: DUP1 00004190: ISZERO 00004191: SWAP1 00004192: PUSH2 0x41ac 00004195: JUMPI 00004196: POP 00004197: DUP11 00004198: PUSH1 0x01 0000419a: PUSH1 0x01 0000419c: PUSH1 0xa0 0000419e: SHL 0000419f: SUB 000041a0: AND 000041a1: DUP2 000041a2: PUSH1 0x01 000041a4: PUSH1 0x01 000041a6: PUSH1 0xa0 000041a8: SHL 000041a9: SUB 000041aa: AND 000041ab: EQ 000041ac: JUMPDEST 000041ad: SWAP12 000041ae: SWAP11 000041af: POP 000041b0: POP 000041b1: POP 000041b2: POP 000041b3: POP 000041b4: POP 000041b5: POP 000041b6: POP 000041b7: POP 000041b8: POP 000041b9: POP 000041ba: JUMP 000041bb: JUMPDEST 000041bc: PUSH1 0x00 000041be: DUP1 000041bf: PUSH1 0x00 000041c1: DUP1 000041c2: PUSH2 0x41ca 000041c5: DUP7 000041c6: PUSH2 0x3ff9 000041c9: JUMP 000041ca: JUMPDEST 000041cb: SWAP1 000041cc: POP 000041cd: PUSH1 0x00 000041cf: PUSH2 0x41d7 000041d2: DUP7 000041d3: PUSH2 0x3ff9 000041d6: JUMP 000041d7: JUMPDEST 000041d8: SWAP1 000041d9: POP 000041da: PUSH2 0x41ee 000041dd: PUSH2 0x41e5 000041e0: DUP9 000041e1: PUSH2 0x27ca 000041e4: JUMP 000041e5: JUMPDEST 000041e6: PUSH2 0x2a3f 000041e9: DUP9 000041ea: PUSH2 0x27ca 000041ed: JUMP 000041ee: JUMPDEST 000041ef: PUSH1 0xa0 000041f1: DUP11 000041f2: ADD 000041f3: MSTORE 000041f4: PUSH1 0x40 000041f6: MLOAD 000041f7: PUSH32 0x9d2c110c00000000000000000000000000000000000000000000000000000000 00004218: DUP2 00004219: MSTORE 0000421a: PUSH1 0x01 0000421c: PUSH1 0x01 0000421e: PUSH1 0xa0 00004220: SHL 00004221: SUB 00004222: DUP10 00004223: AND 00004224: SWAP1 00004225: PUSH4 0x9d2c110c 0000422a: SWAP1 0000422b: PUSH2 0x423c 0000422e: SWAP1 0000422f: DUP13 00004230: SWAP1 00004231: DUP7 00004232: SWAP1 00004233: DUP7 00004234: SWAP1 00004235: PUSH1 0x04 00004237: ADD 00004238: PUSH2 0x5e94 0000423b: JUMP 0000423c: JUMPDEST 0000423d: PUSH1 0x20 0000423f: PUSH1 0x40 00004241: MLOAD 00004242: DUP1 00004243: DUP4 00004244: SUB 00004245: DUP2 00004246: PUSH1 0x00 00004248: DUP8 00004249: DUP1 0000424a: EXTCODESIZE 0000424b: ISZERO 0000424c: DUP1 0000424d: ISZERO 0000424e: PUSH2 0x4256 00004251: JUMPI 00004252: PUSH1 0x00 00004254: DUP1 00004255: REVERT 00004256: JUMPDEST 00004257: POP 00004258: GAS 00004259: CALL 0000425a: ISZERO 0000425b: DUP1 0000425c: ISZERO 0000425d: PUSH2 0x426a 00004260: JUMPI 00004261: RETURNDATASIZE 00004262: PUSH1 0x00 00004264: DUP1 00004265: RETURNDATACOPY 00004266: RETURNDATASIZE 00004267: PUSH1 0x00 00004269: REVERT 0000426a: JUMPDEST 0000426b: POP 0000426c: POP 0000426d: POP 0000426e: POP 0000426f: PUSH1 0x40 00004271: MLOAD 00004272: RETURNDATASIZE 00004273: PUSH1 0x1f 00004275: NOT 00004276: PUSH1 0x1f 00004278: DUP3 00004279: ADD 0000427a: AND 0000427b: DUP3 0000427c: ADD 0000427d: DUP1 0000427e: PUSH1 0x40 00004280: MSTORE 00004281: POP 00004282: DUP2 00004283: ADD 00004284: SWAP1 00004285: PUSH2 0x428e 00004288: SWAP2 00004289: SWAP1 0000428a: PUSH2 0x5968 0000428d: JUMP 0000428e: JUMPDEST 0000428f: SWAP3 00004290: POP 00004291: PUSH1 0x00 00004293: DUP1 00004294: PUSH2 0x42a6 00004297: DUP12 00004298: PUSH1 0x00 0000429a: ADD 0000429b: MLOAD 0000429c: DUP13 0000429d: PUSH1 0x60 0000429f: ADD 000042a0: MLOAD 000042a1: DUP8 000042a2: PUSH2 0x2ff7 000042a5: JUMP 000042a6: JUMPDEST 000042a7: SWAP1 000042a8: SWAP3 000042a9: POP 000042aa: SWAP1 000042ab: POP 000042ac: PUSH2 0x42b5 000042af: DUP10 000042b0: DUP4 000042b1: PUSH2 0x4345 000042b4: JUMP 000042b5: JUMPDEST 000042b6: SWAP7 000042b7: POP 000042b8: PUSH2 0x42c1 000042bb: DUP9 000042bc: DUP3 000042bd: PUSH2 0x4376 000042c0: JUMP 000042c1: JUMPDEST 000042c2: SWAP6 000042c3: POP 000042c4: POP 000042c5: POP 000042c6: POP 000042c7: POP 000042c8: SWAP5 000042c9: POP 000042ca: SWAP5 000042cb: POP 000042cc: SWAP5 000042cd: SWAP2 000042ce: POP 000042cf: POP 000042d0: JUMP 000042d1: JUMPDEST 000042d2: PUSH1 0x00 000042d4: DUP1 000042d5: PUSH2 0x42e9 000042d8: PUSH2 0x42e0 000042db: DUP6 000042dc: PUSH2 0x27ca 000042df: JUMP 000042e0: JUMPDEST 000042e1: PUSH2 0x2a3f 000042e4: DUP6 000042e5: PUSH2 0x27ca 000042e8: JUMP 000042e9: JUMPDEST 000042ea: SWAP1 000042eb: POP 000042ec: PUSH2 0x09e1 000042ef: PUSH2 0x42f7 000042f2: DUP6 000042f3: PUSH2 0x27a1 000042f6: JUMP 000042f7: JUMPDEST 000042f8: PUSH2 0x4300 000042fb: DUP6 000042fc: PUSH2 0x27a1 000042ff: JUMP 00004300: JUMPDEST 00004301: DUP4 00004302: PUSH4 0xffffffff 00004307: AND 00004308: PUSH2 0x4a75 0000430b: JUMP 0000430c: JUMPDEST 0000430d: PUSH1 0x01 0000430f: PUSH1 0x01 00004311: PUSH1 0xa0 00004313: SHL 00004314: SUB 00004315: AND 00004316: PUSH1 0x00 00004318: SWAP1 00004319: DUP2 0000431a: MSTORE 0000431b: PUSH1 0x02 0000431d: SWAP2 0000431e: SWAP1 0000431f: SWAP2 00004320: ADD 00004321: PUSH1 0x20 00004323: MSTORE 00004324: PUSH1 0x40 00004326: SWAP1 00004327: KECCAK256 00004328: SLOAD 00004329: SWAP1 0000432a: JUMP 0000432b: JUMPDEST 0000432c: SLOAD 0000432d: SWAP1 0000432e: JUMP 0000432f: JUMPDEST 00004330: PUSH1 0x00 00004332: SWAP1 00004333: DUP2 00004334: MSTORE 00004335: PUSH1 0x01 00004337: SWAP2 00004338: DUP3 00004339: ADD 0000433a: PUSH1 0x20 0000433c: MSTORE 0000433d: PUSH1 0x40 0000433f: SWAP1 00004340: KECCAK256 00004341: ADD 00004342: SLOAD 00004343: SWAP1 00004344: JUMP 00004345: JUMPDEST 00004346: PUSH1 0x00 00004348: DUP1 00004349: PUSH2 0x435b 0000434c: DUP4 0000434d: PUSH2 0x4355 00004350: DUP7 00004351: PUSH2 0x27a1 00004354: JUMP 00004355: JUMPDEST 00004356: SWAP1 00004357: PUSH2 0x1945 0000435a: JUMP 0000435b: JUMPDEST 0000435c: SWAP1 0000435d: POP 0000435e: PUSH1 0x00 00004360: PUSH2 0x4368 00004363: DUP6 00004364: PUSH2 0x27b4 00004367: JUMP 00004368: JUMPDEST 00004369: SWAP1 0000436a: POP 0000436b: NUMBER 0000436c: PUSH2 0x12a6 0000436f: DUP4 00004370: DUP4 00004371: DUP4 00004372: PUSH2 0x4a83 00004375: JUMP 00004376: JUMPDEST 00004377: PUSH1 0x00 00004379: DUP1 0000437a: PUSH2 0x435b 0000437d: DUP4 0000437e: PUSH2 0x4386 00004381: DUP7 00004382: PUSH2 0x27a1 00004385: JUMP 00004386: JUMPDEST 00004387: SWAP1 00004388: PUSH2 0x4abc 0000438b: JUMP 0000438c: JUMPDEST 0000438d: PUSH1 0x00 0000438f: SWAP2 00004390: DUP3 00004391: MSTORE 00004392: PUSH1 0x01 00004394: SWAP3 00004395: DUP4 00004396: ADD 00004397: PUSH1 0x20 00004399: MSTORE 0000439a: PUSH1 0x40 0000439c: SWAP1 0000439d: SWAP2 0000439e: KECCAK256 0000439f: SWAP1 000043a0: SWAP2 000043a1: ADD 000043a2: SSTORE 000043a3: JUMP 000043a4: JUMPDEST 000043a5: PUSH1 0x00 000043a7: DUP1 000043a8: DUP3 000043a9: PUSH1 0x01 000043ab: PUSH1 0x01 000043ad: PUSH1 0xa0 000043af: SHL 000043b0: SUB 000043b1: AND 000043b2: DUP5 000043b3: PUSH1 0x01 000043b5: PUSH1 0x01 000043b7: PUSH1 0xa0 000043b9: SHL 000043ba: SUB 000043bb: AND 000043bc: LT 000043bd: PUSH2 0x43c7 000043c0: JUMPI 000043c1: DUP3 000043c2: DUP5 000043c3: PUSH2 0x43ca 000043c6: JUMP 000043c7: JUMPDEST 000043c8: DUP4 000043c9: DUP4 000043ca: JUMPDEST 000043cb: SWAP2 000043cc: POP 000043cd: SWAP2 000043ce: POP 000043cf: SWAP3 000043d0: POP 000043d1: SWAP3 000043d2: SWAP1 000043d3: POP 000043d4: JUMP 000043d5: JUMPDEST 000043d6: PUSH1 0x00 000043d8: DUP3 000043d9: DUP3 000043da: PUSH1 0x40 000043dc: MLOAD 000043dd: PUSH1 0x20 000043df: ADD 000043e0: PUSH2 0x43ea 000043e3: SWAP3 000043e4: SWAP2 000043e5: SWAP1 000043e6: PUSH2 0x5b06 000043e9: JUMP 000043ea: JUMPDEST 000043eb: PUSH1 0x40 000043ed: MLOAD 000043ee: PUSH1 0x20 000043f0: DUP2 000043f1: DUP4 000043f2: SUB 000043f3: SUB 000043f4: DUP2 000043f5: MSTORE 000043f6: SWAP1 000043f7: PUSH1 0x40 000043f9: MSTORE 000043fa: DUP1 000043fb: MLOAD 000043fc: SWAP1 000043fd: PUSH1 0x20 000043ff: ADD 00004400: KECCAK256 00004401: SWAP1 00004402: POP 00004403: SWAP3 00004404: SWAP2 00004405: POP 00004406: POP 00004407: JUMP 00004408: JUMPDEST 00004409: PUSH1 0x00 0000440b: PUSH2 0x16f2 0000440e: PUSH2 0x4416 00004411: DUP5 00004412: PUSH2 0x27a1 00004415: JUMP 00004416: JUMPDEST 00004417: PUSH2 0x441f 0000441a: DUP5 0000441b: PUSH2 0x27a1 0000441e: JUMP 0000441f: JUMPDEST 00004420: PUSH2 0x4428 00004423: DUP7 00004424: PUSH2 0x27ca 00004427: JUMP 00004428: JUMPDEST 00004429: PUSH2 0x4a83 0000442c: JUMP 0000442d: JUMPDEST 0000442e: PUSH1 0x00 00004430: PUSH2 0x16f2 00004433: PUSH2 0x443b 00004436: DUP5 00004437: PUSH2 0x27b4 0000443a: JUMP 0000443b: JUMPDEST 0000443c: PUSH2 0x441f 0000443f: DUP5 00004440: PUSH2 0x27b4 00004443: JUMP 00004444: JUMPDEST 00004445: PUSH1 0x01 00004447: PUSH1 0x01 00004449: PUSH1 0xa0 0000444b: SHL 0000444c: SUB 0000444d: DUP3 0000444e: AND 0000444f: PUSH1 0x00 00004451: SWAP1 00004452: DUP2 00004453: MSTORE 00004454: PUSH1 0x02 00004456: DUP5 00004457: ADD 00004458: PUSH1 0x20 0000445a: MSTORE 0000445b: PUSH1 0x40 0000445d: DUP2 0000445e: KECCAK256 0000445f: SLOAD 00004460: PUSH2 0x446b 00004463: DUP2 00004464: ISZERO 00004465: ISZERO 00004466: DUP5 00004467: PUSH2 0x054b 0000446a: JUMP 0000446b: JUMPDEST 0000446c: PUSH2 0x4478 0000446f: DUP6 00004470: PUSH1 0x01 00004472: DUP4 00004473: SUB 00004474: PUSH2 0x432f 00004477: JUMP 00004478: JUMPDEST 00004479: SWAP6 0000447a: SWAP5 0000447b: POP 0000447c: POP 0000447d: POP 0000447e: POP 0000447f: POP 00004480: JUMP 00004481: JUMPDEST 00004482: PUSH1 0x00 00004484: PUSH2 0x448b 00004487: PUSH2 0x13af 0000448a: JUMP 0000448b: JUMPDEST 0000448c: PUSH1 0x01 0000448e: PUSH1 0x01 00004490: PUSH1 0xa0 00004492: SHL 00004493: SUB 00004494: AND 00004495: PUSH4 0x55c67628 0000449a: PUSH1 0x40 0000449c: MLOAD 0000449d: DUP2 0000449e: PUSH4 0xffffffff 000044a3: AND 000044a4: PUSH1 0xe0 000044a6: SHL 000044a7: DUP2 000044a8: MSTORE 000044a9: PUSH1 0x04 000044ab: ADD 000044ac: PUSH1 0x20 000044ae: PUSH1 0x40 000044b0: MLOAD 000044b1: DUP1 000044b2: DUP4 000044b3: SUB 000044b4: DUP2 000044b5: DUP7 000044b6: DUP1 000044b7: EXTCODESIZE 000044b8: ISZERO 000044b9: DUP1 000044ba: ISZERO 000044bb: PUSH2 0x44c3 000044be: JUMPI 000044bf: PUSH1 0x00 000044c1: DUP1 000044c2: REVERT 000044c3: JUMPDEST 000044c4: POP 000044c5: GAS 000044c6: STATICCALL 000044c7: ISZERO 000044c8: DUP1 000044c9: ISZERO 000044ca: PUSH2 0x44d7 000044cd: JUMPI 000044ce: RETURNDATASIZE 000044cf: PUSH1 0x00 000044d1: DUP1 000044d2: RETURNDATACOPY 000044d3: RETURNDATASIZE 000044d4: PUSH1 0x00 000044d6: REVERT 000044d7: JUMPDEST 000044d8: POP 000044d9: POP 000044da: POP 000044db: POP 000044dc: PUSH1 0x40 000044de: MLOAD 000044df: RETURNDATASIZE 000044e0: PUSH1 0x1f 000044e2: NOT 000044e3: PUSH1 0x1f 000044e5: DUP3 000044e6: ADD 000044e7: AND 000044e8: DUP3 000044e9: ADD 000044ea: DUP1 000044eb: PUSH1 0x40 000044ed: MSTORE 000044ee: POP 000044ef: DUP2 000044f0: ADD 000044f1: SWAP1 000044f2: PUSH2 0x12ce 000044f5: SWAP2 000044f6: SWAP1 000044f7: PUSH2 0x5968 000044fa: JUMP 000044fb: JUMPDEST 000044fc: PUSH2 0x0fa0 000044ff: DUP3 00004500: DUP5 00004501: EQ 00004502: DUP1 00004503: ISZERO 00004504: PUSH2 0x450c 00004507: JUMPI 00004508: POP 00004509: DUP2 0000450a: DUP4 0000450b: EQ 0000450c: JUMPDEST 0000450d: PUSH1 0x67 0000450f: PUSH2 0x054b 00004512: JUMP 00004513: JUMPDEST 00004514: PUSH1 0x60 00004516: DUP4 00004517: MLOAD 00004518: PUSH8 0xffffffffffffffff 00004521: DUP2 00004522: GT 00004523: DUP1 00004524: ISZERO 00004525: PUSH2 0x452d 00004528: JUMPI 00004529: PUSH1 0x00 0000452b: DUP1 0000452c: REVERT 0000452d: JUMPDEST 0000452e: POP 0000452f: PUSH1 0x40 00004531: MLOAD 00004532: SWAP1 00004533: DUP1 00004534: DUP3 00004535: MSTORE 00004536: DUP1 00004537: PUSH1 0x20 00004539: MUL 0000453a: PUSH1 0x20 0000453c: ADD 0000453d: DUP3 0000453e: ADD 0000453f: PUSH1 0x40 00004541: MSTORE 00004542: DUP1 00004543: ISZERO 00004544: PUSH2 0x4557 00004547: JUMPI 00004548: DUP2 00004549: PUSH1 0x20 0000454b: ADD 0000454c: PUSH1 0x20 0000454e: DUP3 0000454f: MUL 00004550: DUP1 00004551: CALLDATASIZE 00004552: DUP4 00004553: CALLDATACOPY 00004554: ADD 00004555: SWAP1 00004556: POP 00004557: JUMPDEST 00004558: POP 00004559: SWAP1 0000455a: POP 0000455b: PUSH1 0x00 0000455d: JUMPDEST 0000455e: DUP6 0000455f: MLOAD 00004560: MLOAD 00004561: DUP2 00004562: LT 00004563: ISZERO 00004564: PUSH2 0x4650 00004567: JUMPI 00004568: PUSH1 0x00 0000456a: DUP5 0000456b: DUP3 0000456c: DUP2 0000456d: MLOAD 0000456e: DUP2 0000456f: LT 00004570: PUSH2 0x4575 00004573: JUMPI 00004574: INVALID 00004575: JUMPDEST 00004576: PUSH1 0x20 00004578: MUL 00004579: PUSH1 0x20 0000457b: ADD 0000457c: ADD 0000457d: MLOAD 0000457e: SWAP1 0000457f: POP 00004580: PUSH2 0x45a5 00004583: DUP8 00004584: PUSH1 0x20 00004586: ADD 00004587: MLOAD 00004588: DUP4 00004589: DUP2 0000458a: MLOAD 0000458b: DUP2 0000458c: LT 0000458d: PUSH2 0x4592 00004590: JUMPI 00004591: INVALID 00004592: JUMPDEST 00004593: PUSH1 0x20 00004595: MUL 00004596: PUSH1 0x20 00004598: ADD 00004599: ADD 0000459a: MLOAD 0000459b: DUP3 0000459c: LT 0000459d: ISZERO 0000459e: PUSH2 0x01f9 000045a1: PUSH2 0x054b 000045a4: JUMP 000045a5: JUMPDEST 000045a6: PUSH1 0x00 000045a8: DUP8 000045a9: PUSH1 0x00 000045ab: ADD 000045ac: MLOAD 000045ad: DUP4 000045ae: DUP2 000045af: MLOAD 000045b0: DUP2 000045b1: LT 000045b2: PUSH2 0x45b7 000045b5: JUMPI 000045b6: INVALID 000045b7: JUMPDEST 000045b8: PUSH1 0x20 000045ba: MUL 000045bb: PUSH1 0x20 000045bd: ADD 000045be: ADD 000045bf: MLOAD 000045c0: SWAP1 000045c1: POP 000045c2: PUSH2 0x45d1 000045c5: DUP2 000045c6: DUP4 000045c7: DUP12 000045c8: DUP12 000045c9: PUSH1 0x60 000045cb: ADD 000045cc: MLOAD 000045cd: PUSH2 0x1d38 000045d0: JUMP 000045d1: JUMPDEST 000045d2: PUSH1 0x00 000045d4: DUP6 000045d5: DUP5 000045d6: DUP2 000045d7: MLOAD 000045d8: DUP2 000045d9: LT 000045da: PUSH2 0x45df 000045dd: JUMPI 000045de: INVALID 000045df: JUMPDEST 000045e0: PUSH1 0x20 000045e2: MUL 000045e3: PUSH1 0x20 000045e5: ADD 000045e6: ADD 000045e7: MLOAD 000045e8: SWAP1 000045e9: POP 000045ea: PUSH2 0x45fb 000045ed: PUSH2 0x45f5 000045f0: DUP4 000045f1: PUSH2 0x1b41 000045f4: JUMP 000045f5: JUMPDEST 000045f6: DUP3 000045f7: PUSH2 0x1f11 000045fa: JUMP 000045fb: JUMPDEST 000045fc: PUSH2 0x462a 000045ff: PUSH2 0x4608 00004602: DUP5 00004603: DUP4 00004604: PUSH2 0x1945 00004607: JUMP 00004608: JUMPDEST 00004609: DUP10 0000460a: DUP7 0000460b: DUP2 0000460c: MLOAD 0000460d: DUP2 0000460e: LT 0000460f: PUSH2 0x4614 00004612: JUMPI 00004613: INVALID 00004614: JUMPDEST 00004615: PUSH1 0x20 00004617: MUL 00004618: PUSH1 0x20 0000461a: ADD 0000461b: ADD 0000461c: MLOAD 0000461d: PUSH2 0x4376 00004620: SWAP1 00004621: SWAP2 00004622: SWAP1 00004623: PUSH4 0xffffffff 00004628: AND 00004629: JUMP 0000462a: JUMPDEST 0000462b: DUP6 0000462c: DUP6 0000462d: DUP2 0000462e: MLOAD 0000462f: DUP2 00004630: LT 00004631: PUSH2 0x4636 00004634: JUMPI 00004635: INVALID 00004636: JUMPDEST 00004637: PUSH1 0x20 00004639: MUL 0000463a: PUSH1 0x20 0000463c: ADD 0000463d: ADD 0000463e: DUP2 0000463f: DUP2 00004640: MSTORE 00004641: POP 00004642: POP 00004643: POP 00004644: POP 00004645: POP 00004646: DUP1 00004647: PUSH1 0x01 00004649: ADD 0000464a: SWAP1 0000464b: POP 0000464c: PUSH2 0x455d 0000464f: JUMP 00004650: JUMPDEST 00004651: POP 00004652: SWAP6 00004653: SWAP5 00004654: POP 00004655: POP 00004656: POP 00004657: POP 00004658: POP 00004659: JUMP 0000465a: JUMPDEST 0000465b: PUSH1 0x60 0000465d: PUSH1 0x00 0000465f: DUP5 00004660: MLOAD 00004661: PUSH8 0xffffffffffffffff 0000466a: DUP2 0000466b: GT 0000466c: DUP1 0000466d: ISZERO 0000466e: PUSH2 0x4676 00004671: JUMPI 00004672: PUSH1 0x00 00004674: DUP1 00004675: REVERT 00004676: JUMPDEST 00004677: POP 00004678: PUSH1 0x40 0000467a: MLOAD 0000467b: SWAP1 0000467c: DUP1 0000467d: DUP3 0000467e: MSTORE 0000467f: DUP1 00004680: PUSH1 0x20 00004682: MUL 00004683: PUSH1 0x20 00004685: ADD 00004686: DUP3 00004687: ADD 00004688: PUSH1 0x40 0000468a: MSTORE 0000468b: DUP1 0000468c: ISZERO 0000468d: PUSH2 0x46a0 00004690: JUMPI 00004691: DUP2 00004692: PUSH1 0x20 00004694: ADD 00004695: PUSH1 0x20 00004697: DUP3 00004698: MUL 00004699: DUP1 0000469a: CALLDATASIZE 0000469b: DUP4 0000469c: CALLDATACOPY 0000469d: ADD 0000469e: SWAP1 0000469f: POP 000046a0: JUMPDEST 000046a1: POP 000046a2: SWAP2 000046a3: POP 000046a4: PUSH1 0x00 000046a6: JUMPDEST 000046a7: DUP7 000046a8: MLOAD 000046a9: MLOAD 000046aa: DUP2 000046ab: LT 000046ac: ISZERO 000046ad: PUSH2 0x47c6 000046b0: JUMPI 000046b1: PUSH1 0x00 000046b3: DUP6 000046b4: DUP3 000046b5: DUP2 000046b6: MLOAD 000046b7: DUP2 000046b8: LT 000046b9: PUSH2 0x46be 000046bc: JUMPI 000046bd: INVALID 000046be: JUMPDEST 000046bf: PUSH1 0x20 000046c1: MUL 000046c2: PUSH1 0x20 000046c4: ADD 000046c5: ADD 000046c6: MLOAD 000046c7: SWAP1 000046c8: POP 000046c9: PUSH2 0x46ee 000046cc: DUP9 000046cd: PUSH1 0x20 000046cf: ADD 000046d0: MLOAD 000046d1: DUP4 000046d2: DUP2 000046d3: MLOAD 000046d4: DUP2 000046d5: LT 000046d6: PUSH2 0x46db 000046d9: JUMPI 000046da: INVALID 000046db: JUMPDEST 000046dc: PUSH1 0x20 000046de: MUL 000046df: PUSH1 0x20 000046e1: ADD 000046e2: ADD 000046e3: MLOAD 000046e4: DUP3 000046e5: GT 000046e6: ISZERO 000046e7: PUSH2 0x01fa 000046ea: PUSH2 0x054b 000046ed: JUMP 000046ee: JUMPDEST 000046ef: PUSH1 0x00 000046f1: DUP9 000046f2: PUSH1 0x00 000046f4: ADD 000046f5: MLOAD 000046f6: DUP4 000046f7: DUP2 000046f8: MLOAD 000046f9: DUP2 000046fa: LT 000046fb: PUSH2 0x4700 000046fe: JUMPI 000046ff: INVALID 00004700: JUMPDEST 00004701: PUSH1 0x20 00004703: MUL 00004704: PUSH1 0x20 00004706: ADD 00004707: ADD 00004708: MLOAD 00004709: SWAP1 0000470a: POP 0000470b: PUSH2 0x471a 0000470e: DUP2 0000470f: DUP4 00004710: DUP13 00004711: DUP13 00004712: PUSH1 0x60 00004714: ADD 00004715: MLOAD 00004716: PUSH2 0x1c5a 00004719: JUMP 0000471a: JUMPDEST 0000471b: PUSH2 0x4723 0000471e: DUP2 0000471f: PUSH2 0x1938 00004722: JUMP 00004723: JUMPDEST 00004724: ISZERO 00004725: PUSH2 0x4735 00004728: JUMPI 00004729: PUSH2 0x4732 0000472c: DUP5 0000472d: DUP4 0000472e: PUSH2 0x1945 00004731: JUMP 00004732: JUMPDEST 00004733: SWAP4 00004734: POP 00004735: JUMPDEST 00004736: PUSH1 0x00 00004738: DUP7 00004739: DUP5 0000473a: DUP2 0000473b: MLOAD 0000473c: DUP2 0000473d: LT 0000473e: PUSH2 0x4743 00004741: JUMPI 00004742: INVALID 00004743: JUMPDEST 00004744: PUSH1 0x20 00004746: MUL 00004747: PUSH1 0x20 00004749: ADD 0000474a: ADD 0000474b: MLOAD 0000474c: SWAP1 0000474d: POP 0000474e: PUSH2 0x4759 00004751: PUSH2 0x45f5 00004754: DUP4 00004755: PUSH2 0x1b41 00004758: JUMP 00004759: JUMPDEST 0000475a: DUP1 0000475b: DUP4 0000475c: LT 0000475d: ISZERO 0000475e: PUSH2 0x4778 00004761: JUMPI 00004762: PUSH2 0x4773 00004765: DUP4 00004766: DUP3 00004767: SUB 00004768: DUP11 00004769: DUP7 0000476a: DUP2 0000476b: MLOAD 0000476c: DUP2 0000476d: LT 0000476e: PUSH2 0x4614 00004771: JUMPI 00004772: INVALID 00004773: JUMPDEST 00004774: PUSH2 0x47a0 00004777: JUMP 00004778: JUMPDEST 00004779: PUSH2 0x47a0 0000477c: DUP2 0000477d: DUP5 0000477e: SUB 0000477f: DUP11 00004780: DUP7 00004781: DUP2 00004782: MLOAD 00004783: DUP2 00004784: LT 00004785: PUSH2 0x478a 00004788: JUMPI 00004789: INVALID 0000478a: JUMPDEST 0000478b: PUSH1 0x20 0000478d: MUL 0000478e: PUSH1 0x20 00004790: ADD 00004791: ADD 00004792: MLOAD 00004793: PUSH2 0x4345 00004796: SWAP1 00004797: SWAP2 00004798: SWAP1 00004799: PUSH4 0xffffffff 0000479e: AND 0000479f: JUMP 000047a0: JUMPDEST 000047a1: DUP7 000047a2: DUP6 000047a3: DUP2 000047a4: MLOAD 000047a5: DUP2 000047a6: LT 000047a7: PUSH2 0x47ac 000047aa: JUMPI 000047ab: INVALID 000047ac: JUMPDEST 000047ad: PUSH1 0x20 000047af: MUL 000047b0: PUSH1 0x20 000047b2: ADD 000047b3: ADD 000047b4: DUP2 000047b5: DUP2 000047b6: MSTORE 000047b7: POP 000047b8: POP 000047b9: POP 000047ba: POP 000047bb: POP 000047bc: DUP1 000047bd: PUSH1 0x01 000047bf: ADD 000047c0: SWAP1 000047c1: POP 000047c2: PUSH2 0x46a6 000047c5: JUMP 000047c6: JUMPDEST 000047c7: POP 000047c8: PUSH2 0x4650 000047cb: DUP2 000047cc: PUSH2 0x19de 000047cf: JUMP 000047d0: JUMPDEST 000047d1: PUSH1 0x01 000047d3: PUSH1 0x01 000047d5: PUSH1 0xa0 000047d7: SHL 000047d8: SUB 000047d9: AND 000047da: PUSH1 0x00 000047dc: SWAP1 000047dd: DUP2 000047de: MSTORE 000047df: PUSH1 0x02 000047e1: SWAP2 000047e2: SWAP1 000047e3: SWAP2 000047e4: ADD 000047e5: PUSH1 0x20 000047e7: MSTORE 000047e8: PUSH1 0x40 000047ea: SWAP1 000047eb: KECCAK256 000047ec: SLOAD 000047ed: ISZERO 000047ee: ISZERO 000047ef: SWAP1 000047f0: JUMP 000047f1: JUMPDEST 000047f2: PUSH2 0x0e00 000047f5: DUP4 000047f6: DUP4 000047f7: PUSH2 0x4ad2 000047fa: DUP5 000047fb: PUSH2 0x4b0d 000047fe: JUMP 000047ff: JUMPDEST 00004800: PUSH2 0x0e00 00004803: DUP4 00004804: DUP4 00004805: PUSH2 0x4ad2 00004808: DUP5 00004809: PUSH2 0x4bb8 0000480c: JUMP 0000480d: JUMPDEST 0000480e: PUSH2 0x0e00 00004811: DUP4 00004812: DUP4 00004813: PUSH2 0x4ad2 00004816: DUP5 00004817: PUSH2 0x4c13 0000481a: JUMP 0000481b: JUMPDEST 0000481c: PUSH2 0x0e00 0000481f: DUP4 00004820: DUP4 00004821: PUSH2 0x4c62 00004824: DUP5 00004825: PUSH2 0x4b0d 00004828: JUMP 00004829: JUMPDEST 0000482a: PUSH2 0x0e00 0000482d: DUP4 0000482e: DUP4 0000482f: PUSH2 0x4c62 00004832: DUP5 00004833: PUSH2 0x4bb8 00004836: JUMP 00004837: JUMPDEST 00004838: PUSH2 0x0e00 0000483b: DUP4 0000483c: DUP4 0000483d: PUSH2 0x4c62 00004840: DUP5 00004841: PUSH2 0x4c13 00004844: JUMP 00004845: JUMPDEST 00004846: PUSH1 0x00 00004848: PUSH2 0x09e1 0000484b: DUP5 0000484c: DUP5 0000484d: PUSH2 0x4c83 00004850: DUP6 00004851: PUSH2 0x4b0d 00004854: JUMP 00004855: JUMPDEST 00004856: PUSH1 0x00 00004858: PUSH2 0x09e1 0000485b: DUP5 0000485c: DUP5 0000485d: PUSH2 0x4c83 00004860: DUP6 00004861: PUSH2 0x4bb8 00004864: JUMP 00004865: JUMPDEST 00004866: PUSH1 0x00 00004868: PUSH2 0x09e1 0000486b: DUP5 0000486c: DUP5 0000486d: PUSH2 0x4c83 00004870: DUP6 00004871: PUSH2 0x4c13 00004874: JUMP 00004875: JUMPDEST 00004876: PUSH1 0x00 00004878: DUP3 00004879: PUSH1 0x00 0000487b: ADD 0000487c: DUP3 0000487d: DUP2 0000487e: SLOAD 0000487f: DUP2 00004880: LT 00004881: PUSH2 0x4886 00004884: JUMPI 00004885: INVALID 00004886: JUMPDEST 00004887: PUSH1 0x00 00004889: SWAP2 0000488a: DUP3 0000488b: MSTORE 0000488c: PUSH1 0x20 0000488e: SWAP1 0000488f: SWAP2 00004890: KECCAK256 00004891: ADD 00004892: SLOAD 00004893: PUSH1 0x01 00004895: PUSH1 0x01 00004897: PUSH1 0xa0 00004899: SHL 0000489a: SUB 0000489b: AND 0000489c: SWAP4 0000489d: SWAP3 0000489e: POP 0000489f: POP 000048a0: POP 000048a1: JUMP 000048a2: JUMPDEST 000048a3: PUSH1 0x00 000048a5: SWAP1 000048a6: DUP2 000048a7: MSTORE 000048a8: PUSH1 0x01 000048aa: SWAP2 000048ab: DUP3 000048ac: ADD 000048ad: PUSH1 0x20 000048af: MSTORE 000048b0: PUSH1 0x40 000048b2: SWAP1 000048b3: KECCAK256 000048b4: DUP1 000048b5: SLOAD 000048b6: SWAP2 000048b7: ADD 000048b8: SLOAD 000048b9: PUSH1 0x01 000048bb: PUSH1 0x01 000048bd: PUSH1 0xa0 000048bf: SHL 000048c0: SUB 000048c1: SWAP1 000048c2: SWAP2 000048c3: AND 000048c4: SWAP2 000048c5: JUMP 000048c6: JUMPDEST 000048c7: PUSH1 0x00 000048c9: PUSH2 0x12ce 000048cc: PUSH1 0x00 000048ce: PUSH2 0x4c9d 000048d1: JUMP 000048d2: JUMPDEST 000048d3: PUSH1 0x00 000048d5: DUP1 000048d6: CALLDATALOAD 000048d7: PUSH1 0xe0 000048d9: SHR 000048da: DUP1 000048db: PUSH4 0xb95cac28 000048e0: DUP2 000048e1: EQ 000048e2: PUSH2 0x491a 000048e5: JUMPI 000048e6: PUSH4 0x8bdb3913 000048eb: DUP2 000048ec: EQ 000048ed: PUSH2 0x4942 000048f0: JUMPI 000048f1: PUSH4 0x52bbbe29 000048f6: DUP2 000048f7: EQ 000048f8: PUSH2 0x496a 000048fb: JUMPI 000048fc: PUSH4 0x945bcec9 00004901: DUP2 00004902: EQ 00004903: PUSH2 0x4992 00004906: JUMPI 00004907: PUSH4 0xfa6e671d 0000490c: DUP2 0000490d: EQ 0000490e: PUSH2 0x49ba 00004911: JUMPI 00004912: PUSH1 0x00 00004914: SWAP3 00004915: POP 00004916: PUSH2 0x49de 00004919: JUMP 0000491a: JUMPDEST 0000491b: PUSH32 0x3f7b71252bd19113ff48c19c6e004a9bcfcca320a0d74d58e85877cbd7dcae58 0000493c: SWAP3 0000493d: POP 0000493e: PUSH2 0x49de 00004941: JUMP 00004942: JUMPDEST 00004943: PUSH32 0x8bbc57f66ea936902f50a71ce12b92c43f3c5340bb40c27c4e90ab84eeae3353 00004964: SWAP3 00004965: POP 00004966: PUSH2 0x49de 00004969: JUMP 0000496a: JUMPDEST 0000496b: PUSH32 0xe192dcbc143b1e244ad73b813fd3c097b832ad260a157340b4e5e5beda067abe 0000498c: SWAP3 0000498d: POP 0000498e: PUSH2 0x49de 00004991: JUMP 00004992: JUMPDEST 00004993: PUSH32 0x9bfc43a4d98313c6766986ffd7c916c7481566d9f224c6819af0a53388aced3a 000049b4: SWAP3 000049b5: POP 000049b6: PUSH2 0x49de 000049b9: JUMP 000049ba: JUMPDEST 000049bb: PUSH32 0xa3f865aa351e51cfeb40f5178d1564bb629fe9030b83caf6361d1baaf5b90b5a 000049dc: SWAP3 000049dd: POP 000049de: JUMPDEST 000049df: POP 000049e0: POP 000049e1: SWAP1 000049e2: JUMP 000049e3: JUMPDEST 000049e4: PUSH1 0x60 000049e6: PUSH1 0x00 000049e8: CALLDATASIZE 000049e9: DUP1 000049ea: DUP1 000049eb: PUSH1 0x1f 000049ed: ADD 000049ee: PUSH1 0x20 000049f0: DUP1 000049f1: SWAP2 000049f2: DIV 000049f3: MUL 000049f4: PUSH1 0x20 000049f6: ADD 000049f7: PUSH1 0x40 000049f9: MLOAD 000049fa: SWAP1 000049fb: DUP2 000049fc: ADD 000049fd: PUSH1 0x40 000049ff: MSTORE 00004a00: DUP1 00004a01: SWAP4 00004a02: SWAP3 00004a03: SWAP2 00004a04: SWAP1 00004a05: DUP2 00004a06: DUP2 00004a07: MSTORE 00004a08: PUSH1 0x20 00004a0a: ADD 00004a0b: DUP4 00004a0c: DUP4 00004a0d: DUP1 00004a0e: DUP3 00004a0f: DUP5 00004a10: CALLDATACOPY 00004a11: PUSH1 0x00 00004a13: SWAP3 00004a14: ADD 00004a15: SWAP2 00004a16: SWAP1 00004a17: SWAP2 00004a18: MSTORE 00004a19: POP 00004a1a: POP 00004a1b: DUP3 00004a1c: MLOAD 00004a1d: SWAP3 00004a1e: SWAP4 00004a1f: POP 00004a20: POP 00004a21: POP 00004a22: PUSH1 0x80 00004a24: LT 00004a25: ISZERO 00004a26: PUSH2 0x0548 00004a29: JUMPI 00004a2a: PUSH1 0x80 00004a2c: CALLDATASIZE 00004a2d: SUB 00004a2e: DUP2 00004a2f: MSTORE 00004a30: SWAP1 00004a31: JUMP 00004a32: JUMPDEST 00004a33: PUSH1 0x00 00004a35: PUSH2 0x4a3c 00004a38: PUSH2 0x289b 00004a3b: JUMP 00004a3c: JUMPDEST 00004a3d: DUP3 00004a3e: PUSH1 0x40 00004a40: MLOAD 00004a41: PUSH1 0x20 00004a43: ADD 00004a44: PUSH2 0x112e 00004a47: SWAP3 00004a48: SWAP2 00004a49: SWAP1 00004a4a: PUSH2 0x5b2d 00004a4d: JUMP 00004a4e: JUMPDEST 00004a4f: PUSH1 0x00 00004a51: DUP1 00004a52: PUSH1 0x00 00004a54: PUSH2 0x4a5d 00004a57: PUSH1 0x20 00004a59: PUSH2 0x4c9d 00004a5c: JUMP 00004a5d: JUMPDEST 00004a5e: SWAP3 00004a5f: POP 00004a60: PUSH2 0x4a69 00004a63: PUSH1 0x40 00004a65: PUSH2 0x4c9d 00004a68: JUMP 00004a69: JUMPDEST 00004a6a: SWAP2 00004a6b: POP 00004a6c: PUSH2 0x0841 00004a6f: PUSH1 0x60 00004a71: PUSH2 0x4c9d 00004a74: JUMP 00004a75: JUMPDEST 00004a76: PUSH1 0xe0 00004a78: SHL 00004a79: PUSH1 0x70 00004a7b: SWAP2 00004a7c: SWAP1 00004a7d: SWAP2 00004a7e: SHL 00004a7f: ADD 00004a80: ADD 00004a81: SWAP1 00004a82: JUMP 00004a83: JUMPDEST 00004a84: PUSH1 0x00 00004a86: DUP4 00004a87: DUP4 00004a88: ADD 00004a89: PUSH2 0x4ab1 00004a8c: DUP6 00004a8d: DUP3 00004a8e: LT 00004a8f: DUP1 00004a90: ISZERO 00004a91: SWAP1 00004a92: PUSH2 0x4aa9 00004a95: JUMPI 00004a96: POP 00004a97: PUSH15 0x010000000000000000000000000000 00004aa7: DUP3 00004aa8: LT 00004aa9: JUMPDEST 00004aaa: PUSH2 0x020e 00004aad: PUSH2 0x054b 00004ab0: JUMP 00004ab1: JUMPDEST 00004ab2: PUSH2 0x4478 00004ab5: DUP6 00004ab6: DUP6 00004ab7: DUP6 00004ab8: PUSH2 0x4a75 00004abb: JUMP 00004abc: JUMPDEST 00004abd: PUSH1 0x00 00004abf: PUSH2 0x4acc 00004ac2: DUP4 00004ac3: DUP4 00004ac4: GT 00004ac5: ISZERO 00004ac6: PUSH1 0x01 00004ac8: PUSH2 0x054b 00004acb: JUMP 00004acc: JUMPDEST 00004acd: POP 00004ace: SWAP1 00004acf: SUB 00004ad0: SWAP1 00004ad1: JUMP 00004ad2: JUMPDEST 00004ad3: PUSH1 0x00 00004ad5: DUP1 00004ad6: PUSH2 0x4ae2 00004ad9: DUP4 00004ada: PUSH2 0x4386 00004add: DUP7 00004ade: PUSH2 0x27a1 00004ae1: JUMP 00004ae2: JUMPDEST 00004ae3: SWAP1 00004ae4: POP 00004ae5: PUSH1 0x00 00004ae7: PUSH2 0x4af3 00004aea: DUP5 00004aeb: PUSH2 0x4355 00004aee: DUP8 00004aef: PUSH2 0x27b4 00004af2: JUMP 00004af3: JUMPDEST 00004af4: SWAP1 00004af5: POP 00004af6: PUSH1 0x00 00004af8: PUSH2 0x4b00 00004afb: DUP7 00004afc: PUSH2 0x27ca 00004aff: JUMP 00004b00: JUMPDEST 00004b01: SWAP1 00004b02: POP 00004b03: PUSH2 0x12a6 00004b06: DUP4 00004b07: DUP4 00004b08: DUP4 00004b09: PUSH2 0x4a83 00004b0c: JUMP 00004b0d: JUMPDEST 00004b0e: PUSH1 0x00 00004b10: DUP1 00004b11: PUSH1 0x00 00004b13: DUP1 00004b14: PUSH1 0x00 00004b16: PUSH2 0x4b1e 00004b19: DUP10 00004b1a: PUSH2 0x3a19 00004b1d: JUMP 00004b1e: JUMPDEST 00004b1f: SWAP5 00004b20: POP 00004b21: POP 00004b22: SWAP4 00004b23: POP 00004b24: SWAP4 00004b25: POP 00004b26: SWAP4 00004b27: POP 00004b28: PUSH1 0x00 00004b2a: DUP4 00004b2b: PUSH1 0x01 00004b2d: PUSH1 0x01 00004b2f: PUSH1 0xa0 00004b31: SHL 00004b32: SUB 00004b33: AND 00004b34: DUP10 00004b35: PUSH1 0x01 00004b37: PUSH1 0x01 00004b39: PUSH1 0xa0 00004b3b: SHL 00004b3c: SUB 00004b3d: AND 00004b3e: EQ 00004b3f: ISZERO 00004b40: PUSH2 0x4b69 00004b43: JUMPI 00004b44: PUSH1 0x00 00004b46: PUSH2 0x4b53 00004b49: DUP5 00004b4a: DUP10 00004b4b: DUP12 00004b4c: PUSH4 0xffffffff 00004b51: AND 00004b52: JUMP 00004b53: JUMPDEST 00004b54: SWAP1 00004b55: POP 00004b56: PUSH2 0x4b5f 00004b59: DUP2 00004b5a: DUP6 00004b5b: PUSH2 0x4ca7 00004b5e: JUMP 00004b5f: JUMPDEST 00004b60: SWAP1 00004b61: SWAP4 00004b62: POP 00004b63: SWAP1 00004b64: POP 00004b65: PUSH2 0x4b8b 00004b68: JUMP 00004b69: JUMPDEST 00004b6a: PUSH1 0x00 00004b6c: PUSH2 0x4b79 00004b6f: DUP4 00004b70: DUP10 00004b71: DUP12 00004b72: PUSH4 0xffffffff 00004b77: AND 00004b78: JUMP 00004b79: JUMPDEST 00004b7a: SWAP1 00004b7b: POP 00004b7c: PUSH2 0x4b85 00004b7f: DUP2 00004b80: DUP5 00004b81: PUSH2 0x4ca7 00004b84: JUMP 00004b85: JUMPDEST 00004b86: SWAP1 00004b87: SWAP3 00004b88: POP 00004b89: SWAP1 00004b8a: POP 00004b8b: JUMPDEST 00004b8c: PUSH2 0x4b95 00004b8f: DUP4 00004b90: DUP4 00004b91: PUSH2 0x42d1 00004b94: JUMP 00004b95: JUMPDEST 00004b96: DUP6 00004b97: SSTORE 00004b98: PUSH2 0x4ba1 00004b9b: DUP4 00004b9c: DUP4 00004b9d: PUSH2 0x4cc3 00004ba0: JUMP 00004ba1: JUMPDEST 00004ba2: PUSH1 0x01 00004ba4: SWAP1 00004ba5: SWAP6 00004ba6: ADD 00004ba7: SWAP5 00004ba8: SWAP1 00004ba9: SWAP5 00004baa: SSTORE 00004bab: POP 00004bac: SWAP2 00004bad: SWAP3 00004bae: POP 00004baf: POP 00004bb0: POP 00004bb1: SWAP5 00004bb2: SWAP4 00004bb3: POP 00004bb4: POP 00004bb5: POP 00004bb6: POP 00004bb7: JUMP 00004bb8: JUMPDEST 00004bb9: PUSH1 0x00 00004bbb: DUP1 00004bbc: PUSH2 0x4bc5 00004bbf: DUP7 00004bc0: DUP7 00004bc1: PUSH2 0x271b 00004bc4: JUMP 00004bc5: JUMPDEST 00004bc6: SWAP1 00004bc7: POP 00004bc8: PUSH1 0x00 00004bca: PUSH2 0x4bd7 00004bcd: DUP3 00004bce: DUP6 00004bcf: DUP8 00004bd0: PUSH4 0xffffffff 00004bd5: AND 00004bd6: JUMP 00004bd7: JUMPDEST 00004bd8: PUSH1 0x00 00004bda: DUP9 00004bdb: DUP2 00004bdc: MSTORE 00004bdd: PUSH1 0x07 00004bdf: PUSH1 0x20 00004be1: SWAP1 00004be2: DUP2 00004be3: MSTORE 00004be4: PUSH1 0x40 00004be6: DUP1 00004be7: DUP4 00004be8: KECCAK256 00004be9: PUSH1 0x01 00004beb: PUSH1 0x01 00004bed: PUSH1 0xa0 00004bef: SHL 00004bf0: SUB 00004bf1: DUP12 00004bf2: AND 00004bf3: DUP5 00004bf4: MSTORE 00004bf5: SWAP1 00004bf6: SWAP2 00004bf7: MSTORE 00004bf8: SWAP1 00004bf9: KECCAK256 00004bfa: DUP2 00004bfb: SWAP1 00004bfc: SSTORE 00004bfd: SWAP1 00004bfe: POP 00004bff: PUSH2 0x4c08 00004c02: DUP2 00004c03: DUP4 00004c04: PUSH2 0x4ca7 00004c07: JUMP 00004c08: JUMPDEST 00004c09: SWAP8 00004c0a: SWAP7 00004c0b: POP 00004c0c: POP 00004c0d: POP 00004c0e: POP 00004c0f: POP 00004c10: POP 00004c11: POP 00004c12: JUMP 00004c13: JUMPDEST 00004c14: PUSH1 0x00 00004c16: DUP5 00004c17: DUP2 00004c18: MSTORE 00004c19: PUSH1 0x01 00004c1b: PUSH1 0x20 00004c1d: MSTORE 00004c1e: PUSH1 0x40 00004c20: DUP2 00004c21: KECCAK256 00004c22: DUP2 00004c23: PUSH2 0x4c2c 00004c26: DUP3 00004c27: DUP8 00004c28: PUSH2 0x3412 00004c2b: JUMP 00004c2c: JUMPDEST 00004c2d: SWAP1 00004c2e: POP 00004c2f: PUSH1 0x00 00004c31: PUSH2 0x4c3e 00004c34: DUP3 00004c35: DUP7 00004c36: DUP9 00004c37: PUSH4 0xffffffff 00004c3c: AND 00004c3d: JUMP 00004c3e: JUMPDEST 00004c3f: SWAP1 00004c40: POP 00004c41: PUSH2 0x4c4b 00004c44: DUP4 00004c45: DUP9 00004c46: DUP4 00004c47: PUSH2 0x3175 00004c4a: JUMP 00004c4b: JUMPDEST 00004c4c: POP 00004c4d: PUSH2 0x4c56 00004c50: DUP2 00004c51: DUP4 00004c52: PUSH2 0x4ca7 00004c55: JUMP 00004c56: JUMPDEST 00004c57: SWAP9 00004c58: SWAP8 00004c59: POP 00004c5a: POP 00004c5b: POP 00004c5c: POP 00004c5d: POP 00004c5e: POP 00004c5f: POP 00004c60: POP 00004c61: JUMP 00004c62: JUMPDEST 00004c63: PUSH1 0x00 00004c65: DUP1 00004c66: PUSH2 0x4c72 00004c69: DUP4 00004c6a: PUSH2 0x4355 00004c6d: DUP7 00004c6e: PUSH2 0x27a1 00004c71: JUMP 00004c72: JUMPDEST 00004c73: SWAP1 00004c74: POP 00004c75: PUSH1 0x00 00004c77: PUSH2 0x4af3 00004c7a: DUP5 00004c7b: PUSH2 0x4386 00004c7e: DUP8 00004c7f: PUSH2 0x27b4 00004c82: JUMP 00004c83: JUMPDEST 00004c84: PUSH1 0x00 00004c86: DUP1 00004c87: PUSH2 0x4c8f 00004c8a: DUP5 00004c8b: PUSH2 0x27a1 00004c8e: JUMP 00004c8f: JUMPDEST 00004c90: SWAP1 00004c91: POP 00004c92: NUMBER 00004c93: PUSH2 0x4478 00004c96: DUP3 00004c97: DUP6 00004c98: DUP4 00004c99: PUSH2 0x4a83 00004c9c: JUMP 00004c9d: JUMPDEST 00004c9e: CALLDATASIZE 00004c9f: ADD 00004ca0: PUSH1 0x7f 00004ca2: NOT 00004ca3: ADD 00004ca4: CALLDATALOAD 00004ca5: SWAP1 00004ca6: JUMP 00004ca7: JUMPDEST 00004ca8: PUSH1 0x00 00004caa: PUSH2 0x4cb2 00004cad: DUP3 00004cae: PUSH2 0x27b4 00004cb1: JUMP 00004cb2: JUMPDEST 00004cb3: PUSH2 0x4cbb 00004cb6: DUP5 00004cb7: PUSH2 0x27b4 00004cba: JUMP 00004cbb: JUMPDEST 00004cbc: SUB 00004cbd: SWAP4 00004cbe: SWAP3 00004cbf: POP 00004cc0: POP 00004cc1: POP 00004cc2: JUMP 00004cc3: JUMPDEST 00004cc4: PUSH1 0x00 00004cc6: PUSH2 0x16f2 00004cc9: PUSH2 0x4cd1 00004ccc: DUP5 00004ccd: PUSH2 0x27b4 00004cd0: JUMP 00004cd1: JUMPDEST 00004cd2: PUSH2 0x4cda 00004cd5: DUP5 00004cd6: PUSH2 0x27b4 00004cd9: JUMP 00004cda: JUMPDEST 00004cdb: PUSH1 0x00 00004cdd: PUSH2 0x4a75 00004ce0: JUMP 00004ce1: JUMPDEST 00004ce2: PUSH1 0x40 00004ce4: DUP1 00004ce5: MLOAD 00004ce6: PUSH2 0x0120 00004ce9: DUP2 00004cea: ADD 00004ceb: SWAP1 00004cec: SWAP2 00004ced: MSTORE 00004cee: DUP1 00004cef: PUSH1 0x00 00004cf1: DUP2 00004cf2: MSTORE 00004cf3: PUSH1 0x00 00004cf5: PUSH1 0x20 00004cf7: DUP3 00004cf8: ADD 00004cf9: DUP2 00004cfa: SWAP1 00004cfb: MSTORE 00004cfc: PUSH1 0x40 00004cfe: DUP3 00004cff: ADD 00004d00: DUP2 00004d01: SWAP1 00004d02: MSTORE 00004d03: PUSH1 0x60 00004d05: DUP1 00004d06: DUP4 00004d07: ADD 00004d08: DUP3 00004d09: SWAP1 00004d0a: MSTORE 00004d0b: PUSH1 0x80 00004d0d: DUP4 00004d0e: ADD 00004d0f: DUP3 00004d10: SWAP1 00004d11: MSTORE 00004d12: PUSH1 0xa0 00004d14: DUP4 00004d15: ADD 00004d16: DUP3 00004d17: SWAP1 00004d18: MSTORE 00004d19: PUSH1 0xc0 00004d1b: DUP4 00004d1c: ADD 00004d1d: DUP3 00004d1e: SWAP1 00004d1f: MSTORE 00004d20: PUSH1 0xe0 00004d22: DUP4 00004d23: ADD 00004d24: SWAP2 00004d25: SWAP1 00004d26: SWAP2 00004d27: MSTORE 00004d28: PUSH2 0x0100 00004d2b: SWAP1 00004d2c: SWAP2 00004d2d: ADD 00004d2e: MSTORE 00004d2f: SWAP1 00004d30: JUMP 00004d31: JUMPDEST 00004d32: PUSH1 0x40 00004d34: DUP1 00004d35: MLOAD 00004d36: PUSH1 0x80 00004d38: DUP2 00004d39: ADD 00004d3a: SWAP1 00004d3b: SWAP2 00004d3c: MSTORE 00004d3d: DUP1 00004d3e: PUSH1 0x00 00004d40: DUP2 00004d41: MSTORE 00004d42: PUSH1 0x00 00004d44: PUSH1 0x20 00004d46: DUP3 00004d47: ADD 00004d48: DUP2 00004d49: SWAP1 00004d4a: MSTORE 00004d4b: PUSH1 0x40 00004d4d: DUP3 00004d4e: ADD 00004d4f: DUP2 00004d50: SWAP1 00004d51: MSTORE 00004d52: PUSH1 0x60 00004d54: SWAP1 00004d55: SWAP2 00004d56: ADD 00004d57: MSTORE 00004d58: SWAP1 00004d59: JUMP 00004d5a: JUMPDEST 00004d5b: PUSH1 0x40 00004d5d: MLOAD 00004d5e: DUP1 00004d5f: PUSH1 0x80 00004d61: ADD 00004d62: PUSH1 0x40 00004d64: MSTORE 00004d65: DUP1 00004d66: PUSH1 0x60 00004d68: DUP2 00004d69: MSTORE 00004d6a: PUSH1 0x20 00004d6c: ADD 00004d6d: PUSH1 0x60 00004d6f: DUP2 00004d70: MSTORE 00004d71: PUSH1 0x20 00004d73: ADD 00004d74: PUSH1 0x60 00004d76: DUP2 00004d77: MSTORE 00004d78: PUSH1 0x20 00004d7a: ADD 00004d7b: PUSH1 0x00 00004d7d: ISZERO 00004d7e: ISZERO 00004d7f: DUP2 00004d80: MSTORE 00004d81: POP 00004d82: SWAP1 00004d83: JUMP 00004d84: JUMPDEST 00004d85: PUSH1 0x40 00004d87: MLOAD 00004d88: DUP1 00004d89: PUSH1 0xa0 00004d8b: ADD 00004d8c: PUSH1 0x40 00004d8e: MSTORE 00004d8f: DUP1 00004d90: PUSH1 0x00 00004d92: DUP1 00004d93: NOT 00004d94: AND 00004d95: DUP2 00004d96: MSTORE 00004d97: PUSH1 0x20 00004d99: ADD 00004d9a: PUSH1 0x00 00004d9c: DUP2 00004d9d: MSTORE 00004d9e: PUSH1 0x20 00004da0: ADD 00004da1: PUSH1 0x00 00004da3: DUP2 00004da4: MSTORE 00004da5: PUSH1 0x20 00004da7: ADD 00004da8: PUSH1 0x00 00004daa: DUP2 00004dab: MSTORE 00004dac: PUSH1 0x20 00004dae: ADD 00004daf: PUSH1 0x60 00004db1: DUP2 00004db2: MSTORE 00004db3: POP 00004db4: SWAP1 00004db5: JUMP 00004db6: JUMPDEST 00004db7: DUP1 00004db8: CALLDATALOAD 00004db9: PUSH2 0x16f5 00004dbc: DUP2 00004dbd: PUSH2 0x5f5a 00004dc0: JUMP 00004dc1: JUMPDEST 00004dc2: PUSH1 0x00 00004dc4: DUP3 00004dc5: PUSH1 0x1f 00004dc7: DUP4 00004dc8: ADD 00004dc9: SLT 00004dca: PUSH2 0x4dd1 00004dcd: JUMPI 00004dce: DUP1 00004dcf: DUP2 00004dd0: REVERT 00004dd1: JUMPDEST 00004dd2: DUP2 00004dd3: CALLDATALOAD 00004dd4: PUSH2 0x4de4 00004dd7: PUSH2 0x4ddf 00004dda: DUP3 00004ddb: PUSH2 0x5f04 00004dde: JUMP 00004ddf: JUMPDEST 00004de0: PUSH2 0x5edd 00004de3: JUMP 00004de4: JUMPDEST 00004de5: DUP2 00004de6: DUP2 00004de7: MSTORE 00004de8: SWAP2 00004de9: POP 00004dea: PUSH1 0x20 00004dec: DUP1 00004ded: DUP4 00004dee: ADD 00004def: SWAP1 00004df0: DUP5 00004df1: DUP2 00004df2: ADD 00004df3: DUP2 00004df4: DUP5 00004df5: MUL 00004df6: DUP7 00004df7: ADD 00004df8: DUP3 00004df9: ADD 00004dfa: DUP8 00004dfb: LT 00004dfc: ISZERO 00004dfd: PUSH2 0x4e05 00004e00: JUMPI 00004e01: PUSH1 0x00 00004e03: DUP1 00004e04: REVERT 00004e05: JUMPDEST 00004e06: PUSH1 0x00 00004e08: JUMPDEST 00004e09: DUP5 00004e0a: DUP2 00004e0b: LT 00004e0c: ISZERO 00004e0d: PUSH2 0x4e2d 00004e10: JUMPI 00004e11: DUP2 00004e12: CALLDATALOAD 00004e13: PUSH2 0x4e1b 00004e16: DUP2 00004e17: PUSH2 0x5f5a 00004e1a: JUMP 00004e1b: JUMPDEST 00004e1c: DUP5 00004e1d: MSTORE 00004e1e: SWAP3 00004e1f: DUP3 00004e20: ADD 00004e21: SWAP3 00004e22: SWAP1 00004e23: DUP3 00004e24: ADD 00004e25: SWAP1 00004e26: PUSH1 0x01 00004e28: ADD 00004e29: PUSH2 0x4e08 00004e2c: JUMP 00004e2d: JUMPDEST 00004e2e: POP 00004e2f: POP 00004e30: POP 00004e31: POP 00004e32: POP 00004e33: SWAP3 00004e34: SWAP2 00004e35: POP 00004e36: POP 00004e37: JUMP 00004e38: JUMPDEST 00004e39: PUSH1 0x00 00004e3b: DUP3 00004e3c: PUSH1 0x1f 00004e3e: DUP4 00004e3f: ADD 00004e40: SLT 00004e41: PUSH2 0x4e48 00004e44: JUMPI 00004e45: DUP1 00004e46: DUP2 00004e47: REVERT 00004e48: JUMPDEST 00004e49: DUP2 00004e4a: CALLDATALOAD 00004e4b: PUSH2 0x4e56 00004e4e: PUSH2 0x4ddf 00004e51: DUP3 00004e52: PUSH2 0x5f04 00004e55: JUMP 00004e56: JUMPDEST 00004e57: DUP2 00004e58: DUP2 00004e59: MSTORE 00004e5a: SWAP2 00004e5b: POP 00004e5c: PUSH1 0x20 00004e5e: DUP1 00004e5f: DUP4 00004e60: ADD 00004e61: SWAP1 00004e62: DUP5 00004e63: DUP2 00004e64: ADD 00004e65: PUSH1 0x00 00004e67: JUMPDEST 00004e68: DUP5 00004e69: DUP2 00004e6a: LT 00004e6b: ISZERO 00004e6c: PUSH2 0x4e2d 00004e6f: JUMPI 00004e70: DUP2 00004e71: CALLDATALOAD 00004e72: DUP8 00004e73: ADD 00004e74: PUSH1 0xa0 00004e76: DUP1 00004e77: PUSH1 0x1f 00004e79: NOT 00004e7a: DUP4 00004e7b: DUP13 00004e7c: SUB 00004e7d: ADD 00004e7e: SLT 00004e7f: ISZERO 00004e80: PUSH2 0x4e88 00004e83: JUMPI 00004e84: PUSH1 0x00 00004e86: DUP1 00004e87: REVERT 00004e88: JUMPDEST 00004e89: PUSH2 0x4e91 00004e8c: DUP2 00004e8d: PUSH2 0x5edd 00004e90: JUMP 00004e91: JUMPDEST 00004e92: DUP6 00004e93: DUP4 00004e94: ADD 00004e95: CALLDATALOAD 00004e96: DUP2 00004e97: MSTORE 00004e98: PUSH1 0x40 00004e9a: DUP1 00004e9b: DUP5 00004e9c: ADD 00004e9d: CALLDATALOAD 00004e9e: DUP8 00004e9f: DUP4 00004ea0: ADD 00004ea1: MSTORE 00004ea2: PUSH1 0x60 00004ea4: DUP1 00004ea5: DUP6 00004ea6: ADD 00004ea7: CALLDATALOAD 00004ea8: DUP3 00004ea9: DUP5 00004eaa: ADD 00004eab: MSTORE 00004eac: PUSH1 0x80 00004eae: SWAP2 00004eaf: POP 00004eb0: DUP2 00004eb1: DUP6 00004eb2: ADD 00004eb3: CALLDATALOAD 00004eb4: DUP2 00004eb5: DUP5 00004eb6: ADD 00004eb7: MSTORE 00004eb8: POP 00004eb9: DUP3 00004eba: DUP5 00004ebb: ADD 00004ebc: CALLDATALOAD 00004ebd: SWAP3 00004ebe: POP 00004ebf: PUSH8 0xffffffffffffffff 00004ec8: DUP4 00004ec9: GT 00004eca: ISZERO 00004ecb: PUSH2 0x4ed3 00004ece: JUMPI 00004ecf: PUSH1 0x00 00004ed1: DUP1 00004ed2: REVERT 00004ed3: JUMPDEST 00004ed4: PUSH2 0x4ee1 00004ed7: DUP13 00004ed8: DUP9 00004ed9: DUP6 00004eda: DUP8 00004edb: ADD 00004edc: ADD 00004edd: PUSH2 0x4fc0 00004ee0: JUMP 00004ee1: JUMPDEST 00004ee2: SWAP1 00004ee3: DUP3 00004ee4: ADD 00004ee5: MSTORE 00004ee6: DUP7 00004ee7: MSTORE 00004ee8: POP 00004ee9: POP 00004eea: SWAP3 00004eeb: DUP3 00004eec: ADD 00004eed: SWAP3 00004eee: SWAP1 00004eef: DUP3 00004ef0: ADD 00004ef1: SWAP1 00004ef2: PUSH1 0x01 00004ef4: ADD 00004ef5: PUSH2 0x4e67 00004ef8: JUMP 00004ef9: JUMPDEST 00004efa: PUSH1 0x00 00004efc: DUP3 00004efd: PUSH1 0x1f 00004eff: DUP4 00004f00: ADD 00004f01: SLT 00004f02: PUSH2 0x4f09 00004f05: JUMPI 00004f06: DUP1 00004f07: DUP2 00004f08: REVERT 00004f09: JUMPDEST 00004f0a: DUP2 00004f0b: CALLDATALOAD 00004f0c: PUSH2 0x4f17 00004f0f: PUSH2 0x4ddf 00004f12: DUP3 00004f13: PUSH2 0x5f04 00004f16: JUMP 00004f17: JUMPDEST 00004f18: DUP2 00004f19: DUP2 00004f1a: MSTORE 00004f1b: SWAP2 00004f1c: POP 00004f1d: PUSH1 0x20 00004f1f: DUP1 00004f20: DUP4 00004f21: ADD 00004f22: SWAP1 00004f23: DUP5 00004f24: DUP2 00004f25: ADD 00004f26: DUP2 00004f27: DUP5 00004f28: MUL 00004f29: DUP7 00004f2a: ADD 00004f2b: DUP3 00004f2c: ADD 00004f2d: DUP8 00004f2e: LT 00004f2f: ISZERO 00004f30: PUSH2 0x4f38 00004f33: JUMPI 00004f34: PUSH1 0x00 00004f36: DUP1 00004f37: REVERT 00004f38: JUMPDEST 00004f39: PUSH1 0x00 00004f3b: JUMPDEST 00004f3c: DUP5 00004f3d: DUP2 00004f3e: LT 00004f3f: ISZERO 00004f40: PUSH2 0x4e2d 00004f43: JUMPI 00004f44: DUP2 00004f45: CALLDATALOAD 00004f46: DUP5 00004f47: MSTORE 00004f48: SWAP3 00004f49: DUP3 00004f4a: ADD 00004f4b: SWAP3 00004f4c: SWAP1 00004f4d: DUP3 00004f4e: ADD 00004f4f: SWAP1 00004f50: PUSH1 0x01 00004f52: ADD 00004f53: PUSH2 0x4f3b 00004f56: JUMP 00004f57: JUMPDEST 00004f58: PUSH1 0x00 00004f5a: DUP3 00004f5b: PUSH1 0x1f 00004f5d: DUP4 00004f5e: ADD 00004f5f: SLT 00004f60: PUSH2 0x4f67 00004f63: JUMPI 00004f64: DUP1 00004f65: DUP2 00004f66: REVERT 00004f67: JUMPDEST 00004f68: DUP2 00004f69: MLOAD 00004f6a: PUSH2 0x4f75 00004f6d: PUSH2 0x4ddf 00004f70: DUP3 00004f71: PUSH2 0x5f04 00004f74: JUMP 00004f75: JUMPDEST 00004f76: DUP2 00004f77: DUP2 00004f78: MSTORE 00004f79: SWAP2 00004f7a: POP 00004f7b: PUSH1 0x20 00004f7d: DUP1 00004f7e: DUP4 00004f7f: ADD 00004f80: SWAP1 00004f81: DUP5 00004f82: DUP2 00004f83: ADD 00004f84: DUP2 00004f85: DUP5 00004f86: MUL 00004f87: DUP7 00004f88: ADD 00004f89: DUP3 00004f8a: ADD 00004f8b: DUP8 00004f8c: LT 00004f8d: ISZERO 00004f8e: PUSH2 0x4f96 00004f91: JUMPI 00004f92: PUSH1 0x00 00004f94: DUP1 00004f95: REVERT 00004f96: JUMPDEST 00004f97: PUSH1 0x00 00004f99: JUMPDEST 00004f9a: DUP5 00004f9b: DUP2 00004f9c: LT 00004f9d: ISZERO 00004f9e: PUSH2 0x4e2d 00004fa1: JUMPI 00004fa2: DUP2 00004fa3: MLOAD 00004fa4: DUP5 00004fa5: MSTORE 00004fa6: SWAP3 00004fa7: DUP3 00004fa8: ADD 00004fa9: SWAP3 00004faa: SWAP1 00004fab: DUP3 00004fac: ADD 00004fad: SWAP1 00004fae: PUSH1 0x01 00004fb0: ADD 00004fb1: PUSH2 0x4f99 00004fb4: JUMP 00004fb5: JUMPDEST 00004fb6: DUP1 00004fb7: CALLDATALOAD 00004fb8: PUSH2 0x16f5 00004fbb: DUP2 00004fbc: PUSH2 0x5f6f 00004fbf: JUMP 00004fc0: JUMPDEST 00004fc1: PUSH1 0x00 00004fc3: DUP3 00004fc4: PUSH1 0x1f 00004fc6: DUP4 00004fc7: ADD 00004fc8: SLT 00004fc9: PUSH2 0x4fd0 00004fcc: JUMPI 00004fcd: DUP1 00004fce: DUP2 00004fcf: REVERT 00004fd0: JUMPDEST 00004fd1: DUP2 00004fd2: CALLDATALOAD 00004fd3: PUSH8 0xffffffffffffffff 00004fdc: DUP2 00004fdd: GT 00004fde: ISZERO 00004fdf: PUSH2 0x4fe6 00004fe2: JUMPI 00004fe3: DUP2 00004fe4: DUP3 00004fe5: REVERT 00004fe6: JUMPDEST 00004fe7: PUSH2 0x4ff9 00004fea: PUSH1 0x1f 00004fec: DUP3 00004fed: ADD 00004fee: PUSH1 0x1f 00004ff0: NOT 00004ff1: AND 00004ff2: PUSH1 0x20 00004ff4: ADD 00004ff5: PUSH2 0x5edd 00004ff8: JUMP 00004ff9: JUMPDEST 00004ffa: SWAP2 00004ffb: POP 00004ffc: DUP1 00004ffd: DUP3 00004ffe: MSTORE 00004fff: DUP4 00005000: PUSH1 0x20 00005002: DUP3 00005003: DUP6 00005004: ADD 00005005: ADD 00005006: GT 00005007: ISZERO 00005008: PUSH2 0x5010 0000500b: JUMPI 0000500c: PUSH1 0x00 0000500e: DUP1 0000500f: REVERT 00005010: JUMPDEST 00005011: DUP1 00005012: PUSH1 0x20 00005014: DUP5 00005015: ADD 00005016: PUSH1 0x20 00005018: DUP5 00005019: ADD 0000501a: CALLDATACOPY 0000501b: PUSH1 0x00 0000501d: SWAP1 0000501e: DUP3 0000501f: ADD 00005020: PUSH1 0x20 00005022: ADD 00005023: MSTORE 00005024: SWAP3 00005025: SWAP2 00005026: POP 00005027: POP 00005028: JUMP 00005029: JUMPDEST 0000502a: DUP1 0000502b: CALLDATALOAD 0000502c: PUSH2 0x16f5 0000502f: DUP2 00005030: PUSH2 0x5f7d 00005033: JUMP 00005034: JUMPDEST 00005035: DUP1 00005036: CALLDATALOAD 00005037: PUSH1 0x02 00005039: DUP2 0000503a: LT 0000503b: PUSH2 0x16f5 0000503e: JUMPI 0000503f: PUSH1 0x00 00005041: DUP1 00005042: REVERT 00005043: JUMPDEST 00005044: DUP1 00005045: CALLDATALOAD 00005046: PUSH1 0x04 00005048: DUP2 00005049: LT 0000504a: PUSH2 0x16f5 0000504d: JUMPI 0000504e: PUSH1 0x00 00005050: DUP1 00005051: REVERT 00005052: JUMPDEST 00005053: PUSH1 0x00 00005055: PUSH1 0x80 00005057: DUP3 00005058: DUP5 00005059: SUB 0000505a: SLT 0000505b: ISZERO 0000505c: PUSH2 0x5063 0000505f: JUMPI 00005060: DUP1 00005061: DUP2 00005062: REVERT 00005063: JUMPDEST 00005064: PUSH2 0x506d 00005067: PUSH1 0x80 00005069: PUSH2 0x5edd 0000506c: JUMP 0000506d: JUMPDEST 0000506e: SWAP1 0000506f: POP 00005070: DUP2 00005071: CALLDATALOAD 00005072: PUSH8 0xffffffffffffffff 0000507b: DUP1 0000507c: DUP3 0000507d: GT 0000507e: ISZERO 0000507f: PUSH2 0x5087 00005082: JUMPI 00005083: PUSH1 0x00 00005085: DUP1 00005086: REVERT 00005087: JUMPDEST 00005088: PUSH2 0x5093 0000508b: DUP6 0000508c: DUP4 0000508d: DUP7 0000508e: ADD 0000508f: PUSH2 0x4dc1 00005092: JUMP 00005093: JUMPDEST 00005094: DUP4 00005095: MSTORE 00005096: PUSH1 0x20 00005098: DUP5 00005099: ADD 0000509a: CALLDATALOAD 0000509b: SWAP2 0000509c: POP 0000509d: DUP1 0000509e: DUP3 0000509f: GT 000050a0: ISZERO 000050a1: PUSH2 0x50a9 000050a4: JUMPI 000050a5: PUSH1 0x00 000050a7: DUP1 000050a8: REVERT 000050a9: JUMPDEST 000050aa: PUSH2 0x50b5 000050ad: DUP6 000050ae: DUP4 000050af: DUP7 000050b0: ADD 000050b1: PUSH2 0x4ef9 000050b4: JUMP 000050b5: JUMPDEST 000050b6: PUSH1 0x20 000050b8: DUP5 000050b9: ADD 000050ba: MSTORE 000050bb: PUSH1 0x40 000050bd: DUP5 000050be: ADD 000050bf: CALLDATALOAD 000050c0: SWAP2 000050c1: POP 000050c2: DUP1 000050c3: DUP3 000050c4: GT 000050c5: ISZERO 000050c6: PUSH2 0x50ce 000050c9: JUMPI 000050ca: PUSH1 0x00 000050cc: DUP1 000050cd: REVERT 000050ce: JUMPDEST 000050cf: POP 000050d0: PUSH2 0x50db 000050d3: DUP5 000050d4: DUP3 000050d5: DUP6 000050d6: ADD 000050d7: PUSH2 0x4fc0 000050da: JUMP 000050db: JUMPDEST 000050dc: PUSH1 0x40 000050de: DUP4 000050df: ADD 000050e0: MSTORE 000050e1: POP 000050e2: PUSH2 0x50ee 000050e5: DUP4 000050e6: PUSH1 0x60 000050e8: DUP5 000050e9: ADD 000050ea: PUSH2 0x4fb5 000050ed: JUMP 000050ee: JUMPDEST 000050ef: PUSH1 0x60 000050f1: DUP3 000050f2: ADD 000050f3: MSTORE 000050f4: SWAP3 000050f5: SWAP2 000050f6: POP 000050f7: POP 000050f8: JUMP 000050f9: JUMPDEST 000050fa: PUSH1 0x00 000050fc: PUSH1 0x80 000050fe: DUP3 000050ff: DUP5 00005100: SUB 00005101: SLT 00005102: ISZERO 00005103: PUSH2 0x510a 00005106: JUMPI 00005107: DUP1 00005108: DUP2 00005109: REVERT 0000510a: JUMPDEST 0000510b: PUSH2 0x5114 0000510e: PUSH1 0x80 00005110: PUSH2 0x5edd 00005113: JUMP 00005114: JUMPDEST 00005115: SWAP1 00005116: POP 00005117: DUP2 00005118: CALLDATALOAD 00005119: PUSH2 0x5121 0000511c: DUP2 0000511d: PUSH2 0x5f5a 00005120: JUMP 00005121: JUMPDEST 00005122: DUP2 00005123: MSTORE 00005124: PUSH1 0x20 00005126: DUP3 00005127: ADD 00005128: CALLDATALOAD 00005129: PUSH2 0x5131 0000512c: DUP2 0000512d: PUSH2 0x5f6f 00005130: JUMP 00005131: JUMPDEST 00005132: PUSH1 0x20 00005134: DUP3 00005135: ADD 00005136: MSTORE 00005137: PUSH1 0x40 00005139: DUP3 0000513a: ADD 0000513b: CALLDATALOAD 0000513c: PUSH2 0x5144 0000513f: DUP2 00005140: PUSH2 0x5f5a 00005143: JUMP 00005144: JUMPDEST 00005145: PUSH1 0x40 00005147: DUP3 00005148: ADD 00005149: MSTORE 0000514a: PUSH1 0x60 0000514c: DUP3 0000514d: ADD 0000514e: CALLDATALOAD 0000514f: PUSH2 0x50ee 00005152: DUP2 00005153: PUSH2 0x5f6f 00005156: JUMP 00005157: JUMPDEST 00005158: PUSH1 0x00 0000515a: PUSH1 0x20 0000515c: DUP3 0000515d: DUP5 0000515e: SUB 0000515f: SLT 00005160: ISZERO 00005161: PUSH2 0x5168 00005164: JUMPI 00005165: DUP1 00005166: DUP2 00005167: REVERT 00005168: JUMPDEST 00005169: DUP2 0000516a: CALLDATALOAD 0000516b: PUSH2 0x16f2 0000516e: DUP2 0000516f: PUSH2 0x5f5a 00005172: JUMP 00005173: JUMPDEST 00005174: PUSH1 0x00 00005176: DUP1 00005177: PUSH1 0x40 00005179: DUP4 0000517a: DUP6 0000517b: SUB 0000517c: SLT 0000517d: ISZERO 0000517e: PUSH2 0x5185 00005181: JUMPI 00005182: DUP1 00005183: DUP2 00005184: REVERT 00005185: JUMPDEST 00005186: DUP3 00005187: CALLDATALOAD 00005188: PUSH2 0x5190 0000518b: DUP2 0000518c: PUSH2 0x5f5a 0000518f: JUMP 00005190: JUMPDEST 00005191: SWAP2 00005192: POP 00005193: PUSH1 0x20 00005195: DUP4 00005196: ADD 00005197: CALLDATALOAD 00005198: PUSH2 0x51a0 0000519b: DUP2 0000519c: PUSH2 0x5f5a 0000519f: JUMP 000051a0: JUMPDEST 000051a1: DUP1 000051a2: SWAP2 000051a3: POP 000051a4: POP 000051a5: SWAP3 000051a6: POP 000051a7: SWAP3 000051a8: SWAP1 000051a9: POP 000051aa: JUMP 000051ab: JUMPDEST 000051ac: PUSH1 0x00 000051ae: DUP1 000051af: PUSH1 0x00 000051b1: PUSH1 0x60 000051b3: DUP5 000051b4: DUP7 000051b5: SUB 000051b6: SLT 000051b7: ISZERO 000051b8: PUSH2 0x51bf 000051bb: JUMPI 000051bc: DUP1 000051bd: DUP2 000051be: REVERT 000051bf: JUMPDEST 000051c0: DUP4 000051c1: CALLDATALOAD 000051c2: PUSH2 0x51ca 000051c5: DUP2 000051c6: PUSH2 0x5f5a 000051c9: JUMP 000051ca: JUMPDEST 000051cb: SWAP3 000051cc: POP 000051cd: PUSH1 0x20 000051cf: DUP5 000051d0: ADD 000051d1: CALLDATALOAD 000051d2: PUSH2 0x51da 000051d5: DUP2 000051d6: PUSH2 0x5f5a 000051d9: JUMP 000051da: JUMPDEST 000051db: SWAP2 000051dc: POP 000051dd: PUSH1 0x40 000051df: DUP5 000051e0: ADD 000051e1: CALLDATALOAD 000051e2: PUSH2 0x51ea 000051e5: DUP2 000051e6: PUSH2 0x5f6f 000051e9: JUMP 000051ea: JUMPDEST 000051eb: DUP1 000051ec: SWAP2 000051ed: POP 000051ee: POP 000051ef: SWAP3 000051f0: POP 000051f1: SWAP3 000051f2: POP 000051f3: SWAP3 000051f4: JUMP 000051f5: JUMPDEST 000051f6: PUSH1 0x00 000051f8: DUP1 000051f9: PUSH1 0x40 000051fb: DUP4 000051fc: DUP6 000051fd: SUB 000051fe: SLT 000051ff: ISZERO 00005200: PUSH2 0x5207 00005203: JUMPI 00005204: DUP2 00005205: DUP3 00005206: REVERT 00005207: JUMPDEST 00005208: DUP3 00005209: CALLDATALOAD 0000520a: PUSH2 0x5212 0000520d: DUP2 0000520e: PUSH2 0x5f5a 00005211: JUMP 00005212: JUMPDEST 00005213: SWAP2 00005214: POP 00005215: PUSH1 0x20 00005217: DUP4 00005218: ADD 00005219: CALLDATALOAD 0000521a: PUSH8 0xffffffffffffffff 00005223: DUP2 00005224: GT 00005225: ISZERO 00005226: PUSH2 0x522d 00005229: JUMPI 0000522a: DUP2 0000522b: DUP3 0000522c: REVERT 0000522d: JUMPDEST 0000522e: PUSH2 0x5239 00005231: DUP6 00005232: DUP3 00005233: DUP7 00005234: ADD 00005235: PUSH2 0x4dc1 00005238: JUMP 00005239: JUMPDEST 0000523a: SWAP2 0000523b: POP 0000523c: POP 0000523d: SWAP3 0000523e: POP 0000523f: SWAP3 00005240: SWAP1 00005241: POP 00005242: JUMP 00005243: JUMPDEST 00005244: PUSH1 0x00 00005246: PUSH1 0x20 00005248: DUP1 00005249: DUP4 0000524a: DUP6 0000524b: SUB 0000524c: SLT 0000524d: ISZERO 0000524e: PUSH2 0x5255 00005251: JUMPI 00005252: DUP2 00005253: DUP3 00005254: REVERT 00005255: JUMPDEST 00005256: DUP3 00005257: CALLDATALOAD 00005258: PUSH8 0xffffffffffffffff 00005261: DUP2 00005262: GT 00005263: ISZERO 00005264: PUSH2 0x526b 00005267: JUMPI 00005268: DUP3 00005269: DUP4 0000526a: REVERT 0000526b: JUMPDEST 0000526c: DUP4 0000526d: ADD 0000526e: PUSH1 0x1f 00005270: DUP2 00005271: ADD 00005272: DUP6 00005273: SGT 00005274: PUSH2 0x527b 00005277: JUMPI 00005278: DUP3 00005279: DUP4 0000527a: REVERT 0000527b: JUMPDEST 0000527c: DUP1 0000527d: CALLDATALOAD 0000527e: PUSH2 0x5289 00005281: PUSH2 0x4ddf 00005284: DUP3 00005285: PUSH2 0x5f04 00005288: JUMP 00005289: JUMPDEST 0000528a: DUP2 0000528b: DUP2 0000528c: MSTORE 0000528d: DUP4 0000528e: DUP2 0000528f: ADD 00005290: SWAP1 00005291: DUP4 00005292: DUP6 00005293: ADD 00005294: PUSH1 0x80 00005296: DUP1 00005297: DUP6 00005298: MUL 00005299: DUP7 0000529a: ADD 0000529b: DUP8 0000529c: ADD 0000529d: DUP11 0000529e: LT 0000529f: ISZERO 000052a0: PUSH2 0x52a7 000052a3: JUMPI 000052a4: DUP8 000052a5: DUP9 000052a6: REVERT 000052a7: JUMPDEST 000052a8: DUP8 000052a9: SWAP6 000052aa: POP 000052ab: JUMPDEST 000052ac: DUP5 000052ad: DUP7 000052ae: LT 000052af: ISZERO 000052b0: PUSH2 0x5310 000052b3: JUMPI 000052b4: DUP1 000052b5: DUP3 000052b6: DUP12 000052b7: SUB 000052b8: SLT 000052b9: ISZERO 000052ba: PUSH2 0x52c1 000052bd: JUMPI 000052be: DUP8 000052bf: DUP9 000052c0: REVERT 000052c1: JUMPDEST 000052c2: PUSH2 0x52ca 000052c5: DUP2 000052c6: PUSH2 0x5edd 000052c9: JUMP 000052ca: JUMPDEST 000052cb: PUSH2 0x52d4 000052ce: DUP12 000052cf: DUP5 000052d0: PUSH2 0x5029 000052d3: JUMP 000052d4: JUMPDEST 000052d5: DUP2 000052d6: MSTORE 000052d7: DUP8 000052d8: DUP4 000052d9: ADD 000052da: CALLDATALOAD 000052db: DUP9 000052dc: DUP3 000052dd: ADD 000052de: MSTORE 000052df: PUSH1 0x40 000052e1: PUSH2 0x52ec 000052e4: DUP13 000052e5: DUP3 000052e6: DUP7 000052e7: ADD 000052e8: PUSH2 0x4db6 000052eb: JUMP 000052ec: JUMPDEST 000052ed: SWAP1 000052ee: DUP3 000052ef: ADD 000052f0: MSTORE 000052f1: PUSH1 0x60 000052f3: DUP4 000052f4: DUP2 000052f5: ADD 000052f6: CALLDATALOAD 000052f7: SWAP1 000052f8: DUP3 000052f9: ADD 000052fa: MSTORE 000052fb: DUP5 000052fc: MSTORE 000052fd: PUSH1 0x01 000052ff: SWAP6 00005300: SWAP1 00005301: SWAP6 00005302: ADD 00005303: SWAP5 00005304: SWAP3 00005305: DUP7 00005306: ADD 00005307: SWAP3 00005308: SWAP1 00005309: DUP2 0000530a: ADD 0000530b: SWAP1 0000530c: PUSH2 0x52ab 0000530f: JUMP 00005310: JUMPDEST 00005311: POP 00005312: SWAP1 00005313: SWAP9 00005314: SWAP8 00005315: POP 00005316: POP 00005317: POP 00005318: POP 00005319: POP 0000531a: POP 0000531b: POP 0000531c: POP 0000531d: JUMP 0000531e: JUMPDEST 0000531f: PUSH1 0x00 00005321: PUSH1 0x20 00005323: DUP1 00005324: DUP4 00005325: DUP6 00005326: SUB 00005327: SLT 00005328: ISZERO 00005329: PUSH2 0x5330 0000532c: JUMPI 0000532d: DUP2 0000532e: DUP3 0000532f: REVERT 00005330: JUMPDEST 00005331: DUP3 00005332: CALLDATALOAD 00005333: PUSH8 0xffffffffffffffff 0000533c: DUP2 0000533d: GT 0000533e: ISZERO 0000533f: PUSH2 0x5346 00005342: JUMPI 00005343: DUP3 00005344: DUP4 00005345: REVERT 00005346: JUMPDEST 00005347: DUP4 00005348: ADD 00005349: PUSH1 0x1f 0000534b: DUP2 0000534c: ADD 0000534d: DUP6 0000534e: SGT 0000534f: PUSH2 0x5356 00005352: JUMPI 00005353: DUP3 00005354: DUP4 00005355: REVERT 00005356: JUMPDEST 00005357: DUP1 00005358: CALLDATALOAD 00005359: PUSH2 0x5364 0000535c: PUSH2 0x4ddf 0000535f: DUP3 00005360: PUSH2 0x5f04 00005363: JUMP 00005364: JUMPDEST 00005365: DUP2 00005366: DUP2 00005367: MSTORE 00005368: DUP4 00005369: DUP2 0000536a: ADD 0000536b: SWAP1 0000536c: DUP4 0000536d: DUP6 0000536e: ADD 0000536f: PUSH1 0xa0 00005371: DUP1 00005372: DUP6 00005373: MUL 00005374: DUP7 00005375: ADD 00005376: DUP8 00005377: ADD 00005378: DUP11 00005379: LT 0000537a: ISZERO 0000537b: PUSH2 0x5382 0000537e: JUMPI 0000537f: DUP8 00005380: DUP9 00005381: REVERT 00005382: JUMPDEST 00005383: DUP8 00005384: SWAP6 00005385: POP 00005386: JUMPDEST 00005387: DUP5 00005388: DUP7 00005389: LT 0000538a: ISZERO 0000538b: PUSH2 0x5310 0000538e: JUMPI 0000538f: DUP1 00005390: DUP3 00005391: DUP12 00005392: SUB 00005393: SLT 00005394: ISZERO 00005395: PUSH2 0x539c 00005398: JUMPI 00005399: DUP8 0000539a: DUP9 0000539b: REVERT 0000539c: JUMPDEST 0000539d: PUSH2 0x53a5 000053a0: DUP2 000053a1: PUSH2 0x5edd 000053a4: JUMP 000053a5: JUMPDEST 000053a6: PUSH2 0x53af 000053a9: DUP12 000053aa: DUP5 000053ab: PUSH2 0x5043 000053ae: JUMP 000053af: JUMPDEST 000053b0: DUP2 000053b1: MSTORE 000053b2: PUSH2 0x53bd 000053b5: DUP12 000053b6: DUP10 000053b7: DUP6 000053b8: ADD 000053b9: PUSH2 0x4db6 000053bc: JUMP 000053bd: JUMPDEST 000053be: DUP2 000053bf: DUP10 000053c0: ADD 000053c1: MSTORE 000053c2: PUSH1 0x40 000053c4: DUP4 000053c5: DUP2 000053c6: ADD 000053c7: CALLDATALOAD 000053c8: SWAP1 000053c9: DUP3 000053ca: ADD 000053cb: MSTORE 000053cc: PUSH1 0x60 000053ce: PUSH2 0x53d9 000053d1: DUP13 000053d2: DUP3 000053d3: DUP7 000053d4: ADD 000053d5: PUSH2 0x4db6 000053d8: JUMP 000053d9: JUMPDEST 000053da: SWAP1 000053db: DUP3 000053dc: ADD 000053dd: MSTORE 000053de: PUSH1 0x80 000053e0: PUSH2 0x53eb 000053e3: DUP13 000053e4: DUP6 000053e5: DUP4 000053e6: ADD 000053e7: PUSH2 0x4db6 000053ea: JUMP 000053eb: JUMPDEST 000053ec: SWAP1 000053ed: DUP3 000053ee: ADD 000053ef: MSTORE 000053f0: DUP5 000053f1: MSTORE 000053f2: PUSH1 0x01 000053f4: SWAP6 000053f5: SWAP1 000053f6: SWAP6 000053f7: ADD 000053f8: SWAP5 000053f9: SWAP3 000053fa: DUP7 000053fb: ADD 000053fc: SWAP3 000053fd: SWAP1 000053fe: DUP2 000053ff: ADD 00005400: SWAP1 00005401: PUSH2 0x5386 00005404: JUMP 00005405: JUMPDEST 00005406: PUSH1 0x00 00005408: DUP1 00005409: PUSH1 0x40 0000540b: DUP4 0000540c: DUP6 0000540d: SUB 0000540e: SLT 0000540f: ISZERO 00005410: PUSH2 0x5417 00005413: JUMPI 00005414: DUP2 00005415: DUP3 00005416: REVERT 00005417: JUMPDEST 00005418: DUP3 00005419: MLOAD 0000541a: PUSH8 0xffffffffffffffff 00005423: DUP1 00005424: DUP3 00005425: GT 00005426: ISZERO 00005427: PUSH2 0x542e 0000542a: JUMPI 0000542b: DUP4 0000542c: DUP5 0000542d: REVERT 0000542e: JUMPDEST 0000542f: PUSH2 0x543a 00005432: DUP7 00005433: DUP4 00005434: DUP8 00005435: ADD 00005436: PUSH2 0x4f57 00005439: JUMP 0000543a: JUMPDEST 0000543b: SWAP4 0000543c: POP 0000543d: PUSH1 0x20 0000543f: DUP6 00005440: ADD 00005441: MLOAD 00005442: SWAP2 00005443: POP 00005444: DUP1 00005445: DUP3 00005446: GT 00005447: ISZERO 00005448: PUSH2 0x544f 0000544b: JUMPI 0000544c: DUP3 0000544d: DUP4 0000544e: REVERT 0000544f: JUMPDEST 00005450: POP 00005451: PUSH2 0x5239 00005454: DUP6 00005455: DUP3 00005456: DUP7 00005457: ADD 00005458: PUSH2 0x4f57 0000545b: JUMP 0000545c: JUMPDEST 0000545d: PUSH1 0x00 0000545f: PUSH1 0x20 00005461: DUP3 00005462: DUP5 00005463: SUB 00005464: SLT 00005465: ISZERO 00005466: PUSH2 0x546d 00005469: JUMPI 0000546a: DUP1 0000546b: DUP2 0000546c: REVERT 0000546d: JUMPDEST 0000546e: DUP2 0000546f: CALLDATALOAD 00005470: PUSH2 0x16f2 00005473: DUP2 00005474: PUSH2 0x5f6f 00005477: JUMP 00005478: JUMPDEST 00005479: PUSH1 0x00 0000547b: PUSH1 0x20 0000547d: DUP3 0000547e: DUP5 0000547f: SUB 00005480: SLT 00005481: ISZERO 00005482: PUSH2 0x5489 00005485: JUMPI 00005486: DUP1 00005487: DUP2 00005488: REVERT 00005489: JUMPDEST 0000548a: DUP2 0000548b: MLOAD 0000548c: PUSH2 0x16f2 0000548f: DUP2 00005490: PUSH2 0x5f6f 00005493: JUMP 00005494: JUMPDEST 00005495: PUSH1 0x00 00005497: PUSH1 0x20 00005499: DUP3 0000549a: DUP5 0000549b: SUB 0000549c: SLT 0000549d: ISZERO 0000549e: PUSH2 0x54a5 000054a1: JUMPI 000054a2: DUP1 000054a3: DUP2 000054a4: REVERT 000054a5: JUMPDEST 000054a6: POP 000054a7: CALLDATALOAD 000054a8: SWAP2 000054a9: SWAP1 000054aa: POP 000054ab: JUMP 000054ac: JUMPDEST 000054ad: PUSH1 0x00 000054af: DUP1 000054b0: PUSH1 0x00 000054b2: DUP1 000054b3: PUSH1 0x80 000054b5: DUP6 000054b6: DUP8 000054b7: SUB 000054b8: SLT 000054b9: ISZERO 000054ba: PUSH2 0x54c1 000054bd: JUMPI 000054be: DUP2 000054bf: DUP3 000054c0: REVERT 000054c1: JUMPDEST 000054c2: DUP5 000054c3: CALLDATALOAD 000054c4: SWAP4 000054c5: POP 000054c6: PUSH1 0x20 000054c8: DUP6 000054c9: ADD 000054ca: CALLDATALOAD 000054cb: PUSH2 0x54d3 000054ce: DUP2 000054cf: PUSH2 0x5f5a 000054d2: JUMP 000054d3: JUMPDEST 000054d4: SWAP3 000054d5: POP 000054d6: PUSH1 0x40 000054d8: DUP6 000054d9: ADD 000054da: CALLDATALOAD 000054db: PUSH2 0x54e3 000054de: DUP2 000054df: PUSH2 0x5f5a 000054e2: JUMP 000054e3: JUMPDEST 000054e4: SWAP2 000054e5: POP 000054e6: PUSH1 0x60 000054e8: DUP6 000054e9: ADD 000054ea: CALLDATALOAD 000054eb: PUSH8 0xffffffffffffffff 000054f4: DUP2 000054f5: GT 000054f6: ISZERO 000054f7: PUSH2 0x54fe 000054fa: JUMPI 000054fb: DUP2 000054fc: DUP3 000054fd: REVERT 000054fe: JUMPDEST 000054ff: PUSH2 0x550a 00005502: DUP8 00005503: DUP3 00005504: DUP9 00005505: ADD 00005506: PUSH2 0x5052 00005509: JUMP 0000550a: JUMPDEST 0000550b: SWAP2 0000550c: POP 0000550d: POP 0000550e: SWAP3 0000550f: SWAP6 00005510: SWAP2 00005511: SWAP5 00005512: POP 00005513: SWAP3 00005514: POP 00005515: JUMP 00005516: JUMPDEST 00005517: PUSH1 0x00 00005519: DUP1 0000551a: PUSH1 0x40 0000551c: DUP4 0000551d: DUP6 0000551e: SUB 0000551f: SLT 00005520: ISZERO 00005521: PUSH2 0x5528 00005524: JUMPI 00005525: DUP2 00005526: DUP3 00005527: REVERT 00005528: JUMPDEST 00005529: DUP3 0000552a: CALLDATALOAD 0000552b: SWAP2 0000552c: POP 0000552d: PUSH1 0x20 0000552f: DUP4 00005530: ADD 00005531: CALLDATALOAD 00005532: PUSH8 0xffffffffffffffff 0000553b: DUP2 0000553c: GT 0000553d: ISZERO 0000553e: PUSH2 0x522d 00005541: JUMPI 00005542: DUP2 00005543: DUP3 00005544: REVERT 00005545: JUMPDEST 00005546: PUSH1 0x00 00005548: DUP1 00005549: PUSH1 0x00 0000554b: PUSH1 0x60 0000554d: DUP5 0000554e: DUP7 0000554f: SUB 00005550: SLT 00005551: ISZERO 00005552: PUSH2 0x5559 00005555: JUMPI 00005556: DUP1 00005557: DUP2 00005558: REVERT 00005559: JUMPDEST 0000555a: DUP4 0000555b: CALLDATALOAD 0000555c: SWAP3 0000555d: POP 0000555e: PUSH1 0x20 00005560: DUP1 00005561: DUP6 00005562: ADD 00005563: CALLDATALOAD 00005564: PUSH8 0xffffffffffffffff 0000556d: DUP1 0000556e: DUP3 0000556f: GT 00005570: ISZERO 00005571: PUSH2 0x5578 00005574: JUMPI 00005575: DUP4 00005576: DUP5 00005577: REVERT 00005578: JUMPDEST 00005579: PUSH2 0x5584 0000557c: DUP9 0000557d: DUP4 0000557e: DUP10 0000557f: ADD 00005580: PUSH2 0x4dc1 00005583: JUMP 00005584: JUMPDEST 00005585: SWAP5 00005586: POP 00005587: PUSH1 0x40 00005589: DUP8 0000558a: ADD 0000558b: CALLDATALOAD 0000558c: SWAP2 0000558d: POP 0000558e: DUP1 0000558f: DUP3 00005590: GT 00005591: ISZERO 00005592: PUSH2 0x5599 00005595: JUMPI 00005596: DUP4 00005597: DUP5 00005598: REVERT 00005599: JUMPDEST 0000559a: POP 0000559b: DUP6 0000559c: ADD 0000559d: PUSH1 0x1f 0000559f: DUP2 000055a0: ADD 000055a1: DUP8 000055a2: SGT 000055a3: PUSH2 0x55aa 000055a6: JUMPI 000055a7: DUP3 000055a8: DUP4 000055a9: REVERT 000055aa: JUMPDEST 000055ab: DUP1 000055ac: CALLDATALOAD 000055ad: PUSH2 0x55b8 000055b0: PUSH2 0x4ddf 000055b3: DUP3 000055b4: PUSH2 0x5f04 000055b7: JUMP 000055b8: JUMPDEST 000055b9: DUP2 000055ba: DUP2 000055bb: MSTORE 000055bc: DUP4 000055bd: DUP2 000055be: ADD 000055bf: SWAP1 000055c0: DUP4 000055c1: DUP6 000055c2: ADD 000055c3: DUP6 000055c4: DUP5 000055c5: MUL 000055c6: DUP6 000055c7: ADD 000055c8: DUP7 000055c9: ADD 000055ca: DUP12 000055cb: LT 000055cc: ISZERO 000055cd: PUSH2 0x55d4 000055d0: JUMPI 000055d1: DUP7 000055d2: DUP8 000055d3: REVERT 000055d4: JUMPDEST 000055d5: DUP7 000055d6: SWAP5 000055d7: POP 000055d8: JUMPDEST 000055d9: DUP4 000055da: DUP6 000055db: LT 000055dc: ISZERO 000055dd: PUSH2 0x55ff 000055e0: JUMPI 000055e1: DUP1 000055e2: CALLDATALOAD 000055e3: PUSH2 0x55eb 000055e6: DUP2 000055e7: PUSH2 0x5f5a 000055ea: JUMP 000055eb: JUMPDEST 000055ec: DUP4 000055ed: MSTORE 000055ee: PUSH1 0x01 000055f0: SWAP5 000055f1: SWAP1 000055f2: SWAP5 000055f3: ADD 000055f4: SWAP4 000055f5: SWAP2 000055f6: DUP6 000055f7: ADD 000055f8: SWAP2 000055f9: DUP6 000055fa: ADD 000055fb: PUSH2 0x55d8 000055fe: JUMP 000055ff: JUMPDEST 00005600: POP 00005601: DUP1 00005602: SWAP6 00005603: POP 00005604: POP 00005605: POP 00005606: POP 00005607: POP 00005608: POP 00005609: SWAP3 0000560a: POP 0000560b: SWAP3 0000560c: POP 0000560d: SWAP3 0000560e: JUMP 0000560f: JUMPDEST 00005610: PUSH1 0x00 00005612: DUP1 00005613: PUSH1 0x40 00005615: DUP4 00005616: DUP6 00005617: SUB 00005618: SLT 00005619: ISZERO 0000561a: PUSH2 0x5621 0000561d: JUMPI 0000561e: DUP2 0000561f: DUP3 00005620: REVERT 00005621: JUMPDEST 00005622: DUP3 00005623: CALLDATALOAD 00005624: SWAP2 00005625: POP 00005626: PUSH1 0x20 00005628: DUP4 00005629: ADD 0000562a: CALLDATALOAD 0000562b: PUSH2 0x51a0 0000562e: DUP2 0000562f: PUSH2 0x5f5a 00005632: JUMP 00005633: JUMPDEST 00005634: PUSH1 0x00 00005636: PUSH1 0x20 00005638: DUP3 00005639: DUP5 0000563a: SUB 0000563b: SLT 0000563c: ISZERO 0000563d: PUSH2 0x5644 00005640: JUMPI 00005641: DUP1 00005642: DUP2 00005643: REVERT 00005644: JUMPDEST 00005645: DUP2 00005646: CALLDATALOAD 00005647: PUSH1 0x01 00005649: PUSH1 0x01 0000564b: PUSH1 0xe0 0000564d: SHL 0000564e: SUB 0000564f: NOT 00005650: DUP2 00005651: AND 00005652: DUP2 00005653: EQ 00005654: PUSH2 0x16f2 00005657: JUMPI 00005658: DUP2 00005659: DUP3 0000565a: REVERT 0000565b: JUMPDEST 0000565c: PUSH1 0x00 0000565e: DUP1 0000565f: PUSH1 0x00 00005661: DUP1 00005662: PUSH1 0x80 00005664: DUP6 00005665: DUP8 00005666: SUB 00005667: SLT 00005668: ISZERO 00005669: PUSH2 0x5670 0000566c: JUMPI 0000566d: DUP2 0000566e: DUP3 0000566f: REVERT 00005670: JUMPDEST 00005671: DUP5 00005672: CALLDATALOAD 00005673: PUSH2 0x567b 00005676: DUP2 00005677: PUSH2 0x5f5a 0000567a: JUMP 0000567b: JUMPDEST 0000567c: SWAP4 0000567d: POP 0000567e: PUSH1 0x20 00005680: DUP6 00005681: ADD 00005682: CALLDATALOAD 00005683: PUSH8 0xffffffffffffffff 0000568c: DUP1 0000568d: DUP3 0000568e: GT 0000568f: ISZERO 00005690: PUSH2 0x5697 00005693: JUMPI 00005694: DUP4 00005695: DUP5 00005696: REVERT 00005697: JUMPDEST 00005698: PUSH2 0x56a3 0000569b: DUP9 0000569c: DUP4 0000569d: DUP10 0000569e: ADD 0000569f: PUSH2 0x4dc1 000056a2: JUMP 000056a3: JUMPDEST 000056a4: SWAP5 000056a5: POP 000056a6: PUSH1 0x40 000056a8: DUP8 000056a9: ADD 000056aa: CALLDATALOAD 000056ab: SWAP2 000056ac: POP 000056ad: DUP1 000056ae: DUP3 000056af: GT 000056b0: ISZERO 000056b1: PUSH2 0x56b8 000056b4: JUMPI 000056b5: DUP4 000056b6: DUP5 000056b7: REVERT 000056b8: JUMPDEST 000056b9: PUSH2 0x56c4 000056bc: DUP9 000056bd: DUP4 000056be: DUP10 000056bf: ADD 000056c0: PUSH2 0x4ef9 000056c3: JUMP 000056c4: JUMPDEST 000056c5: SWAP4 000056c6: POP 000056c7: PUSH1 0x60 000056c9: DUP8 000056ca: ADD 000056cb: CALLDATALOAD 000056cc: SWAP2 000056cd: POP 000056ce: DUP1 000056cf: DUP3 000056d0: GT 000056d1: ISZERO 000056d2: PUSH2 0x56d9 000056d5: JUMPI 000056d6: DUP3 000056d7: DUP4 000056d8: REVERT 000056d9: JUMPDEST 000056da: POP 000056db: PUSH2 0x550a 000056de: DUP8 000056df: DUP3 000056e0: DUP9 000056e1: ADD 000056e2: PUSH2 0x4fc0 000056e5: JUMP 000056e6: JUMPDEST 000056e7: PUSH1 0x00 000056e9: PUSH1 0x20 000056eb: DUP3 000056ec: DUP5 000056ed: SUB 000056ee: SLT 000056ef: ISZERO 000056f0: PUSH2 0x56f7 000056f3: JUMPI 000056f4: DUP1 000056f5: DUP2 000056f6: REVERT 000056f7: JUMPDEST 000056f8: DUP2 000056f9: CALLDATALOAD 000056fa: PUSH2 0x16f2 000056fd: DUP2 000056fe: PUSH2 0x5f7d 00005701: JUMP 00005702: JUMPDEST 00005703: PUSH1 0x00 00005705: DUP1 00005706: PUSH1 0x00 00005708: DUP1 00005709: PUSH1 0xe0 0000570b: DUP6 0000570c: DUP8 0000570d: SUB 0000570e: SLT 0000570f: ISZERO 00005710: PUSH2 0x5717 00005713: JUMPI 00005714: DUP2 00005715: DUP3 00005716: REVERT 00005717: JUMPDEST 00005718: PUSH2 0x5721 0000571b: DUP7 0000571c: DUP7 0000571d: PUSH2 0x5034 00005720: JUMP 00005721: JUMPDEST 00005722: SWAP4 00005723: POP 00005724: PUSH1 0x20 00005726: DUP6 00005727: ADD 00005728: CALLDATALOAD 00005729: PUSH8 0xffffffffffffffff 00005732: DUP1 00005733: DUP3 00005734: GT 00005735: ISZERO 00005736: PUSH2 0x573d 00005739: JUMPI 0000573a: DUP4 0000573b: DUP5 0000573c: REVERT 0000573d: JUMPDEST 0000573e: PUSH2 0x5749 00005741: DUP9 00005742: DUP4 00005743: DUP10 00005744: ADD 00005745: PUSH2 0x4e38 00005748: JUMP 00005749: JUMPDEST 0000574a: SWAP5 0000574b: POP 0000574c: PUSH1 0x40 0000574e: DUP8 0000574f: ADD 00005750: CALLDATALOAD 00005751: SWAP2 00005752: POP 00005753: DUP1 00005754: DUP3 00005755: GT 00005756: ISZERO 00005757: PUSH2 0x575e 0000575a: JUMPI 0000575b: DUP4 0000575c: DUP5 0000575d: REVERT 0000575e: JUMPDEST 0000575f: POP 00005760: PUSH2 0x576b 00005763: DUP8 00005764: DUP3 00005765: DUP9 00005766: ADD 00005767: PUSH2 0x4dc1 0000576a: JUMP 0000576b: JUMPDEST 0000576c: SWAP3 0000576d: POP 0000576e: POP 0000576f: PUSH2 0x577b 00005772: DUP7 00005773: PUSH1 0x60 00005775: DUP8 00005776: ADD 00005777: PUSH2 0x50f9 0000577a: JUMP 0000577b: JUMPDEST 0000577c: SWAP1 0000577d: POP 0000577e: SWAP3 0000577f: SWAP6 00005780: SWAP2 00005781: SWAP5 00005782: POP 00005783: SWAP3 00005784: POP 00005785: JUMP 00005786: JUMPDEST 00005787: PUSH1 0x00 00005789: DUP1 0000578a: PUSH1 0x00 0000578c: DUP1 0000578d: PUSH1 0x00 0000578f: DUP1 00005790: PUSH2 0x0120 00005793: DUP8 00005794: DUP10 00005795: SUB 00005796: SLT 00005797: ISZERO 00005798: PUSH2 0x579f 0000579b: JUMPI 0000579c: DUP4 0000579d: DUP5 0000579e: REVERT 0000579f: JUMPDEST 000057a0: PUSH2 0x57a9 000057a3: DUP9 000057a4: DUP9 000057a5: PUSH2 0x5034 000057a8: JUMP 000057a9: JUMPDEST 000057aa: SWAP6 000057ab: POP 000057ac: PUSH1 0x20 000057ae: DUP1 000057af: DUP9 000057b0: ADD 000057b1: CALLDATALOAD 000057b2: PUSH8 0xffffffffffffffff 000057bb: DUP1 000057bc: DUP3 000057bd: GT 000057be: ISZERO 000057bf: PUSH2 0x57c6 000057c2: JUMPI 000057c3: DUP7 000057c4: DUP8 000057c5: REVERT 000057c6: JUMPDEST 000057c7: PUSH2 0x57d2 000057ca: DUP12 000057cb: DUP4 000057cc: DUP13 000057cd: ADD 000057ce: PUSH2 0x4e38 000057d1: JUMP 000057d2: JUMPDEST 000057d3: SWAP8 000057d4: POP 000057d5: PUSH1 0x40 000057d7: DUP11 000057d8: ADD 000057d9: CALLDATALOAD 000057da: SWAP2 000057db: POP 000057dc: DUP1 000057dd: DUP3 000057de: GT 000057df: ISZERO 000057e0: PUSH2 0x57e7 000057e3: JUMPI 000057e4: DUP7 000057e5: DUP8 000057e6: REVERT 000057e7: JUMPDEST 000057e8: PUSH2 0x57f3 000057eb: DUP12 000057ec: DUP4 000057ed: DUP13 000057ee: ADD 000057ef: PUSH2 0x4dc1 000057f2: JUMP 000057f3: JUMPDEST 000057f4: SWAP7 000057f5: POP 000057f6: PUSH2 0x5802 000057f9: DUP12 000057fa: PUSH1 0x60 000057fc: DUP13 000057fd: ADD 000057fe: PUSH2 0x50f9 00005801: JUMP 00005802: JUMPDEST 00005803: SWAP6 00005804: POP 00005805: PUSH1 0xe0 00005807: DUP11 00005808: ADD 00005809: CALLDATALOAD 0000580a: SWAP2 0000580b: POP 0000580c: DUP1 0000580d: DUP3 0000580e: GT 0000580f: ISZERO 00005810: PUSH2 0x5817 00005813: JUMPI 00005814: DUP5 00005815: DUP6 00005816: REVERT 00005817: JUMPDEST 00005818: POP 00005819: DUP9 0000581a: ADD 0000581b: PUSH1 0x1f 0000581d: DUP2 0000581e: ADD 0000581f: DUP11 00005820: SGT 00005821: PUSH2 0x5828 00005824: JUMPI 00005825: DUP4 00005826: DUP5 00005827: REVERT 00005828: JUMPDEST 00005829: DUP1 0000582a: CALLDATALOAD 0000582b: PUSH2 0x5836 0000582e: PUSH2 0x4ddf 00005831: DUP3 00005832: PUSH2 0x5f04 00005835: JUMP 00005836: JUMPDEST 00005837: DUP2 00005838: DUP2 00005839: MSTORE 0000583a: DUP4 0000583b: DUP2 0000583c: ADD 0000583d: SWAP1 0000583e: DUP4 0000583f: DUP6 00005840: ADD 00005841: DUP6 00005842: DUP5 00005843: MUL 00005844: DUP6 00005845: ADD 00005846: DUP7 00005847: ADD 00005848: DUP15 00005849: LT 0000584a: ISZERO 0000584b: PUSH2 0x5852 0000584e: JUMPI 0000584f: DUP8 00005850: DUP9 00005851: REVERT 00005852: JUMPDEST 00005853: DUP8 00005854: SWAP5 00005855: POP 00005856: JUMPDEST 00005857: DUP4 00005858: DUP6 00005859: LT 0000585a: ISZERO 0000585b: PUSH2 0x5874 0000585e: JUMPI 0000585f: DUP1 00005860: CALLDATALOAD 00005861: DUP4 00005862: MSTORE 00005863: PUSH1 0x01 00005865: SWAP5 00005866: SWAP1 00005867: SWAP5 00005868: ADD 00005869: SWAP4 0000586a: SWAP2 0000586b: DUP6 0000586c: ADD 0000586d: SWAP2 0000586e: DUP6 0000586f: ADD 00005870: PUSH2 0x5856 00005873: JUMP 00005874: JUMPDEST 00005875: POP 00005876: DUP1 00005877: SWAP7 00005878: POP 00005879: POP 0000587a: POP 0000587b: POP 0000587c: POP 0000587d: POP 0000587e: PUSH2 0x0100 00005881: DUP8 00005882: ADD 00005883: CALLDATALOAD 00005884: SWAP1 00005885: POP 00005886: SWAP3 00005887: SWAP6 00005888: POP 00005889: SWAP3 0000588a: SWAP6 0000588b: POP 0000588c: SWAP3 0000588d: SWAP6 0000588e: JUMP 0000588f: JUMPDEST 00005890: PUSH1 0x00 00005892: DUP1 00005893: PUSH1 0x00 00005895: DUP1 00005896: PUSH1 0xe0 00005898: DUP6 00005899: DUP8 0000589a: SUB 0000589b: SLT 0000589c: ISZERO 0000589d: PUSH2 0x58a4 000058a0: JUMPI 000058a1: DUP2 000058a2: DUP3 000058a3: REVERT 000058a4: JUMPDEST 000058a5: DUP5 000058a6: CALLDATALOAD 000058a7: PUSH8 0xffffffffffffffff 000058b0: DUP1 000058b1: DUP3 000058b2: GT 000058b3: ISZERO 000058b4: PUSH2 0x58bb 000058b7: JUMPI 000058b8: DUP4 000058b9: DUP5 000058ba: REVERT 000058bb: JUMPDEST 000058bc: SWAP1 000058bd: DUP7 000058be: ADD 000058bf: SWAP1 000058c0: PUSH1 0xc0 000058c2: DUP3 000058c3: DUP10 000058c4: SUB 000058c5: SLT 000058c6: ISZERO 000058c7: PUSH2 0x58ce 000058ca: JUMPI 000058cb: DUP4 000058cc: DUP5 000058cd: REVERT 000058ce: JUMPDEST 000058cf: PUSH2 0x58d8 000058d2: PUSH1 0xc0 000058d4: PUSH2 0x5edd 000058d7: JUMP 000058d8: JUMPDEST 000058d9: DUP3 000058da: CALLDATALOAD 000058db: DUP2 000058dc: MSTORE 000058dd: PUSH2 0x58e9 000058e0: DUP10 000058e1: PUSH1 0x20 000058e3: DUP6 000058e4: ADD 000058e5: PUSH2 0x5034 000058e8: JUMP 000058e9: JUMPDEST 000058ea: PUSH1 0x20 000058ec: DUP3 000058ed: ADD 000058ee: MSTORE 000058ef: PUSH1 0x40 000058f1: DUP4 000058f2: ADD 000058f3: CALLDATALOAD 000058f4: PUSH2 0x58fc 000058f7: DUP2 000058f8: PUSH2 0x5f5a 000058fb: JUMP 000058fc: JUMPDEST 000058fd: PUSH1 0x40 000058ff: DUP3 00005900: ADD 00005901: MSTORE 00005902: PUSH2 0x590e 00005905: DUP10 00005906: PUSH1 0x60 00005908: DUP6 00005909: ADD 0000590a: PUSH2 0x4db6 0000590d: JUMP 0000590e: JUMPDEST 0000590f: PUSH1 0x60 00005911: DUP3 00005912: ADD 00005913: MSTORE 00005914: PUSH1 0x80 00005916: DUP4 00005917: ADD 00005918: CALLDATALOAD 00005919: PUSH1 0x80 0000591b: DUP3 0000591c: ADD 0000591d: MSTORE 0000591e: PUSH1 0xa0 00005920: DUP4 00005921: ADD 00005922: CALLDATALOAD 00005923: DUP3 00005924: DUP2 00005925: GT 00005926: ISZERO 00005927: PUSH2 0x592e 0000592a: JUMPI 0000592b: DUP6 0000592c: DUP7 0000592d: REVERT 0000592e: JUMPDEST 0000592f: PUSH2 0x593a 00005932: DUP11 00005933: DUP3 00005934: DUP7 00005935: ADD 00005936: PUSH2 0x4fc0 00005939: JUMP 0000593a: JUMPDEST 0000593b: PUSH1 0xa0 0000593d: DUP4 0000593e: ADD 0000593f: MSTORE 00005940: POP 00005941: DUP1 00005942: SWAP7 00005943: POP 00005944: POP 00005945: POP 00005946: POP 00005947: PUSH2 0x5953 0000594a: DUP7 0000594b: PUSH1 0x20 0000594d: DUP8 0000594e: ADD 0000594f: PUSH2 0x50f9 00005952: JUMP 00005953: JUMPDEST 00005954: SWAP4 00005955: SWAP7 00005956: SWAP4 00005957: SWAP6 00005958: POP 00005959: POP 0000595a: POP 0000595b: POP 0000595c: PUSH1 0xa0 0000595e: DUP3 0000595f: ADD 00005960: CALLDATALOAD 00005961: SWAP2 00005962: PUSH1 0xc0 00005964: ADD 00005965: CALLDATALOAD 00005966: SWAP1 00005967: JUMP 00005968: JUMPDEST 00005969: PUSH1 0x00 0000596b: PUSH1 0x20 0000596d: DUP3 0000596e: DUP5 0000596f: SUB 00005970: SLT 00005971: ISZERO 00005972: PUSH2 0x5979 00005975: JUMPI 00005976: DUP1 00005977: DUP2 00005978: REVERT 00005979: JUMPDEST 0000597a: POP 0000597b: MLOAD 0000597c: SWAP2 0000597d: SWAP1 0000597e: POP 0000597f: JUMP 00005980: JUMPDEST 00005981: PUSH1 0x01 00005983: PUSH1 0x01 00005985: PUSH1 0xa0 00005987: SHL 00005988: SUB 00005989: AND 0000598a: SWAP1 0000598b: MSTORE 0000598c: JUMP 0000598d: JUMPDEST 0000598e: PUSH1 0x00 00005990: DUP2 00005991: MLOAD 00005992: DUP1 00005993: DUP5 00005994: MSTORE 00005995: PUSH1 0x20 00005997: DUP1 00005998: DUP6 00005999: ADD 0000599a: SWAP5 0000599b: POP 0000599c: DUP1 0000599d: DUP5 0000599e: ADD 0000599f: DUP4 000059a0: JUMPDEST 000059a1: DUP4 000059a2: DUP2 000059a3: LT 000059a4: ISZERO 000059a5: PUSH2 0x59c5 000059a8: JUMPI 000059a9: DUP2 000059aa: MLOAD 000059ab: PUSH1 0x01 000059ad: PUSH1 0x01 000059af: PUSH1 0xa0 000059b1: SHL 000059b2: SUB 000059b3: AND 000059b4: DUP8 000059b5: MSTORE 000059b6: SWAP6 000059b7: DUP3 000059b8: ADD 000059b9: SWAP6 000059ba: SWAP1 000059bb: DUP3 000059bc: ADD 000059bd: SWAP1 000059be: PUSH1 0x01 000059c0: ADD 000059c1: PUSH2 0x59a0 000059c4: JUMP 000059c5: JUMPDEST 000059c6: POP 000059c7: SWAP5 000059c8: SWAP6 000059c9: SWAP5 000059ca: POP 000059cb: POP 000059cc: POP 000059cd: POP 000059ce: POP 000059cf: JUMP 000059d0: JUMPDEST 000059d1: PUSH1 0x00 000059d3: DUP2 000059d4: MLOAD 000059d5: DUP1 000059d6: DUP5 000059d7: MSTORE 000059d8: PUSH1 0x20 000059da: DUP1 000059db: DUP6 000059dc: ADD 000059dd: SWAP5 000059de: POP 000059df: DUP1 000059e0: DUP5 000059e1: ADD 000059e2: DUP4 000059e3: JUMPDEST 000059e4: DUP4 000059e5: DUP2 000059e6: LT 000059e7: ISZERO 000059e8: PUSH2 0x59c5 000059eb: JUMPI 000059ec: DUP2 000059ed: MLOAD 000059ee: DUP8 000059ef: MSTORE 000059f0: SWAP6 000059f1: DUP3 000059f2: ADD 000059f3: SWAP6 000059f4: SWAP1 000059f5: DUP3 000059f6: ADD 000059f7: SWAP1 000059f8: PUSH1 0x01 000059fa: ADD 000059fb: PUSH2 0x59e3 000059fe: JUMP 000059ff: JUMPDEST 00005a00: PUSH1 0x00 00005a02: DUP2 00005a03: MLOAD 00005a04: DUP1 00005a05: DUP5 00005a06: MSTORE 00005a07: PUSH2 0x5a17 00005a0a: DUP2 00005a0b: PUSH1 0x20 00005a0d: DUP7 00005a0e: ADD 00005a0f: PUSH1 0x20 00005a11: DUP7 00005a12: ADD 00005a13: PUSH2 0x5f24 00005a16: JUMP 00005a17: JUMPDEST 00005a18: PUSH1 0x1f 00005a1a: ADD 00005a1b: PUSH1 0x1f 00005a1d: NOT 00005a1e: AND 00005a1f: SWAP3 00005a20: SWAP1 00005a21: SWAP3 00005a22: ADD 00005a23: PUSH1 0x20 00005a25: ADD 00005a26: SWAP3 00005a27: SWAP2 00005a28: POP 00005a29: POP 00005a2a: JUMP 00005a2b: JUMPDEST 00005a2c: PUSH1 0x00 00005a2e: PUSH2 0x0120 00005a31: DUP3 00005a32: MLOAD 00005a33: PUSH1 0x02 00005a35: DUP2 00005a36: LT 00005a37: PUSH2 0x5a3c 00005a3a: JUMPI 00005a3b: INVALID 00005a3c: JUMPDEST 00005a3d: DUP1 00005a3e: DUP6 00005a3f: MSTORE 00005a40: POP 00005a41: PUSH1 0x20 00005a43: DUP4 00005a44: ADD 00005a45: MLOAD 00005a46: PUSH2 0x5a52 00005a49: PUSH1 0x20 00005a4b: DUP7 00005a4c: ADD 00005a4d: DUP3 00005a4e: PUSH2 0x5980 00005a51: JUMP 00005a52: JUMPDEST 00005a53: POP 00005a54: PUSH1 0x40 00005a56: DUP4 00005a57: ADD 00005a58: MLOAD 00005a59: PUSH2 0x5a65 00005a5c: PUSH1 0x40 00005a5e: DUP7 00005a5f: ADD 00005a60: DUP3 00005a61: PUSH2 0x5980 00005a64: JUMP 00005a65: JUMPDEST 00005a66: POP 00005a67: PUSH1 0x60 00005a69: DUP4 00005a6a: ADD 00005a6b: MLOAD 00005a6c: PUSH1 0x60 00005a6e: DUP6 00005a6f: ADD 00005a70: MSTORE 00005a71: PUSH1 0x80 00005a73: DUP4 00005a74: ADD 00005a75: MLOAD 00005a76: PUSH1 0x80 00005a78: DUP6 00005a79: ADD 00005a7a: MSTORE 00005a7b: PUSH1 0xa0 00005a7d: DUP4 00005a7e: ADD 00005a7f: MLOAD 00005a80: PUSH1 0xa0 00005a82: DUP6 00005a83: ADD 00005a84: MSTORE 00005a85: PUSH1 0xc0 00005a87: DUP4 00005a88: ADD 00005a89: MLOAD 00005a8a: PUSH2 0x5a96 00005a8d: PUSH1 0xc0 00005a8f: DUP7 00005a90: ADD 00005a91: DUP3 00005a92: PUSH2 0x5980 00005a95: JUMP 00005a96: JUMPDEST 00005a97: POP 00005a98: PUSH1 0xe0 00005a9a: DUP4 00005a9b: ADD 00005a9c: MLOAD 00005a9d: PUSH2 0x5aa9 00005aa0: PUSH1 0xe0 00005aa2: DUP7 00005aa3: ADD 00005aa4: DUP3 00005aa5: PUSH2 0x5980 00005aa8: JUMP 00005aa9: JUMPDEST 00005aaa: POP 00005aab: PUSH2 0x0100 00005aae: DUP1 00005aaf: DUP5 00005ab0: ADD 00005ab1: MLOAD 00005ab2: DUP3 00005ab3: DUP3 00005ab4: DUP8 00005ab5: ADD 00005ab6: MSTORE 00005ab7: PUSH2 0x12a6 00005aba: DUP4 00005abb: DUP8 00005abc: ADD 00005abd: DUP3 00005abe: PUSH2 0x59ff 00005ac1: JUMP 00005ac2: JUMPDEST 00005ac3: SWAP2 00005ac4: DUP3 00005ac5: MSTORE 00005ac6: PUSH1 0x01 00005ac8: PUSH1 0x01 00005aca: PUSH1 0xe0 00005acc: SHL 00005acd: SUB 00005ace: NOT 00005acf: AND 00005ad0: PUSH1 0x20 00005ad2: DUP3 00005ad3: ADD 00005ad4: MSTORE 00005ad5: PUSH1 0x24 00005ad7: ADD 00005ad8: SWAP1 00005ad9: JUMP 00005ada: JUMPDEST 00005adb: PUSH1 0x00 00005add: DUP3 00005ade: DUP5 00005adf: DUP4 00005ae0: CALLDATACOPY 00005ae1: SWAP2 00005ae2: ADD 00005ae3: SWAP1 00005ae4: DUP2 00005ae5: MSTORE 00005ae6: SWAP2 00005ae7: SWAP1 00005ae8: POP 00005ae9: JUMP 00005aea: JUMPDEST 00005aeb: PUSH1 0x00 00005aed: DUP3 00005aee: MLOAD 00005aef: PUSH2 0x5afc 00005af2: DUP2 00005af3: DUP5 00005af4: PUSH1 0x20 00005af6: DUP8 00005af7: ADD 00005af8: PUSH2 0x5f24 00005afb: JUMP 00005afc: JUMPDEST 00005afd: SWAP2 00005afe: SWAP1 00005aff: SWAP2 00005b00: ADD 00005b01: SWAP3 00005b02: SWAP2 00005b03: POP 00005b04: POP 00005b05: JUMP 00005b06: JUMPDEST 00005b07: PUSH12 0xffffffffffffffffffffffff 00005b14: NOT 00005b15: PUSH1 0x60 00005b17: SWAP4 00005b18: DUP5 00005b19: SHL 00005b1a: DUP2 00005b1b: AND 00005b1c: DUP3 00005b1d: MSTORE 00005b1e: SWAP2 00005b1f: SWAP1 00005b20: SWAP3 00005b21: SHL 00005b22: AND 00005b23: PUSH1 0x14 00005b25: DUP3 00005b26: ADD 00005b27: MSTORE 00005b28: PUSH1 0x28 00005b2a: ADD 00005b2b: SWAP1 00005b2c: JUMP 00005b2d: JUMPDEST 00005b2e: PUSH32 0x1901000000000000000000000000000000000000000000000000000000000000 00005b4f: DUP2 00005b50: MSTORE 00005b51: PUSH1 0x02 00005b53: DUP2 00005b54: ADD 00005b55: SWAP3 00005b56: SWAP1 00005b57: SWAP3 00005b58: MSTORE 00005b59: PUSH1 0x22 00005b5b: DUP3 00005b5c: ADD 00005b5d: MSTORE 00005b5e: PUSH1 0x42 00005b60: ADD 00005b61: SWAP1 00005b62: JUMP 00005b63: JUMPDEST 00005b64: PUSH1 0x01 00005b66: PUSH1 0x01 00005b68: PUSH1 0xa0 00005b6a: SHL 00005b6b: SUB 00005b6c: SWAP2 00005b6d: SWAP1 00005b6e: SWAP2 00005b6f: AND 00005b70: DUP2 00005b71: MSTORE 00005b72: PUSH1 0x20 00005b74: ADD 00005b75: SWAP1 00005b76: JUMP 00005b77: JUMPDEST 00005b78: PUSH1 0x01 00005b7a: PUSH1 0x01 00005b7c: PUSH1 0xa0 00005b7e: SHL 00005b7f: SUB 00005b80: SWAP4 00005b81: DUP5 00005b82: AND 00005b83: DUP2 00005b84: MSTORE 00005b85: SWAP2 00005b86: SWAP1 00005b87: SWAP3 00005b88: AND 00005b89: PUSH1 0x20 00005b8b: DUP3 00005b8c: ADD 00005b8d: MSTORE 00005b8e: PUSH1 0x40 00005b90: DUP2 00005b91: ADD 00005b92: SWAP2 00005b93: SWAP1 00005b94: SWAP2 00005b95: MSTORE 00005b96: PUSH1 0x60 00005b98: ADD 00005b99: SWAP1 00005b9a: JUMP 00005b9b: JUMPDEST 00005b9c: PUSH1 0x01 00005b9e: PUSH1 0x01 00005ba0: PUSH1 0xa0 00005ba2: SHL 00005ba3: SUB 00005ba4: DUP4 00005ba5: AND 00005ba6: DUP2 00005ba7: MSTORE 00005ba8: PUSH1 0x40 00005baa: DUP2 00005bab: ADD 00005bac: PUSH2 0x5bb4 00005baf: DUP4 00005bb0: PUSH2 0x5f50 00005bb3: JUMP 00005bb4: JUMPDEST 00005bb5: DUP3 00005bb6: PUSH1 0x20 00005bb8: DUP4 00005bb9: ADD 00005bba: MSTORE 00005bbb: SWAP4 00005bbc: SWAP3 00005bbd: POP 00005bbe: POP 00005bbf: POP 00005bc0: JUMP 00005bc1: JUMPDEST 00005bc2: PUSH1 0x01 00005bc4: PUSH1 0x01 00005bc6: PUSH1 0xa0 00005bc8: SHL 00005bc9: SUB 00005bca: SWAP3 00005bcb: SWAP1 00005bcc: SWAP3 00005bcd: AND 00005bce: DUP3 00005bcf: MSTORE 00005bd0: PUSH1 0x20 00005bd2: DUP3 00005bd3: ADD 00005bd4: MSTORE 00005bd5: PUSH1 0x40 00005bd7: ADD 00005bd8: SWAP1 00005bd9: JUMP 00005bda: JUMPDEST 00005bdb: PUSH1 0x00 00005bdd: PUSH1 0x20 00005bdf: DUP3 00005be0: MSTORE 00005be1: PUSH2 0x16f2 00005be4: PUSH1 0x20 00005be6: DUP4 00005be7: ADD 00005be8: DUP5 00005be9: PUSH2 0x598d 00005bec: JUMP 00005bed: JUMPDEST 00005bee: PUSH1 0x00 00005bf0: PUSH1 0x40 00005bf2: DUP3 00005bf3: MSTORE 00005bf4: PUSH2 0x5c00 00005bf7: PUSH1 0x40 00005bf9: DUP4 00005bfa: ADD 00005bfb: DUP6 00005bfc: PUSH2 0x598d 00005bff: JUMP 00005c00: JUMPDEST 00005c01: DUP3 00005c02: DUP2 00005c03: SUB 00005c04: PUSH1 0x20 00005c06: DUP5 00005c07: DUP2 00005c08: ADD 00005c09: SWAP2 00005c0a: SWAP1 00005c0b: SWAP2 00005c0c: MSTORE 00005c0d: DUP5 00005c0e: MLOAD 00005c0f: DUP1 00005c10: DUP4 00005c11: MSTORE 00005c12: DUP6 00005c13: DUP3 00005c14: ADD 00005c15: SWAP3 00005c16: DUP3 00005c17: ADD 00005c18: SWAP1 00005c19: DUP5 00005c1a: JUMPDEST 00005c1b: DUP2 00005c1c: DUP2 00005c1d: LT 00005c1e: ISZERO 00005c1f: PUSH2 0x5c3f 00005c22: JUMPI 00005c23: DUP5 00005c24: MLOAD 00005c25: PUSH1 0x01 00005c27: PUSH1 0x01 00005c29: PUSH1 0xa0 00005c2b: SHL 00005c2c: SUB 00005c2d: AND 00005c2e: DUP4 00005c2f: MSTORE 00005c30: SWAP4 00005c31: DUP4 00005c32: ADD 00005c33: SWAP4 00005c34: SWAP2 00005c35: DUP4 00005c36: ADD 00005c37: SWAP2 00005c38: PUSH1 0x01 00005c3a: ADD 00005c3b: PUSH2 0x5c1a 00005c3e: JUMP 00005c3f: JUMPDEST 00005c40: POP 00005c41: SWAP1 00005c42: SWAP8 00005c43: SWAP7 00005c44: POP 00005c45: POP 00005c46: POP 00005c47: POP 00005c48: POP 00005c49: POP 00005c4a: POP 00005c4b: JUMP 00005c4c: JUMPDEST 00005c4d: PUSH1 0x00 00005c4f: PUSH1 0x60 00005c51: DUP3 00005c52: MSTORE 00005c53: PUSH2 0x5c5f 00005c56: PUSH1 0x60 00005c58: DUP4 00005c59: ADD 00005c5a: DUP7 00005c5b: PUSH2 0x598d 00005c5e: JUMP 00005c5f: JUMPDEST 00005c60: DUP3 00005c61: DUP2 00005c62: SUB 00005c63: PUSH1 0x20 00005c65: DUP5 00005c66: ADD 00005c67: MSTORE 00005c68: PUSH2 0x5c71 00005c6b: DUP2 00005c6c: DUP7 00005c6d: PUSH2 0x59d0 00005c70: JUMP 00005c71: JUMPDEST 00005c72: SWAP1 00005c73: POP 00005c74: DUP3 00005c75: DUP2 00005c76: SUB 00005c77: PUSH1 0x40 00005c79: DUP5 00005c7a: ADD 00005c7b: MSTORE 00005c7c: PUSH2 0x12a6 00005c7f: DUP2 00005c80: DUP6 00005c81: PUSH2 0x59d0 00005c84: JUMP 00005c85: JUMPDEST 00005c86: PUSH1 0x00 00005c88: PUSH1 0x80 00005c8a: DUP3 00005c8b: MSTORE 00005c8c: PUSH2 0x5c98 00005c8f: PUSH1 0x80 00005c91: DUP4 00005c92: ADD 00005c93: DUP8 00005c94: PUSH2 0x598d 00005c97: JUMP 00005c98: JUMPDEST 00005c99: DUP3 00005c9a: DUP2 00005c9b: SUB 00005c9c: PUSH1 0x20 00005c9e: DUP5 00005c9f: ADD 00005ca0: MSTORE 00005ca1: PUSH2 0x5caa 00005ca4: DUP2 00005ca5: DUP8 00005ca6: PUSH2 0x59d0 00005ca9: JUMP 00005caa: JUMPDEST 00005cab: SWAP1 00005cac: POP 00005cad: DUP3 00005cae: DUP2 00005caf: SUB 00005cb0: PUSH1 0x40 00005cb2: DUP5 00005cb3: ADD 00005cb4: MSTORE 00005cb5: PUSH2 0x5cbe 00005cb8: DUP2 00005cb9: DUP7 00005cba: PUSH2 0x59d0 00005cbd: JUMP 00005cbe: JUMPDEST 00005cbf: SWAP1 00005cc0: POP 00005cc1: DUP3 00005cc2: DUP2 00005cc3: SUB 00005cc4: PUSH1 0x60 00005cc6: DUP5 00005cc7: ADD 00005cc8: MSTORE 00005cc9: PUSH2 0x4c08 00005ccc: DUP2 00005ccd: DUP6 00005cce: PUSH2 0x59ff 00005cd1: JUMP 00005cd2: JUMPDEST 00005cd3: PUSH1 0x00 00005cd5: PUSH1 0x60 00005cd7: DUP3 00005cd8: MSTORE 00005cd9: PUSH2 0x5ce5 00005cdc: PUSH1 0x60 00005cde: DUP4 00005cdf: ADD 00005ce0: DUP7 00005ce1: PUSH2 0x598d 00005ce4: JUMP 00005ce5: JUMPDEST 00005ce6: DUP3 00005ce7: DUP2 00005ce8: SUB 00005ce9: PUSH1 0x20 00005ceb: DUP5 00005cec: ADD 00005ced: MSTORE 00005cee: PUSH2 0x5cf7 00005cf1: DUP2 00005cf2: DUP7 00005cf3: PUSH2 0x59d0 00005cf6: JUMP 00005cf7: JUMPDEST 00005cf8: SWAP2 00005cf9: POP 00005cfa: POP 00005cfb: DUP3 00005cfc: PUSH1 0x40 00005cfe: DUP4 00005cff: ADD 00005d00: MSTORE 00005d01: SWAP5 00005d02: SWAP4 00005d03: POP 00005d04: POP 00005d05: POP 00005d06: POP 00005d07: JUMP 00005d08: JUMPDEST 00005d09: PUSH1 0x00 00005d0b: PUSH1 0x20 00005d0d: DUP3 00005d0e: MSTORE 00005d0f: PUSH2 0x16f2 00005d12: PUSH1 0x20 00005d14: DUP4 00005d15: ADD 00005d16: DUP5 00005d17: PUSH2 0x59d0 00005d1a: JUMP 00005d1b: JUMPDEST 00005d1c: SWAP1 00005d1d: ISZERO 00005d1e: ISZERO 00005d1f: DUP2 00005d20: MSTORE 00005d21: PUSH1 0x20 00005d23: ADD 00005d24: SWAP1 00005d25: JUMP 00005d26: JUMPDEST 00005d27: SWAP3 00005d28: ISZERO 00005d29: ISZERO 00005d2a: DUP4 00005d2b: MSTORE 00005d2c: PUSH1 0x20 00005d2e: DUP4 00005d2f: ADD 00005d30: SWAP2 00005d31: SWAP1 00005d32: SWAP2 00005d33: MSTORE 00005d34: PUSH1 0x40 00005d36: DUP3 00005d37: ADD 00005d38: MSTORE 00005d39: PUSH1 0x60 00005d3b: ADD 00005d3c: SWAP1 00005d3d: JUMP 00005d3e: JUMPDEST 00005d3f: SWAP1 00005d40: DUP2 00005d41: MSTORE 00005d42: PUSH1 0x20 00005d44: ADD 00005d45: SWAP1 00005d46: JUMP 00005d47: JUMPDEST 00005d48: SWAP3 00005d49: DUP4 00005d4a: MSTORE 00005d4b: PUSH1 0x01 00005d4d: PUSH1 0x01 00005d4f: PUSH1 0xa0 00005d51: SHL 00005d52: SUB 00005d53: SWAP2 00005d54: DUP3 00005d55: AND 00005d56: PUSH1 0x20 00005d58: DUP5 00005d59: ADD 00005d5a: MSTORE 00005d5b: AND 00005d5c: PUSH1 0x40 00005d5e: DUP3 00005d5f: ADD 00005d60: MSTORE 00005d61: PUSH1 0x60 00005d63: ADD 00005d64: SWAP1 00005d65: JUMP 00005d66: JUMPDEST 00005d67: PUSH1 0x00 00005d69: DUP9 00005d6a: DUP3 00005d6b: MSTORE 00005d6c: PUSH1 0x01 00005d6e: PUSH1 0x01 00005d70: PUSH1 0xa0 00005d72: SHL 00005d73: SUB 00005d74: DUP1 00005d75: DUP10 00005d76: AND 00005d77: PUSH1 0x20 00005d79: DUP5 00005d7a: ADD 00005d7b: MSTORE 00005d7c: DUP1 00005d7d: DUP9 00005d7e: AND 00005d7f: PUSH1 0x40 00005d81: DUP5 00005d82: ADD 00005d83: MSTORE 00005d84: POP 00005d85: PUSH1 0xe0 00005d87: PUSH1 0x60 00005d89: DUP4 00005d8a: ADD 00005d8b: MSTORE 00005d8c: PUSH2 0x5d98 00005d8f: PUSH1 0xe0 00005d91: DUP4 00005d92: ADD 00005d93: DUP8 00005d94: PUSH2 0x59d0 00005d97: JUMP 00005d98: JUMPDEST 00005d99: DUP6 00005d9a: PUSH1 0x80 00005d9c: DUP5 00005d9d: ADD 00005d9e: MSTORE 00005d9f: DUP5 00005da0: PUSH1 0xa0 00005da2: DUP5 00005da3: ADD 00005da4: MSTORE 00005da5: DUP3 00005da6: DUP2 00005da7: SUB 00005da8: PUSH1 0xc0 00005daa: DUP5 00005dab: ADD 00005dac: MSTORE 00005dad: PUSH2 0x5db6 00005db0: DUP2 00005db1: DUP6 00005db2: PUSH2 0x59ff 00005db5: JUMP 00005db6: JUMPDEST 00005db7: SWAP11 00005db8: SWAP10 00005db9: POP 00005dba: POP 00005dbb: POP 00005dbc: POP 00005dbd: POP 00005dbe: POP 00005dbf: POP 00005dc0: POP 00005dc1: POP 00005dc2: POP 00005dc3: JUMP 00005dc4: JUMPDEST 00005dc5: SWAP5 00005dc6: DUP6 00005dc7: MSTORE 00005dc8: PUSH1 0x20 00005dca: DUP6 00005dcb: ADD 00005dcc: SWAP4 00005dcd: SWAP1 00005dce: SWAP4 00005dcf: MSTORE 00005dd0: PUSH1 0x01 00005dd2: PUSH1 0x01 00005dd4: PUSH1 0xa0 00005dd6: SHL 00005dd7: SUB 00005dd8: SWAP2 00005dd9: SWAP1 00005dda: SWAP2 00005ddb: AND 00005ddc: PUSH1 0x40 00005dde: DUP5 00005ddf: ADD 00005de0: MSTORE 00005de1: PUSH1 0x60 00005de3: DUP4 00005de4: ADD 00005de5: MSTORE 00005de6: PUSH1 0x80 00005de8: DUP3 00005de9: ADD 00005dea: MSTORE 00005deb: PUSH1 0xa0 00005ded: ADD 00005dee: SWAP1 00005def: JUMP 00005df0: JUMPDEST 00005df1: SWAP5 00005df2: DUP6 00005df3: MSTORE 00005df4: PUSH1 0x20 00005df6: DUP6 00005df7: ADD 00005df8: SWAP4 00005df9: SWAP1 00005dfa: SWAP4 00005dfb: MSTORE 00005dfc: PUSH1 0x40 00005dfe: DUP5 00005dff: ADD 00005e00: SWAP2 00005e01: SWAP1 00005e02: SWAP2 00005e03: MSTORE 00005e04: PUSH1 0x60 00005e06: DUP4 00005e07: ADD 00005e08: MSTORE 00005e09: PUSH1 0x01 00005e0b: PUSH1 0x01 00005e0d: PUSH1 0xa0 00005e0f: SHL 00005e10: SUB 00005e11: AND 00005e12: PUSH1 0x80 00005e14: DUP3 00005e15: ADD 00005e16: MSTORE 00005e17: PUSH1 0xa0 00005e19: ADD 00005e1a: SWAP1 00005e1b: JUMP 00005e1c: JUMPDEST 00005e1d: SWAP4 00005e1e: DUP5 00005e1f: MSTORE 00005e20: PUSH1 0xff 00005e22: SWAP3 00005e23: SWAP1 00005e24: SWAP3 00005e25: AND 00005e26: PUSH1 0x20 00005e28: DUP5 00005e29: ADD 00005e2a: MSTORE 00005e2b: PUSH1 0x40 00005e2d: DUP4 00005e2e: ADD 00005e2f: MSTORE 00005e30: PUSH1 0x60 00005e32: DUP3 00005e33: ADD 00005e34: MSTORE 00005e35: PUSH1 0x80 00005e37: ADD 00005e38: SWAP1 00005e39: JUMP 00005e3a: JUMPDEST 00005e3b: PUSH1 0x20 00005e3d: DUP2 00005e3e: ADD 00005e3f: PUSH2 0x5e47 00005e42: DUP4 00005e43: PUSH2 0x5f50 00005e46: JUMP 00005e47: JUMPDEST 00005e48: SWAP2 00005e49: SWAP1 00005e4a: MSTORE 00005e4b: SWAP1 00005e4c: JUMP 00005e4d: JUMPDEST 00005e4e: SWAP2 00005e4f: DUP3 00005e50: MSTORE 00005e51: PUSH1 0x20 00005e53: DUP3 00005e54: ADD 00005e55: MSTORE 00005e56: PUSH1 0x40 00005e58: ADD 00005e59: SWAP1 00005e5a: JUMP 00005e5b: JUMPDEST 00005e5c: PUSH1 0x00 00005e5e: PUSH1 0x80 00005e60: DUP3 00005e61: MSTORE 00005e62: PUSH2 0x5e6e 00005e65: PUSH1 0x80 00005e67: DUP4 00005e68: ADD 00005e69: DUP8 00005e6a: PUSH2 0x5a2b 00005e6d: JUMP 00005e6e: JUMPDEST 00005e6f: DUP3 00005e70: DUP2 00005e71: SUB 00005e72: PUSH1 0x20 00005e74: DUP5 00005e75: ADD 00005e76: MSTORE 00005e77: PUSH2 0x5e80 00005e7a: DUP2 00005e7b: DUP8 00005e7c: PUSH2 0x59d0 00005e7f: JUMP 00005e80: JUMPDEST 00005e81: PUSH1 0x40 00005e83: DUP5 00005e84: ADD 00005e85: SWAP6 00005e86: SWAP1 00005e87: SWAP6 00005e88: MSTORE 00005e89: POP 00005e8a: POP 00005e8b: PUSH1 0x60 00005e8d: ADD 00005e8e: MSTORE 00005e8f: SWAP3 00005e90: SWAP2 00005e91: POP 00005e92: POP 00005e93: JUMP 00005e94: JUMPDEST 00005e95: PUSH1 0x00 00005e97: PUSH1 0x60 00005e99: DUP3 00005e9a: MSTORE 00005e9b: PUSH2 0x5ea7 00005e9e: PUSH1 0x60 00005ea0: DUP4 00005ea1: ADD 00005ea2: DUP7 00005ea3: PUSH2 0x5a2b 00005ea6: JUMP 00005ea7: JUMPDEST 00005ea8: PUSH1 0x20 00005eaa: DUP4 00005eab: ADD 00005eac: SWAP5 00005ead: SWAP1 00005eae: SWAP5 00005eaf: MSTORE 00005eb0: POP 00005eb1: PUSH1 0x40 00005eb3: ADD 00005eb4: MSTORE 00005eb5: SWAP2 00005eb6: SWAP1 00005eb7: POP 00005eb8: JUMP 00005eb9: JUMPDEST 00005eba: SWAP4 00005ebb: DUP5 00005ebc: MSTORE 00005ebd: PUSH1 0x20 00005ebf: DUP5 00005ec0: ADD 00005ec1: SWAP3 00005ec2: SWAP1 00005ec3: SWAP3 00005ec4: MSTORE 00005ec5: PUSH1 0x40 00005ec7: DUP4 00005ec8: ADD 00005ec9: MSTORE 00005eca: PUSH1 0x01 00005ecc: PUSH1 0x01 00005ece: PUSH1 0xa0 00005ed0: SHL 00005ed1: SUB 00005ed2: AND 00005ed3: PUSH1 0x60 00005ed5: DUP3 00005ed6: ADD 00005ed7: MSTORE 00005ed8: PUSH1 0x80 00005eda: ADD 00005edb: SWAP1 00005edc: JUMP 00005edd: JUMPDEST 00005ede: PUSH1 0x40 00005ee0: MLOAD 00005ee1: DUP2 00005ee2: DUP2 00005ee3: ADD 00005ee4: PUSH8 0xffffffffffffffff 00005eed: DUP2 00005eee: GT 00005eef: DUP3 00005ef0: DUP3 00005ef1: LT 00005ef2: OR 00005ef3: ISZERO 00005ef4: PUSH2 0x5efc 00005ef7: JUMPI 00005ef8: PUSH1 0x00 00005efa: DUP1 00005efb: REVERT 00005efc: JUMPDEST 00005efd: PUSH1 0x40 00005eff: MSTORE 00005f00: SWAP2 00005f01: SWAP1 00005f02: POP 00005f03: JUMP 00005f04: JUMPDEST 00005f05: PUSH1 0x00 00005f07: PUSH8 0xffffffffffffffff 00005f10: DUP3 00005f11: GT 00005f12: ISZERO 00005f13: PUSH2 0x5f1a 00005f16: JUMPI 00005f17: DUP1 00005f18: DUP2 00005f19: REVERT 00005f1a: JUMPDEST 00005f1b: POP 00005f1c: PUSH1 0x20 00005f1e: SWAP1 00005f1f: DUP2 00005f20: MUL 00005f21: ADD 00005f22: SWAP1 00005f23: JUMP 00005f24: JUMPDEST 00005f25: PUSH1 0x00 00005f27: JUMPDEST 00005f28: DUP4 00005f29: DUP2 00005f2a: LT 00005f2b: ISZERO 00005f2c: PUSH2 0x5f3f 00005f2f: JUMPI 00005f30: DUP2 00005f31: DUP2 00005f32: ADD 00005f33: MLOAD 00005f34: DUP4 00005f35: DUP3 00005f36: ADD 00005f37: MSTORE 00005f38: PUSH1 0x20 00005f3a: ADD 00005f3b: PUSH2 0x5f27 00005f3e: JUMP 00005f3f: JUMPDEST 00005f40: DUP4 00005f41: DUP2 00005f42: GT 00005f43: ISZERO 00005f44: PUSH2 0x0e00 00005f47: JUMPI 00005f48: POP 00005f49: POP 00005f4a: PUSH1 0x00 00005f4c: SWAP2 00005f4d: ADD 00005f4e: MSTORE 00005f4f: JUMP 00005f50: JUMPDEST 00005f51: PUSH1 0x03 00005f53: DUP2 00005f54: LT 00005f55: PUSH2 0x057e 00005f58: JUMPI 00005f59: INVALID 00005f5a: JUMPDEST 00005f5b: PUSH1 0x01 00005f5d: PUSH1 0x01 00005f5f: PUSH1 0xa0 00005f61: SHL 00005f62: SUB 00005f63: DUP2 00005f64: AND 00005f65: DUP2 00005f66: EQ 00005f67: PUSH2 0x057e 00005f6a: JUMPI 00005f6b: PUSH1 0x00 00005f6d: DUP1 00005f6e: REVERT 00005f6f: JUMPDEST 00005f70: DUP1 00005f71: ISZERO 00005f72: ISZERO 00005f73: DUP2 00005f74: EQ 00005f75: PUSH2 0x057e 00005f78: JUMPI 00005f79: PUSH1 0x00 00005f7b: DUP1 00005f7c: REVERT 00005f7d: JUMPDEST 00005f7e: PUSH1 0x03 00005f80: DUP2 00005f81: LT 00005f82: PUSH2 0x057e 00005f85: JUMPI 00005f86: PUSH1 0x00 00005f88: DUP1 00005f89: REVERT 00005f8a: INVALID 00005f8b: LOG2 00005f8c: PUSH5 0x6970667358 00005f92: UNKNOWN(0x22) 00005f93: SLT 00005f94: KECCAK256 00005f95: KECCAK256 00005f96: CLZ 00005f97: UNKNOWN(0x4F) 00005f98: SWAP3 00005f99: PUSH15 0x390fed8dd5318c58846af735c2bebc 00005fa9: PUSH2 0xb806 00005fac: SWAP4 00005fad: UNKNOWN(0xAE) 00005fae: SWAP4 00005faf: PUSH11 0x5fe76dcf1464736f6c6343 00005fbb: STOP 00005fbc: SMOD 00005fbd: ADD 00005fbe: STOP 00005fbf: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x25b21c8ea4ed49d21db35a9cb058d1626e8cd4d10fd1355c5731eaec78e7c62b
call_targets:
0xba12222222228d8ba445958a75a0704d566bf2c8
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x25b21c8ea4ed49d21db35a9cb058d1626e8cd4d10fd1355c5731eaec78e7c62b",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xba12222222228d8ba445958a75a0704d566bf2c8"
],
"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": "0xf84d066e",
"selector": "0xf84d066e",
"calldata_variants": [
"0xf84d066e",
"0xf84d066e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf94d4668",
"selector": "0xf94d4668",
"calldata_variants": [
"0xf94d4668",
"0xf94d46680000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa6e671d",
"selector": "0xfa6e671d",
"calldata_variants": [
"0xfa6e671d",
"0xfa6e671d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfec90d72",
"selector": "0xfec90d72",
"calldata_variants": [
"0xfec90d72",
"0xfec90d720000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe6c46092",
"selector": "0xe6c46092",
"calldata_variants": [
"0xe6c46092",
"0xe6c460920000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xed24911d",
"selector": "0xed24911d",
"calldata_variants": [
"0xed24911d",
"0xed24911d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf6c00927",
"selector": "0xf6c00927",
"calldata_variants": [
"0xf6c00927",
"0xf6c009270000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb05f8e48",
"selector": "0xb05f8e48",
"calldata_variants": [
"0xb05f8e48",
"0xb05f8e480000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3186,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5463,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7379,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 10,
"guards_detected": [
{
"pc": 5416,
"type": "msg_sender_eq_const",
"value": 96
}
],
"untrusted_call_count": 10
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x25b21c8ea4ed49d21db35a9cb058d1626e8cd4d10fd1355c5731eaec78e7c62b
call_targets:
0xba12222222228d8ba445958a75a0704d566bf2c8
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x25b21c8ea4ed49d21db35a9cb058d1626e8cd4d10fd1355c5731eaec78e7c62b",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xba12222222228d8ba445958a75a0704d566bf2c8"
],
"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": "0xf84d066e",
"selector": "0xf84d066e",
"calldata_variants": [
"0xf84d066e",
"0xf84d066e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf94d4668",
"selector": "0xf94d4668",
"calldata_variants": [
"0xf94d4668",
"0xf94d46680000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa6e671d",
"selector": "0xfa6e671d",
"calldata_variants": [
"0xfa6e671d",
"0xfa6e671d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfec90d72",
"selector": "0xfec90d72",
"calldata_variants": [
"0xfec90d72",
"0xfec90d720000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe6c46092",
"selector": "0xe6c46092",
"calldata_variants": [
"0xe6c46092",
"0xe6c460920000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xed24911d",
"selector": "0xed24911d",
"calldata_variants": [
"0xed24911d",
"0xed24911d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf6c00927",
"selector": "0xf6c00927",
"calldata_variants": [
"0xf6c00927",
"0xf6c009270000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb05f8e48",
"selector": "0xb05f8e48",
"calldata_variants": [
"0xb05f8e48",
"0xb05f8e480000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3186,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5463,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7379,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 10,
"guards_detected": [
{
"pc": 5416,
"type": "msg_sender_eq_const",
"value": 96
}
]
}
|
| 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": 12
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 16
}
|