368dc22a-e2f4-4de7-b6ef-d1be70122119
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 |
|---|---|---|---|---|
| 30617 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 74698 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 74699 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 74700 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 74701 | capability.graph | complete | 1 / 3 | 1 week ago |
| 74702 | detector.run | complete | 1 / 3 | 1 week ago |
| 74703 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:1000022] OpenAI Codex v0.77.0 (research preview)
[codex:1000022] --------
[codex:1000022] workdir: /tmp/codex-multi-5gmzld6c
[codex:1000022] model: gpt-5.2-codex
[codex:1000022] provider: openai
[codex:1000022] approval: never
[codex:1000022] sandbox: read-only
[codex:1000022] reasoning effort: xhigh
[codex:1000022] reasoning summaries: auto
[codex:1000022] session id: 019b6c70-3ae6-7093-9f2d-c04393be28c4
[codex:1000022] --------
[codex:1000022] user
[codex:1000022] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1000022] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1000022] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1000022]
[codex:1000022] Scope rules:
[codex:1000022] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1000022] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1000022]
[codex:1000022] Output MUST be valid JSON matching the provided schema.
[codex:1000022] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1000022] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1000022]
[codex:1000022] Output constraints (IMPORTANT):
[codex:1000022] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1000022] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1000022] mcp startup: no servers
[codex:1000022]
[codex:1000022] thinking
[codex:1000022] **Reading AUDIT_BUNDLE.txt file**
[codex:1000022] exec
[codex:1000022] /bin/bash -lc ls in /tmp/codex-multi-5gmzld6c succeeded in 7ms:
[codex:1000022] AUDIT_BUNDLE.txt
[codex:1000022] codex-output-schema.json
[codex:1000022] contracts
[codex:1000022] exec
[codex:1000022] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-5gmzld6c succeeded in 7ms:
[codex:1000022] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1000022]
[codex:1000022] ================================================================================
[codex:1000022] FILE: contracts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol
[codex:1000022] ================================================================================
[codex:1000022] // SPDX-License-Identifier: MIT
[codex:1000022] // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol)
[codex:1000022]
[codex:1000022] pragma solidity ^0.8.0;
[codex:1000022]
[codex:1000022] import "../utils/ContextUpgradeable.sol";
[codex:1000022] import "../proxy/utils/Initializable.sol";
[codex:1000022]
[codex:1000022] /**
[codex:1000022] * @dev Contract module which provides a basic access control mechanism, where
[codex:1000022] * there is an account (an owner) that can be granted exclusive access to
[codex:1000022] * specific functions.
[codex:1000022] *
[codex:1000022] * By default, the owner account will be the one that deploys the contract. This
[codex:1000022] * can later be changed with {transferOwnership}.
[codex:1000022]
[codex:1000022]
[codex:1000022] thinking
[codex:1000022] **Analyzing reward pool vulnerabilities**
[codex:1000022] thinking
[codex:1000022] **Examining stake and reward edge cases**
[codex:1000022]
[codex:1000022] I'm looking into potential issues with zero-amount checks and duplicate reward IDs when removing and re-adding rewards in the same block; I notice this could let privileged actors inadvertently allow extra claims, but only via special sequences requiring owner and manager actions.
[codex:1000022] exec
[codex:1000022] /bin/bash -lc "rg --files -g '*.sol' contracts/contracts" in /tmp/codex-multi-5gmzld6c succeeded in 9ms:
[codex:1000022] contracts/contracts/BIFI/infra/BeefyRewardPool.sol
[codex:1000022]
[codex:1000022]
[codex:1000022] thinking
[codex:1000022] **Analyzing potential contract vulnerabilities**
[codex:1000022] thinking
[codex:1000022] **Reviewing upgradeable storage and reentrancy considerations**
[codex:1000022]
[codex:1000022] I'm checking for storage gaps typical in upgradeable contracts and thinking through possible reentrancy risks during token minting and transfers, especially around receipt tokens and ERC777 behaviors. I'm also reflecting on initialization patterns that could allow unintended ownership if the implementation contract is initialized standalone, which is a low-severity upgradeability concern.
[codex:1000022] exec
[codex:1000022] /bin/bash -lc "nl -ba contracts/contracts/BIFI/infra/BeefyRewardPool.sol | sed -n '150,260p'" in /tmp/codex-multi-5gmzld6c succeeded in 7ms:
[codex:1000022] 150 /// @notice Withdraw all of the caller's BIFI tokens and claim rewards
[codex:1000022] 151 /// @dev Burns all receipt tokens owned by the caller
[codex:1000022] 152 function exit() external update(msg.sender) {
[codex:1000022] 153 _withdraw(balanceOf(msg.sender));
[codex:1000022] 154 _getReward();
[codex:1000022] 155 }
[codex:1000022] 156
[codex:1000022] 157 /// @notice Claim all the caller's earned rewards
[codex:1000022] 158 function getReward() external update(msg.sender) {
[codex:1000022] 159 _getReward();
[codex:1000022] 160 }
[codex:1000022] 161
[codex:1000022] 162 /// @notice View the amount of rewards earned by the user
[codex:1000022] 163 /// @param _user User to view the earned rewards for
[codex:1000022] 164 /// @return rewardTokens Address array of the rewards
[codex:1000022] 165 /// @return earnedAmounts Amounts of the user's earned rewards
[codex:1000022] 166 function earned(address _user) external view returns (
[codex:1000022] 167 address[] memory rewardTokens,
[codex:1000022] 168 uint256[] memory earnedAmounts
[codex:1000022] 169 ) {
[codex:1000022]
[codex:1000022] thinking
[codex:1000022] **Continuing code investigation near _stake**
[codex:1000022] exec
[codex:1000022] /bin/bash -lc "nl -ba contracts/contracts/BIFI/infra/BeefyRewardPool.sol | sed -n '300,440p'" in /tmp/codex-multi-5gmzld6c succeeded in 6ms:
[codex:1000022] 300 emit RemoveReward(_reward, _recipient);
[codex:1000022] 301 }
[codex:1000022] 302
[codex:1000022] 303 /// @notice Owner function to remove unsupported tokens sent to this contract
[codex:1000022] 304 /// @param _token Address of the token to be removed
[codex:1000022] 305 /// @param _recipient Address of the recipient that the removed token was sent to
[codex:1000022] 306 function rescueTokens(address _token, address _recipient) external onlyOwner {
[codex:1000022] 307 if (_token == address(stakedToken)) revert WithdrawingStakedToken();
[codex:1000022] 308 if (_rewardExists(_token)) revert WithdrawingRewardToken(_token);
[codex:1000022] 309
[codex:1000022] 310 uint256 amount = IERC20Upgradeable(_token).balanceOf(address(this));
[codex:1000022] 311 IERC20Upgradeable(_token).safeTransfer(_recipient, amount);
[codex:1000022] 312 emit RescueTokens(_token, _recipient);
[codex:1000022] 313 }
[codex:1000022] 314
[codex:1000022] 315 /// @notice Owner function to add addresses to the whitelist
[codex:1000022] 316 /// @param _manager Address able to call manager functions
[codex:1000022] 317 /// @param _whitelisted Whether to add or remove from whitelist
[codex:1000022] 318 function setWhitelist(address _manager, bool _whitelisted) external onlyOwner {
[codex:1000022] 319 whitelisted[_manager] = _whitelisted;
[codex:1000022]
[codex:1000022] thinking
[codex:1000022] **Identifying accounting and upgradeability issues**
[codex:1000022] exec
[codex:1000022] /bin/bash -lc "nl -ba contracts/contracts/BIFI/infra/BeefyRewardPool.sol | sed -n '240,300p'" in /tmp/codex-multi-5gmzld6c succeeded in 7ms:
[codex:1000022] 240 /* ----------------------------------- OWNER FUNCTIONS ------------------------------------ */
[codex:1000022] 241
[codex:1000022] 242 /// @notice Manager function to start a reward distribution
[codex:1000022] 243 /// @dev Must approve this contract to spend the reward amount before calling this function.
[codex:1000022] 244 /// New rewards will be assigned a id using their address and the block timestamp.
[codex:1000022] 245 /// @param _reward Address of the reward
[codex:1000022] 246 /// @param _amount Amount of reward
[codex:1000022] 247 /// @param _duration Duration of the reward distribution in seconds
[codex:1000022] 248 function notifyRewardAmount(
[codex:1000022] 249 address _reward,
[codex:1000022] 250 uint256 _amount,
[codex:1000022] 251 uint256 _duration
[codex:1000022] 252 ) external onlyManager update(address(0)) {
[codex:1000022] 253 if (_reward == address(stakedToken)) revert StakedTokenIsNotAReward();
[codex:1000022] 254 if (_duration < 1 hours) revert ShortDuration(_duration);
[codex:1000022] 255
[codex:1000022] 256 if (!_rewardExists(_reward)) {
[codex:1000022] 257 _id[_reward] = keccak256(abi.encodePacked(_reward, block.timestamp));
[codex:1000022] 258 uint256 rewardLength = rewards.length;
[codex:1000022] 259 if (rewards.length + 1 > rewardMax) revert TooManyRewards();
[codex:1000022]
[codex:1000022] thinking
[codex:1000022] **Locating initialization lines**
[codex:1000022] exec
[codex:1000022] /bin/bash -lc "nl -ba contracts/contracts/BIFI/infra/BeefyRewardPool.sol | sed -n '90,150p'" in /tmp/codex-multi-5gmzld6c succeeded in 6ms:
[codex:1000022] 90 /// @dev Triggers reward updates on every user interaction
[codex:1000022] 91 /// @param _user Address of the user making an interaction
[codex:1000022] 92 modifier update(address _user) {
[codex:1000022] 93 _update(_user);
[codex:1000022] 94 _;
[codex:1000022] 95 }
[codex:1000022] 96
[codex:1000022] 97 /// @dev Only a manager can call these modified functions
[codex:1000022] 98 modifier onlyManager {
[codex:1000022] 99 if (!whitelisted[msg.sender]) revert NotManager(msg.sender);
[codex:1000022] 100 _;
[codex:1000022] 101 }
[codex:1000022] 102
[codex:1000022] 103 /* ---------------------------------- EXTERNAL FUNCTIONS ---------------------------------- */
[codex:1000022] 104
[codex:1000022] 105 /// @notice Initialize the contract, callable only once
[codex:1000022] 106 /// @param _stakedToken BIFI token address
[codex:1000022] 107 function initialize(address _stakedToken) external initializer {
[codex:1000022] 108 __ERC20_init("Beefy Reward Pool", "rBIFI");
[codex:1000022] 109 __Ownable_init();
[codex:1000022]
[codex:1000022] thinking
[codex:1000022] **Analyzing upgradeability and token accounting issues**
[codex:1000022] codex
[codex:1000022] {"no_findings":false,"summary":"Found 2 issues: reward/stake accounting assumes non-deflationary ERC20s, and the initializer is publicly callable if a proxy/implementation is left uninitialized.","findings":[{"severity":"low","category":"math","title":"Fee-on-transfer or rebasing tokens break staking/reward accounting and can zero out user rewards","exploit_scenario":"If the staked token or a reward token charges a transfer fee (or rebases), the contract records amounts using the nominal `_amount` rather than the actual received. For rewards, the rate is computed from `_amount`, but the contract may receive less, so rewards become underfunded; `_rewardTransfer` then caps to balance and zeroes the user’s earned amount, causing permanent reward loss for later claimants. For staking, receipt tokens are minted before the transfer, so fee-on-transfer staking can leave receipt supply greater than underlying, leading to insolvent withdrawals or reverts.","recommendation":"Measure actual received amounts by comparing balances before/after `safeTransferFrom`, and base minting and reward rates on the received amount. Alternatively, explicitly restrict staked/reward tokens to non-deflationary ERC20s and revert if the actual received amount is less than expected. Consider reverting (or tracking shortfalls) if reward funding is insufficient instead of zeroing earned balances.","evidence":"`_stake` mints before transferring the staked token; `notifyRewardAmount` uses `_amount` to set the reward rate without verifying actual received; `_rewardTransfer` caps payout to current balance and earned is set to zero before transfer.","locations":["contracts/contracts/BIFI/infra/BeefyRewardPool.sol:248","contracts/contracts/BIFI/infra/BeefyRewardPool.sol:342","contracts/contracts/BIFI/infra/BeefyRewardPool.sol:425"]},{"severity":"info","category":"upgradeability","title":"Initializer is publicly callable if deployed/left uninitialized","exploit_scenario":"If the proxy is deployed without an atomic initializer call, or if the implementation contract is deployed directly, anyone can call `initialize` first and become the owner. This grants control over whitelisting, reward removal, and token rescues. This is a common upgradeability footgun when initialization is not performed in the same transaction as deployment.","recommendation":"Ensure the proxy is initialized atomically at deployment. Add a constructor that calls `_disableInitializers()` on the implementation to prevent takeovers of the implementation contract itself.","evidence":"`initialize` is an external initializer without additional access control, and there is no constructor disabling initializers.","locations":["contracts/contracts/BIFI/infra/BeefyRewardPool.sol:105"]}]}
[codex:1000022] tokens used
[codex:1000022] 59,404
[codex:1000022] {"no_findings":false,"summary":"Found 2 issues: reward/stake accounting assumes non-deflationary ERC20s, and the initializer is publicly callable if a proxy/implementation is left uninitialized.","findings":[{"severity":"low","category":"math","title":"Fee-on-transfer or rebasing tokens break staking/reward accounting and can zero out user rewards","exploit_scenario":"If the staked token or a reward token charges a transfer fee (or rebases), the contract records amounts using the nominal `_amount` rather than the actual received. For rewards, the rate is computed from `_amount`, but the contract may receive less, so rewards become underfunded; `_rewardTransfer` then caps to balance and zeroes the user’s earned amount, causing permanent reward loss for later claimants. For staking, receipt tokens are minted before the transfer, so fee-on-transfer staking can leave receipt supply greater than underlying, leading to insolvent withdrawals or reverts.","recommendation":"Measure actual received amounts by comparing balances before/after `safeTransferFrom`, and base minting and reward rates on the received amount. Alternatively, explicitly restrict staked/reward tokens to non-deflationary ERC20s and revert if the actual received amount is less than expected. Consider reverting (or tracking shortfalls) if reward funding is insufficient instead of zeroing earned balances.","evidence":"`_stake` mints before transferring the staked token; `notifyRewardAmount` uses `_amount` to set the reward rate without verifying actual received; `_rewardTransfer` caps payout to current balance and earned is set to zero before transfer.","locations":["contracts/contracts/BIFI/infra/BeefyRewardPool.sol:248","contracts/contracts/BIFI/infra/BeefyRewardPool.sol:342","contracts/contracts/BIFI/infra/BeefyRewardPool.sol:425"]},{"severity":"info","category":"upgradeability","title":"Initializer is publicly callable if deployed/left uninitialized","exploit_scenario":"If the proxy is deployed without an atomic initializer call, or if the implementation contract is deployed directly, anyone can call `initialize` first and become the owner. This grants control over whitelisting, reward removal, and token rescues. This is a common upgradeability footgun when initialization is not performed in the same transaction as deployment.","recommendation":"Ensure the proxy is initialized atomically at deployment. Add a constructor that calls `_disableInitializers()` on the implementation to prevent takeovers of the implementation contract itself.","evidence":"`initialize` is an external initializer without additional access control, and there is no constructor disabling initializers.","locations":["contracts/contracts/BIFI/infra/BeefyRewardPool.sol:105"]}]}
{
"codex": {
"ran_at": "2025-12-29T23:32:12.580018+00:00",
"returncode": 0
},
"summary": "Found 2 issues: reward/stake accounting assumes non-deflationary ERC20s, and the initializer is publicly callable if a proxy/implementation is left uninitialized.",
"raw_final": {
"summary": "Found 2 issues: reward/stake accounting assumes non-deflationary ERC20s, and the initializer is publicly callable if a proxy/implementation is left uninitialized.",
"findings": [
{
"title": "Fee-on-transfer or rebasing tokens break staking/reward accounting and can zero out user rewards",
"category": "math",
"evidence": "`_stake` mints before transferring the staked token; `notifyRewardAmount` uses `_amount` to set the reward rate without verifying actual received; `_rewardTransfer` caps payout to current balance and earned is set to zero before transfer.",
"severity": "low",
"locations": [
"contracts/contracts/BIFI/infra/BeefyRewardPool.sol:248",
"contracts/contracts/BIFI/infra/BeefyRewardPool.sol:342",
"contracts/contracts/BIFI/infra/BeefyRewardPool.sol:425"
],
"recommendation": "Measure actual received amounts by comparing balances before/after `safeTransferFrom`, and base minting and reward rates on the received amount. Alternatively, explicitly restrict staked/reward tokens to non-deflationary ERC20s and revert if the actual received amount is less than expected. Consider reverting (or tracking shortfalls) if reward funding is insufficient instead of zeroing earned balances.",
"exploit_scenario": "If the staked token or a reward token charges a transfer fee (or rebases), the contract records amounts using the nominal `_amount` rather than the actual received. For rewards, the rate is computed from `_amount`, but the contract may receive less, so rewards become underfunded; `_rewardTransfer` then caps to balance and zeroes the user\u2019s earned amount, causing permanent reward loss for later claimants. For staking, receipt tokens are minted before the transfer, so fee-on-transfer staking can leave receipt supply greater than underlying, leading to insolvent withdrawals or reverts."
},
{
"title": "Initializer is publicly callable if deployed/left uninitialized",
"category": "upgradeability",
"evidence": "`initialize` is an external initializer without additional access control, and there is no constructor disabling initializers.",
"severity": "info",
"locations": [
"contracts/contracts/BIFI/infra/BeefyRewardPool.sol:105"
],
"recommendation": "Ensure the proxy is initialized atomically at deployment. Add a constructor that calls `_disableInitializers()` on the implementation to prevent takeovers of the implementation contract itself.",
"exploit_scenario": "If the proxy is deployed without an atomic initializer call, or if the implementation contract is deployed directly, anyone can call `initialize` first and become the owner. This grants control over whitelisting, reward removal, and token rescues. This is a common upgradeability footgun when initialization is not performed in the same transaction as deployment."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLVALUE 00000006: DUP1 00000007: ISZERO 00000008: PUSH2 0x0010 0000000b: JUMPI 0000000c: PUSH1 0x00 0000000e: DUP1 0000000f: REVERT 00000010: JUMPDEST 00000011: POP 00000012: PUSH1 0x04 00000014: CALLDATASIZE 00000015: LT 00000016: PUSH2 0x01d9 00000019: JUMPI 0000001a: PUSH1 0x00 0000001c: CALLDATALOAD 0000001d: PUSH1 0xe0 0000001f: SHR 00000020: DUP1 00000021: PUSH4 0x73d6a889 00000026: GT 00000027: PUSH2 0x0104 0000002a: JUMPI 0000002b: DUP1 0000002c: PUSH4 0xa9059cbb 00000031: GT 00000032: PUSH2 0x00a2 00000035: JUMPI 00000036: DUP1 00000037: PUSH4 0xdd62ed3e 0000003c: GT 0000003d: PUSH2 0x0071 00000040: JUMPI 00000041: DUP1 00000042: PUSH4 0xdd62ed3e 00000047: EQ 00000048: PUSH2 0x043b 0000004b: JUMPI 0000004c: DUP1 0000004d: PUSH4 0xe9fad8ee 00000052: EQ 00000053: PUSH2 0x044e 00000056: JUMPI 00000057: DUP1 00000058: PUSH4 0xf2fde38b 0000005d: EQ 0000005e: PUSH2 0x0456 00000061: JUMPI 00000062: DUP1 00000063: PUSH4 0xf301af42 00000068: EQ 00000069: PUSH2 0x0469 0000006c: JUMPI 0000006d: PUSH1 0x00 0000006f: DUP1 00000070: REVERT 00000071: JUMPDEST 00000072: DUP1 00000073: PUSH4 0xa9059cbb 00000078: EQ 00000079: PUSH2 0x03df 0000007c: JUMPI 0000007d: DUP1 0000007e: PUSH4 0xc4d66de8 00000083: EQ 00000084: PUSH2 0x03f2 00000087: JUMPI 00000088: DUP1 00000089: PUSH4 0xcc7a262e 0000008e: EQ 0000008f: PUSH2 0x0405 00000092: JUMPI 00000093: DUP1 00000094: PUSH4 0xd936547e 00000099: EQ 0000009a: PUSH2 0x0418 0000009d: JUMPI 0000009e: PUSH1 0x00 000000a0: DUP1 000000a1: REVERT 000000a2: JUMPDEST 000000a3: DUP1 000000a4: PUSH4 0x95d89b41 000000a9: GT 000000aa: PUSH2 0x00de 000000ad: JUMPI 000000ae: DUP1 000000af: PUSH4 0x95d89b41 000000b4: EQ 000000b5: PUSH2 0x039e 000000b8: JUMPI 000000b9: DUP1 000000ba: PUSH4 0xa3cd8ac4 000000bf: EQ 000000c0: PUSH2 0x03a6 000000c3: JUMPI 000000c4: DUP1 000000c5: PUSH4 0xa457c2d7 000000ca: EQ 000000cb: PUSH2 0x03b9 000000ce: JUMPI 000000cf: DUP1 000000d0: PUSH4 0xa694fc3a 000000d5: EQ 000000d6: PUSH2 0x03cc 000000d9: JUMPI 000000da: PUSH1 0x00 000000dc: DUP1 000000dd: REVERT 000000de: JUMPDEST 000000df: DUP1 000000e0: PUSH4 0x73d6a889 000000e5: EQ 000000e6: PUSH2 0x0321 000000e9: JUMPI 000000ea: DUP1 000000eb: PUSH4 0x81a00f83 000000f0: EQ 000000f1: PUSH2 0x0334 000000f4: JUMPI 000000f5: DUP1 000000f6: PUSH4 0x8da5cb5b 000000fb: EQ 000000fc: PUSH2 0x0379 000000ff: JUMPI 00000100: PUSH1 0x00 00000102: DUP1 00000103: REVERT 00000104: JUMPDEST 00000105: DUP1 00000106: PUSH4 0x2e1a7d4d 0000010b: GT 0000010c: PUSH2 0x017c 0000010f: JUMPI 00000110: DUP1 00000111: PUSH4 0x53d6fd59 00000116: GT 00000117: PUSH2 0x014b 0000011a: JUMPI 0000011b: DUP1 0000011c: PUSH4 0x53d6fd59 00000121: EQ 00000122: PUSH2 0x02ca 00000125: JUMPI 00000126: DUP1 00000127: PUSH4 0x5431c94e 0000012c: EQ 0000012d: PUSH2 0x02dd 00000130: JUMPI 00000131: DUP1 00000132: PUSH4 0x70a08231 00000137: EQ 00000138: PUSH2 0x02f0 0000013b: JUMPI 0000013c: DUP1 0000013d: PUSH4 0x715018a6 00000142: EQ 00000143: PUSH2 0x0319 00000146: JUMPI 00000147: PUSH1 0x00 00000149: DUP1 0000014a: REVERT 0000014b: JUMPDEST 0000014c: DUP1 0000014d: PUSH4 0x2e1a7d4d 00000152: EQ 00000153: PUSH2 0x028d 00000156: JUMPI 00000157: DUP1 00000158: PUSH4 0x313ce567 0000015d: EQ 0000015e: PUSH2 0x02a0 00000161: JUMPI 00000162: DUP1 00000163: PUSH4 0x39509351 00000168: EQ 00000169: PUSH2 0x02af 0000016c: JUMPI 0000016d: DUP1 0000016e: PUSH4 0x3d18b912 00000173: EQ 00000174: PUSH2 0x02c2 00000177: JUMPI 00000178: PUSH1 0x00 0000017a: DUP1 0000017b: REVERT 0000017c: JUMPDEST 0000017d: DUP1 0000017e: PUSH4 0x165d21c9 00000183: GT 00000184: PUSH2 0x01b8 00000187: JUMPI 00000188: DUP1 00000189: PUSH4 0x165d21c9 0000018e: EQ 0000018f: PUSH2 0x0240 00000192: JUMPI 00000193: DUP1 00000194: PUSH4 0x18160ddd 00000199: EQ 0000019a: PUSH2 0x0255 0000019d: JUMPI 0000019e: DUP1 0000019f: PUSH4 0x211dc32d 000001a4: EQ 000001a5: PUSH2 0x0267 000001a8: JUMPI 000001a9: DUP1 000001aa: PUSH4 0x23b872dd 000001af: EQ 000001b0: PUSH2 0x027a 000001b3: JUMPI 000001b4: PUSH1 0x00 000001b6: DUP1 000001b7: REVERT 000001b8: JUMPDEST 000001b9: DUP1 000001ba: PUSH3 0x8cc262 000001be: EQ 000001bf: PUSH2 0x01de 000001c2: JUMPI 000001c3: DUP1 000001c4: PUSH4 0x06fdde03 000001c9: EQ 000001ca: PUSH2 0x0208 000001cd: JUMPI 000001ce: DUP1 000001cf: PUSH4 0x095ea7b3 000001d4: EQ 000001d5: PUSH2 0x021d 000001d8: JUMPI 000001d9: JUMPDEST 000001da: PUSH1 0x00 000001dc: DUP1 000001dd: REVERT 000001de: JUMPDEST 000001df: PUSH2 0x01f1 000001e2: PUSH2 0x01ec 000001e5: CALLDATASIZE 000001e6: PUSH1 0x04 000001e8: PUSH2 0x1f24 000001eb: JUMP 000001ec: JUMPDEST 000001ed: PUSH2 0x047c 000001f0: JUMP 000001f1: JUMPDEST 000001f2: PUSH1 0x40 000001f4: MLOAD 000001f5: PUSH2 0x01ff 000001f8: SWAP3 000001f9: SWAP2 000001fa: SWAP1 000001fb: PUSH2 0x1f3f 000001fe: JUMP 000001ff: JUMPDEST 00000200: PUSH1 0x40 00000202: MLOAD 00000203: DUP1 00000204: SWAP2 00000205: SUB 00000206: SWAP1 00000207: RETURN 00000208: JUMPDEST 00000209: PUSH2 0x0210 0000020c: PUSH2 0x0594 0000020f: JUMP 00000210: JUMPDEST 00000211: PUSH1 0x40 00000213: MLOAD 00000214: PUSH2 0x01ff 00000217: SWAP2 00000218: SWAP1 00000219: PUSH2 0x1fe7 0000021c: JUMP 0000021d: JUMPDEST 0000021e: PUSH2 0x0230 00000221: PUSH2 0x022b 00000224: CALLDATASIZE 00000225: PUSH1 0x04 00000227: PUSH2 0x201a 0000022a: JUMP 0000022b: JUMPDEST 0000022c: PUSH2 0x0626 0000022f: JUMP 00000230: JUMPDEST 00000231: PUSH1 0x40 00000233: MLOAD 00000234: SWAP1 00000235: ISZERO 00000236: ISZERO 00000237: DUP2 00000238: MSTORE 00000239: PUSH1 0x20 0000023b: ADD 0000023c: PUSH2 0x01ff 0000023f: JUMP 00000240: JUMPDEST 00000241: PUSH2 0x0253 00000244: PUSH2 0x024e 00000247: CALLDATASIZE 00000248: PUSH1 0x04 0000024a: PUSH2 0x2044 0000024d: JUMP 0000024e: JUMPDEST 0000024f: PUSH2 0x0640 00000252: JUMP 00000253: JUMPDEST 00000254: STOP 00000255: JUMPDEST 00000256: PUSH1 0x35 00000258: SLOAD 00000259: JUMPDEST 0000025a: PUSH1 0x40 0000025c: MLOAD 0000025d: SWAP1 0000025e: DUP2 0000025f: MSTORE 00000260: PUSH1 0x20 00000262: ADD 00000263: PUSH2 0x01ff 00000266: JUMP 00000267: JUMPDEST 00000268: PUSH2 0x0259 0000026b: PUSH2 0x0275 0000026e: CALLDATASIZE 0000026f: PUSH1 0x04 00000271: PUSH2 0x2044 00000274: JUMP 00000275: JUMPDEST 00000276: PUSH2 0x0820 00000279: JUMP 0000027a: JUMPDEST 0000027b: PUSH2 0x0230 0000027e: PUSH2 0x0288 00000281: CALLDATASIZE 00000282: PUSH1 0x04 00000284: PUSH2 0x2077 00000287: JUMP 00000288: JUMPDEST 00000289: PUSH2 0x0833 0000028c: JUMP 0000028d: JUMPDEST 0000028e: PUSH2 0x0253 00000291: PUSH2 0x029b 00000294: CALLDATASIZE 00000295: PUSH1 0x04 00000297: PUSH2 0x20b3 0000029a: JUMP 0000029b: JUMPDEST 0000029c: PUSH2 0x085a 0000029f: JUMP 000002a0: JUMPDEST 000002a1: PUSH1 0x40 000002a3: MLOAD 000002a4: PUSH1 0x12 000002a6: DUP2 000002a7: MSTORE 000002a8: PUSH1 0x20 000002aa: ADD 000002ab: PUSH2 0x01ff 000002ae: JUMP 000002af: JUMPDEST 000002b0: PUSH2 0x0230 000002b3: PUSH2 0x02bd 000002b6: CALLDATASIZE 000002b7: PUSH1 0x04 000002b9: PUSH2 0x201a 000002bc: JUMP 000002bd: JUMPDEST 000002be: PUSH2 0x0871 000002c1: JUMP 000002c2: JUMPDEST 000002c3: PUSH2 0x0253 000002c6: PUSH2 0x0893 000002c9: JUMP 000002ca: JUMPDEST 000002cb: PUSH2 0x0253 000002ce: PUSH2 0x02d8 000002d1: CALLDATASIZE 000002d2: PUSH1 0x04 000002d4: PUSH2 0x20da 000002d7: JUMP 000002d8: JUMPDEST 000002d9: PUSH2 0x08a8 000002dc: JUMP 000002dd: JUMPDEST 000002de: PUSH2 0x0253 000002e1: PUSH2 0x02eb 000002e4: CALLDATASIZE 000002e5: PUSH1 0x04 000002e7: PUSH2 0x2044 000002ea: JUMP 000002eb: JUMPDEST 000002ec: PUSH2 0x0914 000002ef: JUMP 000002f0: JUMPDEST 000002f1: PUSH2 0x0259 000002f4: PUSH2 0x02fe 000002f7: CALLDATASIZE 000002f8: PUSH1 0x04 000002fa: PUSH2 0x1f24 000002fd: JUMP 000002fe: JUMPDEST 000002ff: PUSH1 0x01 00000301: PUSH1 0x01 00000303: PUSH1 0xa0 00000305: SHL 00000306: SUB 00000307: AND 00000308: PUSH1 0x00 0000030a: SWAP1 0000030b: DUP2 0000030c: MSTORE 0000030d: PUSH1 0x33 0000030f: PUSH1 0x20 00000311: MSTORE 00000312: PUSH1 0x40 00000314: SWAP1 00000315: KECCAK256 00000316: SLOAD 00000317: SWAP1 00000318: JUMP 00000319: JUMPDEST 0000031a: PUSH2 0x0253 0000031d: PUSH2 0x0a46 00000320: JUMP 00000321: JUMPDEST 00000322: PUSH2 0x0253 00000325: PUSH2 0x032f 00000328: CALLDATASIZE 00000329: PUSH1 0x04 0000032b: PUSH2 0x2111 0000032e: JUMP 0000032f: JUMPDEST 00000330: PUSH2 0x0a5a 00000333: JUMP 00000334: JUMPDEST 00000335: PUSH2 0x0347 00000338: PUSH2 0x0342 0000033b: CALLDATASIZE 0000033c: PUSH1 0x04 0000033e: PUSH2 0x20b3 00000341: JUMP 00000342: JUMPDEST 00000343: PUSH2 0x0b01 00000346: JUMP 00000347: JUMPDEST 00000348: PUSH1 0x40 0000034a: DUP1 0000034b: MLOAD 0000034c: PUSH1 0x01 0000034e: PUSH1 0x01 00000350: PUSH1 0xa0 00000352: SHL 00000353: SUB 00000354: SWAP1 00000355: SWAP7 00000356: AND 00000357: DUP7 00000358: MSTORE 00000359: PUSH1 0x20 0000035b: DUP7 0000035c: ADD 0000035d: SWAP5 0000035e: SWAP1 0000035f: SWAP5 00000360: MSTORE 00000361: SWAP3 00000362: DUP5 00000363: ADD 00000364: SWAP2 00000365: SWAP1 00000366: SWAP2 00000367: MSTORE 00000368: PUSH1 0x60 0000036a: DUP4 0000036b: ADD 0000036c: MSTORE 0000036d: PUSH1 0x80 0000036f: DUP3 00000370: ADD 00000371: MSTORE 00000372: PUSH1 0xa0 00000374: ADD 00000375: PUSH2 0x01ff 00000378: JUMP 00000379: JUMPDEST 0000037a: PUSH1 0x65 0000037c: SLOAD 0000037d: PUSH1 0x01 0000037f: PUSH1 0x01 00000381: PUSH1 0xa0 00000383: SHL 00000384: SUB 00000385: AND 00000386: JUMPDEST 00000387: PUSH1 0x40 00000389: MLOAD 0000038a: PUSH1 0x01 0000038c: PUSH1 0x01 0000038e: PUSH1 0xa0 00000390: SHL 00000391: SUB 00000392: SWAP1 00000393: SWAP2 00000394: AND 00000395: DUP2 00000396: MSTORE 00000397: PUSH1 0x20 00000399: ADD 0000039a: PUSH2 0x01ff 0000039d: JUMP 0000039e: JUMPDEST 0000039f: PUSH2 0x0210 000003a2: PUSH2 0x0b5f 000003a5: JUMP 000003a6: JUMPDEST 000003a7: PUSH2 0x0253 000003aa: PUSH2 0x03b4 000003ad: CALLDATASIZE 000003ae: PUSH1 0x04 000003b0: PUSH2 0x2171 000003b3: JUMP 000003b4: JUMPDEST 000003b5: PUSH2 0x0b6e 000003b8: JUMP 000003b9: JUMPDEST 000003ba: PUSH2 0x0230 000003bd: PUSH2 0x03c7 000003c0: CALLDATASIZE 000003c1: PUSH1 0x04 000003c3: PUSH2 0x201a 000003c6: JUMP 000003c7: JUMPDEST 000003c8: PUSH2 0x0df9 000003cb: JUMP 000003cc: JUMPDEST 000003cd: PUSH2 0x0253 000003d0: PUSH2 0x03da 000003d3: CALLDATASIZE 000003d4: PUSH1 0x04 000003d6: PUSH2 0x20b3 000003d9: JUMP 000003da: JUMPDEST 000003db: PUSH2 0x0e7f 000003de: JUMP 000003df: JUMPDEST 000003e0: PUSH2 0x0230 000003e3: PUSH2 0x03ed 000003e6: CALLDATASIZE 000003e7: PUSH1 0x04 000003e9: PUSH2 0x201a 000003ec: JUMP 000003ed: JUMPDEST 000003ee: PUSH2 0x0e93 000003f1: JUMP 000003f2: JUMPDEST 000003f3: PUSH2 0x0253 000003f6: PUSH2 0x0400 000003f9: CALLDATASIZE 000003fa: PUSH1 0x04 000003fc: PUSH2 0x1f24 000003ff: JUMP 00000400: JUMPDEST 00000401: PUSH2 0x0eb1 00000404: JUMP 00000405: JUMPDEST 00000406: PUSH1 0x97 00000408: SLOAD 00000409: PUSH2 0x0386 0000040c: SWAP1 0000040d: PUSH1 0x01 0000040f: PUSH1 0x01 00000411: PUSH1 0xa0 00000413: SHL 00000414: SUB 00000415: AND 00000416: DUP2 00000417: JUMP 00000418: JUMPDEST 00000419: PUSH2 0x0230 0000041c: PUSH2 0x0426 0000041f: CALLDATASIZE 00000420: PUSH1 0x04 00000422: PUSH2 0x1f24 00000425: JUMP 00000426: JUMPDEST 00000427: PUSH1 0x99 00000429: PUSH1 0x20 0000042b: MSTORE 0000042c: PUSH1 0x00 0000042e: SWAP1 0000042f: DUP2 00000430: MSTORE 00000431: PUSH1 0x40 00000433: SWAP1 00000434: KECCAK256 00000435: SLOAD 00000436: PUSH1 0xff 00000438: AND 00000439: DUP2 0000043a: JUMP 0000043b: JUMPDEST 0000043c: PUSH2 0x0259 0000043f: PUSH2 0x0449 00000442: CALLDATASIZE 00000443: PUSH1 0x04 00000445: PUSH2 0x2044 00000448: JUMP 00000449: JUMPDEST 0000044a: PUSH2 0x102b 0000044d: JUMP 0000044e: JUMPDEST 0000044f: PUSH2 0x0253 00000452: PUSH2 0x1056 00000455: JUMP 00000456: JUMPDEST 00000457: PUSH2 0x0253 0000045a: PUSH2 0x0464 0000045d: CALLDATASIZE 0000045e: PUSH1 0x04 00000460: PUSH2 0x1f24 00000463: JUMP 00000464: JUMPDEST 00000465: PUSH2 0x1079 00000468: JUMP 00000469: JUMPDEST 0000046a: PUSH2 0x0386 0000046d: PUSH2 0x0477 00000470: CALLDATASIZE 00000471: PUSH1 0x04 00000473: PUSH2 0x20b3 00000476: JUMP 00000477: JUMPDEST 00000478: PUSH2 0x10ef 0000047b: JUMP 0000047c: JUMPDEST 0000047d: PUSH1 0x98 0000047f: SLOAD 00000480: PUSH1 0x60 00000482: SWAP1 00000483: DUP2 00000484: SWAP1 00000485: PUSH1 0x00 00000487: DUP2 00000488: PUSH8 0xffffffffffffffff 00000491: DUP2 00000492: GT 00000493: ISZERO 00000494: PUSH2 0x049f 00000497: JUMPI 00000498: PUSH2 0x049f 0000049b: PUSH2 0x21a4 0000049e: JUMP 0000049f: JUMPDEST 000004a0: PUSH1 0x40 000004a2: MLOAD 000004a3: SWAP1 000004a4: DUP1 000004a5: DUP3 000004a6: MSTORE 000004a7: DUP1 000004a8: PUSH1 0x20 000004aa: MUL 000004ab: PUSH1 0x20 000004ad: ADD 000004ae: DUP3 000004af: ADD 000004b0: PUSH1 0x40 000004b2: MSTORE 000004b3: DUP1 000004b4: ISZERO 000004b5: PUSH2 0x04c8 000004b8: JUMPI 000004b9: DUP2 000004ba: PUSH1 0x20 000004bc: ADD 000004bd: PUSH1 0x20 000004bf: DUP3 000004c0: MUL 000004c1: DUP1 000004c2: CALLDATASIZE 000004c3: DUP4 000004c4: CALLDATACOPY 000004c5: ADD 000004c6: SWAP1 000004c7: POP 000004c8: JUMPDEST 000004c9: POP 000004ca: SWAP1 000004cb: POP 000004cc: PUSH1 0x00 000004ce: JUMPDEST 000004cf: DUP3 000004d0: DUP2 000004d1: LT 000004d2: ISZERO 000004d3: PUSH2 0x052c 000004d6: JUMPI 000004d7: PUSH2 0x0507 000004da: DUP7 000004db: PUSH1 0x98 000004dd: DUP4 000004de: DUP2 000004df: SLOAD 000004e0: DUP2 000004e1: LT 000004e2: PUSH2 0x04ed 000004e5: JUMPI 000004e6: PUSH2 0x04ed 000004e9: PUSH2 0x21ba 000004ec: JUMP 000004ed: JUMPDEST 000004ee: PUSH1 0x00 000004f0: SWAP2 000004f1: DUP3 000004f2: MSTORE 000004f3: PUSH1 0x20 000004f5: SWAP1 000004f6: SWAP2 000004f7: KECCAK256 000004f8: ADD 000004f9: SLOAD 000004fa: PUSH1 0x01 000004fc: PUSH1 0x01 000004fe: PUSH1 0xa0 00000500: SHL 00000501: SUB 00000502: AND 00000503: PUSH2 0x1119 00000506: JUMP 00000507: JUMPDEST 00000508: DUP3 00000509: DUP3 0000050a: DUP2 0000050b: MLOAD 0000050c: DUP2 0000050d: LT 0000050e: PUSH2 0x0519 00000511: JUMPI 00000512: PUSH2 0x0519 00000515: PUSH2 0x21ba 00000518: JUMP 00000519: JUMPDEST 0000051a: PUSH1 0x20 0000051c: SWAP1 0000051d: DUP2 0000051e: MUL 0000051f: SWAP2 00000520: SWAP1 00000521: SWAP2 00000522: ADD 00000523: ADD 00000524: MSTORE 00000525: PUSH1 0x01 00000527: ADD 00000528: PUSH2 0x04ce 0000052b: JUMP 0000052c: JUMPDEST 0000052d: POP 0000052e: DUP1 0000052f: SWAP3 00000530: POP 00000531: PUSH1 0x98 00000533: DUP1 00000534: SLOAD 00000535: DUP1 00000536: PUSH1 0x20 00000538: MUL 00000539: PUSH1 0x20 0000053b: ADD 0000053c: PUSH1 0x40 0000053e: MLOAD 0000053f: SWAP1 00000540: DUP2 00000541: ADD 00000542: PUSH1 0x40 00000544: MSTORE 00000545: DUP1 00000546: SWAP3 00000547: SWAP2 00000548: SWAP1 00000549: DUP2 0000054a: DUP2 0000054b: MSTORE 0000054c: PUSH1 0x20 0000054e: ADD 0000054f: DUP3 00000550: DUP1 00000551: SLOAD 00000552: DUP1 00000553: ISZERO 00000554: PUSH2 0x0586 00000557: JUMPI 00000558: PUSH1 0x20 0000055a: MUL 0000055b: DUP3 0000055c: ADD 0000055d: SWAP2 0000055e: SWAP1 0000055f: PUSH1 0x00 00000561: MSTORE 00000562: PUSH1 0x20 00000564: PUSH1 0x00 00000566: KECCAK256 00000567: SWAP1 00000568: JUMPDEST 00000569: DUP2 0000056a: SLOAD 0000056b: PUSH1 0x01 0000056d: PUSH1 0x01 0000056f: PUSH1 0xa0 00000571: SHL 00000572: SUB 00000573: AND 00000574: DUP2 00000575: MSTORE 00000576: PUSH1 0x01 00000578: SWAP1 00000579: SWAP2 0000057a: ADD 0000057b: SWAP1 0000057c: PUSH1 0x20 0000057e: ADD 0000057f: DUP1 00000580: DUP4 00000581: GT 00000582: PUSH2 0x0568 00000585: JUMPI 00000586: JUMPDEST 00000587: POP 00000588: POP 00000589: POP 0000058a: POP 0000058b: POP 0000058c: SWAP4 0000058d: POP 0000058e: POP 0000058f: POP 00000590: SWAP2 00000591: POP 00000592: SWAP2 00000593: JUMP 00000594: JUMPDEST 00000595: PUSH1 0x60 00000597: PUSH1 0x36 00000599: DUP1 0000059a: SLOAD 0000059b: PUSH2 0x05a3 0000059e: SWAP1 0000059f: PUSH2 0x21d0 000005a2: JUMP 000005a3: JUMPDEST 000005a4: DUP1 000005a5: PUSH1 0x1f 000005a7: ADD 000005a8: PUSH1 0x20 000005aa: DUP1 000005ab: SWAP2 000005ac: DIV 000005ad: MUL 000005ae: PUSH1 0x20 000005b0: ADD 000005b1: PUSH1 0x40 000005b3: MLOAD 000005b4: SWAP1 000005b5: DUP2 000005b6: ADD 000005b7: PUSH1 0x40 000005b9: MSTORE 000005ba: DUP1 000005bb: SWAP3 000005bc: SWAP2 000005bd: SWAP1 000005be: DUP2 000005bf: DUP2 000005c0: MSTORE 000005c1: PUSH1 0x20 000005c3: ADD 000005c4: DUP3 000005c5: DUP1 000005c6: SLOAD 000005c7: PUSH2 0x05cf 000005ca: SWAP1 000005cb: PUSH2 0x21d0 000005ce: JUMP 000005cf: JUMPDEST 000005d0: DUP1 000005d1: ISZERO 000005d2: PUSH2 0x061c 000005d5: JUMPI 000005d6: DUP1 000005d7: PUSH1 0x1f 000005d9: LT 000005da: PUSH2 0x05f1 000005dd: JUMPI 000005de: PUSH2 0x0100 000005e1: DUP1 000005e2: DUP4 000005e3: SLOAD 000005e4: DIV 000005e5: MUL 000005e6: DUP4 000005e7: MSTORE 000005e8: SWAP2 000005e9: PUSH1 0x20 000005eb: ADD 000005ec: SWAP2 000005ed: PUSH2 0x061c 000005f0: JUMP 000005f1: JUMPDEST 000005f2: DUP3 000005f3: ADD 000005f4: SWAP2 000005f5: SWAP1 000005f6: PUSH1 0x00 000005f8: MSTORE 000005f9: PUSH1 0x20 000005fb: PUSH1 0x00 000005fd: KECCAK256 000005fe: SWAP1 000005ff: JUMPDEST 00000600: DUP2 00000601: SLOAD 00000602: DUP2 00000603: MSTORE 00000604: SWAP1 00000605: PUSH1 0x01 00000607: ADD 00000608: SWAP1 00000609: PUSH1 0x20 0000060b: ADD 0000060c: DUP1 0000060d: DUP4 0000060e: GT 0000060f: PUSH2 0x05ff 00000612: JUMPI 00000613: DUP3 00000614: SWAP1 00000615: SUB 00000616: PUSH1 0x1f 00000618: AND 00000619: DUP3 0000061a: ADD 0000061b: SWAP2 0000061c: JUMPDEST 0000061d: POP 0000061e: POP 0000061f: POP 00000620: POP 00000621: POP 00000622: SWAP1 00000623: POP 00000624: SWAP1 00000625: JUMP 00000626: JUMPDEST 00000627: PUSH1 0x00 00000629: CALLER 0000062a: PUSH2 0x0634 0000062d: DUP2 0000062e: DUP6 0000062f: DUP6 00000630: PUSH2 0x11b2 00000633: JUMP 00000634: JUMPDEST 00000635: PUSH1 0x01 00000637: SWAP2 00000638: POP 00000639: POP 0000063a: JUMPDEST 0000063b: SWAP3 0000063c: SWAP2 0000063d: POP 0000063e: POP 0000063f: JUMP 00000640: JUMPDEST 00000641: PUSH2 0x0648 00000644: PUSH2 0x12d6 00000647: JUMP 00000648: JUMPDEST 00000649: PUSH2 0x0651 0000064c: DUP3 0000064d: PUSH2 0x1330 00000650: JUMP 00000651: JUMPDEST 00000652: PUSH2 0x067e 00000655: JUMPI 00000656: PUSH1 0x40 00000658: MLOAD 00000659: PUSH4 0xd6e12d4d 0000065e: PUSH1 0xe0 00000660: SHL 00000661: DUP2 00000662: MSTORE 00000663: PUSH1 0x01 00000665: PUSH1 0x01 00000667: PUSH1 0xa0 00000669: SHL 0000066a: SUB 0000066b: DUP4 0000066c: AND 0000066d: PUSH1 0x04 0000066f: DUP3 00000670: ADD 00000671: MSTORE 00000672: PUSH1 0x24 00000674: ADD 00000675: JUMPDEST 00000676: PUSH1 0x40 00000678: MLOAD 00000679: DUP1 0000067a: SWAP2 0000067b: SUB 0000067c: SWAP1 0000067d: REVERT 0000067e: JUMPDEST 0000067f: PUSH1 0x01 00000681: PUSH1 0x01 00000683: PUSH1 0xa0 00000685: SHL 00000686: SUB 00000687: DUP3 00000688: AND 00000689: PUSH1 0x00 0000068b: SWAP1 0000068c: DUP2 0000068d: MSTORE 0000068e: PUSH1 0x9b 00000690: PUSH1 0x20 00000692: MSTORE 00000693: PUSH1 0x40 00000695: DUP2 00000696: KECCAK256 00000697: SLOAD 00000698: PUSH1 0x98 0000069a: DUP1 0000069b: SLOAD 0000069c: SWAP2 0000069d: SWAP3 0000069e: SWAP2 0000069f: PUSH2 0x06aa 000006a2: SWAP1 000006a3: PUSH1 0x01 000006a5: SWAP1 000006a6: PUSH2 0x221a 000006a9: JUMP 000006aa: JUMPDEST 000006ab: DUP2 000006ac: SLOAD 000006ad: DUP2 000006ae: LT 000006af: PUSH2 0x06ba 000006b2: JUMPI 000006b3: PUSH2 0x06ba 000006b6: PUSH2 0x21ba 000006b9: JUMP 000006ba: JUMPDEST 000006bb: PUSH1 0x00 000006bd: SWAP2 000006be: DUP3 000006bf: MSTORE 000006c0: PUSH1 0x20 000006c2: SWAP1 000006c3: SWAP2 000006c4: KECCAK256 000006c5: ADD 000006c6: SLOAD 000006c7: PUSH1 0x98 000006c9: DUP1 000006ca: SLOAD 000006cb: PUSH1 0x01 000006cd: PUSH1 0x01 000006cf: PUSH1 0xa0 000006d1: SHL 000006d2: SUB 000006d3: SWAP1 000006d4: SWAP3 000006d5: AND 000006d6: SWAP3 000006d7: POP 000006d8: DUP3 000006d9: SWAP2 000006da: DUP5 000006db: SWAP1 000006dc: DUP2 000006dd: LT 000006de: PUSH2 0x06e9 000006e1: JUMPI 000006e2: PUSH2 0x06e9 000006e5: PUSH2 0x21ba 000006e8: JUMP 000006e9: JUMPDEST 000006ea: PUSH1 0x00 000006ec: SWAP2 000006ed: DUP3 000006ee: MSTORE 000006ef: PUSH1 0x20 000006f1: DUP1 000006f2: DUP4 000006f3: KECCAK256 000006f4: SWAP2 000006f5: SWAP1 000006f6: SWAP2 000006f7: ADD 000006f8: DUP1 000006f9: SLOAD 000006fa: PUSH1 0x01 000006fc: PUSH1 0x01 000006fe: PUSH1 0xa0 00000700: SHL 00000701: SUB 00000702: NOT 00000703: AND 00000704: PUSH1 0x01 00000706: PUSH1 0x01 00000708: PUSH1 0xa0 0000070a: SHL 0000070b: SUB 0000070c: SWAP5 0000070d: DUP6 0000070e: AND 0000070f: OR 00000710: SWAP1 00000711: SSTORE 00000712: SWAP2 00000713: DUP4 00000714: AND 00000715: DUP2 00000716: MSTORE 00000717: PUSH1 0x9b 00000719: SWAP1 0000071a: SWAP2 0000071b: MSTORE 0000071c: PUSH1 0x40 0000071e: SWAP1 0000071f: KECCAK256 00000720: DUP3 00000721: SWAP1 00000722: SSTORE 00000723: PUSH1 0x98 00000725: DUP1 00000726: SLOAD 00000727: DUP1 00000728: PUSH2 0x0733 0000072b: JUMPI 0000072c: PUSH2 0x0733 0000072f: PUSH2 0x222d 00000732: JUMP 00000733: JUMPDEST 00000734: PUSH1 0x00 00000736: DUP3 00000737: DUP2 00000738: MSTORE 00000739: PUSH1 0x20 0000073b: DUP2 0000073c: KECCAK256 0000073d: PUSH1 0x00 0000073f: NOT 00000740: SWAP1 00000741: DUP4 00000742: ADD 00000743: DUP2 00000744: ADD 00000745: DUP1 00000746: SLOAD 00000747: PUSH1 0x01 00000749: PUSH1 0x01 0000074b: PUSH1 0xa0 0000074d: SHL 0000074e: SUB 0000074f: NOT 00000750: AND 00000751: SWAP1 00000752: SSTORE 00000753: SWAP1 00000754: SWAP2 00000755: ADD 00000756: SWAP1 00000757: SWAP2 00000758: SSTORE 00000759: PUSH1 0x40 0000075b: MLOAD 0000075c: PUSH4 0x70a08231 00000761: PUSH1 0xe0 00000763: SHL 00000764: DUP2 00000765: MSTORE 00000766: ADDRESS 00000767: PUSH1 0x04 00000769: DUP3 0000076a: ADD 0000076b: MSTORE 0000076c: PUSH1 0x01 0000076e: PUSH1 0x01 00000770: PUSH1 0xa0 00000772: SHL 00000773: SUB 00000774: DUP7 00000775: AND 00000776: SWAP1 00000777: PUSH4 0x70a08231 0000077c: SWAP1 0000077d: PUSH1 0x24 0000077f: ADD 00000780: PUSH1 0x20 00000782: PUSH1 0x40 00000784: MLOAD 00000785: DUP1 00000786: DUP4 00000787: SUB 00000788: DUP2 00000789: DUP7 0000078a: GAS 0000078b: STATICCALL 0000078c: ISZERO 0000078d: DUP1 0000078e: ISZERO 0000078f: PUSH2 0x079c 00000792: JUMPI 00000793: RETURNDATASIZE 00000794: PUSH1 0x00 00000796: DUP1 00000797: RETURNDATACOPY 00000798: RETURNDATASIZE 00000799: PUSH1 0x00 0000079b: REVERT 0000079c: JUMPDEST 0000079d: POP 0000079e: POP 0000079f: POP 000007a0: POP 000007a1: PUSH1 0x40 000007a3: MLOAD 000007a4: RETURNDATASIZE 000007a5: PUSH1 0x1f 000007a7: NOT 000007a8: PUSH1 0x1f 000007aa: DUP3 000007ab: ADD 000007ac: AND 000007ad: DUP3 000007ae: ADD 000007af: DUP1 000007b0: PUSH1 0x40 000007b2: MSTORE 000007b3: POP 000007b4: DUP2 000007b5: ADD 000007b6: SWAP1 000007b7: PUSH2 0x07c0 000007ba: SWAP2 000007bb: SWAP1 000007bc: PUSH2 0x2243 000007bf: JUMP 000007c0: JUMPDEST 000007c1: SWAP1 000007c2: POP 000007c3: PUSH2 0x07d6 000007c6: PUSH1 0x01 000007c8: PUSH1 0x01 000007ca: PUSH1 0xa0 000007cc: SHL 000007cd: SUB 000007ce: DUP7 000007cf: AND 000007d0: DUP6 000007d1: DUP4 000007d2: PUSH2 0x138b 000007d5: JUMP 000007d6: JUMPDEST 000007d7: PUSH1 0x40 000007d9: DUP1 000007da: MLOAD 000007db: PUSH1 0x01 000007dd: PUSH1 0x01 000007df: PUSH1 0xa0 000007e1: SHL 000007e2: SUB 000007e3: DUP1 000007e4: DUP9 000007e5: AND 000007e6: DUP3 000007e7: MSTORE 000007e8: DUP7 000007e9: AND 000007ea: PUSH1 0x20 000007ec: DUP3 000007ed: ADD 000007ee: MSTORE 000007ef: PUSH32 0x650580407a4a6781be5974ccbb4e76f8e86fd7da0b6a0eda265806d936bb9cc8 00000810: SWAP2 00000811: ADD 00000812: PUSH1 0x40 00000814: MLOAD 00000815: DUP1 00000816: SWAP2 00000817: SUB 00000818: SWAP1 00000819: LOG1 0000081a: POP 0000081b: POP 0000081c: POP 0000081d: POP 0000081e: POP 0000081f: JUMP 00000820: JUMPDEST 00000821: PUSH1 0x00 00000823: PUSH2 0x082c 00000826: DUP4 00000827: DUP4 00000828: PUSH2 0x1119 0000082b: JUMP 0000082c: JUMPDEST 0000082d: SWAP4 0000082e: SWAP3 0000082f: POP 00000830: POP 00000831: POP 00000832: JUMP 00000833: JUMPDEST 00000834: PUSH1 0x00 00000836: PUSH2 0x083e 00000839: DUP5 0000083a: PUSH2 0x13f3 0000083d: JUMP 0000083e: JUMPDEST 0000083f: PUSH2 0x0847 00000842: DUP4 00000843: PUSH2 0x13f3 00000846: JUMP 00000847: JUMPDEST 00000848: PUSH2 0x0852 0000084b: DUP5 0000084c: DUP5 0000084d: DUP5 0000084e: PUSH2 0x14aa 00000851: JUMP 00000852: JUMPDEST 00000853: SWAP5 00000854: SWAP4 00000855: POP 00000856: POP 00000857: POP 00000858: POP 00000859: JUMP 0000085a: JUMPDEST 0000085b: CALLER 0000085c: PUSH2 0x0864 0000085f: DUP2 00000860: PUSH2 0x13f3 00000863: JUMP 00000864: JUMPDEST 00000865: PUSH2 0x086d 00000868: DUP3 00000869: PUSH2 0x14c3 0000086c: JUMP 0000086d: JUMPDEST 0000086e: POP 0000086f: POP 00000870: JUMP 00000871: JUMPDEST 00000872: PUSH1 0x00 00000874: CALLER 00000875: PUSH2 0x0634 00000878: DUP2 00000879: DUP6 0000087a: DUP6 0000087b: PUSH2 0x0884 0000087e: DUP4 0000087f: DUP4 00000880: PUSH2 0x102b 00000883: JUMP 00000884: JUMPDEST 00000885: PUSH2 0x088e 00000888: SWAP2 00000889: SWAP1 0000088a: PUSH2 0x225c 0000088d: JUMP 0000088e: JUMPDEST 0000088f: PUSH2 0x11b2 00000892: JUMP 00000893: JUMPDEST 00000894: CALLER 00000895: PUSH2 0x089d 00000898: DUP2 00000899: PUSH2 0x13f3 0000089c: JUMP 0000089d: JUMPDEST 0000089e: PUSH2 0x08a5 000008a1: PUSH2 0x151c 000008a4: JUMP 000008a5: JUMPDEST 000008a6: POP 000008a7: JUMP 000008a8: JUMPDEST 000008a9: PUSH2 0x08b0 000008ac: PUSH2 0x12d6 000008af: JUMP 000008b0: JUMPDEST 000008b1: PUSH1 0x01 000008b3: PUSH1 0x01 000008b5: PUSH1 0xa0 000008b7: SHL 000008b8: SUB 000008b9: DUP3 000008ba: AND 000008bb: PUSH1 0x00 000008bd: DUP2 000008be: DUP2 000008bf: MSTORE 000008c0: PUSH1 0x99 000008c2: PUSH1 0x20 000008c4: SWAP1 000008c5: DUP2 000008c6: MSTORE 000008c7: PUSH1 0x40 000008c9: SWAP2 000008ca: DUP3 000008cb: SWAP1 000008cc: KECCAK256 000008cd: DUP1 000008ce: SLOAD 000008cf: PUSH1 0xff 000008d1: NOT 000008d2: AND 000008d3: DUP6 000008d4: ISZERO 000008d5: ISZERO 000008d6: SWAP1 000008d7: DUP2 000008d8: OR 000008d9: SWAP1 000008da: SWAP2 000008db: SSTORE 000008dc: DUP3 000008dd: MLOAD 000008de: SWAP4 000008df: DUP5 000008e0: MSTORE 000008e1: SWAP1 000008e2: DUP4 000008e3: ADD 000008e4: MSTORE 000008e5: PUSH32 0xf6019ec0a78d156d249a1ec7579e2321f6ac7521d6e1d2eacf90ba4a184dcceb 00000906: SWAP2 00000907: ADD 00000908: JUMPDEST 00000909: PUSH1 0x40 0000090b: MLOAD 0000090c: DUP1 0000090d: SWAP2 0000090e: SUB 0000090f: SWAP1 00000910: LOG1 00000911: POP 00000912: POP 00000913: JUMP 00000914: JUMPDEST 00000915: PUSH2 0x091c 00000918: PUSH2 0x12d6 0000091b: JUMP 0000091c: JUMPDEST 0000091d: PUSH1 0x97 0000091f: SLOAD 00000920: PUSH1 0x01 00000922: PUSH1 0x01 00000924: PUSH1 0xa0 00000926: SHL 00000927: SUB 00000928: SWAP1 00000929: DUP2 0000092a: AND 0000092b: SWAP1 0000092c: DUP4 0000092d: AND 0000092e: SUB 0000092f: PUSH2 0x094b 00000932: JUMPI 00000933: PUSH1 0x40 00000935: MLOAD 00000936: PUSH4 0x7640a2f7 0000093b: PUSH1 0xe0 0000093d: SHL 0000093e: DUP2 0000093f: MSTORE 00000940: PUSH1 0x04 00000942: ADD 00000943: PUSH1 0x40 00000945: MLOAD 00000946: DUP1 00000947: SWAP2 00000948: SUB 00000949: SWAP1 0000094a: REVERT 0000094b: JUMPDEST 0000094c: PUSH2 0x0954 0000094f: DUP3 00000950: PUSH2 0x1330 00000953: JUMP 00000954: JUMPDEST 00000955: ISZERO 00000956: PUSH2 0x097d 00000959: JUMPI 0000095a: PUSH1 0x40 0000095c: MLOAD 0000095d: PUSH4 0xb4506ab1 00000962: PUSH1 0xe0 00000964: SHL 00000965: DUP2 00000966: MSTORE 00000967: PUSH1 0x01 00000969: PUSH1 0x01 0000096b: PUSH1 0xa0 0000096d: SHL 0000096e: SUB 0000096f: DUP4 00000970: AND 00000971: PUSH1 0x04 00000973: DUP3 00000974: ADD 00000975: MSTORE 00000976: PUSH1 0x24 00000978: ADD 00000979: PUSH2 0x0675 0000097c: JUMP 0000097d: JUMPDEST 0000097e: PUSH1 0x40 00000980: MLOAD 00000981: PUSH4 0x70a08231 00000986: PUSH1 0xe0 00000988: SHL 00000989: DUP2 0000098a: MSTORE 0000098b: ADDRESS 0000098c: PUSH1 0x04 0000098e: DUP3 0000098f: ADD 00000990: MSTORE 00000991: PUSH1 0x00 00000993: SWAP1 00000994: PUSH1 0x01 00000996: PUSH1 0x01 00000998: PUSH1 0xa0 0000099a: SHL 0000099b: SUB 0000099c: DUP5 0000099d: AND 0000099e: SWAP1 0000099f: PUSH4 0x70a08231 000009a4: SWAP1 000009a5: PUSH1 0x24 000009a7: ADD 000009a8: PUSH1 0x20 000009aa: PUSH1 0x40 000009ac: MLOAD 000009ad: DUP1 000009ae: DUP4 000009af: SUB 000009b0: DUP2 000009b1: DUP7 000009b2: GAS 000009b3: STATICCALL 000009b4: ISZERO 000009b5: DUP1 000009b6: ISZERO 000009b7: PUSH2 0x09c4 000009ba: JUMPI 000009bb: RETURNDATASIZE 000009bc: PUSH1 0x00 000009be: DUP1 000009bf: RETURNDATACOPY 000009c0: RETURNDATASIZE 000009c1: PUSH1 0x00 000009c3: REVERT 000009c4: JUMPDEST 000009c5: POP 000009c6: POP 000009c7: POP 000009c8: POP 000009c9: PUSH1 0x40 000009cb: MLOAD 000009cc: RETURNDATASIZE 000009cd: PUSH1 0x1f 000009cf: NOT 000009d0: PUSH1 0x1f 000009d2: DUP3 000009d3: ADD 000009d4: AND 000009d5: DUP3 000009d6: ADD 000009d7: DUP1 000009d8: PUSH1 0x40 000009da: MSTORE 000009db: POP 000009dc: DUP2 000009dd: ADD 000009de: SWAP1 000009df: PUSH2 0x09e8 000009e2: SWAP2 000009e3: SWAP1 000009e4: PUSH2 0x2243 000009e7: JUMP 000009e8: JUMPDEST 000009e9: SWAP1 000009ea: POP 000009eb: PUSH2 0x09fe 000009ee: PUSH1 0x01 000009f0: PUSH1 0x01 000009f2: PUSH1 0xa0 000009f4: SHL 000009f5: SUB 000009f6: DUP5 000009f7: AND 000009f8: DUP4 000009f9: DUP4 000009fa: PUSH2 0x138b 000009fd: JUMP 000009fe: JUMPDEST 000009ff: PUSH1 0x40 00000a01: DUP1 00000a02: MLOAD 00000a03: PUSH1 0x01 00000a05: PUSH1 0x01 00000a07: PUSH1 0xa0 00000a09: SHL 00000a0a: SUB 00000a0b: DUP1 00000a0c: DUP7 00000a0d: AND 00000a0e: DUP3 00000a0f: MSTORE 00000a10: DUP5 00000a11: AND 00000a12: PUSH1 0x20 00000a14: DUP3 00000a15: ADD 00000a16: MSTORE 00000a17: PUSH32 0xbfad076d6a1d05fa5f54965cabe504bdca88c511c84830d3ae5e52be23632dd0 00000a38: SWAP2 00000a39: ADD 00000a3a: PUSH1 0x40 00000a3c: MLOAD 00000a3d: DUP1 00000a3e: SWAP2 00000a3f: SUB 00000a40: SWAP1 00000a41: LOG1 00000a42: POP 00000a43: POP 00000a44: POP 00000a45: JUMP 00000a46: JUMPDEST 00000a47: PUSH2 0x0a4e 00000a4a: PUSH2 0x12d6 00000a4d: JUMP 00000a4e: JUMPDEST 00000a4f: PUSH2 0x0a58 00000a52: PUSH1 0x00 00000a54: PUSH2 0x15e1 00000a57: JUMP 00000a58: JUMPDEST 00000a59: JUMP 00000a5a: JUMPDEST 00000a5b: DUP6 00000a5c: PUSH2 0x0a64 00000a5f: DUP2 00000a60: PUSH2 0x13f3 00000a63: JUMP 00000a64: JUMPDEST 00000a65: PUSH1 0x97 00000a67: SLOAD 00000a68: PUSH1 0x40 00000a6a: MLOAD 00000a6b: PUSH4 0xd505accf 00000a70: PUSH1 0xe0 00000a72: SHL 00000a73: DUP2 00000a74: MSTORE 00000a75: PUSH1 0x01 00000a77: PUSH1 0x01 00000a79: PUSH1 0xa0 00000a7b: SHL 00000a7c: SUB 00000a7d: DUP10 00000a7e: DUP2 00000a7f: AND 00000a80: PUSH1 0x04 00000a82: DUP4 00000a83: ADD 00000a84: MSTORE 00000a85: ADDRESS 00000a86: PUSH1 0x24 00000a88: DUP4 00000a89: ADD 00000a8a: MSTORE 00000a8b: PUSH1 0x44 00000a8d: DUP3 00000a8e: ADD 00000a8f: DUP10 00000a90: SWAP1 00000a91: MSTORE 00000a92: PUSH1 0x64 00000a94: DUP3 00000a95: ADD 00000a96: DUP9 00000a97: SWAP1 00000a98: MSTORE 00000a99: PUSH1 0xff 00000a9b: DUP8 00000a9c: AND 00000a9d: PUSH1 0x84 00000a9f: DUP4 00000aa0: ADD 00000aa1: MSTORE 00000aa2: PUSH1 0xa4 00000aa4: DUP3 00000aa5: ADD 00000aa6: DUP7 00000aa7: SWAP1 00000aa8: MSTORE 00000aa9: PUSH1 0xc4 00000aab: DUP3 00000aac: ADD 00000aad: DUP6 00000aae: SWAP1 00000aaf: MSTORE 00000ab0: SWAP1 00000ab1: SWAP2 00000ab2: AND 00000ab3: SWAP1 00000ab4: PUSH4 0xd505accf 00000ab9: SWAP1 00000aba: PUSH1 0xe4 00000abc: ADD 00000abd: PUSH1 0x00 00000abf: PUSH1 0x40 00000ac1: MLOAD 00000ac2: DUP1 00000ac3: DUP4 00000ac4: SUB 00000ac5: DUP2 00000ac6: PUSH1 0x00 00000ac8: DUP8 00000ac9: DUP1 00000aca: EXTCODESIZE 00000acb: ISZERO 00000acc: DUP1 00000acd: ISZERO 00000ace: PUSH2 0x0ad6 00000ad1: JUMPI 00000ad2: PUSH1 0x00 00000ad4: DUP1 00000ad5: REVERT 00000ad6: JUMPDEST 00000ad7: POP 00000ad8: GAS 00000ad9: CALL 00000ada: ISZERO 00000adb: DUP1 00000adc: ISZERO 00000add: PUSH2 0x0aea 00000ae0: JUMPI 00000ae1: RETURNDATASIZE 00000ae2: PUSH1 0x00 00000ae4: DUP1 00000ae5: RETURNDATACOPY 00000ae6: RETURNDATASIZE 00000ae7: PUSH1 0x00 00000ae9: REVERT 00000aea: JUMPDEST 00000aeb: POP 00000aec: POP 00000aed: POP 00000aee: POP 00000aef: PUSH2 0x0af8 00000af2: DUP8 00000af3: DUP8 00000af4: PUSH2 0x1633 00000af7: JUMP 00000af8: JUMPDEST 00000af9: POP 00000afa: POP 00000afb: POP 00000afc: POP 00000afd: POP 00000afe: POP 00000aff: POP 00000b00: JUMP 00000b01: JUMPDEST 00000b02: PUSH1 0x00 00000b04: DUP1 00000b05: PUSH1 0x00 00000b07: DUP1 00000b08: PUSH1 0x00 00000b0a: PUSH1 0x98 00000b0c: DUP7 00000b0d: DUP2 00000b0e: SLOAD 00000b0f: DUP2 00000b10: LT 00000b11: PUSH2 0x0b1c 00000b14: JUMPI 00000b15: PUSH2 0x0b1c 00000b18: PUSH2 0x21ba 00000b1b: JUMP 00000b1c: JUMPDEST 00000b1d: PUSH1 0x00 00000b1f: SWAP2 00000b20: DUP3 00000b21: MSTORE 00000b22: PUSH1 0x20 00000b24: DUP3 00000b25: KECCAK256 00000b26: ADD 00000b27: SLOAD 00000b28: PUSH1 0x01 00000b2a: PUSH1 0x01 00000b2c: PUSH1 0xa0 00000b2e: SHL 00000b2f: SUB 00000b30: AND 00000b31: SWAP6 00000b32: POP 00000b33: PUSH2 0x0b3b 00000b36: DUP7 00000b37: PUSH2 0x168e 00000b3a: JUMP 00000b3b: JUMPDEST 00000b3c: DUP1 00000b3d: SLOAD 00000b3e: PUSH1 0x01 00000b40: DUP3 00000b41: ADD 00000b42: SLOAD 00000b43: PUSH1 0x02 00000b45: DUP4 00000b46: ADD 00000b47: SLOAD 00000b48: PUSH1 0x03 00000b4a: SWAP1 00000b4b: SWAP4 00000b4c: ADD 00000b4d: SLOAD 00000b4e: SWAP9 00000b4f: SWAP11 00000b50: SWAP2 00000b51: SWAP10 00000b52: POP 00000b53: SWAP8 00000b54: SWAP2 00000b55: SWAP7 00000b56: POP 00000b57: SWAP1 00000b58: SWAP5 00000b59: POP 00000b5a: SWAP3 00000b5b: POP 00000b5c: POP 00000b5d: POP 00000b5e: JUMP 00000b5f: JUMPDEST 00000b60: PUSH1 0x60 00000b62: PUSH1 0x37 00000b64: DUP1 00000b65: SLOAD 00000b66: PUSH2 0x05a3 00000b69: SWAP1 00000b6a: PUSH2 0x21d0 00000b6d: JUMP 00000b6e: JUMPDEST 00000b6f: CALLER 00000b70: PUSH1 0x00 00000b72: SWAP1 00000b73: DUP2 00000b74: MSTORE 00000b75: PUSH1 0x99 00000b77: PUSH1 0x20 00000b79: MSTORE 00000b7a: PUSH1 0x40 00000b7c: SWAP1 00000b7d: KECCAK256 00000b7e: SLOAD 00000b7f: PUSH1 0xff 00000b81: AND 00000b82: PUSH2 0x0ba0 00000b85: JUMPI 00000b86: PUSH1 0x40 00000b88: MLOAD 00000b89: PUSH4 0x2a19e833 00000b8e: PUSH1 0xe0 00000b90: SHL 00000b91: DUP2 00000b92: MSTORE 00000b93: CALLER 00000b94: PUSH1 0x04 00000b96: DUP3 00000b97: ADD 00000b98: MSTORE 00000b99: PUSH1 0x24 00000b9b: ADD 00000b9c: PUSH2 0x0675 00000b9f: JUMP 00000ba0: JUMPDEST 00000ba1: PUSH1 0x00 00000ba3: PUSH2 0x0bab 00000ba6: DUP2 00000ba7: PUSH2 0x13f3 00000baa: JUMP 00000bab: JUMPDEST 00000bac: PUSH1 0x97 00000bae: SLOAD 00000baf: PUSH1 0x01 00000bb1: PUSH1 0x01 00000bb3: PUSH1 0xa0 00000bb5: SHL 00000bb6: SUB 00000bb7: SWAP1 00000bb8: DUP2 00000bb9: AND 00000bba: SWAP1 00000bbb: DUP6 00000bbc: AND 00000bbd: SUB 00000bbe: PUSH2 0x0bda 00000bc1: JUMPI 00000bc2: PUSH1 0x40 00000bc4: MLOAD 00000bc5: PUSH4 0x29ff3c3d 00000bca: PUSH1 0xe2 00000bcc: SHL 00000bcd: DUP2 00000bce: MSTORE 00000bcf: PUSH1 0x04 00000bd1: ADD 00000bd2: PUSH1 0x40 00000bd4: MLOAD 00000bd5: DUP1 00000bd6: SWAP2 00000bd7: SUB 00000bd8: SWAP1 00000bd9: REVERT 00000bda: JUMPDEST 00000bdb: PUSH2 0x0e10 00000bde: DUP3 00000bdf: LT 00000be0: ISZERO 00000be1: PUSH2 0x0c00 00000be4: JUMPI 00000be5: PUSH1 0x40 00000be7: MLOAD 00000be8: PUSH4 0x361ef673 00000bed: PUSH1 0xe2 00000bef: SHL 00000bf0: DUP2 00000bf1: MSTORE 00000bf2: PUSH1 0x04 00000bf4: DUP2 00000bf5: ADD 00000bf6: DUP4 00000bf7: SWAP1 00000bf8: MSTORE 00000bf9: PUSH1 0x24 00000bfb: ADD 00000bfc: PUSH2 0x0675 00000bff: JUMP 00000c00: JUMPDEST 00000c01: PUSH2 0x0c09 00000c04: DUP5 00000c05: PUSH2 0x1330 00000c08: JUMP 00000c09: JUMPDEST 00000c0a: PUSH2 0x0d21 00000c0d: JUMPI 00000c0e: PUSH1 0x40 00000c10: MLOAD 00000c11: PUSH12 0xffffffffffffffffffffffff 00000c1e: NOT 00000c1f: PUSH1 0x60 00000c21: DUP7 00000c22: SWAP1 00000c23: SHL 00000c24: AND 00000c25: PUSH1 0x20 00000c27: DUP3 00000c28: ADD 00000c29: MSTORE 00000c2a: TIMESTAMP 00000c2b: PUSH1 0x34 00000c2d: DUP3 00000c2e: ADD 00000c2f: MSTORE 00000c30: PUSH1 0x54 00000c32: ADD 00000c33: PUSH1 0x40 00000c35: DUP1 00000c36: MLOAD 00000c37: PUSH1 0x1f 00000c39: NOT 00000c3a: DUP2 00000c3b: DUP5 00000c3c: SUB 00000c3d: ADD 00000c3e: DUP2 00000c3f: MSTORE 00000c40: SWAP2 00000c41: DUP2 00000c42: MSTORE 00000c43: DUP2 00000c44: MLOAD 00000c45: PUSH1 0x20 00000c47: SWAP3 00000c48: DUP4 00000c49: ADD 00000c4a: KECCAK256 00000c4b: PUSH1 0x01 00000c4d: PUSH1 0x01 00000c4f: PUSH1 0xa0 00000c51: SHL 00000c52: SUB 00000c53: DUP8 00000c54: AND 00000c55: PUSH1 0x00 00000c57: SWAP1 00000c58: DUP2 00000c59: MSTORE 00000c5a: PUSH1 0x9c 00000c5c: SWAP1 00000c5d: SWAP4 00000c5e: MSTORE 00000c5f: SWAP2 00000c60: KECCAK256 00000c61: SSTORE 00000c62: PUSH1 0x98 00000c64: SLOAD 00000c65: PUSH1 0x9a 00000c67: SLOAD 00000c68: PUSH2 0x0c72 00000c6b: DUP3 00000c6c: PUSH1 0x01 00000c6e: PUSH2 0x225c 00000c71: JUMP 00000c72: JUMPDEST 00000c73: GT 00000c74: ISZERO 00000c75: PUSH2 0x0c91 00000c78: JUMPI 00000c79: PUSH1 0x40 00000c7b: MLOAD 00000c7c: PUSH4 0x428680e1 00000c81: PUSH1 0xe1 00000c83: SHL 00000c84: DUP2 00000c85: MSTORE 00000c86: PUSH1 0x04 00000c88: ADD 00000c89: PUSH1 0x40 00000c8b: MLOAD 00000c8c: DUP1 00000c8d: SWAP2 00000c8e: SUB 00000c8f: SWAP1 00000c90: REVERT 00000c91: JUMPDEST 00000c92: PUSH1 0x01 00000c94: PUSH1 0x01 00000c96: PUSH1 0xa0 00000c98: SHL 00000c99: SUB 00000c9a: DUP6 00000c9b: AND 00000c9c: PUSH1 0x00 00000c9e: DUP2 00000c9f: DUP2 00000ca0: MSTORE 00000ca1: PUSH1 0x9b 00000ca3: PUSH1 0x20 00000ca5: SWAP1 00000ca6: DUP2 00000ca7: MSTORE 00000ca8: PUSH1 0x40 00000caa: DUP1 00000cab: DUP4 00000cac: KECCAK256 00000cad: DUP6 00000cae: SWAP1 00000caf: SSTORE 00000cb0: PUSH1 0x98 00000cb2: DUP1 00000cb3: SLOAD 00000cb4: PUSH1 0x01 00000cb6: DUP2 00000cb7: ADD 00000cb8: DUP3 00000cb9: SSTORE 00000cba: SWAP4 00000cbb: MSTORE 00000cbc: PUSH32 0x2237a976fa961f5921fd19f2b03c925c725d77b20ce8f790c19709c03de4d814 00000cdd: SWAP1 00000cde: SWAP3 00000cdf: ADD 00000ce0: DUP1 00000ce1: SLOAD 00000ce2: PUSH1 0x01 00000ce4: PUSH1 0x01 00000ce6: PUSH1 0xa0 00000ce8: SHL 00000ce9: SUB 00000cea: NOT 00000ceb: AND 00000cec: DUP5 00000ced: OR 00000cee: SWAP1 00000cef: SSTORE 00000cf0: SWAP1 00000cf1: MLOAD 00000cf2: SWAP2 00000cf3: DUP3 00000cf4: MSTORE 00000cf5: PUSH32 0x1714865bf5baa84e3439536a013c87cfe030b4cd69f344a5f2a4877de3d517ce 00000d16: SWAP2 00000d17: ADD 00000d18: PUSH1 0x40 00000d1a: MLOAD 00000d1b: DUP1 00000d1c: SWAP2 00000d1d: SUB 00000d1e: SWAP1 00000d1f: LOG1 00000d20: POP 00000d21: JUMPDEST 00000d22: PUSH2 0x0d36 00000d25: PUSH1 0x01 00000d27: PUSH1 0x01 00000d29: PUSH1 0xa0 00000d2b: SHL 00000d2c: SUB 00000d2d: DUP6 00000d2e: AND 00000d2f: CALLER 00000d30: ADDRESS 00000d31: DUP7 00000d32: PUSH2 0x16b5 00000d35: JUMP 00000d36: JUMPDEST 00000d37: PUSH1 0x00 00000d39: PUSH2 0x0d41 00000d3c: DUP6 00000d3d: PUSH2 0x168e 00000d40: JUMP 00000d41: JUMPDEST 00000d42: SWAP1 00000d43: POP 00000d44: PUSH1 0x00 00000d46: DUP2 00000d47: PUSH1 0x00 00000d49: ADD 00000d4a: SLOAD 00000d4b: TIMESTAMP 00000d4c: LT 00000d4d: ISZERO 00000d4e: PUSH2 0x0d77 00000d51: JUMPI 00000d52: DUP2 00000d53: SLOAD 00000d54: PUSH1 0x00 00000d56: SWAP1 00000d57: PUSH2 0x0d61 00000d5a: SWAP1 00000d5b: TIMESTAMP 00000d5c: SWAP1 00000d5d: PUSH2 0x221a 00000d60: JUMP 00000d61: JUMPDEST 00000d62: SWAP1 00000d63: POP 00000d64: DUP3 00000d65: PUSH1 0x03 00000d67: ADD 00000d68: SLOAD 00000d69: DUP2 00000d6a: PUSH2 0x0d73 00000d6d: SWAP2 00000d6e: SWAP1 00000d6f: PUSH2 0x226f 00000d72: JUMP 00000d73: JUMPDEST 00000d74: SWAP2 00000d75: POP 00000d76: POP 00000d77: JUMPDEST 00000d78: DUP4 00000d79: PUSH2 0x0d82 00000d7c: DUP3 00000d7d: DUP8 00000d7e: PUSH2 0x225c 00000d81: JUMP 00000d82: JUMPDEST 00000d83: PUSH2 0x0d8c 00000d86: SWAP2 00000d87: SWAP1 00000d88: PUSH2 0x2286 00000d8b: JUMP 00000d8c: JUMPDEST 00000d8d: PUSH1 0x03 00000d8f: DUP4 00000d90: ADD 00000d91: SSTORE 00000d92: TIMESTAMP 00000d93: PUSH1 0x02 00000d95: DUP4 00000d96: ADD 00000d97: DUP2 00000d98: SWAP1 00000d99: SSTORE 00000d9a: PUSH2 0x0da4 00000d9d: SWAP1 00000d9e: DUP6 00000d9f: SWAP1 00000da0: PUSH2 0x225c 00000da3: JUMP 00000da4: JUMPDEST 00000da5: DUP3 00000da6: SSTORE 00000da7: PUSH1 0x01 00000da9: DUP3 00000daa: ADD 00000dab: DUP5 00000dac: SWAP1 00000dad: SSTORE 00000dae: PUSH1 0x40 00000db0: DUP1 00000db1: MLOAD 00000db2: DUP7 00000db3: DUP2 00000db4: MSTORE 00000db5: PUSH1 0x20 00000db7: DUP2 00000db8: ADD 00000db9: DUP7 00000dba: SWAP1 00000dbb: MSTORE 00000dbc: PUSH1 0x01 00000dbe: PUSH1 0x01 00000dc0: PUSH1 0xa0 00000dc2: SHL 00000dc3: SUB 00000dc4: DUP9 00000dc5: AND 00000dc6: SWAP2 00000dc7: PUSH32 0x3c0f5c48b0ffa2c570c1a0f4fbf7b0f8982213afff9eb42cd258ead865cf3c9d 00000de8: SWAP2 00000de9: ADD 00000dea: PUSH1 0x40 00000dec: MLOAD 00000ded: DUP1 00000dee: SWAP2 00000def: SUB 00000df0: SWAP1 00000df1: LOG2 00000df2: POP 00000df3: POP 00000df4: POP 00000df5: POP 00000df6: POP 00000df7: POP 00000df8: JUMP 00000df9: JUMPDEST 00000dfa: PUSH1 0x00 00000dfc: CALLER 00000dfd: DUP2 00000dfe: PUSH2 0x0e07 00000e01: DUP3 00000e02: DUP7 00000e03: PUSH2 0x102b 00000e06: JUMP 00000e07: JUMPDEST 00000e08: SWAP1 00000e09: POP 00000e0a: DUP4 00000e0b: DUP2 00000e0c: LT 00000e0d: ISZERO 00000e0e: PUSH2 0x0e67 00000e11: JUMPI 00000e12: PUSH1 0x40 00000e14: MLOAD 00000e15: PUSH3 0x461bcd 00000e19: PUSH1 0xe5 00000e1b: SHL 00000e1c: DUP2 00000e1d: MSTORE 00000e1e: PUSH1 0x20 00000e20: PUSH1 0x04 00000e22: DUP3 00000e23: ADD 00000e24: MSTORE 00000e25: PUSH1 0x25 00000e27: PUSH1 0x24 00000e29: DUP3 00000e2a: ADD 00000e2b: MSTORE 00000e2c: PUSH32 0x45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77 00000e4d: PUSH1 0x44 00000e4f: DUP3 00000e50: ADD 00000e51: MSTORE 00000e52: PUSH5 0x207a65726f 00000e58: PUSH1 0xd8 00000e5a: SHL 00000e5b: PUSH1 0x64 00000e5d: DUP3 00000e5e: ADD 00000e5f: MSTORE 00000e60: PUSH1 0x84 00000e62: ADD 00000e63: PUSH2 0x0675 00000e66: JUMP 00000e67: JUMPDEST 00000e68: PUSH2 0x0e74 00000e6b: DUP3 00000e6c: DUP7 00000e6d: DUP7 00000e6e: DUP5 00000e6f: SUB 00000e70: PUSH2 0x11b2 00000e73: JUMP 00000e74: JUMPDEST 00000e75: POP 00000e76: PUSH1 0x01 00000e78: SWAP5 00000e79: SWAP4 00000e7a: POP 00000e7b: POP 00000e7c: POP 00000e7d: POP 00000e7e: JUMP 00000e7f: JUMPDEST 00000e80: CALLER 00000e81: PUSH2 0x0e89 00000e84: DUP2 00000e85: PUSH2 0x13f3 00000e88: JUMP 00000e89: JUMPDEST 00000e8a: PUSH2 0x086d 00000e8d: CALLER 00000e8e: DUP4 00000e8f: PUSH2 0x1633 00000e92: JUMP 00000e93: JUMPDEST 00000e94: PUSH1 0x00 00000e96: PUSH2 0x0e9e 00000e99: CALLER 00000e9a: PUSH2 0x13f3 00000e9d: JUMP 00000e9e: JUMPDEST 00000e9f: PUSH2 0x0ea7 00000ea2: DUP4 00000ea3: PUSH2 0x13f3 00000ea6: JUMP 00000ea7: JUMPDEST 00000ea8: PUSH2 0x082c 00000eab: DUP4 00000eac: DUP4 00000ead: PUSH2 0x16f3 00000eb0: JUMP 00000eb1: JUMPDEST 00000eb2: PUSH1 0x00 00000eb4: SLOAD 00000eb5: PUSH2 0x0100 00000eb8: SWAP1 00000eb9: DIV 00000eba: PUSH1 0xff 00000ebc: AND 00000ebd: ISZERO 00000ebe: DUP1 00000ebf: DUP1 00000ec0: ISZERO 00000ec1: PUSH2 0x0ed1 00000ec4: JUMPI 00000ec5: POP 00000ec6: PUSH1 0x00 00000ec8: SLOAD 00000ec9: PUSH1 0x01 00000ecb: PUSH1 0xff 00000ecd: SWAP1 00000ece: SWAP2 00000ecf: AND 00000ed0: LT 00000ed1: JUMPDEST 00000ed2: DUP1 00000ed3: PUSH2 0x0eeb 00000ed6: JUMPI 00000ed7: POP 00000ed8: ADDRESS 00000ed9: EXTCODESIZE 00000eda: ISZERO 00000edb: DUP1 00000edc: ISZERO 00000edd: PUSH2 0x0eeb 00000ee0: JUMPI 00000ee1: POP 00000ee2: PUSH1 0x00 00000ee4: SLOAD 00000ee5: PUSH1 0xff 00000ee7: AND 00000ee8: PUSH1 0x01 00000eea: EQ 00000eeb: JUMPDEST 00000eec: PUSH2 0x0f4e 00000eef: JUMPI 00000ef0: PUSH1 0x40 00000ef2: MLOAD 00000ef3: PUSH3 0x461bcd 00000ef7: PUSH1 0xe5 00000ef9: SHL 00000efa: DUP2 00000efb: MSTORE 00000efc: PUSH1 0x20 00000efe: PUSH1 0x04 00000f00: DUP3 00000f01: ADD 00000f02: MSTORE 00000f03: PUSH1 0x2e 00000f05: PUSH1 0x24 00000f07: DUP3 00000f08: ADD 00000f09: MSTORE 00000f0a: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 00000f2b: PUSH1 0x44 00000f2d: DUP3 00000f2e: ADD 00000f2f: MSTORE 00000f30: PUSH14 0x191e481a5b9a5d1a585b1a5e9959 00000f3f: PUSH1 0x92 00000f41: SHL 00000f42: PUSH1 0x64 00000f44: DUP3 00000f45: ADD 00000f46: MSTORE 00000f47: PUSH1 0x84 00000f49: ADD 00000f4a: PUSH2 0x0675 00000f4d: JUMP 00000f4e: JUMPDEST 00000f4f: PUSH1 0x00 00000f51: DUP1 00000f52: SLOAD 00000f53: PUSH1 0xff 00000f55: NOT 00000f56: AND 00000f57: PUSH1 0x01 00000f59: OR 00000f5a: SWAP1 00000f5b: SSTORE 00000f5c: DUP1 00000f5d: ISZERO 00000f5e: PUSH2 0x0f71 00000f61: JUMPI 00000f62: PUSH1 0x00 00000f64: DUP1 00000f65: SLOAD 00000f66: PUSH2 0xff00 00000f69: NOT 00000f6a: AND 00000f6b: PUSH2 0x0100 00000f6e: OR 00000f6f: SWAP1 00000f70: SSTORE 00000f71: JUMPDEST 00000f72: PUSH2 0x0fc1 00000f75: PUSH1 0x40 00000f77: MLOAD 00000f78: DUP1 00000f79: PUSH1 0x40 00000f7b: ADD 00000f7c: PUSH1 0x40 00000f7e: MSTORE 00000f7f: DUP1 00000f80: PUSH1 0x11 00000f82: DUP2 00000f83: MSTORE 00000f84: PUSH1 0x20 00000f86: ADD 00000f87: PUSH17 0x109959599e4814995dd85c9908141bdbdb 00000f99: PUSH1 0x7a 00000f9b: SHL 00000f9c: DUP2 00000f9d: MSTORE 00000f9e: POP 00000f9f: PUSH1 0x40 00000fa1: MLOAD 00000fa2: DUP1 00000fa3: PUSH1 0x40 00000fa5: ADD 00000fa6: PUSH1 0x40 00000fa8: MSTORE 00000fa9: DUP1 00000faa: PUSH1 0x05 00000fac: DUP2 00000fad: MSTORE 00000fae: PUSH1 0x20 00000fb0: ADD 00000fb1: PUSH5 0x7242494649 00000fb7: PUSH1 0xd8 00000fb9: SHL 00000fba: DUP2 00000fbb: MSTORE 00000fbc: POP 00000fbd: PUSH2 0x1701 00000fc0: JUMP 00000fc1: JUMPDEST 00000fc2: PUSH2 0x0fc9 00000fc5: PUSH2 0x1732 00000fc8: JUMP 00000fc9: JUMPDEST 00000fca: PUSH1 0x97 00000fcc: DUP1 00000fcd: SLOAD 00000fce: PUSH1 0x01 00000fd0: PUSH1 0x01 00000fd2: PUSH1 0xa0 00000fd4: SHL 00000fd5: SUB 00000fd6: NOT 00000fd7: AND 00000fd8: PUSH1 0x01 00000fda: PUSH1 0x01 00000fdc: PUSH1 0xa0 00000fde: SHL 00000fdf: SUB 00000fe0: DUP5 00000fe1: AND 00000fe2: OR 00000fe3: SWAP1 00000fe4: SSTORE 00000fe5: PUSH1 0x64 00000fe7: PUSH1 0x9a 00000fe9: SSTORE 00000fea: DUP1 00000feb: ISZERO 00000fec: PUSH2 0x086d 00000fef: JUMPI 00000ff0: PUSH1 0x00 00000ff2: DUP1 00000ff3: SLOAD 00000ff4: PUSH2 0xff00 00000ff7: NOT 00000ff8: AND 00000ff9: SWAP1 00000ffa: SSTORE 00000ffb: PUSH1 0x40 00000ffd: MLOAD 00000ffe: PUSH1 0x01 00001000: DUP2 00001001: MSTORE 00001002: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 00001023: SWAP1 00001024: PUSH1 0x20 00001026: ADD 00001027: PUSH2 0x0908 0000102a: JUMP 0000102b: JUMPDEST 0000102c: PUSH1 0x01 0000102e: PUSH1 0x01 00001030: PUSH1 0xa0 00001032: SHL 00001033: SUB 00001034: SWAP2 00001035: DUP3 00001036: AND 00001037: PUSH1 0x00 00001039: SWAP1 0000103a: DUP2 0000103b: MSTORE 0000103c: PUSH1 0x34 0000103e: PUSH1 0x20 00001040: SWAP1 00001041: DUP2 00001042: MSTORE 00001043: PUSH1 0x40 00001045: DUP1 00001046: DUP4 00001047: KECCAK256 00001048: SWAP4 00001049: SWAP1 0000104a: SWAP5 0000104b: AND 0000104c: DUP3 0000104d: MSTORE 0000104e: SWAP2 0000104f: SWAP1 00001050: SWAP2 00001051: MSTORE 00001052: KECCAK256 00001053: SLOAD 00001054: SWAP1 00001055: JUMP 00001056: JUMPDEST 00001057: CALLER 00001058: PUSH2 0x1060 0000105b: DUP2 0000105c: PUSH2 0x13f3 0000105f: JUMP 00001060: JUMPDEST 00001061: CALLER 00001062: PUSH1 0x00 00001064: SWAP1 00001065: DUP2 00001066: MSTORE 00001067: PUSH1 0x33 00001069: PUSH1 0x20 0000106b: MSTORE 0000106c: PUSH1 0x40 0000106e: SWAP1 0000106f: KECCAK256 00001070: SLOAD 00001071: PUSH2 0x089d 00001074: SWAP1 00001075: PUSH2 0x14c3 00001078: JUMP 00001079: JUMPDEST 0000107a: PUSH2 0x1081 0000107d: PUSH2 0x12d6 00001080: JUMP 00001081: JUMPDEST 00001082: PUSH1 0x01 00001084: PUSH1 0x01 00001086: PUSH1 0xa0 00001088: SHL 00001089: SUB 0000108a: DUP2 0000108b: AND 0000108c: PUSH2 0x10e6 0000108f: JUMPI 00001090: PUSH1 0x40 00001092: MLOAD 00001093: PUSH3 0x461bcd 00001097: PUSH1 0xe5 00001099: SHL 0000109a: DUP2 0000109b: MSTORE 0000109c: PUSH1 0x20 0000109e: PUSH1 0x04 000010a0: DUP3 000010a1: ADD 000010a2: MSTORE 000010a3: PUSH1 0x26 000010a5: PUSH1 0x24 000010a7: DUP3 000010a8: ADD 000010a9: MSTORE 000010aa: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 000010cb: PUSH1 0x44 000010cd: DUP3 000010ce: ADD 000010cf: MSTORE 000010d0: PUSH6 0x646472657373 000010d7: PUSH1 0xd0 000010d9: SHL 000010da: PUSH1 0x64 000010dc: DUP3 000010dd: ADD 000010de: MSTORE 000010df: PUSH1 0x84 000010e1: ADD 000010e2: PUSH2 0x0675 000010e5: JUMP 000010e6: JUMPDEST 000010e7: PUSH2 0x08a5 000010ea: DUP2 000010eb: PUSH2 0x15e1 000010ee: JUMP 000010ef: JUMPDEST 000010f0: PUSH1 0x98 000010f2: DUP2 000010f3: DUP2 000010f4: SLOAD 000010f5: DUP2 000010f6: LT 000010f7: PUSH2 0x10ff 000010fa: JUMPI 000010fb: PUSH1 0x00 000010fd: DUP1 000010fe: REVERT 000010ff: JUMPDEST 00001100: PUSH1 0x00 00001102: SWAP2 00001103: DUP3 00001104: MSTORE 00001105: PUSH1 0x20 00001107: SWAP1 00001108: SWAP2 00001109: KECCAK256 0000110a: ADD 0000110b: SLOAD 0000110c: PUSH1 0x01 0000110e: PUSH1 0x01 00001110: PUSH1 0xa0 00001112: SHL 00001113: SUB 00001114: AND 00001115: SWAP1 00001116: POP 00001117: DUP2 00001118: JUMP 00001119: JUMPDEST 0000111a: PUSH1 0x00 0000111c: DUP1 0000111d: PUSH2 0x1125 00001120: DUP4 00001121: PUSH2 0x168e 00001124: JUMP 00001125: JUMPDEST 00001126: PUSH1 0x01 00001128: PUSH1 0x01 0000112a: PUSH1 0xa0 0000112c: SHL 0000112d: SUB 0000112e: DUP6 0000112f: AND 00001130: PUSH1 0x00 00001132: SWAP1 00001133: DUP2 00001134: MSTORE 00001135: PUSH1 0x05 00001137: DUP3 00001138: ADD 00001139: PUSH1 0x20 0000113b: MSTORE 0000113c: PUSH1 0x40 0000113e: SWAP1 0000113f: KECCAK256 00001140: SLOAD 00001141: SWAP1 00001142: SWAP2 00001143: POP 00001144: PUSH8 0x0de0b6b3a7640000 0000114d: SWAP1 0000114e: PUSH2 0x1156 00001151: DUP6 00001152: PUSH2 0x1761 00001155: JUMP 00001156: JUMPDEST 00001157: PUSH2 0x1160 0000115a: SWAP2 0000115b: SWAP1 0000115c: PUSH2 0x221a 0000115f: JUMP 00001160: JUMPDEST 00001161: PUSH1 0x01 00001163: PUSH1 0x01 00001165: PUSH1 0xa0 00001167: SHL 00001168: SUB 00001169: DUP7 0000116a: AND 0000116b: PUSH1 0x00 0000116d: SWAP1 0000116e: DUP2 0000116f: MSTORE 00001170: PUSH1 0x33 00001172: PUSH1 0x20 00001174: MSTORE 00001175: PUSH1 0x40 00001177: SWAP1 00001178: KECCAK256 00001179: SLOAD 0000117a: PUSH2 0x1183 0000117d: SWAP2 0000117e: SWAP1 0000117f: PUSH2 0x226f 00001182: JUMP 00001183: JUMPDEST 00001184: PUSH2 0x118d 00001187: SWAP2 00001188: SWAP1 00001189: PUSH2 0x2286 0000118c: JUMP 0000118d: JUMPDEST 0000118e: PUSH1 0x01 00001190: PUSH1 0x01 00001192: PUSH1 0xa0 00001194: SHL 00001195: SUB 00001196: DUP6 00001197: AND 00001198: PUSH1 0x00 0000119a: SWAP1 0000119b: DUP2 0000119c: MSTORE 0000119d: PUSH1 0x06 0000119f: DUP4 000011a0: ADD 000011a1: PUSH1 0x20 000011a3: MSTORE 000011a4: PUSH1 0x40 000011a6: SWAP1 000011a7: KECCAK256 000011a8: SLOAD 000011a9: PUSH2 0x0852 000011ac: SWAP2 000011ad: SWAP1 000011ae: PUSH2 0x225c 000011b1: JUMP 000011b2: JUMPDEST 000011b3: PUSH1 0x01 000011b5: PUSH1 0x01 000011b7: PUSH1 0xa0 000011b9: SHL 000011ba: SUB 000011bb: DUP4 000011bc: AND 000011bd: PUSH2 0x1214 000011c0: JUMPI 000011c1: PUSH1 0x40 000011c3: MLOAD 000011c4: PUSH3 0x461bcd 000011c8: PUSH1 0xe5 000011ca: SHL 000011cb: DUP2 000011cc: MSTORE 000011cd: PUSH1 0x20 000011cf: PUSH1 0x04 000011d1: DUP3 000011d2: ADD 000011d3: MSTORE 000011d4: PUSH1 0x24 000011d6: DUP1 000011d7: DUP3 000011d8: ADD 000011d9: MSTORE 000011da: PUSH32 0x45524332303a20617070726f76652066726f6d20746865207a65726f20616464 000011fb: PUSH1 0x44 000011fd: DUP3 000011fe: ADD 000011ff: MSTORE 00001200: PUSH4 0x72657373 00001205: PUSH1 0xe0 00001207: SHL 00001208: PUSH1 0x64 0000120a: DUP3 0000120b: ADD 0000120c: MSTORE 0000120d: PUSH1 0x84 0000120f: ADD 00001210: PUSH2 0x0675 00001213: JUMP 00001214: JUMPDEST 00001215: PUSH1 0x01 00001217: PUSH1 0x01 00001219: PUSH1 0xa0 0000121b: SHL 0000121c: SUB 0000121d: DUP3 0000121e: AND 0000121f: PUSH2 0x1275 00001222: JUMPI 00001223: PUSH1 0x40 00001225: MLOAD 00001226: PUSH3 0x461bcd 0000122a: PUSH1 0xe5 0000122c: SHL 0000122d: DUP2 0000122e: MSTORE 0000122f: PUSH1 0x20 00001231: PUSH1 0x04 00001233: DUP3 00001234: ADD 00001235: MSTORE 00001236: PUSH1 0x22 00001238: PUSH1 0x24 0000123a: DUP3 0000123b: ADD 0000123c: MSTORE 0000123d: PUSH32 0x45524332303a20617070726f766520746f20746865207a65726f206164647265 0000125e: PUSH1 0x44 00001260: DUP3 00001261: ADD 00001262: MSTORE 00001263: PUSH2 0x7373 00001266: PUSH1 0xf0 00001268: SHL 00001269: PUSH1 0x64 0000126b: DUP3 0000126c: ADD 0000126d: MSTORE 0000126e: PUSH1 0x84 00001270: ADD 00001271: PUSH2 0x0675 00001274: JUMP 00001275: JUMPDEST 00001276: PUSH1 0x01 00001278: PUSH1 0x01 0000127a: PUSH1 0xa0 0000127c: SHL 0000127d: SUB 0000127e: DUP4 0000127f: DUP2 00001280: AND 00001281: PUSH1 0x00 00001283: DUP2 00001284: DUP2 00001285: MSTORE 00001286: PUSH1 0x34 00001288: PUSH1 0x20 0000128a: SWAP1 0000128b: DUP2 0000128c: MSTORE 0000128d: PUSH1 0x40 0000128f: DUP1 00001290: DUP4 00001291: KECCAK256 00001292: SWAP5 00001293: DUP8 00001294: AND 00001295: DUP1 00001296: DUP5 00001297: MSTORE 00001298: SWAP5 00001299: DUP3 0000129a: MSTORE 0000129b: SWAP2 0000129c: DUP3 0000129d: SWAP1 0000129e: KECCAK256 0000129f: DUP6 000012a0: SWAP1 000012a1: SSTORE 000012a2: SWAP1 000012a3: MLOAD 000012a4: DUP5 000012a5: DUP2 000012a6: MSTORE 000012a7: PUSH32 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925 000012c8: SWAP2 000012c9: ADD 000012ca: PUSH1 0x40 000012cc: MLOAD 000012cd: DUP1 000012ce: SWAP2 000012cf: SUB 000012d0: SWAP1 000012d1: LOG3 000012d2: POP 000012d3: POP 000012d4: POP 000012d5: JUMP 000012d6: JUMPDEST 000012d7: PUSH1 0x65 000012d9: SLOAD 000012da: PUSH1 0x01 000012dc: PUSH1 0x01 000012de: PUSH1 0xa0 000012e0: SHL 000012e1: SUB 000012e2: AND 000012e3: CALLER 000012e4: EQ 000012e5: PUSH2 0x0a58 000012e8: JUMPI 000012e9: PUSH1 0x40 000012eb: MLOAD 000012ec: PUSH3 0x461bcd 000012f0: PUSH1 0xe5 000012f2: SHL 000012f3: DUP2 000012f4: MSTORE 000012f5: PUSH1 0x20 000012f7: PUSH1 0x04 000012f9: DUP3 000012fa: ADD 000012fb: DUP2 000012fc: SWAP1 000012fd: MSTORE 000012fe: PUSH1 0x24 00001300: DUP3 00001301: ADD 00001302: MSTORE 00001303: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00001324: PUSH1 0x44 00001326: DUP3 00001327: ADD 00001328: MSTORE 00001329: PUSH1 0x64 0000132b: ADD 0000132c: PUSH2 0x0675 0000132f: JUMP 00001330: JUMPDEST 00001331: PUSH1 0x98 00001333: SLOAD 00001334: PUSH1 0x00 00001336: SWAP1 00001337: ISZERO 00001338: PUSH2 0x1386 0000133b: JUMPI 0000133c: PUSH1 0x01 0000133e: PUSH1 0x01 00001340: PUSH1 0xa0 00001342: SHL 00001343: SUB 00001344: DUP3 00001345: AND 00001346: PUSH1 0x00 00001348: SWAP1 00001349: DUP2 0000134a: MSTORE 0000134b: PUSH1 0x9b 0000134d: PUSH1 0x20 0000134f: MSTORE 00001350: PUSH1 0x40 00001352: SWAP1 00001353: KECCAK256 00001354: SLOAD 00001355: PUSH1 0x98 00001357: DUP1 00001358: SLOAD 00001359: SWAP1 0000135a: SWAP2 0000135b: SWAP1 0000135c: DUP2 0000135d: LT 0000135e: PUSH2 0x1369 00001361: JUMPI 00001362: PUSH2 0x1369 00001365: PUSH2 0x21ba 00001368: JUMP 00001369: JUMPDEST 0000136a: PUSH1 0x00 0000136c: SWAP2 0000136d: DUP3 0000136e: MSTORE 0000136f: PUSH1 0x20 00001371: SWAP1 00001372: SWAP2 00001373: KECCAK256 00001374: ADD 00001375: SLOAD 00001376: PUSH1 0x01 00001378: PUSH1 0x01 0000137a: PUSH1 0xa0 0000137c: SHL 0000137d: SUB 0000137e: DUP4 0000137f: DUP2 00001380: AND 00001381: SWAP2 00001382: AND 00001383: EQ 00001384: SWAP1 00001385: POP 00001386: JUMPDEST 00001387: SWAP2 00001388: SWAP1 00001389: POP 0000138a: JUMP 0000138b: JUMPDEST 0000138c: PUSH1 0x40 0000138e: MLOAD 0000138f: PUSH1 0x01 00001391: PUSH1 0x01 00001393: PUSH1 0xa0 00001395: SHL 00001396: SUB 00001397: DUP4 00001398: AND 00001399: PUSH1 0x24 0000139b: DUP3 0000139c: ADD 0000139d: MSTORE 0000139e: PUSH1 0x44 000013a0: DUP2 000013a1: ADD 000013a2: DUP3 000013a3: SWAP1 000013a4: MSTORE 000013a5: PUSH2 0x13ee 000013a8: SWAP1 000013a9: DUP5 000013aa: SWAP1 000013ab: PUSH4 0xa9059cbb 000013b0: PUSH1 0xe0 000013b2: SHL 000013b3: SWAP1 000013b4: PUSH1 0x64 000013b6: ADD 000013b7: JUMPDEST 000013b8: PUSH1 0x40 000013ba: DUP1 000013bb: MLOAD 000013bc: PUSH1 0x1f 000013be: NOT 000013bf: DUP2 000013c0: DUP5 000013c1: SUB 000013c2: ADD 000013c3: DUP2 000013c4: MSTORE 000013c5: SWAP2 000013c6: SWAP1 000013c7: MSTORE 000013c8: PUSH1 0x20 000013ca: DUP2 000013cb: ADD 000013cc: DUP1 000013cd: MLOAD 000013ce: PUSH1 0x01 000013d0: PUSH1 0x01 000013d2: PUSH1 0xe0 000013d4: SHL 000013d5: SUB 000013d6: AND 000013d7: PUSH1 0x01 000013d9: PUSH1 0x01 000013db: PUSH1 0xe0 000013dd: SHL 000013de: SUB 000013df: NOT 000013e0: SWAP1 000013e1: SWAP4 000013e2: AND 000013e3: SWAP3 000013e4: SWAP1 000013e5: SWAP3 000013e6: OR 000013e7: SWAP1 000013e8: SWAP2 000013e9: MSTORE 000013ea: PUSH2 0x17eb 000013ed: JUMP 000013ee: JUMPDEST 000013ef: POP 000013f0: POP 000013f1: POP 000013f2: JUMP 000013f3: JUMPDEST 000013f4: PUSH1 0x98 000013f6: SLOAD 000013f7: PUSH1 0x00 000013f9: JUMPDEST 000013fa: DUP2 000013fb: DUP2 000013fc: LT 000013fd: ISZERO 000013fe: PUSH2 0x13ee 00001401: JUMPI 00001402: PUSH1 0x00 00001404: PUSH1 0x98 00001406: DUP3 00001407: DUP2 00001408: SLOAD 00001409: DUP2 0000140a: LT 0000140b: PUSH2 0x1416 0000140e: JUMPI 0000140f: PUSH2 0x1416 00001412: PUSH2 0x21ba 00001415: JUMP 00001416: JUMPDEST 00001417: PUSH1 0x00 00001419: SWAP2 0000141a: DUP3 0000141b: MSTORE 0000141c: PUSH1 0x20 0000141e: DUP3 0000141f: KECCAK256 00001420: ADD 00001421: SLOAD 00001422: PUSH1 0x01 00001424: PUSH1 0x01 00001426: PUSH1 0xa0 00001428: SHL 00001429: SUB 0000142a: AND 0000142b: SWAP2 0000142c: POP 0000142d: PUSH2 0x1435 00001430: DUP3 00001431: PUSH2 0x168e 00001434: JUMP 00001435: JUMPDEST 00001436: SWAP1 00001437: POP 00001438: PUSH2 0x1440 0000143b: DUP3 0000143c: PUSH2 0x1761 0000143f: JUMP 00001440: JUMPDEST 00001441: PUSH1 0x04 00001443: DUP3 00001444: ADD 00001445: SSTORE 00001446: DUP1 00001447: SLOAD 00001448: PUSH2 0x1450 0000144b: SWAP1 0000144c: PUSH2 0x18c0 0000144f: JUMP 00001450: JUMPDEST 00001451: PUSH1 0x02 00001453: DUP3 00001454: ADD 00001455: SSTORE 00001456: PUSH1 0x01 00001458: PUSH1 0x01 0000145a: PUSH1 0xa0 0000145c: SHL 0000145d: SUB 0000145e: DUP6 0000145f: AND 00001460: ISZERO 00001461: PUSH2 0x14a0 00001464: JUMPI 00001465: PUSH2 0x146e 00001468: DUP6 00001469: DUP4 0000146a: PUSH2 0x1119 0000146d: JUMP 0000146e: JUMPDEST 0000146f: PUSH1 0x01 00001471: PUSH1 0x01 00001473: PUSH1 0xa0 00001475: SHL 00001476: SUB 00001477: DUP7 00001478: AND 00001479: PUSH1 0x00 0000147b: SWAP1 0000147c: DUP2 0000147d: MSTORE 0000147e: PUSH1 0x06 00001480: DUP4 00001481: ADD 00001482: PUSH1 0x20 00001484: SWAP1 00001485: DUP2 00001486: MSTORE 00001487: PUSH1 0x40 00001489: DUP1 0000148a: DUP4 0000148b: KECCAK256 0000148c: SWAP4 0000148d: SWAP1 0000148e: SWAP4 0000148f: SSTORE 00001490: PUSH1 0x04 00001492: DUP5 00001493: ADD 00001494: SLOAD 00001495: PUSH1 0x05 00001497: DUP6 00001498: ADD 00001499: SWAP1 0000149a: SWAP2 0000149b: MSTORE 0000149c: SWAP2 0000149d: SWAP1 0000149e: KECCAK256 0000149f: SSTORE 000014a0: JUMPDEST 000014a1: POP 000014a2: POP 000014a3: PUSH1 0x01 000014a5: ADD 000014a6: PUSH2 0x13f9 000014a9: JUMP 000014aa: JUMPDEST 000014ab: PUSH1 0x00 000014ad: CALLER 000014ae: PUSH2 0x14b8 000014b1: DUP6 000014b2: DUP3 000014b3: DUP6 000014b4: PUSH2 0x18d3 000014b7: JUMP 000014b8: JUMPDEST 000014b9: PUSH2 0x0e74 000014bc: DUP6 000014bd: DUP6 000014be: DUP6 000014bf: PUSH2 0x1947 000014c2: JUMP 000014c3: JUMPDEST 000014c4: PUSH2 0x14cd 000014c7: CALLER 000014c8: DUP3 000014c9: PUSH2 0x1af2 000014cc: JUMP 000014cd: JUMPDEST 000014ce: PUSH1 0x97 000014d0: SLOAD 000014d1: PUSH2 0x14e4 000014d4: SWAP1 000014d5: PUSH1 0x01 000014d7: PUSH1 0x01 000014d9: PUSH1 0xa0 000014db: SHL 000014dc: SUB 000014dd: AND 000014de: CALLER 000014df: DUP4 000014e0: PUSH2 0x138b 000014e3: JUMP 000014e4: JUMPDEST 000014e5: PUSH1 0x40 000014e7: MLOAD 000014e8: DUP2 000014e9: DUP2 000014ea: MSTORE 000014eb: CALLER 000014ec: SWAP1 000014ed: PUSH32 0x7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5 0000150e: SWAP1 0000150f: PUSH1 0x20 00001511: ADD 00001512: PUSH1 0x40 00001514: MLOAD 00001515: DUP1 00001516: SWAP2 00001517: SUB 00001518: SWAP1 00001519: LOG2 0000151a: POP 0000151b: JUMP 0000151c: JUMPDEST 0000151d: PUSH1 0x98 0000151f: SLOAD 00001520: PUSH1 0x00 00001522: JUMPDEST 00001523: DUP2 00001524: DUP2 00001525: LT 00001526: ISZERO 00001527: PUSH2 0x086d 0000152a: JUMPI 0000152b: PUSH1 0x00 0000152d: PUSH1 0x98 0000152f: DUP3 00001530: DUP2 00001531: SLOAD 00001532: DUP2 00001533: LT 00001534: PUSH2 0x153f 00001537: JUMPI 00001538: PUSH2 0x153f 0000153b: PUSH2 0x21ba 0000153e: JUMP 0000153f: JUMPDEST 00001540: PUSH1 0x00 00001542: SWAP2 00001543: DUP3 00001544: MSTORE 00001545: PUSH1 0x20 00001547: DUP3 00001548: KECCAK256 00001549: ADD 0000154a: SLOAD 0000154b: PUSH1 0x01 0000154d: PUSH1 0x01 0000154f: PUSH1 0xa0 00001551: SHL 00001552: SUB 00001553: AND 00001554: SWAP2 00001555: POP 00001556: PUSH2 0x155f 00001559: CALLER 0000155a: DUP4 0000155b: PUSH2 0x1119 0000155e: JUMP 0000155f: JUMPDEST 00001560: SWAP1 00001561: POP 00001562: DUP1 00001563: ISZERO 00001564: PUSH2 0x15d7 00001567: JUMPI 00001568: PUSH1 0x00 0000156a: PUSH2 0x1572 0000156d: DUP4 0000156e: PUSH2 0x168e 00001571: JUMP 00001572: JUMPDEST 00001573: CALLER 00001574: PUSH1 0x00 00001576: DUP2 00001577: DUP2 00001578: MSTORE 00001579: PUSH1 0x06 0000157b: SWAP3 0000157c: SWAP1 0000157d: SWAP3 0000157e: ADD 0000157f: PUSH1 0x20 00001581: MSTORE 00001582: PUSH1 0x40 00001584: SWAP1 00001585: SWAP2 00001586: KECCAK256 00001587: SWAP2 00001588: SWAP1 00001589: SWAP2 0000158a: SSTORE 0000158b: PUSH2 0x1596 0000158e: SWAP1 0000158f: DUP4 00001590: SWAP1 00001591: DUP4 00001592: PUSH2 0x1c26 00001595: JUMP 00001596: JUMPDEST 00001597: PUSH1 0x40 00001599: MLOAD 0000159a: DUP2 0000159b: DUP2 0000159c: MSTORE 0000159d: PUSH1 0x01 0000159f: PUSH1 0x01 000015a1: PUSH1 0xa0 000015a3: SHL 000015a4: SUB 000015a5: DUP4 000015a6: AND 000015a7: SWAP1 000015a8: CALLER 000015a9: SWAP1 000015aa: PUSH32 0x540798df468d7b23d11f156fdb954cb19ad414d150722a7b6d55ba369dea792e 000015cb: SWAP1 000015cc: PUSH1 0x20 000015ce: ADD 000015cf: PUSH1 0x40 000015d1: MLOAD 000015d2: DUP1 000015d3: SWAP2 000015d4: SUB 000015d5: SWAP1 000015d6: LOG3 000015d7: JUMPDEST 000015d8: POP 000015d9: POP 000015da: PUSH1 0x01 000015dc: ADD 000015dd: PUSH2 0x1522 000015e0: JUMP 000015e1: JUMPDEST 000015e2: PUSH1 0x65 000015e4: DUP1 000015e5: SLOAD 000015e6: PUSH1 0x01 000015e8: PUSH1 0x01 000015ea: PUSH1 0xa0 000015ec: SHL 000015ed: SUB 000015ee: DUP4 000015ef: DUP2 000015f0: AND 000015f1: PUSH1 0x01 000015f3: PUSH1 0x01 000015f5: PUSH1 0xa0 000015f7: SHL 000015f8: SUB 000015f9: NOT 000015fa: DUP4 000015fb: AND 000015fc: DUP2 000015fd: OR 000015fe: SWAP1 000015ff: SWAP4 00001600: SSTORE 00001601: PUSH1 0x40 00001603: MLOAD 00001604: SWAP2 00001605: AND 00001606: SWAP2 00001607: SWAP1 00001608: DUP3 00001609: SWAP1 0000160a: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 0000162b: SWAP1 0000162c: PUSH1 0x00 0000162e: SWAP1 0000162f: LOG3 00001630: POP 00001631: POP 00001632: JUMP 00001633: JUMPDEST 00001634: PUSH2 0x163d 00001637: DUP3 00001638: DUP3 00001639: PUSH2 0x1cb9 0000163c: JUMP 0000163d: JUMPDEST 0000163e: PUSH1 0x97 00001640: SLOAD 00001641: PUSH2 0x1655 00001644: SWAP1 00001645: PUSH1 0x01 00001647: PUSH1 0x01 00001649: PUSH1 0xa0 0000164b: SHL 0000164c: SUB 0000164d: AND 0000164e: DUP4 0000164f: ADDRESS 00001650: DUP5 00001651: PUSH2 0x16b5 00001654: JUMP 00001655: JUMPDEST 00001656: PUSH1 0x40 00001658: MLOAD 00001659: DUP2 0000165a: DUP2 0000165b: MSTORE 0000165c: CALLER 0000165d: SWAP1 0000165e: PUSH32 0x9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d 0000167f: SWAP1 00001680: PUSH1 0x20 00001682: ADD 00001683: PUSH1 0x40 00001685: MLOAD 00001686: DUP1 00001687: SWAP2 00001688: SUB 00001689: SWAP1 0000168a: LOG2 0000168b: POP 0000168c: POP 0000168d: JUMP 0000168e: JUMPDEST 0000168f: PUSH1 0x01 00001691: PUSH1 0x01 00001693: PUSH1 0xa0 00001695: SHL 00001696: SUB 00001697: AND 00001698: PUSH1 0x00 0000169a: SWAP1 0000169b: DUP2 0000169c: MSTORE 0000169d: PUSH1 0x9c 0000169f: PUSH1 0x20 000016a1: SWAP1 000016a2: DUP2 000016a3: MSTORE 000016a4: PUSH1 0x40 000016a6: DUP1 000016a7: DUP4 000016a8: KECCAK256 000016a9: SLOAD 000016aa: DUP4 000016ab: MSTORE 000016ac: PUSH1 0x9d 000016ae: SWAP1 000016af: SWAP2 000016b0: MSTORE 000016b1: SWAP1 000016b2: KECCAK256 000016b3: SWAP1 000016b4: JUMP 000016b5: JUMPDEST 000016b6: PUSH1 0x40 000016b8: MLOAD 000016b9: PUSH1 0x01 000016bb: PUSH1 0x01 000016bd: PUSH1 0xa0 000016bf: SHL 000016c0: SUB 000016c1: DUP1 000016c2: DUP6 000016c3: AND 000016c4: PUSH1 0x24 000016c6: DUP4 000016c7: ADD 000016c8: MSTORE 000016c9: DUP4 000016ca: AND 000016cb: PUSH1 0x44 000016cd: DUP3 000016ce: ADD 000016cf: MSTORE 000016d0: PUSH1 0x64 000016d2: DUP2 000016d3: ADD 000016d4: DUP3 000016d5: SWAP1 000016d6: MSTORE 000016d7: PUSH2 0x16ed 000016da: SWAP1 000016db: DUP6 000016dc: SWAP1 000016dd: PUSH4 0x23b872dd 000016e2: PUSH1 0xe0 000016e4: SHL 000016e5: SWAP1 000016e6: PUSH1 0x84 000016e8: ADD 000016e9: PUSH2 0x13b7 000016ec: JUMP 000016ed: JUMPDEST 000016ee: POP 000016ef: POP 000016f0: POP 000016f1: POP 000016f2: JUMP 000016f3: JUMPDEST 000016f4: PUSH1 0x00 000016f6: CALLER 000016f7: PUSH2 0x0634 000016fa: DUP2 000016fb: DUP6 000016fc: DUP6 000016fd: PUSH2 0x1947 00001700: JUMP 00001701: JUMPDEST 00001702: PUSH1 0x00 00001704: SLOAD 00001705: PUSH2 0x0100 00001708: SWAP1 00001709: DIV 0000170a: PUSH1 0xff 0000170c: AND 0000170d: PUSH2 0x1728 00001710: JUMPI 00001711: PUSH1 0x40 00001713: MLOAD 00001714: PUSH3 0x461bcd 00001718: PUSH1 0xe5 0000171a: SHL 0000171b: DUP2 0000171c: MSTORE 0000171d: PUSH1 0x04 0000171f: ADD 00001720: PUSH2 0x0675 00001723: SWAP1 00001724: PUSH2 0x22a8 00001727: JUMP 00001728: JUMPDEST 00001729: PUSH2 0x086d 0000172c: DUP3 0000172d: DUP3 0000172e: PUSH2 0x1d7a 00001731: JUMP 00001732: JUMPDEST 00001733: PUSH1 0x00 00001735: SLOAD 00001736: PUSH2 0x0100 00001739: SWAP1 0000173a: DIV 0000173b: PUSH1 0xff 0000173d: AND 0000173e: PUSH2 0x1759 00001741: JUMPI 00001742: PUSH1 0x40 00001744: MLOAD 00001745: PUSH3 0x461bcd 00001749: PUSH1 0xe5 0000174b: SHL 0000174c: DUP2 0000174d: MSTORE 0000174e: PUSH1 0x04 00001750: ADD 00001751: PUSH2 0x0675 00001754: SWAP1 00001755: PUSH2 0x22a8 00001758: JUMP 00001759: JUMPDEST 0000175a: PUSH2 0x0a58 0000175d: PUSH2 0x1dba 00001760: JUMP 00001761: JUMPDEST 00001762: PUSH1 0x00 00001764: DUP1 00001765: PUSH2 0x176d 00001768: DUP4 00001769: PUSH2 0x168e 0000176c: JUMP 0000176d: JUMPDEST 0000176e: SWAP1 0000176f: POP 00001770: PUSH2 0x1778 00001773: PUSH1 0x35 00001775: SLOAD 00001776: SWAP1 00001777: JUMP 00001778: JUMPDEST 00001779: PUSH1 0x00 0000177b: SUB 0000177c: PUSH2 0x178b 0000177f: JUMPI 00001780: DUP1 00001781: PUSH1 0x04 00001783: ADD 00001784: SLOAD 00001785: SWAP2 00001786: POP 00001787: PUSH2 0x17e5 0000178a: JUMP 0000178b: JUMPDEST 0000178c: PUSH1 0x35 0000178e: SLOAD 0000178f: PUSH1 0x03 00001791: DUP3 00001792: ADD 00001793: SLOAD 00001794: PUSH1 0x02 00001796: DUP4 00001797: ADD 00001798: SLOAD 00001799: DUP4 0000179a: SLOAD 0000179b: PUSH2 0x17a3 0000179e: SWAP1 0000179f: PUSH2 0x18c0 000017a2: JUMP 000017a3: JUMPDEST 000017a4: PUSH2 0x17ad 000017a7: SWAP2 000017a8: SWAP1 000017a9: PUSH2 0x221a 000017ac: JUMP 000017ad: JUMPDEST 000017ae: PUSH2 0x17b7 000017b1: SWAP2 000017b2: SWAP1 000017b3: PUSH2 0x226f 000017b6: JUMP 000017b7: JUMPDEST 000017b8: PUSH2 0x17c9 000017bb: SWAP1 000017bc: PUSH8 0x0de0b6b3a7640000 000017c5: PUSH2 0x226f 000017c8: JUMP 000017c9: JUMPDEST 000017ca: PUSH2 0x17d3 000017cd: SWAP2 000017ce: SWAP1 000017cf: PUSH2 0x2286 000017d2: JUMP 000017d3: JUMPDEST 000017d4: DUP2 000017d5: PUSH1 0x04 000017d7: ADD 000017d8: SLOAD 000017d9: PUSH2 0x17e2 000017dc: SWAP2 000017dd: SWAP1 000017de: PUSH2 0x225c 000017e1: JUMP 000017e2: JUMPDEST 000017e3: SWAP2 000017e4: POP 000017e5: JUMPDEST 000017e6: POP 000017e7: SWAP2 000017e8: SWAP1 000017e9: POP 000017ea: JUMP 000017eb: JUMPDEST 000017ec: PUSH1 0x00 000017ee: PUSH2 0x1840 000017f1: DUP3 000017f2: PUSH1 0x40 000017f4: MLOAD 000017f5: DUP1 000017f6: PUSH1 0x40 000017f8: ADD 000017f9: PUSH1 0x40 000017fb: MSTORE 000017fc: DUP1 000017fd: PUSH1 0x20 000017ff: DUP2 00001800: MSTORE 00001801: PUSH1 0x20 00001803: ADD 00001804: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 00001825: DUP2 00001826: MSTORE 00001827: POP 00001828: DUP6 00001829: PUSH1 0x01 0000182b: PUSH1 0x01 0000182d: PUSH1 0xa0 0000182f: SHL 00001830: SUB 00001831: AND 00001832: PUSH2 0x1dea 00001835: SWAP1 00001836: SWAP3 00001837: SWAP2 00001838: SWAP1 00001839: PUSH4 0xffffffff 0000183e: AND 0000183f: JUMP 00001840: JUMPDEST 00001841: SWAP1 00001842: POP 00001843: DUP1 00001844: MLOAD 00001845: PUSH1 0x00 00001847: EQ 00001848: DUP1 00001849: PUSH2 0x1861 0000184c: JUMPI 0000184d: POP 0000184e: DUP1 0000184f: DUP1 00001850: PUSH1 0x20 00001852: ADD 00001853: SWAP1 00001854: MLOAD 00001855: DUP2 00001856: ADD 00001857: SWAP1 00001858: PUSH2 0x1861 0000185b: SWAP2 0000185c: SWAP1 0000185d: PUSH2 0x22f3 00001860: JUMP 00001861: JUMPDEST 00001862: PUSH2 0x13ee 00001865: JUMPI 00001866: PUSH1 0x40 00001868: MLOAD 00001869: PUSH3 0x461bcd 0000186d: PUSH1 0xe5 0000186f: SHL 00001870: DUP2 00001871: MSTORE 00001872: PUSH1 0x20 00001874: PUSH1 0x04 00001876: DUP3 00001877: ADD 00001878: MSTORE 00001879: PUSH1 0x2a 0000187b: PUSH1 0x24 0000187d: DUP3 0000187e: ADD 0000187f: MSTORE 00001880: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 000018a1: PUSH1 0x44 000018a3: DUP3 000018a4: ADD 000018a5: MSTORE 000018a6: PUSH10 0x1bdd081cdd58d8d95959 000018b1: PUSH1 0xb2 000018b3: SHL 000018b4: PUSH1 0x64 000018b6: DUP3 000018b7: ADD 000018b8: MSTORE 000018b9: PUSH1 0x84 000018bb: ADD 000018bc: PUSH2 0x0675 000018bf: JUMP 000018c0: JUMPDEST 000018c1: PUSH1 0x00 000018c3: DUP2 000018c4: TIMESTAMP 000018c5: GT 000018c6: PUSH2 0x18cf 000018c9: JUMPI 000018ca: TIMESTAMP 000018cb: PUSH2 0x063a 000018ce: JUMP 000018cf: JUMPDEST 000018d0: POP 000018d1: SWAP1 000018d2: JUMP 000018d3: JUMPDEST 000018d4: PUSH1 0x00 000018d6: PUSH2 0x18df 000018d9: DUP5 000018da: DUP5 000018db: PUSH2 0x102b 000018de: JUMP 000018df: JUMPDEST 000018e0: SWAP1 000018e1: POP 000018e2: PUSH1 0x00 000018e4: NOT 000018e5: DUP2 000018e6: EQ 000018e7: PUSH2 0x16ed 000018ea: JUMPI 000018eb: DUP2 000018ec: DUP2 000018ed: LT 000018ee: ISZERO 000018ef: PUSH2 0x193a 000018f2: JUMPI 000018f3: PUSH1 0x40 000018f5: MLOAD 000018f6: PUSH3 0x461bcd 000018fa: PUSH1 0xe5 000018fc: SHL 000018fd: DUP2 000018fe: MSTORE 000018ff: PUSH1 0x20 00001901: PUSH1 0x04 00001903: DUP3 00001904: ADD 00001905: MSTORE 00001906: PUSH1 0x1d 00001908: PUSH1 0x24 0000190a: DUP3 0000190b: ADD 0000190c: MSTORE 0000190d: PUSH32 0x45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000 0000192e: PUSH1 0x44 00001930: DUP3 00001931: ADD 00001932: MSTORE 00001933: PUSH1 0x64 00001935: ADD 00001936: PUSH2 0x0675 00001939: JUMP 0000193a: JUMPDEST 0000193b: PUSH2 0x16ed 0000193e: DUP5 0000193f: DUP5 00001940: DUP5 00001941: DUP5 00001942: SUB 00001943: PUSH2 0x11b2 00001946: JUMP 00001947: JUMPDEST 00001948: PUSH1 0x01 0000194a: PUSH1 0x01 0000194c: PUSH1 0xa0 0000194e: SHL 0000194f: SUB 00001950: DUP4 00001951: AND 00001952: PUSH2 0x19ab 00001955: JUMPI 00001956: PUSH1 0x40 00001958: MLOAD 00001959: PUSH3 0x461bcd 0000195d: PUSH1 0xe5 0000195f: SHL 00001960: DUP2 00001961: MSTORE 00001962: PUSH1 0x20 00001964: PUSH1 0x04 00001966: DUP3 00001967: ADD 00001968: MSTORE 00001969: PUSH1 0x25 0000196b: PUSH1 0x24 0000196d: DUP3 0000196e: ADD 0000196f: MSTORE 00001970: PUSH32 0x45524332303a207472616e736665722066726f6d20746865207a65726f206164 00001991: PUSH1 0x44 00001993: DUP3 00001994: ADD 00001995: MSTORE 00001996: PUSH5 0x6472657373 0000199c: PUSH1 0xd8 0000199e: SHL 0000199f: PUSH1 0x64 000019a1: DUP3 000019a2: ADD 000019a3: MSTORE 000019a4: PUSH1 0x84 000019a6: ADD 000019a7: PUSH2 0x0675 000019aa: JUMP 000019ab: JUMPDEST 000019ac: PUSH1 0x01 000019ae: PUSH1 0x01 000019b0: PUSH1 0xa0 000019b2: SHL 000019b3: SUB 000019b4: DUP3 000019b5: AND 000019b6: PUSH2 0x1a0d 000019b9: JUMPI 000019ba: PUSH1 0x40 000019bc: MLOAD 000019bd: PUSH3 0x461bcd 000019c1: PUSH1 0xe5 000019c3: SHL 000019c4: DUP2 000019c5: MSTORE 000019c6: PUSH1 0x20 000019c8: PUSH1 0x04 000019ca: DUP3 000019cb: ADD 000019cc: MSTORE 000019cd: PUSH1 0x23 000019cf: PUSH1 0x24 000019d1: DUP3 000019d2: ADD 000019d3: MSTORE 000019d4: PUSH32 0x45524332303a207472616e7366657220746f20746865207a65726f2061646472 000019f5: PUSH1 0x44 000019f7: DUP3 000019f8: ADD 000019f9: MSTORE 000019fa: PUSH3 0x657373 000019fe: PUSH1 0xe8 00001a00: SHL 00001a01: PUSH1 0x64 00001a03: DUP3 00001a04: ADD 00001a05: MSTORE 00001a06: PUSH1 0x84 00001a08: ADD 00001a09: PUSH2 0x0675 00001a0c: JUMP 00001a0d: JUMPDEST 00001a0e: PUSH1 0x01 00001a10: PUSH1 0x01 00001a12: PUSH1 0xa0 00001a14: SHL 00001a15: SUB 00001a16: DUP4 00001a17: AND 00001a18: PUSH1 0x00 00001a1a: SWAP1 00001a1b: DUP2 00001a1c: MSTORE 00001a1d: PUSH1 0x33 00001a1f: PUSH1 0x20 00001a21: MSTORE 00001a22: PUSH1 0x40 00001a24: SWAP1 00001a25: KECCAK256 00001a26: SLOAD 00001a27: DUP2 00001a28: DUP2 00001a29: LT 00001a2a: ISZERO 00001a2b: PUSH2 0x1a85 00001a2e: JUMPI 00001a2f: PUSH1 0x40 00001a31: MLOAD 00001a32: PUSH3 0x461bcd 00001a36: PUSH1 0xe5 00001a38: SHL 00001a39: DUP2 00001a3a: MSTORE 00001a3b: PUSH1 0x20 00001a3d: PUSH1 0x04 00001a3f: DUP3 00001a40: ADD 00001a41: MSTORE 00001a42: PUSH1 0x26 00001a44: PUSH1 0x24 00001a46: DUP3 00001a47: ADD 00001a48: MSTORE 00001a49: PUSH32 0x45524332303a207472616e7366657220616d6f756e7420657863656564732062 00001a6a: PUSH1 0x44 00001a6c: DUP3 00001a6d: ADD 00001a6e: MSTORE 00001a6f: PUSH6 0x616c616e6365 00001a76: PUSH1 0xd0 00001a78: SHL 00001a79: PUSH1 0x64 00001a7b: DUP3 00001a7c: ADD 00001a7d: MSTORE 00001a7e: PUSH1 0x84 00001a80: ADD 00001a81: PUSH2 0x0675 00001a84: JUMP 00001a85: JUMPDEST 00001a86: PUSH1 0x01 00001a88: PUSH1 0x01 00001a8a: PUSH1 0xa0 00001a8c: SHL 00001a8d: SUB 00001a8e: DUP1 00001a8f: DUP6 00001a90: AND 00001a91: PUSH1 0x00 00001a93: DUP2 00001a94: DUP2 00001a95: MSTORE 00001a96: PUSH1 0x33 00001a98: PUSH1 0x20 00001a9a: MSTORE 00001a9b: PUSH1 0x40 00001a9d: DUP1 00001a9e: DUP3 00001a9f: KECCAK256 00001aa0: DUP7 00001aa1: DUP7 00001aa2: SUB 00001aa3: SWAP1 00001aa4: SSTORE 00001aa5: SWAP3 00001aa6: DUP7 00001aa7: AND 00001aa8: DUP1 00001aa9: DUP3 00001aaa: MSTORE 00001aab: SWAP1 00001aac: DUP4 00001aad: SWAP1 00001aae: KECCAK256 00001aaf: DUP1 00001ab0: SLOAD 00001ab1: DUP7 00001ab2: ADD 00001ab3: SWAP1 00001ab4: SSTORE 00001ab5: SWAP2 00001ab6: MLOAD 00001ab7: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00001ad8: SWAP1 00001ad9: PUSH2 0x1ae5 00001adc: SWAP1 00001add: DUP7 00001ade: DUP2 00001adf: MSTORE 00001ae0: PUSH1 0x20 00001ae2: ADD 00001ae3: SWAP1 00001ae4: JUMP 00001ae5: JUMPDEST 00001ae6: PUSH1 0x40 00001ae8: MLOAD 00001ae9: DUP1 00001aea: SWAP2 00001aeb: SUB 00001aec: SWAP1 00001aed: LOG3 00001aee: PUSH2 0x16ed 00001af1: JUMP 00001af2: JUMPDEST 00001af3: PUSH1 0x01 00001af5: PUSH1 0x01 00001af7: PUSH1 0xa0 00001af9: SHL 00001afa: SUB 00001afb: DUP3 00001afc: AND 00001afd: PUSH2 0x1b52 00001b00: JUMPI 00001b01: PUSH1 0x40 00001b03: MLOAD 00001b04: PUSH3 0x461bcd 00001b08: PUSH1 0xe5 00001b0a: SHL 00001b0b: DUP2 00001b0c: MSTORE 00001b0d: PUSH1 0x20 00001b0f: PUSH1 0x04 00001b11: DUP3 00001b12: ADD 00001b13: MSTORE 00001b14: PUSH1 0x21 00001b16: PUSH1 0x24 00001b18: DUP3 00001b19: ADD 00001b1a: MSTORE 00001b1b: PUSH32 0x45524332303a206275726e2066726f6d20746865207a65726f20616464726573 00001b3c: PUSH1 0x44 00001b3e: DUP3 00001b3f: ADD 00001b40: MSTORE 00001b41: PUSH1 0x73 00001b43: PUSH1 0xf8 00001b45: SHL 00001b46: PUSH1 0x64 00001b48: DUP3 00001b49: ADD 00001b4a: MSTORE 00001b4b: PUSH1 0x84 00001b4d: ADD 00001b4e: PUSH2 0x0675 00001b51: JUMP 00001b52: JUMPDEST 00001b53: PUSH1 0x01 00001b55: PUSH1 0x01 00001b57: PUSH1 0xa0 00001b59: SHL 00001b5a: SUB 00001b5b: DUP3 00001b5c: AND 00001b5d: PUSH1 0x00 00001b5f: SWAP1 00001b60: DUP2 00001b61: MSTORE 00001b62: PUSH1 0x33 00001b64: PUSH1 0x20 00001b66: MSTORE 00001b67: PUSH1 0x40 00001b69: SWAP1 00001b6a: KECCAK256 00001b6b: SLOAD 00001b6c: DUP2 00001b6d: DUP2 00001b6e: LT 00001b6f: ISZERO 00001b70: PUSH2 0x1bc6 00001b73: JUMPI 00001b74: PUSH1 0x40 00001b76: MLOAD 00001b77: PUSH3 0x461bcd 00001b7b: PUSH1 0xe5 00001b7d: SHL 00001b7e: DUP2 00001b7f: MSTORE 00001b80: PUSH1 0x20 00001b82: PUSH1 0x04 00001b84: DUP3 00001b85: ADD 00001b86: MSTORE 00001b87: PUSH1 0x22 00001b89: PUSH1 0x24 00001b8b: DUP3 00001b8c: ADD 00001b8d: MSTORE 00001b8e: PUSH32 0x45524332303a206275726e20616d6f756e7420657863656564732062616c616e 00001baf: PUSH1 0x44 00001bb1: DUP3 00001bb2: ADD 00001bb3: MSTORE 00001bb4: PUSH2 0x6365 00001bb7: PUSH1 0xf0 00001bb9: SHL 00001bba: PUSH1 0x64 00001bbc: DUP3 00001bbd: ADD 00001bbe: MSTORE 00001bbf: PUSH1 0x84 00001bc1: ADD 00001bc2: PUSH2 0x0675 00001bc5: JUMP 00001bc6: JUMPDEST 00001bc7: PUSH1 0x01 00001bc9: PUSH1 0x01 00001bcb: PUSH1 0xa0 00001bcd: SHL 00001bce: SUB 00001bcf: DUP4 00001bd0: AND 00001bd1: PUSH1 0x00 00001bd3: DUP2 00001bd4: DUP2 00001bd5: MSTORE 00001bd6: PUSH1 0x33 00001bd8: PUSH1 0x20 00001bda: SWAP1 00001bdb: DUP2 00001bdc: MSTORE 00001bdd: PUSH1 0x40 00001bdf: DUP1 00001be0: DUP4 00001be1: KECCAK256 00001be2: DUP7 00001be3: DUP7 00001be4: SUB 00001be5: SWAP1 00001be6: SSTORE 00001be7: PUSH1 0x35 00001be9: DUP1 00001bea: SLOAD 00001beb: DUP8 00001bec: SWAP1 00001bed: SUB 00001bee: SWAP1 00001bef: SSTORE 00001bf0: MLOAD 00001bf1: DUP6 00001bf2: DUP2 00001bf3: MSTORE 00001bf4: SWAP2 00001bf5: SWAP3 00001bf6: SWAP2 00001bf7: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00001c18: SWAP2 00001c19: ADD 00001c1a: PUSH1 0x40 00001c1c: MLOAD 00001c1d: DUP1 00001c1e: SWAP2 00001c1f: SUB 00001c20: SWAP1 00001c21: LOG3 00001c22: POP 00001c23: POP 00001c24: POP 00001c25: JUMP 00001c26: JUMPDEST 00001c27: PUSH1 0x40 00001c29: MLOAD 00001c2a: PUSH4 0x70a08231 00001c2f: PUSH1 0xe0 00001c31: SHL 00001c32: DUP2 00001c33: MSTORE 00001c34: ADDRESS 00001c35: PUSH1 0x04 00001c37: DUP3 00001c38: ADD 00001c39: MSTORE 00001c3a: PUSH1 0x00 00001c3c: SWAP1 00001c3d: PUSH1 0x01 00001c3f: PUSH1 0x01 00001c41: PUSH1 0xa0 00001c43: SHL 00001c44: SUB 00001c45: DUP6 00001c46: AND 00001c47: SWAP1 00001c48: PUSH4 0x70a08231 00001c4d: SWAP1 00001c4e: PUSH1 0x24 00001c50: ADD 00001c51: PUSH1 0x20 00001c53: PUSH1 0x40 00001c55: MLOAD 00001c56: DUP1 00001c57: DUP4 00001c58: SUB 00001c59: DUP2 00001c5a: DUP7 00001c5b: GAS 00001c5c: STATICCALL 00001c5d: ISZERO 00001c5e: DUP1 00001c5f: ISZERO 00001c60: PUSH2 0x1c6d 00001c63: JUMPI 00001c64: RETURNDATASIZE 00001c65: PUSH1 0x00 00001c67: DUP1 00001c68: RETURNDATACOPY 00001c69: RETURNDATASIZE 00001c6a: PUSH1 0x00 00001c6c: REVERT 00001c6d: JUMPDEST 00001c6e: POP 00001c6f: POP 00001c70: POP 00001c71: POP 00001c72: PUSH1 0x40 00001c74: MLOAD 00001c75: RETURNDATASIZE 00001c76: PUSH1 0x1f 00001c78: NOT 00001c79: PUSH1 0x1f 00001c7b: DUP3 00001c7c: ADD 00001c7d: AND 00001c7e: DUP3 00001c7f: ADD 00001c80: DUP1 00001c81: PUSH1 0x40 00001c83: MSTORE 00001c84: POP 00001c85: DUP2 00001c86: ADD 00001c87: SWAP1 00001c88: PUSH2 0x1c91 00001c8b: SWAP2 00001c8c: SWAP1 00001c8d: PUSH2 0x2243 00001c90: JUMP 00001c91: JUMPDEST 00001c92: SWAP1 00001c93: POP 00001c94: DUP1 00001c95: DUP3 00001c96: GT 00001c97: ISZERO 00001c98: PUSH2 0x1c9f 00001c9b: JUMPI 00001c9c: DUP1 00001c9d: SWAP2 00001c9e: POP 00001c9f: JUMPDEST 00001ca0: DUP2 00001ca1: ISZERO 00001ca2: PUSH2 0x16ed 00001ca5: JUMPI 00001ca6: PUSH2 0x16ed 00001ca9: PUSH1 0x01 00001cab: PUSH1 0x01 00001cad: PUSH1 0xa0 00001caf: SHL 00001cb0: SUB 00001cb1: DUP6 00001cb2: AND 00001cb3: DUP5 00001cb4: DUP5 00001cb5: PUSH2 0x138b 00001cb8: JUMP 00001cb9: JUMPDEST 00001cba: PUSH1 0x01 00001cbc: PUSH1 0x01 00001cbe: PUSH1 0xa0 00001cc0: SHL 00001cc1: SUB 00001cc2: DUP3 00001cc3: AND 00001cc4: PUSH2 0x1d0f 00001cc7: JUMPI 00001cc8: PUSH1 0x40 00001cca: MLOAD 00001ccb: PUSH3 0x461bcd 00001ccf: PUSH1 0xe5 00001cd1: SHL 00001cd2: DUP2 00001cd3: MSTORE 00001cd4: PUSH1 0x20 00001cd6: PUSH1 0x04 00001cd8: DUP3 00001cd9: ADD 00001cda: MSTORE 00001cdb: PUSH1 0x1f 00001cdd: PUSH1 0x24 00001cdf: DUP3 00001ce0: ADD 00001ce1: MSTORE 00001ce2: PUSH32 0x45524332303a206d696e7420746f20746865207a65726f206164647265737300 00001d03: PUSH1 0x44 00001d05: DUP3 00001d06: ADD 00001d07: MSTORE 00001d08: PUSH1 0x64 00001d0a: ADD 00001d0b: PUSH2 0x0675 00001d0e: JUMP 00001d0f: JUMPDEST 00001d10: DUP1 00001d11: PUSH1 0x35 00001d13: PUSH1 0x00 00001d15: DUP3 00001d16: DUP3 00001d17: SLOAD 00001d18: PUSH2 0x1d21 00001d1b: SWAP2 00001d1c: SWAP1 00001d1d: PUSH2 0x225c 00001d20: JUMP 00001d21: JUMPDEST 00001d22: SWAP1 00001d23: SWAP2 00001d24: SSTORE 00001d25: POP 00001d26: POP 00001d27: PUSH1 0x01 00001d29: PUSH1 0x01 00001d2b: PUSH1 0xa0 00001d2d: SHL 00001d2e: SUB 00001d2f: DUP3 00001d30: AND 00001d31: PUSH1 0x00 00001d33: DUP2 00001d34: DUP2 00001d35: MSTORE 00001d36: PUSH1 0x33 00001d38: PUSH1 0x20 00001d3a: SWAP1 00001d3b: DUP2 00001d3c: MSTORE 00001d3d: PUSH1 0x40 00001d3f: DUP1 00001d40: DUP4 00001d41: KECCAK256 00001d42: DUP1 00001d43: SLOAD 00001d44: DUP7 00001d45: ADD 00001d46: SWAP1 00001d47: SSTORE 00001d48: MLOAD 00001d49: DUP5 00001d4a: DUP2 00001d4b: MSTORE 00001d4c: PUSH32 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef 00001d6d: SWAP2 00001d6e: ADD 00001d6f: PUSH1 0x40 00001d71: MLOAD 00001d72: DUP1 00001d73: SWAP2 00001d74: SUB 00001d75: SWAP1 00001d76: LOG3 00001d77: POP 00001d78: POP 00001d79: JUMP 00001d7a: JUMPDEST 00001d7b: PUSH1 0x00 00001d7d: SLOAD 00001d7e: PUSH2 0x0100 00001d81: SWAP1 00001d82: DIV 00001d83: PUSH1 0xff 00001d85: AND 00001d86: PUSH2 0x1da1 00001d89: JUMPI 00001d8a: PUSH1 0x40 00001d8c: MLOAD 00001d8d: PUSH3 0x461bcd 00001d91: PUSH1 0xe5 00001d93: SHL 00001d94: DUP2 00001d95: MSTORE 00001d96: PUSH1 0x04 00001d98: ADD 00001d99: PUSH2 0x0675 00001d9c: SWAP1 00001d9d: PUSH2 0x22a8 00001da0: JUMP 00001da1: JUMPDEST 00001da2: PUSH1 0x36 00001da4: PUSH2 0x1dad 00001da7: DUP4 00001da8: DUP3 00001da9: PUSH2 0x235e 00001dac: JUMP 00001dad: JUMPDEST 00001dae: POP 00001daf: PUSH1 0x37 00001db1: PUSH2 0x13ee 00001db4: DUP3 00001db5: DUP3 00001db6: PUSH2 0x235e 00001db9: JUMP 00001dba: JUMPDEST 00001dbb: PUSH1 0x00 00001dbd: SLOAD 00001dbe: PUSH2 0x0100 00001dc1: SWAP1 00001dc2: DIV 00001dc3: PUSH1 0xff 00001dc5: AND 00001dc6: PUSH2 0x1de1 00001dc9: JUMPI 00001dca: PUSH1 0x40 00001dcc: MLOAD 00001dcd: PUSH3 0x461bcd 00001dd1: PUSH1 0xe5 00001dd3: SHL 00001dd4: DUP2 00001dd5: MSTORE 00001dd6: PUSH1 0x04 00001dd8: ADD 00001dd9: PUSH2 0x0675 00001ddc: SWAP1 00001ddd: PUSH2 0x22a8 00001de0: JUMP 00001de1: JUMPDEST 00001de2: PUSH2 0x0a58 00001de5: CALLER 00001de6: PUSH2 0x15e1 00001de9: JUMP 00001dea: JUMPDEST 00001deb: PUSH1 0x60 00001ded: PUSH2 0x0852 00001df0: DUP5 00001df1: DUP5 00001df2: PUSH1 0x00 00001df4: DUP6 00001df5: DUP6 00001df6: PUSH1 0x00 00001df8: DUP1 00001df9: DUP7 00001dfa: PUSH1 0x01 00001dfc: PUSH1 0x01 00001dfe: PUSH1 0xa0 00001e00: SHL 00001e01: SUB 00001e02: AND 00001e03: DUP6 00001e04: DUP8 00001e05: PUSH1 0x40 00001e07: MLOAD 00001e08: PUSH2 0x1e11 00001e0b: SWAP2 00001e0c: SWAP1 00001e0d: PUSH2 0x241e 00001e10: JUMP 00001e11: JUMPDEST 00001e12: PUSH1 0x00 00001e14: PUSH1 0x40 00001e16: MLOAD 00001e17: DUP1 00001e18: DUP4 00001e19: SUB 00001e1a: DUP2 00001e1b: DUP6 00001e1c: DUP8 00001e1d: GAS 00001e1e: CALL 00001e1f: SWAP3 00001e20: POP 00001e21: POP 00001e22: POP 00001e23: RETURNDATASIZE 00001e24: DUP1 00001e25: PUSH1 0x00 00001e27: DUP2 00001e28: EQ 00001e29: PUSH2 0x1e4e 00001e2c: JUMPI 00001e2d: PUSH1 0x40 00001e2f: MLOAD 00001e30: SWAP2 00001e31: POP 00001e32: PUSH1 0x1f 00001e34: NOT 00001e35: PUSH1 0x3f 00001e37: RETURNDATASIZE 00001e38: ADD 00001e39: AND 00001e3a: DUP3 00001e3b: ADD 00001e3c: PUSH1 0x40 00001e3e: MSTORE 00001e3f: RETURNDATASIZE 00001e40: DUP3 00001e41: MSTORE 00001e42: RETURNDATASIZE 00001e43: PUSH1 0x00 00001e45: PUSH1 0x20 00001e47: DUP5 00001e48: ADD 00001e49: RETURNDATACOPY 00001e4a: PUSH2 0x1e53 00001e4d: JUMP 00001e4e: JUMPDEST 00001e4f: PUSH1 0x60 00001e51: SWAP2 00001e52: POP 00001e53: JUMPDEST 00001e54: POP 00001e55: SWAP2 00001e56: POP 00001e57: SWAP2 00001e58: POP 00001e59: PUSH2 0x1e64 00001e5c: DUP8 00001e5d: DUP4 00001e5e: DUP4 00001e5f: DUP8 00001e60: PUSH2 0x1e6f 00001e63: JUMP 00001e64: JUMPDEST 00001e65: SWAP8 00001e66: SWAP7 00001e67: POP 00001e68: POP 00001e69: POP 00001e6a: POP 00001e6b: POP 00001e6c: POP 00001e6d: POP 00001e6e: JUMP 00001e6f: JUMPDEST 00001e70: PUSH1 0x60 00001e72: DUP4 00001e73: ISZERO 00001e74: PUSH2 0x1ede 00001e77: JUMPI 00001e78: DUP3 00001e79: MLOAD 00001e7a: PUSH1 0x00 00001e7c: SUB 00001e7d: PUSH2 0x1ed7 00001e80: JUMPI 00001e81: PUSH1 0x01 00001e83: PUSH1 0x01 00001e85: PUSH1 0xa0 00001e87: SHL 00001e88: SUB 00001e89: DUP6 00001e8a: AND 00001e8b: EXTCODESIZE 00001e8c: PUSH2 0x1ed7 00001e8f: JUMPI 00001e90: PUSH1 0x40 00001e92: MLOAD 00001e93: PUSH3 0x461bcd 00001e97: PUSH1 0xe5 00001e99: SHL 00001e9a: DUP2 00001e9b: MSTORE 00001e9c: PUSH1 0x20 00001e9e: PUSH1 0x04 00001ea0: DUP3 00001ea1: ADD 00001ea2: MSTORE 00001ea3: PUSH1 0x1d 00001ea5: PUSH1 0x24 00001ea7: DUP3 00001ea8: ADD 00001ea9: MSTORE 00001eaa: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00001ecb: PUSH1 0x44 00001ecd: DUP3 00001ece: ADD 00001ecf: MSTORE 00001ed0: PUSH1 0x64 00001ed2: ADD 00001ed3: PUSH2 0x0675 00001ed6: JUMP 00001ed7: JUMPDEST 00001ed8: POP 00001ed9: DUP2 00001eda: PUSH2 0x0852 00001edd: JUMP 00001ede: JUMPDEST 00001edf: PUSH2 0x0852 00001ee2: DUP4 00001ee3: DUP4 00001ee4: DUP2 00001ee5: MLOAD 00001ee6: ISZERO 00001ee7: PUSH2 0x1ef3 00001eea: JUMPI 00001eeb: DUP2 00001eec: MLOAD 00001eed: DUP1 00001eee: DUP4 00001eef: PUSH1 0x20 00001ef1: ADD 00001ef2: REVERT 00001ef3: JUMPDEST 00001ef4: DUP1 00001ef5: PUSH1 0x40 00001ef7: MLOAD 00001ef8: PUSH3 0x461bcd 00001efc: PUSH1 0xe5 00001efe: SHL 00001eff: DUP2 00001f00: MSTORE 00001f01: PUSH1 0x04 00001f03: ADD 00001f04: PUSH2 0x0675 00001f07: SWAP2 00001f08: SWAP1 00001f09: PUSH2 0x1fe7 00001f0c: JUMP 00001f0d: JUMPDEST 00001f0e: DUP1 00001f0f: CALLDATALOAD 00001f10: PUSH1 0x01 00001f12: PUSH1 0x01 00001f14: PUSH1 0xa0 00001f16: SHL 00001f17: SUB 00001f18: DUP2 00001f19: AND 00001f1a: DUP2 00001f1b: EQ 00001f1c: PUSH2 0x1386 00001f1f: JUMPI 00001f20: PUSH1 0x00 00001f22: DUP1 00001f23: REVERT 00001f24: JUMPDEST 00001f25: PUSH1 0x00 00001f27: PUSH1 0x20 00001f29: DUP3 00001f2a: DUP5 00001f2b: SUB 00001f2c: SLT 00001f2d: ISZERO 00001f2e: PUSH2 0x1f36 00001f31: JUMPI 00001f32: PUSH1 0x00 00001f34: DUP1 00001f35: REVERT 00001f36: JUMPDEST 00001f37: PUSH2 0x082c 00001f3a: DUP3 00001f3b: PUSH2 0x1f0d 00001f3e: JUMP 00001f3f: JUMPDEST 00001f40: PUSH1 0x40 00001f42: DUP1 00001f43: DUP3 00001f44: MSTORE 00001f45: DUP4 00001f46: MLOAD 00001f47: SWAP1 00001f48: DUP3 00001f49: ADD 00001f4a: DUP2 00001f4b: SWAP1 00001f4c: MSTORE 00001f4d: PUSH1 0x00 00001f4f: SWAP1 00001f50: PUSH1 0x20 00001f52: SWAP1 00001f53: PUSH1 0x60 00001f55: DUP5 00001f56: ADD 00001f57: SWAP1 00001f58: DUP3 00001f59: DUP8 00001f5a: ADD 00001f5b: DUP5 00001f5c: JUMPDEST 00001f5d: DUP3 00001f5e: DUP2 00001f5f: LT 00001f60: ISZERO 00001f61: PUSH2 0x1f81 00001f64: JUMPI 00001f65: DUP2 00001f66: MLOAD 00001f67: PUSH1 0x01 00001f69: PUSH1 0x01 00001f6b: PUSH1 0xa0 00001f6d: SHL 00001f6e: SUB 00001f6f: AND 00001f70: DUP5 00001f71: MSTORE 00001f72: SWAP3 00001f73: DUP5 00001f74: ADD 00001f75: SWAP3 00001f76: SWAP1 00001f77: DUP5 00001f78: ADD 00001f79: SWAP1 00001f7a: PUSH1 0x01 00001f7c: ADD 00001f7d: PUSH2 0x1f5c 00001f80: JUMP 00001f81: JUMPDEST 00001f82: POP 00001f83: POP 00001f84: POP 00001f85: DUP4 00001f86: DUP2 00001f87: SUB 00001f88: DUP3 00001f89: DUP6 00001f8a: ADD 00001f8b: MSTORE 00001f8c: DUP5 00001f8d: MLOAD 00001f8e: DUP1 00001f8f: DUP3 00001f90: MSTORE 00001f91: DUP6 00001f92: DUP4 00001f93: ADD 00001f94: SWAP2 00001f95: DUP4 00001f96: ADD 00001f97: SWAP1 00001f98: PUSH1 0x00 00001f9a: JUMPDEST 00001f9b: DUP2 00001f9c: DUP2 00001f9d: LT 00001f9e: ISZERO 00001f9f: PUSH2 0x1fb6 00001fa2: JUMPI 00001fa3: DUP4 00001fa4: MLOAD 00001fa5: DUP4 00001fa6: MSTORE 00001fa7: SWAP3 00001fa8: DUP5 00001fa9: ADD 00001faa: SWAP3 00001fab: SWAP2 00001fac: DUP5 00001fad: ADD 00001fae: SWAP2 00001faf: PUSH1 0x01 00001fb1: ADD 00001fb2: PUSH2 0x1f9a 00001fb5: JUMP 00001fb6: JUMPDEST 00001fb7: POP 00001fb8: SWAP1 00001fb9: SWAP8 00001fba: SWAP7 00001fbb: POP 00001fbc: POP 00001fbd: POP 00001fbe: POP 00001fbf: POP 00001fc0: POP 00001fc1: POP 00001fc2: JUMP 00001fc3: JUMPDEST 00001fc4: PUSH1 0x00 00001fc6: JUMPDEST 00001fc7: DUP4 00001fc8: DUP2 00001fc9: LT 00001fca: ISZERO 00001fcb: PUSH2 0x1fde 00001fce: JUMPI 00001fcf: DUP2 00001fd0: DUP2 00001fd1: ADD 00001fd2: MLOAD 00001fd3: DUP4 00001fd4: DUP3 00001fd5: ADD 00001fd6: MSTORE 00001fd7: PUSH1 0x20 00001fd9: ADD 00001fda: PUSH2 0x1fc6 00001fdd: JUMP 00001fde: JUMPDEST 00001fdf: POP 00001fe0: POP 00001fe1: PUSH1 0x00 00001fe3: SWAP2 00001fe4: ADD 00001fe5: MSTORE 00001fe6: JUMP 00001fe7: JUMPDEST 00001fe8: PUSH1 0x20 00001fea: DUP2 00001feb: MSTORE 00001fec: PUSH1 0x00 00001fee: DUP3 00001fef: MLOAD 00001ff0: DUP1 00001ff1: PUSH1 0x20 00001ff3: DUP5 00001ff4: ADD 00001ff5: MSTORE 00001ff6: PUSH2 0x2006 00001ff9: DUP2 00001ffa: PUSH1 0x40 00001ffc: DUP6 00001ffd: ADD 00001ffe: PUSH1 0x20 00002000: DUP8 00002001: ADD 00002002: PUSH2 0x1fc3 00002005: JUMP 00002006: JUMPDEST 00002007: PUSH1 0x1f 00002009: ADD 0000200a: PUSH1 0x1f 0000200c: NOT 0000200d: AND 0000200e: SWAP2 0000200f: SWAP1 00002010: SWAP2 00002011: ADD 00002012: PUSH1 0x40 00002014: ADD 00002015: SWAP3 00002016: SWAP2 00002017: POP 00002018: POP 00002019: JUMP 0000201a: JUMPDEST 0000201b: PUSH1 0x00 0000201d: DUP1 0000201e: PUSH1 0x40 00002020: DUP4 00002021: DUP6 00002022: SUB 00002023: SLT 00002024: ISZERO 00002025: PUSH2 0x202d 00002028: JUMPI 00002029: PUSH1 0x00 0000202b: DUP1 0000202c: REVERT 0000202d: JUMPDEST 0000202e: PUSH2 0x2036 00002031: DUP4 00002032: PUSH2 0x1f0d 00002035: JUMP 00002036: JUMPDEST 00002037: SWAP5 00002038: PUSH1 0x20 0000203a: SWAP4 0000203b: SWAP1 0000203c: SWAP4 0000203d: ADD 0000203e: CALLDATALOAD 0000203f: SWAP4 00002040: POP 00002041: POP 00002042: POP 00002043: JUMP 00002044: JUMPDEST 00002045: PUSH1 0x00 00002047: DUP1 00002048: PUSH1 0x40 0000204a: DUP4 0000204b: DUP6 0000204c: SUB 0000204d: SLT 0000204e: ISZERO 0000204f: PUSH2 0x2057 00002052: JUMPI 00002053: PUSH1 0x00 00002055: DUP1 00002056: REVERT 00002057: JUMPDEST 00002058: PUSH2 0x2060 0000205b: DUP4 0000205c: PUSH2 0x1f0d 0000205f: JUMP 00002060: JUMPDEST 00002061: SWAP2 00002062: POP 00002063: PUSH2 0x206e 00002066: PUSH1 0x20 00002068: DUP5 00002069: ADD 0000206a: PUSH2 0x1f0d 0000206d: JUMP 0000206e: JUMPDEST 0000206f: SWAP1 00002070: POP 00002071: SWAP3 00002072: POP 00002073: SWAP3 00002074: SWAP1 00002075: POP 00002076: JUMP 00002077: JUMPDEST 00002078: PUSH1 0x00 0000207a: DUP1 0000207b: PUSH1 0x00 0000207d: PUSH1 0x60 0000207f: DUP5 00002080: DUP7 00002081: SUB 00002082: SLT 00002083: ISZERO 00002084: PUSH2 0x208c 00002087: JUMPI 00002088: PUSH1 0x00 0000208a: DUP1 0000208b: REVERT 0000208c: JUMPDEST 0000208d: PUSH2 0x2095 00002090: DUP5 00002091: PUSH2 0x1f0d 00002094: JUMP 00002095: JUMPDEST 00002096: SWAP3 00002097: POP 00002098: PUSH2 0x20a3 0000209b: PUSH1 0x20 0000209d: DUP6 0000209e: ADD 0000209f: PUSH2 0x1f0d 000020a2: JUMP 000020a3: JUMPDEST 000020a4: SWAP2 000020a5: POP 000020a6: PUSH1 0x40 000020a8: DUP5 000020a9: ADD 000020aa: CALLDATALOAD 000020ab: SWAP1 000020ac: POP 000020ad: SWAP3 000020ae: POP 000020af: SWAP3 000020b0: POP 000020b1: SWAP3 000020b2: JUMP 000020b3: JUMPDEST 000020b4: PUSH1 0x00 000020b6: PUSH1 0x20 000020b8: DUP3 000020b9: DUP5 000020ba: SUB 000020bb: SLT 000020bc: ISZERO 000020bd: PUSH2 0x20c5 000020c0: JUMPI 000020c1: PUSH1 0x00 000020c3: DUP1 000020c4: REVERT 000020c5: JUMPDEST 000020c6: POP 000020c7: CALLDATALOAD 000020c8: SWAP2 000020c9: SWAP1 000020ca: POP 000020cb: JUMP 000020cc: JUMPDEST 000020cd: DUP1 000020ce: ISZERO 000020cf: ISZERO 000020d0: DUP2 000020d1: EQ 000020d2: PUSH2 0x08a5 000020d5: JUMPI 000020d6: PUSH1 0x00 000020d8: DUP1 000020d9: REVERT 000020da: JUMPDEST 000020db: PUSH1 0x00 000020dd: DUP1 000020de: PUSH1 0x40 000020e0: DUP4 000020e1: DUP6 000020e2: SUB 000020e3: SLT 000020e4: ISZERO 000020e5: PUSH2 0x20ed 000020e8: JUMPI 000020e9: PUSH1 0x00 000020eb: DUP1 000020ec: REVERT 000020ed: JUMPDEST 000020ee: PUSH2 0x20f6 000020f1: DUP4 000020f2: PUSH2 0x1f0d 000020f5: JUMP 000020f6: JUMPDEST 000020f7: SWAP2 000020f8: POP 000020f9: PUSH1 0x20 000020fb: DUP4 000020fc: ADD 000020fd: CALLDATALOAD 000020fe: PUSH2 0x2106 00002101: DUP2 00002102: PUSH2 0x20cc 00002105: JUMP 00002106: JUMPDEST 00002107: DUP1 00002108: SWAP2 00002109: POP 0000210a: POP 0000210b: SWAP3 0000210c: POP 0000210d: SWAP3 0000210e: SWAP1 0000210f: POP 00002110: JUMP 00002111: JUMPDEST 00002112: PUSH1 0x00 00002114: DUP1 00002115: PUSH1 0x00 00002117: DUP1 00002118: PUSH1 0x00 0000211a: DUP1 0000211b: PUSH1 0xc0 0000211d: DUP8 0000211e: DUP10 0000211f: SUB 00002120: SLT 00002121: ISZERO 00002122: PUSH2 0x212a 00002125: JUMPI 00002126: PUSH1 0x00 00002128: DUP1 00002129: REVERT 0000212a: JUMPDEST 0000212b: PUSH2 0x2133 0000212e: DUP8 0000212f: PUSH2 0x1f0d 00002132: JUMP 00002133: JUMPDEST 00002134: SWAP6 00002135: POP 00002136: PUSH1 0x20 00002138: DUP8 00002139: ADD 0000213a: CALLDATALOAD 0000213b: SWAP5 0000213c: POP 0000213d: PUSH1 0x40 0000213f: DUP8 00002140: ADD 00002141: CALLDATALOAD 00002142: SWAP4 00002143: POP 00002144: PUSH1 0x60 00002146: DUP8 00002147: ADD 00002148: CALLDATALOAD 00002149: PUSH1 0xff 0000214b: DUP2 0000214c: AND 0000214d: DUP2 0000214e: EQ 0000214f: PUSH2 0x2157 00002152: JUMPI 00002153: PUSH1 0x00 00002155: DUP1 00002156: REVERT 00002157: JUMPDEST 00002158: SWAP6 00002159: SWAP9 0000215a: SWAP5 0000215b: SWAP8 0000215c: POP 0000215d: SWAP3 0000215e: SWAP6 0000215f: PUSH1 0x80 00002161: DUP2 00002162: ADD 00002163: CALLDATALOAD 00002164: SWAP5 00002165: PUSH1 0xa0 00002167: SWAP1 00002168: SWAP2 00002169: ADD 0000216a: CALLDATALOAD 0000216b: SWAP4 0000216c: POP 0000216d: SWAP2 0000216e: POP 0000216f: POP 00002170: JUMP 00002171: JUMPDEST 00002172: PUSH1 0x00 00002174: DUP1 00002175: PUSH1 0x00 00002177: PUSH1 0x60 00002179: DUP5 0000217a: DUP7 0000217b: SUB 0000217c: SLT 0000217d: ISZERO 0000217e: PUSH2 0x2186 00002181: JUMPI 00002182: PUSH1 0x00 00002184: DUP1 00002185: REVERT 00002186: JUMPDEST 00002187: PUSH2 0x218f 0000218a: DUP5 0000218b: PUSH2 0x1f0d 0000218e: JUMP 0000218f: JUMPDEST 00002190: SWAP6 00002191: PUSH1 0x20 00002193: DUP6 00002194: ADD 00002195: CALLDATALOAD 00002196: SWAP6 00002197: POP 00002198: PUSH1 0x40 0000219a: SWAP1 0000219b: SWAP5 0000219c: ADD 0000219d: CALLDATALOAD 0000219e: SWAP4 0000219f: SWAP3 000021a0: POP 000021a1: POP 000021a2: POP 000021a3: JUMP 000021a4: JUMPDEST 000021a5: PUSH4 0x4e487b71 000021aa: PUSH1 0xe0 000021ac: SHL 000021ad: PUSH1 0x00 000021af: MSTORE 000021b0: PUSH1 0x41 000021b2: PUSH1 0x04 000021b4: MSTORE 000021b5: PUSH1 0x24 000021b7: PUSH1 0x00 000021b9: REVERT 000021ba: JUMPDEST 000021bb: PUSH4 0x4e487b71 000021c0: PUSH1 0xe0 000021c2: SHL 000021c3: PUSH1 0x00 000021c5: MSTORE 000021c6: PUSH1 0x32 000021c8: PUSH1 0x04 000021ca: MSTORE 000021cb: PUSH1 0x24 000021cd: PUSH1 0x00 000021cf: REVERT 000021d0: JUMPDEST 000021d1: PUSH1 0x01 000021d3: DUP2 000021d4: DUP2 000021d5: SHR 000021d6: SWAP1 000021d7: DUP3 000021d8: AND 000021d9: DUP1 000021da: PUSH2 0x21e4 000021dd: JUMPI 000021de: PUSH1 0x7f 000021e0: DUP3 000021e1: AND 000021e2: SWAP2 000021e3: POP 000021e4: JUMPDEST 000021e5: PUSH1 0x20 000021e7: DUP3 000021e8: LT 000021e9: DUP2 000021ea: SUB 000021eb: PUSH2 0x17e5 000021ee: JUMPI 000021ef: PUSH4 0x4e487b71 000021f4: PUSH1 0xe0 000021f6: SHL 000021f7: PUSH1 0x00 000021f9: MSTORE 000021fa: PUSH1 0x22 000021fc: PUSH1 0x04 000021fe: MSTORE 000021ff: PUSH1 0x24 00002201: PUSH1 0x00 00002203: REVERT 00002204: JUMPDEST 00002205: PUSH4 0x4e487b71 0000220a: PUSH1 0xe0 0000220c: SHL 0000220d: PUSH1 0x00 0000220f: MSTORE 00002210: PUSH1 0x11 00002212: PUSH1 0x04 00002214: MSTORE 00002215: PUSH1 0x24 00002217: PUSH1 0x00 00002219: REVERT 0000221a: JUMPDEST 0000221b: DUP2 0000221c: DUP2 0000221d: SUB 0000221e: DUP2 0000221f: DUP2 00002220: GT 00002221: ISZERO 00002222: PUSH2 0x063a 00002225: JUMPI 00002226: PUSH2 0x063a 00002229: PUSH2 0x2204 0000222c: JUMP 0000222d: JUMPDEST 0000222e: PUSH4 0x4e487b71 00002233: PUSH1 0xe0 00002235: SHL 00002236: PUSH1 0x00 00002238: MSTORE 00002239: PUSH1 0x31 0000223b: PUSH1 0x04 0000223d: MSTORE 0000223e: PUSH1 0x24 00002240: PUSH1 0x00 00002242: REVERT 00002243: JUMPDEST 00002244: PUSH1 0x00 00002246: PUSH1 0x20 00002248: DUP3 00002249: DUP5 0000224a: SUB 0000224b: SLT 0000224c: ISZERO 0000224d: PUSH2 0x2255 00002250: JUMPI 00002251: PUSH1 0x00 00002253: DUP1 00002254: REVERT 00002255: JUMPDEST 00002256: POP 00002257: MLOAD 00002258: SWAP2 00002259: SWAP1 0000225a: POP 0000225b: JUMP 0000225c: JUMPDEST 0000225d: DUP1 0000225e: DUP3 0000225f: ADD 00002260: DUP1 00002261: DUP3 00002262: GT 00002263: ISZERO 00002264: PUSH2 0x063a 00002267: JUMPI 00002268: PUSH2 0x063a 0000226b: PUSH2 0x2204 0000226e: JUMP 0000226f: JUMPDEST 00002270: DUP1 00002271: DUP3 00002272: MUL 00002273: DUP2 00002274: ISZERO 00002275: DUP3 00002276: DUP3 00002277: DIV 00002278: DUP5 00002279: EQ 0000227a: OR 0000227b: PUSH2 0x063a 0000227e: JUMPI 0000227f: PUSH2 0x063a 00002282: PUSH2 0x2204 00002285: JUMP 00002286: JUMPDEST 00002287: PUSH1 0x00 00002289: DUP3 0000228a: PUSH2 0x22a3 0000228d: JUMPI 0000228e: PUSH4 0x4e487b71 00002293: PUSH1 0xe0 00002295: SHL 00002296: PUSH1 0x00 00002298: MSTORE 00002299: PUSH1 0x12 0000229b: PUSH1 0x04 0000229d: MSTORE 0000229e: PUSH1 0x24 000022a0: PUSH1 0x00 000022a2: REVERT 000022a3: JUMPDEST 000022a4: POP 000022a5: DIV 000022a6: SWAP1 000022a7: JUMP 000022a8: JUMPDEST 000022a9: PUSH1 0x20 000022ab: DUP1 000022ac: DUP3 000022ad: MSTORE 000022ae: PUSH1 0x2b 000022b0: SWAP1 000022b1: DUP3 000022b2: ADD 000022b3: MSTORE 000022b4: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069 000022d5: PUSH1 0x40 000022d7: DUP3 000022d8: ADD 000022d9: MSTORE 000022da: PUSH11 0x6e697469616c697a696e67 000022e6: PUSH1 0xa8 000022e8: SHL 000022e9: PUSH1 0x60 000022eb: DUP3 000022ec: ADD 000022ed: MSTORE 000022ee: PUSH1 0x80 000022f0: ADD 000022f1: SWAP1 000022f2: JUMP 000022f3: JUMPDEST 000022f4: PUSH1 0x00 000022f6: PUSH1 0x20 000022f8: DUP3 000022f9: DUP5 000022fa: SUB 000022fb: SLT 000022fc: ISZERO 000022fd: PUSH2 0x2305 00002300: JUMPI 00002301: PUSH1 0x00 00002303: DUP1 00002304: REVERT 00002305: JUMPDEST 00002306: DUP2 00002307: MLOAD 00002308: PUSH2 0x082c 0000230b: DUP2 0000230c: PUSH2 0x20cc 0000230f: JUMP 00002310: JUMPDEST 00002311: PUSH1 0x1f 00002313: DUP3 00002314: GT 00002315: ISZERO 00002316: PUSH2 0x13ee 00002319: JUMPI 0000231a: PUSH1 0x00 0000231c: DUP2 0000231d: DUP2 0000231e: MSTORE 0000231f: PUSH1 0x20 00002321: DUP2 00002322: KECCAK256 00002323: PUSH1 0x1f 00002325: DUP6 00002326: ADD 00002327: PUSH1 0x05 00002329: SHR 0000232a: DUP2 0000232b: ADD 0000232c: PUSH1 0x20 0000232e: DUP7 0000232f: LT 00002330: ISZERO 00002331: PUSH2 0x2337 00002334: JUMPI 00002335: POP 00002336: DUP1 00002337: JUMPDEST 00002338: PUSH1 0x1f 0000233a: DUP6 0000233b: ADD 0000233c: PUSH1 0x05 0000233e: SHR 0000233f: DUP3 00002340: ADD 00002341: SWAP2 00002342: POP 00002343: JUMPDEST 00002344: DUP2 00002345: DUP2 00002346: LT 00002347: ISZERO 00002348: PUSH2 0x2356 0000234b: JUMPI 0000234c: DUP3 0000234d: DUP2 0000234e: SSTORE 0000234f: PUSH1 0x01 00002351: ADD 00002352: PUSH2 0x2343 00002355: JUMP 00002356: JUMPDEST 00002357: POP 00002358: POP 00002359: POP 0000235a: POP 0000235b: POP 0000235c: POP 0000235d: JUMP 0000235e: JUMPDEST 0000235f: DUP2 00002360: MLOAD 00002361: PUSH8 0xffffffffffffffff 0000236a: DUP2 0000236b: GT 0000236c: ISZERO 0000236d: PUSH2 0x2378 00002370: JUMPI 00002371: PUSH2 0x2378 00002374: PUSH2 0x21a4 00002377: JUMP 00002378: JUMPDEST 00002379: PUSH2 0x238c 0000237c: DUP2 0000237d: PUSH2 0x2386 00002380: DUP5 00002381: SLOAD 00002382: PUSH2 0x21d0 00002385: JUMP 00002386: JUMPDEST 00002387: DUP5 00002388: PUSH2 0x2310 0000238b: JUMP 0000238c: JUMPDEST 0000238d: PUSH1 0x20 0000238f: DUP1 00002390: PUSH1 0x1f 00002392: DUP4 00002393: GT 00002394: PUSH1 0x01 00002396: DUP2 00002397: EQ 00002398: PUSH2 0x23c1 0000239b: JUMPI 0000239c: PUSH1 0x00 0000239e: DUP5 0000239f: ISZERO 000023a0: PUSH2 0x23a9 000023a3: JUMPI 000023a4: POP 000023a5: DUP6 000023a6: DUP4 000023a7: ADD 000023a8: MLOAD 000023a9: JUMPDEST 000023aa: PUSH1 0x00 000023ac: NOT 000023ad: PUSH1 0x03 000023af: DUP7 000023b0: SWAP1 000023b1: SHL 000023b2: SHR 000023b3: NOT 000023b4: AND 000023b5: PUSH1 0x01 000023b7: DUP6 000023b8: SWAP1 000023b9: SHL 000023ba: OR 000023bb: DUP6 000023bc: SSTORE 000023bd: PUSH2 0x2356 000023c0: JUMP 000023c1: JUMPDEST 000023c2: PUSH1 0x00 000023c4: DUP6 000023c5: DUP2 000023c6: MSTORE 000023c7: PUSH1 0x20 000023c9: DUP2 000023ca: KECCAK256 000023cb: PUSH1 0x1f 000023cd: NOT 000023ce: DUP7 000023cf: AND 000023d0: SWAP2 000023d1: JUMPDEST 000023d2: DUP3 000023d3: DUP2 000023d4: LT 000023d5: ISZERO 000023d6: PUSH2 0x23f0 000023d9: JUMPI 000023da: DUP9 000023db: DUP7 000023dc: ADD 000023dd: MLOAD 000023de: DUP3 000023df: SSTORE 000023e0: SWAP5 000023e1: DUP5 000023e2: ADD 000023e3: SWAP5 000023e4: PUSH1 0x01 000023e6: SWAP1 000023e7: SWAP2 000023e8: ADD 000023e9: SWAP1 000023ea: DUP5 000023eb: ADD 000023ec: PUSH2 0x23d1 000023ef: JUMP 000023f0: JUMPDEST 000023f1: POP 000023f2: DUP6 000023f3: DUP3 000023f4: LT 000023f5: ISZERO 000023f6: PUSH2 0x240e 000023f9: JUMPI 000023fa: DUP8 000023fb: DUP6 000023fc: ADD 000023fd: MLOAD 000023fe: PUSH1 0x00 00002400: NOT 00002401: PUSH1 0x03 00002403: DUP9 00002404: SWAP1 00002405: SHL 00002406: PUSH1 0xf8 00002408: AND 00002409: SHR 0000240a: NOT 0000240b: AND 0000240c: DUP2 0000240d: SSTORE 0000240e: JUMPDEST 0000240f: POP 00002410: POP 00002411: POP 00002412: POP 00002413: POP 00002414: PUSH1 0x01 00002416: SWAP1 00002417: DUP2 00002418: SHL 00002419: ADD 0000241a: SWAP1 0000241b: SSTORE 0000241c: POP 0000241d: JUMP 0000241e: JUMPDEST 0000241f: PUSH1 0x00 00002421: DUP3 00002422: MLOAD 00002423: PUSH2 0x2430 00002426: DUP2 00002427: DUP5 00002428: PUSH1 0x20 0000242a: DUP8 0000242b: ADD 0000242c: PUSH2 0x1fc3 0000242f: JUMP 00002430: JUMPDEST 00002431: SWAP2 00002432: SWAP1 00002433: SWAP2 00002434: ADD 00002435: SWAP3 00002436: SWAP2 00002437: POP 00002438: POP 00002439: JUMP 0000243a: INVALID 0000243b: LOG2 0000243c: PUSH5 0x6970667358 00002442: UNKNOWN(0x22) 00002443: SLT 00002444: KECCAK256 00002445: MOD 00002446: SWAP12 00002447: UNKNOWN(0x2A) 00002448: EXTCODEHASH 00002449: UNKNOWN(0xD9) 0000244a: DIV 0000244b: DUP13 0000244c: PUSH4 0xd9d6e3db 00002451: UNKNOWN(0x4D) 00002452: UNKNOWN(0x2C) 00002453: SLT 00002454: UNKNOWN(0xDD) 00002455: ISZERO 00002456: UNKNOWN(0xD5) 00002457: BYTE 00002458: SWAP12 00002459: UNKNOWN(0xFB) 0000245a: EXTCODESIZE 0000245b: TSTORE 0000245c: UNKNOWN(0xAB) 0000245d: UNKNOWN(0xA5) 0000245e: PUSH25
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x75a64bee1e3778845a53d830531c32d61d7fa8b62e22dd0d738aa594c3202d5e
call_targets:
0xb1f131437e314614313aab3a3016fa05c1b0e087
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x75a64bee1e3778845a53d830531c32d61d7fa8b62e22dd0d738aa594c3202d5e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb1f131437e314614313aab3a3016fa05c1b0e087"
],
"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": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9fad8ee",
"selector": "0xe9fad8ee",
"calldata_variants": [
"0xe9fad8ee",
"0xe9fad8ee0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf301af42",
"selector": "0xf301af42",
"calldata_variants": [
"0xf301af42",
"0xf301af420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9059cbb",
"selector": "0xa9059cbb",
"calldata_variants": [
"0xa9059cbb",
"0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc4d66de8",
"selector": "0xc4d66de8",
"calldata_variants": [
"0xc4d66de8",
"0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc7a262e",
"selector": "0xcc7a262e",
"calldata_variants": [
"0xcc7a262e",
"0xcc7a262e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd936547e",
"selector": "0xd936547e",
"calldata_variants": [
"0xd936547e",
"0xd936547e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2777,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7710,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [],
"untrusted_call_count": 2
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x75a64bee1e3778845a53d830531c32d61d7fa8b62e22dd0d738aa594c3202d5e
call_targets:
0xb1f131437e314614313aab3a3016fa05c1b0e087
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x75a64bee1e3778845a53d830531c32d61d7fa8b62e22dd0d738aa594c3202d5e",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xb1f131437e314614313aab3a3016fa05c1b0e087"
],
"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": "0xdd62ed3e",
"selector": "0xdd62ed3e",
"calldata_variants": [
"0xdd62ed3e",
"0xdd62ed3e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe9fad8ee",
"selector": "0xe9fad8ee",
"calldata_variants": [
"0xe9fad8ee",
"0xe9fad8ee0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf301af42",
"selector": "0xf301af42",
"calldata_variants": [
"0xf301af42",
"0xf301af420000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9059cbb",
"selector": "0xa9059cbb",
"calldata_variants": [
"0xa9059cbb",
"0xa9059cbb0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc4d66de8",
"selector": "0xc4d66de8",
"calldata_variants": [
"0xc4d66de8",
"0xc4d66de80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc7a262e",
"selector": "0xcc7a262e",
"calldata_variants": [
"0xcc7a262e",
"0xcc7a262e0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd936547e",
"selector": "0xd936547e",
"calldata_variants": [
"0xd936547e",
"0xd936547e0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2777,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7710,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|
| low | math | codex | Fee-on-transfer or rebasing tokens break staking/reward accounting and can zero out user rewards | 65 | no | — |
viewevidence_json{
"evidence": "`_stake` mints before transferring the staked token; `notifyRewardAmount` uses `_amount` to set the reward rate without verifying actual received; `_rewardTransfer` caps payout to current balance and earned is set to zero before transfer.",
"locations": [
"contracts/contracts/BIFI/infra/BeefyRewardPool.sol:248",
"contracts/contracts/BIFI/infra/BeefyRewardPool.sol:342",
"contracts/contracts/BIFI/infra/BeefyRewardPool.sol:425"
],
"recommendation": "Measure actual received amounts by comparing balances before/after `safeTransferFrom`, and base minting and reward rates on the received amount. Alternatively, explicitly restrict staked/reward tokens to non-deflationary ERC20s and revert if the actual received amount is less than expected. Consider reverting (or tracking shortfalls) if reward funding is insufficient instead of zeroing earned balances.",
"exploit_scenario": "If the staked token or a reward token charges a transfer fee (or rebases), the contract records amounts using the nominal `_amount` rather than the actual received. For rewards, the rate is computed from `_amount`, but the contract may receive less, so rewards become underfunded; `_rewardTransfer` then caps to balance and zeroes the user\u2019s earned amount, causing permanent reward loss for later claimants. For staking, receipt tokens are minted before the transfer, so fee-on-transfer staking can leave receipt supply greater than underlying, leading to insolvent withdrawals or reverts."
}
|
| info | upgradeability | codex | Initializer is publicly callable if deployed/left uninitialized | 60 | no | — |
viewevidence_json{
"evidence": "`initialize` is an external initializer without additional access control, and there is no constructor disabling initializers.",
"locations": [
"contracts/contracts/BIFI/infra/BeefyRewardPool.sol:105"
],
"recommendation": "Ensure the proxy is initialized atomically at deployment. Add a constructor that calls `_disableInitializers()` on the implementation to prevent takeovers of the implementation contract itself.",
"exploit_scenario": "If the proxy is deployed without an atomic initializer call, or if the implementation contract is deployed directly, anyone can call `initialize` first and become the owner. This grants control over whitelisting, reward removal, and token rescues. This is a common upgradeability footgun when initialization is not performed in the same transaction as deployment."
}
|
| 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": 5
}
|