ff7f23a9-503b-490f-a989-b437a8f79cd7
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 |
|---|---|---|---|---|
| 31539 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 77861 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 77862 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 77863 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 77864 | capability.graph | complete | 1 / 3 | 1 week ago |
| 77865 | detector.run | complete | 1 / 3 | 1 week ago |
| 77866 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:539630] OpenAI Codex v0.77.0 (research preview)
[codex:539630] --------
[codex:539630] workdir: /tmp/codex-multi-hjrj18uk
[codex:539630] model: gpt-5.2-codex
[codex:539630] provider: openai
[codex:539630] approval: never
[codex:539630] sandbox: read-only
[codex:539630] reasoning effort: xhigh
[codex:539630] reasoning summaries: auto
[codex:539630] session id: 019b8702-075f-7401-a9de-d5b517b00769
[codex:539630] --------
[codex:539630] user
[codex:539630] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:539630]
[codex:539630] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:539630]
[codex:539630] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:539630] - Gas inefficiency, code quality, naming, or best practices
[codex:539630] - Theoretical vulnerabilities without a clear extraction path
[codex:539630] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:539630] - Front-running unless it enables theft beyond MEV
[codex:539630] - DoS, griefing, or issues that don't result in attacker profit
[codex:539630] - Missing events, view function issues, or informational findings
[codex:539630]
[codex:539630] HIGH-VALUE PATTERNS TO HUNT:
[codex:539630] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:539630] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:539630] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:539630] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:539630] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:539630] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:539630] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:539630] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:539630] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:539630]
[codex:539630] For each finding, you MUST provide:
[codex:539630] 1. Exact file and line numbers of vulnerable code
[codex:539630] 2. Step-by-step exploit transaction sequence
[codex:539630] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:539630]
[codex:539630] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:539630]
[codex:539630] Output MUST be valid JSON matching the provided schema.
[codex:539630] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:539630] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:539630] mcp startup: no servers
[codex:539630]
[codex:539630] thinking
[codex:539630] **Reading instructions from AUDIT_BUNDLE.txt**
[codex:539630] exec
[codex:539630] /bin/bash -lc ls in /tmp/codex-multi-hjrj18uk succeeded in 5ms:
[codex:539630] AUDIT_BUNDLE.txt
[codex:539630] codex-output-schema.json
[codex:539630] contracts
[codex:539630] exec
[codex:539630] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-hjrj18uk succeeded in 5ms:
[codex:539630] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:539630]
[codex:539630] ================================================================================
[codex:539630] FILE: contracts/@pie-dao/proxy/contracts/PProxy.sol
[codex:539630] ================================================================================
[codex:539630] pragma solidity ^0.7.1;
[codex:539630]
[codex:539630] import "./PProxyStorage.sol";
[codex:539630]
[codex:539630] contract PProxy is PProxyStorage {
[codex:539630]
[codex:539630] bytes32 constant IMPLEMENTATION_SLOT = keccak256(abi.encodePacked("IMPLEMENTATION_SLOT"));
[codex:539630] bytes32 constant OWNER_SLOT = keccak256(abi.encodePacked("OWNER_SLOT"));
[codex:539630]
[codex:539630] modifier onlyProxyOwner() {
[codex:539630] require(msg.sender == readAddress(OWNER_SLOT), "PProxy.onlyProxyOwner: msg sender not owner");
[codex:539630] _;
[codex:539630] }
[codex:539630]
[codex:539630] constructor () public {
[codex:539630]
[codex:539630] thinking
[codex:539630] **Planning contract inspection strategy**
[codex:539630] exec
[codex:539630] /bin/bash -lc 'rg --files' in /tmp/codex-multi-hjrj18uk succeeded in 8ms:
[codex:539630] codex-output-schema.json
[codex:539630] AUDIT_BUNDLE.txt
[codex:539630] contracts/src/interfaces/IElasticToken.sol
[codex:539630] contracts/src/interfaces/IUniswapV2Pair.sol
[codex:539630] contracts/src/core/ElasticDAO.sol
[codex:539630] contracts/hardhat/console.sol
[codex:539630] contracts/src/tokens/ElasticGovernanceToken.sol
[codex:539630] contracts/@pie-dao/proxy/contracts/PProxy.sol
[codex:539630] contracts/@pie-dao/proxy/contracts/PProxyStorage.sol
[codex:539630] contracts/src/libraries/SafeMath.sol
[codex:539630] contracts/src/libraries/ElasticMath.sol
[codex:539630] contracts/src/models/Ecosystem.sol
[codex:539630] contracts/src/models/Token.sol
[codex:539630] contracts/src/models/DAO.sol
[codex:539630] contracts/src/models/EternalModel.sol
[codex:539630] contracts/src/models/TokenHolder.sol
[codex:539630] contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:539630] contracts/@openzeppelin/contracts/utils/ReentrancyGuard.sol
[codex:539630]
[codex:539630] thinking
[codex:539630] **Examining core contract files**
[codex:539630] exec
[codex:539630] /bin/bash -lc "sed -n '1,240p' contracts/src/core/ElasticDAO.sol" in /tmp/codex-multi-hjrj18uk succeeded in 6ms:
[codex:539630] // SPDX-License-Identifier: GPLv3
[codex:539630] pragma solidity 0.7.2;
[codex:539630] pragma experimental ABIEncoderV2;
[codex:539630]
[codex:539630] import '../interfaces/IUniswapV2Pair.sol';
[codex:539630]
[codex:539630] import '../libraries/ElasticMath.sol';
[codex:539630]
[codex:539630] import '../models/DAO.sol';
[codex:539630] import '../models/Ecosystem.sol';
[codex:539630] import '../models/Token.sol';
[codex:539630]
[codex:539630] import '@openzeppelin/contracts/utils/ReentrancyGuard.sol';
[codex:539630]
[codex:539630] import '@pie-dao/proxy/contracts/PProxy.sol';
[codex:539630] import 'hardhat/console.sol';
[codex:539630]
[codex:539630] /**
[codex:539630] * @dev The ElasticDAO contract outlines and defines all the functionality
[codex:539630] * such as initialize, Join, exit, etc for an elasticDAO.
[codex:539630] exec
[codex:539630] /bin/bash -lc "sed -n '240,520p' contracts/src/core/ElasticDAO.sol" in /tmp/codex-multi-hjrj18uk succeeded in 5ms:
[codex:539630] * The correct value of ETH, calculated via deltaE,
[codex:539630] * must be sent in the transaction by the calling address
[codex:539630] * The token contract should be successfully be able to mint token.makxLambdaPurchase
[codex:539630] */
[codex:539630] function join() external payable onlyAfterSummoning onlyWhenOpen nonReentrant {
[codex:539630] Token.Instance memory token = _getToken();
[codex:539630]
[codex:539630] ElasticGovernanceToken tokenContract = ElasticGovernanceToken(token.uuid);
[codex:539630] uint256 capitalDelta =
[codex:539630] ElasticMath.capitalDelta(
[codex:539630] // the current totalBalance of the DAO is inclusive of msg.value,
[codex:539630] // capitalDelta is to be calculated without the msg.value
[codex:539630] SafeMath.sub(address(this).balance, msg.value),
[codex:539630] tokenContract.totalSupply()
[codex:539630] );
[codex:539630] uint256 deltaE =
[codex:539630] ElasticMath.deltaE(
[codex:539630] token.maxLambdaPurchase,
[codex:539630] capitalDelta,
[codex:539630] token.k,
[codex:539630] exec
[codex:539630] /bin/bash -lc "sed -n '520,1040p' contracts/src/core/ElasticDAO.sol" in /tmp/codex-multi-hjrj18uk succeeded in 5ms:
[codex:539630] * @return ecosystem Ecosystem.Instance
[codex:539630] */
[codex:539630] function _buildEcosystem(address _controller, Ecosystem.Instance memory _defaults)
[codex:539630] internal
[codex:539630] returns (Ecosystem.Instance memory ecosystem)
[codex:539630] {
[codex:539630] ecosystem.daoAddress = address(this);
[codex:539630] ecosystem.daoModelAddress = _deployProxy(_defaults.daoModelAddress, _controller);
[codex:539630] ecosystem.ecosystemModelAddress = _deployProxy(_defaults.ecosystemModelAddress, _controller);
[codex:539630] ecosystem.governanceTokenAddress = _deployProxy(_defaults.governanceTokenAddress, _controller);
[codex:539630] ecosystem.tokenHolderModelAddress = _deployProxy(
[codex:539630] _defaults.tokenHolderModelAddress,
[codex:539630] _controller
[codex:539630] );
[codex:539630] ecosystem.tokenModelAddress = _deployProxy(_defaults.tokenModelAddress, _controller);
[codex:539630]
[codex:539630] Ecosystem(ecosystem.ecosystemModelAddress).serialize(ecosystem);
[codex:539630] return ecosystem;
[codex:539630] }
[codex:539630]
[codex:539630]
[codex:539630] thinking
[codex:539630] **Analyzing model security for reentrancy**
[codex:539630] exec
[codex:539630] /bin/bash -lc "sed -n '1,240p' contracts/src/models/DAO.sol" in /tmp/codex-multi-hjrj18uk succeeded in 5ms:
[codex:539630] // SPDX-License-Identifier: GPLv3
[codex:539630] pragma solidity 0.7.2;
[codex:539630] pragma experimental ABIEncoderV2;
[codex:539630]
[codex:539630] import '@openzeppelin/contracts/utils/ReentrancyGuard.sol';
[codex:539630]
[codex:539630] import './Ecosystem.sol';
[codex:539630] import './EternalModel.sol';
[codex:539630]
[codex:539630] /**
[codex:539630] * @author ElasticDAO - https://ElasticDAO.org
[codex:539630] * @notice This contract is used for storing core DAO data
[codex:539630] * @dev ElasticDAO network contracts can read/write from this contract
[codex:539630] */
[codex:539630] contract DAO is EternalModel, ReentrancyGuard {
[codex:539630] struct Instance {
[codex:539630] address uuid;
[codex:539630] address[] summoners;
[codex:539630] bool summoned;
[codex:539630] string name;
[codex:539630]
[codex:539630] thinking
[codex:539630] **Reviewing EternalModel context**
[codex:539630] exec
[codex:539630] /bin/bash -lc "sed -n '1,240p' contracts/src/models/EternalModel.sol" in /tmp/codex-multi-hjrj18uk succeeded in 5ms:
[codex:539630] // SPDX-License-Identifier: GPLv3
[codex:539630] pragma solidity 0.7.2;
[codex:539630] pragma experimental ABIEncoderV2;
[codex:539630]
[codex:539630] /**
[codex:539630] * @title Implementation of Eternal Storage for ElasticDAO -
[codex:539630] * - (https://fravoll.github.io/solidity-patterns/eternal_storage.html)
[codex:539630] * @author ElasticDAO - https://ElasticDAO.org
[codex:539630] * @notice This contract is used for storing contract network data
[codex:539630] * @dev ElasticDAO network contracts can read/write from this contract
[codex:539630] */
[codex:539630] contract EternalModel {
[codex:539630] struct Storage {
[codex:539630] mapping(bytes32 => address) addressStorage;
[codex:539630] mapping(bytes32 => bool) boolStorage;
[codex:539630] mapping(bytes32 => bytes) bytesStorage;
[codex:539630] mapping(bytes32 => int256) intStorage;
[codex:539630] mapping(bytes32 => string) stringStorage;
[codex:539630] mapping(bytes32 => uint256) uIntStorage;
[codex:539630] }
[codex:539630]
[codex:539630] thinking
[codex:539630] **Checking for Token and TokenHolder models**
[codex:539630] exec
[codex:539630] /bin/bash -lc "sed -n '1,260p' contracts/src/models/Token.sol" in /tmp/codex-multi-hjrj18uk succeeded in 5ms:
[codex:539630] // SPDX-License-Identifier: GPLv3
[codex:539630] pragma solidity 0.7.2;
[codex:539630] pragma experimental ABIEncoderV2;
[codex:539630] import '@openzeppelin/contracts/utils/ReentrancyGuard.sol';
[codex:539630]
[codex:539630] import './Ecosystem.sol';
[codex:539630] import './EternalModel.sol';
[codex:539630] import '../tokens/ElasticGovernanceToken.sol';
[codex:539630]
[codex:539630] /**
[codex:539630] * @title A data storage for EGT (Elastic Governance Token)
[codex:539630] * @notice More info about EGT could be found in ./tokens/ElasticGovernanceToken.sol
[codex:539630] * @notice This contract is used for storing token data
[codex:539630] * @dev ElasticDAO network contracts can read/write from this contract
[codex:539630] * Serialize - Translation of data from the concerned struct to key-value pairs
[codex:539630] * Deserialize - Translation of data from the key-value pairs to a struct
[codex:539630] */
[codex:539630] contract Token is EternalModel, ReentrancyGuard {
[codex:539630] struct Instance {
[codex:539630] address uuid;
[codex:539630]
[codex:539630] thinking
[codex:539630] **Checking token-related terms**
[codex:539630] exec
[codex:539630] /bin/bash -lc "sed -n '1,260p' contracts/src/models/TokenHolder.sol" in /tmp/codex-multi-hjrj18uk succeeded in 5ms:
[codex:539630] // SPDX-License-Identifier: GPLv3
[codex:539630] pragma solidity 0.7.2;
[codex:539630] pragma experimental ABIEncoderV2;
[codex:539630]
[codex:539630] import '@openzeppelin/contracts/utils/ReentrancyGuard.sol';
[codex:539630]
[codex:539630] import './Ecosystem.sol';
[codex:539630] import './EternalModel.sol';
[codex:539630] import './Token.sol';
[codex:539630]
[codex:539630] /**
[codex:539630] * @title a data storage for Token holders
[codex:539630] * @author ElasticDAO - https://ElasticDAO.org
[codex:539630] * @notice This contract is used for storing token data
[codex:539630] * @dev ElasticDAO network contracts can read/write from this contract
[codex:539630] * Serialize - Translation of data from the concerned struct to key-value pairs
[codex:539630] * Deserialize - Translation of data from the key-value pairs to a struct
[codex:539630] */
[codex:539630] contract TokenHolder is EternalModel, ReentrancyGuard {
[codex:539630] struct Instance {
[codex:539630]
[codex:539630] thinking
[codex:539630] **Considering ecosystem model**
[codex:539630] exec
[codex:539630] /bin/bash -lc "sed -n '1,260p' contracts/src/models/Ecosystem.sol" in /tmp/codex-multi-hjrj18uk succeeded in 6ms:
[codex:539630] // SPDX-License-Identifier: GPLv3
[codex:539630] pragma solidity 0.7.2;
[codex:539630] pragma experimental ABIEncoderV2;
[codex:539630]
[codex:539630] import '@openzeppelin/contracts/utils/ReentrancyGuard.sol';
[codex:539630]
[codex:539630] import './EternalModel.sol';
[codex:539630]
[codex:539630] /**
[codex:539630] * @title ElasticDAO ecosystem
[codex:539630] * @author ElasticDAO - https://ElasticDAO.org
[codex:539630] * @notice This contract is used for storing core dao data
[codex:539630] * @dev ElasticDAO network contracts can read/write from this contract
[codex:539630] * @dev Serialize - Translation of data from the concerned struct to key-value pairs
[codex:539630] * @dev Deserialize - Translation of data from the key-value pairs to a struct
[codex:539630] */
[codex:539630] contract Ecosystem is EternalModel, ReentrancyGuard {
[codex:539630] struct Instance {
[codex:539630] address daoAddress;
[codex:539630] // Models
[codex:539630]
[codex:539630] thinking
[codex:539630] **Exploring ElasticMath interface**
[codex:539630] exec
[codex:539630] /bin/bash -lc "sed -n '1,260p' contracts/src/libraries/ElasticMath.sol" in /tmp/codex-multi-hjrj18uk succeeded in 5ms:
[codex:539630] // SPDX-License-Identifier: GPLv3
[codex:539630] pragma solidity 0.7.2;
[codex:539630]
[codex:539630] import './SafeMath.sol';
[codex:539630]
[codex:539630] /**
[codex:539630] * @dev Provides functions for performing ElasticDAO specific math.
[codex:539630] *
[codex:539630] * These functions correspond with functions provided by the JS SDK and should
[codex:539630] * always be used instead of doing calculations within other contracts to avoid
[codex:539630] * any inconsistencies in the math.
[codex:539630] *
[codex:539630] * Notes:
[codex:539630] *
[codex:539630] * - Dash values represent the state after a transaction has completed successfully.
[codex:539630] * - Non-dash values represent the current state, before the transaction has completed.
[codex:539630] * - Lambda is the math term for shares. We typically expose the value to users as
[codex:539630] * shares instead of lambda because it's easier to grok.
[codex:539630] */
[codex:539630] library ElasticMath {
[codex:539630]
[codex:539630] thinking
[codex:539630] **Inspecting SafeMath module**
[codex:539630] exec
[codex:539630] /bin/bash -lc "sed -n '1,240p' contracts/src/libraries/SafeMath.sol" in /tmp/codex-multi-hjrj18uk succeeded in 6ms:
[codex:539630] // SPDX-License-Identifier: MIT
[codex:539630] pragma solidity 0.7.2;
[codex:539630]
[codex:539630] /**
[codex:539630] * @dev Wrappers over Solidity's arithmetic operations with added overflow
[codex:539630] * checks.
[codex:539630] *
[codex:539630] * Arithmetic operations in Solidity wrap on overflow. This can easily result
[codex:539630] * in bugs, because programmers usually assume that an overflow raises an
[codex:539630] * error, which is the standard behavior in high level programming languages.
[codex:539630] * `SafeMath` restores this intuition by reverting the transaction when an
[codex:539630] * operation overflows.
[codex:539630] *
[codex:539630] * Using this library instead of the unchecked operations eliminates an entire
[codex:539630] * class of bugs, so it's recommended to use it always.
[codex:539630] */
[codex:539630] library SafeMath {
[codex:539630] /**
[codex:539630] * @dev Returns the addition of two unsigned integers, reverting on
[codex:539630] * overflow.
[codex:539630]
[codex:539630]
[codex:539630] thinking
[codex:539630] **Analyzing potential vulnerabilities in contract math and initialization**
[codex:539630]
[codex:539630] I'm examining how SafeMath.div's require on divisor might cause reverts, impacting functions like wdiv and possibly blocking small share exits without enabling profit. I'm also exploring unprotected proxy initializations that could let attackers hijack tokens or DAOs before proper setup, focusing on whether front-running initialize calls could allow control or profit extraction. Additionally, I'm scrutinizing join/exit logic for possible economic exploits through share minting and ETH withdrawal mismatches, considering if elasticity and share value math might allow arbitrage or improper gains. This involves unfolding the formulas behind token minting costs and exit paybacks to check for profit opportunities. Let's explore this detailed interplay closely!
[codex:539630] thinking
[codex:539630] **Evaluating intricate reentrancy and initialization risks**
[codex:539630]
[codex:539630] I'm reviewing the detailed math showing join-then-exit yields loss, ruling out simple arbitrage, and confirming that reentrancy protections prevent common exploits via token burning or refunds. However, I’m curious about how default ecosystem records can be set by anyone before initialization, possibly letting an attacker plant malicious proxy implementations that a DAO deployer might unknowingly use. I’m also checking if uninitialized proxies or missing access controls in models could allow unauthorized storage changes or disrupt DAO setup, though direct profit seems unlikely. The interplay of SafeMath’s strict division checks, rounding in fixed-point math, and proxy storage layouts is complex, so I’m carefully tracing possible indirect effects or edge cases!
[codex:539630] exec
[codex:539630] /bin/bash -lc "sed -n '1,200p' contracts/src/interfaces/IUniswapV2Pair.sol" in /tmp/codex-multi-hjrj18uk succeeded in 6ms:
[codex:539630] // SPDX-License-Identifier: GPLv3
[codex:539630] pragma solidity 0.7.2;
[codex:539630]
[codex:539630] interface IUniswapV2Pair {
[codex:539630] function sync() external;
[codex:539630] }
[codex:539630]
[codex:539630] thinking
[codex:539630] **Considering token interface**
[codex:539630] exec
[codex:539630] /bin/bash -lc "sed -n '1,200p' contracts/src/interfaces/IElasticToken.sol" in /tmp/codex-multi-hjrj18uk succeeded in 5ms:
[codex:539630] // SPDX-License-Identifier: GPLv3
[codex:539630] pragma solidity 0.7.2;
[codex:539630]
[codex:539630] import '@openzeppelin/contracts/token/ERC20/IERC20.sol';
[codex:539630]
[codex:539630] interface IElasticToken is IERC20 {
[codex:539630] /**
[codex:539630] * @dev Returns the amount of shares owned by @param _account.
[codex:539630] * @param _account - address of the account
[codex:539630] * @return lambda uint256 - lambda is the number of shares
[codex:539630] */
[codex:539630] function balanceOfInShares(address _account) external view returns (uint256 lambda);
[codex:539630]
[codex:539630] /**
[codex:539630] * @dev Reduces the balance(tokens) of @param _account by @param _amount
[codex:539630] * @param _account address of the account
[codex:539630] * @param _amount - the amount by which the number of tokens has to be reduced
[codex:539630] * @return bool
[codex:539630] */
[codex:539630] function burn(address _account, uint256 _amount) external returns (bool);
[codex:539630]
[codex:539630]
[codex:539630] thinking
[codex:539630] **Analyzing proxy and token initialization risks**
[codex:539630] thinking
[codex:539630] **Examining token and DAO initialization order risks**
[codex:539630]
[codex:539630] I'll map out the specific call order risk where an attacker could front-run the token's initialize call before the DAO deployer, potentially seizing control of minter and burner roles, leading to unauthorized minting and fund withdrawal. To confirm and detail this, I plan to find exact lines of the relevant initialize functions for clearer reference.
[codex:539630] exec
[codex:539630] /bin/bash -lc "nl -ba contracts/src/tokens/ElasticGovernanceToken.sol | sed -n '1,200p'" in /tmp/codex-multi-hjrj18uk succeeded in 8ms:
[codex:539630] 1 // SPDX-License-Identifier: GPLv3
[codex:539630] 2 pragma solidity 0.7.2;
[codex:539630] 3 pragma experimental ABIEncoderV2;
[codex:539630] 4
[codex:539630] 5 import '../interfaces/IElasticToken.sol';
[codex:539630] 6
[codex:539630] 7 import '../libraries/ElasticMath.sol';
[codex:539630] 8
[codex:539630] 9 import '../core/ElasticDAO.sol';
[codex:539630] 10 import '../models/DAO.sol';
[codex:539630] 11 import '../models/Ecosystem.sol';
[codex:539630] 12 import '../models/Token.sol';
[codex:539630] 13 import '../models/TokenHolder.sol';
[codex:539630] 14
[codex:539630] 15 import '@openzeppelin/contracts/utils/ReentrancyGuard.sol';
[codex:539630] 16
[codex:539630] 17 /**
[codex:539630] 18 * @dev ElasticGovernanceToken contract outlines and defines all the functionality
[codex:539630] 19 * of an ElasticGovernanceToken and also serves as it's storage
[codex:539630] 20 */
[codex:539630]
[codex:539630] thinking
[codex:539630] **Identifying key vulnerable function line numbers**
[codex:539630] exec
[codex:539630] /bin/bash -lc "nl -ba contracts/src/tokens/ElasticGovernanceToken.sol | sed -n '240,420p'" in /tmp/codex-multi-hjrj18uk succeeded in 7ms:
[codex:539630] 240 *
[codex:539630] 241 * @param _spender - address of the spender
[codex:539630] 242 * @param _subtractedValue - the value the allowance has to be decreased by
[codex:539630] 243 *
[codex:539630] 244 * @dev Requirement:
[codex:539630] 245 * Allowance cannot be lower than 0
[codex:539630] 246 *
[codex:539630] 247 * @return bool
[codex:539630] 248 */
[codex:539630] 249 function decreaseAllowance(address _spender, uint256 _subtractedValue)
[codex:539630] 250 external
[codex:539630] 251 nonReentrant
[codex:539630] 252 returns (bool)
[codex:539630] 253 {
[codex:539630] 254 uint256 newAllowance = SafeMath.sub(_allowances[msg.sender][_spender], _subtractedValue);
[codex:539630] 255 _approve(msg.sender, _spender, newAllowance);
[codex:539630] 256 return true;
[codex:539630] 257 }
[codex:539630] 258
[codex:539630] 259 /**
[codex:539630]
[codex:539630] thinking
[codex:539630] **Adding line numbers for exit**
[codex:539630] exec
[codex:539630] /bin/bash -lc "nl -ba contracts/src/core/ElasticDAO.sol | sed -n '120,220p'" in /tmp/codex-multi-hjrj18uk succeeded in 6ms:
[codex:539630] 120 if (_summoners[i] == address(0)) {
[codex:539630] 121 revert('ElasticDAO: Summoner address can not be zero address');
[codex:539630] 122 }
[codex:539630] 123 }
[codex:539630] 124
[codex:539630] 125 controller = _controller;
[codex:539630] 126 deployer = msg.sender;
[codex:539630] 127 summoners = _summoners;
[codex:539630] 128
[codex:539630] 129 Ecosystem.Instance memory defaults = Ecosystem(_ecosystemModelAddress).deserialize(address(0));
[codex:539630] 130 Ecosystem.Instance memory ecosystem = _buildEcosystem(controller, defaults);
[codex:539630] 131 ecosystemModelAddress = ecosystem.ecosystemModelAddress;
[codex:539630] 132
[codex:539630] 133 bool success = _buildDAO(_summoners, _name, _maxVotingLambda, ecosystem);
[codex:539630] 134 initialized = true;
[codex:539630] 135 require(success, 'ElasticDAO: Build DAO Failed');
[codex:539630] 136 }
[codex:539630] 137
[codex:539630] 138 function addLiquidityPool(address _poolAddress)
[codex:539630] 139 external
[codex:539630]
[codex:539630] thinking
[codex:539630] **Summarizing key vulnerability and plan**
[codex:539630] codex
[codex:539630] {"no_findings":false,"summary":"Found 1 concrete exploit path: the governance token proxy can be initialized by anyone before the deployer does, letting an attacker set themselves as minter and later drain the DAO’s ETH via mintShares + exit.","findings":[{"severity":"high","category":"auth","title":"Unprotected governance token initialization lets attacker become minter and drain DAO ETH","exploit_scenario":"1) After ElasticDAO.initialize deploys the governance token proxy but before the deployer calls initializeToken, attacker calls ElasticGovernanceToken.initialize on the proxy, setting _minter/_burner to themselves and passing the DAO’s Ecosystem.Instance (via ElasticDAO.getEcosystem) so storage is wired to the real DAO.\n2) Once the DAO is seeded/summoned and holds ETH, attacker calls mintShares(attacker, huge_amount) as the authorized minter.\n3) Attacker calls ElasticDAO.exit(huge_amount) to burn the forged shares and withdraw nearly all ETH proportional to their inflated share count.\nProfit potential: up to the entire ETH balance held by the DAO (seeded + joined ETH).","recommendation":"Restrict ElasticGovernanceToken.initialize to the DAO (or a trusted deployer) and/or make initialization happen atomically in the DAO deployment flow so no external account can front‑run. Consider an initializer modifier that enforces msg.sender == _ecosystem.daoAddress.","evidence":"ElasticGovernanceToken.initialize is external and lacks any access control beyond initialized=false, but it sets daoAddress/minter/burner. Once attacker sets minter, mintShares is callable by them, and ElasticDAO.exit pays ETH based on share balance.","locations":["contracts/src/tokens/ElasticGovernanceToken.sol:62","contracts/src/tokens/ElasticGovernanceToken.sol:74","contracts/src/tokens/ElasticGovernanceToken.sol:300","contracts/src/core/ElasticDAO.sol:204"]}]}
[codex:539630] tokens used
[codex:539630] 56,153
[codex:539630] {"no_findings":false,"summary":"Found 1 concrete exploit path: the governance token proxy can be initialized by anyone before the deployer does, letting an attacker set themselves as minter and later drain the DAO’s ETH via mintShares + exit.","findings":[{"severity":"high","category":"auth","title":"Unprotected governance token initialization lets attacker become minter and drain DAO ETH","exploit_scenario":"1) After ElasticDAO.initialize deploys the governance token proxy but before the deployer calls initializeToken, attacker calls ElasticGovernanceToken.initialize on the proxy, setting _minter/_burner to themselves and passing the DAO’s Ecosystem.Instance (via ElasticDAO.getEcosystem) so storage is wired to the real DAO.\n2) Once the DAO is seeded/summoned and holds ETH, attacker calls mintShares(attacker, huge_amount) as the authorized minter.\n3) Attacker calls ElasticDAO.exit(huge_amount) to burn the forged shares and withdraw nearly all ETH proportional to their inflated share count.\nProfit potential: up to the entire ETH balance held by the DAO (seeded + joined ETH).","recommendation":"Restrict ElasticGovernanceToken.initialize to the DAO (or a trusted deployer) and/or make initialization happen atomically in the DAO deployment flow so no external account can front‑run. Consider an initializer modifier that enforces msg.sender == _ecosystem.daoAddress.","evidence":"ElasticGovernanceToken.initialize is external and lacks any access control beyond initialized=false, but it sets daoAddress/minter/burner. Once attacker sets minter, mintShares is callable by them, and ElasticDAO.exit pays ETH based on share balance.","locations":["contracts/src/tokens/ElasticGovernanceToken.sol:62","contracts/src/tokens/ElasticGovernanceToken.sol:74","contracts/src/tokens/ElasticGovernanceToken.sol:300","contracts/src/core/ElasticDAO.sol:204"]}]}
{
"codex": {
"ran_at": "2026-01-04T03:21:52.960634+00:00",
"returncode": 0
},
"summary": "Found 1 concrete exploit path: the governance token proxy can be initialized by anyone before the deployer does, letting an attacker set themselves as minter and later drain the DAO\u2019s ETH via mintShares + exit.",
"raw_final": {
"summary": "Found 1 concrete exploit path: the governance token proxy can be initialized by anyone before the deployer does, letting an attacker set themselves as minter and later drain the DAO\u2019s ETH via mintShares + exit.",
"findings": [
{
"title": "Unprotected governance token initialization lets attacker become minter and drain DAO ETH",
"category": "auth",
"evidence": "ElasticGovernanceToken.initialize is external and lacks any access control beyond initialized=false, but it sets daoAddress/minter/burner. Once attacker sets minter, mintShares is callable by them, and ElasticDAO.exit pays ETH based on share balance.",
"severity": "high",
"locations": [
"contracts/src/tokens/ElasticGovernanceToken.sol:62",
"contracts/src/tokens/ElasticGovernanceToken.sol:74",
"contracts/src/tokens/ElasticGovernanceToken.sol:300",
"contracts/src/core/ElasticDAO.sol:204"
],
"recommendation": "Restrict ElasticGovernanceToken.initialize to the DAO (or a trusted deployer) and/or make initialization happen atomically in the DAO deployment flow so no external account can front\u2011run. Consider an initializer modifier that enforces msg.sender == _ecosystem.daoAddress.",
"exploit_scenario": "1) After ElasticDAO.initialize deploys the governance token proxy but before the deployer calls initializeToken, attacker calls ElasticGovernanceToken.initialize on the proxy, setting _minter/_burner to themselves and passing the DAO\u2019s Ecosystem.Instance (via ElasticDAO.getEcosystem) so storage is wired to the real DAO.\n2) Once the DAO is seeded/summoned and holds ETH, attacker calls mintShares(attacker, huge_amount) as the authorized minter.\n3) Attacker calls ElasticDAO.exit(huge_amount) to burn the forged shares and withdraw nearly all ETH proportional to their inflated share count.\nProfit potential: up to the entire ETH balance held by the DAO (seeded + joined ETH)."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH3 0x00014b 0000000d: JUMPI 0000000e: PUSH1 0x00 00000010: CALLDATALOAD 00000011: PUSH1 0xe0 00000013: SHR 00000014: DUP1 00000015: PUSH4 0x8ae7b77e 0000001a: GT 0000001b: PUSH3 0x0000bb 0000001f: JUMPI 00000020: DUP1 00000021: PUSH4 0xb688a363 00000026: GT 00000027: PUSH3 0x000079 0000002b: JUMPI 0000002c: DUP1 0000002d: PUSH4 0xb688a363 00000032: EQ 00000033: PUSH3 0x000378 00000037: JUMPI 00000038: DUP1 00000039: PUSH4 0xb7a906ec 0000003e: EQ 0000003f: PUSH3 0x000382 00000043: JUMPI 00000044: DUP1 00000045: PUSH4 0xd38b576d 0000004a: EQ 0000004b: PUSH3 0x0003a7 0000004f: JUMPI 00000050: DUP1 00000051: PUSH4 0xd5f39488 00000056: EQ 00000057: PUSH3 0x0003cc 0000005b: JUMPI 0000005c: DUP1 0000005d: PUSH4 0xee6a934c 00000062: EQ 00000063: PUSH3 0x0003e4 00000067: JUMPI 00000068: DUP1 00000069: PUSH4 0xf77c4791 0000006e: EQ 0000006f: PUSH3 0x000409 00000073: JUMPI 00000074: PUSH3 0x000153 00000078: JUMP 00000079: JUMPDEST 0000007a: DUP1 0000007b: PUSH4 0x8ae7b77e 00000080: EQ 00000081: PUSH3 0x0002bb 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0x92eefe9b 0000008c: EQ 0000008d: PUSH3 0x0002e0 00000091: JUMPI 00000092: DUP1 00000093: PUSH4 0x985da726 00000098: EQ 00000099: PUSH3 0x000305 0000009d: JUMPI 0000009e: DUP1 0000009f: PUSH4 0xa0f2c977 000000a4: EQ 000000a5: PUSH3 0x00032c 000000a9: JUMPI 000000aa: DUP1 000000ab: PUSH4 0xae22107f 000000b0: EQ 000000b1: PUSH3 0x000353 000000b5: JUMPI 000000b6: PUSH3 0x000153 000000ba: JUMP 000000bb: JUMPDEST 000000bc: DUP1 000000bd: PUSH4 0x3af401f6 000000c2: GT 000000c3: PUSH3 0x000109 000000c7: JUMPI 000000c8: DUP1 000000c9: PUSH4 0x3af401f6 000000ce: EQ 000000cf: PUSH3 0x000200 000000d3: JUMPI 000000d4: DUP1 000000d5: PUSH4 0x79d747be 000000da: EQ 000000db: PUSH3 0x000225 000000df: JUMPI 000000e0: DUP1 000000e1: PUSH4 0x7a5f0ffd 000000e6: EQ 000000e7: PUSH3 0x00024a 000000eb: JUMPI 000000ec: DUP1 000000ed: PUSH4 0x7f8661a1 000000f2: EQ 000000f3: PUSH3 0x000271 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0x81bfaf1a 000000fe: EQ 000000ff: PUSH3 0x000296 00000103: JUMPI 00000104: PUSH3 0x000153 00000108: JUMP 00000109: JUMPDEST 0000010a: DUP1 0000010b: PUSH4 0x02eb9336 00000110: EQ 00000111: PUSH3 0x000155 00000115: JUMPI 00000116: DUP1 00000117: PUSH4 0x035d9f2a 0000011c: EQ 0000011d: PUSH3 0x000185 00000121: JUMPI 00000122: DUP1 00000123: PUSH4 0x03ca8c09 00000128: EQ 00000129: PUSH3 0x0001aa 0000012d: JUMPI 0000012e: DUP1 0000012f: PUSH4 0x158ef93e 00000134: EQ 00000135: PUSH3 0x0001cf 00000139: JUMPI 0000013a: DUP1 0000013b: PUSH4 0x1fb46089 00000140: EQ 00000141: PUSH3 0x0001f6 00000145: JUMPI 00000146: PUSH3 0x000153 0000014a: JUMP 0000014b: JUMPDEST 0000014c: CALLDATASIZE 0000014d: PUSH3 0x000153 00000151: JUMPI 00000152: STOP 00000153: JUMPDEST 00000154: STOP 00000155: JUMPDEST 00000156: CALLVALUE 00000157: DUP1 00000158: ISZERO 00000159: PUSH3 0x000162 0000015d: JUMPI 0000015e: PUSH1 0x00 00000160: DUP1 00000161: REVERT 00000162: JUMPDEST 00000163: POP 00000164: PUSH3 0x00016d 00000168: PUSH3 0x000421 0000016c: JUMP 0000016d: JUMPDEST 0000016e: PUSH1 0x40 00000170: MLOAD 00000171: PUSH3 0x00017c 00000175: SWAP2 00000176: SWAP1 00000177: PUSH3 0x00342c 0000017b: JUMP 0000017c: JUMPDEST 0000017d: PUSH1 0x40 0000017f: MLOAD 00000180: DUP1 00000181: SWAP2 00000182: SUB 00000183: SWAP1 00000184: RETURN 00000185: JUMPDEST 00000186: CALLVALUE 00000187: DUP1 00000188: ISZERO 00000189: PUSH3 0x000192 0000018d: JUMPI 0000018e: PUSH1 0x00 00000190: DUP1 00000191: REVERT 00000192: JUMPDEST 00000193: POP 00000194: PUSH3 0x000153 00000198: PUSH3 0x0001a4 0000019c: CALLDATASIZE 0000019d: PUSH1 0x04 0000019f: PUSH3 0x0031f6 000001a3: JUMP 000001a4: JUMPDEST 000001a5: PUSH3 0x000430 000001a9: JUMP 000001aa: JUMPDEST 000001ab: CALLVALUE 000001ac: DUP1 000001ad: ISZERO 000001ae: PUSH3 0x0001b7 000001b2: JUMPI 000001b3: PUSH1 0x00 000001b5: DUP1 000001b6: REVERT 000001b7: JUMPDEST 000001b8: POP 000001b9: PUSH3 0x000153 000001bd: PUSH3 0x0001c9 000001c1: CALLDATASIZE 000001c2: PUSH1 0x04 000001c4: PUSH3 0x002f52 000001c8: JUMP 000001c9: JUMPDEST 000001ca: PUSH3 0x000934 000001ce: JUMP 000001cf: JUMPDEST 000001d0: CALLVALUE 000001d1: DUP1 000001d2: ISZERO 000001d3: PUSH3 0x0001dc 000001d7: JUMPI 000001d8: PUSH1 0x00 000001da: DUP1 000001db: REVERT 000001dc: JUMPDEST 000001dd: POP 000001de: PUSH3 0x0001e7 000001e2: PUSH3 0x000a4e 000001e6: JUMP 000001e7: JUMPDEST 000001e8: PUSH1 0x40 000001ea: MLOAD 000001eb: PUSH3 0x00017c 000001ef: SWAP2 000001f0: SWAP1 000001f1: PUSH3 0x0034da 000001f5: JUMP 000001f6: JUMPDEST 000001f7: PUSH3 0x000153 000001fb: PUSH3 0x000a57 000001ff: JUMP 00000200: JUMPDEST 00000201: CALLVALUE 00000202: DUP1 00000203: ISZERO 00000204: PUSH3 0x00020d 00000208: JUMPI 00000209: PUSH1 0x00 0000020b: DUP1 0000020c: REVERT 0000020d: JUMPDEST 0000020e: POP 0000020f: PUSH3 0x000153 00000213: PUSH3 0x00021f 00000217: CALLDATASIZE 00000218: PUSH1 0x04 0000021a: PUSH3 0x002e70 0000021e: JUMP 0000021f: JUMPDEST 00000220: PUSH3 0x000dec 00000224: JUMP 00000225: JUMPDEST 00000226: CALLVALUE 00000227: DUP1 00000228: ISZERO 00000229: PUSH3 0x000232 0000022d: JUMPI 0000022e: PUSH1 0x00 00000230: DUP1 00000231: REVERT 00000232: JUMPDEST 00000233: POP 00000234: PUSH3 0x00016d 00000238: PUSH3 0x000244 0000023c: CALLDATASIZE 0000023d: PUSH1 0x04 0000023f: PUSH3 0x0031f6 00000243: JUMP 00000244: JUMPDEST 00000245: PUSH3 0x000f47 00000249: JUMP 0000024a: JUMPDEST 0000024b: CALLVALUE 0000024c: DUP1 0000024d: ISZERO 0000024e: PUSH3 0x000257 00000252: JUMPI 00000253: PUSH1 0x00 00000255: DUP1 00000256: REVERT 00000257: JUMPDEST 00000258: POP 00000259: PUSH3 0x000262 0000025d: PUSH3 0x000f6f 00000261: JUMP 00000262: JUMPDEST 00000263: PUSH1 0x40 00000265: MLOAD 00000266: PUSH3 0x00017c 0000026a: SWAP2 0000026b: SWAP1 0000026c: PUSH3 0x003baf 00000270: JUMP 00000271: JUMPDEST 00000272: CALLVALUE 00000273: DUP1 00000274: ISZERO 00000275: PUSH3 0x00027e 00000279: JUMPI 0000027a: PUSH1 0x00 0000027c: DUP1 0000027d: REVERT 0000027e: JUMPDEST 0000027f: POP 00000280: PUSH3 0x000153 00000284: PUSH3 0x000290 00000288: CALLDATASIZE 00000289: PUSH1 0x04 0000028b: PUSH3 0x0031f6 0000028f: JUMP 00000290: JUMPDEST 00000291: PUSH3 0x000f75 00000295: JUMP 00000296: JUMPDEST 00000297: CALLVALUE 00000298: DUP1 00000299: ISZERO 0000029a: PUSH3 0x0002a3 0000029e: JUMPI 0000029f: PUSH1 0x00 000002a1: DUP1 000002a2: REVERT 000002a3: JUMPDEST 000002a4: POP 000002a5: PUSH3 0x000153 000002a9: PUSH3 0x0002b5 000002ad: CALLDATASIZE 000002ae: PUSH1 0x04 000002b0: PUSH3 0x002dd7 000002b4: JUMP 000002b5: JUMPDEST 000002b6: PUSH3 0x00117b 000002ba: JUMP 000002bb: JUMPDEST 000002bc: CALLVALUE 000002bd: DUP1 000002be: ISZERO 000002bf: PUSH3 0x0002c8 000002c3: JUMPI 000002c4: PUSH1 0x00 000002c6: DUP1 000002c7: REVERT 000002c8: JUMPDEST 000002c9: POP 000002ca: PUSH3 0x000153 000002ce: PUSH3 0x0002da 000002d2: CALLDATASIZE 000002d3: PUSH1 0x04 000002d5: PUSH3 0x0031f6 000002d9: JUMP 000002da: JUMPDEST 000002db: PUSH3 0x0013f5 000002df: JUMP 000002e0: JUMPDEST 000002e1: CALLVALUE 000002e2: DUP1 000002e3: ISZERO 000002e4: PUSH3 0x0002ed 000002e8: JUMPI 000002e9: PUSH1 0x00 000002eb: DUP1 000002ec: REVERT 000002ed: JUMPDEST 000002ee: POP 000002ef: PUSH3 0x000153 000002f3: PUSH3 0x0002ff 000002f7: CALLDATASIZE 000002f8: PUSH1 0x04 000002fa: PUSH3 0x002d99 000002fe: JUMP 000002ff: JUMPDEST 00000300: PUSH3 0x0015ab 00000304: JUMP 00000305: JUMPDEST 00000306: CALLVALUE 00000307: DUP1 00000308: ISZERO 00000309: PUSH3 0x000312 0000030d: JUMPI 0000030e: PUSH1 0x00 00000310: DUP1 00000311: REVERT 00000312: JUMPDEST 00000313: POP 00000314: PUSH3 0x00031d 00000318: PUSH3 0x001803 0000031c: JUMP 0000031d: JUMPDEST 0000031e: PUSH1 0x40 00000320: MLOAD 00000321: PUSH3 0x00017c 00000325: SWAP2 00000326: SWAP1 00000327: PUSH3 0x003b25 0000032b: JUMP 0000032c: JUMPDEST 0000032d: CALLVALUE 0000032e: DUP1 0000032f: ISZERO 00000330: PUSH3 0x000339 00000334: JUMPI 00000335: PUSH1 0x00 00000337: DUP1 00000338: REVERT 00000339: JUMPDEST 0000033a: POP 0000033b: PUSH3 0x000344 0000033f: PUSH3 0x00181c 00000343: JUMP 00000344: JUMPDEST 00000345: PUSH1 0x40 00000347: MLOAD 00000348: PUSH3 0x00017c 0000034c: SWAP2 0000034d: SWAP1 0000034e: PUSH3 0x003b8a 00000352: JUMP 00000353: JUMPDEST 00000354: CALLVALUE 00000355: DUP1 00000356: ISZERO 00000357: PUSH3 0x000360 0000035b: JUMPI 0000035c: PUSH1 0x00 0000035e: DUP1 0000035f: REVERT 00000360: JUMPDEST 00000361: POP 00000362: PUSH3 0x0001e7 00000366: PUSH3 0x000372 0000036a: CALLDATASIZE 0000036b: PUSH1 0x04 0000036d: PUSH3 0x002d99 00000371: JUMP 00000372: JUMPDEST 00000373: PUSH3 0x001830 00000377: JUMP 00000378: JUMPDEST 00000379: PUSH3 0x000153 0000037d: PUSH3 0x0019ac 00000381: JUMP 00000382: JUMPDEST 00000383: CALLVALUE 00000384: DUP1 00000385: ISZERO 00000386: PUSH3 0x00038f 0000038a: JUMPI 0000038b: PUSH1 0x00 0000038d: DUP1 0000038e: REVERT 0000038f: JUMPDEST 00000390: POP 00000391: PUSH3 0x000153 00000395: PUSH3 0x0003a1 00000399: CALLDATASIZE 0000039a: PUSH1 0x04 0000039c: PUSH3 0x002e70 000003a0: JUMP 000003a1: JUMPDEST 000003a2: PUSH3 0x001df7 000003a6: JUMP 000003a7: JUMPDEST 000003a8: CALLVALUE 000003a9: DUP1 000003aa: ISZERO 000003ab: PUSH3 0x0003b4 000003af: JUMPI 000003b0: PUSH1 0x00 000003b2: DUP1 000003b3: REVERT 000003b4: JUMPDEST 000003b5: POP 000003b6: PUSH3 0x00016d 000003ba: PUSH3 0x0003c6 000003be: CALLDATASIZE 000003bf: PUSH1 0x04 000003c1: PUSH3 0x0031f6 000003c5: JUMP 000003c6: JUMPDEST 000003c7: PUSH3 0x002116 000003cb: JUMP 000003cc: JUMPDEST 000003cd: CALLVALUE 000003ce: DUP1 000003cf: ISZERO 000003d0: PUSH3 0x0003d9 000003d4: JUMPI 000003d5: PUSH1 0x00 000003d7: DUP1 000003d8: REVERT 000003d9: JUMPDEST 000003da: POP 000003db: PUSH3 0x00016d 000003df: PUSH3 0x002124 000003e3: JUMP 000003e4: JUMPDEST 000003e5: CALLVALUE 000003e6: DUP1 000003e7: ISZERO 000003e8: PUSH3 0x0003f1 000003ec: JUMPI 000003ed: PUSH1 0x00 000003ef: DUP1 000003f0: REVERT 000003f1: JUMPDEST 000003f2: POP 000003f3: PUSH3 0x0001e7 000003f7: PUSH3 0x000403 000003fb: CALLDATASIZE 000003fc: PUSH1 0x04 000003fe: PUSH3 0x002d99 00000402: JUMP 00000403: JUMPDEST 00000404: PUSH3 0x002133 00000408: JUMP 00000409: JUMPDEST 0000040a: CALLVALUE 0000040b: DUP1 0000040c: ISZERO 0000040d: PUSH3 0x000416 00000411: JUMPI 00000412: PUSH1 0x00 00000414: DUP1 00000415: REVERT 00000416: JUMPDEST 00000417: POP 00000418: PUSH3 0x00016d 0000041c: PUSH3 0x00220d 00000420: JUMP 00000421: JUMPDEST 00000422: PUSH1 0x02 00000424: SLOAD 00000425: PUSH1 0x01 00000427: PUSH1 0x01 00000429: PUSH1 0xa0 0000042b: SHL 0000042c: SUB 0000042d: AND 0000042e: DUP2 0000042f: JUMP 00000430: JUMPDEST 00000431: PUSH3 0x00043a 00000435: PUSH3 0x0029b2 00000439: JUMP 0000043a: JUMPDEST 0000043b: PUSH3 0x000444 0000043f: PUSH3 0x00221c 00000443: JUMP 00000444: JUMPDEST 00000445: PUSH1 0x40 00000447: DUP2 00000448: ADD 00000449: MLOAD 0000044a: SWAP1 0000044b: SWAP2 0000044c: POP 0000044d: ISZERO 0000044e: PUSH3 0x000475 00000452: JUMPI 00000453: PUSH1 0x40 00000455: MLOAD 00000456: PUSH3 0x461bcd 0000045a: PUSH1 0xe5 0000045c: SHL 0000045d: DUP2 0000045e: MSTORE 0000045f: PUSH1 0x04 00000461: ADD 00000462: PUSH3 0x00046c 00000466: SWAP1 00000467: PUSH3 0x0034e5 0000046b: JUMP 0000046c: JUMPDEST 0000046d: PUSH1 0x40 0000046f: MLOAD 00000470: DUP1 00000471: SWAP2 00000472: SUB 00000473: SWAP1 00000474: REVERT 00000475: JUMPDEST 00000476: PUSH3 0x00047f 0000047a: PUSH3 0x002a01 0000047e: JUMP 0000047f: JUMPDEST 00000480: PUSH3 0x000489 00000484: PUSH3 0x0022cf 00000488: JUMP 00000489: JUMPDEST 0000048a: PUSH1 0x20 0000048c: DUP2 0000048d: ADD 0000048e: MLOAD 0000048f: SWAP1 00000490: SWAP2 00000491: POP 00000492: PUSH3 0x00049b 00000496: PUSH3 0x0029b2 0000049a: JUMP 0000049b: JUMPDEST 0000049c: PUSH1 0x40 0000049e: MLOAD 0000049f: PUSH4 0xa094717b 000004a4: PUSH1 0xe0 000004a6: SHL 000004a7: DUP2 000004a8: MSTORE 000004a9: PUSH1 0x01 000004ab: PUSH1 0x01 000004ad: PUSH1 0xa0 000004af: SHL 000004b0: SUB 000004b1: DUP4 000004b2: AND 000004b3: SWAP1 000004b4: PUSH4 0xa094717b 000004b9: SWAP1 000004ba: PUSH3 0x0004cb 000004be: SWAP1 000004bf: ADDRESS 000004c0: SWAP1 000004c1: DUP8 000004c2: SWAP1 000004c3: PUSH1 0x04 000004c5: ADD 000004c6: PUSH3 0x003440 000004ca: JUMP 000004cb: JUMPDEST 000004cc: PUSH1 0x00 000004ce: PUSH1 0x40 000004d0: MLOAD 000004d1: DUP1 000004d2: DUP4 000004d3: SUB 000004d4: DUP2 000004d5: DUP7 000004d6: DUP1 000004d7: EXTCODESIZE 000004d8: ISZERO 000004d9: DUP1 000004da: ISZERO 000004db: PUSH3 0x0004e4 000004df: JUMPI 000004e0: PUSH1 0x00 000004e2: DUP1 000004e3: REVERT 000004e4: JUMPDEST 000004e5: POP 000004e6: GAS 000004e7: STATICCALL 000004e8: ISZERO 000004e9: DUP1 000004ea: ISZERO 000004eb: PUSH3 0x0004f9 000004ef: JUMPI 000004f0: RETURNDATASIZE 000004f1: PUSH1 0x00 000004f3: DUP1 000004f4: RETURNDATACOPY 000004f5: RETURNDATASIZE 000004f6: PUSH1 0x00 000004f8: REVERT 000004f9: JUMPDEST 000004fa: POP 000004fb: POP 000004fc: POP 000004fd: POP 000004fe: PUSH1 0x40 00000500: MLOAD 00000501: RETURNDATASIZE 00000502: PUSH1 0x00 00000504: DUP3 00000505: RETURNDATACOPY 00000506: PUSH1 0x1f 00000508: RETURNDATASIZE 00000509: SWAP1 0000050a: DUP2 0000050b: ADD 0000050c: PUSH1 0x1f 0000050e: NOT 0000050f: AND 00000510: DUP3 00000511: ADD 00000512: PUSH1 0x40 00000514: MSTORE 00000515: PUSH3 0x000523 00000519: SWAP2 0000051a: SWAP1 0000051b: DUP2 0000051c: ADD 0000051d: SWAP1 0000051e: PUSH3 0x002fdd 00000522: JUMP 00000523: JUMPDEST 00000524: SWAP1 00000525: POP 00000526: PUSH1 0x00 00000528: DUP3 00000529: PUSH1 0x01 0000052b: PUSH1 0x01 0000052d: PUSH1 0xa0 0000052f: SHL 00000530: SUB 00000531: AND 00000532: PUSH4 0x1f773228 00000537: DUP4 00000538: CALLER 00000539: PUSH1 0x40 0000053b: MLOAD 0000053c: DUP4 0000053d: PUSH4 0xffffffff 00000542: AND 00000543: PUSH1 0xe0 00000545: SHL 00000546: DUP2 00000547: MSTORE 00000548: PUSH1 0x04 0000054a: ADD 0000054b: PUSH3 0x000557 0000054f: SWAP3 00000550: SWAP2 00000551: SWAP1 00000552: PUSH3 0x003b3a 00000556: JUMP 00000557: JUMPDEST 00000558: PUSH1 0x20 0000055a: PUSH1 0x40 0000055c: MLOAD 0000055d: DUP1 0000055e: DUP4 0000055f: SUB 00000560: DUP2 00000561: DUP7 00000562: DUP1 00000563: EXTCODESIZE 00000564: ISZERO 00000565: DUP1 00000566: ISZERO 00000567: PUSH3 0x000570 0000056b: JUMPI 0000056c: PUSH1 0x00 0000056e: DUP1 0000056f: REVERT 00000570: JUMPDEST 00000571: POP 00000572: GAS 00000573: STATICCALL 00000574: ISZERO 00000575: DUP1 00000576: ISZERO 00000577: PUSH3 0x000585 0000057b: JUMPI 0000057c: RETURNDATASIZE 0000057d: PUSH1 0x00 0000057f: DUP1 00000580: RETURNDATACOPY 00000581: RETURNDATASIZE 00000582: PUSH1 0x00 00000584: REVERT 00000585: JUMPDEST 00000586: POP 00000587: POP 00000588: POP 00000589: POP 0000058a: PUSH1 0x40 0000058c: MLOAD 0000058d: RETURNDATASIZE 0000058e: PUSH1 0x1f 00000590: NOT 00000591: PUSH1 0x1f 00000593: DUP3 00000594: ADD 00000595: AND 00000596: DUP3 00000597: ADD 00000598: DUP1 00000599: PUSH1 0x40 0000059b: MSTORE 0000059c: POP 0000059d: DUP2 0000059e: ADD 0000059f: SWAP1 000005a0: PUSH3 0x0005ab 000005a4: SWAP2 000005a5: SWAP1 000005a6: PUSH3 0x002f35 000005aa: JUMP 000005ab: JUMPDEST 000005ac: SWAP1 000005ad: POP 000005ae: DUP1 000005af: PUSH3 0x0005cd 000005b3: JUMPI 000005b4: PUSH1 0x40 000005b6: MLOAD 000005b7: PUSH3 0x461bcd 000005bb: PUSH1 0xe5 000005bd: SHL 000005be: DUP2 000005bf: MSTORE 000005c0: PUSH1 0x04 000005c2: ADD 000005c3: PUSH3 0x00046c 000005c7: SWAP1 000005c8: PUSH3 0x00357d 000005cc: JUMP 000005cd: JUMPDEST 000005ce: PUSH1 0x02 000005d0: PUSH1 0x00 000005d2: SLOAD 000005d3: EQ 000005d4: ISZERO 000005d5: PUSH3 0x0005f3 000005d9: JUMPI 000005da: PUSH1 0x40 000005dc: MLOAD 000005dd: PUSH3 0x461bcd 000005e1: PUSH1 0xe5 000005e3: SHL 000005e4: DUP2 000005e5: MSTORE 000005e6: PUSH1 0x04 000005e8: ADD 000005e9: PUSH3 0x00046c 000005ed: SWAP1 000005ee: PUSH3 0x003ab7 000005f2: JUMP 000005f3: JUMPDEST 000005f4: PUSH1 0x02 000005f6: PUSH1 0x00 000005f8: SSTORE 000005f9: SELFBALANCE 000005fa: PUSH3 0x000618 000005fe: JUMPI 000005ff: PUSH1 0x40 00000601: MLOAD 00000602: PUSH3 0x461bcd 00000606: PUSH1 0xe5 00000608: SHL 00000609: DUP2 0000060a: MSTORE 0000060b: PUSH1 0x04 0000060d: ADD 0000060e: PUSH3 0x00046c 00000612: SWAP1 00000613: PUSH3 0x003a5a 00000617: JUMP 00000618: JUMPDEST 00000619: PUSH3 0x000622 0000061d: PUSH3 0x002a01 00000621: JUMP 00000622: JUMPDEST 00000623: PUSH3 0x00062c 00000627: PUSH3 0x0022cf 0000062b: JUMP 0000062c: JUMPDEST 0000062d: PUSH1 0x20 0000062f: DUP2 00000630: ADD 00000631: MLOAD 00000632: SWAP1 00000633: SWAP2 00000634: POP 00000635: PUSH3 0x00063e 00000639: PUSH3 0x0029b2 0000063d: JUMP 0000063e: JUMPDEST 0000063f: PUSH1 0x40 00000641: MLOAD 00000642: PUSH4 0xa094717b 00000647: PUSH1 0xe0 00000649: SHL 0000064a: DUP2 0000064b: MSTORE 0000064c: PUSH1 0x01 0000064e: PUSH1 0x01 00000650: PUSH1 0xa0 00000652: SHL 00000653: SUB 00000654: DUP4 00000655: AND 00000656: SWAP1 00000657: PUSH4 0xa094717b 0000065c: SWAP1 0000065d: PUSH3 0x00066e 00000661: SWAP1 00000662: ADDRESS 00000663: SWAP1 00000664: DUP8 00000665: SWAP1 00000666: PUSH1 0x04 00000668: ADD 00000669: PUSH3 0x003440 0000066d: JUMP 0000066e: JUMPDEST 0000066f: PUSH1 0x00 00000671: PUSH1 0x40 00000673: MLOAD 00000674: DUP1 00000675: DUP4 00000676: SUB 00000677: DUP2 00000678: DUP7 00000679: DUP1 0000067a: EXTCODESIZE 0000067b: ISZERO 0000067c: DUP1 0000067d: ISZERO 0000067e: PUSH3 0x000687 00000682: JUMPI 00000683: PUSH1 0x00 00000685: DUP1 00000686: REVERT 00000687: JUMPDEST 00000688: POP 00000689: GAS 0000068a: STATICCALL 0000068b: ISZERO 0000068c: DUP1 0000068d: ISZERO 0000068e: PUSH3 0x00069c 00000692: JUMPI 00000693: RETURNDATASIZE 00000694: PUSH1 0x00 00000696: DUP1 00000697: RETURNDATACOPY 00000698: RETURNDATASIZE 00000699: PUSH1 0x00 0000069b: REVERT 0000069c: JUMPDEST 0000069d: POP 0000069e: POP 0000069f: POP 000006a0: POP 000006a1: PUSH1 0x40 000006a3: MLOAD 000006a4: RETURNDATASIZE 000006a5: PUSH1 0x00 000006a7: DUP3 000006a8: RETURNDATACOPY 000006a9: PUSH1 0x1f 000006ab: RETURNDATASIZE 000006ac: SWAP1 000006ad: DUP2 000006ae: ADD 000006af: PUSH1 0x1f 000006b1: NOT 000006b2: AND 000006b3: DUP3 000006b4: ADD 000006b5: PUSH1 0x40 000006b7: MSTORE 000006b8: PUSH3 0x0006c6 000006bc: SWAP2 000006bd: SWAP1 000006be: DUP2 000006bf: ADD 000006c0: SWAP1 000006c1: PUSH3 0x002fdd 000006c5: JUMP 000006c6: JUMPDEST 000006c7: SWAP1 000006c8: POP 000006c9: PUSH3 0x0006d2 000006cd: PUSH3 0x002a36 000006d1: JUMP 000006d2: JUMPDEST 000006d3: PUSH1 0x80 000006d5: DUP5 000006d6: ADD 000006d7: MLOAD 000006d8: PUSH1 0xa0 000006da: DUP6 000006db: ADD 000006dc: MLOAD 000006dd: PUSH1 0x40 000006df: MLOAD 000006e0: PUSH4 0xa094717b 000006e5: PUSH1 0xe0 000006e7: SHL 000006e8: DUP2 000006e9: MSTORE 000006ea: PUSH1 0x01 000006ec: PUSH1 0x01 000006ee: PUSH1 0xa0 000006f0: SHL 000006f1: SUB 000006f2: SWAP1 000006f3: SWAP3 000006f4: AND 000006f5: SWAP2 000006f6: PUSH4 0xa094717b 000006fb: SWAP2 000006fc: PUSH3 0x00070b 00000700: SWAP2 00000701: DUP9 00000702: SWAP1 00000703: PUSH1 0x04 00000705: ADD 00000706: PUSH3 0x003440 0000070a: JUMP 0000070b: JUMPDEST 0000070c: PUSH1 0x00 0000070e: PUSH1 0x40 00000710: MLOAD 00000711: DUP1 00000712: DUP4 00000713: SUB 00000714: DUP2 00000715: DUP7 00000716: DUP1 00000717: EXTCODESIZE 00000718: ISZERO 00000719: DUP1 0000071a: ISZERO 0000071b: PUSH3 0x000724 0000071f: JUMPI 00000720: PUSH1 0x00 00000722: DUP1 00000723: REVERT 00000724: JUMPDEST 00000725: POP 00000726: GAS 00000727: STATICCALL 00000728: ISZERO 00000729: DUP1 0000072a: ISZERO 0000072b: PUSH3 0x000739 0000072f: JUMPI 00000730: RETURNDATASIZE 00000731: PUSH1 0x00 00000733: DUP1 00000734: RETURNDATACOPY 00000735: RETURNDATASIZE 00000736: PUSH1 0x00 00000738: REVERT 00000739: JUMPDEST 0000073a: POP 0000073b: POP 0000073c: POP 0000073d: POP 0000073e: PUSH1 0x40 00000740: MLOAD 00000741: RETURNDATASIZE 00000742: PUSH1 0x00 00000744: DUP3 00000745: RETURNDATACOPY 00000746: PUSH1 0x1f 00000748: RETURNDATASIZE 00000749: SWAP1 0000074a: DUP2 0000074b: ADD 0000074c: PUSH1 0x1f 0000074e: NOT 0000074f: AND 00000750: DUP3 00000751: ADD 00000752: PUSH1 0x40 00000754: MSTORE 00000755: PUSH3 0x000763 00000759: SWAP2 0000075a: SWAP1 0000075b: DUP2 0000075c: ADD 0000075d: SWAP1 0000075e: PUSH3 0x0030e3 00000762: JUMP 00000763: JUMPDEST 00000764: DUP1 00000765: MLOAD 00000766: SWAP1 00000767: SWAP2 00000768: POP 00000769: PUSH1 0x00 0000076b: JUMPDEST 0000076c: DUP4 0000076d: PUSH1 0xa0 0000076f: ADD 00000770: MLOAD 00000771: DUP2 00000772: LT 00000773: ISZERO 00000774: PUSH3 0x00088b 00000778: JUMPI 00000779: DUP2 0000077a: PUSH1 0x01 0000077c: PUSH1 0x01 0000077e: PUSH1 0xa0 00000780: SHL 00000781: SUB 00000782: AND 00000783: PUSH4 0x528c198a 00000788: DUP7 00000789: PUSH1 0x01 0000078b: PUSH1 0x01 0000078d: PUSH1 0xa0 0000078f: SHL 00000790: SUB 00000791: AND 00000792: PUSH4 0xd21957e2 00000797: DUP8 00000798: DUP6 00000799: PUSH1 0x40 0000079b: MLOAD 0000079c: DUP4 0000079d: PUSH4 0xffffffff 000007a2: AND 000007a3: PUSH1 0xe0 000007a5: SHL 000007a6: DUP2 000007a7: MSTORE 000007a8: PUSH1 0x04 000007aa: ADD 000007ab: PUSH3 0x0007b7 000007af: SWAP3 000007b0: SWAP2 000007b1: SWAP1 000007b2: PUSH3 0x003b66 000007b6: JUMP 000007b7: JUMPDEST 000007b8: PUSH1 0x20 000007ba: PUSH1 0x40 000007bc: MLOAD 000007bd: DUP1 000007be: DUP4 000007bf: SUB 000007c0: DUP2 000007c1: DUP7 000007c2: DUP1 000007c3: EXTCODESIZE 000007c4: ISZERO 000007c5: DUP1 000007c6: ISZERO 000007c7: PUSH3 0x0007d0 000007cb: JUMPI 000007cc: PUSH1 0x00 000007ce: DUP1 000007cf: REVERT 000007d0: JUMPDEST 000007d1: POP 000007d2: GAS 000007d3: STATICCALL 000007d4: ISZERO 000007d5: DUP1 000007d6: ISZERO 000007d7: PUSH3 0x0007e5 000007db: JUMPI 000007dc: RETURNDATASIZE 000007dd: PUSH1 0x00 000007df: DUP1 000007e0: RETURNDATACOPY 000007e1: RETURNDATASIZE 000007e2: PUSH1 0x00 000007e4: REVERT 000007e5: JUMPDEST 000007e6: POP 000007e7: POP 000007e8: POP 000007e9: POP 000007ea: PUSH1 0x40 000007ec: MLOAD 000007ed: RETURNDATASIZE 000007ee: PUSH1 0x1f 000007f0: NOT 000007f1: PUSH1 0x1f 000007f3: DUP3 000007f4: ADD 000007f5: AND 000007f6: DUP3 000007f7: ADD 000007f8: DUP1 000007f9: PUSH1 0x40 000007fb: MSTORE 000007fc: POP 000007fd: DUP2 000007fe: ADD 000007ff: SWAP1 00000800: PUSH3 0x00080b 00000804: SWAP2 00000805: SWAP1 00000806: PUSH3 0x002db8 0000080a: JUMP 0000080b: JUMPDEST 0000080c: DUP15 0000080d: PUSH1 0x40 0000080f: MLOAD 00000810: DUP4 00000811: PUSH4 0xffffffff 00000816: AND 00000817: PUSH1 0xe0 00000819: SHL 0000081a: DUP2 0000081b: MSTORE 0000081c: PUSH1 0x04 0000081e: ADD 0000081f: PUSH3 0x00082b 00000823: SWAP3 00000824: SWAP2 00000825: SWAP1 00000826: PUSH3 0x00345f 0000082a: JUMP 0000082b: JUMPDEST 0000082c: PUSH1 0x20 0000082e: PUSH1 0x40 00000830: MLOAD 00000831: DUP1 00000832: DUP4 00000833: SUB 00000834: DUP2 00000835: PUSH1 0x00 00000837: DUP8 00000838: DUP1 00000839: EXTCODESIZE 0000083a: ISZERO 0000083b: DUP1 0000083c: ISZERO 0000083d: PUSH3 0x000846 00000841: JUMPI 00000842: PUSH1 0x00 00000844: DUP1 00000845: REVERT 00000846: JUMPDEST 00000847: POP 00000848: GAS 00000849: CALL 0000084a: ISZERO 0000084b: DUP1 0000084c: ISZERO 0000084d: PUSH3 0x00085b 00000851: JUMPI 00000852: RETURNDATASIZE 00000853: PUSH1 0x00 00000855: DUP1 00000856: RETURNDATACOPY 00000857: RETURNDATASIZE 00000858: PUSH1 0x00 0000085a: REVERT 0000085b: JUMPDEST 0000085c: POP 0000085d: POP 0000085e: POP 0000085f: POP 00000860: PUSH1 0x40 00000862: MLOAD 00000863: RETURNDATASIZE 00000864: PUSH1 0x1f 00000866: NOT 00000867: PUSH1 0x1f 00000869: DUP3 0000086a: ADD 0000086b: AND 0000086c: DUP3 0000086d: ADD 0000086e: DUP1 0000086f: PUSH1 0x40 00000871: MSTORE 00000872: POP 00000873: DUP2 00000874: ADD 00000875: SWAP1 00000876: PUSH3 0x000881 0000087a: SWAP2 0000087b: SWAP1 0000087c: PUSH3 0x002f35 00000880: JUMP 00000881: JUMPDEST 00000882: POP 00000883: PUSH1 0x01 00000885: ADD 00000886: PUSH3 0x00076b 0000088a: JUMP 0000088b: JUMPDEST 0000088c: POP 0000088d: PUSH1 0x01 0000088f: PUSH1 0x40 00000891: DUP1 00000892: DUP6 00000893: ADD 00000894: SWAP2 00000895: SWAP1 00000896: SWAP2 00000897: MSTORE 00000898: MLOAD 00000899: PUSH4 0x8ddf5ad7 0000089e: PUSH1 0xe0 000008a0: SHL 000008a1: DUP2 000008a2: MSTORE 000008a3: PUSH1 0x01 000008a5: PUSH1 0x01 000008a7: PUSH1 0xa0 000008a9: SHL 000008aa: SUB 000008ab: DUP6 000008ac: AND 000008ad: SWAP1 000008ae: PUSH4 0x8ddf5ad7 000008b3: SWAP1 000008b4: PUSH3 0x0008c3 000008b8: SWAP1 000008b9: DUP7 000008ba: SWAP1 000008bb: PUSH1 0x04 000008bd: ADD 000008be: PUSH3 0x003b25 000008c2: JUMP 000008c3: JUMPDEST 000008c4: PUSH1 0x00 000008c6: PUSH1 0x40 000008c8: MLOAD 000008c9: DUP1 000008ca: DUP4 000008cb: SUB 000008cc: DUP2 000008cd: PUSH1 0x00 000008cf: DUP8 000008d0: DUP1 000008d1: EXTCODESIZE 000008d2: ISZERO 000008d3: DUP1 000008d4: ISZERO 000008d5: PUSH3 0x0008de 000008d9: JUMPI 000008da: PUSH1 0x00 000008dc: DUP1 000008dd: REVERT 000008de: JUMPDEST 000008df: POP 000008e0: GAS 000008e1: CALL 000008e2: ISZERO 000008e3: DUP1 000008e4: ISZERO 000008e5: PUSH3 0x0008f3 000008e9: JUMPI 000008ea: RETURNDATASIZE 000008eb: PUSH1 0x00 000008ed: DUP1 000008ee: RETURNDATACOPY 000008ef: RETURNDATASIZE 000008f0: PUSH1 0x00 000008f2: REVERT 000008f3: JUMPDEST 000008f4: POP 000008f5: POP 000008f6: PUSH1 0x40 000008f8: MLOAD 000008f9: CALLER 000008fa: SWAP3 000008fb: POP 000008fc: PUSH32 0x531d8741ce68554af130fdf373b13575ca1ee3bbcdd61b3981c40e59e4067129 0000091d: SWAP2 0000091e: POP 0000091f: PUSH1 0x00 00000921: SWAP1 00000922: LOG2 00000923: POP 00000924: POP 00000925: PUSH1 0x01 00000927: PUSH1 0x00 00000929: SSTORE 0000092a: POP 0000092b: POP 0000092c: POP 0000092d: POP 0000092e: POP 0000092f: POP 00000930: POP 00000931: POP 00000932: POP 00000933: JUMP 00000934: JUMPDEST 00000935: PUSH3 0x00093e 00000939: PUSH3 0x0029b2 0000093d: JUMP 0000093e: JUMPDEST 0000093f: PUSH3 0x000948 00000943: PUSH3 0x00221c 00000947: JUMP 00000948: JUMPDEST 00000949: PUSH1 0x40 0000094b: DUP2 0000094c: ADD 0000094d: MLOAD 0000094e: SWAP1 0000094f: SWAP2 00000950: POP 00000951: ISZERO 00000952: PUSH3 0x000970 00000956: JUMPI 00000957: PUSH1 0x40 00000959: MLOAD 0000095a: PUSH3 0x461bcd 0000095e: PUSH1 0xe5 00000960: SHL 00000961: DUP2 00000962: MSTORE 00000963: PUSH1 0x04 00000965: ADD 00000966: PUSH3 0x00046c 0000096a: SWAP1 0000096b: PUSH3 0x0034e5 0000096f: JUMP 00000970: JUMPDEST 00000971: PUSH1 0x01 00000973: SLOAD 00000974: PUSH1 0x01 00000976: PUSH1 0x01 00000978: PUSH1 0xa0 0000097a: SHL 0000097b: SUB 0000097c: AND 0000097d: CALLER 0000097e: EQ 0000097f: PUSH3 0x00099d 00000983: JUMPI 00000984: PUSH1 0x40 00000986: MLOAD 00000987: PUSH3 0x461bcd 0000098b: PUSH1 0xe5 0000098d: SHL 0000098e: DUP2 0000098f: MSTORE 00000990: PUSH1 0x04 00000992: ADD 00000993: PUSH3 0x00046c 00000997: SWAP1 00000998: PUSH3 0x003674 0000099c: JUMP 0000099d: JUMPDEST 0000099e: PUSH1 0x02 000009a0: PUSH1 0x00 000009a2: SLOAD 000009a3: EQ 000009a4: ISZERO 000009a5: PUSH3 0x0009c3 000009a9: JUMPI 000009aa: PUSH1 0x40 000009ac: MLOAD 000009ad: PUSH3 0x461bcd 000009b1: PUSH1 0xe5 000009b3: SHL 000009b4: DUP2 000009b5: MSTORE 000009b6: PUSH1 0x04 000009b8: ADD 000009b9: PUSH3 0x00046c 000009bd: SWAP1 000009be: PUSH3 0x003ab7 000009c2: JUMP 000009c3: JUMPDEST 000009c4: PUSH1 0x02 000009c6: PUSH1 0x00 000009c8: SSTORE 000009c9: PUSH3 0x0009d2 000009cd: PUSH3 0x002a01 000009d1: JUMP 000009d2: JUMPDEST 000009d3: PUSH3 0x0009dc 000009d7: PUSH3 0x0022cf 000009db: JUMP 000009dc: JUMPDEST 000009dd: SWAP1 000009de: POP 000009df: PUSH3 0x0009e8 000009e3: PUSH3 0x002a36 000009e7: JUMP 000009e8: JUMPDEST 000009e9: PUSH1 0x03 000009eb: SLOAD 000009ec: PUSH3 0x000a06 000009f0: SWAP1 000009f1: PUSH1 0x01 000009f3: PUSH1 0x01 000009f5: PUSH1 0xa0 000009f7: SHL 000009f8: SUB 000009f9: AND 000009fa: DUP11 000009fb: DUP11 000009fc: DUP11 000009fd: DUP11 000009fe: DUP11 000009ff: DUP11 00000a00: DUP10 00000a01: PUSH3 0x00235f 00000a05: JUMP 00000a06: JUMPDEST 00000a07: DUP1 00000a08: MLOAD 00000a09: PUSH1 0x40 00000a0b: MLOAD 00000a0c: SWAP2 00000a0d: SWAP3 00000a0e: POP 00000a0f: PUSH1 0x01 00000a11: PUSH1 0x01 00000a13: PUSH1 0xa0 00000a15: SHL 00000a16: SUB 00000a17: AND 00000a18: SWAP1 00000a19: PUSH32 0xad65bbe394ae719938a7445c7588b2cdb455ea64f1364115b1e073e31bb1af9b 00000a3a: SWAP1 00000a3b: PUSH1 0x00 00000a3d: SWAP1 00000a3e: LOG2 00000a3f: POP 00000a40: POP 00000a41: PUSH1 0x01 00000a43: PUSH1 0x00 00000a45: SSTORE 00000a46: POP 00000a47: POP 00000a48: POP 00000a49: POP 00000a4a: POP 00000a4b: POP 00000a4c: POP 00000a4d: JUMP 00000a4e: JUMPDEST 00000a4f: PUSH1 0x06 00000a51: SLOAD 00000a52: PUSH1 0xff 00000a54: AND 00000a55: DUP2 00000a56: JUMP 00000a57: JUMPDEST 00000a58: PUSH3 0x000a61 00000a5c: PUSH3 0x0029b2 00000a60: JUMP 00000a61: JUMPDEST 00000a62: PUSH3 0x000a6b 00000a66: PUSH3 0x00221c 00000a6a: JUMP 00000a6b: JUMPDEST 00000a6c: PUSH1 0x40 00000a6e: DUP2 00000a6f: ADD 00000a70: MLOAD 00000a71: SWAP1 00000a72: SWAP2 00000a73: POP 00000a74: ISZERO 00000a75: PUSH3 0x000a93 00000a79: JUMPI 00000a7a: PUSH1 0x40 00000a7c: MLOAD 00000a7d: PUSH3 0x461bcd 00000a81: PUSH1 0xe5 00000a83: SHL 00000a84: DUP2 00000a85: MSTORE 00000a86: PUSH1 0x04 00000a88: ADD 00000a89: PUSH3 0x00046c 00000a8d: SWAP1 00000a8e: PUSH3 0x0034e5 00000a92: JUMP 00000a93: JUMPDEST 00000a94: PUSH3 0x000a9d 00000a98: PUSH3 0x002a01 00000a9c: JUMP 00000a9d: JUMPDEST 00000a9e: PUSH3 0x000aa7 00000aa2: PUSH3 0x0022cf 00000aa6: JUMP 00000aa7: JUMPDEST 00000aa8: PUSH1 0x20 00000aaa: DUP2 00000aab: ADD 00000aac: MLOAD 00000aad: SWAP1 00000aae: SWAP2 00000aaf: POP 00000ab0: PUSH3 0x000ab9 00000ab4: PUSH3 0x0029b2 00000ab8: JUMP 00000ab9: JUMPDEST 00000aba: PUSH1 0x40 00000abc: MLOAD 00000abd: PUSH4 0xa094717b 00000ac2: PUSH1 0xe0 00000ac4: SHL 00000ac5: DUP2 00000ac6: MSTORE 00000ac7: PUSH1 0x01 00000ac9: PUSH1 0x01 00000acb: PUSH1 0xa0 00000acd: SHL 00000ace: SUB 00000acf: DUP4 00000ad0: AND 00000ad1: SWAP1 00000ad2: PUSH4 0xa094717b 00000ad7: SWAP1 00000ad8: PUSH3 0x000ae9 00000adc: SWAP1 00000add: ADDRESS 00000ade: SWAP1 00000adf: DUP8 00000ae0: SWAP1 00000ae1: PUSH1 0x04 00000ae3: ADD 00000ae4: PUSH3 0x003440 00000ae8: JUMP 00000ae9: JUMPDEST 00000aea: PUSH1 0x00 00000aec: PUSH1 0x40 00000aee: MLOAD 00000aef: DUP1 00000af0: DUP4 00000af1: SUB 00000af2: DUP2 00000af3: DUP7 00000af4: DUP1 00000af5: EXTCODESIZE 00000af6: ISZERO 00000af7: DUP1 00000af8: ISZERO 00000af9: PUSH3 0x000b02 00000afd: JUMPI 00000afe: PUSH1 0x00 00000b00: DUP1 00000b01: REVERT 00000b02: JUMPDEST 00000b03: POP 00000b04: GAS 00000b05: STATICCALL 00000b06: ISZERO 00000b07: DUP1 00000b08: ISZERO 00000b09: PUSH3 0x000b17 00000b0d: JUMPI 00000b0e: RETURNDATASIZE 00000b0f: PUSH1 0x00 00000b11: DUP1 00000b12: RETURNDATACOPY 00000b13: RETURNDATASIZE 00000b14: PUSH1 0x00 00000b16: REVERT 00000b17: JUMPDEST 00000b18: POP 00000b19: POP 00000b1a: POP 00000b1b: POP 00000b1c: PUSH1 0x40 00000b1e: MLOAD 00000b1f: RETURNDATASIZE 00000b20: PUSH1 0x00 00000b22: DUP3 00000b23: RETURNDATACOPY 00000b24: PUSH1 0x1f 00000b26: RETURNDATASIZE 00000b27: SWAP1 00000b28: DUP2 00000b29: ADD 00000b2a: PUSH1 0x1f 00000b2c: NOT 00000b2d: AND 00000b2e: DUP3 00000b2f: ADD 00000b30: PUSH1 0x40 00000b32: MSTORE 00000b33: PUSH3 0x000b41 00000b37: SWAP2 00000b38: SWAP1 00000b39: DUP2 00000b3a: ADD 00000b3b: SWAP1 00000b3c: PUSH3 0x002fdd 00000b40: JUMP 00000b41: JUMPDEST 00000b42: SWAP1 00000b43: POP 00000b44: PUSH1 0x00 00000b46: DUP3 00000b47: PUSH1 0x01 00000b49: PUSH1 0x01 00000b4b: PUSH1 0xa0 00000b4d: SHL 00000b4e: SUB 00000b4f: AND 00000b50: PUSH4 0x1f773228 00000b55: DUP4 00000b56: CALLER 00000b57: PUSH1 0x40 00000b59: MLOAD 00000b5a: DUP4 00000b5b: PUSH4 0xffffffff 00000b60: AND 00000b61: PUSH1 0xe0 00000b63: SHL 00000b64: DUP2 00000b65: MSTORE 00000b66: PUSH1 0x04 00000b68: ADD 00000b69: PUSH3 0x000b75 00000b6d: SWAP3 00000b6e: SWAP2 00000b6f: SWAP1 00000b70: PUSH3 0x003b3a 00000b74: JUMP 00000b75: JUMPDEST 00000b76: PUSH1 0x20 00000b78: PUSH1 0x40 00000b7a: MLOAD 00000b7b: DUP1 00000b7c: DUP4 00000b7d: SUB 00000b7e: DUP2 00000b7f: DUP7 00000b80: DUP1 00000b81: EXTCODESIZE 00000b82: ISZERO 00000b83: DUP1 00000b84: ISZERO 00000b85: PUSH3 0x000b8e 00000b89: JUMPI 00000b8a: PUSH1 0x00 00000b8c: DUP1 00000b8d: REVERT 00000b8e: JUMPDEST 00000b8f: POP 00000b90: GAS 00000b91: STATICCALL 00000b92: ISZERO 00000b93: DUP1 00000b94: ISZERO 00000b95: PUSH3 0x000ba3 00000b99: JUMPI 00000b9a: RETURNDATASIZE 00000b9b: PUSH1 0x00 00000b9d: DUP1 00000b9e: RETURNDATACOPY 00000b9f: RETURNDATASIZE 00000ba0: PUSH1 0x00 00000ba2: REVERT 00000ba3: JUMPDEST 00000ba4: POP 00000ba5: POP 00000ba6: POP 00000ba7: POP 00000ba8: PUSH1 0x40 00000baa: MLOAD 00000bab: RETURNDATASIZE 00000bac: PUSH1 0x1f 00000bae: NOT 00000baf: PUSH1 0x1f 00000bb1: DUP3 00000bb2: ADD 00000bb3: AND 00000bb4: DUP3 00000bb5: ADD 00000bb6: DUP1 00000bb7: PUSH1 0x40 00000bb9: MSTORE 00000bba: POP 00000bbb: DUP2 00000bbc: ADD 00000bbd: SWAP1 00000bbe: PUSH3 0x000bc9 00000bc2: SWAP2 00000bc3: SWAP1 00000bc4: PUSH3 0x002f35 00000bc8: JUMP 00000bc9: JUMPDEST 00000bca: SWAP1 00000bcb: POP 00000bcc: DUP1 00000bcd: PUSH3 0x000beb 00000bd1: JUMPI 00000bd2: PUSH1 0x40 00000bd4: MLOAD 00000bd5: PUSH3 0x461bcd 00000bd9: PUSH1 0xe5 00000bdb: SHL 00000bdc: DUP2 00000bdd: MSTORE 00000bde: PUSH1 0x04 00000be0: ADD 00000be1: PUSH3 0x00046c 00000be5: SWAP1 00000be6: PUSH3 0x00357d 00000bea: JUMP 00000beb: JUMPDEST 00000bec: PUSH3 0x000bf5 00000bf0: PUSH3 0x002a01 00000bf4: JUMP 00000bf5: JUMPDEST 00000bf6: PUSH3 0x000bff 00000bfa: PUSH3 0x0022cf 00000bfe: JUMP 00000bff: JUMPDEST 00000c00: SWAP1 00000c01: POP 00000c02: PUSH1 0x00 00000c04: DUP2 00000c05: PUSH1 0x80 00000c07: ADD 00000c08: MLOAD 00000c09: PUSH1 0x01 00000c0b: PUSH1 0x01 00000c0d: PUSH1 0xa0 00000c0f: SHL 00000c10: SUB 00000c11: AND 00000c12: PUSH4 0x7663f822 00000c17: DUP4 00000c18: PUSH1 0xa0 00000c1a: ADD 00000c1b: MLOAD 00000c1c: DUP5 00000c1d: PUSH1 0x00 00000c1f: ADD 00000c20: MLOAD 00000c21: PUSH1 0x40 00000c23: MLOAD 00000c24: DUP4 00000c25: PUSH4 0xffffffff 00000c2a: AND 00000c2b: PUSH1 0xe0 00000c2d: SHL 00000c2e: DUP2 00000c2f: MSTORE 00000c30: PUSH1 0x04 00000c32: ADD 00000c33: PUSH3 0x000c3f 00000c37: SWAP3 00000c38: SWAP2 00000c39: SWAP1 00000c3a: PUSH3 0x003478 00000c3e: JUMP 00000c3f: JUMPDEST 00000c40: PUSH1 0x20 00000c42: PUSH1 0x40 00000c44: MLOAD 00000c45: DUP1 00000c46: DUP4 00000c47: SUB 00000c48: DUP2 00000c49: DUP7 00000c4a: DUP1 00000c4b: EXTCODESIZE 00000c4c: ISZERO 00000c4d: DUP1 00000c4e: ISZERO 00000c4f: PUSH3 0x000c58 00000c53: JUMPI 00000c54: PUSH1 0x00 00000c56: DUP1 00000c57: REVERT 00000c58: JUMPDEST 00000c59: POP 00000c5a: GAS 00000c5b: STATICCALL 00000c5c: ISZERO 00000c5d: DUP1 00000c5e: ISZERO 00000c5f: PUSH3 0x000c6d 00000c63: JUMPI 00000c64: RETURNDATASIZE 00000c65: PUSH1 0x00 00000c67: DUP1 00000c68: RETURNDATACOPY 00000c69: RETURNDATASIZE 00000c6a: PUSH1 0x00 00000c6c: REVERT 00000c6d: JUMPDEST 00000c6e: POP 00000c6f: POP 00000c70: POP 00000c71: POP 00000c72: PUSH1 0x40 00000c74: MLOAD 00000c75: RETURNDATASIZE 00000c76: PUSH1 0x1f 00000c78: NOT 00000c79: PUSH1 0x1f 00000c7b: DUP3 00000c7c: ADD 00000c7d: AND 00000c7e: DUP3 00000c7f: ADD 00000c80: DUP1 00000c81: PUSH1 0x40 00000c83: MSTORE 00000c84: POP 00000c85: DUP2 00000c86: ADD 00000c87: SWAP1 00000c88: PUSH3 0x000c93 00000c8c: SWAP2 00000c8d: SWAP1 00000c8e: PUSH3 0x002f35 00000c92: JUMP 00000c93: JUMPDEST 00000c94: SWAP1 00000c95: POP 00000c96: DUP1 00000c97: PUSH3 0x000cb5 00000c9b: JUMPI 00000c9c: PUSH1 0x40 00000c9e: MLOAD 00000c9f: PUSH3 0x461bcd 00000ca3: PUSH1 0xe5 00000ca5: SHL 00000ca6: DUP2 00000ca7: MSTORE 00000ca8: PUSH1 0x04 00000caa: ADD 00000cab: PUSH3 0x00046c 00000caf: SWAP1 00000cb0: PUSH3 0x003a0d 00000cb4: JUMP 00000cb5: JUMPDEST 00000cb6: PUSH1 0x02 00000cb8: PUSH1 0x00 00000cba: SLOAD 00000cbb: EQ 00000cbc: ISZERO 00000cbd: PUSH3 0x000cdb 00000cc1: JUMPI 00000cc2: PUSH1 0x40 00000cc4: MLOAD 00000cc5: PUSH3 0x461bcd 00000cc9: PUSH1 0xe5 00000ccb: SHL 00000ccc: DUP2 00000ccd: MSTORE 00000cce: PUSH1 0x04 00000cd0: ADD 00000cd1: PUSH3 0x00046c 00000cd5: SWAP1 00000cd6: PUSH3 0x003ab7 00000cda: JUMP 00000cdb: JUMPDEST 00000cdc: PUSH1 0x02 00000cde: PUSH1 0x00 00000ce0: SSTORE 00000ce1: PUSH3 0x000cea 00000ce5: PUSH3 0x002a36 00000ce9: JUMP 00000cea: JUMPDEST 00000ceb: PUSH3 0x000cf4 00000cef: PUSH3 0x002452 00000cf3: JUMP 00000cf4: JUMPDEST 00000cf5: SWAP1 00000cf6: POP 00000cf7: PUSH1 0x00 00000cf9: CALLVALUE 00000cfa: SWAP1 00000cfb: POP 00000cfc: PUSH1 0x00 00000cfe: PUSH3 0x000d0d 00000d02: DUP3 00000d03: DUP5 00000d04: PUSH1 0x60 00000d06: ADD 00000d07: MLOAD 00000d08: PUSH3 0x002502 00000d0c: JUMP 00000d0d: JUMPDEST 00000d0e: DUP4 00000d0f: MLOAD 00000d10: PUSH1 0x40 00000d12: MLOAD 00000d13: PUSH4 0x29460cc5 00000d18: PUSH1 0xe1 00000d1a: SHL 00000d1b: DUP2 00000d1c: MSTORE 00000d1d: SWAP2 00000d1e: SWAP3 00000d1f: POP 00000d20: PUSH1 0x01 00000d22: PUSH1 0x01 00000d24: PUSH1 0xa0 00000d26: SHL 00000d27: SUB 00000d28: AND 00000d29: SWAP1 00000d2a: PUSH4 0x528c198a 00000d2f: SWAP1 00000d30: PUSH3 0x000d41 00000d34: SWAP1 00000d35: CALLER 00000d36: SWAP1 00000d37: DUP6 00000d38: SWAP1 00000d39: PUSH1 0x04 00000d3b: ADD 00000d3c: PUSH3 0x00345f 00000d40: JUMP 00000d41: JUMPDEST 00000d42: PUSH1 0x20 00000d44: PUSH1 0x40 00000d46: MLOAD 00000d47: DUP1 00000d48: DUP4 00000d49: SUB 00000d4a: DUP2 00000d4b: PUSH1 0x00 00000d4d: DUP8 00000d4e: DUP1 00000d4f: EXTCODESIZE 00000d50: ISZERO 00000d51: DUP1 00000d52: ISZERO 00000d53: PUSH3 0x000d5c 00000d57: JUMPI 00000d58: PUSH1 0x00 00000d5a: DUP1 00000d5b: REVERT 00000d5c: JUMPDEST 00000d5d: POP 00000d5e: GAS 00000d5f: CALL 00000d60: ISZERO 00000d61: DUP1 00000d62: ISZERO 00000d63: PUSH3 0x000d71 00000d67: JUMPI 00000d68: RETURNDATASIZE 00000d69: PUSH1 0x00 00000d6b: DUP1 00000d6c: RETURNDATACOPY 00000d6d: RETURNDATASIZE 00000d6e: PUSH1 0x00 00000d70: REVERT 00000d71: JUMPDEST 00000d72: POP 00000d73: POP 00000d74: POP 00000d75: POP 00000d76: PUSH1 0x40 00000d78: MLOAD 00000d79: RETURNDATASIZE 00000d7a: PUSH1 0x1f 00000d7c: NOT 00000d7d: PUSH1 0x1f 00000d7f: DUP3 00000d80: ADD 00000d81: AND 00000d82: DUP3 00000d83: ADD 00000d84: DUP1 00000d85: PUSH1 0x40 00000d87: MSTORE 00000d88: POP 00000d89: DUP2 00000d8a: ADD 00000d8b: SWAP1 00000d8c: PUSH3 0x000d97 00000d90: SWAP2 00000d91: SWAP1 00000d92: PUSH3 0x002f35 00000d96: JUMP 00000d97: JUMPDEST 00000d98: POP 00000d99: CALLER 00000d9a: PUSH1 0x01 00000d9c: PUSH1 0x01 00000d9e: PUSH1 0xa0 00000da0: SHL 00000da1: SUB 00000da2: AND 00000da3: PUSH32 0xa96fef7037987460add666d968bcde669ee0974f50e035c76e65a383d8299967 00000dc4: DUP3 00000dc5: PUSH1 0x40 00000dc7: MLOAD 00000dc8: PUSH3 0x000dd3 00000dcc: SWAP2 00000dcd: SWAP1 00000dce: PUSH3 0x003baf 00000dd2: JUMP 00000dd3: JUMPDEST 00000dd4: PUSH1 0x40 00000dd6: MLOAD 00000dd7: DUP1 00000dd8: SWAP2 00000dd9: SUB 00000dda: SWAP1 00000ddb: LOG2 00000ddc: POP 00000ddd: POP 00000dde: PUSH1 0x01 00000de0: PUSH1 0x00 00000de2: SSTORE 00000de3: POP 00000de4: POP 00000de5: POP 00000de6: POP 00000de7: POP 00000de8: POP 00000de9: POP 00000dea: POP 00000deb: JUMP 00000dec: JUMPDEST 00000ded: PUSH1 0x03 00000def: SLOAD 00000df0: PUSH1 0x01 00000df2: PUSH1 0x01 00000df4: PUSH1 0xa0 00000df6: SHL 00000df7: SUB 00000df8: AND 00000df9: CALLER 00000dfa: EQ 00000dfb: PUSH3 0x000e19 00000dff: JUMPI 00000e00: PUSH1 0x40 00000e02: MLOAD 00000e03: PUSH3 0x461bcd 00000e07: PUSH1 0xe5 00000e09: SHL 00000e0a: DUP2 00000e0b: MSTORE 00000e0c: PUSH1 0x04 00000e0e: ADD 00000e0f: PUSH3 0x00046c 00000e13: SWAP1 00000e14: PUSH3 0x0036fd 00000e18: JUMP 00000e19: JUMPDEST 00000e1a: PUSH1 0x02 00000e1c: PUSH1 0x00 00000e1e: SLOAD 00000e1f: EQ 00000e20: ISZERO 00000e21: PUSH3 0x000e3f 00000e25: JUMPI 00000e26: PUSH1 0x40 00000e28: MLOAD 00000e29: PUSH3 0x461bcd 00000e2d: PUSH1 0xe5 00000e2f: SHL 00000e30: DUP2 00000e31: MSTORE 00000e32: PUSH1 0x04 00000e34: ADD 00000e35: PUSH3 0x00046c 00000e39: SWAP1 00000e3a: PUSH3 0x003ab7 00000e3e: JUMP 00000e3f: JUMPDEST 00000e40: PUSH1 0x02 00000e42: PUSH1 0x00 00000e44: SSTORE 00000e45: DUP1 00000e46: MLOAD 00000e47: DUP3 00000e48: MLOAD 00000e49: EQ 00000e4a: PUSH3 0x000e68 00000e4e: JUMPI 00000e4f: PUSH1 0x40 00000e51: MLOAD 00000e52: PUSH3 0x461bcd 00000e56: PUSH1 0xe5 00000e58: SHL 00000e59: DUP2 00000e5a: MSTORE 00000e5b: PUSH1 0x04 00000e5d: ADD 00000e5e: PUSH3 0x00046c 00000e62: SWAP1 00000e63: PUSH3 0x0036ab 00000e67: JUMP 00000e68: JUMPDEST 00000e69: PUSH1 0x00 00000e6b: PUSH3 0x000e74 00000e6f: PUSH3 0x002452 00000e73: JUMP 00000e74: JUMPDEST 00000e75: MLOAD 00000e76: SWAP1 00000e77: POP 00000e78: PUSH1 0x00 00000e7a: JUMPDEST 00000e7b: DUP4 00000e7c: MLOAD 00000e7d: DUP2 00000e7e: LT 00000e7f: ISZERO 00000e80: PUSH3 0x000f3c 00000e84: JUMPI 00000e85: DUP2 00000e86: PUSH1 0x01 00000e88: PUSH1 0x01 00000e8a: PUSH1 0xa0 00000e8c: SHL 00000e8d: SUB 00000e8e: AND 00000e8f: PUSH4 0x528c198a 00000e94: DUP6 00000e95: DUP4 00000e96: DUP2 00000e97: MLOAD 00000e98: DUP2 00000e99: LT 00000e9a: PUSH3 0x000ea0 00000e9e: JUMPI 00000e9f: INVALID 00000ea0: JUMPDEST 00000ea1: PUSH1 0x20 00000ea3: MUL 00000ea4: PUSH1 0x20 00000ea6: ADD 00000ea7: ADD 00000ea8: MLOAD 00000ea9: DUP6 00000eaa: DUP5 00000eab: DUP2 00000eac: MLOAD 00000ead: DUP2 00000eae: LT 00000eaf: PUSH3 0x000eb5 00000eb3: JUMPI 00000eb4: INVALID 00000eb5: JUMPDEST 00000eb6: PUSH1 0x20 00000eb8: MUL 00000eb9: PUSH1 0x20 00000ebb: ADD 00000ebc: ADD 00000ebd: MLOAD 00000ebe: PUSH1 0x40 00000ec0: MLOAD 00000ec1: DUP4 00000ec2: PUSH4 0xffffffff 00000ec7: AND 00000ec8: PUSH1 0xe0 00000eca: SHL 00000ecb: DUP2 00000ecc: MSTORE 00000ecd: PUSH1 0x04 00000ecf: ADD 00000ed0: PUSH3 0x000edc 00000ed4: SWAP3 00000ed5: SWAP2 00000ed6: SWAP1 00000ed7: PUSH3 0x00345f 00000edb: JUMP 00000edc: JUMPDEST 00000edd: PUSH1 0x20 00000edf: PUSH1 0x40 00000ee1: MLOAD 00000ee2: DUP1 00000ee3: DUP4 00000ee4: SUB 00000ee5: DUP2 00000ee6: PUSH1 0x00 00000ee8: DUP8 00000ee9: DUP1 00000eea: EXTCODESIZE 00000eeb: ISZERO 00000eec: DUP1 00000eed: ISZERO 00000eee: PUSH3 0x000ef7 00000ef2: JUMPI 00000ef3: PUSH1 0x00 00000ef5: DUP1 00000ef6: REVERT 00000ef7: JUMPDEST 00000ef8: POP 00000ef9: GAS 00000efa: CALL 00000efb: ISZERO 00000efc: DUP1 00000efd: ISZERO 00000efe: PUSH3 0x000f0c 00000f02: JUMPI 00000f03: RETURNDATASIZE 00000f04: PUSH1 0x00 00000f06: DUP1 00000f07: RETURNDATACOPY 00000f08: RETURNDATASIZE 00000f09: PUSH1 0x00 00000f0b: REVERT 00000f0c: JUMPDEST 00000f0d: POP 00000f0e: POP 00000f0f: POP 00000f10: POP 00000f11: PUSH1 0x40 00000f13: MLOAD 00000f14: RETURNDATASIZE 00000f15: PUSH1 0x1f 00000f17: NOT 00000f18: PUSH1 0x1f 00000f1a: DUP3 00000f1b: ADD 00000f1c: AND 00000f1d: DUP3 00000f1e: ADD 00000f1f: DUP1 00000f20: PUSH1 0x40 00000f22: MSTORE 00000f23: POP 00000f24: DUP2 00000f25: ADD 00000f26: SWAP1 00000f27: PUSH3 0x000f32 00000f2b: SWAP2 00000f2c: SWAP1 00000f2d: PUSH3 0x002f35 00000f31: JUMP 00000f32: JUMPDEST 00000f33: POP 00000f34: PUSH1 0x01 00000f36: ADD 00000f37: PUSH3 0x000e7a 00000f3b: JUMP 00000f3c: JUMPDEST 00000f3d: POP 00000f3e: POP 00000f3f: PUSH1 0x01 00000f41: PUSH1 0x00 00000f43: SSTORE 00000f44: POP 00000f45: POP 00000f46: JUMP 00000f47: JUMPDEST 00000f48: PUSH1 0x05 00000f4a: DUP2 00000f4b: DUP2 00000f4c: SLOAD 00000f4d: DUP2 00000f4e: LT 00000f4f: PUSH3 0x000f55 00000f53: JUMPI 00000f54: INVALID 00000f55: JUMPDEST 00000f56: PUSH1 0x00 00000f58: SWAP2 00000f59: DUP3 00000f5a: MSTORE 00000f5b: PUSH1 0x20 00000f5d: SWAP1 00000f5e: SWAP2 00000f5f: KECCAK256 00000f60: ADD 00000f61: SLOAD 00000f62: PUSH1 0x01 00000f64: PUSH1 0x01 00000f66: PUSH1 0xa0 00000f68: SHL 00000f69: SUB 00000f6a: AND 00000f6b: SWAP1 00000f6c: POP 00000f6d: DUP2 00000f6e: JUMP 00000f6f: JUMPDEST 00000f70: PUSH1 0x05 00000f72: SLOAD 00000f73: SWAP1 00000f74: JUMP 00000f75: JUMPDEST 00000f76: PUSH3 0x000f7f 00000f7a: PUSH3 0x0029b2 00000f7e: JUMP 00000f7f: JUMPDEST 00000f80: PUSH3 0x000f89 00000f84: PUSH3 0x00221c 00000f88: JUMP 00000f89: JUMPDEST 00000f8a: SWAP1 00000f8b: POP 00000f8c: DUP1 00000f8d: PUSH1 0x40 00000f8f: ADD 00000f90: MLOAD 00000f91: PUSH3 0x000faf 00000f95: JUMPI 00000f96: PUSH1 0x40 00000f98: MLOAD 00000f99: PUSH3 0x461bcd 00000f9d: PUSH1 0xe5 00000f9f: SHL 00000fa0: DUP2 00000fa1: MSTORE 00000fa2: PUSH1 0x04 00000fa4: ADD 00000fa5: PUSH3 0x00046c 00000fa9: SWAP1 00000faa: PUSH3 0x003734 00000fae: JUMP 00000faf: JUMPDEST 00000fb0: PUSH1 0x02 00000fb2: PUSH1 0x00 00000fb4: SLOAD 00000fb5: EQ 00000fb6: ISZERO 00000fb7: PUSH3 0x000fd5 00000fbb: JUMPI 00000fbc: PUSH1 0x40 00000fbe: MLOAD 00000fbf: PUSH3 0x461bcd 00000fc3: PUSH1 0xe5 00000fc5: SHL 00000fc6: DUP2 00000fc7: MSTORE 00000fc8: PUSH1 0x04 00000fca: ADD 00000fcb: PUSH3 0x00046c 00000fcf: SWAP1 00000fd0: PUSH3 0x003ab7 00000fd4: JUMP 00000fd5: JUMPDEST 00000fd6: PUSH1 0x02 00000fd8: PUSH1 0x00 00000fda: SSTORE 00000fdb: PUSH3 0x000fe4 00000fdf: PUSH3 0x002a36 00000fe3: JUMP 00000fe4: JUMPDEST 00000fe5: PUSH3 0x000fee 00000fe9: PUSH3 0x002452 00000fed: JUMP 00000fee: JUMPDEST 00000fef: SWAP1 00000ff0: POP 00000ff1: PUSH1 0x00 00000ff3: DUP2 00000ff4: PUSH1 0x00 00000ff6: ADD 00000ff7: MLOAD 00000ff8: SWAP1 00000ff9: POP 00000ffa: PUSH1 0x00 00000ffc: PUSH3 0x00100b 00001000: DUP6 00001001: DUP5 00001002: PUSH1 0xc0 00001004: ADD 00001005: MLOAD 00001006: PUSH3 0x002502 0000100a: JUMP 0000100b: JUMPDEST 0000100c: SWAP1 0000100d: POP 0000100e: PUSH1 0x00 00001010: PUSH3 0x00101b 00001014: DUP3 00001015: SELFBALANCE 00001016: PUSH3 0x002543 0000101a: JUMP 0000101b: JUMPDEST 0000101c: PUSH1 0x40 0000101e: MLOAD 0000101f: PUSH4 0x3b9e9f01 00001024: PUSH1 0xe2 00001026: SHL 00001027: DUP2 00001028: MSTORE 00001029: SWAP1 0000102a: SWAP2 0000102b: POP 0000102c: PUSH1 0x01 0000102e: PUSH1 0x01 00001030: PUSH1 0xa0 00001032: SHL 00001033: SUB 00001034: DUP5 00001035: AND 00001036: SWAP1 00001037: PUSH4 0xee7a7c04 0000103c: SWAP1 0000103d: PUSH3 0x00104e 00001041: SWAP1 00001042: CALLER 00001043: SWAP1 00001044: DUP11 00001045: SWAP1 00001046: PUSH1 0x04 00001048: ADD 00001049: PUSH3 0x00345f 0000104d: JUMP 0000104e: JUMPDEST 0000104f: PUSH1 0x20 00001051: PUSH1 0x40 00001053: MLOAD 00001054: DUP1 00001055: DUP4 00001056: SUB 00001057: DUP2 00001058: PUSH1 0x00 0000105a: DUP8 0000105b: DUP1 0000105c: EXTCODESIZE 0000105d: ISZERO 0000105e: DUP1 0000105f: ISZERO 00001060: PUSH3 0x001069 00001064: JUMPI 00001065: PUSH1 0x00 00001067: DUP1 00001068: REVERT 00001069: JUMPDEST 0000106a: POP 0000106b: GAS 0000106c: CALL 0000106d: ISZERO 0000106e: DUP1 0000106f: ISZERO 00001070: PUSH3 0x00107e 00001074: JUMPI 00001075: RETURNDATASIZE 00001076: PUSH1 0x00 00001078: DUP1 00001079: RETURNDATACOPY 0000107a: RETURNDATASIZE 0000107b: PUSH1 0x00 0000107d: REVERT 0000107e: JUMPDEST 0000107f: POP 00001080: POP 00001081: POP 00001082: POP 00001083: PUSH1 0x40 00001085: MLOAD 00001086: RETURNDATASIZE 00001087: PUSH1 0x1f 00001089: NOT 0000108a: PUSH1 0x1f 0000108c: DUP3 0000108d: ADD 0000108e: AND 0000108f: DUP3 00001090: ADD 00001091: DUP1 00001092: PUSH1 0x40 00001094: MSTORE 00001095: POP 00001096: DUP2 00001097: ADD 00001098: SWAP1 00001099: PUSH3 0x0010a4 0000109d: SWAP2 0000109e: SWAP1 0000109f: PUSH3 0x002f35 000010a3: JUMP 000010a4: JUMPDEST 000010a5: POP 000010a6: PUSH1 0x00 000010a8: CALLER 000010a9: PUSH1 0x01 000010ab: PUSH1 0x01 000010ad: PUSH1 0xa0 000010af: SHL 000010b0: SUB 000010b1: AND 000010b2: DUP3 000010b3: PUSH1 0x40 000010b5: MLOAD 000010b6: PUSH3 0x0010c0 000010ba: SWAP1 000010bb: PUSH3 0x003429 000010bf: JUMP 000010c0: JUMPDEST 000010c1: PUSH1 0x00 000010c3: PUSH1 0x40 000010c5: MLOAD 000010c6: DUP1 000010c7: DUP4 000010c8: SUB 000010c9: DUP2 000010ca: DUP6 000010cb: DUP8 000010cc: GAS 000010cd: CALL 000010ce: SWAP3 000010cf: POP 000010d0: POP 000010d1: POP 000010d2: RETURNDATASIZE 000010d3: DUP1 000010d4: PUSH1 0x00 000010d6: DUP2 000010d7: EQ 000010d8: PUSH3 0x0010ff 000010dc: JUMPI 000010dd: PUSH1 0x40 000010df: MLOAD 000010e0: SWAP2 000010e1: POP 000010e2: PUSH1 0x1f 000010e4: NOT 000010e5: PUSH1 0x3f 000010e7: RETURNDATASIZE 000010e8: ADD 000010e9: AND 000010ea: DUP3 000010eb: ADD 000010ec: PUSH1 0x40 000010ee: MSTORE 000010ef: RETURNDATASIZE 000010f0: DUP3 000010f1: MSTORE 000010f2: RETURNDATASIZE 000010f3: PUSH1 0x00 000010f5: PUSH1 0x20 000010f7: DUP5 000010f8: ADD 000010f9: RETURNDATACOPY 000010fa: PUSH3 0x001104 000010fe: JUMP 000010ff: JUMPDEST 00001100: PUSH1 0x60 00001102: SWAP2 00001103: POP 00001104: JUMPDEST 00001105: POP 00001106: POP 00001107: SWAP1 00001108: POP 00001109: DUP1 0000110a: PUSH3 0x001128 0000110e: JUMPI 0000110f: PUSH1 0x40 00001111: MLOAD 00001112: PUSH3 0x461bcd 00001116: PUSH1 0xe5 00001118: SHL 00001119: DUP2 0000111a: MSTORE 0000111b: PUSH1 0x04 0000111d: ADD 0000111e: PUSH3 0x00046c 00001122: SWAP1 00001123: PUSH3 0x003aee 00001127: JUMP 00001128: JUMPDEST 00001129: CALLER 0000112a: PUSH1 0x01 0000112c: PUSH1 0x01 0000112e: PUSH1 0xa0 00001130: SHL 00001131: SUB 00001132: AND 00001133: PUSH32 0xc2232c352b7f8527d40991c3b030909196b5fabe6680418abb178b8ff08a7419 00001154: DUP9 00001155: DUP5 00001156: PUSH1 0x40 00001158: MLOAD 00001159: PUSH3 0x001165 0000115d: SWAP3 0000115e: SWAP2 0000115f: SWAP1 00001160: PUSH3 0x003bb8 00001164: JUMP 00001165: JUMPDEST 00001166: PUSH1 0x40 00001168: MLOAD 00001169: DUP1 0000116a: SWAP2 0000116b: SUB 0000116c: SWAP1 0000116d: LOG2 0000116e: POP 0000116f: POP 00001170: PUSH1 0x01 00001172: PUSH1 0x00 00001174: SSTORE 00001175: POP 00001176: POP 00001177: POP 00001178: POP 00001179: POP 0000117a: JUMP 0000117b: JUMPDEST 0000117c: PUSH1 0x02 0000117e: PUSH1 0x00 00001180: SLOAD 00001181: EQ 00001182: ISZERO 00001183: PUSH3 0x0011a1 00001187: JUMPI 00001188: PUSH1 0x40 0000118a: MLOAD 0000118b: PUSH3 0x461bcd 0000118f: PUSH1 0xe5 00001191: SHL 00001192: DUP2 00001193: MSTORE 00001194: PUSH1 0x04 00001196: ADD 00001197: PUSH3 0x00046c 0000119b: SWAP1 0000119c: PUSH3 0x003ab7 000011a0: JUMP 000011a1: JUMPDEST 000011a2: PUSH1 0x02 000011a4: PUSH1 0x00 000011a6: SSTORE 000011a7: PUSH1 0x06 000011a9: SLOAD 000011aa: PUSH1 0xff 000011ac: AND 000011ad: ISZERO 000011ae: PUSH3 0x0011cc 000011b2: JUMPI 000011b3: PUSH1 0x40 000011b5: MLOAD 000011b6: PUSH3 0x461bcd 000011ba: PUSH1 0xe5 000011bc: SHL 000011bd: DUP2 000011be: MSTORE 000011bf: PUSH1 0x04 000011c1: ADD 000011c2: PUSH3 0x00046c 000011c6: SWAP1 000011c7: PUSH3 0x003821 000011cb: JUMP 000011cc: JUMPDEST 000011cd: PUSH1 0x01 000011cf: PUSH1 0x01 000011d1: PUSH1 0xa0 000011d3: SHL 000011d4: SUB 000011d5: DUP6 000011d6: AND 000011d7: ISZERO 000011d8: DUP1 000011d9: ISZERO 000011da: SWAP1 000011db: PUSH3 0x0011ed 000011df: JUMPI 000011e0: POP 000011e1: PUSH1 0x01 000011e3: PUSH1 0x01 000011e5: PUSH1 0xa0 000011e7: SHL 000011e8: SUB 000011e9: DUP5 000011ea: AND 000011eb: ISZERO 000011ec: ISZERO 000011ed: JUMPDEST 000011ee: PUSH3 0x00120c 000011f2: JUMPI 000011f3: PUSH1 0x40 000011f5: MLOAD 000011f6: PUSH3 0x461bcd 000011fa: PUSH1 0xe5 000011fc: SHL 000011fd: DUP2 000011fe: MSTORE 000011ff: PUSH1 0x04 00001201: ADD 00001202: PUSH3 0x00046c 00001206: SWAP1 00001207: PUSH3 0x00388f 0000120b: JUMP 0000120c: JUMPDEST 0000120d: PUSH1 0x00 0000120f: DUP4 00001210: MLOAD 00001211: GT 00001212: PUSH3 0x001230 00001216: JUMPI 00001217: PUSH1 0x40 00001219: MLOAD 0000121a: PUSH3 0x461bcd 0000121e: PUSH1 0xe5 00001220: SHL 00001221: DUP2 00001222: MSTORE 00001223: PUSH1 0x04 00001225: ADD 00001226: PUSH3 0x00046c 0000122a: SWAP1 0000122b: PUSH3 0x0039c5 0000122f: JUMP 00001230: JUMPDEST 00001231: PUSH1 0x00 00001233: JUMPDEST 00001234: DUP4 00001235: MLOAD 00001236: DUP2 00001237: LT 00001238: ISZERO 00001239: PUSH3 0x001290 0000123d: JUMPI 0000123e: PUSH1 0x00 00001240: PUSH1 0x01 00001242: PUSH1 0x01 00001244: PUSH1 0xa0 00001246: SHL 00001247: SUB 00001248: AND 00001249: DUP5 0000124a: DUP3 0000124b: DUP2 0000124c: MLOAD 0000124d: DUP2 0000124e: LT 0000124f: PUSH3 0x001255 00001253: JUMPI 00001254: INVALID 00001255: JUMPDEST 00001256: PUSH1 0x20 00001258: MUL 00001259: PUSH1 0x20 0000125b: ADD 0000125c: ADD 0000125d: MLOAD 0000125e: PUSH1 0x01 00001260: PUSH1 0x01 00001262: PUSH1 0xa0 00001264: SHL 00001265: SUB 00001266: AND 00001267: EQ 00001268: ISZERO 00001269: PUSH3 0x001287 0000126d: JUMPI 0000126e: PUSH1 0x40 00001270: MLOAD 00001271: PUSH3 0x461bcd 00001275: PUSH1 0xe5 00001277: SHL 00001278: DUP2 00001279: MSTORE 0000127a: PUSH1 0x04 0000127c: ADD 0000127d: PUSH3 0x00046c 00001281: SWAP1 00001282: PUSH3 0x003529 00001286: JUMP 00001287: JUMPDEST 00001288: PUSH1 0x01 0000128a: ADD 0000128b: PUSH3 0x001233 0000128f: JUMP 00001290: JUMPDEST 00001291: POP 00001292: PUSH1 0x03 00001294: DUP1 00001295: SLOAD 00001296: PUSH1 0x01 00001298: PUSH1 0x01 0000129a: PUSH1 0xa0 0000129c: SHL 0000129d: SUB 0000129e: DUP7 0000129f: AND 000012a0: PUSH1 0x01 000012a2: PUSH1 0x01 000012a4: PUSH1 0xa0 000012a6: SHL 000012a7: SUB 000012a8: NOT 000012a9: SWAP2 000012aa: DUP3 000012ab: AND 000012ac: OR 000012ad: SWAP1 000012ae: SWAP2 000012af: SSTORE 000012b0: PUSH1 0x01 000012b2: DUP1 000012b3: SLOAD 000012b4: SWAP1 000012b5: SWAP2 000012b6: AND 000012b7: CALLER 000012b8: OR 000012b9: SWAP1 000012ba: SSTORE 000012bb: DUP3 000012bc: MLOAD 000012bd: PUSH3 0x0012cf 000012c1: SWAP1 000012c2: PUSH1 0x04 000012c4: SWAP1 000012c5: PUSH1 0x20 000012c7: DUP7 000012c8: ADD 000012c9: SWAP1 000012ca: PUSH3 0x002a9b 000012ce: JUMP 000012cf: JUMPDEST 000012d0: POP 000012d1: PUSH3 0x0012da 000012d5: PUSH3 0x002a01 000012d9: JUMP 000012da: JUMPDEST 000012db: PUSH1 0x40 000012dd: MLOAD 000012de: PUSH4 0x332a4d09 000012e3: PUSH1 0xe0 000012e5: SHL 000012e6: DUP2 000012e7: MSTORE 000012e8: PUSH1 0x01 000012ea: PUSH1 0x01 000012ec: PUSH1 0xa0 000012ee: SHL 000012ef: SUB 000012f0: DUP8 000012f1: AND 000012f2: SWAP1 000012f3: PUSH4 0x332a4d09 000012f8: SWAP1 000012f9: PUSH3 0x001309 000012fd: SWAP1 000012fe: PUSH1 0x00 00001300: SWAP1 00001301: PUSH1 0x04 00001303: ADD 00001304: PUSH3 0x00342c 00001308: JUMP 00001309: JUMPDEST 0000130a: PUSH1 0xc0 0000130c: PUSH1 0x40 0000130e: MLOAD 0000130f: DUP1 00001310: DUP4 00001311: SUB 00001312: DUP2 00001313: DUP7 00001314: DUP1 00001315: EXTCODESIZE 00001316: ISZERO 00001317: DUP1 00001318: ISZERO 00001319: PUSH3 0x001322 0000131d: JUMPI 0000131e: PUSH1 0x00 00001320: DUP1 00001321: REVERT 00001322: JUMPDEST 00001323: POP 00001324: GAS 00001325: STATICCALL 00001326: ISZERO 00001327: DUP1 00001328: ISZERO 00001329: PUSH3 0x001337 0000132d: JUMPI 0000132e: RETURNDATASIZE 0000132f: PUSH1 0x00 00001331: DUP1 00001332: RETURNDATACOPY 00001333: RETURNDATASIZE 00001334: PUSH1 0x00 00001336: REVERT 00001337: JUMPDEST 00001338: POP 00001339: POP 0000133a: POP 0000133b: POP 0000133c: PUSH1 0x40 0000133e: MLOAD 0000133f: RETURNDATASIZE 00001340: PUSH1 0x1f 00001342: NOT 00001343: PUSH1 0x1f 00001345: DUP3 00001346: ADD 00001347: AND 00001348: DUP3 00001349: ADD 0000134a: DUP1 0000134b: PUSH1 0x40 0000134d: MSTORE 0000134e: POP 0000134f: DUP2 00001350: ADD 00001351: SWAP1 00001352: PUSH3 0x00135d 00001356: SWAP2 00001357: SWAP1 00001358: PUSH3 0x0030c5 0000135c: JUMP 0000135d: JUMPDEST 0000135e: SWAP1 0000135f: POP 00001360: PUSH3 0x001369 00001364: PUSH3 0x002a01 00001368: JUMP 00001369: JUMPDEST 0000136a: PUSH1 0x03 0000136c: SLOAD 0000136d: PUSH3 0x001381 00001371: SWAP1 00001372: PUSH1 0x01 00001374: PUSH1 0x01 00001376: PUSH1 0xa0 00001378: SHL 00001379: SUB 0000137a: AND 0000137b: DUP4 0000137c: PUSH3 0x00257d 00001380: JUMP 00001381: JUMPDEST 00001382: PUSH1 0x40 00001384: DUP2 00001385: ADD 00001386: MLOAD 00001387: PUSH1 0x02 00001389: DUP1 0000138a: SLOAD 0000138b: PUSH1 0x01 0000138d: PUSH1 0x01 0000138f: PUSH1 0xa0 00001391: SHL 00001392: SUB 00001393: NOT 00001394: AND 00001395: PUSH1 0x01 00001397: PUSH1 0x01 00001399: PUSH1 0xa0 0000139b: SHL 0000139c: SUB 0000139d: SWAP1 0000139e: SWAP3 0000139f: AND 000013a0: SWAP2 000013a1: SWAP1 000013a2: SWAP2 000013a3: OR 000013a4: SWAP1 000013a5: SSTORE 000013a6: SWAP1 000013a7: POP 000013a8: PUSH1 0x00 000013aa: PUSH3 0x0013b7 000013ae: DUP7 000013af: DUP7 000013b0: DUP7 000013b1: DUP6 000013b2: PUSH3 0x00268c 000013b6: JUMP 000013b7: JUMPDEST 000013b8: PUSH1 0x06 000013ba: DUP1 000013bb: SLOAD 000013bc: PUSH1 0xff 000013be: NOT 000013bf: AND 000013c0: PUSH1 0x01 000013c2: OR 000013c3: SWAP1 000013c4: SSTORE 000013c5: SWAP1 000013c6: POP 000013c7: DUP1 000013c8: PUSH3 0x0013e6 000013cc: JUMPI 000013cd: PUSH1 0x40 000013cf: MLOAD 000013d0: PUSH3 0x461bcd 000013d4: PUSH1 0xe5 000013d6: SHL 000013d7: DUP2 000013d8: MSTORE 000013d9: PUSH1 0x04 000013db: ADD 000013dc: PUSH3 0x00046c 000013e0: SWAP1 000013e1: PUSH3 0x00394d 000013e5: JUMP 000013e6: JUMPDEST 000013e7: POP 000013e8: POP 000013e9: PUSH1 0x01 000013eb: PUSH1 0x00 000013ed: SSTORE 000013ee: POP 000013ef: POP 000013f0: POP 000013f1: POP 000013f2: POP 000013f3: POP 000013f4: JUMP 000013f5: JUMPDEST 000013f6: PUSH1 0x03 000013f8: SLOAD 000013f9: PUSH1 0x01 000013fb: PUSH1 0x01 000013fd: PUSH1 0xa0 000013ff: SHL 00001400: SUB 00001401: AND 00001402: CALLER 00001403: EQ 00001404: PUSH3 0x001422 00001408: JUMPI 00001409: PUSH1 0x40 0000140b: MLOAD 0000140c: PUSH3 0x461bcd 00001410: PUSH1 0xe5 00001412: SHL 00001413: DUP2 00001414: MSTORE 00001415: PUSH1 0x04 00001417: ADD 00001418: PUSH3 0x00046c 0000141c: SWAP1 0000141d: PUSH3 0x0036fd 00001421: JUMP 00001422: JUMPDEST 00001423: PUSH1 0x02 00001425: PUSH1 0x00 00001427: SLOAD 00001428: EQ 00001429: ISZERO 0000142a: PUSH3 0x001448 0000142e: JUMPI 0000142f: PUSH1 0x40 00001431: MLOAD 00001432: PUSH3 0x461bcd 00001436: PUSH1 0xe5 00001438: SHL 00001439: DUP2 0000143a: MSTORE 0000143b: PUSH1 0x04 0000143d: ADD 0000143e: PUSH3 0x00046c 00001442: SWAP1 00001443: PUSH3 0x003ab7 00001447: JUMP 00001448: JUMPDEST 00001449: PUSH1 0x02 0000144b: PUSH1 0x00 0000144d: SSTORE 0000144e: PUSH3 0x001457 00001452: PUSH3 0x002a01 00001456: JUMP 00001457: JUMPDEST 00001458: PUSH3 0x001461 0000145c: PUSH3 0x0022cf 00001460: JUMP 00001461: JUMPDEST 00001462: PUSH1 0x20 00001464: DUP2 00001465: ADD 00001466: MLOAD 00001467: SWAP1 00001468: SWAP2 00001469: POP 0000146a: PUSH3 0x001473 0000146e: PUSH3 0x0029b2 00001472: JUMP 00001473: JUMPDEST 00001474: PUSH1 0x40 00001476: MLOAD 00001477: PUSH4 0xa094717b 0000147c: PUSH1 0xe0 0000147e: SHL 0000147f: DUP2 00001480: MSTORE 00001481: PUSH1 0x01 00001483: PUSH1 0x01 00001485: PUSH1 0xa0 00001487: SHL 00001488: SUB 00001489: DUP4 0000148a: AND 0000148b: SWAP1 0000148c: PUSH4 0xa094717b 00001491: SWAP1 00001492: PUSH3 0x0014a3 00001496: SWAP1 00001497: ADDRESS 00001498: SWAP1 00001499: DUP8 0000149a: SWAP1 0000149b: PUSH1 0x04 0000149d: ADD 0000149e: PUSH3 0x003440 000014a2: JUMP 000014a3: JUMPDEST 000014a4: PUSH1 0x00 000014a6: PUSH1 0x40 000014a8: MLOAD 000014a9: DUP1 000014aa: DUP4 000014ab: SUB 000014ac: DUP2 000014ad: DUP7 000014ae: DUP1 000014af: EXTCODESIZE 000014b0: ISZERO 000014b1: DUP1 000014b2: ISZERO 000014b3: PUSH3 0x0014bc 000014b7: JUMPI 000014b8: PUSH1 0x00 000014ba: DUP1 000014bb: REVERT 000014bc: JUMPDEST 000014bd: POP 000014be: GAS 000014bf: STATICCALL 000014c0: ISZERO 000014c1: DUP1 000014c2: ISZERO 000014c3: PUSH3 0x0014d1 000014c7: JUMPI 000014c8: RETURNDATASIZE 000014c9: PUSH1 0x00 000014cb: DUP1 000014cc: RETURNDATACOPY 000014cd: RETURNDATASIZE 000014ce: PUSH1 0x00 000014d0: REVERT 000014d1: JUMPDEST 000014d2: POP 000014d3: POP 000014d4: POP 000014d5: POP 000014d6: PUSH1 0x40 000014d8: MLOAD 000014d9: RETURNDATASIZE 000014da: PUSH1 0x00 000014dc: DUP3 000014dd: RETURNDATACOPY 000014de: PUSH1 0x1f 000014e0: RETURNDATASIZE 000014e1: SWAP1 000014e2: DUP2 000014e3: ADD 000014e4: PUSH1 0x1f 000014e6: NOT 000014e7: AND 000014e8: DUP3 000014e9: ADD 000014ea: PUSH1 0x40 000014ec: MSTORE 000014ed: PUSH3 0x0014fb 000014f1: SWAP2 000014f2: SWAP1 000014f3: DUP2 000014f4: ADD 000014f5: SWAP1 000014f6: PUSH3 0x002fdd 000014fa: JUMP 000014fb: JUMPDEST 000014fc: PUSH1 0x80 000014fe: DUP2 000014ff: ADD 00001500: DUP6 00001501: SWAP1 00001502: MSTORE 00001503: PUSH1 0x40 00001505: MLOAD 00001506: PUSH4 0x8ddf5ad7 0000150b: PUSH1 0xe0 0000150d: SHL 0000150e: DUP2 0000150f: MSTORE 00001510: SWAP1 00001511: SWAP2 00001512: POP 00001513: PUSH1 0x01 00001515: PUSH1 0x01 00001517: PUSH1 0xa0 00001519: SHL 0000151a: SUB 0000151b: DUP4 0000151c: AND 0000151d: SWAP1 0000151e: PUSH4 0x8ddf5ad7 00001523: SWAP1 00001524: PUSH3 0x001533 00001528: SWAP1 00001529: DUP5 0000152a: SWAP1 0000152b: PUSH1 0x04 0000152d: ADD 0000152e: PUSH3 0x003b25 00001532: JUMP 00001533: JUMPDEST 00001534: PUSH1 0x00 00001536: PUSH1 0x40 00001538: MLOAD 00001539: DUP1 0000153a: DUP4 0000153b: SUB 0000153c: DUP2 0000153d: PUSH1 0x00 0000153f: DUP8 00001540: DUP1 00001541: EXTCODESIZE 00001542: ISZERO 00001543: DUP1 00001544: ISZERO 00001545: PUSH3 0x00154e 00001549: JUMPI 0000154a: PUSH1 0x00 0000154c: DUP1 0000154d: REVERT 0000154e: JUMPDEST 0000154f: POP 00001550: GAS 00001551: CALL 00001552: ISZERO 00001553: DUP1 00001554: ISZERO 00001555: PUSH3 0x001563 00001559: JUMPI 0000155a: RETURNDATASIZE 0000155b: PUSH1 0x00 0000155d: DUP1 0000155e: RETURNDATACOPY 0000155f: RETURNDATASIZE 00001560: PUSH1 0x00 00001562: REVERT 00001563: JUMPDEST 00001564: POP 00001565: POP 00001566: POP 00001567: POP 00001568: PUSH32 0x68b01fc17fc90d1e4b26e6de28d98f855786209201c0245626efad6e216ad6bf 00001589: DUP5 0000158a: PUSH1 0x40 0000158c: MLOAD 0000158d: PUSH3 0x001598 00001591: SWAP2 00001592: SWAP1 00001593: PUSH3 0x003baf 00001597: JUMP 00001598: JUMPDEST 00001599: PUSH1 0x40 0000159b: MLOAD 0000159c: DUP1 0000159d: SWAP2 0000159e: SUB 0000159f: SWAP1 000015a0: LOG1 000015a1: POP 000015a2: POP 000015a3: PUSH1 0x01 000015a5: PUSH1 0x00 000015a7: SSTORE 000015a8: POP 000015a9: POP 000015aa: JUMP 000015ab: JUMPDEST 000015ac: PUSH1 0x03 000015ae: SLOAD 000015af: PUSH1 0x01 000015b1: PUSH1 0x01 000015b3: PUSH1 0xa0 000015b5: SHL 000015b6: SUB 000015b7: AND 000015b8: CALLER 000015b9: EQ 000015ba: PUSH3 0x0015d8 000015be: JUMPI 000015bf: PUSH1 0x40 000015c1: MLOAD 000015c2: PUSH3 0x461bcd 000015c6: PUSH1 0xe5 000015c8: SHL 000015c9: DUP2 000015ca: MSTORE 000015cb: PUSH1 0x04 000015cd: ADD 000015ce: PUSH3 0x00046c 000015d2: SWAP1 000015d3: PUSH3 0x0036fd 000015d7: JUMP 000015d8: JUMPDEST 000015d9: PUSH1 0x02 000015db: PUSH1 0x00 000015dd: SLOAD 000015de: EQ 000015df: ISZERO 000015e0: PUSH3 0x0015fe 000015e4: JUMPI 000015e5: PUSH1 0x40 000015e7: MLOAD 000015e8: PUSH3 0x461bcd 000015ec: PUSH1 0xe5 000015ee: SHL 000015ef: DUP2 000015f0: MSTORE 000015f1: PUSH1 0x04 000015f3: ADD 000015f4: PUSH3 0x00046c 000015f8: SWAP1 000015f9: PUSH3 0x003ab7 000015fd: JUMP 000015fe: JUMPDEST 000015ff: PUSH1 0x02 00001601: PUSH1 0x00 00001603: SSTORE 00001604: PUSH1 0x01 00001606: PUSH1 0x01 00001608: PUSH1 0xa0 0000160a: SHL 0000160b: SUB 0000160c: DUP2 0000160d: AND 0000160e: PUSH3 0x00162c 00001612: JUMPI 00001613: PUSH1 0x40 00001615: MLOAD 00001616: PUSH3 0x461bcd 0000161a: PUSH1 0xe5 0000161c: SHL 0000161d: DUP2 0000161e: MSTORE 0000161f: PUSH1 0x04 00001621: ADD 00001622: PUSH3 0x00046c 00001626: SWAP1 00001627: PUSH3 0x00388f 0000162b: JUMP 0000162c: JUMPDEST 0000162d: PUSH1 0x03 0000162f: DUP1 00001630: SLOAD 00001631: PUSH1 0x01 00001633: PUSH1 0x01 00001635: PUSH1 0xa0 00001637: SHL 00001638: SUB 00001639: NOT 0000163a: AND 0000163b: PUSH1 0x01 0000163d: PUSH1 0x01 0000163f: PUSH1 0xa0 00001641: SHL 00001642: SUB 00001643: DUP4 00001644: AND 00001645: OR 00001646: SWAP1 00001647: SSTORE 00001648: PUSH1 0x00 0000164a: PUSH3 0x001653 0000164e: PUSH3 0x002452 00001652: JUMP 00001653: JUMPDEST 00001654: MLOAD 00001655: PUSH1 0x03 00001657: SLOAD 00001658: PUSH1 0x40 0000165a: MLOAD 0000165b: PUSH4 0x54cb6b67 00001660: PUSH1 0xe1 00001662: SHL 00001663: DUP2 00001664: MSTORE 00001665: SWAP2 00001666: SWAP3 00001667: POP 00001668: PUSH1 0x00 0000166a: SWAP2 0000166b: PUSH1 0x01 0000166d: PUSH1 0x01 0000166f: PUSH1 0xa0 00001671: SHL 00001672: SUB 00001673: DUP1 00001674: DUP6 00001675: AND 00001676: SWAP3 00001677: PUSH4 0xa996d6ce 0000167c: SWAP3 0000167d: PUSH3 0x00168e 00001681: SWAP3 00001682: SWAP1 00001683: SWAP2 00001684: AND 00001685: SWAP1 00001686: PUSH1 0x04 00001688: ADD 00001689: PUSH3 0x00342c 0000168d: JUMP 0000168e: JUMPDEST 0000168f: PUSH1 0x20 00001691: PUSH1 0x40 00001693: MLOAD 00001694: DUP1 00001695: DUP4 00001696: SUB 00001697: DUP2 00001698: PUSH1 0x00 0000169a: DUP8 0000169b: DUP1 0000169c: EXTCODESIZE 0000169d: ISZERO 0000169e: DUP1 0000169f: ISZERO 000016a0: PUSH3 0x0016a9 000016a4: JUMPI 000016a5: PUSH1 0x00 000016a7: DUP1 000016a8: REVERT 000016a9: JUMPDEST 000016aa: POP 000016ab: GAS 000016ac: CALL 000016ad: ISZERO 000016ae: DUP1 000016af: ISZERO 000016b0: PUSH3 0x0016be 000016b4: JUMPI 000016b5: RETURNDATASIZE 000016b6: PUSH1 0x00 000016b8: DUP1 000016b9: RETURNDATACOPY 000016ba: RETURNDATASIZE 000016bb: PUSH1 0x00 000016bd: REVERT 000016be: JUMPDEST 000016bf: POP 000016c0: POP 000016c1: POP 000016c2: POP 000016c3: PUSH1 0x40 000016c5: MLOAD 000016c6: RETURNDATASIZE 000016c7: PUSH1 0x1f 000016c9: NOT 000016ca: PUSH1 0x1f 000016cc: DUP3 000016cd: ADD 000016ce: AND 000016cf: DUP3 000016d0: ADD 000016d1: DUP1 000016d2: PUSH1 0x40 000016d4: MSTORE 000016d5: POP 000016d6: DUP2 000016d7: ADD 000016d8: SWAP1 000016d9: PUSH3 0x0016e4 000016dd: SWAP2 000016de: SWAP1 000016df: PUSH3 0x002f35 000016e3: JUMP 000016e4: JUMPDEST 000016e5: SWAP1 000016e6: POP 000016e7: DUP1 000016e8: PUSH3 0x001706 000016ec: JUMPI 000016ed: PUSH1 0x40 000016ef: MLOAD 000016f0: PUSH3 0x461bcd 000016f4: PUSH1 0xe5 000016f6: SHL 000016f7: DUP2 000016f8: MSTORE 000016f9: PUSH1 0x04 000016fb: ADD 000016fc: PUSH3 0x00046c 00001700: SWAP1 00001701: PUSH3 0x0038fb 00001705: JUMP 00001706: JUMPDEST 00001707: PUSH1 0x03 00001709: SLOAD 0000170a: PUSH1 0x40 0000170c: MLOAD 0000170d: PUSH4 0x7e51dad5 00001712: PUSH1 0xe1 00001714: SHL 00001715: DUP2 00001716: MSTORE 00001717: PUSH1 0x01 00001719: PUSH1 0x01 0000171b: PUSH1 0xa0 0000171d: SHL 0000171e: SUB 0000171f: DUP5 00001720: DUP2 00001721: AND 00001722: SWAP3 00001723: PUSH4 0xfca3b5aa 00001728: SWAP3 00001729: PUSH3 0x00173a 0000172d: SWAP3 0000172e: SWAP1 0000172f: SWAP2 00001730: AND 00001731: SWAP1 00001732: PUSH1 0x04 00001734: ADD 00001735: PUSH3 0x00342c 00001739: JUMP 0000173a: JUMPDEST 0000173b: PUSH1 0x20 0000173d: PUSH1 0x40 0000173f: MLOAD 00001740: DUP1 00001741: DUP4 00001742: SUB 00001743: DUP2 00001744: PUSH1 0x00 00001746: DUP8 00001747: DUP1 00001748: EXTCODESIZE 00001749: ISZERO 0000174a: DUP1 0000174b: ISZERO 0000174c: PUSH3 0x001755 00001750: JUMPI 00001751: PUSH1 0x00 00001753: DUP1 00001754: REVERT 00001755: JUMPDEST 00001756: POP 00001757: GAS 00001758: CALL 00001759: ISZERO 0000175a: DUP1 0000175b: ISZERO 0000175c: PUSH3 0x00176a 00001760: JUMPI 00001761: RETURNDATASIZE 00001762: PUSH1 0x00 00001764: DUP1 00001765: RETURNDATACOPY 00001766: RETURNDATASIZE 00001767: PUSH1 0x00 00001769: REVERT 0000176a: JUMPDEST 0000176b: POP 0000176c: POP 0000176d: POP 0000176e: POP 0000176f: PUSH1 0x40 00001771: MLOAD 00001772: RETURNDATASIZE 00001773: PUSH1 0x1f 00001775: NOT 00001776: PUSH1 0x1f 00001778: DUP3 00001779: ADD 0000177a: AND 0000177b: DUP3 0000177c: ADD 0000177d: DUP1 0000177e: PUSH1 0x40 00001780: MSTORE 00001781: POP 00001782: DUP2 00001783: ADD 00001784: SWAP1 00001785: PUSH3 0x001790 00001789: SWAP2 0000178a: SWAP1 0000178b: PUSH3 0x002f35 0000178f: JUMP 00001790: JUMPDEST 00001791: SWAP1 00001792: POP 00001793: DUP1 00001794: PUSH3 0x0017b2 00001798: JUMPI 00001799: PUSH1 0x40 0000179b: MLOAD 0000179c: PUSH3 0x461bcd 000017a0: PUSH1 0xe5 000017a2: SHL 000017a3: DUP2 000017a4: MSTORE 000017a5: PUSH1 0x04 000017a7: ADD 000017a8: PUSH3 0x00046c 000017ac: SWAP1 000017ad: PUSH3 0x0035eb 000017b1: JUMP 000017b2: JUMPDEST 000017b3: PUSH1 0x03 000017b5: SLOAD 000017b6: PUSH1 0x40 000017b8: MLOAD 000017b9: PUSH32 0x027c3e080ed9215f564a9455a666f7e459b3edc0bb6e02a1bf842fde4d0ccfc1 000017da: SWAP2 000017db: PUSH3 0x0017f1 000017df: SWAP2 000017e0: PUSH1 0x01 000017e2: PUSH1 0x01 000017e4: PUSH1 0xa0 000017e6: SHL 000017e7: SUB 000017e8: SWAP1 000017e9: SWAP2 000017ea: AND 000017eb: SWAP1 000017ec: PUSH3 0x00342c 000017f0: JUMP 000017f1: JUMPDEST 000017f2: PUSH1 0x40 000017f4: MLOAD 000017f5: DUP1 000017f6: SWAP2 000017f7: SUB 000017f8: SWAP1 000017f9: LOG1 000017fa: POP 000017fb: POP 000017fc: PUSH1 0x01 000017fe: PUSH1 0x00 00001800: SSTORE 00001801: POP 00001802: JUMP 00001803: JUMPDEST 00001804: PUSH3 0x00180d 00001808: PUSH3 0x0029b2 0000180c: JUMP 0000180d: JUMPDEST 0000180e: PUSH3 0x001817 00001812: PUSH3 0x00221c 00001816: JUMP 00001817: JUMPDEST 00001818: SWAP1 00001819: POP 0000181a: SWAP1 0000181b: JUMP 0000181c: JUMPDEST 0000181d: PUSH3 0x001826 00001821: PUSH3 0x002a01 00001825: JUMP 00001826: JUMPDEST 00001827: PUSH3 0x001817 0000182b: PUSH3 0x0022cf 0000182f: JUMP 00001830: JUMPDEST 00001831: PUSH1 0x03 00001833: SLOAD 00001834: PUSH1 0x00 00001836: SWAP1 00001837: PUSH1 0x01 00001839: PUSH1 0x01 0000183b: PUSH1 0xa0 0000183d: SHL 0000183e: SUB 0000183f: AND 00001840: CALLER 00001841: EQ 00001842: PUSH3 0x001860 00001846: JUMPI 00001847: PUSH1 0x40 00001849: MLOAD 0000184a: PUSH3 0x461bcd 0000184e: PUSH1 0xe5 00001850: SHL 00001851: DUP2 00001852: MSTORE 00001853: PUSH1 0x04 00001855: ADD 00001856: PUSH3 0x00046c 0000185a: SWAP1 0000185b: PUSH3 0x0036fd 0000185f: JUMP 00001860: JUMPDEST 00001861: PUSH1 0x02 00001863: PUSH1 0x00 00001865: SLOAD 00001866: EQ 00001867: ISZERO 00001868: PUSH3 0x001886 0000186c: JUMPI 0000186d: PUSH1 0x40 0000186f: MLOAD 00001870: PUSH3 0x461bcd 00001874: PUSH1 0xe5 00001876: SHL 00001877: DUP2 00001878: MSTORE 00001879: PUSH1 0x04 0000187b: ADD 0000187c: PUSH3 0x00046c 00001880: SWAP1 00001881: PUSH3 0x003ab7 00001885: JUMP 00001886: JUMPDEST 00001887: PUSH1 0x02 00001889: PUSH1 0x00 0000188b: SWAP1 0000188c: DUP2 0000188d: SSTORE 0000188e: JUMPDEST 0000188f: PUSH1 0x05 00001891: SLOAD 00001892: DUP2 00001893: LT 00001894: ISZERO 00001895: PUSH3 0x00196d 00001899: JUMPI 0000189a: DUP3 0000189b: PUSH1 0x01 0000189d: PUSH1 0x01 0000189f: PUSH1 0xa0 000018a1: SHL 000018a2: SUB 000018a3: AND 000018a4: PUSH1 0x05 000018a6: DUP3 000018a7: DUP2 000018a8: SLOAD 000018a9: DUP2 000018aa: LT 000018ab: PUSH3 0x0018b1 000018af: JUMPI 000018b0: INVALID 000018b1: JUMPDEST 000018b2: PUSH1 0x00 000018b4: SWAP2 000018b5: DUP3 000018b6: MSTORE 000018b7: PUSH1 0x20 000018b9: SWAP1 000018ba: SWAP2 000018bb: KECCAK256 000018bc: ADD 000018bd: SLOAD 000018be: PUSH1 0x01 000018c0: PUSH1 0x01 000018c2: PUSH1 0xa0 000018c4: SHL 000018c5: SUB 000018c6: AND 000018c7: EQ 000018c8: ISZERO 000018c9: PUSH3 0x001964 000018cd: JUMPI 000018ce: PUSH1 0x05 000018d0: DUP1 000018d1: SLOAD 000018d2: PUSH1 0x00 000018d4: NOT 000018d5: DUP2 000018d6: ADD 000018d7: SWAP1 000018d8: DUP2 000018d9: LT 000018da: PUSH3 0x0018e0 000018de: JUMPI 000018df: INVALID 000018e0: JUMPDEST 000018e1: PUSH1 0x00 000018e3: SWAP2 000018e4: DUP3 000018e5: MSTORE 000018e6: PUSH1 0x20 000018e8: SWAP1 000018e9: SWAP2 000018ea: KECCAK256 000018eb: ADD 000018ec: SLOAD 000018ed: PUSH1 0x05 000018ef: DUP1 000018f0: SLOAD 000018f1: PUSH1 0x01 000018f3: PUSH1 0x01 000018f5: PUSH1 0xa0 000018f7: SHL 000018f8: SUB 000018f9: SWAP1 000018fa: SWAP3 000018fb: AND 000018fc: SWAP2 000018fd: DUP4 000018fe: SWAP1 000018ff: DUP2 00001900: LT 00001901: PUSH3 0x001907 00001905: JUMPI 00001906: INVALID 00001907: JUMPDEST 00001908: SWAP1 00001909: PUSH1 0x00 0000190b: MSTORE 0000190c: PUSH1 0x20 0000190e: PUSH1 0x00 00001910: KECCAK256 00001911: ADD 00001912: PUSH1 0x00 00001914: PUSH2 0x0100 00001917: EXP 00001918: DUP2 00001919: SLOAD 0000191a: DUP2 0000191b: PUSH1 0x01 0000191d: PUSH1 0x01 0000191f: PUSH1 0xa0 00001921: SHL 00001922: SUB 00001923: MUL 00001924: NOT 00001925: AND 00001926: SWAP1 00001927: DUP4 00001928: PUSH1 0x01 0000192a: PUSH1 0x01 0000192c: PUSH1 0xa0 0000192e: SHL 0000192f: SUB 00001930: AND 00001931: MUL 00001932: OR 00001933: SWAP1 00001934: SSTORE 00001935: POP 00001936: PUSH1 0x05 00001938: DUP1 00001939: SLOAD 0000193a: DUP1 0000193b: PUSH3 0x001941 0000193f: JUMPI 00001940: INVALID 00001941: JUMPDEST 00001942: PUSH1 0x00 00001944: DUP3 00001945: DUP2 00001946: MSTORE 00001947: PUSH1 0x20 00001949: SWAP1 0000194a: KECCAK256 0000194b: DUP2 0000194c: ADD 0000194d: PUSH1 0x00 0000194f: NOT 00001950: SWAP1 00001951: DUP2 00001952: ADD 00001953: DUP1 00001954: SLOAD 00001955: PUSH1 0x01 00001957: PUSH1 0x01 00001959: PUSH1 0xa0 0000195b: SHL 0000195c: SUB 0000195d: NOT 0000195e: AND 0000195f: SWAP1 00001960: SSTORE 00001961: ADD 00001962: SWAP1 00001963: SSTORE 00001964: JUMPDEST 00001965: PUSH1 0x01 00001967: ADD 00001968: PUSH3 0x00188e 0000196c: JUMP 0000196d: JUMPDEST 0000196e: POP 0000196f: PUSH1 0x40 00001971: MLOAD 00001972: PUSH1 0x01 00001974: PUSH1 0x01 00001976: PUSH1 0xa0 00001978: SHL 00001979: SUB 0000197a: DUP4 0000197b: AND 0000197c: SWAP1 0000197d: PUSH32 0x59c3fbcae88f30e9b0e35c132a7f68c53231dffa4722f197c7ecb0ee013eee60 0000199e: SWAP1 0000199f: PUSH1 0x00 000019a1: SWAP1 000019a2: LOG2 000019a3: PUSH1 0x01 000019a5: PUSH1 0x00 000019a7: SSTORE 000019a8: SWAP2 000019a9: SWAP1 000019aa: POP 000019ab: JUMP 000019ac: JUMPDEST 000019ad: PUSH3 0x0019b6 000019b1: PUSH3 0x0029b2 000019b5: JUMP 000019b6: JUMPDEST 000019b7: PUSH3 0x0019c0 000019bb: PUSH3 0x00221c 000019bf: JUMP 000019c0: JUMPDEST 000019c1: SWAP1 000019c2: POP 000019c3: DUP1 000019c4: PUSH1 0x40 000019c6: ADD 000019c7: MLOAD 000019c8: PUSH3 0x0019e6 000019cc: JUMPI 000019cd: PUSH1 0x40 000019cf: MLOAD 000019d0: PUSH3 0x461bcd 000019d4: PUSH1 0xe5 000019d6: SHL 000019d7: DUP2 000019d8: MSTORE 000019d9: PUSH1 0x04 000019db: ADD 000019dc: PUSH3 0x00046c 000019e0: SWAP1 000019e1: PUSH3 0x003734 000019e5: JUMP 000019e6: JUMPDEST 000019e7: PUSH1 0x00 000019e9: SELFBALANCE 000019ea: GT 000019eb: PUSH3 0x001a09 000019ef: JUMPI 000019f0: PUSH1 0x40 000019f2: MLOAD 000019f3: PUSH3 0x461bcd 000019f7: PUSH1 0xe5 000019f9: SHL 000019fa: DUP2 000019fb: MSTORE 000019fc: PUSH1 0x04 000019fe: ADD 000019ff: PUSH3 0x00046c 00001a03: SWAP1 00001a04: PUSH3 0x0035b4 00001a08: JUMP 00001a09: JUMPDEST 00001a0a: PUSH1 0x02 00001a0c: PUSH1 0x00 00001a0e: SLOAD 00001a0f: EQ 00001a10: ISZERO 00001a11: PUSH3 0x001a2f 00001a15: JUMPI 00001a16: PUSH1 0x40 00001a18: MLOAD 00001a19: PUSH3 0x461bcd 00001a1d: PUSH1 0xe5 00001a1f: SHL 00001a20: DUP2 00001a21: MSTORE 00001a22: PUSH1 0x04 00001a24: ADD 00001a25: PUSH3 0x00046c 00001a29: SWAP1 00001a2a: PUSH3 0x003ab7 00001a2e: JUMP 00001a2f: JUMPDEST 00001a30: PUSH1 0x02 00001a32: PUSH1 0x00 00001a34: SSTORE 00001a35: PUSH3 0x001a3e 00001a39: PUSH3 0x002a36 00001a3d: JUMP 00001a3e: JUMPDEST 00001a3f: PUSH3 0x001a48 00001a43: PUSH3 0x002452 00001a47: JUMP 00001a48: JUMPDEST 00001a49: DUP1 00001a4a: MLOAD 00001a4b: SWAP1 00001a4c: SWAP2 00001a4d: POP 00001a4e: PUSH1 0x00 00001a50: PUSH3 0x001ada 00001a54: PUSH3 0x001a5f 00001a58: SELFBALANCE 00001a59: CALLVALUE 00001a5a: PUSH3 0x002735 00001a5e: JUMP 00001a5f: JUMPDEST 00001a60: DUP4 00001a61: PUSH1 0x01 00001a63: PUSH1 0x01 00001a65: PUSH1 0xa0 00001a67: SHL 00001a68: SUB 00001a69: AND 00001a6a: PUSH4 0x18160ddd 00001a6f: PUSH1 0x40 00001a71: MLOAD 00001a72: DUP2 00001a73: PUSH4 0xffffffff 00001a78: AND 00001a79: PUSH1 0xe0 00001a7b: SHL 00001a7c: DUP2 00001a7d: MSTORE 00001a7e: PUSH1 0x04 00001a80: ADD 00001a81: PUSH1 0x20 00001a83: PUSH1 0x40 00001a85: MLOAD 00001a86: DUP1 00001a87: DUP4 00001a88: SUB 00001a89: DUP2 00001a8a: DUP7 00001a8b: DUP1 00001a8c: EXTCODESIZE 00001a8d: ISZERO 00001a8e: DUP1 00001a8f: ISZERO 00001a90: PUSH3 0x001a99 00001a94: JUMPI 00001a95: PUSH1 0x00 00001a97: DUP1 00001a98: REVERT 00001a99: JUMPDEST 00001a9a: POP 00001a9b: GAS 00001a9c: STATICCALL 00001a9d: ISZERO 00001a9e: DUP1 00001a9f: ISZERO 00001aa0: PUSH3 0x001aae 00001aa4: JUMPI 00001aa5: RETURNDATASIZE 00001aa6: PUSH1 0x00 00001aa8: DUP1 00001aa9: RETURNDATACOPY 00001aaa: RETURNDATASIZE 00001aab: PUSH1 0x00 00001aad: REVERT 00001aae: JUMPDEST 00001aaf: POP 00001ab0: POP 00001ab1: POP 00001ab2: POP 00001ab3: PUSH1 0x40 00001ab5: MLOAD 00001ab6: RETURNDATASIZE 00001ab7: PUSH1 0x1f 00001ab9: NOT 00001aba: PUSH1 0x1f 00001abc: DUP3 00001abd: ADD 00001abe: AND 00001abf: DUP3 00001ac0: ADD 00001ac1: DUP1 00001ac2: PUSH1 0x40 00001ac4: MSTORE 00001ac5: POP 00001ac6: DUP2 00001ac7: ADD 00001ac8: SWAP1 00001ac9: PUSH3 0x001ad4 00001acd: SWAP2 00001ace: SWAP1 00001acf: PUSH3 0x00320f 00001ad3: JUMP 00001ad4: JUMPDEST 00001ad5: PUSH3 0x002760 00001ad9: JUMP 00001ada: JUMPDEST 00001adb: SWAP1 00001adc: POP 00001add: PUSH1 0x00 00001adf: PUSH3 0x001b03 00001ae3: DUP5 00001ae4: PUSH2 0x0100 00001ae7: ADD 00001ae8: MLOAD 00001ae9: DUP4 00001aea: DUP7 00001aeb: PUSH1 0xa0 00001aed: ADD 00001aee: MLOAD 00001aef: DUP8 00001af0: PUSH1 0x80 00001af2: ADD 00001af3: MLOAD 00001af4: DUP9 00001af5: PUSH1 0xc0 00001af7: ADD 00001af8: MLOAD 00001af9: DUP10 00001afa: PUSH1 0xe0 00001afc: ADD 00001afd: MLOAD 00001afe: PUSH3 0x00276e 00001b02: JUMP 00001b03: JUMPDEST 00001b04: SWAP1 00001b05: POP 00001b06: DUP1 00001b07: CALLVALUE 00001b08: LT 00001b09: ISZERO 00001b0a: PUSH3 0x001b28 00001b0e: JUMPI 00001b0f: PUSH1 0x40 00001b11: MLOAD 00001b12: PUSH3 0x461bcd 00001b16: PUSH1 0xe5 00001b18: SHL 00001b19: DUP2 00001b1a: MSTORE 00001b1b: PUSH1 0x04 00001b1d: ADD 00001b1e: PUSH3 0x00046c 00001b22: SWAP1 00001b23: PUSH3 0x0038c6 00001b27: JUMP 00001b28: JUMPDEST 00001b29: PUSH1 0x00 00001b2b: PUSH3 0x001b3f 00001b2f: DUP6 00001b30: PUSH2 0x0100 00001b33: ADD 00001b34: MLOAD 00001b35: DUP7 00001b36: PUSH1 0xc0 00001b38: ADD 00001b39: MLOAD 00001b3a: PUSH3 0x0027d8 00001b3e: JUMP 00001b3f: JUMPDEST 00001b40: SWAP1 00001b41: POP 00001b42: PUSH1 0x00 00001b44: PUSH3 0x001b58 00001b48: DUP3 00001b49: DUP8 00001b4a: PUSH1 0xc0 00001b4c: ADD 00001b4d: MLOAD 00001b4e: DUP9 00001b4f: PUSH1 0xe0 00001b51: ADD 00001b52: MLOAD 00001b53: PUSH3 0x002800 00001b57: JUMP 00001b58: JUMPDEST 00001b59: SWAP1 00001b5a: POP 00001b5b: PUSH3 0x001b64 00001b5f: PUSH3 0x002a01 00001b63: JUMP 00001b64: JUMPDEST 00001b65: PUSH3 0x001b6e 00001b69: PUSH3 0x0022cf 00001b6d: JUMP 00001b6e: JUMPDEST 00001b6f: PUSH1 0x80 00001b71: DUP2 00001b72: ADD 00001b73: MLOAD 00001b74: PUSH1 0xe0 00001b76: DUP10 00001b77: ADD 00001b78: DUP5 00001b79: SWAP1 00001b7a: MSTORE 00001b7b: PUSH1 0x40 00001b7d: MLOAD 00001b7e: PUSH4 0x0b8bde65 00001b83: PUSH1 0xe3 00001b85: SHL 00001b86: DUP2 00001b87: MSTORE 00001b88: SWAP2 00001b89: SWAP3 00001b8a: POP 00001b8b: SWAP1 00001b8c: PUSH1 0x01 00001b8e: PUSH1 0x01 00001b90: PUSH1 0xa0 00001b92: SHL 00001b93: SUB 00001b94: DUP3 00001b95: AND 00001b96: SWAP1 00001b97: PUSH4 0x5c5ef328 00001b9c: SWAP1 00001b9d: PUSH3 0x001bac 00001ba1: SWAP1 00001ba2: DUP12 00001ba3: SWAP1 00001ba4: PUSH1 0x04 00001ba6: ADD 00001ba7: PUSH3 0x003b9a 00001bab: JUMP 00001bac: JUMPDEST 00001bad: PUSH1 0x00 00001baf: PUSH1 0x40 00001bb1: MLOAD 00001bb2: DUP1 00001bb3: DUP4 00001bb4: SUB 00001bb5: DUP2 00001bb6: PUSH1 0x00 00001bb8: DUP8 00001bb9: DUP1 00001bba: EXTCODESIZE 00001bbb: ISZERO 00001bbc: DUP1 00001bbd: ISZERO 00001bbe: PUSH3 0x001bc7 00001bc2: JUMPI 00001bc3: PUSH1 0x00 00001bc5: DUP1 00001bc6: REVERT 00001bc7: JUMPDEST 00001bc8: POP 00001bc9: GAS 00001bca: CALL 00001bcb: ISZERO 00001bcc: DUP1 00001bcd: ISZERO 00001bce: PUSH3 0x001bdc 00001bd2: JUMPI 00001bd3: RETURNDATASIZE 00001bd4: PUSH1 0x00 00001bd6: DUP1 00001bd7: RETURNDATACOPY 00001bd8: RETURNDATASIZE 00001bd9: PUSH1 0x00 00001bdb: REVERT 00001bdc: JUMPDEST 00001bdd: POP 00001bde: POP 00001bdf: POP 00001be0: PUSH2 0x0100 00001be3: DUP10 00001be4: ADD 00001be5: MLOAD 00001be6: PUSH1 0x40 00001be8: MLOAD 00001be9: PUSH4 0x29460cc5 00001bee: PUSH1 0xe1 00001bf0: SHL 00001bf1: DUP2 00001bf2: MSTORE 00001bf3: PUSH1 0x00 00001bf5: SWAP3 00001bf6: POP 00001bf7: PUSH1 0x01 00001bf9: PUSH1 0x01 00001bfb: PUSH1 0xa0 00001bfd: SHL 00001bfe: SUB 00001bff: DUP11 00001c00: AND 00001c01: SWAP2 00001c02: PUSH4 0x528c198a 00001c07: SWAP2 00001c08: PUSH3 0x001c17 00001c0c: SWAP2 00001c0d: CALLER 00001c0e: SWAP2 00001c0f: PUSH1 0x04 00001c11: ADD 00001c12: PUSH3 0x00345f 00001c16: JUMP 00001c17: JUMPDEST 00001c18: PUSH1 0x20 00001c1a: PUSH1 0x40 00001c1c: MLOAD 00001c1d: DUP1 00001c1e: DUP4 00001c1f: SUB 00001c20: DUP2 00001c21: PUSH1 0x00 00001c23: DUP8 00001c24: DUP1 00001c25: EXTCODESIZE 00001c26: ISZERO 00001c27: DUP1 00001c28: ISZERO 00001c29: PUSH3 0x001c32 00001c2d: JUMPI 00001c2e: PUSH1 0x00 00001c30: DUP1 00001c31: REVERT 00001c32: JUMPDEST 00001c33: POP 00001c34: GAS 00001c35: CALL 00001c36: ISZERO 00001c37: DUP1 00001c38: ISZERO 00001c39: PUSH3 0x001c47 00001c3d: JUMPI 00001c3e: RETURNDATASIZE 00001c3f: PUSH1 0x00 00001c41: DUP1 00001c42: RETURNDATACOPY 00001c43: RETURNDATASIZE 00001c44: PUSH1 0x00 00001c46: REVERT 00001c47: JUMPDEST 00001c48: POP 00001c49: POP 00001c4a: POP 00001c4b: POP 00001c4c: PUSH1 0x40 00001c4e: MLOAD 00001c4f: RETURNDATASIZE 00001c50: PUSH1 0x1f 00001c52: NOT 00001c53: PUSH1 0x1f 00001c55: DUP3 00001c56: ADD 00001c57: AND 00001c58: DUP3 00001c59: ADD 00001c5a: DUP1 00001c5b: PUSH1 0x40 00001c5d: MSTORE 00001c5e: POP 00001c5f: DUP2 00001c60: ADD 00001c61: SWAP1 00001c62: PUSH3 0x001c6d 00001c66: SWAP2 00001c67: SWAP1 00001c68: PUSH3 0x002f35 00001c6c: JUMP 00001c6d: JUMPDEST 00001c6e: SWAP1 00001c6f: POP 00001c70: DUP1 00001c71: PUSH3 0x001c8f 00001c75: JUMPI 00001c76: PUSH1 0x40 00001c78: MLOAD 00001c79: PUSH3 0x461bcd 00001c7d: PUSH1 0xe5 00001c7f: SHL 00001c80: DUP2 00001c81: MSTORE 00001c82: PUSH1 0x04 00001c84: ADD 00001c85: PUSH3 0x00046c 00001c89: SWAP1 00001c8a: PUSH3 0x0037a0 00001c8e: JUMP 00001c8f: JUMPDEST 00001c90: PUSH1 0x00 00001c92: JUMPDEST 00001c93: PUSH1 0x05 00001c95: SLOAD 00001c96: DUP2 00001c97: LT 00001c98: ISZERO 00001c99: PUSH3 0x001d1c 00001c9d: JUMPI 00001c9e: PUSH1 0x05 00001ca0: DUP2 00001ca1: DUP2 00001ca2: SLOAD 00001ca3: DUP2 00001ca4: LT 00001ca5: PUSH3 0x001cab 00001ca9: JUMPI 00001caa: INVALID 00001cab: JUMPDEST 00001cac: PUSH1 0x00 00001cae: SWAP2 00001caf: DUP3 00001cb0: MSTORE 00001cb1: PUSH1 0x20 00001cb3: DUP3 00001cb4: KECCAK256 00001cb5: ADD 00001cb6: SLOAD 00001cb7: PUSH1 0x40 00001cb9: DUP1 00001cba: MLOAD 00001cbb: PUSH1 0x01 00001cbd: PUSH3 0x093517 00001cc1: PUSH1 0xe0 00001cc3: SHL 00001cc4: SUB 00001cc5: NOT 00001cc6: DUP2 00001cc7: MSTORE 00001cc8: SWAP1 00001cc9: MLOAD 00001cca: PUSH1 0x01 00001ccc: PUSH1 0x01 00001cce: PUSH1 0xa0 00001cd0: SHL 00001cd1: SUB 00001cd2: SWAP1 00001cd3: SWAP3 00001cd4: AND 00001cd5: SWAP3 00001cd6: PUSH4 0xfff6cae9 00001cdb: SWAP3 00001cdc: PUSH1 0x04 00001cde: DUP1 00001cdf: DUP5 00001ce0: ADD 00001ce1: SWAP4 00001ce2: DUP3 00001ce3: SWAP1 00001ce4: SUB 00001ce5: ADD 00001ce6: DUP2 00001ce7: DUP4 00001ce8: DUP8 00001ce9: DUP1 00001cea: EXTCODESIZE 00001ceb: ISZERO 00001cec: DUP1 00001ced: ISZERO 00001cee: PUSH3 0x001cf7 00001cf2: JUMPI 00001cf3: PUSH1 0x00 00001cf5: DUP1 00001cf6: REVERT 00001cf7: JUMPDEST 00001cf8: POP 00001cf9: GAS 00001cfa: CALL 00001cfb: ISZERO 00001cfc: DUP1 00001cfd: ISZERO 00001cfe: PUSH3 0x001d0c 00001d02: JUMPI 00001d03: RETURNDATASIZE 00001d04: PUSH1 0x00 00001d06: DUP1 00001d07: RETURNDATACOPY 00001d08: RETURNDATASIZE 00001d09: PUSH1 0x00 00001d0b: REVERT 00001d0c: JUMPDEST 00001d0d: POP 00001d0e: POP 00001d0f: POP 00001d10: POP 00001d11: PUSH1 0x01 00001d13: DUP2 00001d14: ADD 00001d15: SWAP1 00001d16: POP 00001d17: PUSH3 0x001c92 00001d1b: JUMP 00001d1c: JUMPDEST 00001d1d: POP 00001d1e: DUP1 00001d1f: DUP1 00001d20: ISZERO 00001d21: PUSH3 0x001d2a 00001d25: JUMPI 00001d26: POP 00001d27: DUP6 00001d28: CALLVALUE 00001d29: GT 00001d2a: JUMPDEST 00001d2b: ISZERO 00001d2c: PUSH3 0x001db5 00001d30: JUMPI 00001d31: CALLER 00001d32: PUSH3 0x001d3d 00001d36: CALLVALUE 00001d37: DUP9 00001d38: PUSH3 0x002735 00001d3c: JUMP 00001d3d: JUMPDEST 00001d3e: PUSH1 0x40 00001d40: MLOAD 00001d41: PUSH3 0x001d4b 00001d45: SWAP1 00001d46: PUSH3 0x003429 00001d4a: JUMP 00001d4b: JUMPDEST 00001d4c: PUSH1 0x00 00001d4e: PUSH1 0x40 00001d50: MLOAD 00001d51: DUP1 00001d52: DUP4 00001d53: SUB 00001d54: DUP2 00001d55: DUP6 00001d56: DUP8 00001d57: GAS 00001d58: CALL 00001d59: SWAP3 00001d5a: POP 00001d5b: POP 00001d5c: POP 00001d5d: RETURNDATASIZE 00001d5e: DUP1 00001d5f: PUSH1 0x00 00001d61: DUP2 00001d62: EQ 00001d63: PUSH3 0x001d8a 00001d67: JUMPI 00001d68: PUSH1 0x40 00001d6a: MLOAD 00001d6b: SWAP2 00001d6c: POP 00001d6d: PUSH1 0x1f 00001d6f: NOT 00001d70: PUSH1 0x3f 00001d72: RETURNDATASIZE 00001d73: ADD 00001d74: AND 00001d75: DUP3 00001d76: ADD 00001d77: PUSH1 0x40 00001d79: MSTORE 00001d7a: RETURNDATASIZE 00001d7b: DUP3 00001d7c: MSTORE 00001d7d: RETURNDATASIZE 00001d7e: PUSH1 0x00 00001d80: PUSH1 0x20 00001d82: DUP5 00001d83: ADD 00001d84: RETURNDATACOPY 00001d85: PUSH3 0x001d8f 00001d89: JUMP 00001d8a: JUMPDEST 00001d8b: PUSH1 0x60 00001d8d: SWAP2 00001d8e: POP 00001d8f: JUMPDEST 00001d90: POP 00001d91: POP 00001d92: DUP1 00001d93: SWAP2 00001d94: POP 00001d95: POP 00001d96: DUP1 00001d97: PUSH3 0x001db5 00001d9b: JUMPI 00001d9c: PUSH1 0x40 00001d9e: MLOAD 00001d9f: PUSH3 0x461bcd 00001da3: PUSH1 0xe5 00001da5: SHL 00001da6: DUP2 00001da7: MSTORE 00001da8: PUSH1 0x04 00001daa: ADD 00001dab: PUSH3 0x00046c 00001daf: SWAP1 00001db0: PUSH3 0x003769 00001db4: JUMP 00001db5: JUMPDEST 00001db6: CALLER 00001db7: PUSH1 0x01 00001db9: PUSH1 0x01 00001dbb: PUSH1 0xa0 00001dbd: SHL 00001dbe: SUB 00001dbf: AND 00001dc0: PUSH32 0x9dc8971e92eed0890c17bd5c55d7c0dc69b9937962c9c6485c4e2b05d808b61c 00001de1: DUP11 00001de2: PUSH2 0x0100 00001de5: ADD 00001de6: MLOAD 00001de7: CALLVALUE 00001de8: PUSH1 0x40 00001dea: MLOAD 00001deb: PUSH3 0x000dd3 00001def: SWAP3 00001df0: SWAP2 00001df1: SWAP1 00001df2: PUSH3 0x003bb8 00001df6: JUMP 00001df7: JUMPDEST 00001df8: PUSH1 0x03 00001dfa: SLOAD 00001dfb: PUSH1 0x01 00001dfd: PUSH1 0x01 00001dff: PUSH1 0xa0 00001e01: SHL 00001e02: SUB 00001e03: AND 00001e04: CALLER 00001e05: EQ 00001e06: PUSH3 0x001e24 00001e0a: JUMPI 00001e0b: PUSH1 0x40 00001e0d: MLOAD 00001e0e: PUSH3 0x461bcd 00001e12: PUSH1 0xe5 00001e14: SHL 00001e15: DUP2 00001e16: MSTORE 00001e17: PUSH1 0x04 00001e19: ADD 00001e1a: PUSH3 0x00046c 00001e1e: SWAP1 00001e1f: PUSH3 0x0036fd 00001e23: JUMP 00001e24: JUMPDEST 00001e25: PUSH1 0x02 00001e27: PUSH1 0x00 00001e29: SLOAD 00001e2a: EQ 00001e2b: ISZERO 00001e2c: PUSH3 0x001e4a 00001e30: JUMPI 00001e31: PUSH1 0x40 00001e33: MLOAD 00001e34: PUSH3 0x461bcd 00001e38: PUSH1 0xe5 00001e3a: SHL 00001e3b: DUP2 00001e3c: MSTORE 00001e3d: PUSH1 0x04 00001e3f: ADD 00001e40: PUSH3 0x00046c 00001e44: SWAP1 00001e45: PUSH3 0x003ab7 00001e49: JUMP 00001e4a: JUMPDEST 00001e4b: PUSH1 0x02 00001e4d: PUSH1 0x00 00001e4f: SSTORE 00001e50: DUP1 00001e51: MLOAD 00001e52: DUP3 00001e53: MLOAD 00001e54: EQ 00001e55: PUSH3 0x001e73 00001e59: JUMPI 00001e5a: PUSH1 0x40 00001e5c: MLOAD 00001e5d: PUSH3 0x461bcd 00001e61: PUSH1 0xe5 00001e63: SHL 00001e64: DUP2 00001e65: MSTORE 00001e66: PUSH1 0x04 00001e68: ADD 00001e69: PUSH3 0x00046c 00001e6d: SWAP1 00001e6e: PUSH3 0x0036ab 00001e72: JUMP 00001e73: JUMPDEST 00001e74: PUSH1 0x00 00001e76: PUSH3 0x001e7f 00001e7a: PUSH3 0x002452 00001e7e: JUMP 00001e7f: JUMPDEST 00001e80: MLOAD 00001e81: SWAP1 00001e82: POP 00001e83: PUSH1 0x00 00001e85: JUMPDEST 00001e86: DUP4 00001e87: MLOAD 00001e88: DUP2 00001e89: LT 00001e8a: ISZERO 00001e8b: PUSH3 0x000f3c 00001e8f: JUMPI 00001e90: PUSH1 0x00 00001e92: DUP3 00001e93: PUSH1 0x01 00001e95: PUSH1 0x01 00001e97: PUSH1 0xa0 00001e99: SHL 00001e9a: SUB 00001e9b: AND 00001e9c: PUSH4 0x3e174aaf 00001ea1: DUP7 00001ea2: DUP5 00001ea3: DUP2 00001ea4: MLOAD 00001ea5: DUP2 00001ea6: LT 00001ea7: PUSH3 0x001ead 00001eab: JUMPI 00001eac: INVALID 00001ead: JUMPDEST 00001eae: PUSH1 0x20 00001eb0: MUL 00001eb1: PUSH1 0x20 00001eb3: ADD 00001eb4: ADD 00001eb5: MLOAD 00001eb6: PUSH1 0x40 00001eb8: MLOAD 00001eb9: DUP3 00001eba: PUSH4 0xffffffff 00001ebf: AND 00001ec0: PUSH1 0xe0 00001ec2: SHL 00001ec3: DUP2 00001ec4: MSTORE 00001ec5: PUSH1 0x04 00001ec7: ADD 00001ec8: PUSH3 0x001ed3 00001ecc: SWAP2 00001ecd: SWAP1 00001ece: PUSH3 0x00342c 00001ed2: JUMP 00001ed3: JUMPDEST 00001ed4: PUSH1 0x20 00001ed6: PUSH1 0x40 00001ed8: MLOAD 00001ed9: DUP1 00001eda: DUP4 00001edb: SUB 00001edc: DUP2 00001edd: DUP7 00001ede: DUP1 00001edf: EXTCODESIZE 00001ee0: ISZERO 00001ee1: DUP1 00001ee2: ISZERO 00001ee3: PUSH3 0x001eec 00001ee7: JUMPI 00001ee8: PUSH1 0x00 00001eea: DUP1 00001eeb: REVERT 00001eec: JUMPDEST 00001eed: POP 00001eee: GAS 00001eef: STATICCALL 00001ef0: ISZERO 00001ef1: DUP1 00001ef2: ISZERO 00001ef3: PUSH3 0x001f01 00001ef7: JUMPI 00001ef8: RETURNDATASIZE 00001ef9: PUSH1 0x00 00001efb: DUP1 00001efc: RETURNDATACOPY 00001efd: RETURNDATASIZE 00001efe: PUSH1 0x00 00001f00: REVERT 00001f01: JUMPDEST 00001f02: POP 00001f03: POP 00001f04: POP 00001f05: POP 00001f06: PUSH1 0x40 00001f08: MLOAD 00001f09: RETURNDATASIZE 00001f0a: PUSH1 0x1f 00001f0c: NOT 00001f0d: PUSH1 0x1f 00001f0f: DUP3 00001f10: ADD 00001f11: AND 00001f12: DUP3 00001f13: ADD 00001f14: DUP1 00001f15: PUSH1 0x40 00001f17: MSTORE 00001f18: POP 00001f19: DUP2 00001f1a: ADD 00001f1b: SWAP1 00001f1c: PUSH3 0x001f27 00001f20: SWAP2 00001f21: SWAP1 00001f22: PUSH3 0x00320f 00001f26: JUMP 00001f27: JUMPDEST 00001f28: SWAP1 00001f29: POP 00001f2a: DUP4 00001f2b: DUP3 00001f2c: DUP2 00001f2d: MLOAD 00001f2e: DUP2 00001f2f: LT 00001f30: PUSH3 0x001f36 00001f34: JUMPI 00001f35: INVALID 00001f36: JUMPDEST 00001f37: PUSH1 0x20 00001f39: MUL 00001f3a: PUSH1 0x20 00001f3c: ADD 00001f3d: ADD 00001f3e: MLOAD 00001f3f: DUP2 00001f40: LT 00001f41: ISZERO 00001f42: PUSH3 0x00205c 00001f46: JUMPI 00001f47: DUP1 00001f48: ISZERO 00001f49: PUSH3 0x001fe9 00001f4d: JUMPI 00001f4e: DUP3 00001f4f: PUSH1 0x01 00001f51: PUSH1 0x01 00001f53: PUSH1 0xa0 00001f55: SHL 00001f56: SUB 00001f57: AND 00001f58: PUSH4 0xee7a7c04 00001f5d: DUP7 00001f5e: DUP5 00001f5f: DUP2 00001f60: MLOAD 00001f61: DUP2 00001f62: LT 00001f63: PUSH3 0x001f69 00001f67: JUMPI 00001f68: INVALID 00001f69: JUMPDEST 00001f6a: PUSH1 0x20 00001f6c: MUL 00001f6d: PUSH1 0x20 00001f6f: ADD 00001f70: ADD 00001f71: MLOAD 00001f72: DUP4 00001f73: PUSH1 0x40 00001f75: MLOAD 00001f76: DUP4 00001f77: PUSH4 0xffffffff 00001f7c: AND 00001f7d: PUSH1 0xe0 00001f7f: SHL 00001f80: DUP2 00001f81: MSTORE 00001f82: PUSH1 0x04 00001f84: ADD 00001f85: PUSH3 0x001f91 00001f89: SWAP3 00001f8a: SWAP2 00001f8b: SWAP1 00001f8c: PUSH3 0x00345f 00001f90: JUMP 00001f91: JUMPDEST 00001f92: PUSH1 0x20 00001f94: PUSH1 0x40 00001f96: MLOAD 00001f97: DUP1 00001f98: DUP4 00001f99: SUB 00001f9a: DUP2 00001f9b: PUSH1 0x00 00001f9d: DUP8 00001f9e: DUP1 00001f9f: EXTCODESIZE 00001fa0: ISZERO 00001fa1: DUP1 00001fa2: ISZERO 00001fa3: PUSH3 0x001fac 00001fa7: JUMPI 00001fa8: PUSH1 0x00 00001faa: DUP1 00001fab: REVERT 00001fac: JUMPDEST 00001fad: POP 00001fae: GAS 00001faf: CALL 00001fb0: ISZERO 00001fb1: DUP1 00001fb2: ISZERO 00001fb3: PUSH3 0x001fc1 00001fb7: JUMPI 00001fb8: RETURNDATASIZE 00001fb9: PUSH1 0x00 00001fbb: DUP1 00001fbc: RETURNDATACOPY 00001fbd: RETURNDATASIZE 00001fbe: PUSH1 0x00 00001fc0: REVERT 00001fc1: JUMPDEST 00001fc2: POP 00001fc3: POP 00001fc4: POP 00001fc5: POP 00001fc6: PUSH1 0x40 00001fc8: MLOAD 00001fc9: RETURNDATASIZE 00001fca: PUSH1 0x1f 00001fcc: NOT 00001fcd: PUSH1 0x1f 00001fcf: DUP3 00001fd0: ADD 00001fd1: AND 00001fd2: DUP3 00001fd3: ADD 00001fd4: DUP1 00001fd5: PUSH1 0x40 00001fd7: MSTORE 00001fd8: POP 00001fd9: DUP2 00001fda: ADD 00001fdb: SWAP1 00001fdc: PUSH3 0x001fe7 00001fe0: SWAP2 00001fe1: SWAP1 00001fe2: PUSH3 0x002f35 00001fe6: JUMP 00001fe7: JUMPDEST 00001fe8: POP 00001fe9: JUMPDEST 00001fea: DUP5 00001feb: DUP3 00001fec: DUP2 00001fed: MLOAD 00001fee: DUP2 00001fef: LT 00001ff0: PUSH3 0x001ff6 00001ff4: JUMPI 00001ff5: INVALID 00001ff6: JUMPDEST 00001ff7: PUSH1 0x20 00001ff9: MUL 00001ffa: PUSH1 0x20 00001ffc: ADD 00001ffd: ADD 00001ffe: MLOAD 00001fff: PUSH1 0x01 00002001: PUSH1 0x01 00002003: PUSH1 0xa0 00002005: SHL 00002006: SUB 00002007: AND 00002008: PUSH32 0xdb17d6f3e7a8028d993046bb62e057669da73aa42e7a1e3e3699c0a24f2996d5 00002029: DUP6 0000202a: DUP5 0000202b: DUP2 0000202c: MLOAD 0000202d: DUP2 0000202e: LT 0000202f: PUSH3 0x002035 00002033: JUMPI 00002034: INVALID 00002035: JUMPDEST 00002036: PUSH1 0x20 00002038: MUL 00002039: PUSH1 0x20 0000203b: ADD 0000203c: ADD 0000203d: MLOAD 0000203e: DUP4 0000203f: PUSH1 0x40 00002041: MLOAD 00002042: PUSH3 0x00204e 00002046: SWAP3 00002047: SWAP2 00002048: SWAP1 00002049: PUSH3 0x003bb8 0000204d: JUMP 0000204e: JUMPDEST 0000204f: PUSH1 0x40 00002051: MLOAD 00002052: DUP1 00002053: SWAP2 00002054: SUB 00002055: SWAP1 00002056: LOG2 00002057: PUSH3 0x00210c 0000205b: JUMP 0000205c: JUMPDEST 0000205d: DUP3 0000205e: PUSH1 0x01 00002060: PUSH1 0x01 00002062: PUSH1 0xa0 00002064: SHL 00002065: SUB 00002066: AND 00002067: PUSH4 0xee7a7c04 0000206c: DUP7 0000206d: DUP5 0000206e: DUP2 0000206f: MLOAD 00002070: DUP2 00002071: LT 00002072: PUSH3 0x002078 00002076: JUMPI 00002077: INVALID 00002078: JUMPDEST 00002079: PUSH1 0x20 0000207b: MUL 0000207c: PUSH1 0x20 0000207e: ADD 0000207f: ADD 00002080: MLOAD 00002081: DUP7 00002082: DUP6 00002083: DUP2 00002084: MLOAD 00002085: DUP2 00002086: LT 00002087: PUSH3 0x00208d 0000208b: JUMPI 0000208c: INVALID 0000208d: JUMPDEST 0000208e: PUSH1 0x20 00002090: MUL 00002091: PUSH1 0x20 00002093: ADD 00002094: ADD 00002095: MLOAD 00002096: PUSH1 0x40 00002098: MLOAD 00002099: DUP4 0000209a: PUSH4 0xffffffff 0000209f: AND 000020a0: PUSH1 0xe0 000020a2: SHL 000020a3: DUP2 000020a4: MSTORE 000020a5: PUSH1 0x04 000020a7: ADD 000020a8: PUSH3 0x0020b4 000020ac: SWAP3 000020ad: SWAP2 000020ae: SWAP1 000020af: PUSH3 0x00345f 000020b3: JUMP 000020b4: JUMPDEST 000020b5: PUSH1 0x20 000020b7: PUSH1 0x40 000020b9: MLOAD 000020ba: DUP1 000020bb: DUP4 000020bc: SUB 000020bd: DUP2 000020be: PUSH1 0x00 000020c0: DUP8 000020c1: DUP1 000020c2: EXTCODESIZE 000020c3: ISZERO 000020c4: DUP1 000020c5: ISZERO 000020c6: PUSH3 0x0020cf 000020ca: JUMPI 000020cb: PUSH1 0x00 000020cd: DUP1 000020ce: REVERT 000020cf: JUMPDEST 000020d0: POP 000020d1: GAS 000020d2: CALL 000020d3: ISZERO 000020d4: DUP1 000020d5: ISZERO 000020d6: PUSH3 0x0020e4 000020da: JUMPI 000020db: RETURNDATASIZE 000020dc: PUSH1 0x00 000020de: DUP1 000020df: RETURNDATACOPY 000020e0: RETURNDATASIZE 000020e1: PUSH1 0x00 000020e3: REVERT 000020e4: JUMPDEST 000020e5: POP 000020e6: POP 000020e7: POP 000020e8: POP 000020e9: PUSH1 0x40 000020eb: MLOAD 000020ec: RETURNDATASIZE 000020ed: PUSH1 0x1f 000020ef: NOT 000020f0: PUSH1 0x1f 000020f2: DUP3 000020f3: ADD 000020f4: AND 000020f5: DUP3 000020f6: ADD 000020f7: DUP1 000020f8: PUSH1 0x40 000020fa: MSTORE 000020fb: POP 000020fc: DUP2 000020fd: ADD 000020fe: SWAP1 000020ff: PUSH3 0x00210a 00002103: SWAP2 00002104: SWAP1 00002105: PUSH3 0x002f35 00002109: JUMP 0000210a: JUMPDEST 0000210b: POP 0000210c: JUMPDEST 0000210d: POP 0000210e: PUSH1 0x01 00002110: ADD 00002111: PUSH3 0x001e85 00002115: JUMP 00002116: JUMPDEST 00002117: PUSH1 0x04 00002119: DUP2 0000211a: DUP2 0000211b: SLOAD 0000211c: DUP2 0000211d: LT 0000211e: PUSH3 0x000f55 00002122: JUMPI 00002123: INVALID 00002124: JUMPDEST 00002125: PUSH1 0x01 00002127: SLOAD 00002128: PUSH1 0x01 0000212a: PUSH1 0x01 0000212c: PUSH1 0xa0 0000212e: SHL 0000212f: SUB 00002130: AND 00002131: DUP2 00002132: JUMP 00002133: JUMPDEST 00002134: PUSH1 0x03 00002136: SLOAD 00002137: PUSH1 0x00 00002139: SWAP1 0000213a: PUSH1 0x01 0000213c: PUSH1 0x01 0000213e: PUSH1 0xa0 00002140: SHL 00002141: SUB 00002142: AND 00002143: CALLER 00002144: EQ 00002145: PUSH3 0x002163 00002149: JUMPI 0000214a: PUSH1 0x40 0000214c: MLOAD 0000214d: PUSH3 0x461bcd 00002151: PUSH1 0xe5 00002153: SHL 00002154: DUP2 00002155: MSTORE 00002156: PUSH1 0x04 00002158: ADD 00002159: PUSH3 0x00046c 0000215d: SWAP1 0000215e: PUSH3 0x0036fd 00002162: JUMP 00002163: JUMPDEST 00002164: PUSH1 0x02 00002166: PUSH1 0x00 00002168: SLOAD 00002169: EQ 0000216a: ISZERO 0000216b: PUSH3 0x002189 0000216f: JUMPI 00002170: PUSH1 0x40 00002172: MLOAD 00002173: PUSH3 0x461bcd 00002177: PUSH1 0xe5 00002179: SHL 0000217a: DUP2 0000217b: MSTORE 0000217c: PUSH1 0x04 0000217e: ADD 0000217f: PUSH3 0x00046c 00002183: SWAP1 00002184: PUSH3 0x003ab7 00002188: JUMP 00002189: JUMPDEST 0000218a: PUSH1 0x02 0000218c: PUSH1 0x00 0000218e: SWAP1 0000218f: DUP2 00002190: SSTORE 00002191: PUSH1 0x05 00002193: DUP1 00002194: SLOAD 00002195: PUSH1 0x01 00002197: DUP2 00002198: ADD 00002199: DUP3 0000219a: SSTORE 0000219b: SWAP1 0000219c: DUP3 0000219d: MSTORE 0000219e: PUSH32 0x036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0 000021bf: ADD 000021c0: DUP1 000021c1: SLOAD 000021c2: PUSH1 0x01 000021c4: PUSH1 0x01 000021c6: PUSH1 0xa0 000021c8: SHL 000021c9: SUB 000021ca: NOT 000021cb: AND 000021cc: PUSH1 0x01 000021ce: PUSH1 0x01 000021d0: PUSH1 0xa0 000021d2: SHL 000021d3: SUB 000021d4: DUP6 000021d5: AND 000021d6: SWAP1 000021d7: DUP2 000021d8: OR 000021d9: SWAP1 000021da: SWAP2 000021db: SSTORE 000021dc: PUSH1 0x40 000021de: MLOAD 000021df: SWAP1 000021e0: SWAP2 000021e1: PUSH32 0xb893f883ef734b712208a877459424ee509832c57e0461fb1ac99ed4d42f2d89 00002202: SWAP2 00002203: LOG2 00002204: PUSH1 0x01 00002206: PUSH1 0x00 00002208: SSTORE 00002209: SWAP2 0000220a: SWAP1 0000220b: POP 0000220c: JUMP 0000220d: JUMPDEST 0000220e: PUSH1 0x03 00002210: SLOAD 00002211: PUSH1 0x01 00002213: PUSH1 0x01 00002215: PUSH1 0xa0 00002217: SHL 00002218: SUB 00002219: AND 0000221a: DUP2 0000221b: JUMP 0000221c: JUMPDEST 0000221d: PUSH3 0x002226 00002221: PUSH3 0x0029b2 00002225: JUMP 00002226: JUMPDEST 00002227: PUSH3 0x002230 0000222b: PUSH3 0x002a01 0000222f: JUMP 00002230: JUMPDEST 00002231: PUSH3 0x00223a 00002235: PUSH3 0x0022cf 00002239: JUMP 0000223a: JUMPDEST 0000223b: PUSH1 0x20 0000223d: DUP2 0000223e: ADD 0000223f: MLOAD 00002240: PUSH1 0x40 00002242: MLOAD 00002243: PUSH4 0xa094717b 00002248: PUSH1 0xe0 0000224a: SHL 0000224b: DUP2 0000224c: MSTORE 0000224d: SWAP2 0000224e: SWAP3 0000224f: POP 00002250: PUSH1 0x01 00002252: PUSH1 0x01 00002254: PUSH1 0xa0 00002256: SHL 00002257: SUB 00002258: AND 00002259: SWAP1 0000225a: PUSH4 0xa094717b 0000225f: SWAP1 00002260: PUSH3 0x002271 00002264: SWAP1 00002265: ADDRESS 00002266: SWAP1 00002267: DUP6 00002268: SWAP1 00002269: PUSH1 0x04 0000226b: ADD 0000226c: PUSH3 0x003440 00002270: JUMP 00002271: JUMPDEST 00002272: PUSH1 0x00 00002274: PUSH1 0x40 00002276: MLOAD 00002277: DUP1 00002278: DUP4 00002279: SUB 0000227a: DUP2 0000227b: DUP7 0000227c: DUP1 0000227d: EXTCODESIZE 0000227e: ISZERO 0000227f: DUP1 00002280: ISZERO 00002281: PUSH3 0x00228a 00002285: JUMPI 00002286: PUSH1 0x00 00002288: DUP1 00002289: REVERT 0000228a: JUMPDEST 0000228b: POP 0000228c: GAS 0000228d: STATICCALL 0000228e: ISZERO 0000228f: DUP1 00002290: ISZERO 00002291: PUSH3 0x00229f 00002295: JUMPI 00002296: RETURNDATASIZE 00002297: PUSH1 0x00 00002299: DUP1 0000229a: RETURNDATACOPY 0000229b: RETURNDATASIZE 0000229c: PUSH1 0x00 0000229e: REVERT 0000229f: JUMPDEST 000022a0: POP 000022a1: POP 000022a2: POP 000022a3: POP 000022a4: PUSH1 0x40 000022a6: MLOAD 000022a7: RETURNDATASIZE 000022a8: PUSH1 0x00 000022aa: DUP3 000022ab: RETURNDATACOPY 000022ac: PUSH1 0x1f 000022ae: RETURNDATASIZE 000022af: SWAP1 000022b0: DUP2 000022b1: ADD 000022b2: PUSH1 0x1f 000022b4: NOT 000022b5: AND 000022b6: DUP3 000022b7: ADD 000022b8: PUSH1 0x40 000022ba: MSTORE 000022bb: PUSH3 0x0022c9 000022bf: SWAP2 000022c0: SWAP1 000022c1: DUP2 000022c2: ADD 000022c3: SWAP1 000022c4: PUSH3 0x002fdd 000022c8: JUMP 000022c9: JUMPDEST 000022ca: SWAP2 000022cb: POP 000022cc: POP 000022cd: SWAP1 000022ce: JUMP 000022cf: JUMPDEST 000022d0: PUSH3 0x0022d9 000022d4: PUSH3 0x002a01 000022d8: JUMP 000022d9: JUMPDEST 000022da: PUSH1 0x02 000022dc: SLOAD 000022dd: PUSH1 0x40 000022df: MLOAD 000022e0: PUSH4 0x332a4d09 000022e5: PUSH1 0xe0 000022e7: SHL 000022e8: DUP2 000022e9: MSTORE 000022ea: PUSH1 0x01 000022ec: PUSH1 0x01 000022ee: PUSH1 0xa0 000022f0: SHL 000022f1: SUB 000022f2: SWAP1 000022f3: SWAP2 000022f4: AND 000022f5: SWAP1 000022f6: PUSH4 0x332a4d09 000022fb: SWAP1 000022fc: PUSH3 0x00230b 00002300: SWAP1 00002301: ADDRESS 00002302: SWAP1 00002303: PUSH1 0x04 00002305: ADD 00002306: PUSH3 0x00342c 0000230a: JUMP 0000230b: JUMPDEST 0000230c: PUSH1 0xc0 0000230e: PUSH1 0x40 00002310: MLOAD 00002311: DUP1 00002312: DUP4 00002313: SUB 00002314: DUP2 00002315: DUP7 00002316: DUP1 00002317: EXTCODESIZE 00002318: ISZERO 00002319: DUP1 0000231a: ISZERO 0000231b: PUSH3 0x002324 0000231f: JUMPI 00002320: PUSH1 0x00 00002322: DUP1 00002323: REVERT 00002324: JUMPDEST 00002325: POP 00002326: GAS 00002327: STATICCALL 00002328: ISZERO 00002329: DUP1 0000232a: ISZERO 0000232b: PUSH3 0x002339 0000232f: JUMPI 00002330: RETURNDATASIZE 00002331: PUSH1 0x00 00002333: DUP1 00002334: RETURNDATACOPY 00002335: RETURNDATASIZE 00002336: PUSH1 0x00 00002338: REVERT 00002339: JUMPDEST 0000233a: POP 0000233b: POP 0000233c: POP 0000233d: POP 0000233e: PUSH1 0x40 00002340: MLOAD 00002341: RETURNDATASIZE 00002342: PUSH1 0x1f 00002344: NOT 00002345: PUSH1 0x1f 00002347: DUP3 00002348: ADD 00002349: AND 0000234a: DUP3 0000234b: ADD 0000234c: DUP1 0000234d: PUSH1 0x40 0000234f: MSTORE 00002350: POP 00002351: DUP2 00002352: ADD 00002353: SWAP1 00002354: PUSH3 0x001817 00002358: SWAP2 00002359: SWAP1 0000235a: PUSH3 0x0030c5 0000235e: JUMP 0000235f: JUMPDEST 00002360: PUSH3 0x002369 00002364: PUSH3 0x002a36 00002368: JUMP 00002369: JUMPDEST 0000236a: PUSH1 0x60 0000236c: DUP2 0000236d: ADD 0000236e: DUP7 0000236f: SWAP1 00002370: MSTORE 00002371: PUSH2 0x0140 00002374: DUP2 00002375: ADD 00002376: DUP3 00002377: SWAP1 00002378: MSTORE 00002379: PUSH1 0x80 0000237b: DUP2 0000237c: ADD 0000237d: DUP6 0000237e: SWAP1 0000237f: MSTORE 00002380: PUSH1 0xa0 00002382: DUP1 00002383: DUP3 00002384: ADD 00002385: DUP6 00002386: SWAP1 00002387: MSTORE 00002388: PUSH1 0x00 0000238a: PUSH1 0xc0 0000238c: DUP4 0000238d: ADD 0000238e: MSTORE 0000238f: PUSH8 0x0de0b6b3a7640000 00002398: PUSH1 0xe0 0000239a: DUP4 0000239b: ADD 0000239c: MSTORE 0000239d: PUSH2 0x0100 000023a0: DUP3 000023a1: ADD 000023a2: DUP5 000023a3: SWAP1 000023a4: MSTORE 000023a5: PUSH1 0x20 000023a7: DUP3 000023a8: ADD 000023a9: DUP10 000023aa: SWAP1 000023ab: MSTORE 000023ac: PUSH1 0x40 000023ae: DUP1 000023af: DUP4 000023b0: ADD 000023b1: DUP10 000023b2: SWAP1 000023b3: MSTORE 000023b4: SWAP1 000023b5: DUP4 000023b6: ADD 000023b7: MLOAD 000023b8: PUSH1 0x01 000023ba: PUSH1 0x01 000023bc: PUSH1 0xa0 000023be: SHL 000023bf: SUB 000023c0: AND 000023c1: DUP1 000023c2: DUP4 000023c3: MSTORE 000023c4: SWAP1 000023c5: MLOAD 000023c6: PUSH4 0x05732157 000023cb: PUSH1 0xe5 000023cd: SHL 000023ce: DUP2 000023cf: MSTORE 000023d0: PUSH4 0xae642ae0 000023d5: SWAP1 000023d6: PUSH3 0x0023eb 000023da: SWAP1 000023db: DUP13 000023dc: SWAP1 000023dd: DUP2 000023de: SWAP1 000023df: DUP8 000023e0: SWAP1 000023e1: DUP8 000023e2: SWAP1 000023e3: PUSH1 0x04 000023e5: ADD 000023e6: PUSH3 0x003492 000023ea: JUMP 000023eb: JUMPDEST 000023ec: PUSH1 0x00 000023ee: PUSH1 0x40 000023f0: MLOAD 000023f1: DUP1 000023f2: DUP4 000023f3: SUB 000023f4: DUP2 000023f5: PUSH1 0x00 000023f7: DUP8 000023f8: DUP1 000023f9: EXTCODESIZE 000023fa: ISZERO 000023fb: DUP1 000023fc: ISZERO 000023fd: PUSH3 0x002406 00002401: JUMPI 00002402: PUSH1 0x00 00002404: DUP1 00002405: REVERT 00002406: JUMPDEST 00002407: POP 00002408: GAS 00002409: CALL 0000240a: ISZERO 0000240b: DUP1 0000240c: ISZERO 0000240d: PUSH3 0x00241b 00002411: JUMPI 00002412: RETURNDATASIZE 00002413: PUSH1 0x00 00002415: DUP1 00002416: RETURNDATACOPY 00002417: RETURNDATASIZE 00002418: PUSH1 0x00 0000241a: REVERT 0000241b: JUMPDEST 0000241c: POP 0000241d: POP 0000241e: POP 0000241f: POP 00002420: PUSH1 0x40 00002422: MLOAD 00002423: RETURNDATASIZE 00002424: PUSH1 0x00 00002426: DUP3 00002427: RETURNDATACOPY 00002428: PUSH1 0x1f 0000242a: RETURNDATASIZE 0000242b: SWAP1 0000242c: DUP2 0000242d: ADD 0000242e: PUSH1 0x1f 00002430: NOT 00002431: AND 00002432: DUP3 00002433: ADD 00002434: PUSH1 0x40 00002436: MSTORE 00002437: PUSH3 0x002445 0000243b: SWAP2 0000243c: SWAP1 0000243d: DUP2 0000243e: ADD 0000243f: SWAP1 00002440: PUSH3 0x0030e3 00002444: JUMP 00002445: JUMPDEST 00002446: SWAP10 00002447: SWAP9 00002448: POP 00002449: POP 0000244a: POP 0000244b: POP 0000244c: POP 0000244d: POP 0000244e: POP 0000244f: POP 00002450: POP 00002451: JUMP 00002452: JUMPDEST 00002453: PUSH3 0x00245c 00002457: PUSH3 0x002a36 0000245b: JUMP 0000245c: JUMPDEST 0000245d: PUSH3 0x002466 00002461: PUSH3 0x002a01 00002465: JUMP 00002466: JUMPDEST 00002467: PUSH3 0x002470 0000246b: PUSH3 0x0022cf 0000246f: JUMP 00002470: JUMPDEST 00002471: SWAP1 00002472: POP 00002473: DUP1 00002474: PUSH1 0x80 00002476: ADD 00002477: MLOAD 00002478: PUSH1 0x01 0000247a: PUSH1 0x01 0000247c: PUSH1 0xa0 0000247e: SHL 0000247f: SUB 00002480: AND 00002481: PUSH4 0xa094717b 00002486: DUP3 00002487: PUSH1 0xa0 00002489: ADD 0000248a: MLOAD 0000248b: DUP4 0000248c: PUSH1 0x40 0000248e: MLOAD 0000248f: DUP4 00002490: PUSH4 0xffffffff 00002495: AND 00002496: PUSH1 0xe0 00002498: SHL 00002499: DUP2 0000249a: MSTORE 0000249b: PUSH1 0x04 0000249d: ADD 0000249e: PUSH3 0x0024aa 000024a2: SWAP3 000024a3: SWAP2 000024a4: SWAP1 000024a5: PUSH3 0x003440 000024a9: JUMP 000024aa: JUMPDEST 000024ab: PUSH1 0x00 000024ad: PUSH1 0x40 000024af: MLOAD 000024b0: DUP1 000024b1: DUP4 000024b2: SUB 000024b3: DUP2 000024b4: DUP7 000024b5: DUP1 000024b6: EXTCODESIZE 000024b7: ISZERO 000024b8: DUP1 000024b9: ISZERO 000024ba: PUSH3 0x0024c3 000024be: JUMPI 000024bf: PUSH1 0x00 000024c1: DUP1 000024c2: REVERT 000024c3: JUMPDEST 000024c4: POP 000024c5: GAS 000024c6: STATICCALL 000024c7: ISZERO 000024c8: DUP1 000024c9: ISZERO 000024ca: PUSH3 0x0024d8 000024ce: JUMPI 000024cf: RETURNDATASIZE 000024d0: PUSH1 0x00 000024d2: DUP1 000024d3: RETURNDATACOPY 000024d4: RETURNDATASIZE 000024d5: PUSH1 0x00 000024d7: REVERT 000024d8: JUMPDEST 000024d9: POP 000024da: POP 000024db: POP 000024dc: POP 000024dd: PUSH1 0x40 000024df: MLOAD 000024e0: RETURNDATASIZE 000024e1: PUSH1 0x00 000024e3: DUP3 000024e4: RETURNDATACOPY 000024e5: PUSH1 0x1f 000024e7: RETURNDATASIZE 000024e8: SWAP1 000024e9: DUP2 000024ea: ADD 000024eb: PUSH1 0x1f 000024ed: NOT 000024ee: AND 000024ef: DUP3 000024f0: ADD 000024f1: PUSH1 0x40 000024f3: MSTORE 000024f4: PUSH3 0x0022c9 000024f8: SWAP2 000024f9: SWAP1 000024fa: DUP2 000024fb: ADD 000024fc: SWAP1 000024fd: PUSH3 0x0030e3 00002501: JUMP 00002502: JUMPDEST 00002503: PUSH1 0x00 00002505: PUSH3 0x00253a 00002509: PUSH3 0x002533 0000250d: PUSH3 0x002520 00002511: DUP6 00002512: PUSH8 0x0de0b6b3a7640000 0000251b: PUSH3 0x002823 0000251f: JUMP 00002520: JUMPDEST 00002521: PUSH3 0x00252d 00002525: DUP6 00002526: PUSH1 0x02 00002528: PUSH3 0x002863 0000252c: JUMP 0000252d: JUMPDEST 0000252e: PUSH3 0x0027d8 00002532: JUMP 00002533: JUMPDEST 00002534: DUP4 00002535: PUSH3 0x002863 00002539: JUMP 0000253a: JUMPDEST 0000253b: SWAP1 0000253c: POP 0000253d: JUMPDEST 0000253e: SWAP3 0000253f: SWAP2 00002540: POP 00002541: POP 00002542: JUMP 00002543: JUMPDEST 00002544: PUSH1 0x00 00002546: PUSH3 0x00253a 0000254a: PUSH3 0x00256e 0000254e: PUSH3 0x002559 00002552: DUP6 00002553: DUP6 00002554: PUSH3 0x002823 00002558: JUMP 00002559: JUMPDEST 0000255a: PUSH3 0x00252d 0000255e: PUSH8 0x0de0b6b3a7640000 00002567: PUSH1 0x02 00002569: PUSH3 0x002863 0000256d: JUMP 0000256e: JUMPDEST 0000256f: PUSH8 0x0de0b6b3a7640000 00002578: PUSH3 0x002863 0000257c: JUMP 0000257d: JUMPDEST 0000257e: PUSH3 0x002587 00002582: PUSH3 0x002a01 00002586: JUMP 00002587: JUMPDEST 00002588: ADDRESS 00002589: DUP2 0000258a: MSTORE 0000258b: PUSH1 0x20 0000258d: DUP3 0000258e: ADD 0000258f: MLOAD 00002590: PUSH3 0x00259b 00002594: SWAP1 00002595: DUP5 00002596: PUSH3 0x002896 0000259a: JUMP 0000259b: JUMPDEST 0000259c: PUSH1 0x01 0000259e: PUSH1 0x01 000025a0: PUSH1 0xa0 000025a2: SHL 000025a3: SUB 000025a4: AND 000025a5: PUSH1 0x20 000025a7: DUP3 000025a8: ADD 000025a9: MSTORE 000025aa: PUSH1 0x40 000025ac: DUP3 000025ad: ADD 000025ae: MLOAD 000025af: PUSH3 0x0025ba 000025b3: SWAP1 000025b4: DUP5 000025b5: PUSH3 0x002896 000025b9: JUMP 000025ba: JUMPDEST 000025bb: PUSH1 0x01 000025bd: PUSH1 0x01 000025bf: PUSH1 0xa0 000025c1: SHL 000025c2: SUB 000025c3: AND 000025c4: PUSH1 0x40 000025c6: DUP3 000025c7: ADD 000025c8: MSTORE 000025c9: PUSH1 0xa0 000025cb: DUP3 000025cc: ADD 000025cd: MLOAD 000025ce: PUSH3 0x0025d9 000025d2: SWAP1 000025d3: DUP5 000025d4: PUSH3 0x002896 000025d8: JUMP 000025d9: JUMPDEST 000025da: PUSH1 0x01 000025dc: PUSH1 0x01 000025de: PUSH1 0xa0 000025e0: SHL 000025e1: SUB 000025e2: AND 000025e3: PUSH1 0xa0 000025e5: DUP3 000025e6: ADD 000025e7: MSTORE 000025e8: PUSH1 0x60 000025ea: DUP3 000025eb: ADD 000025ec: MLOAD 000025ed: PUSH3 0x0025f8 000025f1: SWAP1 000025f2: DUP5 000025f3: PUSH3 0x002896 000025f7: JUMP 000025f8: JUMPDEST 000025f9: PUSH1 0x01 000025fb: PUSH1 0x01 000025fd: PUSH1 0xa0 000025ff: SHL 00002600: SUB 00002601: AND 00002602: PUSH1 0x60 00002604: DUP3 00002605: ADD 00002606: MSTORE 00002607: PUSH1 0x80 00002609: DUP3 0000260a: ADD 0000260b: MLOAD 0000260c: PUSH3 0x002617 00002610: SWAP1 00002611: DUP5 00002612: PUSH3 0x002896 00002616: JUMP 00002617: JUMPDEST 00002618: PUSH1 0x01 0000261a: PUSH1 0x01 0000261c: PUSH1 0xa0 0000261e: SHL 0000261f: SUB 00002620: SWAP1 00002621: DUP2 00002622: AND 00002623: PUSH1 0x80 00002625: DUP4 00002626: ADD 00002627: MSTORE 00002628: PUSH1 0x40 0000262a: DUP1 0000262b: DUP4 0000262c: ADD 0000262d: MLOAD 0000262e: SWAP1 0000262f: MLOAD 00002630: PUSH4 0x2d113407 00002635: PUSH1 0xe2 00002637: SHL 00002638: DUP2 00002639: MSTORE 0000263a: SWAP2 0000263b: AND 0000263c: SWAP1 0000263d: PUSH4 0xb444d01c 00002642: SWAP1 00002643: PUSH3 0x002652 00002647: SWAP1 00002648: DUP5 00002649: SWAP1 0000264a: PUSH1 0x04 0000264c: ADD 0000264d: PUSH3 0x003b8a 00002651: JUMP 00002652: JUMPDEST 00002653: PUSH1 0x00 00002655: PUSH1 0x40 00002657: MLOAD 00002658: DUP1 00002659: DUP4 0000265a: SUB 0000265b: DUP2 0000265c: PUSH1 0x00 0000265e: DUP8 0000265f: DUP1 00002660: EXTCODESIZE 00002661: ISZERO 00002662: DUP1 00002663: ISZERO 00002664: PUSH3 0x00266d 00002668: JUMPI 00002669: PUSH1 0x00 0000266b: DUP1 0000266c: REVERT 0000266d: JUMPDEST 0000266e: POP 0000266f: GAS 00002670: CALL 00002671: ISZERO 00002672: DUP1 00002673: ISZERO 00002674: PUSH3 0x002682 00002678: JUMPI 00002679: RETURNDATASIZE 0000267a: PUSH1 0x00 0000267c: DUP1 0000267d: RETURNDATACOPY 0000267e: RETURNDATASIZE 0000267f: PUSH1 0x00 00002681: REVERT 00002682: JUMPDEST 00002683: POP 00002684: POP 00002685: POP 00002686: POP 00002687: SWAP3 00002688: SWAP2 00002689: POP 0000268a: POP 0000268b: JUMP 0000268c: JUMPDEST 0000268d: PUSH1 0x20 0000268f: DUP2 00002690: ADD 00002691: MLOAD 00002692: PUSH1 0x00 00002694: SWAP1 00002695: PUSH3 0x00269e 00002699: PUSH3 0x0029b2 0000269d: JUMP 0000269e: JUMPDEST 0000269f: ADDRESS 000026a0: DUP2 000026a1: MSTORE 000026a2: PUSH1 0xc0 000026a4: DUP2 000026a5: ADD 000026a6: DUP5 000026a7: SWAP1 000026a8: MSTORE 000026a9: PUSH1 0x80 000026ab: DUP2 000026ac: ADD 000026ad: DUP6 000026ae: SWAP1 000026af: MSTORE 000026b0: PUSH1 0x60 000026b2: DUP2 000026b3: ADD 000026b4: DUP7 000026b5: SWAP1 000026b6: MSTORE 000026b7: PUSH1 0x00 000026b9: PUSH1 0x40 000026bb: DUP1 000026bc: DUP4 000026bd: ADD 000026be: SWAP2 000026bf: SWAP1 000026c0: SWAP2 000026c1: MSTORE 000026c2: PUSH1 0x20 000026c4: DUP3 000026c5: ADD 000026c6: DUP9 000026c7: SWAP1 000026c8: MSTORE 000026c9: MLOAD 000026ca: PUSH4 0x8ddf5ad7 000026cf: PUSH1 0xe0 000026d1: SHL 000026d2: DUP2 000026d3: MSTORE 000026d4: PUSH1 0x01 000026d6: PUSH1 0x01 000026d8: PUSH1 0xa0 000026da: SHL 000026db: SUB 000026dc: DUP4 000026dd: AND 000026de: SWAP1 000026df: PUSH4 0x8ddf5ad7 000026e4: SWAP1 000026e5: PUSH3 0x0026f4 000026e9: SWAP1 000026ea: DUP5 000026eb: SWAP1 000026ec: PUSH1 0x04 000026ee: ADD 000026ef: PUSH3 0x003b25 000026f3: JUMP 000026f4: JUMPDEST 000026f5: PUSH1 0x00 000026f7: PUSH1 0x40 000026f9: MLOAD 000026fa: DUP1 000026fb: DUP4 000026fc: SUB 000026fd: DUP2 000026fe: PUSH1 0x00 00002700: DUP8 00002701: DUP1 00002702: EXTCODESIZE 00002703: ISZERO 00002704: DUP1 00002705: ISZERO 00002706: PUSH3 0x00270f 0000270a: JUMPI 0000270b: PUSH1 0x00 0000270d: DUP1 0000270e: REVERT 0000270f: JUMPDEST 00002710: POP 00002711: GAS 00002712: CALL 00002713: ISZERO 00002714: DUP1 00002715: ISZERO 00002716: PUSH3 0x002724 0000271a: JUMPI 0000271b: RETURNDATASIZE 0000271c: PUSH1 0x00 0000271e: DUP1 0000271f: RETURNDATACOPY 00002720: RETURNDATASIZE 00002721: PUSH1 0x00 00002723: REVERT 00002724: JUMPDEST 00002725: POP 00002726: PUSH1 0x01 00002728: SWAP11 00002729: SWAP10 0000272a: POP 0000272b: POP 0000272c: POP 0000272d: POP 0000272e: POP 0000272f: POP 00002730: POP 00002731: POP 00002732: POP 00002733: POP 00002734: JUMP 00002735: JUMPDEST 00002736: PUSH1 0x00 00002738: DUP3 00002739: DUP3 0000273a: GT 0000273b: ISZERO 0000273c: PUSH3 0x00275a 00002740: JUMPI 00002741: PUSH1 0x40 00002743: MLOAD 00002744: PUSH3 0x461bcd 00002748: PUSH1 0xe5 0000274a: SHL 0000274b: DUP2 0000274c: MSTORE 0000274d: PUSH1 0x04 0000274f: ADD 00002750: PUSH3 0x00046c 00002754: SWAP1 00002755: PUSH3 0x0037ea 00002759: JUMP 0000275a: JUMPDEST 0000275b: POP 0000275c: SWAP1 0000275d: SUB 0000275e: SWAP1 0000275f: JUMP 00002760: JUMPDEST 00002761: PUSH1 0x00 00002763: PUSH3 0x00253a 00002767: DUP4 00002768: DUP4 00002769: PUSH3 0x002502 0000276d: JUMP 0000276e: JUMPDEST 0000276f: PUSH1 0x00 00002771: DUP1 00002772: PUSH3 0x00277d 00002776: DUP9 00002777: DUP6 00002778: PUSH3 0x0027d8 0000277c: JUMP 0000277d: JUMPDEST 0000277e: SWAP1 0000277f: POP 00002780: PUSH3 0x0027cc 00002784: PUSH3 0x00278f 00002788: DUP9 00002789: DUP9 0000278a: PUSH3 0x002543 0000278e: JUMP 0000278f: JUMPDEST 00002790: PUSH3 0x0027b4 00002794: PUSH3 0x0027ba 00002798: DUP5 00002799: PUSH3 0x0027b4 0000279d: PUSH3 0x0027a9 000027a1: DUP8 000027a2: DUP12 000027a3: DUP12 000027a4: PUSH3 0x002800 000027a8: JUMP 000027a9: JUMPDEST 000027aa: PUSH3 0x0027b4 000027ae: DUP13 000027af: PUSH3 0x002994 000027b3: JUMP 000027b4: JUMPDEST 000027b5: PUSH3 0x002543 000027b9: JUMP 000027ba: JUMPDEST 000027bb: PUSH3 0x0027c6 000027bf: DUP9 000027c0: DUP9 000027c1: PUSH3 0x002543 000027c5: JUMP 000027c6: JUMPDEST 000027c7: PUSH3 0x002735 000027cb: JUMP 000027cc: JUMPDEST 000027cd: SWAP9 000027ce: SWAP8 000027cf: POP 000027d0: POP 000027d1: POP 000027d2: POP 000027d3: POP 000027d4: POP 000027d5: POP 000027d6: POP 000027d7: JUMP 000027d8: JUMPDEST 000027d9: PUSH1 0x00 000027db: DUP3 000027dc: DUP3 000027dd: ADD 000027de: DUP4 000027df: DUP2 000027e0: LT 000027e1: ISZERO 000027e2: PUSH3 0x00253a 000027e6: JUMPI 000027e7: PUSH1 0x40 000027e9: MLOAD 000027ea: PUSH3 0x461bcd 000027ee: PUSH1 0xe5 000027f0: SHL 000027f1: DUP2 000027f2: MSTORE 000027f3: PUSH1 0x04 000027f5: ADD 000027f6: PUSH3 0x00046c 000027fa: SWAP1 000027fb: PUSH3 0x00363d 000027ff: JUMP 00002800: JUMPDEST 00002801: PUSH1 0x00 00002803: PUSH3 0x002819 00002807: PUSH3 0x002812 0000280b: DUP6 0000280c: DUP6 0000280d: PUSH3 0x002502 00002811: JUMP 00002812: JUMPDEST 00002813: DUP4 00002814: PUSH3 0x002543 00002818: JUMP 00002819: JUMPDEST 0000281a: SWAP1 0000281b: POP 0000281c: JUMPDEST 0000281d: SWAP4 0000281e: SWAP3 0000281f: POP 00002820: POP 00002821: POP 00002822: JUMP 00002823: JUMPDEST 00002824: PUSH1 0x00 00002826: DUP3 00002827: PUSH3 0x002834 0000282b: JUMPI 0000282c: POP 0000282d: PUSH1 0x00 0000282f: PUSH3 0x00253d 00002833: JUMP 00002834: JUMPDEST 00002835: DUP3 00002836: DUP3 00002837: MUL 00002838: DUP3 00002839: DUP5 0000283a: DUP3 0000283b: DUP2 0000283c: PUSH3 0x002842 00002840: JUMPI 00002841: INVALID 00002842: JUMPDEST 00002843: DIV 00002844: EQ 00002845: PUSH3 0x00253a 00002849: JUMPI 0000284a: PUSH1 0x40 0000284c: MLOAD 0000284d: PUSH3 0x461bcd 00002851: PUSH1 0xe5 00002853: SHL 00002854: DUP2 00002855: MSTORE 00002856: PUSH1 0x04 00002858: ADD 00002859: PUSH3 0x00046c 0000285d: SWAP1 0000285e: PUSH3 0x003984 00002862: JUMP 00002863: JUMPDEST 00002864: PUSH1 0x00 00002866: DUP1 00002867: DUP3 00002868: DUP5 00002869: DUP2 0000286a: PUSH3 0x002870 0000286e: JUMPI 0000286f: INVALID 00002870: JUMPDEST 00002871: DIV 00002872: SWAP1 00002873: POP 00002874: PUSH1 0x00 00002876: DUP2 00002877: GT 00002878: PUSH3 0x00253a 0000287c: JUMPI 0000287d: PUSH1 0x40 0000287f: MLOAD 00002880: PUSH3 0x461bcd 00002884: PUSH1 0xe5 00002886: SHL 00002887: DUP2 00002888: MSTORE 00002889: PUSH1 0x04 0000288b: ADD 0000288c: PUSH3 0x00046c 00002890: SWAP1 00002891: PUSH3 0x003858 00002895: JUMP 00002896: JUMPDEST 00002897: PUSH1 0x00 00002899: DUP1 0000289a: PUSH1 0x40 0000289c: MLOAD 0000289d: PUSH3 0x0028a7 000028a1: SWAP1 000028a2: PUSH3 0x002b05 000028a6: JUMP 000028a7: JUMPDEST 000028a8: PUSH1 0x40 000028aa: MLOAD 000028ab: DUP1 000028ac: SWAP2 000028ad: SUB 000028ae: SWAP1 000028af: PUSH1 0x00 000028b1: CREATE 000028b2: DUP1 000028b3: ISZERO 000028b4: DUP1 000028b5: ISZERO 000028b6: PUSH3 0x0028c4 000028ba: JUMPI 000028bb: RETURNDATASIZE 000028bc: PUSH1 0x00 000028be: DUP1 000028bf: RETURNDATACOPY 000028c0: RETURNDATASIZE 000028c1: PUSH1 0x00 000028c3: REVERT 000028c4: JUMPDEST 000028c5: POP 000028c6: PUSH1 0x40 000028c8: MLOAD 000028c9: PUSH4 0x6bc26a13 000028ce: PUSH1 0xe1 000028d0: SHL 000028d1: DUP2 000028d2: MSTORE 000028d3: SWAP1 000028d4: SWAP2 000028d5: POP 000028d6: PUSH1 0x01 000028d8: PUSH1 0x01 000028da: PUSH1 0xa0 000028dc: SHL 000028dd: SUB 000028de: DUP3 000028df: AND 000028e0: SWAP1 000028e1: PUSH4 0xd784d426 000028e6: SWAP1 000028e7: PUSH3 0x0028f6 000028eb: SWAP1 000028ec: DUP8 000028ed: SWAP1 000028ee: PUSH1 0x04 000028f0: ADD 000028f1: PUSH3 0x00342c 000028f5: JUMP 000028f6: JUMPDEST 000028f7: PUSH1 0x00 000028f9: PUSH1 0x40 000028fb: MLOAD 000028fc: DUP1 000028fd: DUP4 000028fe: SUB 000028ff: DUP2 00002900: PUSH1 0x00 00002902: DUP8 00002903: DUP1 00002904: EXTCODESIZE 00002905: ISZERO 00002906: DUP1 00002907: ISZERO 00002908: PUSH3 0x002911 0000290c: JUMPI 0000290d: PUSH1 0x00 0000290f: DUP1 00002910: REVERT 00002911: JUMPDEST 00002912: POP 00002913: GAS 00002914: CALL 00002915: ISZERO 00002916: DUP1 00002917: ISZERO 00002918: PUSH3 0x002926 0000291c: JUMPI 0000291d: RETURNDATASIZE 0000291e: PUSH1 0x00 00002920: DUP1 00002921: RETURNDATACOPY 00002922: RETURNDATASIZE 00002923: PUSH1 0x00 00002925: REVERT 00002926: JUMPDEST 00002927: POP 00002928: POP 00002929: PUSH1 0x40 0000292b: MLOAD 0000292c: PUSH4 0x32abba47 00002931: PUSH1 0xe2 00002933: SHL 00002934: DUP2 00002935: MSTORE 00002936: PUSH1 0x01 00002938: PUSH1 0x01 0000293a: PUSH1 0xa0 0000293c: SHL 0000293d: SUB 0000293e: DUP5 0000293f: AND 00002940: SWAP3 00002941: POP 00002942: PUSH4 0xcaaee91c 00002947: SWAP2 00002948: POP 00002949: PUSH3 0x002958 0000294d: SWAP1 0000294e: DUP7 0000294f: SWAP1 00002950: PUSH1 0x04 00002952: ADD 00002953: PUSH3 0x00342c 00002957: JUMP 00002958: JUMPDEST 00002959: PUSH1 0x00 0000295b: PUSH1 0x40 0000295d: MLOAD 0000295e: DUP1 0000295f: DUP4 00002960: SUB 00002961: DUP2 00002962: PUSH1 0x00 00002964: DUP8 00002965: DUP1 00002966: EXTCODESIZE 00002967: ISZERO 00002968: DUP1 00002969: ISZERO 0000296a: PUSH3 0x002973 0000296e: JUMPI 0000296f: PUSH1 0x00 00002971: DUP1 00002972: REVERT 00002973: JUMPDEST 00002974: POP 00002975: GAS 00002976: CALL 00002977: ISZERO 00002978: DUP1 00002979: ISZERO 0000297a: PUSH3 0x002988 0000297e: JUMPI 0000297f: RETURNDATASIZE 00002980: PUSH1 0x00 00002982: DUP1 00002983: RETURNDATACOPY 00002984: RETURNDATASIZE 00002985: PUSH1 0x00 00002987: REVERT 00002988: JUMPDEST 00002989: POP 0000298a: SWAP3 0000298b: SWAP7 0000298c: SWAP6 0000298d: POP 0000298e: POP 0000298f: POP 00002990: POP 00002991: POP 00002992: POP 00002993: JUMP 00002994: JUMPDEST 00002995: PUSH1 0x00 00002997: PUSH3 0x0029aa 0000299b: DUP3 0000299c: PUSH8 0x0de0b6b3a7640000 000029a5: PUSH3 0x0027d8 000029a9: JUMP 000029aa: JUMPDEST 000029ab: SWAP1 000029ac: POP 000029ad: JUMPDEST 000029ae: SWAP2 000029af: SWAP1 000029b0: POP 000029b1: JUMP 000029b2: JUMPDEST 000029b3: PUSH1 0x40 000029b5: MLOAD 000029b6: DUP1 000029b7: PUSH1 0xe0 000029b9: ADD 000029ba: PUSH1 0x40 000029bc: MSTORE 000029bd: DUP1 000029be: PUSH1 0x00 000029c0: PUSH1 0x01 000029c2: PUSH1 0x01 000029c4: PUSH1 0xa0 000029c6: SHL 000029c7: SUB 000029c8: AND 000029c9: DUP2 000029ca: MSTORE 000029cb: PUSH1 0x20 000029cd: ADD 000029ce: PUSH1 0x60 000029d0: DUP2 000029d1: MSTORE 000029d2: PUSH1 0x20 000029d4: ADD 000029d5: PUSH1 0x00 000029d7: ISZERO 000029d8: ISZERO 000029d9: DUP2 000029da: MSTORE 000029db: PUSH1 0x20 000029dd: ADD 000029de: PUSH1 0x60 000029e0: DUP2 000029e1: MSTORE 000029e2: PUSH1 0x20 000029e4: ADD 000029e5: PUSH1 0x00 000029e7: DUP2 000029e8: MSTORE 000029e9: PUSH1 0x20 000029eb: ADD 000029ec: PUSH1 0x00 000029ee: DUP2 000029ef: MSTORE 000029f0: PUSH1 0x20 000029f2: ADD 000029f3: PUSH3 0x0029fc 000029f7: PUSH3 0x002a01 000029fb: JUMP 000029fc: JUMPDEST 000029fd: SWAP1 000029fe: MSTORE 000029ff: SWAP1 00002a00: JUMP 00002a01: JUMPDEST 00002a02: PUSH1 0x40 00002a04: DUP1 00002a05: MLOAD 00002a06: PUSH1 0xc0 00002a08: DUP2 00002a09: ADD 00002a0a: DUP3 00002a0b: MSTORE 00002a0c: PUSH1 0x00 00002a0e: DUP1 00002a0f: DUP3 00002a10: MSTORE 00002a11: PUSH1 0x20 00002a13: DUP3 00002a14: ADD 00002a15: DUP2 00002a16: SWAP1 00002a17: MSTORE 00002a18: SWAP2 00002a19: DUP2 00002a1a: ADD 00002a1b: DUP3 00002a1c: SWAP1 00002a1d: MSTORE 00002a1e: PUSH1 0x60 00002a20: DUP2 00002a21: ADD 00002a22: DUP3 00002a23: SWAP1 00002a24: MSTORE 00002a25: PUSH1 0x80 00002a27: DUP2 00002a28: ADD 00002a29: DUP3 00002a2a: SWAP1 00002a2b: MSTORE 00002a2c: PUSH1 0xa0 00002a2e: DUP2 00002a2f: ADD 00002a30: SWAP2 00002a31: SWAP1 00002a32: SWAP2 00002a33: MSTORE 00002a34: SWAP1 00002a35: JUMP 00002a36: JUMPDEST 00002a37: PUSH1 0x40 00002a39: MLOAD 00002a3a: DUP1 00002a3b: PUSH2 0x0160 00002a3e: ADD 00002a3f: PUSH1 0x40 00002a41: MSTORE 00002a42: DUP1 00002a43: PUSH1 0x00 00002a45: PUSH1 0x01 00002a47: PUSH1 0x01 00002a49: PUSH1 0xa0 00002a4b: SHL 00002a4c: SUB 00002a4d: AND 00002a4e: DUP2 00002a4f: MSTORE 00002a50: PUSH1 0x20 00002a52: ADD 00002a53: PUSH1 0x60 00002a55: DUP2 00002a56: MSTORE 00002a57: PUSH1 0x20 00002a59: ADD 00002a5a: PUSH1 0x60 00002a5c: DUP2 00002a5d: MSTORE 00002a5e: PUSH1 0x20 00002a60: ADD 00002a61: PUSH1 0x00 00002a63: DUP2 00002a64: MSTORE 00002a65: PUSH1 0x20 00002a67: ADD 00002a68: PUSH1 0x00 00002a6a: DUP2 00002a6b: MSTORE 00002a6c: PUSH1 0x20 00002a6e: ADD 00002a6f: PUSH1 0x00 00002a71: DUP2 00002a72: MSTORE 00002a73: PUSH1 0x20 00002a75: ADD 00002a76: PUSH1 0x00 00002a78: DUP2 00002a79: MSTORE 00002a7a: PUSH1 0x20 00002a7c: ADD 00002a7d: PUSH1 0x00 00002a7f: DUP2 00002a80: MSTORE 00002a81: PUSH1 0x20 00002a83: ADD 00002a84: PUSH1 0x00 00002a86: DUP2 00002a87: MSTORE 00002a88: PUSH1 0x20 00002a8a: ADD 00002a8b: PUSH1 0x00 00002a8d: DUP2 00002a8e: MSTORE 00002a8f: PUSH1 0x20 00002a91: ADD 00002a92: PUSH3 0x0029fc 00002a96: PUSH3 0x002a01 00002a9a: JUMP 00002a9b: JUMPDEST 00002a9c: DUP3 00002a9d: DUP1 00002a9e: SLOAD 00002a9f: DUP3 00002aa0: DUP3 00002aa1: SSTORE 00002aa2: SWAP1 00002aa3: PUSH1 0x00 00002aa5: MSTORE 00002aa6: PUSH1 0x20 00002aa8: PUSH1 0x00 00002aaa: KECCAK256 00002aab: SWAP1 00002aac: DUP2 00002aad: ADD 00002aae: SWAP3 00002aaf: DUP3 00002ab0: ISZERO 00002ab1: PUSH3 0x002af3 00002ab5: JUMPI 00002ab6: SWAP2 00002ab7: PUSH1 0x20 00002ab9: MUL 00002aba: DUP3 00002abb: ADD 00002abc: JUMPDEST 00002abd: DUP3 00002abe: DUP2 00002abf: GT 00002ac0: ISZERO 00002ac1: PUSH3 0x002af3 00002ac5: JUMPI 00002ac6: DUP3 00002ac7: MLOAD 00002ac8: DUP3 00002ac9: SLOAD 00002aca: PUSH1 0x01 00002acc: PUSH1 0x01 00002ace: PUSH1 0xa0 00002ad0: SHL 00002ad1: SUB 00002ad2: NOT 00002ad3: AND 00002ad4: PUSH1 0x01 00002ad6: PUSH1 0x01 00002ad8: PUSH1 0xa0 00002ada: SHL 00002adb: SUB 00002adc: SWAP1 00002add: SWAP2 00002ade: AND 00002adf: OR 00002ae0: DUP3 00002ae1: SSTORE 00002ae2: PUSH1 0x20 00002ae4: SWAP1 00002ae5: SWAP3 00002ae6: ADD 00002ae7: SWAP2 00002ae8: PUSH1 0x01 00002aea: SWAP1 00002aeb: SWAP2 00002aec: ADD 00002aed: SWAP1 00002aee: PUSH3 0x002abc 00002af2: JUMP 00002af3: JUMPDEST 00002af4: POP 00002af5: PUSH3 0x002b01 00002af9: SWAP3 00002afa: SWAP2 00002afb: POP 00002afc: PUSH3 0x002b13 00002b00: JUMP 00002b01: JUMPDEST 00002b02: POP 00002b03: SWAP1 00002b04: JUMP 00002b05: JUMPDEST 00002b06: PUSH2 0x0616 00002b09: DUP1 00002b0a: PUSH3 0x003c7a 00002b0e: DUP4 00002b0f: CODECOPY 00002b10: ADD 00002b11: SWAP1 00002b12: JUMP 00002b13: JUMPDEST 00002b14: JUMPDEST 00002b15: DUP1 00002b16: DUP3 00002b17: GT 00002b18: ISZERO 00002b19: PUSH3 0x002b01 00002b1d: JUMPI 00002b1e: DUP1 00002b1f: SLOAD 00002b20: PUSH1 0x01 00002b22: PUSH1 0x01 00002b24: PUSH1 0xa0 00002b26: SHL 00002b27: SUB 00002b28: NOT 00002b29: AND 00002b2a: DUP2 00002b2b: SSTORE 00002b2c: PUSH1 0x01 00002b2e: ADD 00002b2f: PUSH3 0x002b14 00002b33: JUMP 00002b34: JUMPDEST 00002b35: DUP1 00002b36: MLOAD 00002b37: PUSH3 0x0029ad 00002b3b: DUP2 00002b3c: PUSH3 0x003c60 00002b40: JUMP 00002b41: JUMPDEST 00002b42: PUSH1 0x00 00002b44: DUP3 00002b45: PUSH1 0x1f 00002b47: DUP4 00002b48: ADD 00002b49: SLT 00002b4a: PUSH3 0x002b52 00002b4e: JUMPI 00002b4f: DUP1 00002b50: DUP2 00002b51: REVERT 00002b52: JUMPDEST 00002b53: DUP2 00002b54: CALLDATALOAD 00002b55: PUSH3 0x002b69 00002b59: PUSH3 0x002b63 00002b5d: DUP3 00002b5e: PUSH3 0x003beb 00002b62: JUMP 00002b63: JUMPDEST 00002b64: PUSH3 0x003bc6 00002b68: JUMP 00002b69: JUMPDEST 00002b6a: DUP2 00002b6b: DUP2 00002b6c: MSTORE 00002b6d: SWAP2 00002b6e: POP 00002b6f: PUSH1 0x20 00002b71: DUP1 00002b72: DUP4 00002b73: ADD 00002b74: SWAP1 00002b75: DUP5 00002b76: DUP2 00002b77: ADD 00002b78: DUP2 00002b79: DUP5 00002b7a: MUL 00002b7b: DUP7 00002b7c: ADD 00002b7d: DUP3 00002b7e: ADD 00002b7f: DUP8 00002b80: LT 00002b81: ISZERO 00002b82: PUSH3 0x002b8b 00002b86: JUMPI 00002b87: PUSH1 0x00 00002b89: DUP1 00002b8a: REVERT 00002b8b: JUMPDEST 00002b8c: PUSH1 0x00 00002b8e: JUMPDEST 00002b8f: DUP5 00002b90: DUP2 00002b91: LT 00002b92: ISZERO 00002b93: PUSH3 0x002bb7 00002b97: JUMPI 00002b98: DUP2 00002b99: CALLDATALOAD 00002b9a: PUSH3 0x002ba4 00002b9e: DUP2 00002b9f: PUSH3 0x003c60 00002ba3: JUMP 00002ba4: JUMPDEST 00002ba5: DUP5 00002ba6: MSTORE 00002ba7: SWAP3 00002ba8: DUP3 00002ba9: ADD 00002baa: SWAP3 00002bab: SWAP1 00002bac: DUP3 00002bad: ADD 00002bae: SWAP1 00002baf: PUSH1 0x01 00002bb1: ADD 00002bb2: PUSH3 0x002b8e 00002bb6: JUMP 00002bb7: JUMPDEST 00002bb8: POP 00002bb9: POP 00002bba: POP 00002bbb: POP 00002bbc: POP 00002bbd: SWAP3 00002bbe: SWAP2 00002bbf: POP 00002bc0: POP 00002bc1: JUMP 00002bc2: JUMPDEST 00002bc3: PUSH1 0x00 00002bc5: DUP3 00002bc6: PUSH1 0x1f 00002bc8: DUP4 00002bc9: ADD 00002bca: SLT 00002bcb: PUSH3 0x002bd3 00002bcf: JUMPI 00002bd0: DUP1 00002bd1: DUP2 00002bd2: REVERT 00002bd3: JUMPDEST 00002bd4: DUP2 00002bd5: MLOAD 00002bd6: PUSH3 0x002be4 00002bda: PUSH3 0x002b63 00002bde: DUP3 00002bdf: PUSH3 0x003beb 00002be3: JUMP 00002be4: JUMPDEST 00002be5: DUP2 00002be6: DUP2 00002be7: MSTORE 00002be8: SWAP2 00002be9: POP 00002bea: PUSH1 0x20 00002bec: DUP1 00002bed: DUP4 00002bee: ADD 00002bef: SWAP1 00002bf0: DUP5 00002bf1: DUP2 00002bf2: ADD 00002bf3: DUP2 00002bf4: DUP5 00002bf5: MUL 00002bf6: DUP7 00002bf7: ADD 00002bf8: DUP3 00002bf9: ADD 00002bfa: DUP8 00002bfb: LT 00002bfc: ISZERO 00002bfd: PUSH3 0x002c06 00002c01: JUMPI 00002c02: PUSH1 0x00 00002c04: DUP1 00002c05: REVERT 00002c06: JUMPDEST 00002c07: PUSH1 0x00 00002c09: JUMPDEST 00002c0a: DUP5 00002c0b: DUP2 00002c0c: LT 00002c0d: ISZERO 00002c0e: PUSH3 0x002bb7 00002c12: JUMPI 00002c13: DUP2 00002c14: MLOAD 00002c15: PUSH3 0x002c1f 00002c19: DUP2 00002c1a: PUSH3 0x003c60 00002c1e: JUMP 00002c1f: JUMPDEST 00002c20: DUP5 00002c21: MSTORE 00002c22: SWAP3 00002c23: DUP3 00002c24: ADD 00002c25: SWAP3 00002c26: SWAP1 00002c27: DUP3 00002c28: ADD 00002c29: SWAP1 00002c2a: PUSH1 0x01 00002c2c: ADD 00002c2d: PUSH3 0x002c09 00002c31: JUMP 00002c32: JUMPDEST 00002c33: DUP1 00002c34: MLOAD 00002c35: DUP1 00002c36: ISZERO 00002c37: ISZERO 00002c38: DUP2 00002c39: EQ 00002c3a: PUSH3 0x0029ad 00002c3e: JUMPI 00002c3f: PUSH1 0x00 00002c41: DUP1 00002c42: REVERT 00002c43: JUMPDEST 00002c44: PUSH1 0x00 00002c46: DUP3 00002c47: PUSH1 0x1f 00002c49: DUP4 00002c4a: ADD 00002c4b: SLT 00002c4c: PUSH3 0x002c54 00002c50: JUMPI 00002c51: DUP1 00002c52: DUP2 00002c53: REVERT 00002c54: JUMPDEST 00002c55: DUP2 00002c56: CALLDATALOAD 00002c57: PUSH3 0x002c65 00002c5b: PUSH3 0x002b63 00002c5f: DUP3 00002c60: PUSH3 0x003c0a 00002c64: JUMP 00002c65: JUMPDEST 00002c66: SWAP2 00002c67: POP 00002c68: DUP1 00002c69: DUP3 00002c6a: MSTORE 00002c6b: DUP4 00002c6c: PUSH1 0x20 00002c6e: DUP3 00002c6f: DUP6 00002c70: ADD 00002c71: ADD 00002c72: GT 00002c73: ISZERO 00002c74: PUSH3 0x002c7d 00002c78: JUMPI 00002c79: PUSH1 0x00 00002c7b: DUP1 00002c7c: REVERT 00002c7d: JUMPDEST 00002c7e: DUP1 00002c7f: PUSH1 0x20 00002c81: DUP5 00002c82: ADD 00002c83: PUSH1 0x20 00002c85: DUP5 00002c86: ADD 00002c87: CALLDATACOPY 00002c88: PUSH1 0x00 00002c8a: SWAP1 00002c8b: DUP3 00002c8c: ADD 00002c8d: PUSH1 0x20 00002c8f: ADD 00002c90: MSTORE 00002c91: SWAP3 00002c92: SWAP2 00002c93: POP 00002c94: POP 00002c95: JUMP 00002c96: JUMPDEST 00002c97: PUSH1 0x00 00002c99: DUP3 00002c9a: PUSH1 0x1f 00002c9c: DUP4 00002c9d: ADD 00002c9e: SLT 00002c9f: PUSH3 0x002ca7 00002ca3: JUMPI 00002ca4: DUP1 00002ca5: DUP2 00002ca6: REVERT 00002ca7: JUMPDEST 00002ca8: DUP2 00002ca9: MLOAD 00002caa: PUSH3 0x002cb8 00002cae: PUSH3 0x002b63 00002cb2: DUP3 00002cb3: PUSH3 0x003c0a 00002cb7: JUMP 00002cb8: JUMPDEST 00002cb9: SWAP2 00002cba: POP 00002cbb: DUP1 00002cbc: DUP3 00002cbd: MSTORE 00002cbe: DUP4 00002cbf: PUSH1 0x20 00002cc1: DUP3 00002cc2: DUP6 00002cc3: ADD 00002cc4: ADD 00002cc5: GT 00002cc6: ISZERO 00002cc7: PUSH3 0x002cd0 00002ccb: JUMPI 00002ccc: PUSH1 0x00 00002cce: DUP1 00002ccf: REVERT 00002cd0: JUMPDEST 00002cd1: PUSH3 0x002ce3 00002cd5: DUP2 00002cd6: PUSH1 0x20 00002cd8: DUP5 00002cd9: ADD 00002cda: PUSH1 0x20 00002cdc: DUP7 00002cdd: ADD 00002cde: PUSH3 0x003c2d 00002ce2: JUMP 00002ce3: JUMPDEST 00002ce4: POP 00002ce5: SWAP3 00002ce6: SWAP2 00002ce7: POP 00002ce8: POP 00002ce9: JUMP 00002cea: JUMPDEST 00002ceb: PUSH1 0x00 00002ced: PUSH1 0xc0 00002cef: DUP3 00002cf0: DUP5 00002cf1: SUB 00002cf2: SLT 00002cf3: ISZERO 00002cf4: PUSH3 0x002cfc 00002cf8: JUMPI 00002cf9: DUP1 00002cfa: DUP2 00002cfb: REVERT 00002cfc: JUMPDEST 00002cfd: PUSH1 0x40 00002cff: MLOAD 00002d00: PUSH1 0xc0 00002d02: DUP2 00002d03: ADD 00002d04: DUP2 00002d05: DUP2 00002d06: LT 00002d07: PUSH8 0xffffffffffffffff 00002d10: DUP3 00002d11: GT 00002d12: OR 00002d13: ISZERO 00002d14: PUSH3 0x002d1a 00002d18: JUMPI 00002d19: INVALID 00002d1a: JUMPDEST 00002d1b: DUP1 00002d1c: PUSH1 0x40 00002d1e: MSTORE 00002d1f: POP 00002d20: DUP1 00002d21: SWAP2 00002d22: POP 00002d23: DUP3 00002d24: MLOAD 00002d25: PUSH3 0x002d2f 00002d29: DUP2 00002d2a: PUSH3 0x003c60 00002d2e: JUMP 00002d2f: JUMPDEST 00002d30: DUP2 00002d31: MSTORE 00002d32: PUSH1 0x20 00002d34: DUP4 00002d35: ADD 00002d36: MLOAD 00002d37: PUSH3 0x002d41 00002d3b: DUP2 00002d3c: PUSH3 0x003c60 00002d40: JUMP 00002d41: JUMPDEST 00002d42: PUSH1 0x20 00002d44: DUP3 00002d45: ADD 00002d46: MSTORE 00002d47: PUSH3 0x002d54 00002d4b: PUSH1 0x40 00002d4d: DUP5 00002d4e: ADD 00002d4f: PUSH3 0x002b34 00002d53: JUMP 00002d54: JUMPDEST 00002d55: PUSH1 0x40 00002d57: DUP3 00002d58: ADD 00002d59: MSTORE 00002d5a: PUSH3 0x002d67 00002d5e: PUSH1 0x60 00002d60: DUP5 00002d61: ADD 00002d62: PUSH3 0x002b34 00002d66: JUMP 00002d67: JUMPDEST 00002d68: PUSH1 0x60 00002d6a: DUP3 00002d6b: ADD 00002d6c: MSTORE 00002d6d: PUSH3 0x002d7a 00002d71: PUSH1 0x80 00002d73: DUP5 00002d74: ADD 00002d75: PUSH3 0x002b34 00002d79: JUMP 00002d7a: JUMPDEST 00002d7b: PUSH1 0x80 00002d7d: DUP3 00002d7e: ADD 00002d7f: MSTORE 00002d80: PUSH3 0x002d8d 00002d84: PUSH1 0xa0 00002d86: DUP5 00002d87: ADD 00002d88: PUSH3 0x002b34 00002d8c: JUMP 00002d8d: JUMPDEST 00002d8e: PUSH1 0xa0 00002d90: DUP3 00002d91: ADD 00002d92: MSTORE 00002d93: POP 00002d94: SWAP3 00002d95: SWAP2 00002d96: POP 00002d97: POP 00002d98: JUMP 00002d99: JUMPDEST 00002d9a: PUSH1 0x00 00002d9c: PUSH1 0x20 00002d9e: DUP3 00002d9f: DUP5 00002da0: SUB 00002da1: SLT 00002da2: ISZERO 00002da3: PUSH3 0x002dab 00002da7: JUMPI 00002da8: DUP1 00002da9: DUP2 00002daa: REVERT 00002dab: JUMPDEST 00002dac: DUP2 00002dad: CALLDATALOAD 00002dae: PUSH3 0x00253a 00002db2: DUP2 00002db3: PUSH3 0x003c60 00002db7: JUMP 00002db8: JUMPDEST 00002db9: PUSH1 0x00 00002dbb: PUSH1 0x20 00002dbd: DUP3 00002dbe: DUP5 00002dbf: SUB 00002dc0: SLT 00002dc1: ISZERO 00002dc2: PUSH3 0x002dca 00002dc6: JUMPI 00002dc7: DUP1 00002dc8: DUP2 00002dc9: REVERT 00002dca: JUMPDEST 00002dcb: DUP2 00002dcc: MLOAD 00002dcd: PUSH3 0x00253a 00002dd1: DUP2 00002dd2: PUSH3 0x003c60 00002dd6: JUMP 00002dd7: JUMPDEST 00002dd8: PUSH1 0x00 00002dda: DUP1 00002ddb: PUSH1 0x00 00002ddd: DUP1 00002dde: PUSH1 0x00 00002de0: PUSH1 0xa0 00002de2: DUP7 00002de3: DUP9 00002de4: SUB 00002de5: SLT 00002de6: ISZERO 00002de7: PUSH3 0x002def 00002deb: JUMPI 00002dec: DUP1 00002ded: DUP2 00002dee: REVERT 00002def: JUMPDEST 00002df0: DUP6 00002df1: CALLDATALOAD 00002df2: PUSH3 0x002dfc 00002df6: DUP2 00002df7: PUSH3 0x003c60 00002dfb: JUMP 00002dfc: JUMPDEST 00002dfd: SWAP5 00002dfe: POP 00002dff: PUSH1 0x20 00002e01: DUP7 00002e02: ADD 00002e03: CALLDATALOAD 00002e04: PUSH3 0x002e0e 00002e08: DUP2 00002e09: PUSH3 0x003c60 00002e0d: JUMP 00002e0e: JUMPDEST 00002e0f: SWAP4 00002e10: POP 00002e11: PUSH1 0x40 00002e13: DUP7 00002e14: ADD 00002e15: CALLDATALOAD 00002e16: PUSH8 0xffffffffffffffff 00002e1f: DUP1 00002e20: DUP3 00002e21: GT 00002e22: ISZERO 00002e23: PUSH3 0x002e2b 00002e27: JUMPI 00002e28: DUP3 00002e29: DUP4 00002e2a: REVERT 00002e2b: JUMPDEST 00002e2c: PUSH3 0x002e39 00002e30: DUP10 00002e31: DUP4 00002e32: DUP11 00002e33: ADD 00002e34: PUSH3 0x002b41 00002e38: JUMP 00002e39: JUMPDEST 00002e3a: SWAP5 00002e3b: POP 00002e3c: PUSH1 0x60 00002e3e: DUP9 00002e3f: ADD 00002e40: CALLDATALOAD 00002e41: SWAP2 00002e42: POP 00002e43: DUP1 00002e44: DUP3 00002e45: GT 00002e46: ISZERO 00002e47: PUSH3 0x002e4f 00002e4b: JUMPI 00002e4c: DUP3 00002e4d: DUP4 00002e4e: REVERT 00002e4f: JUMPDEST 00002e50: POP 00002e51: PUSH3 0x002e5e 00002e55: DUP9 00002e56: DUP3 00002e57: DUP10 00002e58: ADD 00002e59: PUSH3 0x002c43 00002e5d: JUMP 00002e5e: JUMPDEST 00002e5f: SWAP6 00002e60: SWAP9 00002e61: SWAP5 00002e62: SWAP8 00002e63: POP 00002e64: SWAP3 00002e65: SWAP6 00002e66: PUSH1 0x80 00002e68: ADD 00002e69: CALLDATALOAD 00002e6a: SWAP4 00002e6b: SWAP3 00002e6c: POP 00002e6d: POP 00002e6e: POP 00002e6f: JUMP 00002e70: JUMPDEST 00002e71: PUSH1 0x00 00002e73: DUP1 00002e74: PUSH1 0x40 00002e76: DUP4 00002e77: DUP6 00002e78: SUB 00002e79: SLT 00002e7a: ISZERO 00002e7b: PUSH3 0x002e83 00002e7f: JUMPI 00002e80: DUP2 00002e81: DUP3 00002e82: REVERT 00002e83: JUMPDEST 00002e84: DUP3 00002e85: CALLDATALOAD 00002e86: PUSH8 0xffffffffffffffff 00002e8f: DUP1 00002e90: DUP3 00002e91: GT 00002e92: ISZERO 00002e93: PUSH3 0x002e9b 00002e97: JUMPI 00002e98: DUP4 00002e99: DUP5 00002e9a: REVERT 00002e9b: JUMPDEST 00002e9c: PUSH3 0x002ea9 00002ea0: DUP7 00002ea1: DUP4 00002ea2: DUP8 00002ea3: ADD 00002ea4: PUSH3 0x002b41 00002ea8: JUMP 00002ea9: JUMPDEST 00002eaa: SWAP4 00002eab: POP 00002eac: PUSH1 0x20 00002eae: SWAP2 00002eaf: POP 00002eb0: DUP2 00002eb1: DUP6 00002eb2: ADD 00002eb3: CALLDATALOAD 00002eb4: DUP2 00002eb5: DUP2 00002eb6: GT 00002eb7: ISZERO 00002eb8: PUSH3 0x002ec0 00002ebc: JUMPI 00002ebd: DUP4 00002ebe: DUP5 00002ebf: REVERT 00002ec0: JUMPDEST 00002ec1: DUP6 00002ec2: ADD 00002ec3: SWAP1 00002ec4: POP 00002ec5: PUSH1 0x1f 00002ec7: DUP2 00002ec8: ADD 00002ec9: DUP7 00002eca: SGT 00002ecb: PUSH3 0x002ed3 00002ecf: JUMPI 00002ed0: DUP3 00002ed1: DUP4 00002ed2: REVERT 00002ed3: JUMPDEST 00002ed4: DUP1 00002ed5: CALLDATALOAD 00002ed6: PUSH3 0x002ee4 00002eda: PUSH3 0x002b63 00002ede: DUP3 00002edf: PUSH3 0x003beb 00002ee3: JUMP 00002ee4: JUMPDEST 00002ee5: DUP2 00002ee6: DUP2 00002ee7: MSTORE 00002ee8: DUP4 00002ee9: DUP2 00002eea: ADD 00002eeb: SWAP1 00002eec: DUP4 00002eed: DUP6 00002eee: ADD 00002eef: DUP6 00002ef0: DUP5 00002ef1: MUL 00002ef2: DUP6 00002ef3: ADD 00002ef4: DUP7 00002ef5: ADD 00002ef6: DUP11 00002ef7: LT 00002ef8: ISZERO 00002ef9: PUSH3 0x002f01 00002efd: JUMPI 00002efe: DUP7 00002eff: DUP8 00002f00: REVERT 00002f01: JUMPDEST 00002f02: DUP7 00002f03: SWAP5 00002f04: POP 00002f05: JUMPDEST 00002f06: DUP4 00002f07: DUP6 00002f08: LT 00002f09: ISZERO 00002f0a: PUSH3 0x002f25 00002f0e: JUMPI 00002f0f: DUP1 00002f10: CALLDATALOAD 00002f11: DUP4 00002f12: MSTORE 00002f13: PUSH1 0x01 00002f15: SWAP5 00002f16: SWAP1 00002f17: SWAP5 00002f18: ADD 00002f19: SWAP4 00002f1a: SWAP2 00002f1b: DUP6 00002f1c: ADD 00002f1d: SWAP2 00002f1e: DUP6 00002f1f: ADD 00002f20: PUSH3 0x002f05 00002f24: JUMP 00002f25: JUMPDEST 00002f26: POP 00002f27: DUP1 00002f28: SWAP6 00002f29: POP 00002f2a: POP 00002f2b: POP 00002f2c: POP 00002f2d: POP 00002f2e: POP 00002f2f: SWAP3 00002f30: POP 00002f31: SWAP3 00002f32: SWAP1 00002f33: POP 00002f34: JUMP 00002f35: JUMPDEST 00002f36: PUSH1 0x00 00002f38: PUSH1 0x20 00002f3a: DUP3 00002f3b: DUP5 00002f3c: SUB 00002f3d: SLT 00002f3e: ISZERO 00002f3f: PUSH3 0x002f47 00002f43: JUMPI 00002f44: DUP1 00002f45: DUP2 00002f46: REVERT 00002f47: JUMPDEST 00002f48: PUSH3 0x00253a 00002f4c: DUP3 00002f4d: PUSH3 0x002c32 00002f51: JUMP 00002f52: JUMPDEST 00002f53: PUSH1 0x00 00002f55: DUP1 00002f56: PUSH1 0x00 00002f58: DUP1 00002f59: PUSH1 0x00 00002f5b: DUP1 00002f5c: PUSH1 0xc0 00002f5e: DUP8 00002f5f: DUP10 00002f60: SUB 00002f61: SLT 00002f62: ISZERO 00002f63: PUSH3 0x002f6b 00002f67: JUMPI 00002f68: DUP4 00002f69: DUP5 00002f6a: REVERT 00002f6b: JUMPDEST 00002f6c: DUP7 00002f6d: CALLDATALOAD 00002f6e: PUSH8 0xffffffffffffffff 00002f77: DUP1 00002f78: DUP3 00002f79: GT 00002f7a: ISZERO 00002f7b: PUSH3 0x002f83 00002f7f: JUMPI 00002f80: DUP6 00002f81: DUP7 00002f82: REVERT 00002f83: JUMPDEST 00002f84: PUSH3 0x002f91 00002f88: DUP11 00002f89: DUP4 00002f8a: DUP12 00002f8b: ADD 00002f8c: PUSH3 0x002c43 00002f90: JUMP 00002f91: JUMPDEST 00002f92: SWAP8 00002f93: POP 00002f94: PUSH1 0x20 00002f96: DUP10 00002f97: ADD 00002f98: CALLDATALOAD 00002f99: SWAP2 00002f9a: POP 00002f9b: DUP1 00002f9c: DUP3 00002f9d: GT 00002f9e: ISZERO 00002f9f: PUSH3 0x002fa7 00002fa3: JUMPI 00002fa4: DUP6 00002fa5: DUP7 00002fa6: REVERT 00002fa7: JUMPDEST 00002fa8: POP 00002fa9: PUSH3 0x002fb6 00002fad: DUP10 00002fae: DUP3 00002faf: DUP11 00002fb0: ADD 00002fb1: PUSH3 0x002c43 00002fb5: JUMP 00002fb6: JUMPDEST 00002fb7: SWAP7 00002fb8: SWAP10 00002fb9: SWAP7 00002fba: SWAP9 00002fbb: POP 00002fbc: POP 00002fbd: POP 00002fbe: POP 00002fbf: PUSH1 0x40 00002fc1: DUP6 00002fc2: ADD 00002fc3: CALLDATALOAD 00002fc4: SWAP5 00002fc5: PUSH1 0x60 00002fc7: DUP2 00002fc8: ADD 00002fc9: CALLDATALOAD 00002fca: SWAP5 00002fcb: PUSH1 0x80 00002fcd: DUP3 00002fce: ADD 00002fcf: CALLDATALOAD 00002fd0: SWAP5 00002fd1: POP 00002fd2: PUSH1 0xa0 00002fd4: SWAP1 00002fd5: SWAP2 00002fd6: ADD 00002fd7: CALLDATALOAD 00002fd8: SWAP3 00002fd9: POP 00002fda: SWAP1 00002fdb: POP 00002fdc: JUMP 00002fdd: JUMPDEST 00002fde: PUSH1 0x00 00002fe0: PUSH1 0x20 00002fe2: DUP3 00002fe3: DUP5 00002fe4: SUB 00002fe5: SLT 00002fe6: ISZERO 00002fe7: PUSH3 0x002fef 00002feb: JUMPI 00002fec: DUP1 00002fed: DUP2 00002fee: REVERT 00002fef: JUMPDEST 00002ff0: DUP2 00002ff1: MLOAD 00002ff2: PUSH8 0xffffffffffffffff 00002ffb: DUP1 00002ffc: DUP3 00002ffd: GT 00002ffe: ISZERO 00002fff: PUSH3 0x003007 00003003: JUMPI 00003004: DUP3 00003005: DUP4 00003006: REVERT 00003007: JUMPDEST 00003008: SWAP1 00003009: DUP4 0000300a: ADD 0000300b: SWAP1 0000300c: PUSH2 0x0180 0000300f: DUP3 00003010: DUP7 00003011: SUB 00003012: SLT 00003013: ISZERO 00003014: PUSH3 0x00301c 00003018: JUMPI 00003019: DUP3 0000301a: DUP4 0000301b: REVERT 0000301c: JUMPDEST 0000301d: PUSH3 0x003028 00003021: PUSH1 0xe0 00003023: PUSH3 0x003bc6 00003027: JUMP 00003028: JUMPDEST 00003029: PUSH3 0x003033 0000302d: DUP4 0000302e: PUSH3 0x002b34 00003032: JUMP 00003033: JUMPDEST 00003034: DUP2 00003035: MSTORE 00003036: PUSH1 0x20 00003038: DUP4 00003039: ADD 0000303a: MLOAD 0000303b: DUP3 0000303c: DUP2 0000303d: GT 0000303e: ISZERO 0000303f: PUSH3 0x003047 00003043: JUMPI 00003044: DUP5 00003045: DUP6 00003046: REVERT 00003047: JUMPDEST 00003048: PUSH3 0x003055 0000304c: DUP8 0000304d: DUP3 0000304e: DUP7 0000304f: ADD 00003050: PUSH3 0x002bc2 00003054: JUMP 00003055: JUMPDEST 00003056: PUSH1 0x20 00003058: DUP4 00003059: ADD 0000305a: MSTORE 0000305b: POP 0000305c: PUSH3 0x003069 00003060: PUSH1 0x40 00003062: DUP5 00003063: ADD 00003064: PUSH3 0x002c32 00003068: JUMP 00003069: JUMPDEST 0000306a: PUSH1 0x40 0000306c: DUP3 0000306d: ADD 0000306e: MSTORE 0000306f: PUSH1 0x60 00003071: DUP4 00003072: ADD 00003073: MLOAD 00003074: DUP3 00003075: DUP2 00003076: GT 00003077: ISZERO 00003078: PUSH3 0x003080 0000307c: JUMPI 0000307d: DUP5 0000307e: DUP6 0000307f: REVERT 00003080: JUMPDEST 00003081: PUSH3 0x00308e 00003085: DUP8 00003086: DUP3 00003087: DUP7 00003088: ADD 00003089: PUSH3 0x002c96 0000308d: JUMP 0000308e: JUMPDEST 0000308f: PUSH1 0x60 00003091: DUP4 00003092: ADD 00003093: MSTORE 00003094: POP 00003095: PUSH1 0x80 00003097: DUP4 00003098: ADD 00003099: MLOAD 0000309a: PUSH1 0x80 0000309c: DUP3 0000309d: ADD 0000309e: MSTORE 0000309f: PUSH1 0xa0 000030a1: DUP4 000030a2: ADD 000030a3: MLOAD 000030a4: PUSH1 0xa0 000030a6: DUP3 000030a7: ADD 000030a8: MSTORE 000030a9: PUSH3 0x0030b7 000030ad: DUP7 000030ae: PUSH1 0xc0 000030b0: DUP6 000030b1: ADD 000030b2: PUSH3 0x002cea 000030b6: JUMP 000030b7: JUMPDEST 000030b8: PUSH1 0xc0 000030ba: DUP3 000030bb: ADD 000030bc: MSTORE 000030bd: SWAP6 000030be: SWAP5 000030bf: POP 000030c0: POP 000030c1: POP 000030c2: POP 000030c3: POP 000030c4: JUMP 000030c5: JUMPDEST 000030c6: PUSH1 0x00 000030c8: PUSH1 0xc0 000030ca: DUP3 000030cb: DUP5 000030cc: SUB 000030cd: SLT 000030ce: ISZERO 000030cf: PUSH3 0x0030d7 000030d3: JUMPI 000030d4: DUP1 000030d5: DUP2 000030d6: REVERT 000030d7: JUMPDEST 000030d8: PUSH3 0x00253a 000030dc: DUP4 000030dd: DUP4 000030de: PUSH3 0x002cea 000030e2: JUMP 000030e3: JUMPDEST 000030e4: PUSH1 0x00 000030e6: PUSH1 0x20 000030e8: DUP3 000030e9: DUP5 000030ea: SUB 000030eb: SLT 000030ec: ISZERO 000030ed: PUSH3 0x0030f5 000030f1: JUMPI 000030f2: DUP1 000030f3: DUP2 000030f4: REVERT 000030f5: JUMPDEST 000030f6: DUP2 000030f7: MLOAD 000030f8: PUSH8 0xffffffffffffffff 00003101: DUP1 00003102: DUP3 00003103: GT 00003104: ISZERO 00003105: PUSH3 0x00310d 00003109: JUMPI 0000310a: DUP3 0000310b: DUP4 0000310c: REVERT 0000310d: JUMPDEST 0000310e: SWAP1 0000310f: DUP4 00003110: ADD 00003111: SWAP1 00003112: PUSH2 0x0200 00003115: DUP3 00003116: DUP7 00003117: SUB 00003118: SLT 00003119: ISZERO 0000311a: PUSH3 0x003122 0000311e: JUMPI 0000311f: DUP3 00003120: DUP4 00003121: REVERT 00003122: JUMPDEST 00003123: PUSH3 0x00312f 00003127: PUSH2 0x0160 0000312a: PUSH3 0x003bc6 0000312e: JUMP 0000312f: JUMPDEST 00003130: PUSH3 0x00313a 00003134: DUP4 00003135: PUSH3 0x002b34 00003139: JUMP 0000313a: JUMPDEST 0000313b: DUP2 0000313c: MSTORE 0000313d: PUSH1 0x20 0000313f: DUP4 00003140: ADD 00003141: MLOAD 00003142: DUP3 00003143: DUP2 00003144: GT 00003145: ISZERO 00003146: PUSH3 0x00314e 0000314a: JUMPI 0000314b: DUP5 0000314c: DUP6 0000314d: REVERT 0000314e: JUMPDEST 0000314f: PUSH3 0x00315c 00003153: DUP8 00003154: DUP3 00003155: DUP7 00003156: ADD 00003157: PUSH3 0x002c96 0000315b: JUMP 0000315c: JUMPDEST 0000315d: PUSH1 0x20 0000315f: DUP4 00003160: ADD 00003161: MSTORE 00003162: POP 00003163: PUSH1 0x40 00003165: DUP4 00003166: ADD 00003167: MLOAD 00003168: DUP3 00003169: DUP2 0000316a: GT 0000316b: ISZERO 0000316c: PUSH3 0x003174 00003170: JUMPI 00003171: DUP5 00003172: DUP6 00003173: REVERT 00003174: JUMPDEST 00003175: PUSH3 0x003182 00003179: DUP8 0000317a: DUP3 0000317b: DUP7 0000317c: ADD 0000317d: PUSH3 0x002c96 00003181: JUMP 00003182: JUMPDEST 00003183: PUSH1 0x40 00003185: DUP4 00003186: ADD 00003187: MSTORE 00003188: POP 00003189: PUSH1 0x60 0000318b: DUP4 0000318c: ADD 0000318d: MLOAD 0000318e: PUSH1 0x60 00003190: DUP3 00003191: ADD 00003192: MSTORE 00003193: PUSH1 0x80 00003195: DUP4 00003196: ADD 00003197: MLOAD 00003198: PUSH1 0x80 0000319a: DUP3 0000319b: ADD 0000319c: MSTORE 0000319d: PUSH1 0xa0 0000319f: DUP4 000031a0: ADD 000031a1: MLOAD 000031a2: PUSH1 0xa0 000031a4: DUP3 000031a5: ADD 000031a6: MSTORE 000031a7: PUSH1 0xc0 000031a9: DUP4 000031aa: ADD 000031ab: MLOAD 000031ac: PUSH1 0xc0 000031ae: DUP3 000031af: ADD 000031b0: MSTORE 000031b1: PUSH1 0xe0 000031b3: DUP4 000031b4: ADD 000031b5: MLOAD 000031b6: PUSH1 0xe0 000031b8: DUP3 000031b9: ADD 000031ba: MSTORE 000031bb: PUSH2 0x0100 000031be: SWAP2 000031bf: POP 000031c0: DUP2 000031c1: DUP4 000031c2: ADD 000031c3: MLOAD 000031c4: DUP3 000031c5: DUP3 000031c6: ADD 000031c7: MSTORE 000031c8: PUSH2 0x0120 000031cb: SWAP2 000031cc: POP 000031cd: DUP2 000031ce: DUP4 000031cf: ADD 000031d0: MLOAD 000031d1: DUP3 000031d2: DUP3 000031d3: ADD 000031d4: MSTORE 000031d5: PUSH2 0x0140 000031d8: SWAP2 000031d9: POP 000031da: PUSH3 0x0031e7 000031de: DUP7 000031df: DUP4 000031e0: DUP6 000031e1: ADD 000031e2: PUSH3 0x002cea 000031e6: JUMP 000031e7: JUMPDEST 000031e8: SWAP2 000031e9: DUP2 000031ea: ADD 000031eb: SWAP2 000031ec: SWAP1 000031ed: SWAP2 000031ee: MSTORE 000031ef: SWAP5 000031f0: SWAP4 000031f1: POP 000031f2: POP 000031f3: POP 000031f4: POP 000031f5: JUMP 000031f6: JUMPDEST 000031f7: PUSH1 0x00 000031f9: PUSH1 0x20 000031fb: DUP3 000031fc: DUP5 000031fd: SUB 000031fe: SLT 000031ff: ISZERO 00003200: PUSH3 0x003208 00003204: JUMPI 00003205: DUP1 00003206: DUP2 00003207: REVERT 00003208: JUMPDEST 00003209: POP 0000320a: CALLDATALOAD 0000320b: SWAP2 0000320c: SWAP1 0000320d: POP 0000320e: JUMP 0000320f: JUMPDEST 00003210: PUSH1 0x00 00003212: PUSH1 0x20 00003214: DUP3 00003215: DUP5 00003216: SUB 00003217: SLT 00003218: ISZERO 00003219: PUSH3 0x003221 0000321d: JUMPI 0000321e: DUP1 0000321f: DUP2 00003220: REVERT 00003221: JUMPDEST 00003222: POP 00003223: MLOAD 00003224: SWAP2 00003225: SWAP1 00003226: POP 00003227: JUMP 00003228: JUMPDEST 00003229: PUSH1 0x01 0000322b: PUSH1 0x01 0000322d: PUSH1 0xa0 0000322f: SHL 00003230: SUB 00003231: AND 00003232: SWAP1 00003233: MSTORE 00003234: JUMP 00003235: JUMPDEST 00003236: ISZERO 00003237: ISZERO 00003238: SWAP1 00003239: MSTORE 0000323a: JUMP 0000323b: JUMPDEST 0000323c: PUSH1 0x00 0000323e: DUP2 0000323f: MLOAD 00003240: DUP1 00003241: DUP5 00003242: MSTORE 00003243: PUSH3 0x003255 00003247: DUP2 00003248: PUSH1 0x20 0000324a: DUP7 0000324b: ADD 0000324c: PUSH1 0x20 0000324e: DUP7 0000324f: ADD 00003250: PUSH3 0x003c2d 00003254: JUMP 00003255: JUMPDEST 00003256: PUSH1 0x1f 00003258: ADD 00003259: PUSH1 0x1f 0000325b: NOT 0000325c: AND 0000325d: SWAP3 0000325e: SWAP1 0000325f: SWAP3 00003260: ADD 00003261: PUSH1 0x20 00003263: ADD 00003264: SWAP3 00003265: SWAP2 00003266: POP 00003267: POP 00003268: JUMP 00003269: JUMPDEST 0000326a: DUP1 0000326b: MLOAD 0000326c: PUSH1 0x01 0000326e: PUSH1 0x01 00003270: PUSH1 0xa0 00003272: SHL 00003273: SUB 00003274: SWAP1 00003275: DUP2 00003276: AND 00003277: DUP4 00003278: MSTORE 00003279: PUSH1 0x20 0000327b: DUP1 0000327c: DUP4 0000327d: ADD 0000327e: MLOAD 0000327f: PUSH2 0x0180 00003282: DUP3 00003283: DUP7 00003284: ADD 00003285: DUP2 00003286: SWAP1 00003287: MSTORE 00003288: DUP2 00003289: MLOAD 0000328a: SWAP1 0000328b: DUP7 0000328c: ADD 0000328d: DUP2 0000328e: SWAP1 0000328f: MSTORE 00003290: PUSH1 0x00 00003292: SWAP4 00003293: PUSH2 0x01a0 00003296: DUP8 00003297: ADD 00003298: SWAP4 00003299: SWAP3 0000329a: DUP4 0000329b: ADD 0000329c: SWAP3 0000329d: SWAP1 0000329e: SWAP2 0000329f: DUP6 000032a0: SWAP1 000032a1: JUMPDEST 000032a2: DUP1 000032a3: DUP3 000032a4: LT 000032a5: ISZERO 000032a6: PUSH3 0x0032c5 000032aa: JUMPI 000032ab: DUP5 000032ac: MLOAD 000032ad: DUP5 000032ae: AND 000032af: DUP7 000032b0: MSTORE 000032b1: SWAP5 000032b2: DUP3 000032b3: ADD 000032b4: SWAP5 000032b5: SWAP4 000032b6: DUP3 000032b7: ADD 000032b8: SWAP4 000032b9: PUSH1 0x01 000032bb: SWAP2 000032bc: SWAP1 000032bd: SWAP2 000032be: ADD 000032bf: SWAP1 000032c0: PUSH3 0x0032a1 000032c4: JUMP 000032c5: JUMPDEST 000032c6: POP 000032c7: POP 000032c8: POP 000032c9: POP 000032ca: POP 000032cb: PUSH1 0x40 000032cd: DUP4 000032ce: ADD 000032cf: MLOAD 000032d0: PUSH3 0x0032de 000032d4: PUSH1 0x40 000032d6: DUP7 000032d7: ADD 000032d8: DUP3 000032d9: PUSH3 0x003235 000032dd: JUMP 000032de: JUMPDEST 000032df: POP 000032e0: PUSH1 0x60 000032e2: DUP4 000032e3: ADD 000032e4: MLOAD 000032e5: DUP5 000032e6: DUP3 000032e7: SUB 000032e8: PUSH1 0x60 000032ea: DUP7 000032eb: ADD 000032ec: MSTORE 000032ed: PUSH3 0x0032f8 000032f1: DUP3 000032f2: DUP3 000032f3: PUSH3 0x00323b 000032f7: JUMP 000032f8: JUMPDEST 000032f9: SWAP2 000032fa: POP 000032fb: POP 000032fc: PUSH1 0x80 000032fe: DUP4 000032ff: ADD 00003300: MLOAD 00003301: PUSH1 0x80 00003303: DUP6 00003304: ADD 00003305: MSTORE 00003306: PUSH1 0xa0 00003308: DUP4 00003309: ADD 0000330a: MLOAD 0000330b: PUSH1 0xa0 0000330d: DUP6 0000330e: ADD 0000330f: MSTORE 00003310: PUSH1 0xc0 00003312: DUP4 00003313: ADD 00003314: MLOAD 00003315: PUSH3 0x003323 00003319: PUSH1 0xc0 0000331b: DUP7 0000331c: ADD 0000331d: DUP3 0000331e: PUSH3 0x00332b 00003322: JUMP 00003323: JUMPDEST 00003324: POP 00003325: SWAP4 00003326: SWAP3 00003327: POP 00003328: POP 00003329: POP 0000332a: JUMP 0000332b: JUMPDEST 0000332c: DUP1 0000332d: MLOAD 0000332e: PUSH1 0x01 00003330: PUSH1 0x01 00003332: PUSH1 0xa0 00003334: SHL 00003335: SUB 00003336: SWAP1 00003337: DUP2 00003338: AND 00003339: DUP4 0000333a: MSTORE 0000333b: PUSH1 0x20 0000333d: DUP1 0000333e: DUP4 0000333f: ADD 00003340: MLOAD 00003341: DUP3 00003342: AND 00003343: SWAP1 00003344: DUP5 00003345: ADD 00003346: MSTORE 00003347: PUSH1 0x40 00003349: DUP1 0000334a: DUP4 0000334b: ADD 0000334c: MLOAD 0000334d: DUP3 0000334e: AND 0000334f: SWAP1 00003350: DUP5 00003351: ADD 00003352: MSTORE 00003353: PUSH1 0x60 00003355: DUP1 00003356: DUP4 00003357: ADD 00003358: MLOAD 00003359: DUP3 0000335a: AND 0000335b: SWAP1 0000335c: DUP5 0000335d: ADD 0000335e: MSTORE 0000335f: PUSH1 0x80 00003361: DUP1 00003362: DUP4 00003363: ADD 00003364: MLOAD 00003365: DUP3 00003366: AND 00003367: SWAP1 00003368: DUP5 00003369: ADD 0000336a: MSTORE 0000336b: PUSH1 0xa0 0000336d: SWAP2 0000336e: DUP3 0000336f: ADD 00003370: MLOAD 00003371: AND 00003372: SWAP2 00003373: ADD 00003374: MSTORE 00003375: JUMP 00003376: JUMPDEST 00003377: PUSH1 0x00 00003379: PUSH2 0x0200 0000337c: PUSH3 0x003388 00003380: DUP5 00003381: DUP5 00003382: MLOAD 00003383: PUSH3 0x003228 00003387: JUMP 00003388: JUMPDEST 00003389: PUSH1 0x20 0000338b: DUP4 0000338c: ADD 0000338d: MLOAD 0000338e: DUP2 0000338f: PUSH1 0x20 00003391: DUP7 00003392: ADD 00003393: MSTORE 00003394: PUSH3 0x0033a1 00003398: DUP3 00003399: DUP7 0000339a: ADD 0000339b: DUP3 0000339c: PUSH3 0x00323b 000033a0: JUMP 000033a1: JUMPDEST 000033a2: SWAP2 000033a3: POP 000033a4: POP 000033a5: PUSH1 0x40 000033a7: DUP4 000033a8: ADD 000033a9: MLOAD 000033aa: DUP5 000033ab: DUP3 000033ac: SUB 000033ad: PUSH1 0x40 000033af: DUP7 000033b0: ADD 000033b1: MSTORE 000033b2: PUSH3 0x0033bd 000033b6: DUP3 000033b7: DUP3 000033b8: PUSH3 0x00323b 000033bc: JUMP 000033bd: JUMPDEST 000033be: SWAP2 000033bf: POP 000033c0: POP 000033c1: PUSH1 0x60 000033c3: DUP4 000033c4: ADD 000033c5: MLOAD 000033c6: PUSH1 0x60 000033c8: DUP6 000033c9: ADD 000033ca: MSTORE 000033cb: PUSH1 0x80 000033cd: DUP4 000033ce: ADD 000033cf: MLOAD 000033d0: PUSH1 0x80 000033d2: DUP6 000033d3: ADD 000033d4: MSTORE 000033d5: PUSH1 0xa0 000033d7: DUP4 000033d8: ADD 000033d9: MLOAD 000033da: PUSH1 0xa0 000033dc: DUP6 000033dd: ADD 000033de: MSTORE 000033df: PUSH1 0xc0 000033e1: DUP4 000033e2: ADD 000033e3: MLOAD 000033e4: PUSH1 0xc0 000033e6: DUP6 000033e7: ADD 000033e8: MSTORE 000033e9: PUSH1 0xe0 000033eb: DUP4 000033ec: ADD 000033ed: MLOAD 000033ee: PUSH1 0xe0 000033f0: DUP6 000033f1: ADD 000033f2: MSTORE 000033f3: PUSH2 0x0100 000033f6: DUP1 000033f7: DUP5 000033f8: ADD 000033f9: MLOAD 000033fa: DUP2 000033fb: DUP7 000033fc: ADD 000033fd: MSTORE 000033fe: POP 000033ff: PUSH2 0x0120 00003402: DUP1 00003403: DUP5 00003404: ADD 00003405: MLOAD 00003406: DUP2 00003407: DUP7 00003408: ADD 00003409: MSTORE 0000340a: POP 0000340b: PUSH2 0x0140 0000340e: DUP1 0000340f: DUP5 00003410: ADD 00003411: MLOAD 00003412: PUSH3 0x00341f 00003416: DUP3 00003417: DUP8 00003418: ADD 00003419: DUP3 0000341a: PUSH3 0x00332b 0000341e: JUMP 0000341f: JUMPDEST 00003420: POP 00003421: SWAP1 00003422: SWAP5 00003423: SWAP4 00003424: POP 00003425: POP 00003426: POP 00003427: POP 00003428: JUMP 00003429: JUMPDEST 0000342a: SWAP1 0000342b: JUMP 0000342c: JUMPDEST 0000342d: PUSH1 0x01 0000342f: PUSH1 0x01 00003431: PUSH1 0xa0 00003433: SHL 00003434: SUB 00003435: SWAP2 00003436: SWAP1 00003437: SWAP2 00003438: AND 00003439: DUP2 0000343a: MSTORE 0000343b: PUSH1 0x20 0000343d: ADD 0000343e: SWAP1 0000343f: JUMP 00003440: JUMPDEST 00003441: PUSH1 0x01 00003443: PUSH1 0x01 00003445: PUSH1 0xa0 00003447: SHL 00003448: SUB 00003449: DUP4 0000344a: AND 0000344b: DUP2 0000344c: MSTORE 0000344d: PUSH1 0xe0 0000344f: DUP2 00003450: ADD 00003451: PUSH3 0x00281c 00003455: PUSH1 0x20 00003457: DUP4 00003458: ADD 00003459: DUP5 0000345a: PUSH3 0x00332b 0000345e: JUMP 0000345f: JUMPDEST 00003460: PUSH1 0x01 00003462: PUSH1 0x01 00003464: PUSH1 0xa0 00003466: SHL 00003467: SUB 00003468: SWAP3 00003469: SWAP1 0000346a: SWAP3 0000346b: AND 0000346c: DUP3 0000346d: MSTORE 0000346e: PUSH1 0x20 00003470: DUP3 00003471: ADD 00003472: MSTORE 00003473: PUSH1 0x40 00003475: ADD 00003476: SWAP1 00003477: JUMP 00003478: JUMPDEST 00003479: PUSH1 0x01 0000347b: PUSH1 0x01 0000347d: PUSH1 0xa0 0000347f: SHL 00003480: SUB 00003481: SWAP3 00003482: DUP4 00003483: AND 00003484: DUP2 00003485: MSTORE 00003486: SWAP2 00003487: AND 00003488: PUSH1 0x20 0000348a: DUP3 0000348b: ADD 0000348c: MSTORE 0000348d: PUSH1 0x40 0000348f: ADD 00003490: SWAP1 00003491: JUMP 00003492: JUMPDEST 00003493: PUSH1 0x01 00003495: PUSH1 0x01 00003497: PUSH1 0xa0 00003499: SHL 0000349a: SUB 0000349b: DUP6 0000349c: DUP2 0000349d: AND 0000349e: DUP3 0000349f: MSTORE 000034a0: DUP5 000034a1: AND 000034a2: PUSH1 0x20 000034a4: DUP3 000034a5: ADD 000034a6: MSTORE 000034a7: PUSH1 0x00 000034a9: PUSH2 0x0120 000034ac: PUSH3 0x0034ba 000034b0: PUSH1 0x40 000034b2: DUP5 000034b3: ADD 000034b4: DUP7 000034b5: PUSH3 0x00332b 000034b9: JUMP 000034ba: JUMPDEST 000034bb: DUP1 000034bc: PUSH2 0x0100 000034bf: DUP5 000034c0: ADD 000034c1: MSTORE 000034c2: PUSH3 0x0034cf 000034c6: DUP2 000034c7: DUP5 000034c8: ADD 000034c9: DUP6 000034ca: PUSH3 0x003376 000034ce: JUMP 000034cf: JUMPDEST 000034d0: SWAP8 000034d1: SWAP7 000034d2: POP 000034d3: POP 000034d4: POP 000034d5: POP 000034d6: POP 000034d7: POP 000034d8: POP 000034d9: JUMP 000034da: JUMPDEST 000034db: SWAP1 000034dc: ISZERO 000034dd: ISZERO 000034de: DUP2 000034df: MSTORE 000034e0: PUSH1 0x20 000034e2: ADD 000034e3: SWAP1 000034e4: JUMP 000034e5: JUMPDEST 000034e6: PUSH1 0x20 000034e8: DUP1 000034e9: DUP3 000034ea: MSTORE 000034eb: PUSH1 0x24 000034ed: SWAP1 000034ee: DUP3 000034ef: ADD 000034f0: MSTORE 000034f1: PUSH32 0x456c617374696344414f3a2044414f206d757374206e6f742062652073756d6d 00003512: PUSH1 0x40 00003514: DUP3 00003515: ADD 00003516: MSTORE 00003517: PUSH4 0x1bdb9959 0000351c: PUSH1 0xe2 0000351e: SHL 0000351f: PUSH1 0x60 00003521: DUP3 00003522: ADD 00003523: MSTORE 00003524: PUSH1 0x80 00003526: ADD 00003527: SWAP1 00003528: JUMP 00003529: JUMPDEST 0000352a: PUSH1 0x20 0000352c: DUP1 0000352d: DUP3 0000352e: MSTORE 0000352f: PUSH1 0x34 00003531: SWAP1 00003532: DUP3 00003533: ADD 00003534: MSTORE 00003535: PUSH32 0x456c617374696344414f3a2053756d6d6f6e657220616464726573732063616e 00003556: PUSH1 0x40 00003558: DUP3 00003559: ADD 0000355a: MSTORE 0000355b: PUSH20 0x206e6f74206265207a65726f2061646472657373 00003570: PUSH1 0x60 00003572: SHL 00003573: PUSH1 0x60 00003575: DUP3 00003576: ADD 00003577: MSTORE 00003578: PUSH1 0x80 0000357a: ADD 0000357b: SWAP1 0000357c: JUMP 0000357d: JUMPDEST 0000357e: PUSH1 0x20 00003580: DUP1 00003581: DUP3 00003582: MSTORE 00003583: PUSH1 0x1a 00003585: SWAP1 00003586: DUP3 00003587: ADD 00003588: MSTORE 00003589: PUSH32 0x456c617374696344414f3a204f6e6c792073756d6d6f6e657273000000000000 000035aa: PUSH1 0x40 000035ac: DUP3 000035ad: ADD 000035ae: MSTORE 000035af: PUSH1 0x60 000035b1: ADD 000035b2: SWAP1 000035b3: JUMP 000035b4: JUMPDEST 000035b5: PUSH1 0x20 000035b7: DUP1 000035b8: DUP3 000035b9: MSTORE 000035ba: PUSH1 0x1e 000035bc: SWAP1 000035bd: DUP3 000035be: ADD 000035bf: MSTORE 000035c0: PUSH32 0x456c617374696344414f3a20546869732044414f20697320636c6f7365640000 000035e1: PUSH1 0x40 000035e3: DUP3 000035e4: ADD 000035e5: MSTORE 000035e6: PUSH1 0x60 000035e8: ADD 000035e9: SWAP1 000035ea: JUMP 000035eb: JUMPDEST 000035ec: PUSH1 0x20 000035ee: DUP1 000035ef: DUP3 000035f0: MSTORE 000035f1: PUSH1 0x32 000035f3: SWAP1 000035f4: DUP3 000035f5: ADD 000035f6: MSTORE 000035f7: PUSH32 0x456c617374696344414f3a20536574204d696e746572206661696c6564206475 00003618: PUSH1 0x40 0000361a: DUP3 0000361b: ADD 0000361c: MSTORE 0000361d: PUSH18 0x3934b7339039b2ba21b7b73a3937b63632b9 00003630: PUSH1 0x71 00003632: SHL 00003633: PUSH1 0x60 00003635: DUP3 00003636: ADD 00003637: MSTORE 00003638: PUSH1 0x80 0000363a: ADD 0000363b: SWAP1 0000363c: JUMP 0000363d: JUMPDEST 0000363e: PUSH1 0x20 00003640: DUP1 00003641: DUP3 00003642: MSTORE 00003643: PUSH1 0x1b 00003645: SWAP1 00003646: DUP3 00003647: ADD 00003648: MSTORE 00003649: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000 0000366a: PUSH1 0x40 0000366c: DUP3 0000366d: ADD 0000366e: MSTORE 0000366f: PUSH1 0x60 00003671: ADD 00003672: SWAP1 00003673: JUMP 00003674: JUMPDEST 00003675: PUSH1 0x20 00003677: DUP1 00003678: DUP3 00003679: MSTORE 0000367a: PUSH1 0x19 0000367c: SWAP1 0000367d: DUP3 0000367e: ADD 0000367f: MSTORE 00003680: PUSH32 0x456c617374696344414f3a204f6e6c79206465706c6f79657200000000000000 000036a1: PUSH1 0x40 000036a3: DUP3 000036a4: ADD 000036a5: MSTORE 000036a6: PUSH1 0x60 000036a8: ADD 000036a9: SWAP1 000036aa: JUMP 000036ab: JUMPDEST 000036ac: PUSH1 0x20 000036ae: DUP1 000036af: DUP3 000036b0: MSTORE 000036b1: PUSH1 0x32 000036b3: SWAP1 000036b4: DUP3 000036b5: ADD 000036b6: MSTORE 000036b7: PUSH32 0x456c617374696344414f3a20416e20616d6f756e742069732072657175697265 000036d8: PUSH1 0x40 000036da: DUP3 000036db: ADD 000036dc: MSTORE 000036dd: PUSH18 0x6420666f7220656163682061646472657373 000036f0: PUSH1 0x70 000036f2: SHL 000036f3: PUSH1 0x60 000036f5: DUP3 000036f6: ADD 000036f7: MSTORE 000036f8: PUSH1 0x80 000036fa: ADD 000036fb: SWAP1 000036fc: JUMP 000036fd: JUMPDEST 000036fe: PUSH1 0x20 00003700: DUP1 00003701: DUP3 00003702: MSTORE 00003703: PUSH1 0x1b 00003705: SWAP1 00003706: DUP3 00003707: ADD 00003708: MSTORE 00003709: PUSH32 0x456c617374696344414f3a204f6e6c7920636f6e74726f6c6c65720000000000 0000372a: PUSH1 0x40 0000372c: DUP3 0000372d: ADD 0000372e: MSTORE 0000372f: PUSH1 0x60 00003731: ADD 00003732: SWAP1 00003733: JUMP 00003734: JUMPDEST 00003735: PUSH1 0x20 00003737: DUP1 00003738: DUP3 00003739: MSTORE 0000373a: DUP2 0000373b: DUP2 0000373c: ADD 0000373d: MSTORE 0000373e: PUSH32 0x456c617374696344414f3a2044414f206d7573742062652073756d6d6f6e6564 0000375f: PUSH1 0x40 00003761: DUP3 00003762: ADD 00003763: MSTORE 00003764: PUSH1 0x60 00003766: ADD 00003767: SWAP1 00003768: JUMP 00003769: JUMPDEST 0000376a: PUSH1 0x20 0000376c: DUP1 0000376d: DUP3 0000376e: MSTORE 0000376f: PUSH1 0x1d 00003771: SWAP1 00003772: DUP3 00003773: ADD 00003774: MSTORE 00003775: PUSH32 0x456c617374696344414f3a205472616e73616374696f6e4661696c6564000000 00003796: PUSH1 0x40 00003798: DUP3 00003799: ADD 0000379a: MSTORE 0000379b: PUSH1 0x60 0000379d: ADD 0000379e: SWAP1 0000379f: JUMP 000037a0: JUMPDEST 000037a1: PUSH1 0x20 000037a3: DUP1 000037a4: DUP3 000037a5: MSTORE 000037a6: PUSH1 0x2a 000037a8: SWAP1 000037a9: DUP3 000037aa: ADD 000037ab: MSTORE 000037ac: PUSH32 0x456c617374696344414f3a204d696e7420536861726573204661696c65642064 000037cd: PUSH1 0x40 000037cf: DUP3 000037d0: ADD 000037d1: MSTORE 000037d2: PUSH10 0x3ab934b733902537b4b7 000037dd: PUSH1 0xb1 000037df: SHL 000037e0: PUSH1 0x60 000037e2: DUP3 000037e3: ADD 000037e4: MSTORE 000037e5: PUSH1 0x80 000037e7: ADD 000037e8: SWAP1 000037e9: JUMP 000037ea: JUMPDEST 000037eb: PUSH1 0x20 000037ed: DUP1 000037ee: DUP3 000037ef: MSTORE 000037f0: PUSH1 0x1e 000037f2: SWAP1 000037f3: DUP3 000037f4: ADD 000037f5: MSTORE 000037f6: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000 00003817: PUSH1 0x40 00003819: DUP3 0000381a: ADD 0000381b: MSTORE 0000381c: PUSH1 0x60 0000381e: ADD 0000381f: SWAP1 00003820: JUMP 00003821: JUMPDEST 00003822: PUSH1 0x20 00003824: DUP1 00003825: DUP3 00003826: MSTORE 00003827: PUSH1 0x1f 00003829: SWAP1 0000382a: DUP3 0000382b: ADD 0000382c: MSTORE 0000382d: PUSH32 0x456c617374696344414f3a20416c726561647920696e697469616c697a656400 0000384e: PUSH1 0x40 00003850: DUP3 00003851: ADD 00003852: MSTORE 00003853: PUSH1 0x60 00003855: ADD 00003856: SWAP1 00003857: JUMP 00003858: JUMPDEST 00003859: PUSH1 0x20 0000385b: DUP1 0000385c: DUP3 0000385d: MSTORE 0000385e: PUSH1 0x1a 00003860: SWAP1 00003861: DUP3 00003862: ADD 00003863: MSTORE 00003864: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000 00003885: PUSH1 0x40 00003887: DUP3 00003888: ADD 00003889: MSTORE 0000388a: PUSH1 0x60 0000388c: ADD 0000388d: SWAP1 0000388e: JUMP 0000388f: JUMPDEST 00003890: PUSH1 0x20 00003892: DUP1 00003893: DUP3 00003894: MSTORE 00003895: PUSH1 0x18 00003897: SWAP1 00003898: DUP3 00003899: ADD 0000389a: MSTORE 0000389b: PUSH32 0x456c617374696344414f3a2041646472657373205a65726f0000000000000000 000038bc: PUSH1 0x40 000038be: DUP3 000038bf: ADD 000038c0: MSTORE 000038c1: PUSH1 0x60 000038c3: ADD 000038c4: SWAP1 000038c5: JUMP 000038c6: JUMPDEST 000038c7: PUSH1 0x20 000038c9: DUP1 000038ca: DUP3 000038cb: MSTORE 000038cc: DUP2 000038cd: DUP2 000038ce: ADD 000038cf: MSTORE 000038d0: PUSH32 0x456c617374696344414f3a20496e636f72726563742045544820616d6f756e74 000038f1: PUSH1 0x40 000038f3: DUP3 000038f4: ADD 000038f5: MSTORE 000038f6: PUSH1 0x60 000038f8: ADD 000038f9: SWAP1 000038fa: JUMP 000038fb: JUMPDEST 000038fc: PUSH1 0x20 000038fe: DUP1 000038ff: DUP3 00003900: MSTORE 00003901: PUSH1 0x32 00003903: SWAP1 00003904: DUP3 00003905: ADD 00003906: MSTORE 00003907: PUSH32 0x456c617374696344414f3a20536574204275726e6572206661696c6564206475 00003928: PUSH1 0x40 0000392a: DUP3 0000392b: ADD 0000392c: MSTORE 0000392d: PUSH18 0x3934b7339039b2ba21b7b73a3937b63632b9 00003940: PUSH1 0x71 00003942: SHL 00003943: PUSH1 0x60 00003945: DUP3 00003946: ADD 00003947: MSTORE 00003948: PUSH1 0x80 0000394a: ADD 0000394b: SWAP1 0000394c: JUMP 0000394d: JUMPDEST 0000394e: PUSH1 0x20 00003950: DUP1 00003951: DUP3 00003952: MSTORE 00003953: PUSH1 0x1c 00003955: SWAP1 00003956: DUP3 00003957: ADD 00003958: MSTORE 00003959: PUSH32 0x456c617374696344414f3a204275696c642044414f204661696c656400000000 0000397a: PUSH1 0x40 0000397c: DUP3 0000397d: ADD 0000397e: MSTORE 0000397f: PUSH1 0x60 00003981: ADD 00003982: SWAP1 00003983: JUMP 00003984: JUMPDEST 00003985: PUSH1 0x20 00003987: DUP1 00003988: DUP3 00003989: MSTORE 0000398a: PUSH1 0x21 0000398c: SWAP1 0000398d: DUP3 0000398e: ADD 0000398f: MSTORE 00003990: PUSH32 0x536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f 000039b1: PUSH1 0x40 000039b3: DUP3 000039b4: ADD 000039b5: MSTORE 000039b6: PUSH1 0x77 000039b8: PUSH1 0xf8 000039ba: SHL 000039bb: PUSH1 0x60 000039bd: DUP3 000039be: ADD 000039bf: MSTORE 000039c0: PUSH1 0x80 000039c2: ADD 000039c3: SWAP1 000039c4: JUMP 000039c5: JUMPDEST 000039c6: PUSH1 0x20 000039c8: DUP1 000039c9: DUP3 000039ca: MSTORE 000039cb: PUSH1 0x28 000039cd: SWAP1 000039ce: DUP3 000039cf: ADD 000039d0: MSTORE 000039d1: PUSH32 0x456c617374696344414f3a204174206c6561737420312073756d6d6f6e657220 000039f2: PUSH1 0x40 000039f4: DUP3 000039f5: ADD 000039f6: MSTORE 000039f7: PUSH8 0x1c995c5d5a5c9959 00003a00: PUSH1 0xc2 00003a02: SHL 00003a03: PUSH1 0x60 00003a05: DUP3 00003a06: ADD 00003a07: MSTORE 00003a08: PUSH1 0x80 00003a0a: ADD 00003a0b: SWAP1 00003a0c: JUMP 00003a0d: JUMPDEST 00003a0e: PUSH1 0x20 00003a10: DUP1 00003a11: DUP3 00003a12: MSTORE 00003a13: PUSH1 0x2d 00003a15: SWAP1 00003a16: DUP3 00003a17: ADD 00003a18: MSTORE 00003a19: PUSH32 0x456c617374696344414f3a20506c656173652063616c6c20696e697469616c69 00003a3a: PUSH1 0x40 00003a3c: DUP3 00003a3d: ADD 00003a3e: MSTORE 00003a3f: PUSH13 0x1e99551bdad95b88199a5c9cdd 00003a4d: PUSH1 0x9a 00003a4f: SHL 00003a50: PUSH1 0x60 00003a52: DUP3 00003a53: ADD 00003a54: MSTORE 00003a55: PUSH1 0x80 00003a57: ADD 00003a58: SWAP1 00003a59: JUMP 00003a5a: JUMPDEST 00003a5b: PUSH1 0x20 00003a5d: DUP1 00003a5e: DUP3 00003a5f: MSTORE 00003a60: PUSH1 0x39 00003a62: SWAP1 00003a63: DUP3 00003a64: ADD 00003a65: MSTORE 00003a66: PUSH32 0x456c617374696344414f3a20506c6561736520736565642044414f2077697468 00003a87: PUSH1 0x40 00003a89: DUP3 00003a8a: ADD 00003a8b: MSTORE 00003a8c: PUSH32 0x2045544820746f20736574204554483a45475420726174696f00000000000000 00003aad: PUSH1 0x60 00003aaf: DUP3 00003ab0: ADD 00003ab1: MSTORE 00003ab2: PUSH1 0x80 00003ab4: ADD 00003ab5: SWAP1 00003ab6: JUMP 00003ab7: JUMPDEST 00003ab8: PUSH1 0x20 00003aba: DUP1 00003abb: DUP3 00003abc: MSTORE 00003abd: PUSH1 0x1f 00003abf: SWAP1 00003ac0: DUP3 00003ac1: ADD 00003ac2: MSTORE 00003ac3: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 00003ae4: PUSH1 0x40 00003ae6: DUP3 00003ae7: ADD 00003ae8: MSTORE 00003ae9: PUSH1 0x60 00003aeb: ADD 00003aec: SWAP1 00003aed: JUMP 00003aee: JUMPDEST 00003aef: PUSH1 0x20 00003af1: DUP1 00003af2: DUP3 00003af3: MSTORE 00003af4: PUSH1 0x17 00003af6: SWAP1 00003af7: DUP3 00003af8: ADD 00003af9: MSTORE 00003afa: PUSH32 0x456c617374696344414f3a2045786974204661696c6564000000000000000000 00003b1b: PUSH1 0x40 00003b1d: DUP3 00003b1e: ADD 00003b1f: MSTORE 00003b20: PUSH1 0x60 00003b22: ADD 00003b23: SWAP1 00003b24: JUMP 00003b25: JUMPDEST 00003b26: PUSH1 0x00 00003b28: PUSH1 0x20 00003b2a: DUP3 00003b2b: MSTORE 00003b2c: PUSH3 0x00253a 00003b30: PUSH1 0x20 00003b32: DUP4 00003b33: ADD 00003b34: DUP5 00003b35: PUSH3 0x003269 00003b39: JUMP 00003b3a: JUMPDEST 00003b3b: PUSH1 0x00 00003b3d: PUSH1 0x40 00003b3f: DUP3 00003b40: MSTORE 00003b41: PUSH3 0x003b4f 00003b45: PUSH1 0x40 00003b47: DUP4 00003b48: ADD 00003b49: DUP6 00003b4a: PUSH3 0x003269 00003b4e: JUMP 00003b4f: JUMPDEST 00003b50: SWAP1 00003b51: POP 00003b52: PUSH1 0x01 00003b54: DUP1 00003b55: PUSH1 0xa0 00003b57: SHL 00003b58: SUB 00003b59: DUP4 00003b5a: AND 00003b5b: PUSH1 0x20 00003b5d: DUP4 00003b5e: ADD 00003b5f: MSTORE 00003b60: SWAP4 00003b61: SWAP3 00003b62: POP 00003b63: POP 00003b64: POP 00003b65: JUMP 00003b66: JUMPDEST 00003b67: PUSH1 0x00 00003b69: PUSH1 0x40 00003b6b: DUP3 00003b6c: MSTORE 00003b6d: PUSH3 0x003b7b 00003b71: PUSH1 0x40 00003b73: DUP4 00003b74: ADD 00003b75: DUP6 00003b76: PUSH3 0x003269 00003b7a: JUMP 00003b7b: JUMPDEST 00003b7c: SWAP1 00003b7d: POP 00003b7e: DUP3 00003b7f: PUSH1 0x20 00003b81: DUP4 00003b82: ADD 00003b83: MSTORE 00003b84: SWAP4 00003b85: SWAP3 00003b86: POP 00003b87: POP 00003b88: POP 00003b89: JUMP 00003b8a: JUMPDEST 00003b8b: PUSH1 0xc0 00003b8d: DUP2 00003b8e: ADD 00003b8f: PUSH3 0x00253d 00003b93: DUP3 00003b94: DUP5 00003b95: PUSH3 0x00332b 00003b99: JUMP 00003b9a: JUMPDEST 00003b9b: PUSH1 0x00 00003b9d: PUSH1 0x20 00003b9f: DUP3 00003ba0: MSTORE 00003ba1: PUSH3 0x00253a 00003ba5: PUSH1 0x20 00003ba7: DUP4 00003ba8: ADD 00003ba9: DUP5 00003baa: PUSH3 0x003376 00003bae: JUMP 00003baf: JUMPDEST 00003bb0: SWAP1 00003bb1: DUP2 00003bb2: MSTORE 00003bb3: PUSH1 0x20 00003bb5: ADD 00003bb6: SWAP1 00003bb7: JUMP 00003bb8: JUMPDEST 00003bb9: SWAP2 00003bba: DUP3 00003bbb: MSTORE 00003bbc: PUSH1 0x20 00003bbe: DUP3 00003bbf: ADD 00003bc0: MSTORE 00003bc1: PUSH1 0x40 00003bc3: ADD 00003bc4: SWAP1 00003bc5: JUMP 00003bc6: JUMPDEST 00003bc7: PUSH1 0x40 00003bc9: MLOAD 00003bca: DUP2 00003bcb: DUP2 00003bcc: ADD 00003bcd: PUSH8 0xffffffffffffffff 00003bd6: DUP2 00003bd7: GT 00003bd8: DUP3 00003bd9: DUP3 00003bda: LT 00003bdb: OR 00003bdc: ISZERO 00003bdd: PUSH3 0x003be3 00003be1: JUMPI 00003be2: INVALID 00003be3: JUMPDEST 00003be4: PUSH1 0x40 00003be6: MSTORE 00003be7: SWAP2 00003be8: SWAP1 00003be9: POP 00003bea: JUMP 00003beb: JUMPDEST 00003bec: PUSH1 0x00 00003bee: PUSH8 0xffffffffffffffff 00003bf7: DUP3 00003bf8: GT 00003bf9: ISZERO 00003bfa: PUSH3 0x003c00 00003bfe: JUMPI 00003bff: INVALID 00003c00: JUMPDEST 00003c01: POP 00003c02: PUSH1 0x20 00003c04: SWAP1 00003c05: DUP2 00003c06: MUL 00003c07: ADD 00003c08: SWAP1 00003c09: JUMP 00003c0a: JUMPDEST 00003c0b: PUSH1 0x00 00003c0d: PUSH8 0xffffffffffffffff 00003c16: DUP3 00003c17: GT 00003c18: ISZERO 00003c19: PUSH3 0x003c1f 00003c1d: JUMPI 00003c1e: INVALID 00003c1f: JUMPDEST 00003c20: POP 00003c21: PUSH1 0x1f 00003c23: ADD 00003c24: PUSH1 0x1f 00003c26: NOT 00003c27: AND 00003c28: PUSH1 0x20 00003c2a: ADD 00003c2b: SWAP1 00003c2c: JUMP 00003c2d: JUMPDEST 00003c2e: PUSH1 0x00 00003c30: JUMPDEST 00003c31: DUP4 00003c32: DUP2 00003c33: LT 00003c34: ISZERO 00003c35: PUSH3 0x003c4a 00003c39: JUMPI 00003c3a: DUP2 00003c3b: DUP2 00003c3c: ADD 00003c3d: MLOAD 00003c3e: DUP4 00003c3f: DUP3 00003c40: ADD 00003c41: MSTORE 00003c42: PUSH1 0x20 00003c44: ADD 00003c45: PUSH3 0x003c30 00003c49: JUMP 00003c4a: JUMPDEST 00003c4b: DUP4 00003c4c: DUP2 00003c4d: GT 00003c4e: ISZERO 00003c4f: PUSH3 0x003c5a 00003c53: JUMPI 00003c54: PUSH1 0x00 00003c56: DUP5 00003c57: DUP5 00003c58: ADD 00003c59: MSTORE 00003c5a: JUMPDEST 00003c5b: POP 00003c5c: POP 00003c5d: POP 00003c5e: POP 00003c5f: JUMP 00003c60: JUMPDEST 00003c61: PUSH1 0x01 00003c63: PUSH1 0x01 00003c65: PUSH1 0xa0 00003c67: SHL 00003c68: SUB 00003c69: DUP2 00003c6a: AND 00003c6b: DUP2 00003c6c: EQ 00003c6d: PUSH3 0x003c76 00003c71: JUMPI 00003c72: PUSH1 0x00 00003c74: DUP1 00003c75: REVERT 00003c76: JUMPDEST 00003c77: POP 00003c78: JUMP 00003c79: INVALID 00003c7a: PUSH1 0x80 00003c7c: PUSH1 0x40 00003c7e: MSTORE 00003c7f: CALLVALUE 00003c80: DUP1 00003c81: ISZERO 00003c82: PUSH2 0x0010 00003c85: JUMPI 00003c86: PUSH1 0x00 00003c88: DUP1 00003c89: REVERT 00003c8a: JUMPDEST 00003c8b: POP 00003c8c: PUSH2 0x0054 00003c8f: PUSH1 0x40 00003c91: MLOAD 00003c92: PUSH1 0x20 00003c94: ADD 00003c95: DUP1 00003c96: DUP1 00003c97: PUSH10 0x13d5d3915497d4d313d5 00003ca2: PUSH1 0xb2 00003ca4: SHL 00003ca5: DUP2 00003ca6: MSTORE 00003ca7: POP 00003ca8: PUSH1 0x0a 00003caa: ADD 00003cab: SWAP1 00003cac: POP 00003cad: PUSH1 0x40 00003caf: MLOAD 00003cb0: PUSH1 0x20 00003cb2: DUP2 00003cb3: DUP4 00003cb4: SUB 00003cb5: SUB 00003cb6: DUP2 00003cb7: MSTORE 00003cb8: SWAP1 00003cb9: PUSH1 0x40 00003cbb: MSTORE 00003cbc: DUP1 00003cbd: MLOAD 00003cbe: SWAP1 00003cbf: PUSH1 0x20 00003cc1: ADD 00003cc2: KECCAK256 00003cc3: CALLER 00003cc4: PUSH2 0x0059 00003cc7: PUSH1 0x20 00003cc9: SHL 00003cca: PUSH1 0x20 00003ccc: SHR 00003ccd: JUMP 00003cce: JUMPDEST 00003ccf: PUSH2 0x007f 00003cd2: JUMP 00003cd3: JUMPDEST 00003cd4: PUSH2 0x006b 00003cd7: DUP3 00003cd8: PUSH2 0x0066 00003cdb: DUP4 00003cdc: PUSH2 0x006f 00003cdf: JUMP 00003ce0: JUMPDEST 00003ce1: PUSH2 0x007b 00003ce4: JUMP 00003ce5: JUMPDEST 00003ce6: POP 00003ce7: POP 00003ce8: JUMP 00003ce9: JUMPDEST 00003cea: PUSH1 0x01 00003cec: PUSH1 0x01 00003cee: PUSH1 0xa0 00003cf0: SHL 00003cf1: SUB 00003cf2: AND 00003cf3: SWAP1 00003cf4: JUMP 00003cf5: JUMPDEST 00003cf6: SWAP1 00003cf7: SSTORE 00003cf8: JUMP 00003cf9: JUMPDEST 00003cfa: PUSH2 0x0588 00003cfd: DUP1 00003cfe: PUSH2 0x008e 00003d01: PUSH1 0x00 00003d03: CODECOPY 00003d04: PUSH1 0x00 00003d06: RETURN 00003d07: INVALID 00003d08: PUSH1 0x80 00003d0a: PUSH1 0x40 00003d0c: MSTORE 00003d0d: PUSH1 0x04 00003d0f: CALLDATASIZE 00003d10: LT 00003d11: PUSH2 0x0086 00003d14: JUMPI 00003d15: PUSH1 0x00 00003d17: CALLDATALOAD 00003d18: PUSH1 0xe0 00003d1a: SHR 00003d1b: DUP1 00003d1c: PUSH4 0x9d84ae69 00003d21: GT 00003d22: PUSH2 0x0059 00003d25: JUMPI 00003d26: DUP1 00003d27: PUSH4 0x9d84ae69 00003d2c: EQ 00003d2d: PUSH2 0x015a 00003d30: JUMPI 00003d31: DUP1 00003d32: PUSH4 0xaaf10f42 00003d37: EQ 00003d38: PUSH2 0x0184 00003d3b: JUMPI 00003d3c: DUP1 00003d3d: PUSH4 0xbb15ac8e 00003d42: EQ 00003d43: PUSH2 0x0199 00003d46: JUMPI 00003d47: DUP1 00003d48: PUSH4 0xcaaee91c 00003d4d: EQ 00003d4e: PUSH2 0x01d7 00003d51: JUMPI 00003d52: DUP1 00003d53: PUSH4 0xd784d426 00003d58: EQ 00003d59: PUSH2 0x020a 00003d5c: JUMPI 00003d5d: PUSH2 0x0086 00003d60: JUMP 00003d61: JUMPDEST 00003d62: DUP1 00003d63: PUSH4 0x1ab7710d 00003d68: EQ 00003d69: PUSH2 0x0090 00003d6c: JUMPI 00003d6d: DUP1 00003d6e: PUSH4 0x37a440e6 00003d73: EQ 00003d74: PUSH2 0x00c1 00003d77: JUMPI 00003d78: DUP1 00003d79: PUSH4 0x5ced058e 00003d7e: EQ 00003d7f: PUSH2 0x00fd 00003d82: JUMPI 00003d83: DUP1 00003d84: PUSH4 0x82c947b7 00003d89: EQ 00003d8a: PUSH2 0x0127 00003d8d: JUMPI 00003d8e: JUMPDEST 00003d8f: PUSH2 0x008e 00003d92: PUSH2 0x023d 00003d95: JUMP 00003d96: JUMPDEST 00003d97: STOP 00003d98: JUMPDEST 00003d99: CALLVALUE 00003d9a: DUP1 00003d9b: ISZERO 00003d9c: PUSH2 0x009c 00003d9f: JUMPI 00003da0: PUSH1 0x00 00003da2: DUP1 00003da3: REVERT 00003da4: JUMPDEST 00003da5: POP 00003da6: PUSH2 0x00a5 00003da9: PUSH2 0x02ab 00003dac: JUMP 00003dad: JUMPDEST 00003dae: PUSH1 0x40 00003db0: DUP1 00003db1: MLOAD 00003db2: PUSH1 0x01 00003db4: PUSH1 0x01 00003db6: PUSH1 0xa0 00003db8: SHL 00003db9: SUB 00003dba: SWAP1 00003dbb: SWAP3 00003dbc: AND 00003dbd: DUP3 00003dbe: MSTORE 00003dbf: MLOAD 00003dc0: SWAP1 00003dc1: DUP2 00003dc2: SWAP1 00003dc3: SUB 00003dc4: PUSH1 0x20 00003dc6: ADD 00003dc7: SWAP1 00003dc8: RETURN 00003dc9: JUMPDEST 00003dca: CALLVALUE 00003dcb: DUP1 00003dcc: ISZERO 00003dcd: PUSH2 0x00cd 00003dd0: JUMPI 00003dd1: PUSH1 0x00 00003dd3: DUP1 00003dd4: REVERT 00003dd5: JUMPDEST 00003dd6: POP 00003dd7: PUSH2 0x00eb 00003dda: PUSH1 0x04 00003ddc: DUP1 00003ddd: CALLDATASIZE 00003dde: SUB 00003ddf: PUSH1 0x20 00003de1: DUP2 00003de2: LT 00003de3: ISZERO 00003de4: PUSH2 0x00e4 00003de7: JUMPI 00003de8: PUSH1 0x00 00003dea: DUP1 00003deb: REVERT 00003dec: JUMPDEST 00003ded: POP 00003dee: CALLDATALOAD 00003def: PUSH2 0x02ee 00003df2: JUMP 00003df3: JUMPDEST 00003df4: PUSH1 0x40 00003df6: DUP1 00003df7: MLOAD 00003df8: SWAP2 00003df9: DUP3 00003dfa: MSTORE 00003dfb: MLOAD 00003dfc: SWAP1 00003dfd: DUP2 00003dfe: SWAP1 00003dff: SUB 00003e00: PUSH1 0x20 00003e02: ADD 00003e03: SWAP1 00003e04: RETURN 00003e05: JUMPDEST 00003e06: CALLVALUE 00003e07: DUP1 00003e08: ISZERO 00003e09: PUSH2 0x0109 00003e0c: JUMPI 00003e0d: PUSH1 0x00 00003e0f: DUP1 00003e10: REVERT 00003e11: JUMPDEST 00003e12: POP 00003e13: PUSH2 0x00a5 00003e16: PUSH1 0x04 00003e18: DUP1 00003e19: CALLDATASIZE 00003e1a: SUB 00003e1b: PUSH1 0x20 00003e1d: DUP2 00003e1e: LT 00003e1f: ISZERO 00003e20: PUSH2 0x0120 00003e23: JUMPI 00003e24: PUSH1 0x00 00003e26: DUP1 00003e27: REVERT 00003e28: JUMPDEST 00003e29: POP 00003e2a: CALLDATALOAD 00003e2b: PUSH2 0x02f2 00003e2e: JUMP 00003e2f: JUMPDEST 00003e30: CALLVALUE 00003e31: DUP1 00003e32: ISZERO 00003e33: PUSH2 0x0133 00003e36: JUMPI 00003e37: PUSH1 0x00 00003e39: DUP1 00003e3a: REVERT 00003e3b: JUMPDEST 00003e3c: POP 00003e3d: PUSH2 0x00eb 00003e40: PUSH1 0x04 00003e42: DUP1 00003e43: CALLDATASIZE 00003e44: SUB 00003e45: PUSH1 0x20 00003e47: DUP2 00003e48: LT 00003e49: ISZERO 00003e4a: PUSH2 0x014a 00003e4d: JUMPI 00003e4e: PUSH1 0x00 00003e50: DUP1 00003e51: REVERT 00003e52: JUMPDEST 00003e53: POP 00003e54: CALLDATALOAD 00003e55: PUSH1 0x01 00003e57: PUSH1 0x01 00003e59: PUSH1 0xa0 00003e5b: SHL 00003e5c: SUB 00003e5d: AND 00003e5e: PUSH2 0x02f5 00003e61: JUMP 00003e62: JUMPDEST 00003e63: CALLVALUE 00003e64: DUP1 00003e65: ISZERO 00003e66: PUSH2 0x0166 00003e69: JUMPI 00003e6a: PUSH1 0x00 00003e6c: DUP1 00003e6d: REVERT 00003e6e: JUMPDEST 00003e6f: POP 00003e70: PUSH2 0x00a5 00003e73: PUSH1 0x04 00003e75: DUP1 00003e76: CALLDATASIZE 00003e77: SUB 00003e78: PUSH1 0x20 00003e7a: DUP2 00003e7b: LT 00003e7c: ISZERO 00003e7d: PUSH2 0x017d 00003e80: JUMPI 00003e81: PUSH1 0x00 00003e83: DUP1 00003e84: REVERT 00003e85: JUMPDEST 00003e86: POP 00003e87: CALLDATALOAD 00003e88: PUSH2 0x0301 00003e8b: JUMP 00003e8c: JUMPDEST 00003e8d: CALLVALUE 00003e8e: DUP1 00003e8f: ISZERO 00003e90: PUSH2 0x0190 00003e93: JUMPI 00003e94: PUSH1 0x00 00003e96: DUP1 00003e97: REVERT 00003e98: JUMPDEST 00003e99: POP 00003e9a: PUSH2 0x00a5 00003e9d: PUSH2 0x031a 00003ea0: JUMP 00003ea1: JUMPDEST 00003ea2: CALLVALUE 00003ea3: DUP1 00003ea4: ISZERO 00003ea5: PUSH2 0x01a5 00003ea8: JUMPI 00003ea9: PUSH1 0x00 00003eab: DUP1 00003eac: REVERT 00003ead: JUMPDEST 00003eae: POP 00003eaf: PUSH2 0x01c3 00003eb2: PUSH1 0x04 00003eb4: DUP1 00003eb5: CALLDATASIZE 00003eb6: SUB 00003eb7: PUSH1 0x20 00003eb9: DUP2 00003eba: LT 00003ebb: ISZERO 00003ebc: PUSH2 0x01bc 00003ebf: JUMPI 00003ec0: PUSH1 0x00 00003ec2: DUP1 00003ec3: REVERT 00003ec4: JUMPDEST 00003ec5: POP 00003ec6: CALLDATALOAD 00003ec7: PUSH2 0x0361 00003eca: JUMP 00003ecb: JUMPDEST 00003ecc: PUSH1 0x40 00003ece: DUP1 00003ecf: MLOAD 00003ed0: SWAP2 00003ed1: ISZERO 00003ed2: ISZERO 00003ed3: DUP3 00003ed4: MSTORE 00003ed5: MLOAD 00003ed6: SWAP1 00003ed7: DUP2 00003ed8: SWAP1 00003ed9: SUB 00003eda: PUSH1 0x20 00003edc: ADD 00003edd: SWAP1 00003ede: RETURN 00003edf: JUMPDEST 00003ee0: CALLVALUE 00003ee1: DUP1 00003ee2: ISZERO 00003ee3: PUSH2 0x01e3 00003ee6: JUMPI 00003ee7: PUSH1 0x00 00003ee9: DUP1 00003eea: REVERT 00003eeb: JUMPDEST 00003eec: POP 00003eed: PUSH2 0x008e 00003ef0: PUSH1 0x04 00003ef2: DUP1 00003ef3: CALLDATASIZE 00003ef4: SUB 00003ef5: PUSH1 0x20 00003ef7: DUP2 00003ef8: LT 00003ef9: ISZERO 00003efa: PUSH2 0x01fa 00003efd: JUMPI 00003efe: PUSH1 0x00 00003f00: DUP1 00003f01: REVERT 00003f02: JUMPDEST 00003f03: POP 00003f04: CALLDATALOAD 00003f05: PUSH1 0x01 00003f07: PUSH1 0x01 00003f09: PUSH1 0xa0 00003f0b: SHL 00003f0c: SUB 00003f0d: AND 00003f0e: PUSH2 0x0375 00003f11: JUMP 00003f12: JUMPDEST 00003f13: CALLVALUE 00003f14: DUP1 00003f15: ISZERO 00003f16: PUSH2 0x0216 00003f19: JUMPI 00003f1a: PUSH1 0x00 00003f1c: DUP1 00003f1d: REVERT 00003f1e: JUMPDEST 00003f1f: POP 00003f20: PUSH2 0x008e 00003f23: PUSH1 0x04 00003f25: DUP1 00003f26: CALLDATASIZE 00003f27: SUB 00003f28: PUSH1 0x20 00003f2a: DUP2 00003f2b: LT 00003f2c: ISZERO 00003f2d: PUSH2 0x022d 00003f30: JUMPI 00003f31: PUSH1 0x00 00003f33: DUP1 00003f34: REVERT 00003f35: JUMPDEST 00003f36: POP 00003f37: CALLDATALOAD 00003f38: PUSH1 0x01 00003f3a: PUSH1 0x01 00003f3c: PUSH1 0xa0 00003f3e: SHL 00003f3f: SUB 00003f40: AND 00003f41: PUSH2 0x0440 00003f44: JUMP 00003f45: JUMPDEST 00003f46: PUSH1 0x00 00003f48: PUSH2 0x0284 00003f4b: PUSH1 0x40 00003f4d: MLOAD 00003f4e: PUSH1 0x20 00003f50: ADD 00003f51: DUP1 00003f52: DUP1 00003f53: PUSH19 0x12535413115351539510551253d397d4d313d5 00003f67: PUSH1 0x6a 00003f69: SHL 00003f6a: DUP2 00003f6b: MSTORE 00003f6c: POP 00003f6d: PUSH1 0x13 00003f6f: ADD 00003f70: SWAP1 00003f71: POP 00003f72: PUSH1 0x40 00003f74: MLOAD 00003f75: PUSH1 0x20 00003f77: DUP2 00003f78: DUP4 00003f79: SUB 00003f7a: SUB 00003f7b: DUP2 00003f7c: MSTORE 00003f7d: SWAP1 00003f7e: PUSH1 0x40 00003f80: MSTORE 00003f81: DUP1 00003f82: MLOAD 00003f83: SWAP1 00003f84: PUSH1 0x20 00003f86: ADD 00003f87: KECCAK256 00003f88: PUSH2 0x0301 00003f8b: JUMP 00003f8c: JUMPDEST 00003f8d: SWAP1 00003f8e: POP 00003f8f: PUSH1 0x40 00003f91: MLOAD 00003f92: CALLDATASIZE 00003f93: PUSH1 0x00 00003f95: DUP3 00003f96: CALLDATACOPY 00003f97: PUSH1 0x00 00003f99: DUP1 00003f9a: CALLDATASIZE 00003f9b: DUP4 00003f9c: DUP6 00003f9d: GAS 00003f9e: DELEGATECALL 00003f9f: RETURNDATASIZE 00003fa0: DUP1 00003fa1: PUSH1 0x00 00003fa3: DUP5 00003fa4: RETURNDATACOPY 00003fa5: DUP2 00003fa6: DUP1 00003fa7: ISZERO 00003fa8: PUSH2 0x02a7 00003fab: JUMPI 00003fac: DUP2 00003fad: DUP5 00003fae: RETURN 00003faf: JUMPDEST 00003fb0: DUP2 00003fb1: DUP5 00003fb2: REVERT 00003fb3: JUMPDEST 00003fb4: PUSH1 0x00 00003fb6: PUSH2 0x02e9 00003fb9: PUSH1 0x40 00003fbb: MLOAD 00003fbc: PUSH1 0x20 00003fbe: ADD 00003fbf: DUP1 00003fc0: DUP1 00003fc1: PUSH10 0x13d5d3915497d4d313d5 00003fcc: PUSH1 0xb2 00003fce: SHL 00003fcf: DUP2 00003fd0: MSTORE 00003fd1: POP 00003fd2: PUSH1 0x0a 00003fd4: ADD 00003fd5: SWAP1 00003fd6: POP 00003fd7: PUSH1 0x40 00003fd9: MLOAD 00003fda: PUSH1 0x20 00003fdc: DUP2 00003fdd: DUP4 00003fde: SUB 00003fdf: SUB 00003fe0: DUP2 00003fe1: MSTORE 00003fe2: SWAP1 00003fe3: PUSH1 0x40 00003fe5: MSTORE 00003fe6: DUP1 00003fe7: MLOAD 00003fe8: SWAP1 00003fe9: PUSH1 0x20 00003feb: ADD 00003fec: KECCAK256 00003fed: PUSH2 0x0301 00003ff0: JUMP 00003ff1: JUMPDEST 00003ff2: SWAP1 00003ff3: POP 00003ff4: SWAP1 00003ff5: JUMP 00003ff6: JUMPDEST 00003ff7: SLOAD 00003ff8: SWAP1 00003ff9: JUMP 00003ffa: JUMPDEST 00003ffb: SWAP1 00003ffc: JUMP 00003ffd: JUMPDEST 00003ffe: PUSH1 0x01 00004000: PUSH1 0x01 00004002: PUSH1 0xa0 00004004: SHL 00004005: SUB 00004006: AND 00004007: SWAP1 00004008: JUMP 00004009: JUMPDEST 0000400a: PUSH1 0x00 0000400c: PUSH2 0x0314 0000400f: PUSH2 0x030f 00004012: DUP4 00004013: PUSH2 0x02ee 00004016: JUMP 00004017: JUMPDEST 00004018: PUSH2 0x02f2 0000401b: JUMP 0000401c: JUMPDEST 0000401d: SWAP3 0000401e: SWAP2 0000401f: POP 00004020: POP 00004021: JUMP 00004022: JUMPDEST 00004023: PUSH1 0x00 00004025: PUSH2 0x02e9 00004028: PUSH1 0x40 0000402a: MLOAD 0000402b: PUSH1 0x20 0000402d: ADD 0000402e: DUP1 0000402f: DUP1 00004030: PUSH19 0x12535413115351539510551253d397d4d313d5 00004044: PUSH1 0x6a 00004046: SHL 00004047: DUP2 00004048: MSTORE 00004049: POP 0000404a: PUSH1 0x13 0000404c: ADD 0000404d: SWAP1 0000404e: POP 0000404f: PUSH1 0x40 00004051: MLOAD 00004052: PUSH1 0x20 00004054: DUP2 00004055: DUP4 00004056: SUB 00004057: SUB 00004058: DUP2 00004059: MSTORE 0000405a: SWAP1 0000405b: PUSH1 0x40 0000405d: MSTORE 0000405e: DUP1 0000405f: MLOAD 00004060: SWAP1 00004061: PUSH1 0x20 00004063: ADD 00004064: KECCAK256 00004065: PUSH2 0x0301 00004068: JUMP 00004069: JUMPDEST 0000406a: PUSH1 0x00 0000406c: PUSH1 0x01 0000406e: PUSH2 0x036e 00004071: DUP4 00004072: PUSH2 0x02ee 00004075: JUMP 00004076: JUMPDEST 00004077: EQ 00004078: SWAP3 00004079: SWAP2 0000407a: POP 0000407b: POP 0000407c: JUMP 0000407d: JUMPDEST 0000407e: PUSH2 0x03b1 00004081: PUSH1 0x40 00004083: MLOAD 00004084: PUSH1 0x20 00004086: ADD 00004087: DUP1 00004088: DUP1 00004089: PUSH10 0x13d5d3915497d4d313d5 00004094: PUSH1 0xb2 00004096: SHL 00004097: DUP2 00004098: MSTORE 00004099: POP 0000409a: PUSH1 0x0a 0000409c: ADD 0000409d: SWAP1 0000409e: POP 0000409f: PUSH1 0x40 000040a1: MLOAD 000040a2: PUSH1 0x20 000040a4: DUP2 000040a5: DUP4 000040a6: SUB 000040a7: SUB 000040a8: DUP2 000040a9: MSTORE 000040aa: SWAP1 000040ab: PUSH1 0x40 000040ad: MSTORE 000040ae: DUP1 000040af: MLOAD 000040b0: SWAP1 000040b1: PUSH1 0x20 000040b3: ADD 000040b4: KECCAK256 000040b5: PUSH2 0x0301 000040b8: JUMP 000040b9: JUMPDEST 000040ba: PUSH1 0x01 000040bc: PUSH1 0x01 000040be: PUSH1 0xa0 000040c0: SHL 000040c1: SUB 000040c2: AND 000040c3: CALLER 000040c4: PUSH1 0x01 000040c6: PUSH1 0x01 000040c8: PUSH1 0xa0 000040ca: SHL 000040cb: SUB 000040cc: AND 000040cd: EQ 000040ce: PUSH2 0x0400 000040d1: JUMPI 000040d2: PUSH1 0x40 000040d4: MLOAD 000040d5: PUSH3 0x461bcd 000040d9: PUSH1 0xe5 000040db: SHL 000040dc: DUP2 000040dd: MSTORE 000040de: PUSH1 0x04 000040e0: ADD 000040e1: DUP1 000040e2: DUP1 000040e3: PUSH1 0x20 000040e5: ADD 000040e6: DUP3 000040e7: DUP2 000040e8: SUB 000040e9: DUP3 000040ea: MSTORE 000040eb: PUSH1 0x2b 000040ed: DUP2 000040ee: MSTORE 000040ef: PUSH1 0x20 000040f1: ADD 000040f2: DUP1 000040f3: PUSH2 0x0528 000040f6: PUSH1 0x2b 000040f8: SWAP2 000040f9: CODECOPY 000040fa: PUSH1 0x40 000040fc: ADD 000040fd: SWAP2 000040fe: POP 000040ff: POP 00004100: PUSH1 0x40 00004102: MLOAD 00004103: DUP1 00004104: SWAP2 00004105: SUB 00004106: SWAP1 00004107: REVERT 00004108: JUMPDEST 00004109: PUSH2 0x043d 0000410c: PUSH1 0x40 0000410e: MLOAD 0000410f: PUSH1 0x20 00004111: ADD 00004112: DUP1 00004113: DUP1 00004114: PUSH10 0x13d5d3915497d4d313d5 0000411f: PUSH1 0xb2 00004121: SHL 00004122: DUP2 00004123: MSTORE 00004124: POP 00004125: PUSH1 0x0a 00004127: ADD 00004128: SWAP1 00004129: POP 0000412a: PUSH1 0x40 0000412c: MLOAD 0000412d: PUSH1 0x20 0000412f: DUP2 00004130: DUP4 00004131: SUB 00004132: SUB 00004133: DUP2 00004134: MSTORE 00004135: SWAP1 00004136: PUSH1 0x40 00004138: MSTORE 00004139: DUP1 0000413a: MLOAD 0000413b: SWAP1 0000413c: PUSH1 0x20 0000413e: ADD 0000413f: KECCAK256 00004140: DUP3 00004141: PUSH2 0x050d 00004144: JUMP 00004145: JUMPDEST 00004146: POP 00004147: JUMP 00004148: JUMPDEST 00004149: PUSH2 0x047c 0000414c: PUSH1 0x40 0000414e: MLOAD 0000414f: PUSH1 0x20 00004151: ADD 00004152: DUP1 00004153: DUP1 00004154: PUSH10 0x13d5d3915497d4d313d5 0000415f: PUSH1 0xb2 00004161: SHL 00004162: DUP2 00004163: MSTORE 00004164: POP 00004165: PUSH1 0x0a 00004167: ADD 00004168: SWAP1 00004169: POP 0000416a: PUSH1 0x40 0000416c: MLOAD 0000416d: PUSH1 0x20 0000416f: DUP2 00004170: DUP4 00004171: SUB 00004172: SUB 00004173: DUP2 00004174: MSTORE 00004175: SWAP1 00004176: PUSH1 0x40 00004178: MSTORE 00004179: DUP1 0000417a: MLOAD 0000417b: SWAP1 0000417c: PUSH1 0x20 0000417e: ADD 0000417f: KECCAK256 00004180: PUSH2 0x0301 00004183: JUMP 00004184: JUMPDEST 00004185: PUSH1 0x01 00004187: PUSH1 0x01 00004189: PUSH1 0xa0 0000418b: SHL 0000418c: SUB 0000418d: AND 0000418e: CALLER 0000418f: PUSH1 0x01 00004191: PUSH1 0x01 00004193: PUSH1 0xa0 00004195: SHL 00004196: SUB 00004197: AND 00004198: EQ 00004199: PUSH2 0x04cb 0000419c: JUMPI 0000419d: PUSH1 0x40 0000419f: MLOAD 000041a0: PUSH3 0x461bcd 000041a4: PUSH1 0xe5 000041a6: SHL 000041a7: DUP2 000041a8: MSTORE 000041a9: PUSH1 0x04 000041ab: ADD 000041ac: DUP1 000041ad: DUP1 000041ae: PUSH1 0x20 000041b0: ADD 000041b1: DUP3 000041b2: DUP2 000041b3: SUB 000041b4: DUP3 000041b5: MSTORE 000041b6: PUSH1 0x2b 000041b8: DUP2 000041b9: MSTORE 000041ba: PUSH1 0x20 000041bc: ADD 000041bd: DUP1 000041be: PUSH2 0x0528 000041c1: PUSH1 0x2b 000041c3: SWAP2 000041c4: CODECOPY 000041c5: PUSH1 0x40 000041c7: ADD 000041c8: SWAP2 000041c9: POP 000041ca: POP 000041cb: PUSH1 0x40 000041cd: MLOAD 000041ce: DUP1 000041cf: SWAP2 000041d0: SUB 000041d1: SWAP1 000041d2: REVERT 000041d3: JUMPDEST 000041d4: PUSH2 0x043d 000041d7: PUSH1 0x40 000041d9: MLOAD 000041da: PUSH1 0x20 000041dc: ADD 000041dd: DUP1 000041de: DUP1 000041df: PUSH19 0x12535413115351539510551253d397d4d313d5 000041f3: PUSH1 0x6a 000041f5: SHL 000041f6: DUP2 000041f7: MSTORE 000041f8: POP 000041f9: PUSH1 0x13 000041fb: ADD 000041fc: SWAP1 000041fd: POP 000041fe: PUSH1 0x40 00004200: MLOAD 00004201: PUSH1 0x20 00004203: DUP2 00004204: DUP4 00004205: SUB 00004206: SUB 00004207: DUP2 00004208: MSTORE 00004209: SWAP1 0000420a: PUSH1 0x40 0000420c: MSTORE 0000420d: DUP1 0000420e: MLOAD 0000420f: SWAP1 00004210: PUSH1 0x20 00004212: ADD 00004213: KECCAK256 00004214: DUP3 00004215: JUMPDEST 00004216: PUSH2 0x051f 00004219: DUP3 0000421a: PUSH2 0x051a 0000421d: DUP4 0000421e: PUSH2 0x02f5 00004221: JUMP 00004222: JUMPDEST 00004223: PUSH2 0x0523 00004226: JUMP 00004227: JUMPDEST 00004228: POP 00004229: POP 0000422a: JUMP 0000422b: JUMPDEST 0000422c: SWAP1 0000422d: SSTORE 0000422e: JUMP 0000422f: INVALID 00004230: POP 00004231: POP 00004232: PUSH19 0x6f78792e6f6e6c7950726f78794f776e65723a 00004246: KECCAK256 00004247: PUSH14 0x73672073656e646572206e6f7420 00004256: PUSH16 0x776e6572a26469706673582212201304 00004267: PC 00004268: STOP 00004269: RETURN 0000426a: LOG0 0000426b: UNKNOWN(0xF8) 0000426c: UNKNOWN(0xB4) 0000426d: BASEFEE 0000426e: CHAINID 0000426f: UNKNOWN(0xCC) 00004270: UNKNOWN(0xDC) 00004271: UNKNOWN(0xE4) 00004272: UNKNOWN(0xBE) 00004273: PUSH31 0xa9edb399b703cac8c007f15cb93a4b204a64736f6c63430007020033a26469 00004293: PUSH17 0x6673582212204133693e20a368be9a564d 000042a5: UNKNOWN(0xDE) 000042a6: UNKNOWN(0xC0) 000042a7: UNKNOWN(0xC4) 000042a8: OR 000042a9: UNKNOWN(0xA5) 000042aa: OR 000042ab: CALLDATACOPY 000042ac: SWAP2 000042ad: UNKNOWN(0xC2) 000042ae: SWAP2 000042af: PUSH6 0x852da247153c 000042b6: PUSH10 0xb4dfc664736f6c634300 000042c1: SMOD 000042c2: MUL 000042c3: STOP 000042c4: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0xb7ff7a94e6bfa2e582fd9dfcec83ebb63d4e7faa867ea1e5889877a5836e06eb
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0xb7ff7a94e6bfa2e582fd9dfcec83ebb63d4e7faa867ea1e5889877a5836e06eb",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xb688a363",
"selector": "0xb688a363",
"calldata_variants": [
"0xb688a363",
"0xb688a3630000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb7a906ec",
"selector": "0xb7a906ec",
"calldata_variants": [
"0xb7a906ec",
"0xb7a906ec0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd38b576d",
"selector": "0xd38b576d",
"calldata_variants": [
"0xd38b576d",
"0xd38b576d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd5f39488",
"selector": "0xd5f39488",
"calldata_variants": [
"0xd5f39488",
"0xd5f394880000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee6a934c",
"selector": "0xee6a934c",
"calldata_variants": [
"0xee6a934c",
"0xee6a934c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf77c4791",
"selector": "0xf77c4791",
"calldata_variants": [
"0xf77c4791",
"0xf77c47910000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8ae7b77e",
"selector": "0x8ae7b77e",
"calldata_variants": [
"0x8ae7b77e",
"0x8ae7b77e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x92eefe9b",
"selector": "0x92eefe9b",
"calldata_variants": [
"0x92eefe9b",
"0x92eefe9b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 16286,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 1,
"untrusted_delegatecall_count": 1
}
|
| high | auth | codex | Unprotected governance token initialization lets attacker become minter and drain DAO ETH | 85 | no | — |
viewevidence_json{
"evidence": "ElasticGovernanceToken.initialize is external and lacks any access control beyond initialized=false, but it sets daoAddress/minter/burner. Once attacker sets minter, mintShares is callable by them, and ElasticDAO.exit pays ETH based on share balance.",
"locations": [
"contracts/src/tokens/ElasticGovernanceToken.sol:62",
"contracts/src/tokens/ElasticGovernanceToken.sol:74",
"contracts/src/tokens/ElasticGovernanceToken.sol:300",
"contracts/src/core/ElasticDAO.sol:204"
],
"recommendation": "Restrict ElasticGovernanceToken.initialize to the DAO (or a trusted deployer) and/or make initialization happen atomically in the DAO deployment flow so no external account can front\u2011run. Consider an initializer modifier that enforces msg.sender == _ecosystem.daoAddress.",
"exploit_scenario": "1) After ElasticDAO.initialize deploys the governance token proxy but before the deployer calls initializeToken, attacker calls ElasticGovernanceToken.initialize on the proxy, setting _minter/_burner to themselves and passing the DAO\u2019s Ecosystem.Instance (via ElasticDAO.getEcosystem) so storage is wired to the real DAO.\n2) Once the DAO is seeded/summoned and holds ETH, attacker calls mintShares(attacker, huge_amount) as the authorized minter.\n3) Attacker calls ElasticDAO.exit(huge_amount) to burn the forged shares and withdraw nearly all ETH proportional to their inflated share count.\nProfit potential: up to the entire ETH balance held by the DAO (seeded + joined ETH)."
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x92d006c7e96bc8ac2106febda5a37a3a58175d841047f0950bab56419e585306
call_targets:
0x4f40e2f1edf9999124b2fcf26b04821e6ca7196d
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x92d006c7e96bc8ac2106febda5a37a3a58175d841047f0950bab56419e585306",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x4f40e2f1edf9999124b2fcf26b04821e6ca7196d"
],
"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": "0xb688a363",
"selector": "0xb688a363",
"calldata_variants": [
"0xb688a363",
"0xb688a3630000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb7a906ec",
"selector": "0xb7a906ec",
"calldata_variants": [
"0xb7a906ec",
"0xb7a906ec0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd38b576d",
"selector": "0xd38b576d",
"calldata_variants": [
"0xd38b576d",
"0xd38b576d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd5f39488",
"selector": "0xd5f39488",
"calldata_variants": [
"0xd5f39488",
"0xd5f394880000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee6a934c",
"selector": "0xee6a934c",
"calldata_variants": [
"0xee6a934c",
"0xee6a934c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf77c4791",
"selector": "0xf77c4791",
"calldata_variants": [
"0xf77c4791",
"0xf77c47910000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8ae7b77e",
"selector": "0x8ae7b77e",
"calldata_variants": [
"0x8ae7b77e",
"0x8ae7b77e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x92eefe9b",
"selector": "0x92eefe9b",
"calldata_variants": [
"0x92eefe9b",
"0x92eefe9b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2121,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2273,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3423,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 20,
"guards_detected": [],
"untrusted_call_count": 20
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x92d006c7e96bc8ac2106febda5a37a3a58175d841047f0950bab56419e585306
call_targets:
0x4f40e2f1edf9999124b2fcf26b04821e6ca7196d
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x92d006c7e96bc8ac2106febda5a37a3a58175d841047f0950bab56419e585306",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x4f40e2f1edf9999124b2fcf26b04821e6ca7196d"
],
"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": "0xb688a363",
"selector": "0xb688a363",
"calldata_variants": [
"0xb688a363",
"0xb688a3630000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb7a906ec",
"selector": "0xb7a906ec",
"calldata_variants": [
"0xb7a906ec",
"0xb7a906ec0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd38b576d",
"selector": "0xd38b576d",
"calldata_variants": [
"0xd38b576d",
"0xd38b576d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd5f39488",
"selector": "0xd5f39488",
"calldata_variants": [
"0xd5f39488",
"0xd5f394880000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee6a934c",
"selector": "0xee6a934c",
"calldata_variants": [
"0xee6a934c",
"0xee6a934c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf77c4791",
"selector": "0xf77c4791",
"calldata_variants": [
"0xf77c4791",
"0xf77c47910000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8ae7b77e",
"selector": "0x8ae7b77e",
"calldata_variants": [
"0x8ae7b77e",
"0x8ae7b77e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x92eefe9b",
"selector": "0x92eefe9b",
"calldata_variants": [
"0x92eefe9b",
"0x92eefe9b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2121,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2273,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3423,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 20,
"guards_detected": []
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0xe0aca105a0159c1d5f46d63a4efaab544c45e3d4b2f3ca47359fdd95179a6223
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0xe0aca105a0159c1d5f46d63a4efaab544c45e3d4b2f3ca47359fdd95179a6223",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xb688a363",
"selector": "0xb688a363",
"calldata_variants": [
"0xb688a363",
"0xb688a3630000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb7a906ec",
"selector": "0xb7a906ec",
"calldata_variants": [
"0xb7a906ec",
"0xb7a906ec0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd38b576d",
"selector": "0xd38b576d",
"calldata_variants": [
"0xd38b576d",
"0xd38b576d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd5f39488",
"selector": "0xd5f39488",
"calldata_variants": [
"0xd5f39488",
"0xd5f394880000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee6a934c",
"selector": "0xee6a934c",
"calldata_variants": [
"0xee6a934c",
"0xee6a934c0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf77c4791",
"selector": "0xf77c4791",
"calldata_variants": [
"0xf77c4791",
"0xf77c47910000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8ae7b77e",
"selector": "0x8ae7b77e",
"calldata_variants": [
"0x8ae7b77e",
"0x8ae7b77e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x92eefe9b",
"selector": "0x92eefe9b",
"calldata_variants": [
"0x92eefe9b",
"0x92eefe9b0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 1,
"create2_count": 0
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 1
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 1,
"create2_count": 0
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 33
}
|
| 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": 35
}
|