cd9a2c6e-802a-4f64-9f36-2ed44f0a937c
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 |
|---|---|---|---|---|
| 31084 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 76318 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 76319 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 76320 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 76321 | capability.graph | complete | 1 / 3 | 1 week ago |
| 76322 | detector.run | complete | 1 / 3 | 1 week ago |
| 76323 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:656753] OpenAI Codex v0.77.0 (research preview)
[codex:656753] --------
[codex:656753] workdir: /tmp/codex-multi-wcfvfs39
[codex:656753] model: gpt-5.2-codex
[codex:656753] provider: openai
[codex:656753] approval: never
[codex:656753] sandbox: read-only
[codex:656753] reasoning effort: xhigh
[codex:656753] reasoning summaries: auto
[codex:656753] session id: 019b7a78-8fec-7b32-b80b-f5f5399aee66
[codex:656753] --------
[codex:656753] user
[codex:656753] You are a profit-focused exploit hunter. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:656753]
[codex:656753] Read `AUDIT_BUNDLE.txt` completely before concluding. Treat `lib/` and `@openzeppelin/` as trusted unless misused.
[codex:656753]
[codex:656753] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:656753] - Gas inefficiency, code quality, naming, or best practices
[codex:656753] - Theoretical vulnerabilities without a clear extraction path
[codex:656753] - Centralization risks (admin can rug) - assume admin keys are secure
[codex:656753] - Front-running unless it enables theft beyond MEV
[codex:656753] - DoS, griefing, or issues that don't result in attacker profit
[codex:656753] - Missing events, view function issues, or informational findings
[codex:656753]
[codex:656753] HIGH-VALUE PATTERNS TO HUNT:
[codex:656753] - Reentrancy: external calls before state updates that allow double-withdrawal
[codex:656753] - Access control: missing/bypassable auth on withdraw, transfer, or mint functions
[codex:656753] - Flash loan attacks: borrow -> manipulate -> profit in single tx
[codex:656753] - Price oracle manipulation: TWAP with short window, spot price reads, stale prices
[codex:656753] - Signature replay: missing nonce, chainId, or deadline in permit/meta-tx
[codex:656753] - Proxy hijacking: unprotected initialize(), storage collision, UUPS without auth
[codex:656753] - Accounting errors: rounding that favors attacker, share inflation, first depositor attacks
[codex:656753] - Unchecked external calls: return value ignored on token transfers enabling fake tokens
[codex:656753] - Cross-function reentrancy: state read in function A, modified via reentrant call, used stale in A
[codex:656753]
[codex:656753] For each finding, you MUST provide:
[codex:656753] 1. Exact file and line numbers of vulnerable code
[codex:656753] 2. Step-by-step exploit transaction sequence
[codex:656753] 3. Estimated profit potential (order of magnitude: contract balance, LP reserves, etc.)
[codex:656753]
[codex:656753] If no concrete profit path exists: set no_findings=true. Do NOT pad with low-severity noise.
[codex:656753]
[codex:656753] Output MUST be valid JSON matching the provided schema.
[codex:656753] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:656753] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:656753] mcp startup: no servers
[codex:656753]
[codex:656753] thinking
[codex:656753] **Listing files to find instructions**
[codex:656753] exec
[codex:656753] /bin/bash -lc ls in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] AUDIT_BUNDLE.txt
[codex:656753] codex-output-schema.json
[codex:656753] contracts
[codex:656753] exec
[codex:656753] /bin/bash -lc 'rg --files' in /tmp/codex-multi-wcfvfs39 succeeded in 8ms:
[codex:656753] codex-output-schema.json
[codex:656753] AUDIT_BUNDLE.txt
[codex:656753] contracts/src/solidity/IStarkgateManager.sol
[codex:656753] contracts/src/solidity/IStarkgateRegistry.sol
[codex:656753] contracts/src/solidity/LegacyBridge.sol
[codex:656753] contracts/src/solidity/StarknetEthBridge.sol
[codex:656753] contracts/src/solidity/Fees.sol
[codex:656753] contracts/src/solidity/WithdrawalLimit.sol
[codex:656753] contracts/src/solidity/StarkgateConstants.sol
[codex:656753] contracts/src/solidity/StarkgateManager.sol
[codex:656753] contracts/src/solidity/StarknetTokenStorage.sol
[codex:656753] contracts/src/solidity/IStarkgateBridge.sol
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol
[codex:656753] contracts/src/solidity/utils/Felt252.sol
[codex:656753] contracts/src/solidity/IStarkgateService.sol
[codex:656753] contracts/third_party/open_zeppelin/utils/Strings.sol
[codex:656753] contracts/starkware/solidity/components/Roles.sol
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol
[codex:656753] contracts/starkware/solidity/interfaces/ProxySupport.sol
[codex:656753] contracts/starkware/solidity/interfaces/ContractInitializer.sol
[codex:656753]
[codex:656753] thinking
[codex:656753] **Reading AUDIT_BUNDLE.txt**
[codex:656753] exec
[codex:656753] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-wcfvfs39 succeeded in 6ms:
[codex:656753] This file concatenates first-party Solidity sources only (lib/@openzeppelin excluded).
[codex:656753]
[codex:656753] ================================================================================
[codex:656753] FILE: contracts/src/solidity/Fees.sol
[codex:656753] ================================================================================
[codex:656753] /*
[codex:656753] Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753]
[codex:656753] Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753] You may not use this file except in compliance with the License.
[codex:656753] You may obtain a copy of the License at
[codex:656753]
[codex:656753] https://www.starkware.co/open-source-license/
[codex:656753]
[codex:656753] Unless required by applicable law or agreed to in writing,
[codex:656753] software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753] WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753] See the License for the specific language governing permissions
[codex:656753] and limitations under the License.
[codex:656753] */
[codex:656753]
[codex:656753] thinking
[codex:656753] **Preparing to analyze key contracts**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,260p' contracts/src/solidity/StarknetTokenBridge.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 6ms:
[codex:656753] /*
[codex:656753] Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753]
[codex:656753] Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753] You may not use this file except in compliance with the License.
[codex:656753] You may obtain a copy of the License at
[codex:656753]
[codex:656753] https://www.starkware.co/open-source-license/
[codex:656753]
[codex:656753] Unless required by applicable law or agreed to in writing,
[codex:656753] software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753] WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753] See the License for the specific language governing permissions
[codex:656753] and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.20;
[codex:656753]
[codex:656753] import "starkware/solidity/interfaces/Identity.sol";
[codex:656753] import "starkware/solidity/interfaces/ProxySupport.sol";
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '260,620p' contracts/src/solidity/StarknetTokenBridge.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] bytes32 msgHash = settings.deploymentMsgHash;
[codex:656753]
[codex:656753] if (messagingContract().l1ToL2Messages(msgHash) == 0) {
[codex:656753] settings.tokenStatus = TokenStatus.Active;
[codex:656753] } else if (block.timestamp > settings.pendingDeploymentExpiration) {
[codex:656753] delete tokenSettings()[token];
[codex:656753] address registry = IStarkgateManager(manager()).getRegistry();
[codex:656753] IStarkgateRegistry(registry).selfRemove(token);
[codex:656753] }
[codex:656753] }
[codex:656753]
[codex:656753] function depositWithMessage(
[codex:656753] address token,
[codex:656753] uint256 amount,
[codex:656753] uint256 l2Recipient,
[codex:656753] uint256[] calldata message
[codex:656753] ) external payable onlyServicingToken(token) {
[codex:656753] uint256 fee = acceptDeposit(token, amount);
[codex:656753] uint256 nonce = sendDepositMessage(
[codex:656753] token,
[codex:656753]
[codex:656753] thinking
[codex:656753] **Exploring related contracts**
[codex:656753] exec
[codex:656753] /bin/bash -lc 'rg -n "contract StarkgateRegistry|StarkgateRegistry" contracts/src/solidity' in /tmp/codex-multi-wcfvfs39 succeeded in 10ms:
[codex:656753] contracts/src/solidity/IStarkgateRegistry.sol:19:interface IStarkgateRegistry {
[codex:656753] contracts/src/solidity/StarkgateManager.sol:26:import "src/solidity/IStarkgateRegistry.sol";
[codex:656753] contracts/src/solidity/StarkgateManager.sol:97: IStarkgateRegistry(registry()).enlistToken(token, bridge_);
[codex:656753] contracts/src/solidity/StarkgateManager.sol:108: IStarkgateRegistry registryContract = IStarkgateRegistry(registry());
[codex:656753] contracts/src/solidity/StarkgateManager.sol:132: IStarkgateRegistry registryContract = IStarkgateRegistry(registry());
[codex:656753] contracts/src/solidity/StarkgateManager.sol:148: IStarkgateRegistry registryContract = IStarkgateRegistry(registry());
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:30:import "src/solidity/IStarkgateRegistry.sol";
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:267: IStarkgateRegistry(registry).selfRemove(token);
[codex:656753]
[codex:656753] thinking
[codex:656753] **Checking for registry implementation**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,220p' contracts/src/solidity/StarkgateManager.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 6ms:
[codex:656753] /*
[codex:656753] Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753]
[codex:656753] Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753] You may not use this file except in compliance with the License.
[codex:656753] You may obtain a copy of the License at
[codex:656753]
[codex:656753] https://www.starkware.co/open-source-license/
[codex:656753]
[codex:656753] Unless required by applicable law or agreed to in writing,
[codex:656753] software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753] WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753] See the License for the specific language governing permissions
[codex:656753] and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.20;
[codex:656753]
[codex:656753] import "starkware/solidity/components/Roles.sol";
[codex:656753] import "starkware/solidity/interfaces/Identity.sol";
[codex:656753]
[codex:656753] thinking
[codex:656753] **Identifying required component**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,260p' contracts/src/solidity/StarknetEthBridge.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] /*
[codex:656753] Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753]
[codex:656753] Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753] You may not use this file except in compliance with the License.
[codex:656753] You may obtain a copy of the License at
[codex:656753]
[codex:656753] https://www.starkware.co/open-source-license/
[codex:656753]
[codex:656753] Unless required by applicable law or agreed to in writing,
[codex:656753] software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753] WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753] See the License for the specific language governing permissions
[codex:656753] and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.20;
[codex:656753]
[codex:656753] import "starkware/solidity/libraries/Addresses.sol";
[codex:656753] import "src/solidity/Fees.sol";
[codex:656753]
[codex:656753] thinking
[codex:656753] **Identifying withdrawal limit requirement**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,260p' contracts/src/solidity/WithdrawalLimit.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] /*
[codex:656753] Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753]
[codex:656753] Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753] You may not use this file except in compliance with the License.
[codex:656753] You may obtain a copy of the License at
[codex:656753]
[codex:656753] https://www.starkware.co/open-source-license/
[codex:656753]
[codex:656753] Unless required by applicable law or agreed to in writing,
[codex:656753] software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753] WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753] See the License for the specific language governing permissions
[codex:656753] and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.0;
[codex:656753]
[codex:656753] import "starkware/solidity/libraries/NamedStorage.sol";
[codex:656753] import "starkware/solidity/tokens/ERC20/IERC20.sol";
[codex:656753]
[codex:656753] thinking
[codex:656753] **Identifying StarknetTokenStorage**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,260p' contracts/src/solidity/StarknetTokenStorage.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] /*
[codex:656753] Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753]
[codex:656753] Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753] You may not use this file except in compliance with the License.
[codex:656753] You may obtain a copy of the License at
[codex:656753]
[codex:656753] https://www.starkware.co/open-source-license/
[codex:656753]
[codex:656753] Unless required by applicable law or agreed to in writing,
[codex:656753] software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753] WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753] See the License for the specific language governing permissions
[codex:656753] and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.20;
[codex:656753]
[codex:656753] import "starkware/solidity/libraries/NamedStorage.sol";
[codex:656753] import "starkware/starknet/solidity/IStarknetMessaging.sol";
[codex:656753]
[codex:656753] thinking
[codex:656753] **Analyzing Bridge Deposit Cancellation and Reentrancy Risks**
[codex:656753]
[codex:656753] I’m carefully tracing how depositCancelRequest and depositReclaim rely on the messaging contract's sender validations and message payloads, which include msg.sender, to ensure only the original depositor can cancel or reclaim deposits. Although depositCancelRequest lacks explicit onlyDepositor checks, the payload’s use of msg.sender enforces caller identity implicitly, preventing attackers from spoofing. I’m also examining withdraw for potential reentrancy issues during token or ETH transfers, but the state updates (message consumption and quota reduction) occur before transfers, which should block reentrancy exploits. Finally, I’m checking legacy mappings and differences in deposit tracking to evaluate any edge vulnerabilities.
[codex:656753] exec
[codex:656753] /bin/bash -lc "rg -n \"depositors\\(\\)\" -n contracts/src/solidity" in /tmp/codex-multi-wcfvfs39 succeeded in 10ms:
[codex:656753] contracts/src/solidity/LegacyBridge.sol:53: function depositors() internal pure returns (mapping(uint256 => address) storage) {
[codex:656753] contracts/src/solidity/LegacyBridge.sol:58: require(depositors()[nonce] == msg.sender, "ONLY_DEPOSITOR");
[codex:656753]
[codex:656753] thinking
[codex:656753] **Checking depositor mapping usage**
[codex:656753] exec
[codex:656753] /bin/bash -lc 'rg -n "DEPOSITOR_ADDRESSES_TAG|depositor" contracts/src/solidity' in /tmp/codex-multi-wcfvfs39 succeeded in 10ms:
[codex:656753] contracts/src/solidity/LegacyBridge.sol:53: function depositors() internal pure returns (mapping(uint256 => address) storage) {
[codex:656753] contracts/src/solidity/LegacyBridge.sol:54: return NamedStorage.uintToAddressMapping(DEPOSITOR_ADDRESSES_TAG);
[codex:656753] contracts/src/solidity/LegacyBridge.sol:58: require(depositors()[nonce] == msg.sender, "ONLY_DEPOSITOR");
[codex:656753] contracts/src/solidity/StarknetTokenStorage.sol:28: string internal constant DEPOSITOR_ADDRESSES_TAG = "STARKNET_TOKEN_BRIDGE_DEPOSITOR_ADDRESSES";
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:523: 1. The depositor should send a depositCancelRequest request with deposit details & nonce.
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:524: 2. After a predetermined time (cancellation delay), the depositor can claim back the funds by
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:528: the cancellation delay time has already passed. Only the depositor is allowed to cancel
[codex:656753]
[codex:656753] thinking
[codex:656753] **Analyzing token bridge security and deposit logic**
[codex:656753]
[codex:656753] I've reviewed how depositors mapping is handled in legacy bridges, spotting it might only be set pre-upgrade and not updated in current deposits, which seems harmless given new cancel methods relying on msg.sender. I'm also considering token enrollment and withdrawal flows, wondering about permissions and if malicious tokens could exploit transfer or callbacks. Reentrancy and message validation checks seem solid, but I'm curious about possible edge cases around token status, enrollment, and withdrawal limits. Finally, I'm thinking through initialization and proxy patterns, since improper access there could be risky, though those libs appear trusted. Lots of moving parts here—I'll keep piecing it together!
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,260p' contracts/starkware/solidity/interfaces/ProxySupport.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] /*
[codex:656753] Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753]
[codex:656753] Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753] You may not use this file except in compliance with the License.
[codex:656753] You may obtain a copy of the License at
[codex:656753]
[codex:656753] https://www.starkware.co/open-source-license/
[codex:656753]
[codex:656753] Unless required by applicable law or agreed to in writing,
[codex:656753] software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753] WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753] See the License for the specific language governing permissions
[codex:656753] and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.0;
[codex:656753]
[codex:656753] import "starkware/solidity/components/Roles.sol";
[codex:656753] import "starkware/solidity/libraries/RolesLib.sol";
[codex:656753]
[codex:656753]
[codex:656753] thinking
[codex:656753] **Examining proxy and bridge token security**
[codex:656753] thinking
[codex:656753] **Evaluating token enrollment and legacy bridge withdraw risks**
[codex:656753]
[codex:656753] I'm carefully reviewing how token enrollment and message formats interact, especially in legacy bridge withdraws that fallback to old message formats without token data, which might let a caller specify arbitrary tokens in withdraw calls. I’m considering how this impacts ETH and ERC20 handling, noting that the ETH bridge ignores token parameters during transfers, limiting risk, but I'm curious if any ERC20 legacy bridge usage could pose issues.
[codex:656753] exec
[codex:656753] /bin/bash -lc 'rg -n "LegacyBridge" contracts/src/solidity' in /tmp/codex-multi-wcfvfs39 succeeded in 9ms:
[codex:656753] contracts/src/solidity/LegacyBridge.sol:27:abstract contract LegacyBridge is StarknetTokenBridge, OverrideLegacyProxyGovernance {
[codex:656753] contracts/src/solidity/StarknetEthBridge.sol:21:import "src/solidity/LegacyBridge.sol";
[codex:656753] contracts/src/solidity/StarknetEthBridge.sol:23:contract StarknetEthBridge is LegacyBridge {
[codex:656753]
[codex:656753] thinking
[codex:656753] **Analyzing message withdrawal and initialization risks**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,200p' contracts/starkware/solidity/interfaces/BlockDirectCall.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] /*
[codex:656753] Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753]
[codex:656753] Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753] You may not use this file except in compliance with the License.
[codex:656753] You may obtain a copy of the License at
[codex:656753]
[codex:656753] https://www.starkware.co/open-source-license/
[codex:656753]
[codex:656753] Unless required by applicable law or agreed to in writing,
[codex:656753] software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753] WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753] See the License for the specific language governing permissions
[codex:656753] and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.0;
[codex:656753]
[codex:656753] /*
[codex:656753] This contract provides means to block direct call of an external function.
[codex:656753]
[codex:656753] thinking
[codex:656753] **Analyzing ProxySupport initialization risks**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,220p' contracts/starkware/solidity/interfaces/ContractInitializer.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 6ms:
[codex:656753] /*
[codex:656753] Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753]
[codex:656753] Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753] You may not use this file except in compliance with the License.
[codex:656753] You may obtain a copy of the License at
[codex:656753]
[codex:656753] https://www.starkware.co/open-source-license/
[codex:656753]
[codex:656753] Unless required by applicable law or agreed to in writing,
[codex:656753] software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753] WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753] See the License for the specific language governing permissions
[codex:656753] and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.0;
[codex:656753]
[codex:656753] /**
[codex:656753] Interface for contract initialization.
[codex:656753]
[codex:656753] thinking
[codex:656753] **Analyzing proxy initialize vulnerability**
[codex:656753] exec
[codex:656753] /bin/bash -lc 'rg -n "Proxy" contracts -g"*.sol"' in /tmp/codex-multi-wcfvfs39 succeeded in 10ms:
[codex:656753] contracts/src/solidity/LegacyBridge.sol:20:import "starkware/solidity/components/OverrideLegacyProxyGovernance.sol";
[codex:656753] contracts/src/solidity/LegacyBridge.sol:27:abstract contract LegacyBridge is StarknetTokenBridge, OverrideLegacyProxyGovernance {
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:20:import "starkware/solidity/interfaces/ProxySupport.sol";
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:44: ProxySupport
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:120: Gets the addresses of bridgedToken & messagingContract from the ProxySupport initialize(),
[codex:656753] contracts/src/solidity/StarkgateManager.sol:21:import "starkware/solidity/interfaces/ProxySupport.sol";
[codex:656753] contracts/src/solidity/StarkgateManager.sol:29:contract StarkgateManager is Identity, IStarkgateManager, ProxySupport {
[codex:656753] contracts/starkware/solidity/interfaces/ProxySupport.sol:31:abstract contract ProxySupport is BlockDirectCall, ContractInitializer, Roles(true) {
[codex:656753] contracts/starkware/solidity/interfaces/ProxySupport.sol:34: // The two function below (isFrozen & initialize) needed to bind to the Proxy.
[codex:656753] contracts/starkware/solidity/interfaces/ContractInitializer.sol:22: and are called by the ProxySupport contract that implement the generic part of behind-proxy
[codex:656753] contracts/starkware/solidity/libraries/RolesLib.sol:91: // In case the Proxy already initialized the roles,
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:27:// PROXY_GOVERNANCE_TAG = "StarkEx.Proxy.2019.GovernorsInformation"
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:35:abstract contract OverrideLegacyProxyGovernance {
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:47: function legacyProxyGovInfo() private pure returns (GovernanceInfoStruct storage gov) {
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:57: function assignLegacyProxyGovernor(address account) external GovernanceAdminOnly {
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:58: GovernanceInfoStruct storage legacyProxyGov = legacyProxyGovInfo();
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:59: legacyProxyGov.effectiveGovernors[account] = true;
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:60: delete legacyProxyGov.candidateGovernor;
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:67: function removeLegacyProxyGovernor(address account) external GovernanceAdminOnly {
[codex:656753] contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol:68: GovernanceInfoStruct storage legacyProxyGov = legacyProxyGovInfo();
[codex:656753]
[codex:656753] thinking
[codex:656753] **Analyzing unprotected initialize risk**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,260p' contracts/starkware/solidity/components/Roles.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 6ms:
[codex:656753] /*
[codex:656753] Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753]
[codex:656753] Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753] You may not use this file except in compliance with the License.
[codex:656753] You may obtain a copy of the License at
[codex:656753]
[codex:656753] https://www.starkware.co/open-source-license/
[codex:656753]
[codex:656753] Unless required by applicable law or agreed to in writing,
[codex:656753] software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753] WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753] See the License for the specific language governing permissions
[codex:656753] and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.0;
[codex:656753]
[codex:656753] import "starkware/solidity/libraries/RolesLib.sol";
[codex:656753]
[codex:656753]
[codex:656753] thinking
[codex:656753] **Inspecting AccessControl library**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,260p' contracts/starkware/solidity/libraries/AccessControl.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 9ms:
[codex:656753] /*
[codex:656753] Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753]
[codex:656753] Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753] You may not use this file except in compliance with the License.
[codex:656753] You may obtain a copy of the License at
[codex:656753]
[codex:656753] https://www.starkware.co/open-source-license/
[codex:656753]
[codex:656753] Unless required by applicable law or agreed to in writing,
[codex:656753] software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753] WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753] See the License for the specific language governing permissions
[codex:656753] and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: MIT
[codex:656753] // Based on OpenZeppelin Contract (access/AccessControl.sol)
[codex:656753] // StarkWare modification (storage slot, change to library).
[codex:656753]
[codex:656753] pragma solidity ^0.8.0;
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '260,520p' contracts/starkware/solidity/libraries/AccessControl.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] Using this function in any other way is effectively circumventing the admin
[codex:656753] system imposed by {AccessControl}.
[codex:656753] ====
[codex:656753]
[codex:656753] NOTE: This function is deprecated in favor of {_grantRole}.
[codex:656753] */
[codex:656753] function _setupRole(bytes32 role, address account) internal {
[codex:656753] _grantRole(role, account);
[codex:656753] }
[codex:656753]
[codex:656753] /*
[codex:656753] Sets `adminRole` as ``role``'s admin role.
[codex:656753]
[codex:656753] Emits a {RoleAdminChanged} event.
[codex:656753] */
[codex:656753] function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal {
[codex:656753] bytes32 previousAdminRole = getRoleAdmin(role);
[codex:656753] _roles()[role].adminRole = adminRole;
[codex:656753] emit RoleAdminChanged(role, previousAdminRole, adminRole);
[codex:656753] }
[codex:656753]
[codex:656753] thinking
[codex:656753] **Analyzing access control and role enforcement**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,200p' contracts/starkware/solidity/components/OverrideLegacyProxyGovernance.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] /*
[codex:656753] Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753]
[codex:656753] Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753] You may not use this file except in compliance with the License.
[codex:656753] You may obtain a copy of the License at
[codex:656753]
[codex:656753] https://www.starkware.co/open-source-license/
[codex:656753]
[codex:656753] Unless required by applicable law or agreed to in writing,
[codex:656753] software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753] WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753] See the License for the specific language governing permissions
[codex:656753] and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.0;
[codex:656753]
[codex:656753] import "starkware/solidity/libraries/RolesLib.sol";
[codex:656753]
[codex:656753]
[codex:656753] thinking
[codex:656753] **Analyzing potential vulnerabilities and access controls**
[codex:656753] exec
[codex:656753] /bin/bash -lc 'rg -n "setWithdrawLimitPct" -n' in /tmp/codex-multi-wcfvfs39 succeeded in 10ms:
[codex:656753] contracts/src/solidity/WithdrawalLimit.sol:35: function setWithdrawLimitPct(uint256 value) internal {
[codex:656753] contracts/src/solidity/StarknetTokenBridge.sol:127: WithdrawalLimit.setWithdrawLimitPct(WithdrawalLimit.DEFAULT_WITHDRAW_LIMIT_PCT);
[codex:656753] AUDIT_BUNDLE.txt:795: WithdrawalLimit.setWithdrawLimitPct(WithdrawalLimit.DEFAULT_WITHDRAW_LIMIT_PCT);
[codex:656753] AUDIT_BUNDLE.txt:1415: function setWithdrawLimitPct(uint256 value) internal {
[codex:656753]
[codex:656753] thinking
[codex:656753] **Reviewing token bridge protections**
[codex:656753] exec
[codex:656753] /bin/bash -lc "sed -n '1,260p' contracts/starkware/solidity/libraries/Addresses.sol" in /tmp/codex-multi-wcfvfs39 succeeded in 5ms:
[codex:656753] /*
[codex:656753] Copyright 2019-2024 StarkWare Industries Ltd.
[codex:656753]
[codex:656753] Licensed under the Apache License, Version 2.0 (the "License").
[codex:656753] You may not use this file except in compliance with the License.
[codex:656753] You may obtain a copy of the License at
[codex:656753]
[codex:656753] https://www.starkware.co/open-source-license/
[codex:656753]
[codex:656753] Unless required by applicable law or agreed to in writing,
[codex:656753] software distributed under the License is distributed on an "AS IS" BASIS,
[codex:656753] WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
[codex:656753] See the License for the specific language governing permissions
[codex:656753] and limitations under the License.
[codex:656753] */
[codex:656753] // SPDX-License-Identifier: Apache-2.0.
[codex:656753] pragma solidity ^0.8.0;
[codex:656753]
[codex:656753] /*
[codex:656753] Common Utility Libraries.
[codex:656753]
[codex:656753] thinking
[codex:656753] **Analyzing potential vulnerabilities in token operations**
[codex:656753]
[codex:656753] I'm carefully reviewing token deposit, withdrawal, and registration logic for risks like flashloan attacks, reentrancy, quota manipulation, and unsafe external calls. I'm checking state validations, event sequencing, and message authenticity to assess if any exploitable paths or protocol flaws exist.
[codex:656753] exec
[codex:656753] /bin/bash -lc "rg -n \"delegatecall|call\\{|selfdestruct|callExternalInitializer\" contracts/src/solidity contracts/starkware/solidity" in /tmp/codex-multi-wcfvfs39 succeeded in 9ms:
[codex:656753] contracts/starkware/solidity/interfaces/ProxySupport.sol:66: callExternalInitializer(eicAddress, initData);
[codex:656753] contracts/starkware/solidity/interfaces/ProxySupport.sol:80: function callExternalInitializer(address externalInitializerAddr, bytes calldata eicData)
[codex:656753] contracts/starkware/solidity/interfaces/ProxySupport.sol:85: // NOLINTNEXTLINE: low-level-calls, controlled-delegatecall.
[codex:656753] contracts/starkware/solidity/interfaces/ProxySupport.sol:86: (bool success, bytes memory returndata) = externalInitializerAddr.delegatecall(
[codex:656753] contracts/starkware/solidity/libraries/Addresses.sol:39: (bool success, ) = recipient.call{value: amount}(""); // NOLINT: low-level-calls.
[codex:656753]
[codex:656753] thinking
[codex:656753] **Analyzing delegatecall vulnerability in ProxySupport**
[codex:656753] exec
[codex:656753] /bin/bash -lc "nl -ba contracts/starkware/solidity/interfaces/ProxySupport.sol | sed -n '40,140p'" in /tmp/codex-multi-wcfvfs39 succeeded in 6ms:
[codex:656753] 40 The initialize() function serves as an alternative constructor for a proxied deployment.
[codex:656753] 41
[codex:656753] 42 Flow and notes:
[codex:656753] 43 1. This function cannot be called directly on the deployed contract, but only via
[codex:656753] 44 delegate call.
[codex:656753] 45 2. If an EIC is provided - init is passed onto EIC and the standard init flow is skipped.
[codex:656753] 46 This true for both first intialization or a later one.
[codex:656753] 47 3. The data passed to this function is as follows:
[codex:656753] 48 [sub_contracts addresses, eic address, initData].
[codex:656753] 49
[codex:656753] 50 When calling on an initialized contract (no EIC scenario), initData.length must be 0.
[codex:656753] 51 */
[codex:656753] 52 function initialize(bytes calldata data) external notCalledDirectly {
[codex:656753] 53 uint256 eicOffset = 32 * numOfSubContracts();
[codex:656753] 54 uint256 expectedBaseSize = eicOffset + 32;
[codex:656753] 55 require(data.length >= expectedBaseSize, "INIT_DATA_TOO_SMALL");
[codex:656753] 56 address eicAddress = abi.decode(data[eicOffset:expectedBaseSize], (address));
[codex:656753] 57
[codex:656753] 58 bytes calldata subContractAddresses = data[:eicOffset];
[codex:656753] 59
[codex:656753]
[codex:656753] thinking
[codex:656753] **Analyzing ProxySupport initialize delegatecall vulnerability**
[codex:656753] exec
[codex:656753] /bin/bash -lc "nl -ba contracts/src/solidity/StarknetTokenBridge.sol | sed -n '20,80p'" in /tmp/codex-multi-wcfvfs39 succeeded in 6ms:
[codex:656753] 20 import "starkware/solidity/interfaces/ProxySupport.sol";
[codex:656753] 21 import "starkware/solidity/libraries/Addresses.sol";
[codex:656753] 22 import "starkware/solidity/libraries/NamedStorage.sol";
[codex:656753] 23 import "starkware/solidity/libraries/Transfers.sol";
[codex:656753] 24 import "starkware/solidity/tokens/ERC20/IERC20.sol";
[codex:656753] 25 import "starkware/solidity/tokens/ERC20/IERC20Metadata.sol";
[codex:656753] 26 import "starkware/starknet/solidity/IStarknetMessaging.sol";
[codex:656753] 27 import "src/solidity/Fees.sol";
[codex:656753] 28 import "src/solidity/IStarkgateBridge.sol";
[codex:656753] 29 import "src/solidity/IStarkgateManager.sol";
[codex:656753] 30 import "src/solidity/IStarkgateRegistry.sol";
[codex:656753] 31 import "src/solidity/IStarkgateService.sol";
[codex:656753] 32 import "src/solidity/StarkgateConstants.sol";
[codex:656753] 33 import "src/solidity/StarkgateManager.sol";
[codex:656753] 34 import "src/solidity/StarknetTokenStorage.sol";
[codex:656753] 35 import "src/solidity/WithdrawalLimit.sol";
[codex:656753] 36 import "src/solidity/utils/Felt252.sol";
[codex:656753] 37
[codex:656753] 38 contract StarknetTokenBridge is
[codex:656753] 39 IStarkgateBridge,
[codex:656753]
[codex:656753] thinking
[codex:656753] **Tracing inheritance to ProxySupport**
[codex:656753] exec
[codex:656753] /bin/bash -lc "nl -ba contracts/src/solidity/StarkgateManager.sol | sed -n '20,70p'" in /tmp/codex-multi-wcfvfs39 succeeded in 6ms:
[codex:656753] 20 import "starkware/solidity/interfaces/Identity.sol";
[codex:656753] 21 import "starkware/solidity/interfaces/ProxySupport.sol";
[codex:656753] 22 import "starkware/solidity/libraries/Addresses.sol";
[codex:656753] 23 import "starkware/solidity/libraries/NamedStorage.sol";
[codex:656753] 24 import "src/solidity/IStarkgateBridge.sol";
[codex:656753] 25 import "src/solidity/IStarkgateManager.sol";
[codex:656753] 26 import "src/solidity/IStarkgateRegistry.sol";
[codex:656753] 27 import "src/solidity/StarkgateConstants.sol";
[codex:656753] 28
[codex:656753] 29 contract StarkgateManager is Identity, IStarkgateManager, ProxySupport {
[codex:656753] 30 using Addresses for address;
[codex:656753] 31 // Named storage slot tags.
[codex:656753] 32 string internal constant REGISTRY_TAG = "STARKGATE_MANAGER_REGISTRY_SLOT_TAG";
[codex:656753] 33 string internal constant BRIDGE_TAG = "STARKGATE_MANAGER_BRIDGE_SLOT_TAG";
[codex:656753] 34 event TokenEnrolled(address indexed token, address indexed sender);
[codex:656753] 35 event ExistingBridgeAdded(address indexed token, address indexed bridge);
[codex:656753] 36 event TokenDeactivated(address indexed token, address indexed sender);
[codex:656753] 37 event TokenBlocked(address indexed token, address indexed sender);
[codex:656753] 38
[codex:656753] 39 function getRegistry() external view returns (address) {
[codex:656753]
[codex:656753] thinking
[codex:656753] **Summarizing critical proxy delegatecall vulnerability**
[codex:656753]
[codex:656753] I'll detail a critical exploit path involving the ProxySupport initialize function that allows an attacker to delegatecall malicious code in the proxy context, draining all ETH and ERC20 balances. I'll confirm no other issues qualify, then prepare JSON output specifying severity, exploit steps, and evidence with file and line references.
[codex:656753] codex
[codex:656753] {"no_findings":false,"summary":"Critical: proxy initializer allows arbitrary delegatecall via user-supplied EIC, enabling full fund drain from bridge proxies.","findings":[{"severity":"critical","category":"upgradeability","title":"Unrestricted EIC delegatecall in initialize enables arbitrary code execution and fund drain","exploit_scenario":"1) Attacker deploys a malicious initializer contract with an `initialize(bytes)` function that, when delegatecalled, transfers all ETH and ERC20 balances from `address(this)` to the attacker. 2) Attacker calls the bridge proxy’s `initialize` with `data` crafted so `eicAddress` points to the malicious initializer. 3) `ProxySupport.initialize` unconditionally delegatecalls the attacker’s contract (even if already initialized), executing in the proxy’s context and draining assets. Profit: up to the entire ETH/ERC20 balances held by the bridge proxy (bridge TVL).","recommendation":"Restrict `initialize` to governance/admin-only calls and/or remove the EIC path after first initialization; alternatively, require EIC to be a pre-approved contract or enforce `isInitialized` even for EIC flows.","evidence":"`initialize` accepts a user-supplied `eicAddress` and always delegatecalls it without any caller authorization or `isInitialized` gating, enabling arbitrary code execution in the proxy context.","locations":["contracts/starkware/solidity/interfaces/ProxySupport.sol:52","contracts/starkware/solidity/interfaces/ProxySupport.sol:64","contracts/starkware/solidity/interfaces/ProxySupport.sol:80"]}]}
[codex:656753] tokens used
[codex:656753] 63,635
[codex:656753] {"no_findings":false,"summary":"Critical: proxy initializer allows arbitrary delegatecall via user-supplied EIC, enabling full fund drain from bridge proxies.","findings":[{"severity":"critical","category":"upgradeability","title":"Unrestricted EIC delegatecall in initialize enables arbitrary code execution and fund drain","exploit_scenario":"1) Attacker deploys a malicious initializer contract with an `initialize(bytes)` function that, when delegatecalled, transfers all ETH and ERC20 balances from `address(this)` to the attacker. 2) Attacker calls the bridge proxy’s `initialize` with `data` crafted so `eicAddress` points to the malicious initializer. 3) `ProxySupport.initialize` unconditionally delegatecalls the attacker’s contract (even if already initialized), executing in the proxy’s context and draining assets. Profit: up to the entire ETH/ERC20 balances held by the bridge proxy (bridge TVL).","recommendation":"Restrict `initialize` to governance/admin-only calls and/or remove the EIC path after first initialization; alternatively, require EIC to be a pre-approved contract or enforce `isInitialized` even for EIC flows.","evidence":"`initialize` accepts a user-supplied `eicAddress` and always delegatecalls it without any caller authorization or `isInitialized` gating, enabling arbitrary code execution in the proxy context.","locations":["contracts/starkware/solidity/interfaces/ProxySupport.sol:52","contracts/starkware/solidity/interfaces/ProxySupport.sol:64","contracts/starkware/solidity/interfaces/ProxySupport.sol:80"]}]}
{
"codex": {
"ran_at": "2026-01-01T16:59:56.333048+00:00",
"returncode": 0
},
"summary": "Critical: proxy initializer allows arbitrary delegatecall via user-supplied EIC, enabling full fund drain from bridge proxies.",
"raw_final": {
"summary": "Critical: proxy initializer allows arbitrary delegatecall via user-supplied EIC, enabling full fund drain from bridge proxies.",
"findings": [
{
"title": "Unrestricted EIC delegatecall in initialize enables arbitrary code execution and fund drain",
"category": "upgradeability",
"evidence": "`initialize` accepts a user-supplied `eicAddress` and always delegatecalls it without any caller authorization or `isInitialized` gating, enabling arbitrary code execution in the proxy context.",
"severity": "critical",
"locations": [
"contracts/starkware/solidity/interfaces/ProxySupport.sol:52",
"contracts/starkware/solidity/interfaces/ProxySupport.sol:64",
"contracts/starkware/solidity/interfaces/ProxySupport.sol:80"
],
"recommendation": "Restrict `initialize` to governance/admin-only calls and/or remove the EIC path after first initialization; alternatively, require EIC to be a pre-approved contract or enforce `isInitialized` even for EIC flows.",
"exploit_scenario": "1) Attacker deploys a malicious initializer contract with an `initialize(bytes)` function that, when delegatecalled, transfers all ETH and ERC20 balances from `address(this)` to the attacker. 2) Attacker calls the bridge proxy\u2019s `initialize` with `data` crafted so `eicAddress` points to the malicious initializer. 3) `ProxySupport.initialize` unconditionally delegatecalls the attacker\u2019s contract (even if already initialized), executing in the proxy\u2019s context and draining assets. Profit: up to the entire ETH/ERC20 balances held by the bridge proxy (bridge TVL)."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0370 0000000c: JUMPI 0000000d: PUSH0 0000000e: CALLDATALOAD 0000000f: PUSH1 0xe0 00000011: SHR 00000012: DUP1 00000013: PUSH4 0x6ffed68b 00000018: GT 00000019: PUSH2 0x01c8 0000001c: JUMPI 0000001d: DUP1 0000001e: PUSH4 0xcb1cccce 00000023: GT 00000024: PUSH2 0x00fd 00000027: JUMPI 00000028: DUP1 00000029: PUSH4 0xdeec9c5a 0000002e: GT 0000002f: PUSH2 0x009d 00000032: JUMPI 00000033: DUP1 00000034: PUSH4 0xeeb72866 00000039: GT 0000003a: PUSH2 0x006d 0000003d: JUMPI 0000003e: DUP1 0000003f: PUSH4 0xeeb72866 00000044: EQ 00000045: PUSH2 0x09ea 00000048: JUMPI 00000049: DUP1 0000004a: PUSH4 0xf3fef3a3 0000004f: EQ 00000050: PUSH2 0x0a0b 00000053: JUMPI 00000054: DUP1 00000055: PUSH4 0xfa0f73ba 0000005a: EQ 0000005b: PUSH2 0x0a2a 0000005e: JUMPI 0000005f: DUP1 00000060: PUSH4 0xfad8b32a 00000065: EQ 00000066: PUSH2 0x0a49 00000069: JUMPI 0000006a: PUSH0 0000006b: DUP1 0000006c: REVERT 0000006d: JUMPDEST 0000006e: DUP1 0000006f: PUSH4 0xdeec9c5a 00000074: EQ 00000075: PUSH2 0x097a 00000078: JUMPI 00000079: DUP1 0000007a: PUSH4 0xe2bbb158 0000007f: EQ 00000080: PUSH2 0x0999 00000083: JUMPI 00000084: DUP1 00000085: PUSH4 0xed9ef16a 0000008a: EQ 0000008b: PUSH2 0x09ac 0000008e: JUMPI 0000008f: DUP1 00000090: PUSH4 0xee0e6807 00000095: EQ 00000096: PUSH2 0x09cb 00000099: JUMPI 0000009a: PUSH0 0000009b: DUP1 0000009c: REVERT 0000009d: JUMPDEST 0000009e: DUP1 0000009f: PUSH4 0xd08fb6cb 000000a4: GT 000000a5: PUSH2 0x00d8 000000a8: JUMPI 000000a9: DUP1 000000aa: PUSH4 0xd08fb6cb 000000af: EQ 000000b0: PUSH2 0x08fe 000000b3: JUMPI 000000b4: DUP1 000000b5: PUSH4 0xd12fc182 000000ba: EQ 000000bb: PUSH2 0x091d 000000be: JUMPI 000000bf: DUP1 000000c0: PUSH4 0xd2b51eea 000000c5: EQ 000000c6: PUSH2 0x093c 000000c9: JUMPI 000000ca: DUP1 000000cb: PUSH4 0xd9fa7091 000000d0: EQ 000000d1: PUSH2 0x095b 000000d4: JUMPI 000000d5: PUSH0 000000d6: DUP1 000000d7: REVERT 000000d8: JUMPDEST 000000d9: DUP1 000000da: PUSH4 0xcb1cccce 000000df: EQ 000000e0: PUSH2 0x08a1 000000e3: JUMPI 000000e4: DUP1 000000e5: PUSH4 0xcdd1f70d 000000ea: EQ 000000eb: PUSH2 0x08c0 000000ee: JUMPI 000000ef: DUP1 000000f0: PUSH4 0xcf50fd1c 000000f5: EQ 000000f6: PUSH2 0x08df 000000f9: JUMPI 000000fa: PUSH0 000000fb: DUP1 000000fc: REVERT 000000fd: JUMPDEST 000000fe: DUP1 000000ff: PUSH4 0xa2bdde3d 00000104: GT 00000105: PUSH2 0x0168 00000108: JUMPI 00000109: DUP1 0000010a: PUSH4 0xaf8bc15e 0000010f: GT 00000110: PUSH2 0x0143 00000113: JUMPI 00000114: DUP1 00000115: PUSH4 0xaf8bc15e 0000011a: EQ 0000011b: PUSH2 0x083c 0000011e: JUMPI 0000011f: DUP1 00000120: PUSH4 0xb5cd0c3c 00000125: EQ 00000126: PUSH2 0x0850 00000129: JUMPI 0000012a: DUP1 0000012b: PUSH4 0xbe58b18e 00000130: EQ 00000131: PUSH2 0x086f 00000134: JUMPI 00000135: DUP1 00000136: PUSH4 0xc1f5eb3a 0000013b: EQ 0000013c: PUSH2 0x0882 0000013f: JUMPI 00000140: PUSH0 00000141: DUP1 00000142: REVERT 00000143: JUMPDEST 00000144: DUP1 00000145: PUSH4 0xa2bdde3d 0000014a: EQ 0000014b: PUSH2 0x07eb 0000014e: JUMPI 0000014f: DUP1 00000150: PUSH4 0xa6d1d6c6 00000155: EQ 00000156: PUSH2 0x080a 00000159: JUMPI 0000015a: DUP1 0000015b: PUSH4 0xad8b92b4 00000160: EQ 00000161: PUSH2 0x0829 00000164: JUMPI 00000165: PUSH0 00000166: DUP1 00000167: REVERT 00000168: JUMPDEST 00000169: DUP1 0000016a: PUSH4 0x7fc2ab3e 0000016f: GT 00000170: PUSH2 0x01a3 00000173: JUMPI 00000174: DUP1 00000175: PUSH4 0x7fc2ab3e 0000017a: EQ 0000017b: PUSH2 0x076f 0000017e: JUMPI 0000017f: DUP1 00000180: PUSH4 0x8101b64c 00000185: EQ 00000186: PUSH2 0x078e 00000189: JUMPI 0000018a: DUP1 0000018b: PUSH4 0x8e5224ff 00000190: EQ 00000191: PUSH2 0x07ad 00000194: JUMPI 00000195: DUP1 00000196: PUSH4 0x9463629a 0000019b: EQ 0000019c: PUSH2 0x07cc 0000019f: JUMPI 000001a0: PUSH0 000001a1: DUP1 000001a2: REVERT 000001a3: JUMPDEST 000001a4: DUP1 000001a5: PUSH4 0x6ffed68b 000001aa: EQ 000001ab: PUSH2 0x0712 000001ae: JUMPI 000001af: DUP1 000001b0: PUSH4 0x757bd9ab 000001b5: EQ 000001b6: PUSH2 0x0731 000001b9: JUMPI 000001ba: DUP1 000001bb: PUSH4 0x7d22dbc7 000001c0: EQ 000001c1: PUSH2 0x0750 000001c4: JUMPI 000001c5: PUSH0 000001c6: DUP1 000001c7: REVERT 000001c8: JUMPDEST 000001c9: DUP1 000001ca: PUSH4 0x36568abe 000001cf: GT 000001d0: PUSH2 0x02a9 000001d3: JUMPI 000001d4: DUP1 000001d5: PUSH4 0x5a5d1bb9 000001da: GT 000001db: PUSH2 0x0249 000001de: JUMPI 000001df: DUP1 000001e0: PUSH4 0x69328dec 000001e5: GT 000001e6: PUSH2 0x0219 000001e9: JUMPI 000001ea: DUP1 000001eb: PUSH4 0x69328dec 000001f0: EQ 000001f1: PUSH2 0x0696 000001f4: JUMPI 000001f5: DUP1 000001f6: PUSH4 0x6c04d9d5 000001fb: EQ 000001fc: PUSH2 0x06b5 000001ff: JUMPI 00000200: DUP1 00000201: PUSH4 0x6d70f7ae 00000206: EQ 00000207: PUSH2 0x06d4 0000020a: JUMPI 0000020b: DUP1 0000020c: PUSH4 0x6fc97cbf 00000211: EQ 00000212: PUSH2 0x06f3 00000215: JUMPI 00000216: PUSH0 00000217: DUP1 00000218: REVERT 00000219: JUMPDEST 0000021a: DUP1 0000021b: PUSH4 0x5a5d1bb9 00000220: EQ 00000221: PUSH2 0x0626 00000224: JUMPI 00000225: DUP1 00000226: PUSH4 0x5a72af89 0000022b: EQ 0000022c: PUSH2 0x0645 0000022f: JUMPI 00000230: DUP1 00000231: PUSH4 0x6083e59a 00000236: EQ 00000237: PUSH2 0x0664 0000023a: JUMPI 0000023b: DUP1 0000023c: PUSH4 0x62a14376 00000241: EQ 00000242: PUSH2 0x0677 00000245: JUMPI 00000246: PUSH0 00000247: DUP1 00000248: REVERT 00000249: JUMPDEST 0000024a: DUP1 0000024b: PUSH4 0x439fab91 00000250: GT 00000251: PUSH2 0x0284 00000254: JUMPI 00000255: DUP1 00000256: PUSH4 0x439fab91 0000025b: EQ 0000025c: PUSH2 0x05b5 0000025f: JUMPI 00000260: DUP1 00000261: PUSH4 0x496ae54c 00000266: EQ 00000267: PUSH2 0x05d4 0000026a: JUMPI 0000026b: DUP1 0000026c: PUSH4 0x4baf43da 00000271: EQ 00000272: PUSH2 0x05f3 00000275: JUMPI 00000276: DUP1 00000277: PUSH4 0x4d8b92a5 0000027c: EQ 0000027d: PUSH2 0x0612 00000280: JUMPI 00000281: PUSH0 00000282: DUP1 00000283: REVERT 00000284: JUMPDEST 00000285: DUP1 00000286: PUSH4 0x36568abe 0000028b: EQ 0000028c: PUSH2 0x0558 0000028f: JUMPI 00000290: DUP1 00000291: PUSH4 0x3682a450 00000296: EQ 00000297: PUSH2 0x0577 0000029a: JUMPI 0000029b: DUP1 0000029c: PUSH4 0x3ea053eb 000002a1: EQ 000002a2: PUSH2 0x0596 000002a5: JUMPI 000002a6: PUSH0 000002a7: DUP1 000002a8: REVERT 000002a9: JUMPDEST 000002aa: DUP1 000002ab: PUSH4 0x19534075 000002b0: GT 000002b1: PUSH2 0x0314 000002b4: JUMPI 000002b5: DUP1 000002b6: PUSH4 0x2e1a7d4d 000002bb: GT 000002bc: PUSH2 0x02ef 000002bf: JUMPI 000002c0: DUP1 000002c1: PUSH4 0x2e1a7d4d 000002c6: EQ 000002c7: PUSH2 0x04b8 000002ca: JUMPI 000002cb: DUP1 000002cc: PUSH4 0x2f951985 000002d1: EQ 000002d2: PUSH2 0x04d7 000002d5: JUMPI 000002d6: DUP1 000002d7: PUSH4 0x30ccebb5 000002dc: EQ 000002dd: PUSH2 0x04f6 000002e0: JUMPI 000002e1: DUP1 000002e2: PUSH4 0x33eeb147 000002e7: EQ 000002e8: PUSH2 0x0546 000002eb: JUMPI 000002ec: PUSH0 000002ed: DUP1 000002ee: REVERT 000002ef: JUMPDEST 000002f0: DUP1 000002f1: PUSH4 0x19534075 000002f6: EQ 000002f7: PUSH2 0x0458 000002fa: JUMPI 000002fb: DUP1 000002fc: PUSH4 0x23205c52 00000301: EQ 00000302: PUSH2 0x047a 00000305: JUMPI 00000306: DUP1 00000307: PUSH4 0x284b920e 0000030c: EQ 0000030d: PUSH2 0x0499 00000310: JUMPI 00000311: PUSH0 00000312: DUP1 00000313: REVERT 00000314: JUMPDEST 00000315: DUP1 00000316: PUSH4 0x0e770f23 0000031b: GT 0000031c: PUSH2 0x034f 0000031f: JUMPI 00000320: DUP1 00000321: PUSH4 0x0e770f23 00000326: EQ 00000327: PUSH2 0x03e8 0000032a: JUMPI 0000032b: DUP1 0000032c: PUSH4 0x0efe6a8b 00000331: EQ 00000332: PUSH2 0x0407 00000335: JUMPI 00000336: DUP1 00000337: PUSH4 0x14af98b3 0000033c: EQ 0000033d: PUSH2 0x041a 00000340: JUMPI 00000341: DUP1 00000342: PUSH4 0x17896383 00000347: EQ 00000348: PUSH2 0x0439 0000034b: JUMPI 0000034c: PUSH0 0000034d: DUP1 0000034e: REVERT 0000034f: JUMPDEST 00000350: DUP1 00000351: PUSH3 0xf714ce 00000355: EQ 00000356: PUSH2 0x0374 00000359: JUMPI 0000035a: DUP1 0000035b: PUSH4 0x0b3a2d21 00000360: EQ 00000361: PUSH2 0x0395 00000364: JUMPI 00000365: DUP1 00000366: PUSH4 0x0c6f8664 0000036b: EQ 0000036c: PUSH2 0x03b4 0000036f: JUMPI 00000370: JUMPDEST 00000371: PUSH0 00000372: DUP1 00000373: REVERT 00000374: JUMPDEST 00000375: CALLVALUE 00000376: DUP1 00000377: ISZERO 00000378: PUSH2 0x037f 0000037b: JUMPI 0000037c: PUSH0 0000037d: DUP1 0000037e: REVERT 0000037f: JUMPDEST 00000380: POP 00000381: PUSH2 0x0393 00000384: PUSH2 0x038e 00000387: CALLDATASIZE 00000388: PUSH1 0x04 0000038a: PUSH2 0x3d07 0000038d: JUMP 0000038e: JUMPDEST 0000038f: PUSH2 0x0a68 00000392: JUMP 00000393: JUMPDEST 00000394: STOP 00000395: JUMPDEST 00000396: CALLVALUE 00000397: DUP1 00000398: ISZERO 00000399: PUSH2 0x03a0 0000039c: JUMPI 0000039d: PUSH0 0000039e: DUP1 0000039f: REVERT 000003a0: JUMPDEST 000003a1: POP 000003a2: PUSH2 0x0393 000003a5: PUSH2 0x03af 000003a8: CALLDATASIZE 000003a9: PUSH1 0x04 000003ab: PUSH2 0x3d35 000003ae: JUMP 000003af: JUMPDEST 000003b0: PUSH2 0x0a7e 000003b3: JUMP 000003b4: JUMPDEST 000003b5: CALLVALUE 000003b6: DUP1 000003b7: ISZERO 000003b8: PUSH2 0x03bf 000003bb: JUMPI 000003bc: PUSH0 000003bd: DUP1 000003be: REVERT 000003bf: JUMPDEST 000003c0: POP 000003c1: PUSH2 0x03d3 000003c4: PUSH2 0x03ce 000003c7: CALLDATASIZE 000003c8: PUSH1 0x04 000003ca: PUSH2 0x3d35 000003cd: JUMP 000003ce: JUMPDEST 000003cf: PUSH2 0x0a98 000003d2: JUMP 000003d3: JUMPDEST 000003d4: PUSH1 0x40 000003d6: MLOAD 000003d7: SWAP1 000003d8: ISZERO 000003d9: ISZERO 000003da: DUP2 000003db: MSTORE 000003dc: PUSH1 0x20 000003de: ADD 000003df: JUMPDEST 000003e0: PUSH1 0x40 000003e2: MLOAD 000003e3: DUP1 000003e4: SWAP2 000003e5: SUB 000003e6: SWAP1 000003e7: RETURN 000003e8: JUMPDEST 000003e9: CALLVALUE 000003ea: DUP1 000003eb: ISZERO 000003ec: PUSH2 0x03f3 000003ef: JUMPI 000003f0: PUSH0 000003f1: DUP1 000003f2: REVERT 000003f3: JUMPDEST 000003f4: POP 000003f5: PUSH2 0x0393 000003f8: PUSH2 0x0402 000003fb: CALLDATASIZE 000003fc: PUSH1 0x04 000003fe: PUSH2 0x3d35 00000401: JUMP 00000402: JUMPDEST 00000403: PUSH2 0x0af7 00000406: JUMP 00000407: JUMPDEST 00000408: PUSH2 0x0393 0000040b: PUSH2 0x0415 0000040e: CALLDATASIZE 0000040f: PUSH1 0x04 00000411: PUSH2 0x3d50 00000414: JUMP 00000415: JUMPDEST 00000416: PUSH2 0x0b0e 00000419: JUMP 0000041a: JUMPDEST 0000041b: CALLVALUE 0000041c: DUP1 0000041d: ISZERO 0000041e: PUSH2 0x0425 00000421: JUMPI 00000422: PUSH0 00000423: DUP1 00000424: REVERT 00000425: JUMPDEST 00000426: POP 00000427: PUSH2 0x0393 0000042a: PUSH2 0x0434 0000042d: CALLDATASIZE 0000042e: PUSH1 0x04 00000430: PUSH2 0x3d35 00000433: JUMP 00000434: JUMPDEST 00000435: PUSH2 0x0bc6 00000438: JUMP 00000439: JUMPDEST 0000043a: CALLVALUE 0000043b: DUP1 0000043c: ISZERO 0000043d: PUSH2 0x0444 00000440: JUMPI 00000441: PUSH0 00000442: DUP1 00000443: REVERT 00000444: JUMPDEST 00000445: POP 00000446: PUSH2 0x0393 00000449: PUSH2 0x0453 0000044c: CALLDATASIZE 0000044d: PUSH1 0x04 0000044f: PUSH2 0x3d35 00000452: JUMP 00000453: JUMPDEST 00000454: PUSH2 0x0c6c 00000457: JUMP 00000458: JUMPDEST 00000459: CALLVALUE 0000045a: DUP1 0000045b: ISZERO 0000045c: PUSH2 0x0463 0000045f: JUMPI 00000460: PUSH0 00000461: DUP1 00000462: REVERT 00000463: JUMPDEST 00000464: POP 00000465: PUSH2 0x046c 00000468: PUSH2 0x0c83 0000046b: JUMP 0000046c: JUMPDEST 0000046d: PUSH1 0x40 0000046f: MLOAD 00000470: SWAP1 00000471: DUP2 00000472: MSTORE 00000473: PUSH1 0x20 00000475: ADD 00000476: PUSH2 0x03df 00000479: JUMP 0000047a: JUMPDEST 0000047b: CALLVALUE 0000047c: DUP1 0000047d: ISZERO 0000047e: PUSH2 0x0485 00000481: JUMPI 00000482: PUSH0 00000483: DUP1 00000484: REVERT 00000485: JUMPDEST 00000486: POP 00000487: PUSH2 0x0393 0000048a: PUSH2 0x0494 0000048d: CALLDATASIZE 0000048e: PUSH1 0x04 00000490: PUSH2 0x3d82 00000493: JUMP 00000494: JUMPDEST 00000495: PUSH2 0x0c94 00000498: JUMP 00000499: JUMPDEST 0000049a: CALLVALUE 0000049b: DUP1 0000049c: ISZERO 0000049d: PUSH2 0x04a4 000004a0: JUMPI 000004a1: PUSH0 000004a2: DUP1 000004a3: REVERT 000004a4: JUMPDEST 000004a5: POP 000004a6: PUSH2 0x0393 000004a9: PUSH2 0x04b3 000004ac: CALLDATASIZE 000004ad: PUSH1 0x04 000004af: PUSH2 0x3d35 000004b2: JUMP 000004b3: JUMPDEST 000004b4: PUSH2 0x0d86 000004b7: JUMP 000004b8: JUMPDEST 000004b9: CALLVALUE 000004ba: DUP1 000004bb: ISZERO 000004bc: PUSH2 0x04c3 000004bf: JUMPI 000004c0: PUSH0 000004c1: DUP1 000004c2: REVERT 000004c3: JUMPDEST 000004c4: POP 000004c5: PUSH2 0x0393 000004c8: PUSH2 0x04d2 000004cb: CALLDATASIZE 000004cc: PUSH1 0x04 000004ce: PUSH2 0x3dba 000004d1: JUMP 000004d2: JUMPDEST 000004d3: PUSH2 0x0e8b 000004d6: JUMP 000004d7: JUMPDEST 000004d8: CALLVALUE 000004d9: DUP1 000004da: ISZERO 000004db: PUSH2 0x04e2 000004de: JUMPI 000004df: PUSH0 000004e0: DUP1 000004e1: REVERT 000004e2: JUMPDEST 000004e3: POP 000004e4: PUSH2 0x0393 000004e7: PUSH2 0x04f1 000004ea: CALLDATASIZE 000004eb: PUSH1 0x04 000004ed: PUSH2 0x3d35 000004f0: JUMP 000004f1: JUMPDEST 000004f2: PUSH2 0x0e9d 000004f5: JUMP 000004f6: JUMPDEST 000004f7: CALLVALUE 000004f8: DUP1 000004f9: ISZERO 000004fa: PUSH2 0x0501 000004fd: JUMPI 000004fe: PUSH0 000004ff: DUP1 00000500: REVERT 00000501: JUMPDEST 00000502: POP 00000503: PUSH2 0x0539 00000506: PUSH2 0x0510 00000509: CALLDATASIZE 0000050a: PUSH1 0x04 0000050c: PUSH2 0x3d35 0000050f: JUMP 00000510: JUMPDEST 00000511: PUSH1 0x01 00000513: PUSH1 0x01 00000515: PUSH1 0xa0 00000517: SHL 00000518: SUB 00000519: AND 0000051a: PUSH0 0000051b: SWAP1 0000051c: DUP2 0000051d: MSTORE 0000051e: PUSH0 0000051f: DUP1 00000520: MLOAD 00000521: PUSH1 0x20 00000523: PUSH2 0x47d4 00000526: DUP4 00000527: CODECOPY 00000528: DUP2 00000529: MLOAD 0000052a: SWAP2 0000052b: MSTORE 0000052c: PUSH1 0x20 0000052e: MSTORE 0000052f: PUSH1 0x40 00000531: SWAP1 00000532: KECCAK256 00000533: SLOAD 00000534: PUSH1 0xff 00000536: AND 00000537: SWAP1 00000538: JUMP 00000539: JUMPDEST 0000053a: PUSH1 0x40 0000053c: MLOAD 0000053d: PUSH2 0x03df 00000540: SWAP2 00000541: SWAP1 00000542: PUSH2 0x3de5 00000545: JUMP 00000546: JUMPDEST 00000547: CALLVALUE 00000548: DUP1 00000549: ISZERO 0000054a: PUSH2 0x0551 0000054d: JUMPI 0000054e: PUSH0 0000054f: DUP1 00000550: REVERT 00000551: JUMPDEST 00000552: POP 00000553: PUSH0 00000554: PUSH2 0x03d3 00000557: JUMP 00000558: JUMPDEST 00000559: CALLVALUE 0000055a: DUP1 0000055b: ISZERO 0000055c: PUSH2 0x0563 0000055f: JUMPI 00000560: PUSH0 00000561: DUP1 00000562: REVERT 00000563: JUMPDEST 00000564: POP 00000565: PUSH2 0x0393 00000568: PUSH2 0x0572 0000056b: CALLDATASIZE 0000056c: PUSH1 0x04 0000056e: PUSH2 0x3d07 00000571: JUMP 00000572: JUMPDEST 00000573: PUSH2 0x0edd 00000576: JUMP 00000577: JUMPDEST 00000578: CALLVALUE 00000579: DUP1 0000057a: ISZERO 0000057b: PUSH2 0x0582 0000057e: JUMPI 0000057f: PUSH0 00000580: DUP1 00000581: REVERT 00000582: JUMPDEST 00000583: POP 00000584: PUSH2 0x0393 00000587: PUSH2 0x0591 0000058a: CALLDATASIZE 0000058b: PUSH1 0x04 0000058d: PUSH2 0x3d35 00000590: JUMP 00000591: JUMPDEST 00000592: PUSH2 0x0f6e 00000595: JUMP 00000596: JUMPDEST 00000597: CALLVALUE 00000598: DUP1 00000599: ISZERO 0000059a: PUSH2 0x05a1 0000059d: JUMPI 0000059e: PUSH0 0000059f: DUP1 000005a0: REVERT 000005a1: JUMPDEST 000005a2: POP 000005a3: PUSH2 0x0393 000005a6: PUSH2 0x05b0 000005a9: CALLDATASIZE 000005aa: PUSH1 0x04 000005ac: PUSH2 0x3d35 000005af: JUMP 000005b0: JUMPDEST 000005b1: PUSH2 0x0f85 000005b4: JUMP 000005b5: JUMPDEST 000005b6: CALLVALUE 000005b7: DUP1 000005b8: ISZERO 000005b9: PUSH2 0x05c0 000005bc: JUMPI 000005bd: PUSH0 000005be: DUP1 000005bf: REVERT 000005c0: JUMPDEST 000005c1: POP 000005c2: PUSH2 0x0393 000005c5: PUSH2 0x05cf 000005c8: CALLDATASIZE 000005c9: PUSH1 0x04 000005cb: PUSH2 0x3e0b 000005ce: JUMP 000005cf: JUMPDEST 000005d0: PUSH2 0x10ae 000005d3: JUMP 000005d4: JUMPDEST 000005d5: CALLVALUE 000005d6: DUP1 000005d7: ISZERO 000005d8: PUSH2 0x05df 000005db: JUMPI 000005dc: PUSH0 000005dd: DUP1 000005de: REVERT 000005df: JUMPDEST 000005e0: POP 000005e1: PUSH2 0x046c 000005e4: PUSH2 0x05ee 000005e7: CALLDATASIZE 000005e8: PUSH1 0x04 000005ea: PUSH2 0x3d35 000005ed: JUMP 000005ee: JUMPDEST 000005ef: PUSH2 0x125a 000005f2: JUMP 000005f3: JUMPDEST 000005f4: CALLVALUE 000005f5: DUP1 000005f6: ISZERO 000005f7: PUSH2 0x05fe 000005fa: JUMPI 000005fb: PUSH0 000005fc: DUP1 000005fd: REVERT 000005fe: JUMPDEST 000005ff: POP 00000600: PUSH2 0x046c 00000603: PUSH2 0x060d 00000606: CALLDATASIZE 00000607: PUSH1 0x04 00000609: PUSH2 0x3d35 0000060c: JUMP 0000060d: JUMPDEST 0000060e: PUSH2 0x129e 00000611: JUMP 00000612: JUMPDEST 00000613: CALLVALUE 00000614: DUP1 00000615: ISZERO 00000616: PUSH2 0x061d 00000619: JUMPI 0000061a: PUSH0 0000061b: DUP1 0000061c: REVERT 0000061d: JUMPDEST 0000061e: POP 0000061f: PUSH2 0x046c 00000622: PUSH2 0x12da 00000625: JUMP 00000626: JUMPDEST 00000627: CALLVALUE 00000628: DUP1 00000629: ISZERO 0000062a: PUSH2 0x0631 0000062d: JUMPI 0000062e: PUSH0 0000062f: DUP1 00000630: REVERT 00000631: JUMPDEST 00000632: POP 00000633: PUSH2 0x03d3 00000636: PUSH2 0x0640 00000639: CALLDATASIZE 0000063a: PUSH1 0x04 0000063c: PUSH2 0x3d35 0000063f: JUMP 00000640: JUMPDEST 00000641: PUSH2 0x12e3 00000644: JUMP 00000645: JUMPDEST 00000646: CALLVALUE 00000647: DUP1 00000648: ISZERO 00000649: PUSH2 0x0650 0000064c: JUMPI 0000064d: PUSH0 0000064e: DUP1 0000064f: REVERT 00000650: JUMPDEST 00000651: POP 00000652: PUSH2 0x0393 00000655: PUSH2 0x065f 00000658: CALLDATASIZE 00000659: PUSH1 0x04 0000065b: PUSH2 0x3d35 0000065e: JUMP 0000065f: JUMPDEST 00000660: PUSH2 0x12fb 00000663: JUMP 00000664: JUMPDEST 00000665: CALLVALUE 00000666: DUP1 00000667: ISZERO 00000668: PUSH2 0x066f 0000066b: JUMPI 0000066c: PUSH0 0000066d: DUP1 0000066e: REVERT 0000066f: JUMPDEST 00000670: POP 00000671: PUSH0 00000672: NOT 00000673: PUSH2 0x046c 00000676: JUMP 00000677: JUMPDEST 00000678: CALLVALUE 00000679: DUP1 0000067a: ISZERO 0000067b: PUSH2 0x0682 0000067e: JUMPI 0000067f: PUSH0 00000680: DUP1 00000681: REVERT 00000682: JUMPDEST 00000683: POP 00000684: PUSH2 0x0393 00000687: PUSH2 0x0691 0000068a: CALLDATASIZE 0000068b: PUSH1 0x04 0000068d: PUSH2 0x3d35 00000690: JUMP 00000691: JUMPDEST 00000692: PUSH2 0x139e 00000695: JUMP 00000696: JUMPDEST 00000697: CALLVALUE 00000698: DUP1 00000699: ISZERO 0000069a: PUSH2 0x06a1 0000069d: JUMPI 0000069e: PUSH0 0000069f: DUP1 000006a0: REVERT 000006a1: JUMPDEST 000006a2: POP 000006a3: PUSH2 0x0393 000006a6: PUSH2 0x06b0 000006a9: CALLDATASIZE 000006aa: PUSH1 0x04 000006ac: PUSH2 0x3e77 000006af: JUMP 000006b0: JUMPDEST 000006b1: PUSH2 0x13b5 000006b4: JUMP 000006b5: JUMPDEST 000006b6: CALLVALUE 000006b7: DUP1 000006b8: ISZERO 000006b9: PUSH2 0x06c0 000006bc: JUMPI 000006bd: PUSH0 000006be: DUP1 000006bf: REVERT 000006c0: JUMPDEST 000006c1: POP 000006c2: PUSH2 0x03d3 000006c5: PUSH2 0x06cf 000006c8: CALLDATASIZE 000006c9: PUSH1 0x04 000006cb: PUSH2 0x3d35 000006ce: JUMP 000006cf: JUMPDEST 000006d0: PUSH2 0x14a0 000006d3: JUMP 000006d4: JUMPDEST 000006d5: CALLVALUE 000006d6: DUP1 000006d7: ISZERO 000006d8: PUSH2 0x06df 000006db: JUMPI 000006dc: PUSH0 000006dd: DUP1 000006de: REVERT 000006df: JUMPDEST 000006e0: POP 000006e1: PUSH2 0x03d3 000006e4: PUSH2 0x06ee 000006e7: CALLDATASIZE 000006e8: PUSH1 0x04 000006ea: PUSH2 0x3d35 000006ed: JUMP 000006ee: JUMPDEST 000006ef: PUSH2 0x14b8 000006f2: JUMP 000006f3: JUMPDEST 000006f4: CALLVALUE 000006f5: DUP1 000006f6: ISZERO 000006f7: PUSH2 0x06fe 000006fa: JUMPI 000006fb: PUSH0 000006fc: DUP1 000006fd: REVERT 000006fe: JUMPDEST 000006ff: POP 00000700: PUSH2 0x0393 00000703: PUSH2 0x070d 00000706: CALLDATASIZE 00000707: PUSH1 0x04 00000709: PUSH2 0x3d35 0000070c: JUMP 0000070d: JUMPDEST 0000070e: PUSH2 0x14d0 00000711: JUMP 00000712: JUMPDEST 00000713: CALLVALUE 00000714: DUP1 00000715: ISZERO 00000716: PUSH2 0x071d 00000719: JUMPI 0000071a: PUSH0 0000071b: DUP1 0000071c: REVERT 0000071d: JUMPDEST 0000071e: POP 0000071f: PUSH2 0x0393 00000722: PUSH2 0x072c 00000725: CALLDATASIZE 00000726: PUSH1 0x04 00000728: PUSH2 0x3eb6 0000072b: JUMP 0000072c: JUMPDEST 0000072d: PUSH2 0x14e7 00000730: JUMP 00000731: JUMPDEST 00000732: CALLVALUE 00000733: DUP1 00000734: ISZERO 00000735: PUSH2 0x073c 00000738: JUMPI 00000739: PUSH0 0000073a: DUP1 0000073b: REVERT 0000073c: JUMPDEST 0000073d: POP 0000073e: PUSH2 0x03d3 00000741: PUSH2 0x074b 00000744: CALLDATASIZE 00000745: PUSH1 0x04 00000747: PUSH2 0x3d35 0000074a: JUMP 0000074b: JUMPDEST 0000074c: PUSH2 0x1635 0000074f: JUMP 00000750: JUMPDEST 00000751: CALLVALUE 00000752: DUP1 00000753: ISZERO 00000754: PUSH2 0x075b 00000757: JUMPI 00000758: PUSH0 00000759: DUP1 0000075a: REVERT 0000075b: JUMPDEST 0000075c: POP 0000075d: PUSH2 0x0393 00000760: PUSH2 0x076a 00000763: CALLDATASIZE 00000764: PUSH1 0x04 00000766: PUSH2 0x3eb6 00000769: JUMP 0000076a: JUMPDEST 0000076b: PUSH2 0x164d 0000076e: JUMP 0000076f: JUMPDEST 00000770: CALLVALUE 00000771: DUP1 00000772: ISZERO 00000773: PUSH2 0x077a 00000776: JUMPI 00000777: PUSH0 00000778: DUP1 00000779: REVERT 0000077a: JUMPDEST 0000077b: POP 0000077c: PUSH2 0x0393 0000077f: PUSH2 0x0789 00000782: CALLDATASIZE 00000783: PUSH1 0x04 00000785: PUSH2 0x3dba 00000788: JUMP 00000789: JUMPDEST 0000078a: PUSH2 0x17a3 0000078d: JUMP 0000078e: JUMPDEST 0000078f: CALLVALUE 00000790: DUP1 00000791: ISZERO 00000792: PUSH2 0x0799 00000795: JUMPI 00000796: PUSH0 00000797: DUP1 00000798: REVERT 00000799: JUMPDEST 0000079a: POP 0000079b: PUSH2 0x0393 0000079e: PUSH2 0x07a8 000007a1: CALLDATASIZE 000007a2: PUSH1 0x04 000007a4: PUSH2 0x3d35 000007a7: JUMP 000007a8: JUMPDEST 000007a9: PUSH2 0x18c8 000007ac: JUMP 000007ad: JUMPDEST 000007ae: CALLVALUE 000007af: DUP1 000007b0: ISZERO 000007b1: PUSH2 0x07b8 000007b4: JUMPI 000007b5: PUSH0 000007b6: DUP1 000007b7: REVERT 000007b8: JUMPDEST 000007b9: POP 000007ba: PUSH2 0x03d3 000007bd: PUSH2 0x07c7 000007c0: CALLDATASIZE 000007c1: PUSH1 0x04 000007c3: PUSH2 0x3d35 000007c6: JUMP 000007c7: JUMPDEST 000007c8: PUSH2 0x1908 000007cb: JUMP 000007cc: JUMPDEST 000007cd: CALLVALUE 000007ce: DUP1 000007cf: ISZERO 000007d0: PUSH2 0x07d7 000007d3: JUMPI 000007d4: PUSH0 000007d5: DUP1 000007d6: REVERT 000007d7: JUMPDEST 000007d8: POP 000007d9: PUSH2 0x0393 000007dc: PUSH2 0x07e6 000007df: CALLDATASIZE 000007e0: PUSH1 0x04 000007e2: PUSH2 0x3d35 000007e5: JUMP 000007e6: JUMPDEST 000007e7: PUSH2 0x1920 000007ea: JUMP 000007eb: JUMPDEST 000007ec: CALLVALUE 000007ed: DUP1 000007ee: ISZERO 000007ef: PUSH2 0x07f6 000007f2: JUMPI 000007f3: PUSH0 000007f4: DUP1 000007f5: REVERT 000007f6: JUMPDEST 000007f7: POP 000007f8: PUSH2 0x03d3 000007fb: PUSH2 0x0805 000007fe: CALLDATASIZE 000007ff: PUSH1 0x04 00000801: PUSH2 0x3d35 00000804: JUMP 00000805: JUMPDEST 00000806: PUSH2 0x1937 00000809: JUMP 0000080a: JUMPDEST 0000080b: CALLVALUE 0000080c: DUP1 0000080d: ISZERO 0000080e: PUSH2 0x0815 00000811: JUMPI 00000812: PUSH0 00000813: DUP1 00000814: REVERT 00000815: JUMPDEST 00000816: POP 00000817: PUSH2 0x0393 0000081a: PUSH2 0x0824 0000081d: CALLDATASIZE 0000081e: PUSH1 0x04 00000820: PUSH2 0x3d82 00000823: JUMP 00000824: JUMPDEST 00000825: PUSH2 0x194f 00000828: JUMP 00000829: JUMPDEST 0000082a: PUSH2 0x0393 0000082d: PUSH2 0x0837 00000830: CALLDATASIZE 00000831: PUSH1 0x04 00000833: PUSH2 0x3d35 00000836: JUMP 00000837: JUMPDEST 00000838: PUSH2 0x1a2c 0000083b: JUMP 0000083c: JUMPDEST 0000083d: CALLVALUE 0000083e: DUP1 0000083f: ISZERO 00000840: PUSH2 0x0847 00000843: JUMPI 00000844: PUSH0 00000845: DUP1 00000846: REVERT 00000847: JUMPDEST 00000848: POP 00000849: PUSH2 0x046c 0000084c: PUSH2 0x1a62 0000084f: JUMP 00000850: JUMPDEST 00000851: CALLVALUE 00000852: DUP1 00000853: ISZERO 00000854: PUSH2 0x085b 00000857: JUMPI 00000858: PUSH0 00000859: DUP1 0000085a: REVERT 0000085b: JUMPDEST 0000085c: POP 0000085d: PUSH2 0x0393 00000860: PUSH2 0x086a 00000863: CALLDATASIZE 00000864: PUSH1 0x04 00000866: PUSH2 0x3f27 00000869: JUMP 0000086a: JUMPDEST 0000086b: PUSH2 0x1a6b 0000086e: JUMP 0000086f: JUMPDEST 00000870: PUSH2 0x0393 00000873: PUSH2 0x087d 00000876: CALLDATASIZE 00000877: PUSH1 0x04 00000879: PUSH2 0x3f94 0000087c: JUMP 0000087d: JUMPDEST 0000087e: PUSH2 0x1b9d 00000881: JUMP 00000882: JUMPDEST 00000883: CALLVALUE 00000884: DUP1 00000885: ISZERO 00000886: PUSH2 0x088d 00000889: JUMPI 0000088a: PUSH0 0000088b: DUP1 0000088c: REVERT 0000088d: JUMPDEST 0000088e: POP 0000088f: PUSH2 0x0393 00000892: PUSH2 0x089c 00000895: CALLDATASIZE 00000896: PUSH1 0x04 00000898: PUSH2 0x3d35 0000089b: JUMP 0000089c: JUMPDEST 0000089d: PUSH2 0x1caa 000008a0: JUMP 000008a1: JUMPDEST 000008a2: CALLVALUE 000008a3: DUP1 000008a4: ISZERO 000008a5: PUSH2 0x08ac 000008a8: JUMPI 000008a9: PUSH0 000008aa: DUP1 000008ab: REVERT 000008ac: JUMPDEST 000008ad: POP 000008ae: PUSH2 0x03d3 000008b1: PUSH2 0x08bb 000008b4: CALLDATASIZE 000008b5: PUSH1 0x04 000008b7: PUSH2 0x3d35 000008ba: JUMP 000008bb: JUMPDEST 000008bc: PUSH2 0x1da4 000008bf: JUMP 000008c0: JUMPDEST 000008c1: CALLVALUE 000008c2: DUP1 000008c3: ISZERO 000008c4: PUSH2 0x08cb 000008c7: JUMPI 000008c8: PUSH0 000008c9: DUP1 000008ca: REVERT 000008cb: JUMPDEST 000008cc: POP 000008cd: PUSH2 0x0393 000008d0: PUSH2 0x08da 000008d3: CALLDATASIZE 000008d4: PUSH1 0x04 000008d6: PUSH2 0x3d35 000008d9: JUMP 000008da: JUMPDEST 000008db: PUSH2 0x1dbc 000008de: JUMP 000008df: JUMPDEST 000008e0: CALLVALUE 000008e1: DUP1 000008e2: ISZERO 000008e3: PUSH2 0x08ea 000008e6: JUMPI 000008e7: PUSH0 000008e8: DUP1 000008e9: REVERT 000008ea: JUMPDEST 000008eb: POP 000008ec: PUSH2 0x0393 000008ef: PUSH2 0x08f9 000008f2: CALLDATASIZE 000008f3: PUSH1 0x04 000008f5: PUSH2 0x3f27 000008f8: JUMP 000008f9: JUMPDEST 000008fa: PUSH2 0x1dd3 000008fd: JUMP 000008fe: JUMPDEST 000008ff: CALLVALUE 00000900: DUP1 00000901: ISZERO 00000902: PUSH2 0x0909 00000905: JUMPI 00000906: PUSH0 00000907: DUP1 00000908: REVERT 00000909: JUMPDEST 0000090a: POP 0000090b: PUSH2 0x03d3 0000090e: PUSH2 0x0918 00000911: CALLDATASIZE 00000912: PUSH1 0x04 00000914: PUSH2 0x3d35 00000917: JUMP 00000918: JUMPDEST 00000919: PUSH2 0x1eea 0000091c: JUMP 0000091d: JUMPDEST 0000091e: CALLVALUE 0000091f: DUP1 00000920: ISZERO 00000921: PUSH2 0x0928 00000924: JUMPI 00000925: PUSH0 00000926: DUP1 00000927: REVERT 00000928: JUMPDEST 00000929: POP 0000092a: PUSH2 0x0393 0000092d: PUSH2 0x0937 00000930: CALLDATASIZE 00000931: PUSH1 0x04 00000933: PUSH2 0x3d35 00000936: JUMP 00000937: JUMPDEST 00000938: PUSH2 0x1f02 0000093b: JUMP 0000093c: JUMPDEST 0000093d: CALLVALUE 0000093e: DUP1 0000093f: ISZERO 00000940: PUSH2 0x0947 00000943: JUMPI 00000944: PUSH0 00000945: DUP1 00000946: REVERT 00000947: JUMPDEST 00000948: POP 00000949: PUSH2 0x0393 0000094c: PUSH2 0x0956 0000094f: CALLDATASIZE 00000950: PUSH1 0x04 00000952: PUSH2 0x3ff9 00000955: JUMP 00000956: JUMPDEST 00000957: PUSH2 0x2117 0000095a: JUMP 0000095b: JUMPDEST 0000095c: CALLVALUE 0000095d: DUP1 0000095e: ISZERO 0000095f: PUSH2 0x0966 00000962: JUMPI 00000963: PUSH0 00000964: DUP1 00000965: REVERT 00000966: JUMPDEST 00000967: POP 00000968: PUSH2 0x0393 0000096b: PUSH2 0x0975 0000096e: CALLDATASIZE 0000096f: PUSH1 0x04 00000971: PUSH2 0x3d35 00000974: JUMP 00000975: JUMPDEST 00000976: PUSH2 0x221d 00000979: JUMP 0000097a: JUMPDEST 0000097b: CALLVALUE 0000097c: DUP1 0000097d: ISZERO 0000097e: PUSH2 0x0985 00000981: JUMPI 00000982: PUSH0 00000983: DUP1 00000984: REVERT 00000985: JUMPDEST 00000986: POP 00000987: PUSH2 0x0393 0000098a: PUSH2 0x0994 0000098d: CALLDATASIZE 0000098e: PUSH1 0x04 00000990: PUSH2 0x3d35 00000993: JUMP 00000994: JUMPDEST 00000995: PUSH2 0x2234 00000998: JUMP 00000999: JUMPDEST 0000099a: PUSH2 0x0393 0000099d: PUSH2 0x09a7 000009a0: CALLDATASIZE 000009a1: PUSH1 0x04 000009a3: PUSH2 0x4023 000009a6: JUMP 000009a7: JUMPDEST 000009a8: PUSH2 0x224b 000009ab: JUMP 000009ac: JUMPDEST 000009ad: CALLVALUE 000009ae: DUP1 000009af: ISZERO 000009b0: PUSH2 0x09b7 000009b3: JUMPI 000009b4: PUSH0 000009b5: DUP1 000009b6: REVERT 000009b7: JUMPDEST 000009b8: POP 000009b9: PUSH2 0x0393 000009bc: PUSH2 0x09c6 000009bf: CALLDATASIZE 000009c0: PUSH1 0x04 000009c2: PUSH2 0x3d35 000009c5: JUMP 000009c6: JUMPDEST 000009c7: PUSH2 0x22f9 000009ca: JUMP 000009cb: JUMPDEST 000009cc: CALLVALUE 000009cd: DUP1 000009ce: ISZERO 000009cf: PUSH2 0x09d6 000009d2: JUMPI 000009d3: PUSH0 000009d4: DUP1 000009d5: REVERT 000009d6: JUMPDEST 000009d7: POP 000009d8: PUSH2 0x0393 000009db: PUSH2 0x09e5 000009de: CALLDATASIZE 000009df: PUSH1 0x04 000009e1: PUSH2 0x3d35 000009e4: JUMP 000009e5: JUMPDEST 000009e6: PUSH2 0x2310 000009e9: JUMP 000009ea: JUMPDEST 000009eb: CALLVALUE 000009ec: DUP1 000009ed: ISZERO 000009ee: PUSH2 0x09f5 000009f1: JUMPI 000009f2: PUSH0 000009f3: DUP1 000009f4: REVERT 000009f5: JUMPDEST 000009f6: POP 000009f7: PUSH2 0x09fe 000009fa: PUSH2 0x2350 000009fd: JUMP 000009fe: JUMPDEST 000009ff: PUSH1 0x40 00000a01: MLOAD 00000a02: PUSH2 0x03df 00000a05: SWAP2 00000a06: SWAP1 00000a07: PUSH2 0x4065 00000a0a: JUMP 00000a0b: JUMPDEST 00000a0c: CALLVALUE 00000a0d: DUP1 00000a0e: ISZERO 00000a0f: PUSH2 0x0a16 00000a12: JUMPI 00000a13: PUSH0 00000a14: DUP1 00000a15: REVERT 00000a16: JUMPDEST 00000a17: POP 00000a18: PUSH2 0x0393 00000a1b: PUSH2 0x0a25 00000a1e: CALLDATASIZE 00000a1f: PUSH1 0x04 00000a21: PUSH2 0x3ff9 00000a24: JUMP 00000a25: JUMPDEST 00000a26: PUSH2 0x2370 00000a29: JUMP 00000a2a: JUMPDEST 00000a2b: CALLVALUE 00000a2c: DUP1 00000a2d: ISZERO 00000a2e: PUSH2 0x0a35 00000a31: JUMPI 00000a32: PUSH0 00000a33: DUP1 00000a34: REVERT 00000a35: JUMPDEST 00000a36: POP 00000a37: PUSH2 0x0393 00000a3a: PUSH2 0x0a44 00000a3d: CALLDATASIZE 00000a3e: PUSH1 0x04 00000a40: PUSH2 0x3d35 00000a43: JUMP 00000a44: JUMPDEST 00000a45: PUSH2 0x237b 00000a48: JUMP 00000a49: JUMPDEST 00000a4a: CALLVALUE 00000a4b: DUP1 00000a4c: ISZERO 00000a4d: PUSH2 0x0a54 00000a50: JUMPI 00000a51: PUSH0 00000a52: DUP1 00000a53: REVERT 00000a54: JUMPDEST 00000a55: POP 00000a56: PUSH2 0x0393 00000a59: PUSH2 0x0a63 00000a5c: CALLDATASIZE 00000a5d: PUSH1 0x04 00000a5f: PUSH2 0x3d35 00000a62: JUMP 00000a63: JUMPDEST 00000a64: PUSH2 0x2392 00000a67: JUMP 00000a68: JUMPDEST 00000a69: PUSH2 0x0a7a 00000a6c: PUSH2 0x0a73 00000a6f: PUSH2 0x23a9 00000a72: JUMP 00000a73: JUMPDEST 00000a74: DUP4 00000a75: DUP4 00000a76: PUSH2 0x13b5 00000a79: JUMP 00000a7a: JUMPDEST 00000a7b: POP 00000a7c: POP 00000a7d: JUMP 00000a7e: JUMPDEST 00000a7f: PUSH2 0x0a95 00000a82: PUSH0 00000a83: DUP1 00000a84: MLOAD 00000a85: PUSH1 0x20 00000a87: PUSH2 0x483d 00000a8a: DUP4 00000a8b: CODECOPY 00000a8c: DUP2 00000a8d: MLOAD 00000a8e: SWAP2 00000a8f: MSTORE 00000a90: DUP3 00000a91: PUSH2 0x23cb 00000a94: JUMP 00000a95: JUMPDEST 00000a96: POP 00000a97: JUMP 00000a98: JUMPDEST 00000a99: PUSH1 0x01 00000a9b: PUSH1 0x01 00000a9d: PUSH1 0xa0 00000a9f: SHL 00000aa0: SUB 00000aa1: DUP2 00000aa2: AND 00000aa3: PUSH0 00000aa4: SWAP1 00000aa5: DUP2 00000aa6: MSTORE 00000aa7: PUSH0 00000aa8: DUP1 00000aa9: MLOAD 00000aaa: PUSH1 0x20 00000aac: PUSH2 0x47d4 00000aaf: DUP4 00000ab0: CODECOPY 00000ab1: DUP2 00000ab2: MLOAD 00000ab3: SWAP2 00000ab4: MSTORE 00000ab5: PUSH1 0x20 00000ab7: MSTORE 00000ab8: PUSH1 0x40 00000aba: DUP2 00000abb: KECCAK256 00000abc: SLOAD 00000abd: PUSH1 0xff 00000abf: AND 00000ac0: PUSH1 0x01 00000ac2: DUP2 00000ac3: PUSH1 0x03 00000ac5: DUP2 00000ac6: GT 00000ac7: ISZERO 00000ac8: PUSH2 0x0ad3 00000acb: JUMPI 00000acc: PUSH2 0x0ad3 00000acf: PUSH2 0x3dd1 00000ad2: JUMP 00000ad3: JUMPDEST 00000ad4: EQ 00000ad5: DUP1 00000ad6: PUSH2 0x0af0 00000ad9: JUMPI 00000ada: POP 00000adb: PUSH1 0x02 00000add: DUP2 00000ade: PUSH1 0x03 00000ae0: DUP2 00000ae1: GT 00000ae2: ISZERO 00000ae3: PUSH2 0x0aee 00000ae6: JUMPI 00000ae7: PUSH2 0x0aee 00000aea: PUSH2 0x3dd1 00000aed: JUMP 00000aee: JUMPDEST 00000aef: EQ 00000af0: JUMPDEST 00000af1: SWAP4 00000af2: SWAP3 00000af3: POP 00000af4: POP 00000af5: POP 00000af6: JUMP 00000af7: JUMPDEST 00000af8: PUSH2 0x0a95 00000afb: PUSH0 00000afc: DUP1 00000afd: MLOAD 00000afe: PUSH1 0x20 00000b00: PUSH2 0x46fa 00000b03: DUP4 00000b04: CODECOPY 00000b05: DUP2 00000b06: MLOAD 00000b07: SWAP2 00000b08: MSTORE 00000b09: DUP3 00000b0a: PUSH2 0x23cb 00000b0d: JUMP 00000b0e: JUMPDEST 00000b0f: DUP3 00000b10: PUSH2 0x0b18 00000b13: DUP2 00000b14: PUSH2 0x0a98 00000b17: JUMP 00000b18: JUMPDEST 00000b19: PUSH2 0x0b5e 00000b1c: JUMPI 00000b1d: PUSH1 0x40 00000b1f: MLOAD 00000b20: PUSH3 0x461bcd 00000b24: PUSH1 0xe5 00000b26: SHL 00000b27: DUP2 00000b28: MSTORE 00000b29: PUSH1 0x20 00000b2b: PUSH1 0x04 00000b2d: DUP3 00000b2e: ADD 00000b2f: MSTORE 00000b30: PUSH1 0x12 00000b32: PUSH1 0x24 00000b34: DUP3 00000b35: ADD 00000b36: MSTORE 00000b37: PUSH18 0x1513d2d15397d393d517d4d154959250d151 00000b4a: PUSH1 0x72 00000b4c: SHL 00000b4d: PUSH1 0x44 00000b4f: DUP3 00000b50: ADD 00000b51: MSTORE 00000b52: PUSH1 0x64 00000b54: ADD 00000b55: JUMPDEST 00000b56: PUSH1 0x40 00000b58: MLOAD 00000b59: DUP1 00000b5a: SWAP2 00000b5b: SUB 00000b5c: SWAP1 00000b5d: REVERT 00000b5e: JUMPDEST 00000b5f: PUSH1 0x40 00000b61: DUP1 00000b62: MLOAD 00000b63: PUSH0 00000b64: DUP1 00000b65: DUP3 00000b66: MSTORE 00000b67: PUSH1 0x20 00000b69: DUP3 00000b6a: ADD 00000b6b: SWAP1 00000b6c: SWAP3 00000b6d: MSTORE 00000b6e: SWAP1 00000b6f: PUSH2 0x0b78 00000b72: DUP7 00000b73: DUP7 00000b74: PUSH2 0x23ec 00000b77: JUMP 00000b78: JUMPDEST 00000b79: SWAP1 00000b7a: POP 00000b7b: PUSH0 00000b7c: PUSH2 0x0b96 00000b7f: DUP8 00000b80: DUP8 00000b81: DUP8 00000b82: DUP7 00000b83: PUSH0 00000b84: DUP1 00000b85: MLOAD 00000b86: PUSH1 0x20 00000b88: PUSH2 0x47b4 00000b8b: DUP4 00000b8c: CODECOPY 00000b8d: DUP2 00000b8e: MLOAD 00000b8f: SWAP2 00000b90: MSTORE 00000b91: DUP8 00000b92: PUSH2 0x24a3 00000b95: JUMP 00000b96: JUMPDEST 00000b97: SWAP1 00000b98: POP 00000b99: PUSH2 0x0bb4 00000b9c: DUP8 00000b9d: DUP8 00000b9e: DUP8 00000b9f: DUP7 00000ba0: PUSH0 00000ba1: DUP1 00000ba2: MLOAD 00000ba3: PUSH1 0x20 00000ba5: PUSH2 0x47b4 00000ba8: DUP4 00000ba9: CODECOPY 00000baa: DUP2 00000bab: MLOAD 00000bac: SWAP2 00000bad: MSTORE 00000bae: DUP7 00000baf: DUP9 00000bb0: PUSH2 0x2625 00000bb3: JUMP 00000bb4: JUMPDEST 00000bb5: PUSH2 0x0bbd 00000bb8: DUP8 00000bb9: PUSH2 0x1f02 00000bbc: JUMP 00000bbd: JUMPDEST 00000bbe: POP 00000bbf: POP 00000bc0: POP 00000bc1: POP 00000bc2: POP 00000bc3: POP 00000bc4: POP 00000bc5: JUMP 00000bc6: JUMPDEST 00000bc7: PUSH2 0x0bcf 00000bca: CALLER 00000bcb: PUSH2 0x1635 00000bce: JUMP 00000bcf: JUMPDEST 00000bd0: PUSH2 0x0c11 00000bd3: JUMPI 00000bd4: PUSH1 0x40 00000bd6: MLOAD 00000bd7: PUSH3 0x461bcd 00000bdb: PUSH1 0xe5 00000bdd: SHL 00000bde: DUP2 00000bdf: MSTORE 00000be0: PUSH1 0x20 00000be2: PUSH1 0x04 00000be4: DUP3 00000be5: ADD 00000be6: MSTORE 00000be7: PUSH1 0x13 00000be9: PUSH1 0x24 00000beb: DUP3 00000bec: ADD 00000bed: MSTORE 00000bee: PUSH19 0x13d3931657d4d150d55492551657d051d15395 00000c02: PUSH1 0x6a 00000c04: SHL 00000c05: PUSH1 0x44 00000c07: DUP3 00000c08: ADD 00000c09: MSTORE 00000c0a: PUSH1 0x64 00000c0c: ADD 00000c0d: PUSH2 0x0b55 00000c10: JUMP 00000c11: JUMPDEST 00000c12: PUSH1 0x01 00000c14: PUSH1 0x01 00000c16: PUSH1 0xa0 00000c18: SHL 00000c19: SUB 00000c1a: DUP2 00000c1b: AND 00000c1c: PUSH0 00000c1d: DUP2 00000c1e: DUP2 00000c1f: MSTORE 00000c20: PUSH0 00000c21: DUP1 00000c22: MLOAD 00000c23: PUSH1 0x20 00000c25: PUSH2 0x47d4 00000c28: DUP4 00000c29: CODECOPY 00000c2a: DUP2 00000c2b: MLOAD 00000c2c: SWAP2 00000c2d: MSTORE 00000c2e: PUSH1 0x20 00000c30: MSTORE 00000c31: PUSH1 0x40 00000c33: DUP1 00000c34: DUP3 00000c35: KECCAK256 00000c36: PUSH1 0x04 00000c38: ADD 00000c39: DUP1 00000c3a: SLOAD 00000c3b: PUSH1 0xff 00000c3d: NOT 00000c3e: AND 00000c3f: PUSH1 0x01 00000c41: OR 00000c42: SWAP1 00000c43: SSTORE 00000c44: MLOAD 00000c45: CALLER 00000c46: SWAP2 00000c47: PUSH32 0xe2deca319add01142d26def2de47e64bf1fdc70e6f90c13a1862a48bdaaa7cfd 00000c68: SWAP2 00000c69: LOG3 00000c6a: POP 00000c6b: JUMP 00000c6c: JUMPDEST 00000c6d: PUSH2 0x0a95 00000c70: PUSH0 00000c71: DUP1 00000c72: MLOAD 00000c73: PUSH1 0x20 00000c75: PUSH2 0x471a 00000c78: DUP4 00000c79: CODECOPY 00000c7a: DUP2 00000c7b: MLOAD 00000c7c: SWAP2 00000c7d: MSTORE 00000c7e: DUP3 00000c7f: PUSH2 0x23cb 00000c82: JUMP 00000c83: JUMPDEST 00000c84: PUSH0 00000c85: PUSH2 0x0c8f 00000c88: PUSH2 0x060d 00000c8b: PUSH2 0x23a9 00000c8e: JUMP 00000c8f: JUMPDEST 00000c90: SWAP1 00000c91: POP 00000c92: SWAP1 00000c93: JUMP 00000c94: JUMPDEST 00000c95: PUSH2 0x0c9c 00000c98: PUSH2 0x2738 00000c9b: JUMP 00000c9c: JUMPDEST 00000c9d: PUSH1 0x01 00000c9f: PUSH1 0x01 00000ca1: PUSH1 0xa0 00000ca3: SHL 00000ca4: SUB 00000ca5: AND 00000ca6: PUSH4 0x6170ff1b 00000cab: PUSH2 0x0cb2 00000cae: PUSH2 0x275a 00000cb1: JUMP 00000cb2: JUMPDEST 00000cb3: PUSH0 00000cb4: DUP1 00000cb5: MLOAD 00000cb6: PUSH1 0x20 00000cb8: PUSH2 0x47b4 00000cbb: DUP4 00000cbc: CODECOPY 00000cbd: DUP2 00000cbe: MLOAD 00000cbf: SWAP2 00000cc0: MSTORE 00000cc1: PUSH2 0x0ccb 00000cc4: DUP9 00000cc5: DUP9 00000cc6: DUP9 00000cc7: PUSH2 0x277c 00000cca: JUMP 00000ccb: JUMPDEST 00000ccc: DUP6 00000ccd: PUSH1 0x40 00000ccf: MLOAD 00000cd0: DUP6 00000cd1: PUSH4 0xffffffff 00000cd6: AND 00000cd7: PUSH1 0xe0 00000cd9: SHL 00000cda: DUP2 00000cdb: MSTORE 00000cdc: PUSH1 0x04 00000cde: ADD 00000cdf: PUSH2 0x0ceb 00000ce2: SWAP5 00000ce3: SWAP4 00000ce4: SWAP3 00000ce5: SWAP2 00000ce6: SWAP1 00000ce7: PUSH2 0x40e4 00000cea: JUMP 00000ceb: JUMPDEST 00000cec: PUSH1 0x20 00000cee: PUSH1 0x40 00000cf0: MLOAD 00000cf1: DUP1 00000cf2: DUP4 00000cf3: SUB 00000cf4: DUP2 00000cf5: PUSH0 00000cf6: DUP8 00000cf7: GAS 00000cf8: CALL 00000cf9: ISZERO 00000cfa: DUP1 00000cfb: ISZERO 00000cfc: PUSH2 0x0d07 00000cff: JUMPI 00000d00: RETURNDATASIZE 00000d01: PUSH0 00000d02: DUP1 00000d03: RETURNDATACOPY 00000d04: RETURNDATASIZE 00000d05: PUSH0 00000d06: REVERT 00000d07: JUMPDEST 00000d08: POP 00000d09: POP 00000d0a: POP 00000d0b: POP 00000d0c: PUSH1 0x40 00000d0e: MLOAD 00000d0f: RETURNDATASIZE 00000d10: PUSH1 0x1f 00000d12: NOT 00000d13: PUSH1 0x1f 00000d15: DUP3 00000d16: ADD 00000d17: AND 00000d18: DUP3 00000d19: ADD 00000d1a: DUP1 00000d1b: PUSH1 0x40 00000d1d: MSTORE 00000d1e: POP 00000d1f: DUP2 00000d20: ADD 00000d21: SWAP1 00000d22: PUSH2 0x0d2b 00000d25: SWAP2 00000d26: SWAP1 00000d27: PUSH2 0x4113 00000d2a: JUMP 00000d2b: JUMPDEST 00000d2c: POP 00000d2d: PUSH2 0x0d37 00000d30: DUP5 00000d31: DUP5 00000d32: CALLER 00000d33: PUSH2 0x27a5 00000d36: JUMP 00000d37: JUMPDEST 00000d38: PUSH1 0x40 00000d3a: DUP1 00000d3b: MLOAD 00000d3c: DUP5 00000d3d: DUP2 00000d3e: MSTORE 00000d3f: PUSH1 0x20 00000d41: DUP2 00000d42: ADD 00000d43: DUP4 00000d44: SWAP1 00000d45: MSTORE 00000d46: DUP4 00000d47: SWAP2 00000d48: PUSH1 0x01 00000d4a: PUSH1 0x01 00000d4c: PUSH1 0xa0 00000d4e: SHL 00000d4f: SUB 00000d50: DUP8 00000d51: AND 00000d52: SWAP2 00000d53: CALLER 00000d54: SWAP2 00000d55: PUSH32 0x50485fb0face2cfd73784044ab4191986b4a6713f01854414e2331a6bb41837d 00000d76: SWAP2 00000d77: ADD 00000d78: JUMPDEST 00000d79: PUSH1 0x40 00000d7b: MLOAD 00000d7c: DUP1 00000d7d: SWAP2 00000d7e: SUB 00000d7f: SWAP1 00000d80: LOG4 00000d81: POP 00000d82: POP 00000d83: POP 00000d84: POP 00000d85: JUMP 00000d86: JUMPDEST 00000d87: PUSH2 0x0d9d 00000d8a: PUSH0 00000d8b: DUP1 00000d8c: MLOAD 00000d8d: PUSH1 0x20 00000d8f: PUSH2 0x45ec 00000d92: DUP4 00000d93: CODECOPY 00000d94: DUP2 00000d95: MLOAD 00000d96: SWAP2 00000d97: MSTORE 00000d98: CALLER 00000d99: PUSH2 0x27b8 00000d9c: JUMP 00000d9d: JUMPDEST 00000d9e: PUSH2 0x0de1 00000da1: JUMPI 00000da2: PUSH1 0x40 00000da4: MLOAD 00000da5: PUSH3 0x461bcd 00000da9: PUSH1 0xe5 00000dab: SHL 00000dac: DUP2 00000dad: MSTORE 00000dae: PUSH1 0x20 00000db0: PUSH1 0x04 00000db2: DUP3 00000db3: ADD 00000db4: MSTORE 00000db5: PUSH1 0x15 00000db7: PUSH1 0x24 00000db9: DUP3 00000dba: ADD 00000dbb: MSTORE 00000dbc: PUSH21 0x474f5645524e414e43455f41444d494e5f4f4e4c59 00000dd2: PUSH1 0x58 00000dd4: SHL 00000dd5: PUSH1 0x44 00000dd7: DUP3 00000dd8: ADD 00000dd9: MSTORE 00000dda: PUSH1 0x64 00000ddc: ADD 00000ddd: PUSH2 0x0b55 00000de0: JUMP 00000de1: JUMPDEST 00000de2: PUSH1 0x01 00000de4: PUSH1 0x01 00000de6: PUSH1 0xa0 00000de8: SHL 00000de9: SUB 00000dea: DUP2 00000deb: AND 00000dec: PUSH0 00000ded: DUP2 00000dee: DUP2 00000def: MSTORE 00000df0: PUSH32 0x45f38e273862f8834bd2fe7a449988f63de55a7a5b685dea46ccedeb69cf0e26 00000e11: PUSH1 0x20 00000e13: DUP2 00000e14: DUP2 00000e15: MSTORE 00000e16: PUSH1 0x40 00000e18: SWAP3 00000e19: DUP4 00000e1a: SWAP1 00000e1b: KECCAK256 00000e1c: DUP1 00000e1d: SLOAD 00000e1e: PUSH1 0xff 00000e20: NOT 00000e21: AND 00000e22: PUSH1 0x01 00000e24: OR 00000e25: SWAP1 00000e26: SSTORE 00000e27: PUSH32 0x45f38e273862f8834bd2fe7a449988f63de55a7a5b685dea46ccedeb69cf0e27 00000e48: DUP1 00000e49: SLOAD 00000e4a: PUSH1 0x01 00000e4c: PUSH1 0x01 00000e4e: PUSH1 0xa0 00000e50: SHL 00000e51: SUB 00000e52: NOT 00000e53: AND 00000e54: SWAP1 00000e55: SSTORE 00000e56: SWAP2 00000e57: MLOAD 00000e58: SWAP3 00000e59: DUP4 00000e5a: MSTORE 00000e5b: SWAP2 00000e5c: PUSH32 0xcfb473e6c03f9a29ddaf990e736fa3de5188a0bd85d684f5b6e164ebfbfff5d2 00000e7d: SWAP2 00000e7e: ADD 00000e7f: JUMPDEST 00000e80: PUSH1 0x40 00000e82: MLOAD 00000e83: DUP1 00000e84: SWAP2 00000e85: SUB 00000e86: SWAP1 00000e87: LOG1 00000e88: POP 00000e89: POP 00000e8a: JUMP 00000e8b: JUMPDEST 00000e8c: PUSH2 0x0a95 00000e8f: PUSH2 0x0e96 00000e92: PUSH2 0x23a9 00000e95: JUMP 00000e96: JUMPDEST 00000e97: DUP3 00000e98: CALLER 00000e99: PUSH2 0x13b5 00000e9c: JUMP 00000e9d: JUMPDEST 00000e9e: DUP1 00000e9f: CALLER 00000ea0: PUSH1 0x01 00000ea2: PUSH1 0x01 00000ea4: PUSH1 0xa0 00000ea6: SHL 00000ea7: SUB 00000ea8: DUP3 00000ea9: AND 00000eaa: SUB 00000eab: PUSH2 0x0ec6 00000eae: JUMPI 00000eaf: PUSH1 0x40 00000eb1: MLOAD 00000eb2: PUSH3 0x461bcd 00000eb6: PUSH1 0xe5 00000eb8: SHL 00000eb9: DUP2 00000eba: MSTORE 00000ebb: PUSH1 0x04 00000ebd: ADD 00000ebe: PUSH2 0x0b55 00000ec1: SWAP1 00000ec2: PUSH2 0x412a 00000ec5: JUMP 00000ec6: JUMPDEST 00000ec7: PUSH2 0x0a7a 00000eca: PUSH0 00000ecb: DUP1 00000ecc: MLOAD 00000ecd: PUSH1 0x20 00000ecf: PUSH2 0x471a 00000ed2: DUP4 00000ed3: CODECOPY 00000ed4: DUP2 00000ed5: MLOAD 00000ed6: SWAP2 00000ed7: MSTORE 00000ed8: DUP4 00000ed9: PUSH2 0x27ee 00000edc: JUMP 00000edd: JUMPDEST 00000ede: PUSH0 00000edf: DUP1 00000ee0: MLOAD 00000ee1: PUSH1 0x20 00000ee3: PUSH2 0x45ec 00000ee6: DUP4 00000ee7: CODECOPY 00000ee8: DUP2 00000ee9: MLOAD 00000eea: SWAP2 00000eeb: MSTORE 00000eec: DUP3 00000eed: EQ 00000eee: DUP1 00000eef: ISZERO 00000ef0: PUSH2 0x0f17 00000ef3: JUMPI 00000ef4: POP 00000ef5: PUSH32 0x0000000000000000000000000000000000000000000000000000000000000001 00000f16: ISZERO 00000f17: JUMPDEST 00000f18: ISZERO 00000f19: PUSH2 0x0f64 00000f1c: JUMPI 00000f1d: PUSH1 0x40 00000f1f: MLOAD 00000f20: PUSH3 0x461bcd 00000f24: PUSH1 0xe5 00000f26: SHL 00000f27: DUP2 00000f28: MSTORE 00000f29: PUSH1 0x20 00000f2b: PUSH1 0x04 00000f2d: DUP3 00000f2e: ADD 00000f2f: DUP2 00000f30: SWAP1 00000f31: MSTORE 00000f32: PUSH1 0x24 00000f34: DUP3 00000f35: ADD 00000f36: MSTORE 00000f37: PUSH32 0x43414e4e4f545f52454e4f554e43455f474f5645524e414e43455f41444d494e 00000f58: PUSH1 0x44 00000f5a: DUP3 00000f5b: ADD 00000f5c: MSTORE 00000f5d: PUSH1 0x64 00000f5f: ADD 00000f60: PUSH2 0x0b55 00000f63: JUMP 00000f64: JUMPDEST 00000f65: PUSH2 0x0a7a 00000f68: DUP3 00000f69: DUP3 00000f6a: PUSH2 0x280a 00000f6d: JUMP 00000f6e: JUMPDEST 00000f6f: PUSH2 0x0a95 00000f72: PUSH0 00000f73: DUP1 00000f74: MLOAD 00000f75: PUSH1 0x20 00000f77: PUSH2 0x47f4 00000f7a: DUP4 00000f7b: CODECOPY 00000f7c: DUP2 00000f7d: MLOAD 00000f7e: SWAP2 00000f7f: MSTORE 00000f80: DUP3 00000f81: PUSH2 0x23cb 00000f84: JUMP 00000f85: JUMPDEST 00000f86: CALLER 00000f87: PUSH2 0x0f8e 00000f8a: PUSH2 0x2884 00000f8d: JUMP 00000f8e: JUMPDEST 00000f8f: PUSH1 0x01 00000f91: PUSH1 0x01 00000f93: PUSH1 0xa0 00000f95: SHL 00000f96: SUB 00000f97: AND 00000f98: EQ 00000f99: PUSH2 0x0fd3 00000f9c: JUMPI 00000f9d: PUSH1 0x40 00000f9f: MLOAD 00000fa0: PUSH3 0x461bcd 00000fa4: PUSH1 0xe5 00000fa6: SHL 00000fa7: DUP2 00000fa8: MSTORE 00000fa9: PUSH1 0x20 00000fab: PUSH1 0x04 00000fad: DUP3 00000fae: ADD 00000faf: MSTORE 00000fb0: PUSH1 0x0c 00000fb2: PUSH1 0x24 00000fb4: DUP3 00000fb5: ADD 00000fb6: MSTORE 00000fb7: PUSH12 0x27a7262cafa6a0a720a3a2a9 00000fc4: PUSH1 0xa1 00000fc6: SHL 00000fc7: PUSH1 0x44 00000fc9: DUP3 00000fca: ADD 00000fcb: MSTORE 00000fcc: PUSH1 0x64 00000fce: ADD 00000fcf: PUSH2 0x0b55 00000fd2: JUMP 00000fd3: JUMPDEST 00000fd4: PUSH1 0x01 00000fd6: PUSH1 0x01 00000fd8: PUSH1 0xa0 00000fda: SHL 00000fdb: SUB 00000fdc: DUP2 00000fdd: AND 00000fde: PUSH0 00000fdf: SWAP1 00000fe0: DUP2 00000fe1: MSTORE 00000fe2: PUSH0 00000fe3: DUP1 00000fe4: MLOAD 00000fe5: PUSH1 0x20 00000fe7: PUSH2 0x47d4 00000fea: DUP4 00000feb: CODECOPY 00000fec: DUP2 00000fed: MLOAD 00000fee: SWAP2 00000fef: MSTORE 00000ff0: PUSH1 0x20 00000ff2: MSTORE 00000ff3: PUSH1 0x40 00000ff5: DUP2 00000ff6: KECCAK256 00000ff7: SLOAD 00000ff8: PUSH1 0xff 00000ffa: AND 00000ffb: PUSH1 0x03 00000ffd: DUP2 00000ffe: GT 00000fff: ISZERO 00001000: PUSH2 0x100b 00001003: JUMPI 00001004: PUSH2 0x100b 00001007: PUSH2 0x3dd1 0000100a: JUMP 0000100b: JUMPDEST 0000100c: SUB 0000100d: PUSH2 0x1048 00001010: JUMPI 00001011: PUSH1 0x40 00001013: MLOAD 00001014: PUSH3 0x461bcd 00001018: PUSH1 0xe5 0000101a: SHL 0000101b: DUP2 0000101c: MSTORE 0000101d: PUSH1 0x20 0000101f: PUSH1 0x04 00001021: DUP3 00001022: ADD 00001023: MSTORE 00001024: PUSH1 0x0d 00001026: PUSH1 0x24 00001028: DUP3 00001029: ADD 0000102a: MSTORE 0000102b: PUSH13 0x2aa725a727aba72faa27a5a2a7 00001039: PUSH1 0x99 0000103b: SHL 0000103c: PUSH1 0x44 0000103e: DUP3 0000103f: ADD 00001040: MSTORE 00001041: PUSH1 0x64 00001043: ADD 00001044: PUSH2 0x0b55 00001047: JUMP 00001048: JUMPDEST 00001049: PUSH1 0x01 0000104b: PUSH1 0x01 0000104d: PUSH1 0xa0 0000104f: SHL 00001050: SUB 00001051: DUP2 00001052: AND 00001053: PUSH0 00001054: DUP2 00001055: DUP2 00001056: MSTORE 00001057: PUSH0 00001058: DUP1 00001059: MLOAD 0000105a: PUSH1 0x20 0000105c: PUSH2 0x47d4 0000105f: DUP4 00001060: CODECOPY 00001061: DUP2 00001062: MLOAD 00001063: SWAP2 00001064: MSTORE 00001065: PUSH1 0x20 00001067: SWAP1 00001068: DUP2 00001069: MSTORE 0000106a: PUSH1 0x40 0000106c: SWAP2 0000106d: DUP3 0000106e: SWAP1 0000106f: KECCAK256 00001070: DUP1 00001071: SLOAD 00001072: PUSH1 0xff 00001074: NOT 00001075: AND 00001076: PUSH1 0x03 00001078: OR 00001079: SWAP1 0000107a: SSTORE 0000107b: SWAP1 0000107c: MLOAD 0000107d: SWAP2 0000107e: DUP3 0000107f: MSTORE 00001080: PUSH32 0x86d6e4556eae726303caf49a75add7d92ac713e46db458dab0622aa263fb48e6 000010a1: SWAP2 000010a2: ADD 000010a3: JUMPDEST 000010a4: PUSH1 0x40 000010a6: MLOAD 000010a7: DUP1 000010a8: SWAP2 000010a9: SUB 000010aa: SWAP1 000010ab: LOG1 000010ac: POP 000010ad: JUMP 000010ae: JUMPDEST 000010af: ADDRESS 000010b0: PUSH32 0x00000000000000000000000095ff25a59dc9c5a41cf0709dc916041e5dc7fd95 000010d1: PUSH1 0x01 000010d3: PUSH1 0x01 000010d5: PUSH1 0xa0 000010d7: SHL 000010d8: SUB 000010d9: AND 000010da: SUB 000010db: PUSH2 0x111f 000010de: JUMPI 000010df: PUSH1 0x40 000010e1: MLOAD 000010e2: PUSH3 0x461bcd 000010e6: PUSH1 0xe5 000010e8: SHL 000010e9: DUP2 000010ea: MSTORE 000010eb: PUSH1 0x20 000010ed: PUSH1 0x04 000010ef: DUP3 000010f0: ADD 000010f1: MSTORE 000010f2: PUSH1 0x16 000010f4: PUSH1 0x24 000010f6: DUP3 000010f7: ADD 000010f8: MSTORE 000010f9: PUSH22 0x1112549150d517d0d0531317d11254d0531313d5d151 00001110: PUSH1 0x52 00001112: SHL 00001113: PUSH1 0x44 00001115: DUP3 00001116: ADD 00001117: MSTORE 00001118: PUSH1 0x64 0000111a: ADD 0000111b: PUSH2 0x0b55 0000111e: JUMP 0000111f: JUMPDEST 00001120: PUSH0 00001121: PUSH2 0x112b 00001124: DUP2 00001125: PUSH1 0x20 00001127: PUSH2 0x416e 0000112a: JUMP 0000112b: JUMPDEST 0000112c: SWAP1 0000112d: POP 0000112e: PUSH0 0000112f: PUSH2 0x1139 00001132: DUP3 00001133: PUSH1 0x20 00001135: PUSH2 0x4185 00001138: JUMP 00001139: JUMPDEST 0000113a: SWAP1 0000113b: POP 0000113c: DUP1 0000113d: DUP4 0000113e: LT 0000113f: ISZERO 00001140: PUSH2 0x1181 00001143: JUMPI 00001144: PUSH1 0x40 00001146: MLOAD 00001147: PUSH3 0x461bcd 0000114b: PUSH1 0xe5 0000114d: SHL 0000114e: DUP2 0000114f: MSTORE 00001150: PUSH1 0x20 00001152: PUSH1 0x04 00001154: DUP3 00001155: ADD 00001156: MSTORE 00001157: PUSH1 0x13 00001159: PUSH1 0x24 0000115b: DUP3 0000115c: ADD 0000115d: MSTORE 0000115e: PUSH19 0x1253925517d110551057d513d3d7d4d3505313 00001172: PUSH1 0x6a 00001174: SHL 00001175: PUSH1 0x44 00001177: DUP3 00001178: ADD 00001179: MSTORE 0000117a: PUSH1 0x64 0000117c: ADD 0000117d: PUSH2 0x0b55 00001180: JUMP 00001181: JUMPDEST 00001182: PUSH0 00001183: PUSH2 0x118e 00001186: DUP3 00001187: DUP5 00001188: DUP7 00001189: DUP9 0000118a: PUSH2 0x4198 0000118d: JUMP 0000118e: JUMPDEST 0000118f: DUP2 00001190: ADD 00001191: SWAP1 00001192: PUSH2 0x119b 00001195: SWAP2 00001196: SWAP1 00001197: PUSH2 0x3d35 0000119a: JUMP 0000119b: JUMPDEST 0000119c: SWAP1 0000119d: POP 0000119e: CALLDATASIZE 0000119f: PUSH0 000011a0: PUSH2 0x11ab 000011a3: DUP6 000011a4: DUP3 000011a5: DUP9 000011a6: DUP11 000011a7: PUSH2 0x4198 000011aa: JUMP 000011ab: JUMPDEST 000011ac: SWAP2 000011ad: POP 000011ae: SWAP2 000011af: POP 000011b0: CALLDATASIZE 000011b1: PUSH0 000011b2: PUSH2 0x11bd 000011b5: DUP9 000011b6: DUP8 000011b7: DUP2 000011b8: DUP13 000011b9: PUSH2 0x4198 000011bc: JUMP 000011bd: JUMPDEST 000011be: SWAP1 000011bf: SWAP3 000011c0: POP 000011c1: SWAP1 000011c2: POP 000011c3: PUSH1 0x01 000011c5: PUSH1 0x01 000011c7: PUSH1 0xa0 000011c9: SHL 000011ca: SUB 000011cb: DUP6 000011cc: AND 000011cd: ISZERO 000011ce: PUSH2 0x11e7 000011d1: JUMPI 000011d2: PUSH2 0x11dc 000011d5: DUP6 000011d6: DUP4 000011d7: DUP4 000011d8: PUSH2 0x28a6 000011db: JUMP 000011dc: JUMPDEST 000011dd: POP 000011de: POP 000011df: POP 000011e0: POP 000011e1: POP 000011e2: POP 000011e3: POP 000011e4: POP 000011e5: POP 000011e6: JUMP 000011e7: JUMPDEST 000011e8: PUSH2 0x11ef 000011eb: PUSH2 0x29e4 000011ee: JUMP 000011ef: JUMPDEST 000011f0: ISZERO 000011f1: PUSH2 0x123e 000011f4: JUMPI 000011f5: DUP1 000011f6: ISZERO 000011f7: PUSH2 0x1239 000011fa: JUMPI 000011fb: PUSH1 0x40 000011fd: MLOAD 000011fe: PUSH3 0x461bcd 00001202: PUSH1 0xe5 00001204: SHL 00001205: DUP2 00001206: MSTORE 00001207: PUSH1 0x20 00001209: PUSH1 0x04 0000120b: DUP3 0000120c: ADD 0000120d: MSTORE 0000120e: PUSH1 0x14 00001210: PUSH1 0x24 00001212: DUP3 00001213: ADD 00001214: MSTORE 00001215: PUSH20 0x554e45585045435445445f494e49545f44415441 0000122a: PUSH1 0x60 0000122c: SHL 0000122d: PUSH1 0x44 0000122f: DUP3 00001230: ADD 00001231: MSTORE 00001232: PUSH1 0x64 00001234: ADD 00001235: PUSH2 0x0b55 00001238: JUMP 00001239: JUMPDEST 0000123a: PUSH2 0x11dc 0000123d: JUMP 0000123e: JUMPDEST 0000123f: PUSH2 0x1248 00001242: DUP3 00001243: DUP3 00001244: PUSH2 0x29fe 00001247: JUMP 00001248: JUMPDEST 00001249: PUSH2 0x1252 0000124c: DUP3 0000124d: DUP3 0000124e: PUSH2 0x2b15 00001251: JUMP 00001252: JUMPDEST 00001253: PUSH2 0x11dc 00001256: PUSH2 0x2b43 00001259: JUMP 0000125a: JUMPDEST 0000125b: PUSH1 0x01 0000125d: PUSH1 0x01 0000125f: PUSH1 0xa0 00001261: SHL 00001262: SUB 00001263: DUP2 00001264: AND 00001265: PUSH0 00001266: SWAP1 00001267: DUP2 00001268: MSTORE 00001269: PUSH0 0000126a: DUP1 0000126b: MLOAD 0000126c: PUSH1 0x20 0000126e: PUSH2 0x47d4 00001271: DUP4 00001272: CODECOPY 00001273: DUP2 00001274: MLOAD 00001275: SWAP2 00001276: MSTORE 00001277: PUSH1 0x20 00001279: MSTORE 0000127a: PUSH1 0x40 0000127c: DUP2 0000127d: KECCAK256 0000127e: PUSH1 0x04 00001280: ADD 00001281: SLOAD 00001282: PUSH1 0xff 00001284: AND 00001285: PUSH2 0x128f 00001288: JUMPI 00001289: PUSH0 0000128a: NOT 0000128b: PUSH2 0x1298 0000128e: JUMP 0000128f: JUMPDEST 00001290: PUSH2 0x1298 00001293: DUP3 00001294: PUSH2 0x2b4e 00001297: JUMP 00001298: JUMPDEST 00001299: SWAP3 0000129a: SWAP2 0000129b: POP 0000129c: POP 0000129d: JUMP 0000129e: JUMPDEST 0000129f: PUSH1 0x01 000012a1: PUSH1 0x01 000012a3: PUSH1 0xa0 000012a5: SHL 000012a6: SUB 000012a7: DUP2 000012a8: AND 000012a9: PUSH0 000012aa: SWAP1 000012ab: DUP2 000012ac: MSTORE 000012ad: PUSH0 000012ae: DUP1 000012af: MLOAD 000012b0: PUSH1 0x20 000012b2: PUSH2 0x47d4 000012b5: DUP4 000012b6: CODECOPY 000012b7: DUP2 000012b8: MLOAD 000012b9: SWAP2 000012ba: MSTORE 000012bb: PUSH1 0x20 000012bd: MSTORE 000012be: PUSH1 0x40 000012c0: DUP2 000012c1: KECCAK256 000012c2: PUSH1 0x03 000012c4: ADD 000012c5: SLOAD 000012c6: DUP1 000012c7: ISZERO 000012c8: PUSH2 0x12d1 000012cb: JUMPI 000012cc: DUP1 000012cd: PUSH2 0x0af0 000012d0: JUMP 000012d1: JUMPDEST 000012d2: PUSH0 000012d3: NOT 000012d4: SWAP4 000012d5: SWAP3 000012d6: POP 000012d7: POP 000012d8: POP 000012d9: JUMP 000012da: JUMPDEST 000012db: PUSH0 000012dc: PUSH2 0x0c8f 000012df: PUSH2 0x2b6e 000012e2: JUMP 000012e3: JUMPDEST 000012e4: PUSH0 000012e5: PUSH2 0x1298 000012e8: PUSH0 000012e9: DUP1 000012ea: MLOAD 000012eb: PUSH1 0x20 000012ed: PUSH2 0x4653 000012f0: DUP4 000012f1: CODECOPY 000012f2: DUP2 000012f3: MLOAD 000012f4: SWAP2 000012f5: MSTORE 000012f6: DUP4 000012f7: PUSH2 0x27b8 000012fa: JUMP 000012fb: JUMPDEST 000012fc: PUSH2 0x1304 000012ff: CALLER 00001300: PUSH2 0x1eea 00001303: JUMP 00001304: JUMPDEST 00001305: PUSH2 0x1346 00001308: JUMPI 00001309: PUSH1 0x40 0000130b: MLOAD 0000130c: PUSH3 0x461bcd 00001310: PUSH1 0xe5 00001312: SHL 00001313: DUP2 00001314: MSTORE 00001315: PUSH1 0x20 00001317: PUSH1 0x04 00001319: DUP3 0000131a: ADD 0000131b: MSTORE 0000131c: PUSH1 0x13 0000131e: PUSH1 0x24 00001320: DUP3 00001321: ADD 00001322: MSTORE 00001323: PUSH19 0x27a7262cafa9a2a1aaa924aa2cafa0a226a4a7 00001337: PUSH1 0x69 00001339: SHL 0000133a: PUSH1 0x44 0000133c: DUP3 0000133d: ADD 0000133e: MSTORE 0000133f: PUSH1 0x64 00001341: ADD 00001342: PUSH2 0x0b55 00001345: JUMP 00001346: JUMPDEST 00001347: PUSH1 0x01 00001349: PUSH1 0x01 0000134b: PUSH1 0xa0 0000134d: SHL 0000134e: SUB 0000134f: DUP2 00001350: AND 00001351: PUSH0 00001352: DUP2 00001353: DUP2 00001354: MSTORE 00001355: PUSH0 00001356: DUP1 00001357: MLOAD 00001358: PUSH1 0x20 0000135a: PUSH2 0x47d4 0000135d: DUP4 0000135e: CODECOPY 0000135f: DUP2 00001360: MLOAD 00001361: SWAP2 00001362: MSTORE 00001363: PUSH1 0x20 00001365: MSTORE 00001366: PUSH1 0x40 00001368: DUP1 00001369: DUP3 0000136a: KECCAK256 0000136b: PUSH1 0x04 0000136d: ADD 0000136e: DUP1 0000136f: SLOAD 00001370: PUSH1 0xff 00001372: NOT 00001373: AND 00001374: SWAP1 00001375: SSTORE 00001376: MLOAD 00001377: CALLER 00001378: SWAP2 00001379: PUSH32 0x109dee66091b7a145f557f52c55d7beccb6a29011fc705557e2975749474076b 0000139a: SWAP2 0000139b: LOG3 0000139c: POP 0000139d: JUMP 0000139e: JUMPDEST 0000139f: PUSH2 0x0a95 000013a2: PUSH0 000013a3: DUP1 000013a4: MLOAD 000013a5: PUSH1 0x20 000013a7: PUSH2 0x460c 000013aa: DUP4 000013ab: CODECOPY 000013ac: DUP2 000013ad: MLOAD 000013ae: SWAP2 000013af: MSTORE 000013b0: DUP3 000013b1: PUSH2 0x23cb 000013b4: JUMP 000013b5: JUMPDEST 000013b6: PUSH1 0x01 000013b8: PUSH1 0x01 000013ba: PUSH1 0xa0 000013bc: SHL 000013bd: SUB 000013be: DUP2 000013bf: AND 000013c0: PUSH2 0x13ff 000013c3: JUMPI 000013c4: PUSH1 0x40 000013c6: MLOAD 000013c7: PUSH3 0x461bcd 000013cb: PUSH1 0xe5 000013cd: SHL 000013ce: DUP2 000013cf: MSTORE 000013d0: PUSH1 0x20 000013d2: PUSH1 0x04 000013d4: DUP3 000013d5: ADD 000013d6: MSTORE 000013d7: PUSH1 0x11 000013d9: PUSH1 0x24 000013db: DUP3 000013dc: ADD 000013dd: MSTORE 000013de: PUSH17 0x1253959053125117d49150d25412515395 000013f0: PUSH1 0x7a 000013f2: SHL 000013f3: PUSH1 0x44 000013f5: DUP3 000013f6: ADD 000013f7: MSTORE 000013f8: PUSH1 0x64 000013fa: ADD 000013fb: PUSH2 0x0b55 000013fe: JUMP 000013ff: JUMPDEST 00001400: PUSH2 0x140a 00001403: DUP4 00001404: DUP4 00001405: DUP4 00001406: PUSH2 0x2b81 00001409: JUMP 0000140a: JUMPDEST 0000140b: PUSH1 0x01 0000140d: PUSH1 0x01 0000140f: PUSH1 0xa0 00001411: SHL 00001412: SUB 00001413: DUP4 00001414: AND 00001415: PUSH0 00001416: SWAP1 00001417: DUP2 00001418: MSTORE 00001419: PUSH0 0000141a: DUP1 0000141b: MLOAD 0000141c: PUSH1 0x20 0000141e: PUSH2 0x47d4 00001421: DUP4 00001422: CODECOPY 00001423: DUP2 00001424: MLOAD 00001425: SWAP2 00001426: MSTORE 00001427: PUSH1 0x20 00001429: MSTORE 0000142a: PUSH1 0x40 0000142c: SWAP1 0000142d: KECCAK256 0000142e: PUSH1 0x04 00001430: ADD 00001431: SLOAD 00001432: PUSH1 0xff 00001434: AND 00001435: ISZERO 00001436: PUSH2 0x1443 00001439: JUMPI 0000143a: PUSH2 0x1443 0000143d: DUP4 0000143e: DUP4 0000143f: PUSH2 0x2e91 00001442: JUMP 00001443: JUMPDEST 00001444: PUSH2 0x144e 00001447: DUP4 00001448: DUP4 00001449: DUP4 0000144a: PUSH2 0x27a5 0000144d: JUMP 0000144e: JUMPDEST 0000144f: DUP3 00001450: PUSH1 0x01 00001452: PUSH1 0x01 00001454: PUSH1 0xa0 00001456: SHL 00001457: SUB 00001458: AND 00001459: DUP2 0000145a: PUSH1 0x01 0000145c: PUSH1 0x01 0000145e: PUSH1 0xa0 00001460: SHL 00001461: SUB 00001462: AND 00001463: PUSH32 0x2717ead6b9200dd235aad468c9809ea400fe33ac69b5bfaa6d3e90fc922b6398 00001484: DUP5 00001485: PUSH1 0x40 00001487: MLOAD 00001488: PUSH2 0x1493 0000148b: SWAP2 0000148c: DUP2 0000148d: MSTORE 0000148e: PUSH1 0x20 00001490: ADD 00001491: SWAP1 00001492: JUMP 00001493: JUMPDEST 00001494: PUSH1 0x40 00001496: MLOAD 00001497: DUP1 00001498: SWAP2 00001499: SUB 0000149a: SWAP1 0000149b: LOG3 0000149c: POP 0000149d: POP 0000149e: POP 0000149f: JUMP 000014a0: JUMPDEST 000014a1: PUSH0 000014a2: PUSH2 0x1298 000014a5: PUSH0 000014a6: DUP1 000014a7: MLOAD 000014a8: PUSH1 0x20 000014aa: PUSH2 0x4673 000014ad: DUP4 000014ae: CODECOPY 000014af: DUP2 000014b0: MLOAD 000014b1: SWAP2 000014b2: MSTORE 000014b3: DUP4 000014b4: PUSH2 0x27b8 000014b7: JUMP 000014b8: JUMPDEST 000014b9: PUSH0 000014ba: PUSH2 0x1298 000014bd: PUSH0 000014be: DUP1 000014bf: MLOAD 000014c0: PUSH1 0x20 000014c2: PUSH2 0x47f4 000014c5: DUP4 000014c6: CODECOPY 000014c7: DUP2 000014c8: MLOAD 000014c9: SWAP2 000014ca: MSTORE 000014cb: DUP4 000014cc: PUSH2 0x27b8 000014cf: JUMP 000014d0: JUMPDEST 000014d1: PUSH2 0x0a95 000014d4: PUSH0 000014d5: DUP1 000014d6: MLOAD 000014d7: PUSH1 0x20 000014d9: PUSH2 0x4673 000014dc: DUP4 000014dd: CODECOPY 000014de: DUP2 000014df: MLOAD 000014e0: SWAP2 000014e1: MSTORE 000014e2: DUP3 000014e3: PUSH2 0x23cb 000014e6: JUMP 000014e7: JUMPDEST 000014e8: DUP1 000014e9: CALLER 000014ea: PUSH2 0x14f1 000014ed: PUSH2 0x2f00 000014f0: JUMP 000014f1: JUMPDEST 000014f2: PUSH0 000014f3: DUP4 000014f4: DUP2 000014f5: MSTORE 000014f6: PUSH1 0x20 000014f8: SWAP2 000014f9: SWAP1 000014fa: SWAP2 000014fb: MSTORE 000014fc: PUSH1 0x40 000014fe: SWAP1 000014ff: KECCAK256 00001500: SLOAD 00001501: PUSH1 0x01 00001503: PUSH1 0x01 00001505: PUSH1 0xa0 00001507: SHL 00001508: SUB 00001509: AND 0000150a: EQ 0000150b: PUSH2 0x1547 0000150e: JUMPI 0000150f: PUSH1 0x40 00001511: MLOAD 00001512: PUSH3 0x461bcd 00001516: PUSH1 0xe5 00001518: SHL 00001519: DUP2 0000151a: MSTORE 0000151b: PUSH1 0x20 0000151d: PUSH1 0x04 0000151f: DUP3 00001520: ADD 00001521: MSTORE 00001522: PUSH1 0x0e 00001524: PUSH1 0x24 00001526: DUP3 00001527: ADD 00001528: MSTORE 00001529: PUSH14 0x27a7262cafa222a827a9a4aa27a9 00001538: PUSH1 0x91 0000153a: SHL 0000153b: PUSH1 0x44 0000153d: DUP3 0000153e: ADD 0000153f: MSTORE 00001540: PUSH1 0x64 00001542: ADD 00001543: PUSH2 0x0b55 00001546: JUMP 00001547: JUMPDEST 00001548: PUSH2 0x154f 0000154b: PUSH2 0x2738 0000154e: JUMP 0000154f: JUMPDEST 00001550: PUSH1 0x01 00001552: PUSH1 0x01 00001554: PUSH1 0xa0 00001556: SHL 00001557: SUB 00001558: AND 00001559: PUSH4 0x7a98660b 0000155e: PUSH2 0x1565 00001561: PUSH2 0x275a 00001564: JUMP 00001565: JUMPDEST 00001566: PUSH32 0x02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5 00001587: PUSH2 0x1590 0000158a: DUP9 0000158b: DUP9 0000158c: PUSH2 0x2f22 0000158f: JUMP 00001590: JUMPDEST 00001591: DUP7 00001592: PUSH1 0x40 00001594: MLOAD 00001595: DUP6 00001596: PUSH4 0xffffffff 0000159b: AND 0000159c: PUSH1 0xe0 0000159e: SHL 0000159f: DUP2 000015a0: MSTORE 000015a1: PUSH1 0x04 000015a3: ADD 000015a4: PUSH2 0x15b0 000015a7: SWAP5 000015a8: SWAP4 000015a9: SWAP3 000015aa: SWAP2 000015ab: SWAP1 000015ac: PUSH2 0x40e4 000015af: JUMP 000015b0: JUMPDEST 000015b1: PUSH1 0x20 000015b3: PUSH1 0x40 000015b5: MLOAD 000015b6: DUP1 000015b7: DUP4 000015b8: SUB 000015b9: DUP2 000015ba: PUSH0 000015bb: DUP8 000015bc: GAS 000015bd: CALL 000015be: ISZERO 000015bf: DUP1 000015c0: ISZERO 000015c1: PUSH2 0x15cc 000015c4: JUMPI 000015c5: RETURNDATASIZE 000015c6: PUSH0 000015c7: DUP1 000015c8: RETURNDATACOPY 000015c9: RETURNDATASIZE 000015ca: PUSH0 000015cb: REVERT 000015cc: JUMPDEST 000015cd: POP 000015ce: POP 000015cf: POP 000015d0: POP 000015d1: PUSH1 0x40 000015d3: MLOAD 000015d4: RETURNDATASIZE 000015d5: PUSH1 0x1f 000015d7: NOT 000015d8: PUSH1 0x1f 000015da: DUP3 000015db: ADD 000015dc: AND 000015dd: DUP3 000015de: ADD 000015df: DUP1 000015e0: PUSH1 0x40 000015e2: MSTORE 000015e3: POP 000015e4: DUP2 000015e5: ADD 000015e6: SWAP1 000015e7: PUSH2 0x15f0 000015ea: SWAP2 000015eb: SWAP1 000015ec: PUSH2 0x4113 000015ef: JUMP 000015f0: JUMPDEST 000015f1: POP 000015f2: PUSH1 0x40 000015f4: DUP1 000015f5: MLOAD 000015f6: DUP6 000015f7: DUP2 000015f8: MSTORE 000015f9: PUSH1 0x20 000015fb: DUP2 000015fc: ADD 000015fd: DUP5 000015fe: SWAP1 000015ff: MSTORE 00001600: DUP5 00001601: SWAP2 00001602: CALLER 00001603: SWAP2 00001604: PUSH32 0xea57f52faafe318751f75acb6756cff3f66afc10201ef8f2d504e788985db3f5 00001625: SWAP2 00001626: ADD 00001627: JUMPDEST 00001628: PUSH1 0x40 0000162a: MLOAD 0000162b: DUP1 0000162c: SWAP2 0000162d: SUB 0000162e: SWAP1 0000162f: LOG3 00001630: POP 00001631: POP 00001632: POP 00001633: POP 00001634: JUMP 00001635: JUMPDEST 00001636: PUSH0 00001637: PUSH2 0x1298 0000163a: PUSH0 0000163b: DUP1 0000163c: MLOAD 0000163d: PUSH1 0x20 0000163f: PUSH2 0x46fa 00001642: DUP4 00001643: CODECOPY 00001644: DUP2 00001645: MLOAD 00001646: SWAP2 00001647: MSTORE 00001648: DUP4 00001649: PUSH2 0x27b8 0000164c: JUMP 0000164d: JUMPDEST 0000164e: DUP1 0000164f: CALLER 00001650: PUSH2 0x1657 00001653: PUSH2 0x2f00 00001656: JUMP 00001657: JUMPDEST 00001658: PUSH0 00001659: DUP4 0000165a: DUP2 0000165b: MSTORE 0000165c: PUSH1 0x20 0000165e: SWAP2 0000165f: SWAP1 00001660: SWAP2 00001661: MSTORE 00001662: PUSH1 0x40 00001664: SWAP1 00001665: KECCAK256 00001666: SLOAD 00001667: PUSH1 0x01 00001669: PUSH1 0x01 0000166b: PUSH1 0xa0 0000166d: SHL 0000166e: SUB 0000166f: AND 00001670: EQ 00001671: PUSH2 0x16ad 00001674: JUMPI 00001675: PUSH1 0x40 00001677: MLOAD 00001678: PUSH3 0x461bcd 0000167c: PUSH1 0xe5 0000167e: SHL 0000167f: DUP2 00001680: MSTORE 00001681: PUSH1 0x20 00001683: PUSH1 0x04 00001685: DUP3 00001686: ADD 00001687: MSTORE 00001688: PUSH1 0x0e 0000168a: PUSH1 0x24 0000168c: DUP3 0000168d: ADD 0000168e: MSTORE 0000168f: PUSH14 0x27a7262cafa222a827a9a4aa27a9 0000169e: PUSH1 0x91 000016a0: SHL 000016a1: PUSH1 0x44 000016a3: DUP3 000016a4: ADD 000016a5: MSTORE 000016a6: PUSH1 0x64 000016a8: ADD 000016a9: PUSH2 0x0b55 000016ac: JUMP 000016ad: JUMPDEST 000016ae: PUSH2 0x16b5 000016b1: PUSH2 0x2738 000016b4: JUMP 000016b5: JUMPDEST 000016b6: PUSH1 0x01 000016b8: PUSH1 0x01 000016ba: PUSH1 0xa0 000016bc: SHL 000016bd: SUB 000016be: AND 000016bf: PUSH4 0x6170ff1b 000016c4: PUSH2 0x16cb 000016c7: PUSH2 0x275a 000016ca: JUMP 000016cb: JUMPDEST 000016cc: PUSH32 0x02d757788a8d8d6f21d1cd40bce38a8222d70654214e96ff95d8086e684fbee5 000016ed: PUSH2 0x16f6 000016f0: DUP9 000016f1: DUP9 000016f2: PUSH2 0x2f22 000016f5: JUMP 000016f6: JUMPDEST 000016f7: DUP7 000016f8: PUSH1 0x40 000016fa: MLOAD 000016fb: DUP6 000016fc: PUSH4 0xffffffff 00001701: AND 00001702: PUSH1 0xe0 00001704: SHL 00001705: DUP2 00001706: MSTORE 00001707: PUSH1 0x04 00001709: ADD 0000170a: PUSH2 0x1716 0000170d: SWAP5 0000170e: SWAP4 0000170f: SWAP3 00001710: SWAP2 00001711: SWAP1 00001712: PUSH2 0x40e4 00001715: JUMP 00001716: JUMPDEST 00001717: PUSH1 0x20 00001719: PUSH1 0x40 0000171b: MLOAD 0000171c: DUP1 0000171d: DUP4 0000171e: SUB 0000171f: DUP2 00001720: PUSH0 00001721: DUP8 00001722: GAS 00001723: CALL 00001724: ISZERO 00001725: DUP1 00001726: ISZERO 00001727: PUSH2 0x1732 0000172a: JUMPI 0000172b: RETURNDATASIZE 0000172c: PUSH0 0000172d: DUP1 0000172e: RETURNDATACOPY 0000172f: RETURNDATASIZE 00001730: PUSH0 00001731: REVERT 00001732: JUMPDEST 00001733: POP 00001734: POP 00001735: POP 00001736: POP 00001737: PUSH1 0x40 00001739: MLOAD 0000173a: RETURNDATASIZE 0000173b: PUSH1 0x1f 0000173d: NOT 0000173e: PUSH1 0x1f 00001740: DUP3 00001741: ADD 00001742: AND 00001743: DUP3 00001744: ADD 00001745: DUP1 00001746: PUSH1 0x40 00001748: MSTORE 00001749: POP 0000174a: DUP2 0000174b: ADD 0000174c: SWAP1 0000174d: PUSH2 0x1756 00001750: SWAP2 00001751: SWAP1 00001752: PUSH2 0x4113 00001755: JUMP 00001756: JUMPDEST 00001757: POP 00001758: PUSH2 0x1769 0000175b: PUSH2 0x1762 0000175e: PUSH2 0x23a9 00001761: JUMP 00001762: JUMPDEST 00001763: DUP6 00001764: CALLER 00001765: PUSH2 0x27a5 00001768: JUMP 00001769: JUMPDEST 0000176a: PUSH1 0x40 0000176c: DUP1 0000176d: MLOAD 0000176e: DUP6 0000176f: DUP2 00001770: MSTORE 00001771: PUSH1 0x20 00001773: DUP2 00001774: ADD 00001775: DUP5 00001776: SWAP1 00001777: MSTORE 00001778: DUP5 00001779: SWAP2 0000177a: CALLER 0000177b: SWAP2 0000177c: PUSH32 0xb0b548d5e12b6a60adac4d6dd7610f55134cea4fd145535edc303a48063e0cb4 0000179d: SWAP2 0000179e: ADD 0000179f: PUSH2 0x1627 000017a2: JUMP 000017a3: JUMPDEST 000017a4: PUSH2 0x17ac 000017a7: CALLER 000017a8: PUSH2 0x12e3 000017ab: JUMP 000017ac: JUMPDEST 000017ad: PUSH2 0x17ec 000017b0: JUMPI 000017b1: PUSH1 0x40 000017b3: MLOAD 000017b4: PUSH3 0x461bcd 000017b8: PUSH1 0xe5 000017ba: SHL 000017bb: DUP2 000017bc: MSTORE 000017bd: PUSH1 0x20 000017bf: PUSH1 0x04 000017c1: DUP3 000017c2: ADD 000017c3: MSTORE 000017c4: PUSH1 0x11 000017c6: PUSH1 0x24 000017c8: DUP3 000017c9: ADD 000017ca: MSTORE 000017cb: PUSH17 0x27a7262cafa0a8282fa3a7ab22a92727a9 000017dd: PUSH1 0x79 000017df: SHL 000017e0: PUSH1 0x44 000017e2: DUP3 000017e3: ADD 000017e4: MSTORE 000017e5: PUSH1 0x64 000017e7: ADD 000017e8: PUSH2 0x0b55 000017eb: JUMP 000017ec: JUMPDEST 000017ed: PUSH2 0x17f4 000017f0: PUSH2 0x29e4 000017f3: JUMP 000017f4: JUMPDEST 000017f5: PUSH2 0x1840 000017f8: JUMPI 000017f9: PUSH1 0x40 000017fb: MLOAD 000017fc: PUSH3 0x461bcd 00001800: PUSH1 0xe5 00001802: SHL 00001803: DUP2 00001804: MSTORE 00001805: PUSH1 0x20 00001807: PUSH1 0x04 00001809: DUP3 0000180a: ADD 0000180b: MSTORE 0000180c: PUSH1 0x18 0000180e: PUSH1 0x24 00001810: DUP3 00001811: ADD 00001812: MSTORE 00001813: PUSH32 0x434f4e54524143545f4e4f545f494e495449414c495a45440000000000000000 00001834: PUSH1 0x44 00001836: DUP3 00001837: ADD 00001838: MSTORE 00001839: PUSH1 0x64 0000183b: ADD 0000183c: PUSH2 0x0b55 0000183f: JUMP 00001840: JUMPDEST 00001841: PUSH2 0x1849 00001844: DUP2 00001845: PUSH2 0x2fc8 00001848: JUMP 00001849: JUMPDEST 0000184a: PUSH2 0x188f 0000184d: JUMPI 0000184e: PUSH1 0x40 00001850: MLOAD 00001851: PUSH3 0x461bcd 00001855: PUSH1 0xe5 00001857: SHL 00001858: DUP2 00001859: MSTORE 0000185a: PUSH1 0x20 0000185c: PUSH1 0x04 0000185e: DUP3 0000185f: ADD 00001860: MSTORE 00001861: PUSH1 0x17 00001863: PUSH1 0x24 00001865: DUP3 00001866: ADD 00001867: MSTORE 00001868: PUSH23 0x4c325f414444524553535f4f55545f4f465f52414e4745 00001880: PUSH1 0x48 00001882: SHL 00001883: PUSH1 0x44 00001885: DUP3 00001886: ADD 00001887: MSTORE 00001888: PUSH1 0x64 0000188a: ADD 0000188b: PUSH2 0x0b55 0000188e: JUMP 0000188f: JUMPDEST 00001890: PUSH2 0x1898 00001893: DUP2 00001894: PUSH2 0x2fea 00001897: JUMP 00001898: JUMPDEST 00001899: PUSH1 0x40 0000189b: MLOAD 0000189c: DUP2 0000189d: DUP2 0000189e: MSTORE 0000189f: PUSH32 0x90fc3f39f8e4669d1bf5f9038707949f8af42a973f62988143be0fa7c3997f18 000018c0: SWAP1 000018c1: PUSH1 0x20 000018c3: ADD 000018c4: PUSH2 0x10a3 000018c7: JUMP 000018c8: JUMPDEST 000018c9: DUP1 000018ca: CALLER 000018cb: PUSH1 0x01 000018cd: PUSH1 0x01 000018cf: PUSH1 0xa0 000018d1: SHL 000018d2: SUB 000018d3: DUP3 000018d4: AND 000018d5: SUB 000018d6: PUSH2 0x18f1 000018d9: JUMPI 000018da: PUSH1 0x40 000018dc: MLOAD 000018dd: PUSH3 0x461bcd 000018e1: PUSH1 0xe5 000018e3: SHL 000018e4: DUP2 000018e5: MSTORE 000018e6: PUSH1 0x04 000018e8: ADD 000018e9: PUSH2 0x0b55 000018ec: SWAP1 000018ed: PUSH2 0x412a 000018f0: JUMP 000018f1: JUMPDEST 000018f2: PUSH2 0x0a7a 000018f5: PUSH0 000018f6: DUP1 000018f7: MLOAD 000018f8: PUSH1 0x20 000018fa: PUSH2 0x460c 000018fd: DUP4 000018fe: CODECOPY 000018ff: DUP2 00001900: MLOAD 00001901: SWAP2 00001902: MSTORE 00001903: DUP4 00001904: PUSH2 0x27ee 00001907: JUMP 00001908: JUMPDEST 00001909: PUSH0 0000190a: PUSH2 0x1298 0000190d: PUSH0 0000190e: DUP1 0000190f: MLOAD 00001910: PUSH1 0x20 00001912: PUSH2 0x471a 00001915: DUP4 00001916: CODECOPY 00001917: DUP2 00001918: MLOAD 00001919: SWAP2 0000191a: MSTORE 0000191b: DUP4 0000191c: PUSH2 0x27b8 0000191f: JUMP 00001920: JUMPDEST 00001921: PUSH2 0x0a95 00001924: PUSH0 00001925: DUP1 00001926: MLOAD 00001927: PUSH1 0x20 00001929: PUSH2 0x45ec 0000192c: DUP4 0000192d: CODECOPY 0000192e: DUP2 0000192f: MLOAD 00001930: SWAP2 00001931: MSTORE 00001932: DUP3 00001933: PUSH2 0x23cb 00001936: JUMP 00001937: JUMPDEST 00001938: PUSH0 00001939: PUSH2 0x1298 0000193c: PUSH0 0000193d: DUP1 0000193e: MLOAD 0000193f: PUSH1 0x20 00001941: PUSH2 0x483d 00001944: DUP4 00001945: CODECOPY 00001946: DUP2 00001947: MLOAD 00001948: SWAP2 00001949: MSTORE 0000194a: DUP4 0000194b: PUSH2 0x27b8 0000194e: JUMP 0000194f: JUMPDEST 00001950: PUSH2 0x1957 00001953: PUSH2 0x2738 00001956: JUMP 00001957: JUMPDEST 00001958: PUSH1 0x01 0000195a: PUSH1 0x01 0000195c: PUSH1 0xa0 0000195e: SHL 0000195f: SUB 00001960: AND 00001961: PUSH4 0x7a98660b 00001966: PUSH2 0x196d 00001969: PUSH2 0x275a 0000196c: JUMP 0000196d: JUMPDEST 0000196e: PUSH0 0000196f: DUP1 00001970: MLOAD 00001971: PUSH1 0x20 00001973: PUSH2 0x47b4 00001976: DUP4 00001977: CODECOPY 00001978: DUP2 00001979: MLOAD 0000197a: SWAP2 0000197b: MSTORE 0000197c: PUSH2 0x1986 0000197f: DUP9 00001980: DUP9 00001981: DUP9 00001982: PUSH2 0x277c 00001985: JUMP 00001986: JUMPDEST 00001987: DUP6 00001988: PUSH1 0x40 0000198a: MLOAD 0000198b: DUP6 0000198c: PUSH4 0xffffffff 00001991: AND 00001992: PUSH1 0xe0 00001994: SHL 00001995: DUP2 00001996: MSTORE 00001997: PUSH1 0x04 00001999: ADD 0000199a: PUSH2 0x19a6 0000199d: SWAP5 0000199e: SWAP4 0000199f: SWAP3 000019a0: SWAP2 000019a1: SWAP1 000019a2: PUSH2 0x40e4 000019a5: JUMP 000019a6: JUMPDEST 000019a7: PUSH1 0x20 000019a9: PUSH1 0x40 000019ab: MLOAD 000019ac: DUP1 000019ad: DUP4 000019ae: SUB 000019af: DUP2 000019b0: PUSH0 000019b1: DUP8 000019b2: GAS 000019b3: CALL 000019b4: ISZERO 000019b5: DUP1 000019b6: ISZERO 000019b7: PUSH2 0x19c2 000019ba: JUMPI 000019bb: RETURNDATASIZE 000019bc: PUSH0 000019bd: DUP1 000019be: RETURNDATACOPY 000019bf: RETURNDATASIZE 000019c0: PUSH0 000019c1: REVERT 000019c2: JUMPDEST 000019c3: POP 000019c4: POP 000019c5: POP 000019c6: POP 000019c7: PUSH1 0x40 000019c9: MLOAD 000019ca: RETURNDATASIZE 000019cb: PUSH1 0x1f 000019cd: NOT 000019ce: PUSH1 0x1f 000019d0: DUP3 000019d1: ADD 000019d2: AND 000019d3: DUP3 000019d4: ADD 000019d5: DUP1 000019d6: PUSH1 0x40 000019d8: MSTORE 000019d9: POP 000019da: DUP2 000019db: ADD 000019dc: SWAP1 000019dd: PUSH2 0x19e6 000019e0: SWAP2 000019e1: SWAP1 000019e2: PUSH2 0x4113 000019e5: JUMP 000019e6: JUMPDEST 000019e7: POP 000019e8: PUSH1 0x40 000019ea: DUP1 000019eb: MLOAD 000019ec: DUP5 000019ed: DUP2 000019ee: MSTORE 000019ef: PUSH1 0x20 000019f1: DUP2 000019f2: ADD 000019f3: DUP4 000019f4: SWAP1 000019f5: MSTORE 000019f6: DUP4 000019f7: SWAP2 000019f8: PUSH1 0x01 000019fa: PUSH1 0x01 000019fc: PUSH1 0xa0 000019fe: SHL 000019ff: SUB 00001a00: DUP8 00001a01: AND 00001a02: SWAP2 00001a03: CALLER 00001a04: SWAP2 00001a05: PUSH32 0x8f3da3ce93acd45e015b069c8f032d37be93dc9efcaaeda368aa9ca74f64c30a 00001a26: SWAP2 00001a27: ADD 00001a28: PUSH2 0x0d78 00001a2b: JUMP 00001a2c: JUMPDEST 00001a2d: PUSH1 0x40 00001a2f: MLOAD 00001a30: PUSH3 0x461bcd 00001a34: PUSH1 0xe5 00001a36: SHL 00001a37: DUP2 00001a38: MSTORE 00001a39: PUSH1 0x20 00001a3b: PUSH1 0x04 00001a3d: DUP3 00001a3e: ADD 00001a3f: MSTORE 00001a40: PUSH1 0x0b 00001a42: PUSH1 0x24 00001a44: DUP3 00001a45: ADD 00001a46: MSTORE 00001a47: PUSH11 0x155394d5541413d4951151 00001a53: PUSH1 0xaa 00001a55: SHL 00001a56: PUSH1 0x44 00001a58: DUP3 00001a59: ADD 00001a5a: MSTORE 00001a5b: PUSH1 0x64 00001a5d: ADD 00001a5e: PUSH2 0x0b55 00001a61: JUMP 00001a62: JUMPDEST 00001a63: PUSH0 00001a64: PUSH2 0x0c8f 00001a67: PUSH2 0x300c 00001a6a: JUMP 00001a6b: JUMPDEST 00001a6c: PUSH2 0x1a73 00001a6f: PUSH2 0x2738 00001a72: JUMP 00001a73: JUMPDEST 00001a74: PUSH1 0x01 00001a76: PUSH1 0x01 00001a78: PUSH1 0xa0 00001a7a: SHL 00001a7b: SUB 00001a7c: AND 00001a7d: PUSH4 0x6170ff1b 00001a82: PUSH2 0x1a89 00001a85: PUSH2 0x275a 00001a88: JUMP 00001a89: JUMPDEST 00001a8a: PUSH0 00001a8b: DUP1 00001a8c: MLOAD 00001a8d: PUSH1 0x20 00001a8f: PUSH2 0x46da 00001a92: DUP4 00001a93: CODECOPY 00001a94: DUP2 00001a95: MLOAD 00001a96: SWAP2 00001a97: MSTORE 00001a98: PUSH2 0x1ad7 00001a9b: DUP11 00001a9c: DUP11 00001a9d: DUP11 00001a9e: PUSH1 0x01 00001aa0: DUP12 00001aa1: DUP12 00001aa2: DUP1 00001aa3: DUP1 00001aa4: PUSH1 0x20 00001aa6: MUL 00001aa7: PUSH1 0x20 00001aa9: ADD 00001aaa: PUSH1 0x40 00001aac: MLOAD 00001aad: SWAP1 00001aae: DUP2 00001aaf: ADD 00001ab0: PUSH1 0x40 00001ab2: MSTORE 00001ab3: DUP1 00001ab4: SWAP4 00001ab5: SWAP3 00001ab6: SWAP2 00001ab7: SWAP1 00001ab8: DUP2 00001ab9: DUP2 00001aba: MSTORE 00001abb: PUSH1 0x20 00001abd: ADD 00001abe: DUP4 00001abf: DUP4 00001ac0: PUSH1 0x20 00001ac2: MUL 00001ac3: DUP1 00001ac4: DUP3 00001ac5: DUP5 00001ac6: CALLDATACOPY 00001ac7: PUSH0 00001ac8: SWAP3 00001ac9: ADD 00001aca: SWAP2 00001acb: SWAP1 00001acc: SWAP2 00001acd: MSTORE 00001ace: POP 00001acf: PUSH2 0x301e 00001ad2: SWAP3 00001ad3: POP 00001ad4: POP 00001ad5: POP 00001ad6: JUMP 00001ad7: JUMPDEST 00001ad8: DUP6 00001ad9: PUSH1 0x40 00001adb: MLOAD 00001adc: DUP6 00001add: PUSH4 0xffffffff 00001ae2: AND 00001ae3: PUSH1 0xe0 00001ae5: SHL 00001ae6: DUP2 00001ae7: MSTORE 00001ae8: PUSH1 0x04 00001aea: ADD 00001aeb: PUSH2 0x1af7 00001aee: SWAP5 00001aef: SWAP4 00001af0: SWAP3 00001af1: SWAP2 00001af2: SWAP1 00001af3: PUSH2 0x40e4 00001af6: JUMP 00001af7: JUMPDEST 00001af8: PUSH1 0x20 00001afa: PUSH1 0x40 00001afc: MLOAD 00001afd: DUP1 00001afe: DUP4 00001aff: SUB 00001b00: DUP2 00001b01: PUSH0 00001b02: DUP8 00001b03: GAS 00001b04: CALL 00001b05: ISZERO 00001b06: DUP1 00001b07: ISZERO 00001b08: PUSH2 0x1b13 00001b0b: JUMPI 00001b0c: RETURNDATASIZE 00001b0d: PUSH0 00001b0e: DUP1 00001b0f: RETURNDATACOPY 00001b10: RETURNDATASIZE 00001b11: PUSH0 00001b12: REVERT 00001b13: JUMPDEST 00001b14: POP 00001b15: POP 00001b16: POP 00001b17: POP 00001b18: PUSH1 0x40 00001b1a: MLOAD 00001b1b: RETURNDATASIZE 00001b1c: PUSH1 0x1f 00001b1e: NOT 00001b1f: PUSH1 0x1f 00001b21: DUP3 00001b22: ADD 00001b23: AND 00001b24: DUP3 00001b25: ADD 00001b26: DUP1 00001b27: PUSH1 0x40 00001b29: MSTORE 00001b2a: POP 00001b2b: DUP2 00001b2c: ADD 00001b2d: SWAP1 00001b2e: PUSH2 0x1b37 00001b31: SWAP2 00001b32: SWAP1 00001b33: PUSH2 0x4113 00001b36: JUMP 00001b37: JUMPDEST 00001b38: POP 00001b39: PUSH2 0x1b43 00001b3c: DUP7 00001b3d: DUP7 00001b3e: CALLER 00001b3f: PUSH2 0x27a5 00001b42: JUMP 00001b43: JUMPDEST 00001b44: DUP4 00001b45: DUP7 00001b46: PUSH1 0x01 00001b48: PUSH1 0x01 00001b4a: PUSH1 0xa0 00001b4c: SHL 00001b4d: SUB 00001b4e: AND 00001b4f: CALLER 00001b50: PUSH1 0x01 00001b52: PUSH1 0x01 00001b54: PUSH1 0xa0 00001b56: SHL 00001b57: SUB 00001b58: AND 00001b59: PUSH32 0xa465a02eedf06ceffd1d99159ad98c5d8fa7f17b870eb22e0bfcec06398a8f73 00001b7a: DUP9 00001b7b: DUP8 00001b7c: DUP8 00001b7d: DUP8 00001b7e: PUSH1 0x40 00001b80: MLOAD 00001b81: PUSH2 0x1b8d 00001b84: SWAP5 00001b85: SWAP4 00001b86: SWAP3 00001b87: SWAP2 00001b88: SWAP1 00001b89: PUSH2 0x41bf 00001b8c: JUMP 00001b8d: JUMPDEST 00001b8e: PUSH1 0x40 00001b90: MLOAD 00001b91: DUP1 00001b92: SWAP2 00001b93: SUB 00001b94: SWAP1 00001b95: LOG4 00001b96: POP 00001b97: POP 00001b98: POP 00001b99: POP 00001b9a: POP 00001b9b: POP 00001b9c: JUMP 00001b9d: JUMPDEST 00001b9e: DUP5 00001b9f: PUSH2 0x1ba7 00001ba2: DUP2 00001ba3: PUSH2 0x0a98 00001ba6: JUMP 00001ba7: JUMPDEST 00001ba8: PUSH2 0x1be8 00001bab: JUMPI 00001bac: PUSH1 0x40 00001bae: MLOAD 00001baf: PUSH3 0x461bcd 00001bb3: PUSH1 0xe5 00001bb5: SHL 00001bb6: DUP2 00001bb7: MSTORE 00001bb8: PUSH1 0x20 00001bba: PUSH1 0x04 00001bbc: DUP3 00001bbd: ADD 00001bbe: MSTORE 00001bbf: PUSH1 0x12 00001bc1: PUSH1 0x24 00001bc3: DUP3 00001bc4: ADD 00001bc5: MSTORE 00001bc6: PUSH18 0x1513d2d15397d393d517d4d154959250d151 00001bd9: PUSH1 0x72 00001bdb: SHL 00001bdc: PUSH1 0x44 00001bde: DUP3 00001bdf: ADD 00001be0: MSTORE 00001be1: PUSH1 0x64 00001be3: ADD 00001be4: PUSH2 0x0b55 00001be7: JUMP 00001be8: JUMPDEST 00001be9: PUSH0 00001bea: PUSH2 0x1bf3 00001bed: DUP8 00001bee: DUP8 00001bef: PUSH2 0x23ec 00001bf2: JUMP 00001bf3: JUMPDEST 00001bf4: SWAP1 00001bf5: POP 00001bf6: PUSH0 00001bf7: PUSH2 0x1c45 00001bfa: DUP9 00001bfb: DUP9 00001bfc: DUP9 00001bfd: DUP9 00001bfe: DUP9 00001bff: DUP1 00001c00: DUP1 00001c01: PUSH1 0x20 00001c03: MUL 00001c04: PUSH1 0x20 00001c06: ADD 00001c07: PUSH1 0x40 00001c09: MLOAD 00001c0a: SWAP1 00001c0b: DUP2 00001c0c: ADD 00001c0d: PUSH1 0x40 00001c0f: MSTORE 00001c10: DUP1 00001c11: SWAP4 00001c12: SWAP3 00001c13: SWAP2 00001c14: SWAP1 00001c15: DUP2 00001c16: DUP2 00001c17: MSTORE 00001c18: PUSH1 0x20 00001c1a: ADD 00001c1b: DUP4 00001c1c: DUP4 00001c1d: PUSH1 0x20 00001c1f: MUL 00001c20: DUP1 00001c21: DUP3 00001c22: DUP5 00001c23: CALLDATACOPY 00001c24: PUSH0 00001c25: SWAP3 00001c26: ADD 00001c27: SWAP2 00001c28: SWAP1 00001c29: SWAP2 00001c2a: MSTORE 00001c2b: POP 00001c2c: PUSH0 00001c2d: DUP1 00001c2e: MLOAD 00001c2f: PUSH1 0x20 00001c31: PUSH2 0x46da 00001c34: DUP4 00001c35: CODECOPY 00001c36: DUP2 00001c37: MLOAD 00001c38: SWAP2 00001c39: MSTORE 00001c3a: SWAP3 00001c3b: POP 00001c3c: DUP10 00001c3d: SWAP2 00001c3e: POP 00001c3f: PUSH2 0x24a3 00001c42: SWAP1 00001c43: POP 00001c44: JUMP 00001c45: JUMPDEST 00001c46: SWAP1 00001c47: POP 00001c48: PUSH2 0x1c97 00001c4b: DUP9 00001c4c: DUP9 00001c4d: DUP9 00001c4e: DUP9 00001c4f: DUP9 00001c50: DUP1 00001c51: DUP1 00001c52: PUSH1 0x20 00001c54: MUL 00001c55: PUSH1 0x20 00001c57: ADD 00001c58: PUSH1 0x40 00001c5a: MLOAD 00001c5b: SWAP1 00001c5c: DUP2 00001c5d: ADD 00001c5e: PUSH1 0x40 00001c60: MSTORE 00001c61: DUP1 00001c62: SWAP4 00001c63: SWAP3 00001c64: SWAP2 00001c65: SWAP1 00001c66: DUP2 00001c67: DUP2 00001c68: MSTORE 00001c69: PUSH1 0x20 00001c6b: ADD 00001c6c: DUP4 00001c6d: DUP4 00001c6e: PUSH1 0x20 00001c70: MUL 00001c71: DUP1 00001c72: DUP3 00001c73: DUP5 00001c74: CALLDATACOPY 00001c75: PUSH0 00001c76: SWAP3 00001c77: ADD 00001c78: SWAP2 00001c79: SWAP1 00001c7a: SWAP2 00001c7b: MSTORE 00001c7c: POP 00001c7d: PUSH0 00001c7e: DUP1 00001c7f: MLOAD 00001c80: PUSH1 0x20 00001c82: PUSH2 0x46da 00001c85: DUP4 00001c86: CODECOPY 00001c87: DUP2 00001c88: MLOAD 00001c89: SWAP2 00001c8a: MSTORE 00001c8b: SWAP3 00001c8c: POP 00001c8d: DUP9 00001c8e: SWAP2 00001c8f: POP 00001c90: DUP10 00001c91: SWAP1 00001c92: POP 00001c93: PUSH2 0x2625 00001c96: JUMP 00001c97: JUMPDEST 00001c98: PUSH2 0x1ca0 00001c9b: DUP9 00001c9c: PUSH2 0x1f02 00001c9f: JUMP 00001ca0: JUMPDEST 00001ca1: POP 00001ca2: POP 00001ca3: POP 00001ca4: POP 00001ca5: POP 00001ca6: POP 00001ca7: POP 00001ca8: POP 00001ca9: JUMP 00001caa: JUMPDEST 00001cab: PUSH2 0x1cc1 00001cae: PUSH0 00001caf: DUP1 00001cb0: MLOAD 00001cb1: PUSH1 0x20 00001cb3: PUSH2 0x45ec 00001cb6: DUP4 00001cb7: CODECOPY 00001cb8: DUP2 00001cb9: MLOAD 00001cba: SWAP2 00001cbb: MSTORE 00001cbc: CALLER 00001cbd: PUSH2 0x27b8 00001cc0: JUMP 00001cc1: JUMPDEST 00001cc2: PUSH2 0x1d05 00001cc5: JUMPI 00001cc6: PUSH1 0x40 00001cc8: MLOAD 00001cc9: PUSH3 0x461bcd 00001ccd: PUSH1 0xe5 00001ccf: SHL 00001cd0: DUP2 00001cd1: MSTORE 00001cd2: PUSH1 0x20 00001cd4: PUSH1 0x04 00001cd6: DUP3 00001cd7: ADD 00001cd8: MSTORE 00001cd9: PUSH1 0x15 00001cdb: PUSH1 0x24 00001cdd: DUP3 00001cde: ADD 00001cdf: MSTORE 00001ce0: PUSH21 0x474f5645524e414e43455f41444d494e5f4f4e4c59 00001cf6: PUSH1 0x58 00001cf8: SHL 00001cf9: PUSH1 0x44 00001cfb: DUP3 00001cfc: ADD 00001cfd: MSTORE 00001cfe: PUSH1 0x64 00001d00: ADD 00001d01: PUSH2 0x0b55 00001d04: JUMP 00001d05: JUMPDEST 00001d06: PUSH1 0x01 00001d08: PUSH1 0x01 00001d0a: PUSH1 0xa0 00001d0c: SHL 00001d0d: SUB 00001d0e: DUP2 00001d0f: AND 00001d10: PUSH0 00001d11: DUP2 00001d12: DUP2 00001d13: MSTORE 00001d14: PUSH32 0x45f38e273862f8834bd2fe7a449988f63de55a7a5b685dea46ccedeb69cf0e26 00001d35: PUSH1 0x20 00001d37: DUP2 00001d38: DUP2 00001d39: MSTORE 00001d3a: PUSH1 0x40 00001d3c: SWAP3 00001d3d: DUP4 00001d3e: SWAP1 00001d3f: KECCAK256 00001d40: DUP1 00001d41: SLOAD 00001d42: PUSH1 0xff 00001d44: NOT 00001d45: AND 00001d46: SWAP1 00001d47: SSTORE 00001d48: PUSH32 0x45f38e273862f8834bd2fe7a449988f63de55a7a5b685dea46ccedeb69cf0e27 00001d69: DUP1 00001d6a: SLOAD 00001d6b: PUSH1 0x01 00001d6d: PUSH1 0x01 00001d6f: PUSH1 0xa0 00001d71: SHL 00001d72: SUB 00001d73: NOT 00001d74: AND 00001d75: SWAP1 00001d76: SSTORE 00001d77: SWAP2 00001d78: MLOAD 00001d79: SWAP3 00001d7a: DUP4 00001d7b: MSTORE 00001d7c: SWAP2 00001d7d: PUSH32 0xd75f94825e770b8b512be8e74759e252ad00e102e38f50cce2f7c6f868a29599 00001d9e: SWAP2 00001d9f: ADD 00001da0: PUSH2 0x0e7f 00001da3: JUMP 00001da4: JUMPDEST 00001da5: PUSH0 00001da6: PUSH2 0x1298 00001da9: PUSH0 00001daa: DUP1 00001dab: MLOAD 00001dac: PUSH1 0x20 00001dae: PUSH2 0x45ec 00001db1: DUP4 00001db2: CODECOPY 00001db3: DUP2 00001db4: MLOAD 00001db5: SWAP2 00001db6: MSTORE 00001db7: DUP4 00001db8: PUSH2 0x27b8 00001dbb: JUMP 00001dbc: JUMPDEST 00001dbd: PUSH2 0x0a95 00001dc0: PUSH0 00001dc1: DUP1 00001dc2: MLOAD 00001dc3: PUSH1 0x20 00001dc5: PUSH2 0x4653 00001dc8: DUP4 00001dc9: CODECOPY 00001dca: DUP2 00001dcb: MLOAD 00001dcc: SWAP2 00001dcd: MSTORE 00001dce: DUP3 00001dcf: PUSH2 0x23cb 00001dd2: JUMP 00001dd3: JUMPDEST 00001dd4: PUSH2 0x1ddb 00001dd7: PUSH2 0x2738 00001dda: JUMP 00001ddb: JUMPDEST 00001ddc: PUSH1 0x01 00001dde: PUSH1 0x01 00001de0: PUSH1 0xa0 00001de2: SHL 00001de3: SUB 00001de4: AND 00001de5: PUSH4 0x7a98660b 00001dea: PUSH2 0x1df1 00001ded: PUSH2 0x275a 00001df0: JUMP 00001df1: JUMPDEST 00001df2: PUSH0 00001df3: DUP1 00001df4: MLOAD 00001df5: PUSH1 0x20 00001df7: PUSH2 0x46da 00001dfa: DUP4 00001dfb: CODECOPY 00001dfc: DUP2 00001dfd: MLOAD 00001dfe: SWAP2 00001dff: MSTORE 00001e00: PUSH2 0x1e3f 00001e03: DUP11 00001e04: DUP11 00001e05: DUP11 00001e06: PUSH1 0x01 00001e08: DUP12 00001e09: DUP12 00001e0a: DUP1 00001e0b: DUP1 00001e0c: PUSH1 0x20 00001e0e: MUL 00001e0f: PUSH1 0x20 00001e11: ADD 00001e12: PUSH1 0x40 00001e14: MLOAD 00001e15: SWAP1 00001e16: DUP2 00001e17: ADD 00001e18: PUSH1 0x40 00001e1a: MSTORE 00001e1b: DUP1 00001e1c: SWAP4 00001e1d: SWAP3 00001e1e: SWAP2 00001e1f: SWAP1 00001e20: DUP2 00001e21: DUP2 00001e22: MSTORE 00001e23: PUSH1 0x20 00001e25: ADD 00001e26: DUP4 00001e27: DUP4 00001e28: PUSH1 0x20 00001e2a: MUL 00001e2b: DUP1 00001e2c: DUP3 00001e2d: DUP5 00001e2e: CALLDATACOPY 00001e2f: PUSH0 00001e30: SWAP3 00001e31: ADD 00001e32: SWAP2 00001e33: SWAP1 00001e34: SWAP2 00001e35: MSTORE 00001e36: POP 00001e37: PUSH2 0x301e 00001e3a: SWAP3 00001e3b: POP 00001e3c: POP 00001e3d: POP 00001e3e: JUMP 00001e3f: JUMPDEST 00001e40: DUP6 00001e41: PUSH1 0x40 00001e43: MLOAD 00001e44: DUP6 00001e45: PUSH4 0xffffffff 00001e4a: AND 00001e4b: PUSH1 0xe0 00001e4d: SHL 00001e4e: DUP2 00001e4f: MSTORE 00001e50: PUSH1 0x04 00001e52: ADD 00001e53: PUSH2 0x1e5f 00001e56: SWAP5 00001e57: SWAP4 00001e58: SWAP3 00001e59: SWAP2 00001e5a: SWAP1 00001e5b: PUSH2 0x40e4 00001e5e: JUMP 00001e5f: JUMPDEST 00001e60: PUSH1 0x20 00001e62: PUSH1 0x40 00001e64: MLOAD 00001e65: DUP1 00001e66: DUP4 00001e67: SUB 00001e68: DUP2 00001e69: PUSH0 00001e6a: DUP8 00001e6b: GAS 00001e6c: CALL 00001e6d: ISZERO 00001e6e: DUP1 00001e6f: ISZERO 00001e70: PUSH2 0x1e7b 00001e73: JUMPI 00001e74: RETURNDATASIZE 00001e75: PUSH0 00001e76: DUP1 00001e77: RETURNDATACOPY 00001e78: RETURNDATASIZE 00001e79: PUSH0 00001e7a: REVERT 00001e7b: JUMPDEST 00001e7c: POP 00001e7d: POP 00001e7e: POP 00001e7f: POP 00001e80: PUSH1 0x40 00001e82: MLOAD 00001e83: RETURNDATASIZE 00001e84: PUSH1 0x1f 00001e86: NOT 00001e87: PUSH1 0x1f 00001e89: DUP3 00001e8a: ADD 00001e8b: AND 00001e8c: DUP3 00001e8d: ADD 00001e8e: DUP1 00001e8f: PUSH1 0x40 00001e91: MSTORE 00001e92: POP 00001e93: DUP2 00001e94: ADD 00001e95: SWAP1 00001e96: PUSH2 0x1e9f 00001e99: SWAP2 00001e9a: SWAP1 00001e9b: PUSH2 0x4113 00001e9e: JUMP 00001e9f: JUMPDEST 00001ea0: POP 00001ea1: DUP4 00001ea2: DUP7 00001ea3: PUSH1 0x01 00001ea5: PUSH1 0x01 00001ea7: PUSH1 0xa0 00001ea9: SHL 00001eaa: SUB 00001eab: AND 00001eac: CALLER 00001ead: PUSH1 0x01 00001eaf: PUSH1 0x01 00001eb1: PUSH1 0xa0 00001eb3: SHL 00001eb4: SUB 00001eb5: AND 00001eb6: PUSH32 0x889e470f207032611b2f68dbd2124e3139794f19a6b536c83892fd5057603860 00001ed7: DUP9 00001ed8: DUP8 00001ed9: DUP8 00001eda: DUP8 00001edb: PUSH1 0x40 00001edd: MLOAD 00001ede: PUSH2 0x1b8d 00001ee1: SWAP5 00001ee2: SWAP4 00001ee3: SWAP3 00001ee4: SWAP2 00001ee5: SWAP1 00001ee6: PUSH2 0x41bf 00001ee9: JUMP 00001eea: JUMPDEST 00001eeb: PUSH0 00001eec: PUSH2 0x1298 00001eef: PUSH0 00001ef0: DUP1 00001ef1: MLOAD 00001ef2: PUSH1 0x20 00001ef4: PUSH2 0x460c 00001ef7: DUP4 00001ef8: CODECOPY 00001ef9: DUP2 00001efa: MLOAD 00001efb: SWAP2 00001efc: MSTORE 00001efd: DUP4 00001efe: PUSH2 0x27b8 00001f01: JUMP 00001f02: JUMPDEST 00001f03: PUSH1 0x01 00001f05: PUSH1 0x01 00001f07: PUSH1 0xa0 00001f09: SHL 00001f0a: SUB 00001f0b: DUP2 00001f0c: AND 00001f0d: PUSH0 00001f0e: SWAP1 00001f0f: DUP2 00001f10: MSTORE 00001f11: PUSH0 00001f12: DUP1 00001f13: MLOAD 00001f14: PUSH1 0x20 00001f16: PUSH2 0x47d4 00001f19: DUP4 00001f1a: CODECOPY 00001f1b: DUP2 00001f1c: MLOAD 00001f1d: SWAP2 00001f1e: MSTORE 00001f1f: PUSH1 0x20 00001f21: MSTORE 00001f22: PUSH1 0x40 00001f24: SWAP1 00001f25: KECCAK256 00001f26: SLOAD 00001f27: DUP2 00001f28: SWAP1 00001f29: PUSH1 0x01 00001f2b: SWAP1 00001f2c: PUSH1 0xff 00001f2e: AND 00001f2f: PUSH1 0x03 00001f31: DUP2 00001f32: GT 00001f33: ISZERO 00001f34: PUSH2 0x1f3f 00001f37: JUMPI 00001f38: PUSH2 0x1f3f 00001f3b: PUSH2 0x3dd1 00001f3e: JUMP 00001f3f: JUMPDEST 00001f40: EQ 00001f41: PUSH2 0x1f48 00001f44: JUMPI 00001f45: POP 00001f46: POP 00001f47: JUMP 00001f48: JUMPDEST 00001f49: PUSH1 0x01 00001f4b: PUSH1 0x01 00001f4d: PUSH1 0xa0 00001f4f: SHL 00001f50: SUB 00001f51: DUP3 00001f52: AND 00001f53: PUSH0 00001f54: SWAP1 00001f55: DUP2 00001f56: MSTORE 00001f57: PUSH0 00001f58: DUP1 00001f59: MLOAD 00001f5a: PUSH1 0x20 00001f5c: PUSH2 0x47d4 00001f5f: DUP4 00001f60: CODECOPY 00001f61: DUP2 00001f62: MLOAD 00001f63: SWAP2 00001f64: MSTORE 00001f65: PUSH1 0x20 00001f67: MSTORE 00001f68: PUSH1 0x40 00001f6a: SWAP1 00001f6b: KECCAK256 00001f6c: PUSH1 0x01 00001f6e: DUP2 00001f6f: ADD 00001f70: SLOAD 00001f71: PUSH2 0x1f78 00001f74: PUSH2 0x2738 00001f77: JUMP 00001f78: JUMPDEST 00001f79: PUSH1 0x01 00001f7b: PUSH1 0x01 00001f7d: PUSH1 0xa0 00001f7f: SHL 00001f80: SUB 00001f81: AND 00001f82: PUSH4 0x77c7d7a9 00001f87: DUP3 00001f88: PUSH1 0x40 00001f8a: MLOAD 00001f8b: DUP3 00001f8c: PUSH4 0xffffffff 00001f91: AND 00001f92: PUSH1 0xe0 00001f94: SHL 00001f95: DUP2 00001f96: MSTORE 00001f97: PUSH1 0x04 00001f99: ADD 00001f9a: PUSH2 0x1fa5 00001f9d: SWAP2 00001f9e: DUP2 00001f9f: MSTORE 00001fa0: PUSH1 0x20 00001fa2: ADD 00001fa3: SWAP1 00001fa4: JUMP 00001fa5: JUMPDEST 00001fa6: PUSH1 0x20 00001fa8: PUSH1 0x40 00001faa: MLOAD 00001fab: DUP1 00001fac: DUP4 00001fad: SUB 00001fae: DUP2 00001faf: DUP7 00001fb0: GAS 00001fb1: STATICCALL 00001fb2: ISZERO 00001fb3: DUP1 00001fb4: ISZERO 00001fb5: PUSH2 0x1fc0 00001fb8: JUMPI 00001fb9: RETURNDATASIZE 00001fba: PUSH0 00001fbb: DUP1 00001fbc: RETURNDATACOPY 00001fbd: RETURNDATASIZE 00001fbe: PUSH0 00001fbf: REVERT 00001fc0: JUMPDEST 00001fc1: POP 00001fc2: POP 00001fc3: POP 00001fc4: POP 00001fc5: PUSH1 0x40 00001fc7: MLOAD 00001fc8: RETURNDATASIZE 00001fc9: PUSH1 0x1f 00001fcb: NOT 00001fcc: PUSH1 0x1f 00001fce: DUP3 00001fcf: ADD 00001fd0: AND 00001fd1: DUP3 00001fd2: ADD 00001fd3: DUP1 00001fd4: PUSH1 0x40 00001fd6: MSTORE 00001fd7: POP 00001fd8: DUP2 00001fd9: ADD 00001fda: SWAP1 00001fdb: PUSH2 0x1fe4 00001fde: SWAP2 00001fdf: SWAP1 00001fe0: PUSH2 0x4113 00001fe3: JUMP 00001fe4: JUMPDEST 00001fe5: PUSH0 00001fe6: SUB 00001fe7: PUSH2 0x1ffa 00001fea: JUMPI 00001feb: DUP2 00001fec: SLOAD 00001fed: PUSH1 0xff 00001fef: NOT 00001ff0: AND 00001ff1: PUSH1 0x02 00001ff3: OR 00001ff4: DUP3 00001ff5: SSTORE 00001ff6: PUSH2 0x2111 00001ff9: JUMP 00001ffa: JUMPDEST 00001ffb: DUP2 00001ffc: PUSH1 0x02 00001ffe: ADD 00001fff: SLOAD 00002000: TIMESTAMP 00002001: GT 00002002: ISZERO 00002003: PUSH2 0x2111 00002006: JUMPI 00002007: PUSH1 0x01 00002009: PUSH1 0x01 0000200b: PUSH1 0xa0 0000200d: SHL 0000200e: SUB 0000200f: DUP5 00002010: AND 00002011: PUSH0 00002012: SWAP1 00002013: DUP2 00002014: MSTORE 00002015: PUSH0 00002016: DUP1 00002017: MLOAD 00002018: PUSH1 0x20 0000201a: PUSH2 0x47d4 0000201d: DUP4 0000201e: CODECOPY 0000201f: DUP2 00002020: MLOAD 00002021: SWAP2 00002022: MSTORE 00002023: PUSH1 0x20 00002025: MSTORE 00002026: PUSH1 0x40 00002028: DUP2 00002029: KECCAK256 0000202a: DUP1 0000202b: SLOAD 0000202c: PUSH1 0xff 0000202e: NOT 0000202f: SWAP1 00002030: DUP2 00002031: AND 00002032: DUP3 00002033: SSTORE 00002034: PUSH1 0x01 00002036: DUP3 00002037: ADD 00002038: DUP4 00002039: SWAP1 0000203a: SSTORE 0000203b: PUSH1 0x02 0000203d: DUP3 0000203e: ADD 0000203f: DUP4 00002040: SWAP1 00002041: SSTORE 00002042: PUSH1 0x03 00002044: DUP3 00002045: ADD 00002046: DUP4 00002047: SWAP1 00002048: SSTORE 00002049: PUSH1 0x04 0000204b: SWAP1 0000204c: SWAP2 0000204d: ADD 0000204e: DUP1 0000204f: SLOAD 00002050: SWAP1 00002051: SWAP2 00002052: AND 00002053: SWAP1 00002054: SSTORE 00002055: PUSH2 0x205c 00002058: PUSH2 0x2884 0000205b: JUMP 0000205c: JUMPDEST 0000205d: PUSH1 0x01 0000205f: PUSH1 0x01 00002061: PUSH1 0xa0 00002063: SHL 00002064: SUB 00002065: AND 00002066: PUSH4 0x5ab1bd53 0000206b: PUSH1 0x40 0000206d: MLOAD 0000206e: DUP2 0000206f: PUSH4 0xffffffff 00002074: AND 00002075: PUSH1 0xe0 00002077: SHL 00002078: DUP2 00002079: MSTORE 0000207a: PUSH1 0x04 0000207c: ADD 0000207d: PUSH1 0x20 0000207f: PUSH1 0x40 00002081: MLOAD 00002082: DUP1 00002083: DUP4 00002084: SUB 00002085: DUP2 00002086: DUP7 00002087: GAS 00002088: STATICCALL 00002089: ISZERO 0000208a: DUP1 0000208b: ISZERO 0000208c: PUSH2 0x2097 0000208f: JUMPI 00002090: RETURNDATASIZE 00002091: PUSH0 00002092: DUP1 00002093: RETURNDATACOPY 00002094: RETURNDATASIZE 00002095: PUSH0 00002096: REVERT 00002097: JUMPDEST 00002098: POP 00002099: POP 0000209a: POP 0000209b: POP 0000209c: PUSH1 0x40 0000209e: MLOAD 0000209f: RETURNDATASIZE 000020a0: PUSH1 0x1f 000020a2: NOT 000020a3: PUSH1 0x1f 000020a5: DUP3 000020a6: ADD 000020a7: AND 000020a8: DUP3 000020a9: ADD 000020aa: DUP1 000020ab: PUSH1 0x40 000020ad: MSTORE 000020ae: POP 000020af: DUP2 000020b0: ADD 000020b1: SWAP1 000020b2: PUSH2 0x20bb 000020b5: SWAP2 000020b6: SWAP1 000020b7: PUSH2 0x4203 000020ba: JUMP 000020bb: JUMPDEST 000020bc: PUSH1 0x40 000020be: MLOAD 000020bf: PUSH4 0x0caca051 000020c4: PUSH1 0xe3 000020c6: SHL 000020c7: DUP2 000020c8: MSTORE 000020c9: PUSH1 0x01 000020cb: PUSH1 0x01 000020cd: PUSH1 0xa0 000020cf: SHL 000020d0: SUB 000020d1: DUP8 000020d2: DUP2 000020d3: AND 000020d4: PUSH1 0x04 000020d6: DUP4 000020d7: ADD 000020d8: MSTORE 000020d9: SWAP2 000020da: SWAP3 000020db: POP 000020dc: SWAP1 000020dd: DUP3 000020de: AND 000020df: SWAP1 000020e0: PUSH4 0x65650288 000020e5: SWAP1 000020e6: PUSH1 0x24 000020e8: ADD 000020e9: PUSH0 000020ea: PUSH1 0x40 000020ec: MLOAD 000020ed: DUP1 000020ee: DUP4 000020ef: SUB 000020f0: DUP2 000020f1: PUSH0 000020f2: DUP8 000020f3: DUP1 000020f4: EXTCODESIZE 000020f5: ISZERO 000020f6: DUP1 000020f7: ISZERO 000020f8: PUSH2 0x20ff 000020fb: JUMPI 000020fc: PUSH0 000020fd: DUP1 000020fe: REVERT 000020ff: JUMPDEST 00002100: POP 00002101: GAS 00002102: CALL 00002103: ISZERO 00002104: DUP1 00002105: ISZERO 00002106: PUSH2 0x11dc 00002109: JUMPI 0000210a: RETURNDATASIZE 0000210b: PUSH0 0000210c: DUP1 0000210d: RETURNDATACOPY 0000210e: RETURNDATASIZE 0000210f: PUSH0 00002110: REVERT 00002111: JUMPDEST 00002112: POP 00002113: POP 00002114: POP 00002115: POP 00002116: JUMP 00002117: JUMPDEST 00002118: PUSH2 0x2120 0000211b: CALLER 0000211c: PUSH2 0x12e3 0000211f: JUMP 00002120: JUMPDEST 00002121: PUSH2 0x2160 00002124: JUMPI 00002125: PUSH1 0x40 00002127: MLOAD 00002128: PUSH3 0x461bcd 0000212c: PUSH1 0xe5 0000212e: SHL 0000212f: DUP2 00002130: MSTORE 00002131: PUSH1 0x20 00002133: PUSH1 0x04 00002135: DUP3 00002136: ADD 00002137: MSTORE 00002138: PUSH1 0x11 0000213a: PUSH1 0x24 0000213c: DUP3 0000213d: ADD 0000213e: MSTORE 0000213f: PUSH17 0x27a7262cafa0a8282fa3a7ab22a92727a9 00002151: PUSH1 0x79 00002153: SHL 00002154: PUSH1 0x44 00002156: DUP3 00002157: ADD 00002158: MSTORE 00002159: PUSH1 0x64 0000215b: ADD 0000215c: PUSH2 0x0b55 0000215f: JUMP 00002160: JUMPDEST 00002161: DUP1 00002162: PUSH0 00002163: SUB 00002164: PUSH2 0x21af 00002167: JUMPI 00002168: PUSH1 0x40 0000216a: MLOAD 0000216b: PUSH3 0x461bcd 0000216f: PUSH1 0xe5 00002171: SHL 00002172: DUP2 00002173: MSTORE 00002174: PUSH1 0x20 00002176: PUSH1 0x04 00002178: DUP3 00002179: ADD 0000217a: MSTORE 0000217b: PUSH1 0x19 0000217d: PUSH1 0x24 0000217f: DUP3 00002180: ADD 00002181: MSTORE 00002182: PUSH32 0x494e56414c49445f4d41585f544f54414c5f42414c414e434500000000000000 000021a3: PUSH1 0x44 000021a5: DUP3 000021a6: ADD 000021a7: MSTORE 000021a8: PUSH1 0x64 000021aa: ADD 000021ab: PUSH2 0x0b55 000021ae: JUMP 000021af: JUMPDEST 000021b0: DUP2 000021b1: PUSH1 0x01 000021b3: PUSH1 0x01 000021b5: PUSH1 0xa0 000021b7: SHL 000021b8: SUB 000021b9: AND 000021ba: PUSH32 0xb895637c7d86c9b7b5b747e72195206a3fc21d8df0e019edd2312454ffa733b1 000021db: DUP3 000021dc: PUSH1 0x40 000021de: MLOAD 000021df: PUSH2 0x21ea 000021e2: SWAP2 000021e3: DUP2 000021e4: MSTORE 000021e5: PUSH1 0x20 000021e7: ADD 000021e8: SWAP1 000021e9: JUMP 000021ea: JUMPDEST 000021eb: PUSH1 0x40 000021ed: MLOAD 000021ee: DUP1 000021ef: SWAP2 000021f0: SUB 000021f1: SWAP1 000021f2: LOG2 000021f3: PUSH1 0x01 000021f5: PUSH1 0x01 000021f7: PUSH1 0xa0 000021f9: SHL 000021fa: SUB 000021fb: SWAP2 000021fc: SWAP1 000021fd: SWAP2 000021fe: AND 000021ff: PUSH0 00002200: SWAP1 00002201: DUP2 00002202: MSTORE 00002203: PUSH0 00002204: DUP1 00002205: MLOAD 00002206: PUSH1 0x20 00002208: PUSH2 0x47d4 0000220b: DUP4 0000220c: CODECOPY 0000220d: DUP2 0000220e: MLOAD 0000220f: SWAP2 00002210: MSTORE 00002211: PUSH1 0x20 00002213: MSTORE 00002214: PUSH1 0x40 00002216: SWAP1 00002217: KECCAK256 00002218: PUSH1 0x03 0000221a: ADD 0000221b: SSTORE 0000221c: JUMP 0000221d: JUMPDEST 0000221e: PUSH2 0x0a95 00002221: PUSH0 00002222: DUP1 00002223: MLOAD 00002224: PUSH1 0x20 00002226: PUSH2 0x46fa 00002229: DUP4 0000222a: CODECOPY 0000222b: DUP2 0000222c: MLOAD 0000222d: SWAP2 0000222e: MSTORE 0000222f: DUP3 00002230: PUSH2 0x27ee 00002233: JUMP 00002234: JUMPDEST 00002235: PUSH2 0x0a95 00002238: PUSH0 00002239: DUP1 0000223a: MLOAD 0000223b: PUSH1 0x20 0000223d: PUSH2 0x4653 00002240: DUP4 00002241: CODECOPY 00002242: DUP2 00002243: MLOAD 00002244: SWAP2 00002245: MSTORE 00002246: DUP3 00002247: PUSH2 0x27ee 0000224a: JUMP 0000224b: JUMPDEST 0000224c: PUSH1 0x40 0000224e: DUP1 0000224f: MLOAD 00002250: PUSH0 00002251: DUP1 00002252: DUP3 00002253: MSTORE 00002254: PUSH1 0x20 00002256: DUP3 00002257: ADD 00002258: SWAP1 00002259: SWAP3 0000225a: MSTORE 0000225b: SWAP1 0000225c: PUSH2 0x2263 0000225f: PUSH2 0x23a9 00002262: JUMP 00002263: JUMPDEST 00002264: SWAP1 00002265: POP 00002266: PUSH0 00002267: PUSH2 0x2270 0000226a: DUP3 0000226b: DUP7 0000226c: PUSH2 0x23ec 0000226f: JUMP 00002270: JUMPDEST 00002271: SWAP1 00002272: POP 00002273: PUSH0 00002274: PUSH2 0x228e 00002277: DUP4 00002278: DUP8 00002279: DUP8 0000227a: DUP8 0000227b: PUSH0 0000227c: DUP1 0000227d: MLOAD 0000227e: PUSH1 0x20 00002280: PUSH2 0x47b4 00002283: DUP4 00002284: CODECOPY 00002285: DUP2 00002286: MLOAD 00002287: SWAP2 00002288: MSTORE 00002289: DUP8 0000228a: PUSH2 0x24a3 0000228d: JUMP 0000228e: JUMPDEST 0000228f: SWAP1 00002290: POP 00002291: PUSH2 0x22ac 00002294: DUP4 00002295: DUP8 00002296: DUP8 00002297: DUP8 00002298: PUSH0 00002299: DUP1 0000229a: MLOAD 0000229b: PUSH1 0x20 0000229d: PUSH2 0x47b4 000022a0: DUP4 000022a1: CODECOPY 000022a2: DUP2 000022a3: MLOAD 000022a4: SWAP2 000022a5: MSTORE 000022a6: DUP7 000022a7: DUP9 000022a8: PUSH2 0x2625 000022ab: JUMP 000022ac: JUMPDEST 000022ad: PUSH1 0x40 000022af: DUP1 000022b0: MLOAD 000022b1: DUP8 000022b2: DUP2 000022b3: MSTORE 000022b4: PUSH1 0x20 000022b6: DUP2 000022b7: ADD 000022b8: DUP4 000022b9: SWAP1 000022ba: MSTORE 000022bb: SWAP1 000022bc: DUP2 000022bd: ADD 000022be: DUP4 000022bf: SWAP1 000022c0: MSTORE 000022c1: DUP6 000022c2: SWAP1 000022c3: CALLER 000022c4: SWAP1 000022c5: PUSH32 0x5b5dbc6c64043a15d3fe6943a6e443a826b78755edc257b2ec890c022225dbcf 000022e6: SWAP1 000022e7: PUSH1 0x60 000022e9: ADD 000022ea: PUSH1 0x40 000022ec: MLOAD 000022ed: DUP1 000022ee: SWAP2 000022ef: SUB 000022f0: SWAP1 000022f1: LOG3 000022f2: POP 000022f3: POP 000022f4: POP 000022f5: POP 000022f6: POP 000022f7: POP 000022f8: JUMP 000022f9: JUMPDEST 000022fa: PUSH2 0x0a95 000022fd: PUSH0 000022fe: DUP1 000022ff: MLOAD 00002300: PUSH1 0x20 00002302: PUSH2 0x4673 00002305: DUP4 00002306: CODECOPY 00002307: DUP2 00002308: MLOAD 00002309: SWAP2 0000230a: MSTORE 0000230b: DUP3 0000230c: PUSH2 0x27ee 0000230f: JUMP 00002310: JUMPDEST 00002311: DUP1 00002312: CALLER 00002313: PUSH1 0x01 00002315: PUSH1 0x01 00002317: PUSH1 0xa0 00002319: SHL 0000231a: SUB 0000231b: DUP3 0000231c: AND 0000231d: SUB 0000231e: PUSH2 0x2339 00002321: JUMPI 00002322: PUSH1 0x40 00002324: MLOAD 00002325: PUSH3 0x461bcd 00002329: PUSH1 0xe5 0000232b: SHL 0000232c: DUP2 0000232d: MSTORE 0000232e: PUSH1 0x04 00002330: ADD 00002331: PUSH2 0x0b55 00002334: SWAP1 00002335: PUSH2 0x412a 00002338: JUMP 00002339: JUMPDEST 0000233a: PUSH2 0x0a7a 0000233d: PUSH0 0000233e: DUP1 0000233f: MLOAD 00002340: PUSH1 0x20 00002342: PUSH2 0x45ec 00002345: DUP4 00002346: CODECOPY 00002347: DUP2 00002348: MLOAD 00002349: SWAP2 0000234a: MSTORE 0000234b: DUP4 0000234c: PUSH2 0x27ee 0000234f: JUMP 00002350: JUMPDEST 00002351: PUSH1 0x60 00002353: PUSH1 0x40 00002355: MLOAD 00002356: DUP1 00002357: PUSH1 0x60 00002359: ADD 0000235a: PUSH1 0x40 0000235c: MSTORE 0000235d: DUP1 0000235e: PUSH1 0x21 00002360: DUP2 00002361: MSTORE 00002362: PUSH1 0x20 00002364: ADD 00002365: PUSH2 0x485d 00002368: PUSH1 0x21 0000236a: SWAP2 0000236b: CODECOPY 0000236c: SWAP1 0000236d: POP 0000236e: SWAP1 0000236f: JUMP 00002370: JUMPDEST 00002371: PUSH2 0x0a7a 00002374: DUP3 00002375: DUP3 00002376: CALLER 00002377: PUSH2 0x13b5 0000237a: JUMP 0000237b: JUMPDEST 0000237c: PUSH2 0x0a95 0000237f: PUSH0 00002380: DUP1 00002381: MLOAD 00002382: PUSH1 0x20 00002384: PUSH2 0x483d 00002387: DUP4 00002388: CODECOPY 00002389: DUP2 0000238a: MLOAD 0000238b: SWAP2 0000238c: MSTORE 0000238d: DUP3 0000238e: PUSH2 0x27ee 00002391: JUMP 00002392: JUMPDEST 00002393: PUSH2 0x0a95 00002396: PUSH0 00002397: DUP1 00002398: MLOAD 00002399: PUSH1 0x20 0000239b: PUSH2 0x47f4 0000239e: DUP4 0000239f: CODECOPY 000023a0: DUP2 000023a1: MLOAD 000023a2: SWAP2 000023a3: MSTORE 000023a4: DUP3 000023a5: PUSH2 0x27ee 000023a8: JUMP 000023a9: JUMPDEST 000023aa: PUSH0 000023ab: PUSH2 0x0c8f 000023ae: PUSH1 0x40 000023b0: MLOAD 000023b1: DUP1 000023b2: PUSH1 0x60 000023b4: ADD 000023b5: PUSH1 0x40 000023b7: MSTORE 000023b8: DUP1 000023b9: PUSH1 0x29 000023bb: DUP2 000023bc: MSTORE 000023bd: PUSH1 0x20 000023bf: ADD 000023c0: PUSH2 0x4814 000023c3: PUSH1 0x29 000023c5: SWAP2 000023c6: CODECOPY 000023c7: PUSH2 0x3269 000023ca: JUMP 000023cb: JUMPDEST 000023cc: PUSH2 0x23d4 000023cf: DUP3 000023d0: PUSH2 0x329c 000023d3: JUMP 000023d4: JUMPDEST 000023d5: PUSH2 0x23dd 000023d8: DUP2 000023d9: PUSH2 0x32bc 000023dc: JUMP 000023dd: JUMPDEST 000023de: PUSH2 0x23e7 000023e1: DUP4 000023e2: DUP4 000023e3: PUSH2 0x32c6 000023e6: JUMP 000023e7: JUMPDEST 000023e8: POP 000023e9: POP 000023ea: POP 000023eb: JUMP 000023ec: JUMPDEST 000023ed: PUSH0 000023ee: DUP2 000023ef: CALLVALUE 000023f0: LT 000023f1: ISZERO 000023f2: PUSH2 0x2432 000023f5: JUMPI 000023f6: PUSH1 0x40 000023f8: MLOAD 000023f9: PUSH3 0x461bcd 000023fd: PUSH1 0xe5 000023ff: SHL 00002400: DUP2 00002401: MSTORE 00002402: PUSH1 0x20 00002404: PUSH1 0x04 00002406: DUP3 00002407: ADD 00002408: MSTORE 00002409: PUSH1 0x12 0000240b: PUSH1 0x24 0000240d: DUP3 0000240e: ADD 0000240f: MSTORE 00002410: PUSH18 0x494e53554646494349454e545f56414c5545 00002423: PUSH1 0x70 00002425: SHL 00002426: PUSH1 0x44 00002428: DUP3 00002429: ADD 0000242a: MSTORE 0000242b: PUSH1 0x64 0000242d: ADD 0000242e: PUSH2 0x0b55 00002431: JUMP 00002432: JUMPDEST 00002433: PUSH0 00002434: PUSH2 0x243d 00002437: DUP4 00002438: CALLVALUE 00002439: PUSH2 0x421e 0000243c: JUMP 0000243d: JUMPDEST 0000243e: SWAP1 0000243f: POP 00002440: PUSH2 0x2448 00002443: DUP2 00002444: PUSH2 0x333a 00002447: JUMP 00002448: JUMPDEST 00002449: PUSH2 0x2454 0000244c: PUSH3 0x455448 00002450: PUSH2 0x129e 00002453: JUMP 00002454: JUMPDEST 00002455: PUSH2 0x245e 00002458: DUP3 00002459: SELFBALANCE 0000245a: PUSH2 0x421e 0000245d: JUMP 0000245e: JUMPDEST 0000245f: GT 00002460: ISZERO 00002461: PUSH2 0x0af0 00002464: JUMPI 00002465: PUSH1 0x40 00002467: MLOAD 00002468: PUSH3 0x461bcd 0000246c: PUSH1 0xe5 0000246e: SHL 0000246f: DUP2 00002470: MSTORE 00002471: PUSH1 0x20 00002473: PUSH1 0x04 00002475: DUP3 00002476: ADD 00002477: MSTORE 00002478: PUSH1 0x14 0000247a: PUSH1 0x24 0000247c: DUP3 0000247d: ADD 0000247e: MSTORE 0000247f: PUSH20 0x13505617d09053105390d157d15610d151511151 00002494: PUSH1 0x62 00002496: SHL 00002497: PUSH1 0x44 00002499: DUP3 0000249a: ADD 0000249b: MSTORE 0000249c: PUSH1 0x64 0000249e: ADD 0000249f: PUSH2 0x0b55 000024a2: JUMP 000024a3: JUMPDEST 000024a4: PUSH0 000024a5: PUSH2 0x24ac 000024a8: PUSH2 0x275a 000024ab: JUMP 000024ac: JUMPDEST 000024ad: PUSH0 000024ae: SUB 000024af: PUSH2 0x24ee 000024b2: JUMPI 000024b3: PUSH1 0x40 000024b5: MLOAD 000024b6: PUSH3 0x461bcd 000024ba: PUSH1 0xe5 000024bc: SHL 000024bd: DUP2 000024be: MSTORE 000024bf: PUSH1 0x20 000024c1: PUSH1 0x04 000024c3: DUP3 000024c4: ADD 000024c5: MSTORE 000024c6: PUSH1 0x11 000024c8: PUSH1 0x24 000024ca: DUP3 000024cb: ADD 000024cc: MSTORE 000024cd: PUSH17 0x130c97d094925111d157d393d517d4d155 000024df: PUSH1 0x7a 000024e1: SHL 000024e2: PUSH1 0x44 000024e4: DUP3 000024e5: ADD 000024e6: MSTORE 000024e7: PUSH1 0x64 000024e9: ADD 000024ea: PUSH2 0x0b55 000024ed: JUMP 000024ee: JUMPDEST 000024ef: PUSH0 000024f0: DUP7 000024f1: GT 000024f2: PUSH2 0x252c 000024f5: JUMPI 000024f6: PUSH1 0x40 000024f8: MLOAD 000024f9: PUSH3 0x461bcd 000024fd: PUSH1 0xe5 000024ff: SHL 00002500: DUP2 00002501: MSTORE 00002502: PUSH1 0x20 00002504: PUSH1 0x04 00002506: DUP3 00002507: ADD 00002508: MSTORE 00002509: PUSH1 0x0c 0000250b: PUSH1 0x24 0000250d: DUP3 0000250e: ADD 0000250f: MSTORE 00002510: PUSH12 0x16915493d7d1115413d4d255 0000251d: PUSH1 0xa2 0000251f: SHL 00002520: PUSH1 0x44 00002522: DUP3 00002523: ADD 00002524: MSTORE 00002525: PUSH1 0x64 00002527: ADD 00002528: PUSH2 0x0b55 0000252b: JUMP 0000252c: JUMPDEST 0000252d: PUSH2 0x2535 00002530: DUP6 00002531: PUSH2 0x2fc8 00002534: JUMP 00002535: JUMPDEST 00002536: PUSH2 0x257b 00002539: JUMPI 0000253a: PUSH1 0x40 0000253c: MLOAD 0000253d: PUSH3 0x461bcd 00002541: PUSH1 0xe5 00002543: SHL 00002544: DUP2 00002545: MSTORE 00002546: PUSH1 0x20 00002548: PUSH1 0x04 0000254a: DUP3 0000254b: ADD 0000254c: MSTORE 0000254d: PUSH1 0x17 0000254f: PUSH1 0x24 00002551: DUP3 00002552: ADD 00002553: MSTORE 00002554: PUSH23 0x4c325f414444524553535f4f55545f4f465f52414e4745 0000256c: PUSH1 0x48 0000256e: SHL 0000256f: PUSH1 0x44 00002571: DUP3 00002572: ADD 00002573: MSTORE 00002574: PUSH1 0x64 00002576: ADD 00002577: PUSH2 0x0b55 0000257a: JUMP 0000257b: JUMPDEST 0000257c: PUSH0 0000257d: DUP1 0000257e: MLOAD 0000257f: PUSH1 0x20 00002581: PUSH2 0x46da 00002584: DUP4 00002585: CODECOPY 00002586: DUP2 00002587: MLOAD 00002588: SWAP2 00002589: MSTORE 0000258a: DUP4 0000258b: EQ 0000258c: PUSH0 0000258d: PUSH2 0x2594 00002590: PUSH2 0x2738 00002593: JUMP 00002594: JUMPDEST 00002595: PUSH1 0x01 00002597: PUSH1 0x01 00002599: PUSH1 0xa0 0000259b: SHL 0000259c: SUB 0000259d: AND 0000259e: PUSH4 0x3e3aa6c5 000025a3: DUP6 000025a4: PUSH2 0x25ab 000025a7: PUSH2 0x275a 000025aa: JUMP 000025ab: JUMPDEST 000025ac: DUP9 000025ad: PUSH2 0x25b9 000025b0: DUP15 000025b1: DUP15 000025b2: DUP15 000025b3: DUP11 000025b4: DUP16 000025b5: PUSH2 0x301e 000025b8: JUMP 000025b9: JUMPDEST 000025ba: PUSH1 0x40 000025bc: MLOAD 000025bd: DUP6 000025be: PUSH4 0xffffffff 000025c3: AND 000025c4: PUSH1 0xe0 000025c6: SHL 000025c7: DUP2 000025c8: MSTORE 000025c9: PUSH1 0x04 000025cb: ADD 000025cc: PUSH2 0x25d7 000025cf: SWAP4 000025d0: SWAP3 000025d1: SWAP2 000025d2: SWAP1 000025d3: PUSH2 0x4231 000025d6: JUMP 000025d7: JUMPDEST 000025d8: PUSH1 0x40 000025da: DUP1 000025db: MLOAD 000025dc: DUP1 000025dd: DUP4 000025de: SUB 000025df: DUP2 000025e0: DUP6 000025e1: DUP9 000025e2: GAS 000025e3: CALL 000025e4: ISZERO 000025e5: DUP1 000025e6: ISZERO 000025e7: PUSH2 0x25f2 000025ea: JUMPI 000025eb: RETURNDATASIZE 000025ec: PUSH0 000025ed: DUP1 000025ee: RETURNDATACOPY 000025ef: RETURNDATASIZE 000025f0: PUSH0 000025f1: REVERT 000025f2: JUMPDEST 000025f3: POP 000025f4: POP 000025f5: POP 000025f6: POP 000025f7: POP 000025f8: PUSH1 0x40 000025fa: MLOAD 000025fb: RETURNDATASIZE 000025fc: PUSH1 0x1f 000025fe: NOT 000025ff: PUSH1 0x1f 00002601: DUP3 00002602: ADD 00002603: AND 00002604: DUP3 00002605: ADD 00002606: DUP1 00002607: PUSH1 0x40 00002609: MSTORE 0000260a: POP 0000260b: DUP2 0000260c: ADD 0000260d: SWAP1 0000260e: PUSH2 0x2617 00002611: SWAP2 00002612: SWAP1 00002613: PUSH2 0x424f 00002616: JUMP 00002617: JUMPDEST 00002618: SWAP11 00002619: SWAP10 0000261a: POP 0000261b: POP 0000261c: POP 0000261d: POP 0000261e: POP 0000261f: POP 00002620: POP 00002621: POP 00002622: POP 00002623: POP 00002624: JUMP 00002625: JUMPDEST 00002626: PUSH0 00002627: DUP1 00002628: MLOAD 00002629: PUSH1 0x20 0000262b: PUSH2 0x47b4 0000262e: DUP4 0000262f: CODECOPY 00002630: DUP2 00002631: MLOAD 00002632: SWAP2 00002633: MSTORE 00002634: DUP4 00002635: SUB 00002636: PUSH2 0x268e 00002639: JUMPI 0000263a: PUSH1 0x40 0000263c: DUP1 0000263d: MLOAD 0000263e: DUP8 0000263f: DUP2 00002640: MSTORE 00002641: PUSH1 0x20 00002643: DUP2 00002644: ADD 00002645: DUP5 00002646: SWAP1 00002647: MSTORE 00002648: SWAP1 00002649: DUP2 0000264a: ADD 0000264b: DUP3 0000264c: SWAP1 0000264d: MSTORE 0000264e: DUP6 0000264f: SWAP1 00002650: PUSH1 0x01 00002652: PUSH1 0x01 00002654: PUSH1 0xa0 00002656: SHL 00002657: SUB 00002658: DUP10 00002659: AND 0000265a: SWAP1 0000265b: CALLER 0000265c: SWAP1 0000265d: PUSH32 0x5f971bd00bf3ffbca8a6d72cdd4fd92cfd4f62636161921d1e5a64f0b64ccb6d 0000267e: SWAP1 0000267f: PUSH1 0x60 00002681: ADD 00002682: PUSH1 0x40 00002684: MLOAD 00002685: DUP1 00002686: SWAP2 00002687: SUB 00002688: SWAP1 00002689: LOG4 0000268a: PUSH2 0x0bbd 0000268d: JUMP 0000268e: JUMPDEST 0000268f: PUSH0 00002690: DUP1 00002691: MLOAD 00002692: PUSH1 0x20 00002694: PUSH2 0x46da 00002697: DUP4 00002698: CODECOPY 00002699: DUP2 0000269a: MLOAD 0000269b: SWAP2 0000269c: MSTORE 0000269d: DUP4 0000269e: EQ 0000269f: PUSH2 0x26dd 000026a2: JUMPI 000026a3: PUSH1 0x40 000026a5: MLOAD 000026a6: PUSH3 0x461bcd 000026aa: PUSH1 0xe5 000026ac: SHL 000026ad: DUP2 000026ae: MSTORE 000026af: PUSH1 0x20 000026b1: PUSH1 0x04 000026b3: DUP3 000026b4: ADD 000026b5: MSTORE 000026b6: PUSH1 0x10 000026b8: PUSH1 0x24 000026ba: DUP3 000026bb: ADD 000026bc: MSTORE 000026bd: PUSH16 0x2aa725a727aba72fa9a2a622a1aa27a9 000026ce: PUSH1 0x81 000026d0: SHL 000026d1: PUSH1 0x44 000026d3: DUP3 000026d4: ADD 000026d5: MSTORE 000026d6: PUSH1 0x64 000026d8: ADD 000026d9: PUSH2 0x0b55 000026dc: JUMP 000026dd: JUMPDEST 000026de: DUP5 000026df: DUP8 000026e0: PUSH1 0x01 000026e2: PUSH1 0x01 000026e4: PUSH1 0xa0 000026e6: SHL 000026e7: SUB 000026e8: AND 000026e9: CALLER 000026ea: PUSH1 0x01 000026ec: PUSH1 0x01 000026ee: PUSH1 0xa0 000026f0: SHL 000026f1: SUB 000026f2: AND 000026f3: PUSH32 0x2203a49c69f1a46c1164f5e4a30643dd77b7c59c0ff9bc433256048365c247f1 00002714: DUP10 00002715: DUP9 00002716: DUP8 00002717: DUP8 00002718: PUSH1 0x40 0000271a: MLOAD 0000271b: PUSH2 0x2727 0000271e: SWAP5 0000271f: SWAP4 00002720: SWAP3 00002721: SWAP2 00002722: SWAP1 00002723: PUSH2 0x4271 00002726: JUMP 00002727: JUMPDEST 00002728: PUSH1 0x40 0000272a: MLOAD 0000272b: DUP1 0000272c: SWAP2 0000272d: SUB 0000272e: SWAP1 0000272f: LOG4 00002730: POP 00002731: POP 00002732: POP 00002733: POP 00002734: POP 00002735: POP 00002736: POP 00002737: JUMP 00002738: JUMPDEST 00002739: PUSH0 0000273a: PUSH2 0x0c8f 0000273d: PUSH1 0x40 0000273f: MLOAD 00002740: DUP1 00002741: PUSH1 0x60 00002743: ADD 00002744: PUSH1 0x40 00002746: MSTORE 00002747: DUP1 00002748: PUSH1 0x28 0000274a: DUP2 0000274b: MSTORE 0000274c: PUSH1 0x20 0000274e: ADD 0000274f: PUSH2 0x45c4 00002752: PUSH1 0x28 00002754: SWAP2 00002755: CODECOPY 00002756: PUSH2 0x3269 00002759: JUMP 0000275a: JUMPDEST 0000275b: PUSH0 0000275c: PUSH2 0x0c8f 0000275f: PUSH1 0x40 00002761: MLOAD 00002762: DUP1 00002763: PUSH1 0x60 00002765: ADD 00002766: PUSH1 0x40 00002768: MSTORE 00002769: DUP1 0000276a: PUSH1 0x27 0000276c: DUP2 0000276d: MSTORE 0000276e: PUSH1 0x20 00002770: ADD 00002771: PUSH2 0x46b3 00002774: PUSH1 0x27 00002776: SWAP2 00002777: CODECOPY 00002778: PUSH2 0x3269 0000277b: JUMP 0000277c: JUMPDEST 0000277d: PUSH1 0x40 0000277f: DUP1 00002780: MLOAD 00002781: PUSH0 00002782: DUP1 00002783: DUP3 00002784: MSTORE 00002785: PUSH1 0x20 00002787: DUP3 00002788: ADD 00002789: SWAP1 0000278a: SWAP3 0000278b: MSTORE 0000278c: PUSH1 0x60 0000278e: SWAP2 0000278f: POP 00002790: PUSH2 0x279c 00002793: DUP6 00002794: DUP6 00002795: DUP6 00002796: PUSH0 00002797: DUP6 00002798: PUSH2 0x301e 0000279b: JUMP 0000279c: JUMPDEST 0000279d: SWAP6 0000279e: SWAP5 0000279f: POP 000027a0: POP 000027a1: POP 000027a2: POP 000027a3: POP 000027a4: JUMP 000027a5: JUMPDEST 000027a6: PUSH2 0x23e7 000027a9: PUSH1 0x01 000027ab: PUSH1 0x01 000027ad: PUSH1 0xa0 000027af: SHL 000027b0: SUB 000027b1: DUP3 000027b2: AND 000027b3: DUP4 000027b4: PUSH2 0x33ef 000027b7: JUMP 000027b8: JUMPDEST 000027b9: PUSH0 000027ba: SWAP2 000027bb: DUP3 000027bc: MSTORE 000027bd: PUSH0 000027be: DUP1 000027bf: MLOAD 000027c0: PUSH1 0x20 000027c2: PUSH2 0x4693 000027c5: DUP4 000027c6: CODECOPY 000027c7: DUP2 000027c8: MLOAD 000027c9: SWAP2 000027ca: MSTORE 000027cb: PUSH1 0x20 000027cd: SWAP1 000027ce: DUP2 000027cf: MSTORE 000027d0: PUSH1 0x40 000027d2: DUP1 000027d3: DUP5 000027d4: KECCAK256 000027d5: PUSH1 0x01 000027d7: PUSH1 0x01 000027d9: PUSH1 0xa0 000027db: SHL 000027dc: SUB 000027dd: SWAP4 000027de: SWAP1 000027df: SWAP4 000027e0: AND 000027e1: DUP5 000027e2: MSTORE 000027e3: SWAP2 000027e4: SWAP1 000027e5: MSTORE 000027e6: SWAP1 000027e7: KECCAK256 000027e8: SLOAD 000027e9: PUSH1 0xff 000027eb: AND 000027ec: SWAP1 000027ed: JUMP 000027ee: JUMPDEST 000027ef: PUSH2 0x27f7 000027f2: DUP3 000027f3: PUSH2 0x329c 000027f6: JUMP 000027f7: JUMPDEST 000027f8: PUSH2 0x2800 000027fb: DUP2 000027fc: PUSH2 0x32bc 000027ff: JUMP 00002800: JUMPDEST 00002801: PUSH2 0x23e7 00002804: DUP4 00002805: DUP4 00002806: PUSH2 0x348f 00002809: JUMP 0000280a: JUMPDEST 0000280b: PUSH1 0x01 0000280d: PUSH1 0x01 0000280f: PUSH1 0xa0 00002811: SHL 00002812: SUB 00002813: DUP2 00002814: AND 00002815: CALLER 00002816: EQ 00002817: PUSH2 0x287a 0000281a: JUMPI 0000281b: PUSH1 0x40 0000281d: MLOAD 0000281e: PUSH3 0x461bcd 00002822: PUSH1 0xe5 00002824: SHL 00002825: DUP2 00002826: MSTORE 00002827: PUSH1 0x20 00002829: PUSH1 0x04 0000282b: DUP3 0000282c: ADD 0000282d: MSTORE 0000282e: PUSH1 0x2f 00002830: PUSH1 0x24 00002832: DUP3 00002833: ADD 00002834: MSTORE 00002835: PUSH32 0x416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365 00002856: PUSH1 0x44 00002858: DUP3 00002859: ADD 0000285a: MSTORE 0000285b: PUSH15 0x103937b632b9903337b91039b2b633 0000286b: PUSH1 0x89 0000286d: SHL 0000286e: PUSH1 0x64 00002870: DUP3 00002871: ADD 00002872: MSTORE 00002873: PUSH1 0x84 00002875: ADD 00002876: PUSH2 0x0b55 00002879: JUMP 0000287a: JUMPDEST 0000287b: PUSH2 0x0a7a 0000287e: DUP3 0000287f: DUP3 00002880: PUSH2 0x348f 00002883: JUMP 00002884: JUMPDEST 00002885: PUSH0 00002886: PUSH2 0x0c8f 00002889: PUSH1 0x40 0000288b: MLOAD 0000288c: DUP1 0000288d: PUSH1 0x60 0000288f: ADD 00002890: PUSH1 0x40 00002892: MSTORE 00002893: DUP1 00002894: PUSH1 0x26 00002896: DUP2 00002897: MSTORE 00002898: PUSH1 0x20 0000289a: ADD 0000289b: PUSH2 0x473a 0000289e: PUSH1 0x26 000028a0: SWAP2 000028a1: CODECOPY 000028a2: PUSH2 0x3269 000028a5: JUMP 000028a6: JUMPDEST 000028a7: PUSH1 0x01 000028a9: PUSH1 0x01 000028ab: PUSH1 0xa0 000028ad: SHL 000028ae: SUB 000028af: DUP4 000028b0: AND 000028b1: EXTCODESIZE 000028b2: PUSH2 0x28f2 000028b5: JUMPI 000028b6: PUSH1 0x40 000028b8: MLOAD 000028b9: PUSH3 0x461bcd 000028bd: PUSH1 0xe5 000028bf: SHL 000028c0: DUP2 000028c1: MSTORE 000028c2: PUSH1 0x20 000028c4: PUSH1 0x04 000028c6: DUP3 000028c7: ADD 000028c8: MSTORE 000028c9: PUSH1 0x12 000028cb: PUSH1 0x24 000028cd: DUP3 000028ce: ADD 000028cf: MSTORE 000028d0: PUSH18 0x115250d7d393d517d057d0d3d395149050d5 000028e3: PUSH1 0x72 000028e5: SHL 000028e6: PUSH1 0x44 000028e8: DUP3 000028e9: ADD 000028ea: MSTORE 000028eb: PUSH1 0x64 000028ed: ADD 000028ee: PUSH2 0x0b55 000028f1: JUMP 000028f2: JUMPDEST 000028f3: PUSH0 000028f4: DUP1 000028f5: DUP5 000028f6: PUSH1 0x01 000028f8: PUSH1 0x01 000028fa: PUSH1 0xa0 000028fc: SHL 000028fd: SUB 000028fe: AND 000028ff: PUSH4 0x439fab91 00002904: PUSH1 0xe0 00002906: SHL 00002907: DUP6 00002908: DUP6 00002909: PUSH1 0x40 0000290b: MLOAD 0000290c: PUSH1 0x24 0000290e: ADD 0000290f: PUSH2 0x2919 00002912: SWAP3 00002913: SWAP2 00002914: SWAP1 00002915: PUSH2 0x429c 00002918: JUMP 00002919: JUMPDEST 0000291a: PUSH1 0x40 0000291c: DUP1 0000291d: MLOAD 0000291e: PUSH1 0x1f 00002920: NOT 00002921: DUP2 00002922: DUP5 00002923: SUB 00002924: ADD 00002925: DUP2 00002926: MSTORE 00002927: SWAP2 00002928: DUP2 00002929: MSTORE 0000292a: PUSH1 0x20 0000292c: DUP3 0000292d: ADD 0000292e: DUP1 0000292f: MLOAD 00002930: PUSH1 0x01 00002932: PUSH1 0x01 00002934: PUSH1 0xe0 00002936: SHL 00002937: SUB 00002938: AND 00002939: PUSH1 0x01 0000293b: PUSH1 0x01 0000293d: PUSH1 0xe0 0000293f: SHL 00002940: SUB 00002941: NOT 00002942: SWAP1 00002943: SWAP5 00002944: AND 00002945: SWAP4 00002946: SWAP1 00002947: SWAP4 00002948: OR 00002949: SWAP1 0000294a: SWAP3 0000294b: MSTORE 0000294c: SWAP1 0000294d: MLOAD 0000294e: PUSH2 0x2957 00002951: SWAP2 00002952: SWAP1 00002953: PUSH2 0x42ca 00002956: JUMP 00002957: JUMPDEST 00002958: PUSH0 00002959: PUSH1 0x40 0000295b: MLOAD 0000295c: DUP1 0000295d: DUP4 0000295e: SUB 0000295f: DUP2 00002960: DUP6 00002961: GAS 00002962: DELEGATECALL 00002963: SWAP2 00002964: POP 00002965: POP 00002966: RETURNDATASIZE 00002967: DUP1 00002968: PUSH0 00002969: DUP2 0000296a: EQ 0000296b: PUSH2 0x298f 0000296e: JUMPI 0000296f: PUSH1 0x40 00002971: MLOAD 00002972: SWAP2 00002973: POP 00002974: PUSH1 0x1f 00002976: NOT 00002977: PUSH1 0x3f 00002979: RETURNDATASIZE 0000297a: ADD 0000297b: AND 0000297c: DUP3 0000297d: ADD 0000297e: PUSH1 0x40 00002980: MSTORE 00002981: RETURNDATASIZE 00002982: DUP3 00002983: MSTORE 00002984: RETURNDATASIZE 00002985: PUSH0 00002986: PUSH1 0x20 00002988: DUP5 00002989: ADD 0000298a: RETURNDATACOPY 0000298b: PUSH2 0x2994 0000298e: JUMP 0000298f: JUMPDEST 00002990: PUSH1 0x60 00002992: SWAP2 00002993: POP 00002994: JUMPDEST 00002995: POP 00002996: SWAP2 00002997: POP 00002998: SWAP2 00002999: POP 0000299a: DUP2 0000299b: DUP2 0000299c: SWAP1 0000299d: PUSH2 0x29b9 000029a0: JUMPI 000029a1: PUSH1 0x40 000029a3: MLOAD 000029a4: PUSH3 0x461bcd 000029a8: PUSH1 0xe5 000029aa: SHL 000029ab: DUP2 000029ac: MSTORE 000029ad: PUSH1 0x04 000029af: ADD 000029b0: PUSH2 0x0b55 000029b3: SWAP2 000029b4: SWAP1 000029b5: PUSH2 0x4065 000029b8: JUMP 000029b9: JUMPDEST 000029ba: POP 000029bb: DUP1 000029bc: MLOAD 000029bd: DUP2 000029be: SWAP1 000029bf: ISZERO 000029c0: PUSH2 0x29dc 000029c3: JUMPI 000029c4: PUSH1 0x40 000029c6: MLOAD 000029c7: PUSH3 0x461bcd 000029cb: PUSH1 0xe5 000029cd: SHL 000029ce: DUP2 000029cf: MSTORE 000029d0: PUSH1 0x04 000029d2: ADD 000029d3: PUSH2 0x0b55 000029d6: SWAP2 000029d7: SWAP1 000029d8: PUSH2 0x4065 000029db: JUMP 000029dc: JUMPDEST 000029dd: POP 000029de: POP 000029df: POP 000029e0: POP 000029e1: POP 000029e2: POP 000029e3: JUMP 000029e4: JUMPDEST 000029e5: PUSH0 000029e6: DUP1 000029e7: PUSH2 0x29ee 000029ea: PUSH2 0x2738 000029ed: JUMP 000029ee: JUMPDEST 000029ef: PUSH1 0x01 000029f1: PUSH1 0x01 000029f3: PUSH1 0xa0 000029f5: SHL 000029f6: SUB 000029f7: AND 000029f8: EQ 000029f9: ISZERO 000029fa: SWAP1 000029fb: POP 000029fc: SWAP1 000029fd: JUMP 000029fe: JUMPDEST 000029ff: PUSH1 0x40 00002a01: DUP2 00002a02: EQ 00002a03: PUSH2 0x2a42 00002a06: JUMPI 00002a07: PUSH1 0x40 00002a09: MLOAD 00002a0a: PUSH3 0x461bcd 00002a0e: PUSH1 0xe5 00002a10: SHL 00002a11: DUP2 00002a12: MSTORE 00002a13: PUSH1 0x20 00002a15: PUSH1 0x04 00002a17: DUP3 00002a18: ADD 00002a19: MSTORE 00002a1a: PUSH1 0x11 00002a1c: PUSH1 0x24 00002a1e: DUP3 00002a1f: ADD 00002a20: MSTORE 00002a21: PUSH17 0x494c4c4547414c5f444154415f53495a45 00002a33: PUSH1 0x78 00002a35: SHL 00002a36: PUSH1 0x44 00002a38: DUP3 00002a39: ADD 00002a3a: MSTORE 00002a3b: PUSH1 0x64 00002a3d: ADD 00002a3e: PUSH2 0x0b55 00002a41: JUMP 00002a42: JUMPDEST 00002a43: PUSH0 00002a44: DUP1 00002a45: PUSH2 0x2a50 00002a48: DUP4 00002a49: DUP6 00002a4a: ADD 00002a4b: DUP6 00002a4c: PUSH2 0x42e5 00002a4f: JUMP 00002a50: JUMPDEST 00002a51: SWAP2 00002a52: POP 00002a53: SWAP2 00002a54: POP 00002a55: PUSH2 0x2a67 00002a58: DUP2 00002a59: PUSH1 0x01 00002a5b: PUSH1 0x01 00002a5d: PUSH1 0xa0 00002a5f: SHL 00002a60: SUB 00002a61: AND 00002a62: EXTCODESIZE 00002a63: ISZERO 00002a64: ISZERO 00002a65: SWAP1 00002a66: JUMP 00002a67: JUMPDEST 00002a68: PUSH2 0x2abe 00002a6b: JUMPI 00002a6c: PUSH1 0x40 00002a6e: MLOAD 00002a6f: PUSH3 0x461bcd 00002a73: PUSH1 0xe5 00002a75: SHL 00002a76: DUP2 00002a77: MSTORE 00002a78: PUSH1 0x20 00002a7a: PUSH1 0x04 00002a7c: DUP3 00002a7d: ADD 00002a7e: MSTORE 00002a7f: PUSH1 0x22 00002a81: PUSH1 0x24 00002a83: DUP3 00002a84: ADD 00002a85: MSTORE 00002a86: PUSH32 0x494e56414c49445f4d4553534147494e475f434f4e54524143545f4144445245 00002aa7: PUSH1 0x44 00002aa9: DUP3 00002aaa: ADD 00002aab: MSTORE 00002aac: PUSH2 0x5353 00002aaf: PUSH1 0xf0 00002ab1: SHL 00002ab2: PUSH1 0x64 00002ab4: DUP3 00002ab5: ADD 00002ab6: MSTORE 00002ab7: PUSH1 0x84 00002ab9: ADD 00002aba: PUSH2 0x0b55 00002abd: JUMP 00002abe: JUMPDEST 00002abf: PUSH1 0x01 00002ac1: PUSH1 0x01 00002ac3: PUSH1 0xa0 00002ac5: SHL 00002ac6: SUB 00002ac7: DUP3 00002ac8: AND 00002ac9: EXTCODESIZE 00002aca: PUSH2 0x2111 00002acd: JUMPI 00002ace: PUSH1 0x40 00002ad0: MLOAD 00002ad1: PUSH3 0x461bcd 00002ad5: PUSH1 0xe5 00002ad7: SHL 00002ad8: DUP2 00002ad9: MSTORE 00002ada: PUSH1 0x20 00002adc: PUSH1 0x04 00002ade: DUP3 00002adf: ADD 00002ae0: DUP2 00002ae1: SWAP1 00002ae2: MSTORE 00002ae3: PUSH1 0x24 00002ae5: DUP3 00002ae6: ADD 00002ae7: MSTORE 00002ae8: PUSH32 0x494e56414c49445f4d414e414745525f434f4e54524143545f41444452455353 00002b09: PUSH1 0x44 00002b0b: DUP3 00002b0c: ADD 00002b0d: MSTORE 00002b0e: PUSH1 0x64 00002b10: ADD 00002b11: PUSH2 0x0b55 00002b14: JUMP 00002b15: JUMPDEST 00002b16: PUSH0 00002b17: DUP1 00002b18: PUSH2 0x2b23 00002b1b: DUP4 00002b1c: DUP6 00002b1d: ADD 00002b1e: DUP6 00002b1f: PUSH2 0x42e5 00002b22: JUMP 00002b23: JUMPDEST 00002b24: SWAP2 00002b25: POP 00002b26: SWAP2 00002b27: POP 00002b28: PUSH2 0x2b30 00002b2b: DUP2 00002b2c: PUSH2 0x3501 00002b2f: JUMP 00002b30: JUMPDEST 00002b31: PUSH2 0x2b39 00002b34: DUP3 00002b35: PUSH2 0x3523 00002b38: JUMP 00002b39: JUMPDEST 00002b3a: PUSH2 0x2111 00002b3d: PUSH1 0x05 00002b3f: PUSH2 0x3545 00002b42: JUMP 00002b43: JUMPDEST 00002b44: CALLER 00002b45: PUSH2 0x0a95 00002b48: DUP2 00002b49: DUP1 00002b4a: PUSH2 0x3567 00002b4d: JUMP 00002b4e: JUMPDEST 00002b4f: PUSH0 00002b50: PUSH2 0x2b58 00002b53: DUP3 00002b54: PUSH2 0x3669 00002b57: JUMP 00002b58: JUMPDEST 00002b59: PUSH2 0x2b65 00002b5c: JUMPI 00002b5d: PUSH2 0x1298 00002b60: DUP3 00002b61: PUSH2 0x3694 00002b64: JUMP 00002b65: JUMPDEST 00002b66: PUSH2 0x1298 00002b69: DUP3 00002b6a: PUSH2 0x3743 00002b6d: JUMP 00002b6e: JUMPDEST 00002b6f: PUSH0 00002b70: PUSH2 0x0c8f 00002b73: PUSH5 0x012a05f200 00002b79: PUSH3 0x0186a0 00002b7d: PUSH2 0x416e 00002b80: JUMP 00002b81: JUMPDEST 00002b82: PUSH2 0x2b89 00002b85: PUSH2 0x275a 00002b88: JUMP 00002b89: JUMPDEST 00002b8a: PUSH0 00002b8b: SUB 00002b8c: PUSH2 0x2bcb 00002b8f: JUMPI 00002b90: PUSH1 0x40 00002b92: MLOAD 00002b93: PUSH3 0x461bcd 00002b97: PUSH1 0xe5 00002b99: SHL 00002b9a: DUP2 00002b9b: MSTORE 00002b9c: PUSH1 0x20 00002b9e: PUSH1 0x04 00002ba0: DUP3 00002ba1: ADD 00002ba2: MSTORE 00002ba3: PUSH1 0x11 00002ba5: PUSH1 0x24 00002ba7: DUP3 00002ba8: ADD 00002ba9: MSTORE 00002baa: PUSH17 0x130c97d094925111d157d393d517d4d155 00002bbc: PUSH1 0x7a 00002bbe: SHL 00002bbf: PUSH1 0x44 00002bc1: DUP3 00002bc2: ADD 00002bc3: MSTORE 00002bc4: PUSH1 0x64 00002bc6: ADD 00002bc7: PUSH2 0x0b55 00002bca: JUMP 00002bcb: JUMPDEST 00002bcc: PUSH1 0x01 00002bce: PUSH1 0x01 00002bd0: PUSH1 0xa0 00002bd2: SHL 00002bd3: SUB 00002bd4: DUP2 00002bd5: AND 00002bd6: PUSH0 00002bd7: PUSH1 0x01 00002bd9: PUSH2 0x2be4 00002bdc: PUSH1 0x80 00002bde: PUSH1 0x02 00002be0: PUSH2 0x43f1 00002be3: JUMP 00002be4: JUMPDEST 00002be5: PUSH2 0x2bee 00002be8: SWAP2 00002be9: SWAP1 00002bea: PUSH2 0x421e 00002bed: JUMP 00002bee: JUMPDEST 00002bef: PUSH1 0x40 00002bf1: DUP1 00002bf2: MLOAD 00002bf3: PUSH1 0x05 00002bf5: DUP1 00002bf6: DUP3 00002bf7: MSTORE 00002bf8: PUSH1 0xc0 00002bfa: DUP3 00002bfb: ADD 00002bfc: SWAP1 00002bfd: SWAP3 00002bfe: MSTORE 00002bff: SWAP2 00002c00: DUP7 00002c01: AND 00002c02: SWAP3 00002c03: POP 00002c04: PUSH1 0x80 00002c06: DUP7 00002c07: SWAP1 00002c08: SHR 00002c09: SWAP2 00002c0a: PUSH0 00002c0b: SWAP2 00002c0c: PUSH1 0x20 00002c0e: DUP3 00002c0f: ADD 00002c10: PUSH1 0xa0 00002c12: DUP1 00002c13: CALLDATASIZE 00002c14: DUP4 00002c15: CALLDATACOPY 00002c16: ADD 00002c17: SWAP1 00002c18: POP 00002c19: POP 00002c1a: SWAP1 00002c1b: POP 00002c1c: PUSH0 00002c1d: DUP2 00002c1e: PUSH0 00002c1f: DUP2 00002c20: MLOAD 00002c21: DUP2 00002c22: LT 00002c23: PUSH2 0x2c2e 00002c26: JUMPI 00002c27: PUSH2 0x2c2e 00002c2a: PUSH2 0x43fc 00002c2d: JUMP 00002c2e: JUMPDEST 00002c2f: PUSH1 0x20 00002c31: MUL 00002c32: PUSH1 0x20 00002c34: ADD 00002c35: ADD 00002c36: DUP2 00002c37: DUP2 00002c38: MSTORE 00002c39: POP 00002c3a: POP 00002c3b: DUP4 00002c3c: DUP2 00002c3d: PUSH1 0x01 00002c3f: DUP2 00002c40: MLOAD 00002c41: DUP2 00002c42: LT 00002c43: PUSH2 0x2c4e 00002c46: JUMPI 00002c47: PUSH2 0x2c4e 00002c4a: PUSH2 0x43fc 00002c4d: JUMP 00002c4e: JUMPDEST 00002c4f: PUSH1 0x20 00002c51: MUL 00002c52: PUSH1 0x20 00002c54: ADD 00002c55: ADD 00002c56: DUP2 00002c57: DUP2 00002c58: MSTORE 00002c59: POP 00002c5a: POP 00002c5b: DUP7 00002c5c: PUSH1 0x01 00002c5e: PUSH1 0x01 00002c60: PUSH1 0xa0 00002c62: SHL 00002c63: SUB 00002c64: AND 00002c65: DUP2 00002c66: PUSH1 0x02 00002c68: DUP2 00002c69: MLOAD 00002c6a: DUP2 00002c6b: LT 00002c6c: PUSH2 0x2c77 00002c6f: JUMPI 00002c70: PUSH2 0x2c77 00002c73: PUSH2 0x43fc 00002c76: JUMP 00002c77: JUMPDEST 00002c78: PUSH1 0x20 00002c7a: MUL 00002c7b: PUSH1 0x20 00002c7d: ADD 00002c7e: ADD 00002c7f: DUP2 00002c80: DUP2 00002c81: MSTORE 00002c82: POP 00002c83: POP 00002c84: DUP3 00002c85: DUP2 00002c86: PUSH1 0x03 00002c88: DUP2 00002c89: MLOAD 00002c8a: DUP2 00002c8b: LT 00002c8c: PUSH2 0x2c97 00002c8f: JUMPI 00002c90: PUSH2 0x2c97 00002c93: PUSH2 0x43fc 00002c96: JUMP 00002c97: JUMPDEST 00002c98: PUSH1 0x20 00002c9a: MUL 00002c9b: PUSH1 0x20 00002c9d: ADD 00002c9e: ADD 00002c9f: DUP2 00002ca0: DUP2 00002ca1: MSTORE 00002ca2: POP 00002ca3: POP 00002ca4: DUP2 00002ca5: DUP2 00002ca6: PUSH1 0x04 00002ca8: DUP2 00002ca9: MLOAD 00002caa: DUP2 00002cab: LT 00002cac: PUSH2 0x2cb7 00002caf: JUMPI 00002cb0: PUSH2 0x2cb7 00002cb3: PUSH2 0x43fc 00002cb6: JUMP 00002cb7: JUMPDEST 00002cb8: PUSH1 0x20 00002cba: MUL 00002cbb: PUSH1 0x20 00002cbd: ADD 00002cbe: ADD 00002cbf: DUP2 00002cc0: DUP2 00002cc1: MSTORE 00002cc2: POP 00002cc3: POP 00002cc4: PUSH2 0x2ccb 00002cc7: PUSH2 0x2738 00002cca: JUMP 00002ccb: JUMPDEST 00002ccc: PUSH1 0x01 00002cce: PUSH1 0x01 00002cd0: PUSH1 0xa0 00002cd2: SHL 00002cd3: SUB 00002cd4: AND 00002cd5: PUSH4 0x2c9dd5c0 00002cda: PUSH2 0x2ce1 00002cdd: PUSH2 0x275a 00002ce0: JUMP 00002ce1: JUMPDEST 00002ce2: DUP4 00002ce3: PUSH1 0x40 00002ce5: MLOAD 00002ce6: DUP4 00002ce7: PUSH4 0xffffffff 00002cec: AND 00002ced: PUSH1 0xe0 00002cef: SHL 00002cf0: DUP2 00002cf1: MSTORE 00002cf2: PUSH1 0x04 00002cf4: ADD 00002cf5: PUSH2 0x2cff 00002cf8: SWAP3 00002cf9: SWAP2 00002cfa: SWAP1 00002cfb: PUSH2 0x4410 00002cfe: JUMP 00002cff: JUMPDEST 00002d00: PUSH1 0x20 00002d02: PUSH1 0x40 00002d04: MLOAD 00002d05: DUP1 00002d06: DUP4 00002d07: SUB 00002d08: DUP2 00002d09: PUSH0 00002d0a: DUP8 00002d0b: GAS 00002d0c: CALL 00002d0d: SWAP3 00002d0e: POP 00002d0f: POP 00002d10: POP 00002d11: DUP1 00002d12: ISZERO 00002d13: PUSH2 0x2d39 00002d16: JUMPI 00002d17: POP 00002d18: PUSH1 0x40 00002d1a: DUP1 00002d1b: MLOAD 00002d1c: PUSH1 0x1f 00002d1e: RETURNDATASIZE 00002d1f: SWAP1 00002d20: DUP2 00002d21: ADD 00002d22: PUSH1 0x1f 00002d24: NOT 00002d25: AND 00002d26: DUP3 00002d27: ADD 00002d28: SWAP1 00002d29: SWAP3 00002d2a: MSTORE 00002d2b: PUSH2 0x2d36 00002d2e: SWAP2 00002d2f: DUP2 00002d30: ADD 00002d31: SWAP1 00002d32: PUSH2 0x4113 00002d35: JUMP 00002d36: JUMPDEST 00002d37: PUSH1 0x01 00002d39: JUMPDEST 00002d3a: PUSH2 0x1ca0 00002d3d: JUMPI 00002d3e: PUSH2 0x2d45 00002d41: PUSH2 0x4428 00002d44: JUMP 00002d45: JUMPDEST 00002d46: DUP1 00002d47: PUSH4 0x08c379a0 00002d4c: SUB 00002d4d: PUSH2 0x2e87 00002d50: JUMPI 00002d51: POP 00002d52: PUSH2 0x2d59 00002d55: PUSH2 0x447a 00002d58: JUMP 00002d59: JUMPDEST 00002d5a: DUP1 00002d5b: PUSH2 0x2d64 00002d5e: JUMPI 00002d5f: POP 00002d60: PUSH2 0x2e89 00002d63: JUMP 00002d64: JUMPDEST 00002d65: PUSH1 0x40 00002d67: DUP1 00002d68: MLOAD 00002d69: PUSH1 0x04 00002d6b: DUP1 00002d6c: DUP3 00002d6d: MSTORE 00002d6e: PUSH1 0xa0 00002d70: DUP3 00002d71: ADD 00002d72: SWAP1 00002d73: SWAP3 00002d74: MSTORE 00002d75: SWAP1 00002d76: PUSH1 0x20 00002d78: DUP3 00002d79: ADD 00002d7a: PUSH1 0x80 00002d7c: DUP1 00002d7d: CALLDATASIZE 00002d7e: DUP4 00002d7f: CALLDATACOPY 00002d80: ADD 00002d81: SWAP1 00002d82: POP 00002d83: POP 00002d84: SWAP2 00002d85: POP 00002d86: PUSH0 00002d87: DUP3 00002d88: PUSH0 00002d89: DUP2 00002d8a: MLOAD 00002d8b: DUP2 00002d8c: LT 00002d8d: PUSH2 0x2d98 00002d90: JUMPI 00002d91: PUSH2 0x2d98 00002d94: PUSH2 0x43fc 00002d97: JUMP 00002d98: JUMPDEST 00002d99: PUSH1 0x20 00002d9b: MUL 00002d9c: PUSH1 0x20 00002d9e: ADD 00002d9f: ADD 00002da0: DUP2 00002da1: DUP2 00002da2: MSTORE 00002da3: POP 00002da4: POP 00002da5: DUP5 00002da6: DUP3 00002da7: PUSH1 0x01 00002da9: DUP2 00002daa: MLOAD 00002dab: DUP2 00002dac: LT 00002dad: PUSH2 0x2db8 00002db0: JUMPI 00002db1: PUSH2 0x2db8 00002db4: PUSH2 0x43fc 00002db7: JUMP 00002db8: JUMPDEST 00002db9: PUSH1 0x20 00002dbb: MUL 00002dbc: PUSH1 0x20 00002dbe: ADD 00002dbf: ADD 00002dc0: DUP2 00002dc1: DUP2 00002dc2: MSTORE 00002dc3: POP 00002dc4: POP 00002dc5: DUP4 00002dc6: DUP3 00002dc7: PUSH1 0x02 00002dc9: DUP2 00002dca: MLOAD 00002dcb: DUP2 00002dcc: LT 00002dcd: PUSH2 0x2dd8 00002dd0: JUMPI 00002dd1: PUSH2 0x2dd8 00002dd4: PUSH2 0x43fc 00002dd7: JUMP 00002dd8: JUMPDEST 00002dd9: PUSH1 0x20 00002ddb: MUL 00002ddc: PUSH1 0x20 00002dde: ADD 00002ddf: ADD 00002de0: DUP2 00002de1: DUP2 00002de2: MSTORE 00002de3: POP 00002de4: POP 00002de5: DUP3 00002de6: DUP3 00002de7: PUSH1 0x03 00002de9: DUP2 00002dea: MLOAD 00002deb: DUP2 00002dec: LT 00002ded: PUSH2 0x2df8 00002df0: JUMPI 00002df1: PUSH2 0x2df8 00002df4: PUSH2 0x43fc 00002df7: JUMP 00002df8: JUMPDEST 00002df9: PUSH1 0x20 00002dfb: MUL 00002dfc: PUSH1 0x20 00002dfe: ADD 00002dff: ADD 00002e00: DUP2 00002e01: DUP2 00002e02: MSTORE 00002e03: POP 00002e04: POP 00002e05: PUSH2 0x2e0c 00002e08: PUSH2 0x2738 00002e0b: JUMP 00002e0c: JUMPDEST 00002e0d: PUSH1 0x01 00002e0f: PUSH1 0x01 00002e11: PUSH1 0xa0 00002e13: SHL 00002e14: SUB 00002e15: AND 00002e16: PUSH4 0x2c9dd5c0 00002e1b: PUSH2 0x2e22 00002e1e: PUSH2 0x275a 00002e21: JUMP 00002e22: JUMPDEST 00002e23: DUP5 00002e24: PUSH1 0x40 00002e26: MLOAD 00002e27: DUP4 00002e28: PUSH4 0xffffffff 00002e2d: AND 00002e2e: PUSH1 0xe0 00002e30: SHL 00002e31: DUP2 00002e32: MSTORE 00002e33: PUSH1 0x04 00002e35: ADD 00002e36: PUSH2 0x2e40 00002e39: SWAP3 00002e3a: SWAP2 00002e3b: SWAP1 00002e3c: PUSH2 0x4410 00002e3f: JUMP 00002e40: JUMPDEST 00002e41: PUSH1 0x20 00002e43: PUSH1 0x40 00002e45: MLOAD 00002e46: DUP1 00002e47: DUP4 00002e48: SUB 00002e49: DUP2 00002e4a: PUSH0 00002e4b: DUP8 00002e4c: GAS 00002e4d: CALL 00002e4e: ISZERO 00002e4f: DUP1 00002e50: ISZERO 00002e51: PUSH2 0x2e5c 00002e54: JUMPI 00002e55: RETURNDATASIZE 00002e56: PUSH0 00002e57: DUP1 00002e58: RETURNDATACOPY 00002e59: RETURNDATASIZE 00002e5a: PUSH0 00002e5b: REVERT 00002e5c: JUMPDEST 00002e5d: POP 00002e5e: POP 00002e5f: POP 00002e60: POP 00002e61: PUSH1 0x40 00002e63: MLOAD 00002e64: RETURNDATASIZE 00002e65: PUSH1 0x1f 00002e67: NOT 00002e68: PUSH1 0x1f 00002e6a: DUP3 00002e6b: ADD 00002e6c: AND 00002e6d: DUP3 00002e6e: ADD 00002e6f: DUP1 00002e70: PUSH1 0x40 00002e72: MSTORE 00002e73: POP 00002e74: DUP2 00002e75: ADD 00002e76: SWAP1 00002e77: PUSH2 0x2e80 00002e7a: SWAP2 00002e7b: SWAP1 00002e7c: PUSH2 0x4113 00002e7f: JUMP 00002e80: JUMPDEST 00002e81: POP 00002e82: POP 00002e83: PUSH2 0x0bbd 00002e86: JUMP 00002e87: JUMPDEST 00002e88: POP 00002e89: JUMPDEST 00002e8a: RETURNDATASIZE 00002e8b: PUSH0 00002e8c: DUP1 00002e8d: RETURNDATACOPY 00002e8e: RETURNDATASIZE 00002e8f: PUSH0 00002e90: REVERT 00002e91: JUMPDEST 00002e92: PUSH0 00002e93: PUSH2 0x2e9b 00002e96: DUP4 00002e97: PUSH2 0x2b4e 00002e9a: JUMP 00002e9b: JUMPDEST 00002e9c: SWAP1 00002e9d: POP 00002e9e: DUP2 00002e9f: DUP2 00002ea0: LT 00002ea1: ISZERO 00002ea2: PUSH2 0x2eed 00002ea5: JUMPI 00002ea6: PUSH1 0x40 00002ea8: MLOAD 00002ea9: PUSH3 0x461bcd 00002ead: PUSH1 0xe5 00002eaf: SHL 00002eb0: DUP2 00002eb1: MSTORE 00002eb2: PUSH1 0x20 00002eb4: PUSH1 0x04 00002eb6: DUP3 00002eb7: ADD 00002eb8: MSTORE 00002eb9: PUSH1 0x1d 00002ebb: PUSH1 0x24 00002ebd: DUP3 00002ebe: ADD 00002ebf: MSTORE 00002ec0: PUSH32 0x455843454544535f474c4f42414c5f57495448445241575f4c494d4954000000 00002ee1: PUSH1 0x44 00002ee3: DUP3 00002ee4: ADD 00002ee5: MSTORE 00002ee6: PUSH1 0x64 00002ee8: ADD 00002ee9: PUSH2 0x0b55 00002eec: JUMP 00002eed: JUMPDEST 00002eee: PUSH2 0x23e7 00002ef1: DUP4 00002ef2: PUSH2 0x2efb 00002ef5: DUP5 00002ef6: DUP5 00002ef7: PUSH2 0x421e 00002efa: JUMP 00002efb: JUMPDEST 00002efc: PUSH2 0x3770 00002eff: JUMP 00002f00: JUMPDEST 00002f01: PUSH0 00002f02: PUSH2 0x0c8f 00002f05: PUSH1 0x40 00002f07: MLOAD 00002f08: DUP1 00002f09: PUSH1 0x60 00002f0b: ADD 00002f0c: PUSH1 0x40 00002f0e: MSTORE 00002f0f: DUP1 00002f10: PUSH1 0x29 00002f12: DUP2 00002f13: MSTORE 00002f14: PUSH1 0x20 00002f16: ADD 00002f17: PUSH2 0x478b 00002f1a: PUSH1 0x29 00002f1c: SWAP2 00002f1d: CODECOPY 00002f1e: PUSH2 0x37a1 00002f21: JUMP 00002f22: JUMPDEST 00002f23: PUSH1 0x40 00002f25: DUP1 00002f26: MLOAD 00002f27: PUSH1 0x03 00002f29: DUP1 00002f2a: DUP3 00002f2b: MSTORE 00002f2c: PUSH1 0x80 00002f2e: DUP3 00002f2f: ADD 00002f30: SWAP1 00002f31: SWAP3 00002f32: MSTORE 00002f33: PUSH1 0x60 00002f35: SWAP2 00002f36: PUSH0 00002f37: SWAP2 00002f38: SWAP1 00002f39: PUSH1 0x20 00002f3b: DUP3 00002f3c: ADD 00002f3d: DUP5 00002f3e: DUP1 00002f3f: CALLDATASIZE 00002f40: DUP4 00002f41: CALLDATACOPY 00002f42: ADD 00002f43: SWAP1 00002f44: POP 00002f45: POP 00002f46: SWAP1 00002f47: POP 00002f48: DUP3 00002f49: DUP2 00002f4a: PUSH0 00002f4b: DUP2 00002f4c: MLOAD 00002f4d: DUP2 00002f4e: LT 00002f4f: PUSH2 0x2f5a 00002f52: JUMPI 00002f53: PUSH2 0x2f5a 00002f56: PUSH2 0x43fc 00002f59: JUMP 00002f5a: JUMPDEST 00002f5b: PUSH1 0x20 00002f5d: SWAP1 00002f5e: DUP2 00002f5f: MUL 00002f60: SWAP2 00002f61: SWAP1 00002f62: SWAP2 00002f63: ADD 00002f64: ADD 00002f65: MSTORE 00002f66: PUSH1 0x01 00002f68: PUSH2 0x2f73 00002f6b: PUSH1 0x80 00002f6d: PUSH1 0x02 00002f6f: PUSH2 0x43f1 00002f72: JUMP 00002f73: JUMPDEST 00002f74: PUSH2 0x2f7d 00002f77: SWAP2 00002f78: SWAP1 00002f79: PUSH2 0x421e 00002f7c: JUMP 00002f7d: JUMPDEST 00002f7e: DUP5 00002f7f: AND 00002f80: DUP2 00002f81: PUSH1 0x01 00002f83: DUP2 00002f84: MLOAD 00002f85: DUP2 00002f86: LT 00002f87: PUSH2 0x2f92 00002f8a: JUMPI 00002f8b: PUSH2 0x2f92 00002f8e: PUSH2 0x43fc 00002f91: JUMP 00002f92: JUMPDEST 00002f93: PUSH1 0x20 00002f95: MUL 00002f96: PUSH1 0x20 00002f98: ADD 00002f99: ADD 00002f9a: DUP2 00002f9b: DUP2 00002f9c: MSTORE 00002f9d: POP 00002f9e: POP 00002f9f: PUSH1 0x80 00002fa1: DUP5 00002fa2: SWAP1 00002fa3: SHR 00002fa4: DUP2 00002fa5: PUSH1 0x02 00002fa7: DUP2 00002fa8: MLOAD 00002fa9: DUP2 00002faa: LT 00002fab: PUSH2 0x2fb6 00002fae: JUMPI 00002faf: PUSH2 0x2fb6 00002fb2: PUSH2 0x43fc 00002fb5: JUMP 00002fb6: JUMPDEST 00002fb7: PUSH1 0x20 00002fb9: SWAP1 00002fba: DUP2 00002fbb: MUL 00002fbc: SWAP2 00002fbd: SWAP1 00002fbe: SWAP2 00002fbf: ADD 00002fc0: ADD 00002fc1: MSTORE 00002fc2: SWAP4 00002fc3: SWAP3 00002fc4: POP 00002fc5: POP 00002fc6: POP 00002fc7: JUMP 00002fc8: JUMPDEST 00002fc9: PUSH0 00002fca: DUP2 00002fcb: ISZERO 00002fcc: DUP1 00002fcd: ISZERO 00002fce: SWAP1 00002fcf: PUSH2 0x1298 00002fd2: JUMPI 00002fd3: POP 00002fd4: PUSH2 0x1298 00002fd7: DUP3 00002fd8: PUSH1 0x01 00002fda: PUSH8 0x0800000000000011 00002fe3: PUSH1 0xc0 00002fe5: SHL 00002fe6: ADD 00002fe7: GT 00002fe8: SWAP1 00002fe9: JUMP 00002fea: JUMPDEST 00002feb: PUSH2 0x0a95 00002fee: PUSH1 0x40 00002ff0: MLOAD 00002ff1: DUP1 00002ff2: PUSH1 0x60 00002ff4: ADD 00002ff5: PUSH1 0x40 00002ff7: MSTORE 00002ff8: DUP1 00002ff9: PUSH1 0x27 00002ffb: DUP2 00002ffc: MSTORE 00002ffd: PUSH1 0x20 00002fff: ADD 00003000: PUSH2 0x46b3 00003003: PUSH1 0x27 00003005: SWAP2 00003006: CODECOPY 00003007: DUP3 00003008: PUSH2 0x37d3 0000300b: JUMP 0000300c: JUMPDEST 0000300d: PUSH0 0000300e: PUSH2 0x0c8f 00003011: PUSH5 0x012a05f200 00003017: PUSH2 0x4e20 0000301a: PUSH2 0x416e 0000301d: JUMP 0000301e: JUMPDEST 0000301f: PUSH1 0x60 00003021: PUSH0 00003022: DUP4 00003023: PUSH2 0x302d 00003026: JUMPI 00003027: PUSH1 0x05 00003029: PUSH2 0x3039 0000302c: JUMP 0000302d: JUMPDEST 0000302e: PUSH2 0x3039 00003031: PUSH1 0x01 00003033: PUSH1 0x05 00003035: PUSH2 0x4185 00003038: JUMP 00003039: JUMPDEST 0000303a: SWAP1 0000303b: POP 0000303c: PUSH0 0000303d: DUP4 0000303e: MLOAD 0000303f: DUP3 00003040: PUSH2 0x3049 00003043: SWAP2 00003044: SWAP1 00003045: PUSH2 0x4185 00003048: JUMP 00003049: JUMPDEST 0000304a: PUSH8 0xffffffffffffffff 00003053: DUP2 00003054: GT 00003055: ISZERO 00003056: PUSH2 0x3061 00003059: JUMPI 0000305a: PUSH2 0x3061 0000305d: PUSH2 0x4097 00003060: JUMP 00003061: JUMPDEST 00003062: PUSH1 0x40 00003064: MLOAD 00003065: SWAP1 00003066: DUP1 00003067: DUP3 00003068: MSTORE 00003069: DUP1 0000306a: PUSH1 0x20 0000306c: MUL 0000306d: PUSH1 0x20 0000306f: ADD 00003070: DUP3 00003071: ADD 00003072: PUSH1 0x40 00003074: MSTORE 00003075: DUP1 00003076: ISZERO 00003077: PUSH2 0x308a 0000307a: JUMPI 0000307b: DUP2 0000307c: PUSH1 0x20 0000307e: ADD 0000307f: PUSH1 0x20 00003081: DUP3 00003082: MUL 00003083: DUP1 00003084: CALLDATASIZE 00003085: DUP4 00003086: CALLDATACOPY 00003087: ADD 00003088: SWAP1 00003089: POP 0000308a: JUMPDEST 0000308b: POP 0000308c: SWAP1 0000308d: POP 0000308e: DUP8 0000308f: PUSH1 0x01 00003091: PUSH1 0x01 00003093: PUSH1 0xa0 00003095: SHL 00003096: SUB 00003097: AND 00003098: DUP2 00003099: PUSH0 0000309a: DUP2 0000309b: MLOAD 0000309c: DUP2 0000309d: LT 0000309e: PUSH2 0x30a9 000030a1: JUMPI 000030a2: PUSH2 0x30a9 000030a5: PUSH2 0x43fc 000030a8: JUMP 000030a9: JUMPDEST 000030aa: PUSH1 0x20 000030ac: MUL 000030ad: PUSH1 0x20 000030af: ADD 000030b0: ADD 000030b1: DUP2 000030b2: DUP2 000030b3: MSTORE 000030b4: POP 000030b5: POP 000030b6: CALLER 000030b7: PUSH1 0x01 000030b9: PUSH1 0x01 000030bb: PUSH1 0xa0 000030bd: SHL 000030be: SUB 000030bf: AND 000030c0: DUP2 000030c1: PUSH1 0x01 000030c3: DUP2 000030c4: MLOAD 000030c5: DUP2 000030c6: LT 000030c7: PUSH2 0x30d2 000030ca: JUMPI 000030cb: PUSH2 0x30d2 000030ce: PUSH2 0x43fc 000030d1: JUMP 000030d2: JUMPDEST 000030d3: PUSH1 0x20 000030d5: MUL 000030d6: PUSH1 0x20 000030d8: ADD 000030d9: ADD 000030da: DUP2 000030db: DUP2 000030dc: MSTORE 000030dd: POP 000030de: POP 000030df: DUP6 000030e0: DUP2 000030e1: PUSH1 0x02 000030e3: DUP2 000030e4: MLOAD 000030e5: DUP2 000030e6: LT 000030e7: PUSH2 0x30f2 000030ea: JUMPI 000030eb: PUSH2 0x30f2 000030ee: PUSH2 0x43fc 000030f1: JUMP 000030f2: JUMPDEST 000030f3: PUSH1 0x20 000030f5: SWAP1 000030f6: DUP2 000030f7: MUL 000030f8: SWAP2 000030f9: SWAP1 000030fa: SWAP2 000030fb: ADD 000030fc: ADD 000030fd: MSTORE 000030fe: PUSH1 0x01 00003100: PUSH2 0x310b 00003103: PUSH1 0x80 00003105: PUSH1 0x02 00003107: PUSH2 0x43f1 0000310a: JUMP 0000310b: JUMPDEST 0000310c: PUSH2 0x3115 0000310f: SWAP2 00003110: SWAP1 00003111: PUSH2 0x421e 00003114: JUMP 00003115: JUMPDEST 00003116: DUP8 00003117: AND 00003118: DUP2 00003119: PUSH1 0x03 0000311b: DUP2 0000311c: MLOAD 0000311d: DUP2 0000311e: LT 0000311f: PUSH2 0x312a 00003122: JUMPI 00003123: PUSH2 0x312a 00003126: PUSH2 0x43fc 00003129: JUMP 0000312a: JUMPDEST 0000312b: PUSH1 0x20 0000312d: MUL 0000312e: PUSH1 0x20 00003130: ADD 00003131: ADD 00003132: DUP2 00003133: DUP2 00003134: MSTORE 00003135: POP 00003136: POP 00003137: PUSH1 0x80 00003139: DUP8 0000313a: SWAP1 0000313b: SHR 0000313c: DUP2 0000313d: PUSH1 0x04 0000313f: DUP2 00003140: MLOAD 00003141: DUP2 00003142: LT 00003143: PUSH2 0x314e 00003146: JUMPI 00003147: PUSH2 0x314e 0000314a: PUSH2 0x43fc 0000314d: JUMP 0000314e: JUMPDEST 0000314f: PUSH1 0x20 00003151: MUL 00003152: PUSH1 0x20 00003154: ADD 00003155: ADD 00003156: DUP2 00003157: DUP2 00003158: MSTORE 00003159: POP 0000315a: POP 0000315b: DUP5 0000315c: ISZERO 0000315d: PUSH2 0x325e 00003160: JUMPI 00003161: DUP4 00003162: MLOAD 00003163: DUP2 00003164: PUSH2 0x316e 00003167: PUSH1 0x01 00003169: DUP6 0000316a: PUSH2 0x421e 0000316d: JUMP 0000316e: JUMPDEST 0000316f: DUP2 00003170: MLOAD 00003171: DUP2 00003172: LT 00003173: PUSH2 0x317e 00003176: JUMPI 00003177: PUSH2 0x317e 0000317a: PUSH2 0x43fc 0000317d: JUMP 0000317e: JUMPDEST 0000317f: PUSH1 0x20 00003181: MUL 00003182: PUSH1 0x20 00003184: ADD 00003185: ADD 00003186: DUP2 00003187: DUP2 00003188: MSTORE 00003189: POP 0000318a: POP 0000318b: PUSH0 0000318c: JUMPDEST 0000318d: DUP5 0000318e: MLOAD 0000318f: DUP2 00003190: LT 00003191: ISZERO 00003192: PUSH2 0x325c 00003195: JUMPI 00003196: PUSH2 0x31c5 00003199: DUP6 0000319a: DUP3 0000319b: DUP2 0000319c: MLOAD 0000319d: DUP2 0000319e: LT 0000319f: PUSH2 0x31aa 000031a2: JUMPI 000031a3: PUSH2 0x31aa 000031a6: PUSH2 0x43fc 000031a9: JUMP 000031aa: JUMPDEST 000031ab: PUSH1 0x20 000031ad: MUL 000031ae: PUSH1 0x20 000031b0: ADD 000031b1: ADD 000031b2: MLOAD 000031b3: PUSH1 0x01 000031b5: PUSH8 0x0800000000000011 000031be: PUSH1 0xc0 000031c0: SHL 000031c1: ADD 000031c2: GT 000031c3: SWAP1 000031c4: JUMP 000031c5: JUMPDEST 000031c6: PUSH2 0x3208 000031c9: JUMPI 000031ca: PUSH1 0x40 000031cc: MLOAD 000031cd: PUSH3 0x461bcd 000031d1: PUSH1 0xe5 000031d3: SHL 000031d4: DUP2 000031d5: MSTORE 000031d6: PUSH1 0x20 000031d8: PUSH1 0x04 000031da: DUP3 000031db: ADD 000031dc: MSTORE 000031dd: PUSH1 0x14 000031df: PUSH1 0x24 000031e1: DUP3 000031e2: ADD 000031e3: MSTORE 000031e4: PUSH20 0x494e56414c49445f4d4553534147455f44415441 000031f9: PUSH1 0x60 000031fb: SHL 000031fc: PUSH1 0x44 000031fe: DUP3 000031ff: ADD 00003200: MSTORE 00003201: PUSH1 0x64 00003203: ADD 00003204: PUSH2 0x0b55 00003207: JUMP 00003208: JUMPDEST 00003209: DUP5 0000320a: DUP2 0000320b: DUP2 0000320c: MLOAD 0000320d: DUP2 0000320e: LT 0000320f: PUSH2 0x321a 00003212: JUMPI 00003213: PUSH2 0x321a 00003216: PUSH2 0x43fc 00003219: JUMP 0000321a: JUMPDEST 0000321b: PUSH1 0x20 0000321d: MUL 0000321e: PUSH1 0x20 00003220: ADD 00003221: ADD 00003222: MLOAD 00003223: DUP3 00003224: DUP5 00003225: DUP4 00003226: PUSH2 0x322f 00003229: SWAP2 0000322a: SWAP1 0000322b: PUSH2 0x4185 0000322e: JUMP 0000322f: JUMPDEST 00003230: DUP2 00003231: MLOAD 00003232: DUP2 00003233: LT 00003234: PUSH2 0x323f 00003237: JUMPI 00003238: PUSH2 0x323f 0000323b: PUSH2 0x43fc 0000323e: JUMP 0000323f: JUMPDEST 00003240: PUSH1 0x20 00003242: SWAP1 00003243: DUP2 00003244: MUL 00003245: SWAP2 00003246: SWAP1 00003247: SWAP2 00003248: ADD 00003249: ADD 0000324a: MSTORE 0000324b: DUP1 0000324c: PUSH2 0x3254 0000324f: DUP2 00003250: PUSH2 0x4503 00003253: JUMP 00003254: JUMPDEST 00003255: SWAP2 00003256: POP 00003257: POP 00003258: PUSH2 0x318c 0000325b: JUMP 0000325c: JUMPDEST 0000325d: POP 0000325e: JUMPDEST 0000325f: SWAP8 00003260: SWAP7 00003261: POP 00003262: POP 00003263: POP 00003264: POP 00003265: POP 00003266: POP 00003267: POP 00003268: JUMP 00003269: JUMPDEST 0000326a: PUSH0 0000326b: DUP1 0000326c: DUP3 0000326d: PUSH1 0x40 0000326f: MLOAD 00003270: PUSH1 0x20 00003272: ADD 00003273: PUSH2 0x327c 00003276: SWAP2 00003277: SWAP1 00003278: PUSH2 0x42ca 0000327b: JUMP 0000327c: JUMPDEST 0000327d: PUSH1 0x40 0000327f: DUP1 00003280: MLOAD 00003281: PUSH1 0x1f 00003283: NOT 00003284: DUP2 00003285: DUP5 00003286: SUB 00003287: ADD 00003288: DUP2 00003289: MSTORE 0000328a: SWAP2 0000328b: SWAP1 0000328c: MSTORE 0000328d: DUP1 0000328e: MLOAD 0000328f: PUSH1 0x20 00003291: SWAP1 00003292: SWAP2 00003293: ADD 00003294: KECCAK256 00003295: SLOAD 00003296: SWAP4 00003297: SWAP3 00003298: POP 00003299: POP 0000329a: POP 0000329b: JUMP 0000329c: JUMPDEST 0000329d: PUSH0 0000329e: SWAP1 0000329f: DUP2 000032a0: MSTORE 000032a1: PUSH0 000032a2: DUP1 000032a3: MLOAD 000032a4: PUSH1 0x20 000032a6: PUSH2 0x4693 000032a9: DUP4 000032aa: CODECOPY 000032ab: DUP2 000032ac: MLOAD 000032ad: SWAP2 000032ae: MSTORE 000032af: PUSH1 0x20 000032b1: MSTORE 000032b2: PUSH1 0x40 000032b4: SWAP1 000032b5: KECCAK256 000032b6: PUSH1 0x01 000032b8: ADD 000032b9: SLOAD 000032ba: SWAP1 000032bb: JUMP 000032bc: JUMPDEST 000032bd: PUSH2 0x0a95 000032c0: DUP2 000032c1: CALLER 000032c2: PUSH2 0x3821 000032c5: JUMP 000032c6: JUMPDEST 000032c7: PUSH2 0x32d0 000032ca: DUP3 000032cb: DUP3 000032cc: PUSH2 0x27b8 000032cf: JUMP 000032d0: JUMPDEST 000032d1: PUSH2 0x0a7a 000032d4: JUMPI 000032d5: PUSH0 000032d6: DUP3 000032d7: DUP2 000032d8: MSTORE 000032d9: PUSH0 000032da: DUP1 000032db: MLOAD 000032dc: PUSH1 0x20 000032de: PUSH2 0x4693 000032e1: DUP4 000032e2: CODECOPY 000032e3: DUP2 000032e4: MLOAD 000032e5: SWAP2 000032e6: MSTORE 000032e7: PUSH1 0x20 000032e9: SWAP1 000032ea: DUP2 000032eb: MSTORE 000032ec: PUSH1 0x40 000032ee: DUP1 000032ef: DUP4 000032f0: KECCAK256 000032f1: PUSH1 0x01 000032f3: PUSH1 0x01 000032f5: PUSH1 0xa0 000032f7: SHL 000032f8: SUB 000032f9: DUP6 000032fa: AND 000032fb: DUP1 000032fc: DUP6 000032fd: MSTORE 000032fe: SWAP3 000032ff: MSTORE 00003300: DUP1 00003301: DUP4 00003302: KECCAK256 00003303: DUP1 00003304: SLOAD 00003305: PUSH1 0xff 00003307: NOT 00003308: AND 00003309: PUSH1 0x01 0000330b: OR 0000330c: SWAP1 0000330d: SSTORE 0000330e: MLOAD 0000330f: CALLER 00003310: SWAP3 00003311: DUP6 00003312: SWAP2 00003313: PUSH32 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d 00003334: SWAP2 00003335: SWAP1 00003336: LOG4 00003337: POP 00003338: POP 00003339: JUMP 0000333a: JUMPDEST 0000333b: PUSH32 0x000000000000000000000000000000000000000000000000000000e8d4a51000 0000335c: DUP2 0000335d: LT 0000335e: ISZERO 0000335f: PUSH2 0x33a3 00003362: JUMPI 00003363: PUSH1 0x40 00003365: MLOAD 00003366: PUSH3 0x461bcd 0000336a: PUSH1 0xe5 0000336c: SHL 0000336d: DUP2 0000336e: MSTORE 0000336f: PUSH1 0x20 00003371: PUSH1 0x04 00003373: DUP3 00003374: ADD 00003375: MSTORE 00003376: PUSH1 0x16 00003378: PUSH1 0x24 0000337a: DUP3 0000337b: ADD 0000337c: MSTORE 0000337d: PUSH22 0x494e53554646494349454e545f4645455f56414c5545 00003394: PUSH1 0x50 00003396: SHL 00003397: PUSH1 0x44 00003399: DUP3 0000339a: ADD 0000339b: MSTORE 0000339c: PUSH1 0x64 0000339e: ADD 0000339f: PUSH2 0x0b55 000033a2: JUMP 000033a3: JUMPDEST 000033a4: PUSH7 0x2386f26fc10000 000033ac: DUP2 000033ad: GT 000033ae: ISZERO 000033af: PUSH2 0x0a95 000033b2: JUMPI 000033b3: PUSH1 0x40 000033b5: MLOAD 000033b6: PUSH3 0x461bcd 000033ba: PUSH1 0xe5 000033bc: SHL 000033bd: DUP2 000033be: MSTORE 000033bf: PUSH1 0x20 000033c1: PUSH1 0x04 000033c3: DUP3 000033c4: ADD 000033c5: MSTORE 000033c6: PUSH1 0x12 000033c8: PUSH1 0x24 000033ca: DUP3 000033cb: ADD 000033cc: MSTORE 000033cd: PUSH18 0x08c8a8abeac8298aa8abea89e9ebe90928e9 000033e0: PUSH1 0x73 000033e2: SHL 000033e3: PUSH1 0x44 000033e5: DUP3 000033e6: ADD 000033e7: MSTORE 000033e8: PUSH1 0x64 000033ea: ADD 000033eb: PUSH2 0x0b55 000033ee: JUMP 000033ef: JUMPDEST 000033f0: DUP1 000033f1: PUSH0 000033f2: SUB 000033f3: PUSH2 0x33fa 000033f6: JUMPI 000033f7: POP 000033f8: POP 000033f9: JUMP 000033fa: JUMPDEST 000033fb: PUSH0 000033fc: DUP3 000033fd: PUSH1 0x01 000033ff: PUSH1 0x01 00003401: PUSH1 0xa0 00003403: SHL 00003404: SUB 00003405: AND 00003406: DUP3 00003407: PUSH1 0x40 00003409: MLOAD 0000340a: PUSH0 0000340b: PUSH1 0x40 0000340d: MLOAD 0000340e: DUP1 0000340f: DUP4 00003410: SUB 00003411: DUP2 00003412: DUP6 00003413: DUP8 00003414: GAS 00003415: CALL 00003416: SWAP3 00003417: POP 00003418: POP 00003419: POP 0000341a: RETURNDATASIZE 0000341b: DUP1 0000341c: PUSH0 0000341d: DUP2 0000341e: EQ 0000341f: PUSH2 0x3443 00003422: JUMPI 00003423: PUSH1 0x40 00003425: MLOAD 00003426: SWAP2 00003427: POP 00003428: PUSH1 0x1f 0000342a: NOT 0000342b: PUSH1 0x3f 0000342d: RETURNDATASIZE 0000342e: ADD 0000342f: AND 00003430: DUP3 00003431: ADD 00003432: PUSH1 0x40 00003434: MSTORE 00003435: RETURNDATASIZE 00003436: DUP3 00003437: MSTORE 00003438: RETURNDATASIZE 00003439: PUSH0 0000343a: PUSH1 0x20 0000343c: DUP5 0000343d: ADD 0000343e: RETURNDATACOPY 0000343f: PUSH2 0x3448 00003442: JUMP 00003443: JUMPDEST 00003444: PUSH1 0x60 00003446: SWAP2 00003447: POP 00003448: JUMPDEST 00003449: POP 0000344a: POP 0000344b: SWAP1 0000344c: POP 0000344d: DUP1 0000344e: PUSH2 0x23e7 00003451: JUMPI 00003452: PUSH1 0x40 00003454: MLOAD 00003455: PUSH3 0x461bcd 00003459: PUSH1 0xe5 0000345b: SHL 0000345c: DUP2 0000345d: MSTORE 0000345e: PUSH1 0x20 00003460: PUSH1 0x04 00003462: DUP3 00003463: ADD 00003464: MSTORE 00003465: PUSH1 0x13 00003467: PUSH1 0x24 00003469: DUP3 0000346a: ADD 0000346b: MSTORE 0000346c: PUSH19 0x11551217d514905394d1915497d19052531151 00003480: PUSH1 0x6a 00003482: SHL 00003483: PUSH1 0x44 00003485: DUP3 00003486: ADD 00003487: MSTORE 00003488: PUSH1 0x64 0000348a: ADD 0000348b: PUSH2 0x0b55 0000348e: JUMP 0000348f: JUMPDEST 00003490: PUSH2 0x3499 00003493: DUP3 00003494: DUP3 00003495: PUSH2 0x27b8 00003498: JUMP 00003499: JUMPDEST 0000349a: ISZERO 0000349b: PUSH2 0x0a7a 0000349e: JUMPI 0000349f: PUSH0 000034a0: DUP3 000034a1: DUP2 000034a2: MSTORE 000034a3: PUSH0 000034a4: DUP1 000034a5: MLOAD 000034a6: PUSH1 0x20 000034a8: PUSH2 0x4693 000034ab: DUP4 000034ac: CODECOPY 000034ad: DUP2 000034ae: MLOAD 000034af: SWAP2 000034b0: MSTORE 000034b1: PUSH1 0x20 000034b3: SWAP1 000034b4: DUP2 000034b5: MSTORE 000034b6: PUSH1 0x40 000034b8: DUP1 000034b9: DUP4 000034ba: KECCAK256 000034bb: PUSH1 0x01 000034bd: PUSH1 0x01 000034bf: PUSH1 0xa0 000034c1: SHL 000034c2: SUB 000034c3: DUP6 000034c4: AND 000034c5: DUP1 000034c6: DUP6 000034c7: MSTORE 000034c8: SWAP3 000034c9: MSTORE 000034ca: DUP1 000034cb: DUP4 000034cc: KECCAK256 000034cd: DUP1 000034ce: SLOAD 000034cf: PUSH1 0xff 000034d1: NOT 000034d2: AND 000034d3: SWAP1 000034d4: SSTORE 000034d5: MLOAD 000034d6: CALLER 000034d7: SWAP3 000034d8: DUP6 000034d9: SWAP2 000034da: PUSH32 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b 000034fb: SWAP2 000034fc: SWAP1 000034fd: LOG4 000034fe: POP 000034ff: POP 00003500: JUMP 00003501: JUMPDEST 00003502: PUSH2 0x0a95 00003505: PUSH1 0x40 00003507: MLOAD 00003508: DUP1 00003509: PUSH1 0x60 0000350b: ADD 0000350c: PUSH1 0x40 0000350e: MSTORE 0000350f: DUP1 00003510: PUSH1 0x28 00003512: DUP2 00003513: MSTORE 00003514: PUSH1 0x20 00003516: ADD 00003517: PUSH2 0x45c4 0000351a: PUSH1 0x28 0000351c: SWAP2 0000351d: CODECOPY 0000351e: DUP3 0000351f: PUSH2 0x3885 00003522: JUMP 00003523: JUMPDEST 00003524: PUSH2 0x0a95 00003527: PUSH1 0x40 00003529: MLOAD 0000352a: DUP1 0000352b: PUSH1 0x60 0000352d: ADD 0000352e: PUSH1 0x40 00003530: MSTORE 00003531: DUP1 00003532: PUSH1 0x26 00003534: DUP2 00003535: MSTORE 00003536: PUSH1 0x20 00003538: ADD 00003539: PUSH2 0x473a 0000353c: PUSH1 0x26 0000353e: SWAP2 0000353f: CODECOPY 00003540: DUP3 00003541: PUSH2 0x3885 00003544: JUMP 00003545: JUMPDEST 00003546: PUSH2 0x0a95 00003549: PUSH1 0x40 0000354b: MLOAD 0000354c: DUP1 0000354d: PUSH1 0x60 0000354f: ADD 00003550: PUSH1 0x40 00003552: MSTORE 00003553: DUP1 00003554: PUSH1 0x2b 00003556: DUP2 00003557: MSTORE 00003558: PUSH1 0x20 0000355a: ADD 0000355b: PUSH2 0x4760 0000355e: PUSH1 0x2b 00003560: SWAP2 00003561: CODECOPY 00003562: DUP3 00003563: PUSH2 0x38d3 00003566: JUMP 00003567: JUMPDEST 00003568: PUSH2 0x356f 0000356b: PUSH2 0x3905 0000356e: JUMP 0000356f: JUMPDEST 00003570: ISZERO 00003571: PUSH2 0x35dc 00003574: JUMPI 00003575: PUSH2 0x358b 00003578: PUSH0 00003579: DUP1 0000357a: MLOAD 0000357b: PUSH1 0x20 0000357d: PUSH2 0x45ec 00003580: DUP4 00003581: CODECOPY 00003582: DUP2 00003583: MLOAD 00003584: SWAP2 00003585: MSTORE 00003586: DUP4 00003587: PUSH2 0x27b8 0000358a: JUMP 0000358b: JUMPDEST 0000358c: PUSH2 0x35d7 0000358f: JUMPI 00003590: PUSH1 0x40 00003592: MLOAD 00003593: PUSH3 0x461bcd 00003597: PUSH1 0xe5 00003599: SHL 0000359a: DUP2 0000359b: MSTORE 0000359c: PUSH1 0x20 0000359e: PUSH1 0x04 000035a0: DUP3 000035a1: ADD 000035a2: MSTORE 000035a3: PUSH1 0x19 000035a5: PUSH1 0x24 000035a7: DUP3 000035a8: ADD 000035a9: MSTORE 000035aa: PUSH32 0x524f4c45535f414c52454144595f494e495449414c495a454400000000000000 000035cb: PUSH1 0x44 000035cd: DUP3 000035ce: ADD 000035cf: MSTORE 000035d0: PUSH1 0x64 000035d2: ADD 000035d3: PUSH2 0x0b55 000035d6: JUMP 000035d7: JUMPDEST 000035d8: PUSH2 0x35e5 000035db: JUMP 000035dc: JUMPDEST 000035dd: PUSH2 0x35e5 000035e0: DUP3 000035e1: PUSH2 0x3924 000035e4: JUMP 000035e5: JUMPDEST 000035e6: PUSH2 0x35ed 000035e9: PUSH2 0x3a06 000035ec: JUMP 000035ed: JUMPDEST 000035ee: ISZERO 000035ef: PUSH2 0x3660 000035f2: JUMPI 000035f3: PUSH2 0x3609 000035f6: PUSH0 000035f7: DUP1 000035f8: MLOAD 000035f9: PUSH1 0x20 000035fb: PUSH2 0x460c 000035fe: DUP4 000035ff: CODECOPY 00003600: DUP2 00003601: MLOAD 00003602: SWAP2 00003603: MSTORE 00003604: DUP3 00003605: PUSH2 0x27b8 00003608: JUMP 00003609: JUMPDEST 0000360a: PUSH2 0x0a7a 0000360d: JUMPI 0000360e: PUSH1 0x40 00003610: MLOAD 00003611: PUSH3 0x461bcd 00003615: PUSH1 0xe5 00003617: SHL 00003618: DUP2 00003619: MSTORE 0000361a: PUSH1 0x20 0000361c: PUSH1 0x04 0000361e: DUP3 0000361f: ADD 00003620: MSTORE 00003621: PUSH1 0x22 00003623: PUSH1 0x24 00003625: DUP3 00003626: ADD 00003627: MSTORE 00003628: PUSH32 0x53454355524954595f524f4c45535f414c52454144595f494e495449414c495a 00003649: PUSH1 0x44 0000364b: DUP3 0000364c: ADD 0000364d: MSTORE 0000364e: PUSH2 0x1151 00003651: PUSH1 0xf2 00003653: SHL 00003654: PUSH1 0x64 00003656: DUP3 00003657: ADD 00003658: MSTORE 00003659: PUSH1 0x84 0000365b: ADD 0000365c: PUSH2 0x0b55 0000365f: JUMP 00003660: JUMPDEST 00003661: PUSH2 0x0a7a 00003664: DUP2 00003665: PUSH2 0x3a1e 00003668: JUMP 00003669: JUMPDEST 0000366a: PUSH0 0000366b: PUSH2 0x3672 0000366e: PUSH2 0x3a70 00003671: JUMP 00003672: JUMPDEST 00003673: PUSH0 00003674: PUSH2 0x367c 00003677: DUP5 00003678: PUSH2 0x3a92 0000367b: JUMP 0000367c: JUMPDEST 0000367d: DUP2 0000367e: MSTORE 0000367f: PUSH1 0x20 00003681: ADD 00003682: SWAP1 00003683: DUP2 00003684: MSTORE 00003685: PUSH1 0x20 00003687: ADD 00003688: PUSH0 00003689: KECCAK256 0000368a: SLOAD 0000368b: PUSH0 0000368c: EQ 0000368d: ISZERO 0000368e: SWAP1 0000368f: POP 00003690: SWAP2 00003691: SWAP1 00003692: POP 00003693: JUMP 00003694: JUMPDEST 00003695: PUSH0 00003696: DUP1 00003697: PUSH3 0x455447 0000369b: NOT 0000369c: PUSH1 0x01 0000369e: PUSH1 0x01 000036a0: PUSH1 0xa0 000036a2: SHL 000036a3: SUB 000036a4: DUP5 000036a5: AND 000036a6: ADD 000036a7: PUSH2 0x36b1 000036aa: JUMPI 000036ab: POP 000036ac: SELFBALANCE 000036ad: PUSH2 0x371a 000036b0: JUMP 000036b1: JUMPDEST 000036b2: PUSH1 0x40 000036b4: MLOAD 000036b5: PUSH4 0x70a08231 000036ba: PUSH1 0xe0 000036bc: SHL 000036bd: DUP2 000036be: MSTORE 000036bf: ADDRESS 000036c0: PUSH1 0x04 000036c2: DUP3 000036c3: ADD 000036c4: MSTORE 000036c5: PUSH1 0x01 000036c7: PUSH1 0x01 000036c9: PUSH1 0xa0 000036cb: SHL 000036cc: SUB 000036cd: DUP5 000036ce: AND 000036cf: SWAP1 000036d0: PUSH4 0x70a08231 000036d5: SWAP1 000036d6: PUSH1 0x24 000036d8: ADD 000036d9: PUSH1 0x20 000036db: PUSH1 0x40 000036dd: MLOAD 000036de: DUP1 000036df: DUP4 000036e0: SUB 000036e1: DUP2 000036e2: DUP7 000036e3: GAS 000036e4: STATICCALL 000036e5: ISZERO 000036e6: DUP1 000036e7: ISZERO 000036e8: PUSH2 0x36f3 000036eb: JUMPI 000036ec: RETURNDATASIZE 000036ed: PUSH0 000036ee: DUP1 000036ef: RETURNDATACOPY 000036f0: RETURNDATASIZE 000036f1: PUSH0 000036f2: REVERT 000036f3: JUMPDEST 000036f4: POP 000036f5: POP 000036f6: POP 000036f7: POP 000036f8: PUSH1 0x40 000036fa: MLOAD 000036fb: RETURNDATASIZE 000036fc: PUSH1 0x1f 000036fe: NOT 000036ff: PUSH1 0x1f 00003701: DUP3 00003702: ADD 00003703: AND 00003704: DUP3 00003705: ADD 00003706: DUP1 00003707: PUSH1 0x40 00003709: MSTORE 0000370a: POP 0000370b: DUP2 0000370c: ADD 0000370d: SWAP1 0000370e: PUSH2 0x3717 00003711: SWAP2 00003712: SWAP1 00003713: PUSH2 0x4113 00003716: JUMP 00003717: JUMPDEST 00003718: SWAP1 00003719: POP 0000371a: JUMPDEST 0000371b: PUSH0 0000371c: PUSH2 0x3723 0000371f: PUSH2 0x3ade 00003722: JUMP 00003723: JUMPDEST 00003724: SWAP1 00003725: POP 00003726: PUSH1 0x64 00003728: PUSH2 0x3731 0000372b: DUP3 0000372c: DUP5 0000372d: PUSH2 0x416e 00003730: JUMP 00003731: JUMPDEST 00003732: PUSH2 0x373b 00003735: SWAP2 00003736: SWAP1 00003737: PUSH2 0x451b 0000373a: JUMP 0000373b: JUMPDEST 0000373c: SWAP5 0000373d: SWAP4 0000373e: POP 0000373f: POP 00003740: POP 00003741: POP 00003742: JUMP 00003743: JUMPDEST 00003744: PUSH0 00003745: PUSH1 0x01 00003747: PUSH2 0x374e 0000374a: PUSH2 0x3a70 0000374d: JUMP 0000374e: JUMPDEST 0000374f: PUSH0 00003750: PUSH2 0x3758 00003753: DUP6 00003754: PUSH2 0x3a92 00003757: JUMP 00003758: JUMPDEST 00003759: DUP2 0000375a: MSTORE 0000375b: PUSH1 0x20 0000375d: ADD 0000375e: SWAP1 0000375f: DUP2 00003760: MSTORE 00003761: PUSH1 0x20 00003763: ADD 00003764: PUSH0 00003765: KECCAK256 00003766: SLOAD 00003767: PUSH2 0x1298 0000376a: SWAP2 0000376b: SWAP1 0000376c: PUSH2 0x421e 0000376f: JUMP 00003770: JUMPDEST 00003771: PUSH2 0x377b 00003774: PUSH1 0x01 00003776: DUP3 00003777: PUSH2 0x4185 0000377a: JUMP 0000377b: JUMPDEST 0000377c: PUSH2 0x3783 0000377f: PUSH2 0x3a70 00003782: JUMP 00003783: JUMPDEST 00003784: PUSH0 00003785: PUSH2 0x378d 00003788: DUP6 00003789: PUSH2 0x3a92 0000378c: JUMP 0000378d: JUMPDEST 0000378e: DUP2 0000378f: MSTORE 00003790: PUSH1 0x20 00003792: DUP2 00003793: ADD 00003794: SWAP2 00003795: SWAP1 00003796: SWAP2 00003797: MSTORE 00003798: PUSH1 0x40 0000379a: ADD 0000379b: PUSH0 0000379c: KECCAK256 0000379d: SSTORE 0000379e: POP 0000379f: POP 000037a0: JUMP 000037a1: JUMPDEST 000037a2: PUSH0 000037a3: DUP1 000037a4: DUP3 000037a5: PUSH1 0x40 000037a7: MLOAD 000037a8: PUSH1 0x20 000037aa: ADD 000037ab: PUSH2 0x37b4 000037ae: SWAP2 000037af: SWAP1 000037b0: PUSH2 0x42ca 000037b3: JUMP 000037b4: JUMPDEST 000037b5: PUSH1 0x40 000037b7: DUP1 000037b8: MLOAD 000037b9: PUSH1 0x1f 000037bb: NOT 000037bc: DUP2 000037bd: DUP5 000037be: SUB 000037bf: ADD 000037c0: DUP2 000037c1: MSTORE 000037c2: SWAP2 000037c3: SWAP1 000037c4: MSTORE 000037c5: DUP1 000037c6: MLOAD 000037c7: PUSH1 0x20 000037c9: SWAP1 000037ca: SWAP2 000037cb: ADD 000037cc: KECCAK256 000037cd: SWAP4 000037ce: SWAP3 000037cf: POP 000037d0: POP 000037d1: POP 000037d2: JUMP 000037d3: JUMPDEST 000037d4: PUSH2 0x37dc 000037d7: DUP3 000037d8: PUSH2 0x3269 000037db: JUMP 000037dc: JUMPDEST 000037dd: ISZERO 000037de: PUSH2 0x3817 000037e1: JUMPI 000037e2: PUSH1 0x40 000037e4: MLOAD 000037e5: PUSH3 0x461bcd 000037e9: PUSH1 0xe5 000037eb: SHL 000037ec: DUP2 000037ed: MSTORE 000037ee: PUSH1 0x20 000037f0: PUSH1 0x04 000037f2: DUP3 000037f3: ADD 000037f4: MSTORE 000037f5: PUSH1 0x0b 000037f7: PUSH1 0x24 000037f9: DUP3 000037fa: ADD 000037fb: MSTORE 000037fc: PUSH11 0x1053149150511657d4d155 00003808: PUSH1 0xaa 0000380a: SHL 0000380b: PUSH1 0x44 0000380d: DUP3 0000380e: ADD 0000380f: MSTORE 00003810: PUSH1 0x64 00003812: ADD 00003813: PUSH2 0x0b55 00003816: JUMP 00003817: JUMPDEST 00003818: PUSH2 0x0a7a 0000381b: DUP3 0000381c: DUP3 0000381d: PUSH2 0x38d3 00003820: JUMP 00003821: JUMPDEST 00003822: PUSH2 0x382b 00003825: DUP3 00003826: DUP3 00003827: PUSH2 0x27b8 0000382a: JUMP 0000382b: JUMPDEST 0000382c: PUSH2 0x0a7a 0000382f: JUMPI 00003830: PUSH2 0x3843 00003833: DUP2 00003834: PUSH1 0x01 00003836: PUSH1 0x01 00003838: PUSH1 0xa0 0000383a: SHL 0000383b: SUB 0000383c: AND 0000383d: PUSH1 0x14 0000383f: PUSH2 0x3b00 00003842: JUMP 00003843: JUMPDEST 00003844: PUSH2 0x384e 00003847: DUP4 00003848: PUSH1 0x20 0000384a: PUSH2 0x3b00 0000384d: JUMP 0000384e: JUMPDEST 0000384f: PUSH1 0x40 00003851: MLOAD 00003852: PUSH1 0x20 00003854: ADD 00003855: PUSH2 0x385f 00003858: SWAP3 00003859: SWAP2 0000385a: SWAP1 0000385b: PUSH2 0x453a 0000385e: JUMP 0000385f: JUMPDEST 00003860: PUSH1 0x40 00003862: DUP1 00003863: MLOAD 00003864: PUSH1 0x1f 00003866: NOT 00003867: DUP2 00003868: DUP5 00003869: SUB 0000386a: ADD 0000386b: DUP2 0000386c: MSTORE 0000386d: SWAP1 0000386e: DUP3 0000386f: SWAP1 00003870: MSTORE 00003871: PUSH3 0x461bcd 00003875: PUSH1 0xe5 00003877: SHL 00003878: DUP3 00003879: MSTORE 0000387a: PUSH2 0x0b55 0000387d: SWAP2 0000387e: PUSH1 0x04 00003880: ADD 00003881: PUSH2 0x4065 00003884: JUMP 00003885: JUMPDEST 00003886: PUSH0 00003887: PUSH2 0x388f 0000388a: DUP4 0000388b: PUSH2 0x3269 0000388e: JUMP 0000388f: JUMPDEST 00003890: PUSH1 0x01 00003892: PUSH1 0x01 00003894: PUSH1 0xa0 00003896: SHL 00003897: SUB 00003898: AND 00003899: EQ 0000389a: PUSH2 0x3817 0000389d: JUMPI 0000389e: PUSH1 0x40 000038a0: MLOAD 000038a1: PUSH3 0x461bcd 000038a5: PUSH1 0xe5 000038a7: SHL 000038a8: DUP2 000038a9: MSTORE 000038aa: PUSH1 0x20 000038ac: PUSH1 0x04 000038ae: DUP3 000038af: ADD 000038b0: MSTORE 000038b1: PUSH1 0x0b 000038b3: PUSH1 0x24 000038b5: DUP3 000038b6: ADD 000038b7: MSTORE 000038b8: PUSH11 0x1053149150511657d4d155 000038c4: PUSH1 0xaa 000038c6: SHL 000038c7: PUSH1 0x44 000038c9: DUP3 000038ca: ADD 000038cb: MSTORE 000038cc: PUSH1 0x64 000038ce: ADD 000038cf: PUSH2 0x0b55 000038d2: JUMP 000038d3: JUMPDEST 000038d4: PUSH0 000038d5: DUP3 000038d6: PUSH1 0x40 000038d8: MLOAD 000038d9: PUSH1 0x20 000038db: ADD 000038dc: PUSH2 0x38e5 000038df: SWAP2 000038e0: SWAP1 000038e1: PUSH2 0x42ca 000038e4: JUMP 000038e5: JUMPDEST 000038e6: PUSH1 0x40 000038e8: MLOAD 000038e9: PUSH1 0x20 000038eb: DUP2 000038ec: DUP4 000038ed: SUB 000038ee: SUB 000038ef: DUP2 000038f0: MSTORE 000038f1: SWAP1 000038f2: PUSH1 0x40 000038f4: MSTORE 000038f5: DUP1 000038f6: MLOAD 000038f7: SWAP1 000038f8: PUSH1 0x20 000038fa: ADD 000038fb: KECCAK256 000038fc: SWAP1 000038fd: POP 000038fe: DUP2 000038ff: DUP2 00003900: SSTORE 00003901: POP 00003902: POP 00003903: POP 00003904: JUMP 00003905: JUMPDEST 00003906: PUSH0 00003907: DUP1 00003908: PUSH2 0x391d 0000390b: PUSH0 0000390c: DUP1 0000390d: MLOAD 0000390e: PUSH1 0x20 00003910: PUSH2 0x45ec 00003913: DUP4 00003914: CODECOPY 00003915: DUP2 00003916: MLOAD 00003917: SWAP2 00003918: MSTORE 00003919: PUSH2 0x329c 0000391c: JUMP 0000391d: JUMPDEST 0000391e: EQ 0000391f: ISZERO 00003920: SWAP1 00003921: POP 00003922: SWAP1 00003923: JUMP 00003924: JUMPDEST 00003925: PUSH2 0x393b 00003928: PUSH0 00003929: DUP1 0000392a: MLOAD 0000392b: PUSH1 0x20 0000392d: PUSH2 0x45ec 00003930: DUP4 00003931: CODECOPY 00003932: DUP2 00003933: MLOAD 00003934: SWAP2 00003935: MSTORE 00003936: DUP3 00003937: PUSH2 0x32c6 0000393a: JUMP 0000393b: JUMPDEST 0000393c: PUSH2 0x395f 0000393f: PUSH0 00003940: DUP1 00003941: MLOAD 00003942: PUSH1 0x20 00003944: PUSH2 0x4653 00003947: DUP4 00003948: CODECOPY 00003949: DUP2 0000394a: MLOAD 0000394b: SWAP2 0000394c: MSTORE 0000394d: PUSH0 0000394e: DUP1 0000394f: MLOAD 00003950: PUSH1 0x20 00003952: PUSH2 0x471a 00003955: DUP4 00003956: CODECOPY 00003957: DUP2 00003958: MLOAD 00003959: SWAP2 0000395a: MSTORE 0000395b: PUSH2 0x3c96 0000395e: JUMP 0000395f: JUMPDEST 00003960: PUSH2 0x3983 00003963: PUSH0 00003964: DUP1 00003965: MLOAD 00003966: PUSH1 0x20 00003968: PUSH2 0x471a 0000396b: DUP4 0000396c: CODECOPY 0000396d: DUP2 0000396e: MLOAD 0000396f: SWAP2 00003970: MSTORE 00003971: PUSH0 00003972: DUP1 00003973: MLOAD 00003974: PUSH1 0x20 00003976: PUSH2 0x45ec 00003979: DUP4 0000397a: CODECOPY 0000397b: DUP2 0000397c: MLOAD 0000397d: SWAP2 0000397e: MSTORE 0000397f: PUSH2 0x3c96 00003982: JUMP 00003983: JUMPDEST 00003984: PUSH2 0x399a 00003987: PUSH0 00003988: DUP1 00003989: MLOAD 0000398a: PUSH1 0x20 0000398c: PUSH2 0x45ec 0000398f: DUP4 00003990: CODECOPY 00003991: DUP2 00003992: MLOAD 00003993: SWAP2 00003994: MSTORE 00003995: DUP1 00003996: PUSH2 0x3c96 00003999: JUMP 0000399a: JUMPDEST 0000399b: PUSH2 0x39be 0000399e: PUSH0 0000399f: DUP1 000039a0: MLOAD 000039a1: PUSH1 0x20 000039a3: PUSH2 0x47f4 000039a6: DUP4 000039a7: CODECOPY 000039a8: DUP2 000039a9: MLOAD 000039aa: SWAP2 000039ab: MSTORE 000039ac: PUSH0 000039ad: DUP1 000039ae: MLOAD 000039af: PUSH1 0x20 000039b1: PUSH2 0x471a 000039b4: DUP4 000039b5: CODECOPY 000039b6: DUP2 000039b7: MLOAD 000039b8: SWAP2 000039b9: MSTORE 000039ba: PUSH2 0x3c96 000039bd: JUMP 000039be: JUMPDEST 000039bf: PUSH2 0x39e2 000039c2: PUSH0 000039c3: DUP1 000039c4: MLOAD 000039c5: PUSH1 0x20 000039c7: PUSH2 0x483d 000039ca: DUP4 000039cb: CODECOPY 000039cc: DUP2 000039cd: MLOAD 000039ce: SWAP2 000039cf: MSTORE 000039d0: PUSH0 000039d1: DUP1 000039d2: MLOAD 000039d3: PUSH1 0x20 000039d5: PUSH2 0x471a 000039d8: DUP4 000039d9: CODECOPY 000039da: DUP2 000039db: MLOAD 000039dc: SWAP2 000039dd: MSTORE 000039de: PUSH2 0x3c96 000039e1: JUMP 000039e2: JUMPDEST 000039e3: PUSH2 0x0a95 000039e6: PUSH0 000039e7: DUP1 000039e8: MLOAD 000039e9: PUSH1 0x20 000039eb: PUSH2 0x4673 000039ee: DUP4 000039ef: CODECOPY 000039f0: DUP2 000039f1: MLOAD 000039f2: SWAP2 000039f3: MSTORE 000039f4: PUSH0 000039f5: DUP1 000039f6: MLOAD 000039f7: PUSH1 0x20 000039f9: PUSH2 0x45ec 000039fc: DUP4 000039fd: CODECOPY 000039fe: DUP2 000039ff: MLOAD 00003a00: SWAP2 00003a01: MSTORE 00003a02: PUSH2 0x3c96 00003a05: JUMP 00003a06: JUMPDEST 00003a07: PUSH0 00003a08: DUP1 00003a09: PUSH2 0x391d 00003a0c: PUSH0 00003a0d: DUP1 00003a0e: MLOAD 00003a0f: PUSH1 0x20 00003a11: PUSH2 0x460c 00003a14: DUP4 00003a15: CODECOPY 00003a16: DUP2 00003a17: MLOAD 00003a18: SWAP2 00003a19: MSTORE 00003a1a: PUSH2 0x329c 00003a1d: JUMP 00003a1e: JUMPDEST 00003a1f: PUSH2 0x3a35 00003a22: PUSH0 00003a23: DUP1 00003a24: MLOAD 00003a25: PUSH1 0x20 00003a27: PUSH2 0x460c 00003a2a: DUP4 00003a2b: CODECOPY 00003a2c: DUP2 00003a2d: MLOAD 00003a2e: SWAP2 00003a2f: MSTORE 00003a30: DUP1 00003a31: PUSH2 0x3c96 00003a34: JUMP 00003a35: JUMPDEST 00003a36: PUSH2 0x3a59 00003a39: PUSH0 00003a3a: DUP1 00003a3b: MLOAD 00003a3c: PUSH1 0x20 00003a3e: PUSH2 0x46fa 00003a41: DUP4 00003a42: CODECOPY 00003a43: DUP2 00003a44: MLOAD 00003a45: SWAP2 00003a46: MSTORE 00003a47: PUSH0 00003a48: DUP1 00003a49: MLOAD 00003a4a: PUSH1 0x20 00003a4c: PUSH2 0x460c 00003a4f: DUP4 00003a50: CODECOPY 00003a51: DUP2 00003a52: MLOAD 00003a53: SWAP2 00003a54: MSTORE 00003a55: PUSH2 0x3c96 00003a58: JUMP 00003a59: JUMPDEST 00003a5a: PUSH2 0x0a95 00003a5d: PUSH0 00003a5e: DUP1 00003a5f: MLOAD 00003a60: PUSH1 0x20 00003a62: PUSH2 0x460c 00003a65: DUP4 00003a66: CODECOPY 00003a67: DUP2 00003a68: MLOAD 00003a69: SWAP2 00003a6a: MSTORE 00003a6b: DUP3 00003a6c: PUSH2 0x32c6 00003a6f: JUMP 00003a70: JUMPDEST 00003a71: PUSH0 00003a72: PUSH2 0x0c8f 00003a75: PUSH1 0x40 00003a77: MLOAD 00003a78: DUP1 00003a79: PUSH1 0x60 00003a7b: ADD 00003a7c: PUSH1 0x40 00003a7e: MSTORE 00003a7f: DUP1 00003a80: PUSH1 0x27 00003a82: DUP2 00003a83: MSTORE 00003a84: PUSH1 0x20 00003a86: ADD 00003a87: PUSH2 0x462c 00003a8a: PUSH1 0x27 00003a8c: SWAP2 00003a8d: CODECOPY 00003a8e: PUSH2 0x37a1 00003a91: JUMP 00003a92: JUMPDEST 00003a93: PUSH0 00003a94: DUP1 00003a95: PUSH2 0x3aa1 00003a98: PUSH3 0x015180 00003a9c: TIMESTAMP 00003a9d: PUSH2 0x451b 00003aa0: JUMP 00003aa1: JUMPDEST 00003aa2: PUSH1 0x40 00003aa4: DUP1 00003aa5: MLOAD 00003aa6: PUSH1 0x01 00003aa8: PUSH1 0x01 00003aaa: PUSH1 0xa0 00003aac: SHL 00003aad: SUB 00003aae: DUP7 00003aaf: AND 00003ab0: PUSH1 0x20 00003ab2: DUP3 00003ab3: ADD 00003ab4: MSTORE 00003ab5: SWAP1 00003ab6: DUP2 00003ab7: ADD 00003ab8: DUP3 00003ab9: SWAP1 00003aba: MSTORE 00003abb: SWAP1 00003abc: SWAP2 00003abd: POP 00003abe: PUSH1 0x60 00003ac0: ADD 00003ac1: PUSH1 0x40 00003ac3: MLOAD 00003ac4: PUSH1 0x20 00003ac6: DUP2 00003ac7: DUP4 00003ac8: SUB 00003ac9: SUB 00003aca: DUP2 00003acb: MSTORE 00003acc: SWAP1 00003acd: PUSH1 0x40 00003acf: MSTORE 00003ad0: DUP1 00003ad1: MLOAD 00003ad2: SWAP1 00003ad3: PUSH1 0x20 00003ad5: ADD 00003ad6: KECCAK256 00003ad7: SWAP2 00003ad8: POP 00003ad9: POP 00003ada: SWAP2 00003adb: SWAP1 00003adc: POP 00003add: JUMP 00003ade: JUMPDEST 00003adf: PUSH0 00003ae0: PUSH2 0x0c8f 00003ae3: PUSH1 0x40 00003ae5: MLOAD 00003ae6: DUP1 00003ae7: PUSH1 0x60 00003ae9: ADD 00003aea: PUSH1 0x40 00003aec: MSTORE 00003aed: DUP1 00003aee: PUSH1 0x2b 00003af0: DUP2 00003af1: MSTORE 00003af2: PUSH1 0x20 00003af4: ADD 00003af5: PUSH2 0x4760 00003af8: PUSH1 0x2b 00003afa: SWAP2 00003afb: CODECOPY 00003afc: PUSH2 0x3269 00003aff: JUMP 00003b00: JUMPDEST 00003b01: PUSH1 0x60 00003b03: PUSH0 00003b04: PUSH2 0x3b0e 00003b07: DUP4 00003b08: PUSH1 0x02 00003b0a: PUSH2 0x416e 00003b0d: JUMP 00003b0e: JUMPDEST 00003b0f: PUSH2 0x3b19 00003b12: SWAP1 00003b13: PUSH1 0x02 00003b15: PUSH2 0x4185 00003b18: JUMP 00003b19: JUMPDEST 00003b1a: PUSH8 0xffffffffffffffff 00003b23: DUP2 00003b24: GT 00003b25: ISZERO 00003b26: PUSH2 0x3b31 00003b29: JUMPI 00003b2a: PUSH2 0x3b31 00003b2d: PUSH2 0x4097 00003b30: JUMP 00003b31: JUMPDEST 00003b32: PUSH1 0x40 00003b34: MLOAD 00003b35: SWAP1 00003b36: DUP1 00003b37: DUP3 00003b38: MSTORE 00003b39: DUP1 00003b3a: PUSH1 0x1f 00003b3c: ADD 00003b3d: PUSH1 0x1f 00003b3f: NOT 00003b40: AND 00003b41: PUSH1 0x20 00003b43: ADD 00003b44: DUP3 00003b45: ADD 00003b46: PUSH1 0x40 00003b48: MSTORE 00003b49: DUP1 00003b4a: ISZERO 00003b4b: PUSH2 0x3b5b 00003b4e: JUMPI 00003b4f: PUSH1 0x20 00003b51: DUP3 00003b52: ADD 00003b53: DUP2 00003b54: DUP1 00003b55: CALLDATASIZE 00003b56: DUP4 00003b57: CALLDATACOPY 00003b58: ADD 00003b59: SWAP1 00003b5a: POP 00003b5b: JUMPDEST 00003b5c: POP 00003b5d: SWAP1 00003b5e: POP 00003b5f: PUSH1 0x03 00003b61: PUSH1 0xfc 00003b63: SHL 00003b64: DUP2 00003b65: PUSH0 00003b66: DUP2 00003b67: MLOAD 00003b68: DUP2 00003b69: LT 00003b6a: PUSH2 0x3b75 00003b6d: JUMPI 00003b6e: PUSH2 0x3b75 00003b71: PUSH2 0x43fc 00003b74: JUMP 00003b75: JUMPDEST 00003b76: PUSH1 0x20 00003b78: ADD 00003b79: ADD 00003b7a: SWAP1 00003b7b: PUSH1 0x01 00003b7d: PUSH1 0x01 00003b7f: PUSH1 0xf8 00003b81: SHL 00003b82: SUB 00003b83: NOT 00003b84: AND 00003b85: SWAP1 00003b86: DUP2 00003b87: PUSH0 00003b88: BYTE 00003b89: SWAP1 00003b8a: MSTORE8 00003b8b: POP 00003b8c: PUSH1 0x0f 00003b8e: PUSH1 0xfb 00003b90: SHL 00003b91: DUP2 00003b92: PUSH1 0x01 00003b94: DUP2 00003b95: MLOAD 00003b96: DUP2 00003b97: LT 00003b98: PUSH2 0x3ba3 00003b9b: JUMPI 00003b9c: PUSH2 0x3ba3 00003b9f: PUSH2 0x43fc 00003ba2: JUMP 00003ba3: JUMPDEST 00003ba4: PUSH1 0x20 00003ba6: ADD 00003ba7: ADD 00003ba8: SWAP1 00003ba9: PUSH1 0x01 00003bab: PUSH1 0x01 00003bad: PUSH1 0xf8 00003baf: SHL 00003bb0: SUB 00003bb1: NOT 00003bb2: AND 00003bb3: SWAP1 00003bb4: DUP2 00003bb5: PUSH0 00003bb6: BYTE 00003bb7: SWAP1 00003bb8: MSTORE8 00003bb9: POP 00003bba: PUSH0 00003bbb: PUSH2 0x3bc5 00003bbe: DUP5 00003bbf: PUSH1 0x02 00003bc1: PUSH2 0x416e 00003bc4: JUMP 00003bc5: JUMPDEST 00003bc6: PUSH2 0x3bd0 00003bc9: SWAP1 00003bca: PUSH1 0x01 00003bcc: PUSH2 0x4185 00003bcf: JUMP 00003bd0: JUMPDEST 00003bd1: SWAP1 00003bd2: POP 00003bd3: JUMPDEST 00003bd4: PUSH1 0x01 00003bd6: DUP2 00003bd7: GT 00003bd8: ISZERO 00003bd9: PUSH2 0x3c47 00003bdc: JUMPI 00003bdd: PUSH16 0x181899199a1a9b1b9c1cb0b131b232b3 00003bee: PUSH1 0x81 00003bf0: SHL 00003bf1: DUP6 00003bf2: PUSH1 0x0f 00003bf4: AND 00003bf5: PUSH1 0x10 00003bf7: DUP2 00003bf8: LT 00003bf9: PUSH2 0x3c04 00003bfc: JUMPI 00003bfd: PUSH2 0x3c04 00003c00: PUSH2 0x43fc 00003c03: JUMP 00003c04: JUMPDEST 00003c05: BYTE 00003c06: PUSH1 0xf8 00003c08: SHL 00003c09: DUP3 00003c0a: DUP3 00003c0b: DUP2 00003c0c: MLOAD 00003c0d: DUP2 00003c0e: LT 00003c0f: PUSH2 0x3c1a 00003c12: JUMPI 00003c13: PUSH2 0x3c1a 00003c16: PUSH2 0x43fc 00003c19: JUMP 00003c1a: JUMPDEST 00003c1b: PUSH1 0x20 00003c1d: ADD 00003c1e: ADD 00003c1f: SWAP1 00003c20: PUSH1 0x01 00003c22: PUSH1 0x01 00003c24: PUSH1 0xf8 00003c26: SHL 00003c27: SUB 00003c28: NOT 00003c29: AND 00003c2a: SWAP1 00003c2b: DUP2 00003c2c: PUSH0 00003c2d: BYTE 00003c2e: SWAP1 00003c2f: MSTORE8 00003c30: POP 00003c31: PUSH1 0x04 00003c33: SWAP5 00003c34: SWAP1 00003c35: SWAP5 00003c36: SHR 00003c37: SWAP4 00003c38: PUSH2 0x3c40 00003c3b: DUP2 00003c3c: PUSH2 0x45ae 00003c3f: JUMP 00003c40: JUMPDEST 00003c41: SWAP1 00003c42: POP 00003c43: PUSH2 0x3bd3 00003c46: JUMP 00003c47: JUMPDEST 00003c48: POP 00003c49: DUP4 00003c4a: ISZERO 00003c4b: PUSH2 0x0af0 00003c4e: JUMPI 00003c4f: PUSH1 0x40 00003c51: MLOAD 00003c52: PUSH3 0x461bcd 00003c56: PUSH1 0xe5 00003c58: SHL 00003c59: DUP2 00003c5a: MSTORE 00003c5b: PUSH1 0x20 00003c5d: PUSH1 0x04 00003c5f: DUP3 00003c60: ADD 00003c61: DUP2 00003c62: SWAP1 00003c63: MSTORE 00003c64: PUSH1 0x24 00003c66: DUP3 00003c67: ADD 00003c68: MSTORE 00003c69: PUSH32 0x537472696e67733a20686578206c656e67746820696e73756666696369656e74 00003c8a: PUSH1 0x44 00003c8c: DUP3 00003c8d: ADD 00003c8e: MSTORE 00003c8f: PUSH1 0x64 00003c91: ADD 00003c92: PUSH2 0x0b55 00003c95: JUMP 00003c96: JUMPDEST 00003c97: PUSH0 00003c98: PUSH2 0x3ca0 00003c9b: DUP4 00003c9c: PUSH2 0x329c 00003c9f: JUMP 00003ca0: JUMPDEST 00003ca1: PUSH0 00003ca2: DUP5 00003ca3: DUP2 00003ca4: MSTORE 00003ca5: PUSH0 00003ca6: DUP1 00003ca7: MLOAD 00003ca8: PUSH1 0x20 00003caa: PUSH2 0x4693 00003cad: DUP4 00003cae: CODECOPY 00003caf: DUP2 00003cb0: MLOAD 00003cb1: SWAP2 00003cb2: MSTORE 00003cb3: PUSH1 0x20 00003cb5: MSTORE 00003cb6: PUSH1 0x40 00003cb8: DUP1 00003cb9: DUP3 00003cba: KECCAK256 00003cbb: PUSH1 0x01 00003cbd: ADD 00003cbe: DUP6 00003cbf: SWAP1 00003cc0: SSTORE 00003cc1: MLOAD 00003cc2: SWAP2 00003cc3: SWAP3 00003cc4: POP 00003cc5: DUP4 00003cc6: SWAP2 00003cc7: DUP4 00003cc8: SWAP2 00003cc9: DUP7 00003cca: SWAP2 00003ccb: PUSH32 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff 00003cec: SWAP2 00003ced: SWAP1 00003cee: LOG4 00003cef: POP 00003cf0: POP 00003cf1: POP 00003cf2: JUMP 00003cf3: JUMPDEST 00003cf4: PUSH1 0x01 00003cf6: PUSH1 0x01 00003cf8: PUSH1 0xa0 00003cfa: SHL 00003cfb: SUB 00003cfc: DUP2 00003cfd: AND 00003cfe: DUP2 00003cff: EQ 00003d00: PUSH2 0x0a95 00003d03: JUMPI 00003d04: PUSH0 00003d05: DUP1 00003d06: REVERT 00003d07: JUMPDEST 00003d08: PUSH0 00003d09: DUP1 00003d0a: PUSH1 0x40 00003d0c: DUP4 00003d0d: DUP6 00003d0e: SUB 00003d0f: SLT 00003d10: ISZERO 00003d11: PUSH2 0x3d18 00003d14: JUMPI 00003d15: PUSH0 00003d16: DUP1 00003d17: REVERT 00003d18: JUMPDEST 00003d19: DUP3 00003d1a: CALLDATALOAD 00003d1b: SWAP2 00003d1c: POP 00003d1d: PUSH1 0x20 00003d1f: DUP4 00003d20: ADD 00003d21: CALLDATALOAD 00003d22: PUSH2 0x3d2a 00003d25: DUP2 00003d26: PUSH2 0x3cf3 00003d29: JUMP 00003d2a: JUMPDEST 00003d2b: DUP1 00003d2c: SWAP2 00003d2d: POP 00003d2e: POP 00003d2f: SWAP3 00003d30: POP 00003d31: SWAP3 00003d32: SWAP1 00003d33: POP 00003d34: JUMP 00003d35: JUMPDEST 00003d36: PUSH0 00003d37: PUSH1 0x20 00003d39: DUP3 00003d3a: DUP5 00003d3b: SUB 00003d3c: SLT 00003d3d: ISZERO 00003d3e: PUSH2 0x3d45 00003d41: JUMPI 00003d42: PUSH0 00003d43: DUP1 00003d44: REVERT 00003d45: JUMPDEST 00003d46: DUP2 00003d47: CALLDATALOAD 00003d48: PUSH2 0x0af0 00003d4b: DUP2 00003d4c: PUSH2 0x3cf3 00003d4f: JUMP 00003d50: JUMPDEST 00003d51: PUSH0 00003d52: DUP1 00003d53: PUSH0 00003d54: PUSH1 0x60 00003d56: DUP5 00003d57: DUP7 00003d58: SUB 00003d59: SLT 00003d5a: ISZERO 00003d5b: PUSH2 0x3d62 00003d5e: JUMPI 00003d5f: PUSH0 00003d60: DUP1 00003d61: REVERT 00003d62: JUMPDEST 00003d63: DUP4 00003d64: CALLDATALOAD 00003d65: PUSH2 0x3d6d 00003d68: DUP2 00003d69: PUSH2 0x3cf3 00003d6c: JUMP 00003d6d: JUMPDEST 00003d6e: SWAP6 00003d6f: PUSH1 0x20 00003d71: DUP6 00003d72: ADD 00003d73: CALLDATALOAD 00003d74: SWAP6 00003d75: POP 00003d76: PUSH1 0x40 00003d78: SWAP1 00003d79: SWAP5 00003d7a: ADD 00003d7b: CALLDATALOAD 00003d7c: SWAP4 00003d7d: SWAP3 00003d7e: POP 00003d7f: POP 00003d80: POP 00003d81: JUMP 00003d82: JUMPDEST 00003d83: PUSH0 00003d84: DUP1 00003d85: PUSH0 00003d86: DUP1 00003d87: PUSH1 0x80 00003d89: DUP6 00003d8a: DUP8 00003d8b: SUB 00003d8c: SLT 00003d8d: ISZERO 00003d8e: PUSH2 0x3d95 00003d91: JUMPI 00003d92: PUSH0 00003d93: DUP1 00003d94: REVERT 00003d95: JUMPDEST 00003d96: DUP5 00003d97: CALLDATALOAD 00003d98: PUSH2 0x3da0 00003d9b: DUP2 00003d9c: PUSH2 0x3cf3 00003d9f: JUMP 00003da0: JUMPDEST 00003da1: SWAP7 00003da2: PUSH1 0x20 00003da4: DUP7 00003da5: ADD 00003da6: CALLDATALOAD 00003da7: SWAP7 00003da8: POP 00003da9: PUSH1 0x40 00003dab: DUP7 00003dac: ADD 00003dad: CALLDATALOAD 00003dae: SWAP6 00003daf: PUSH1 0x60 00003db1: ADD 00003db2: CALLDATALOAD 00003db3: SWAP5 00003db4: POP 00003db5: SWAP3 00003db6: POP 00003db7: POP 00003db8: POP 00003db9: JUMP 00003dba: JUMPDEST 00003dbb: PUSH0 00003dbc: PUSH1 0x20 00003dbe: DUP3 00003dbf: DUP5 00003dc0: SUB 00003dc1: SLT 00003dc2: ISZERO 00003dc3: PUSH2 0x3dca 00003dc6: JUMPI 00003dc7: PUSH0 00003dc8: DUP1 00003dc9: REVERT 00003dca: JUMPDEST 00003dcb: POP 00003dcc: CALLDATALOAD 00003dcd: SWAP2 00003dce: SWAP1 00003dcf: POP 00003dd0: JUMP 00003dd1: JUMPDEST 00003dd2: PUSH4 0x4e487b71 00003dd7: PUSH1 0xe0 00003dd9: SHL 00003dda: PUSH0 00003ddb: MSTORE 00003ddc: PUSH1 0x21 00003dde: PUSH1 0x04 00003de0: MSTORE 00003de1: PUSH1 0x24 00003de3: PUSH0 00003de4: REVERT 00003de5: JUMPDEST 00003de6: PUSH1 0x20 00003de8: DUP2 00003de9: ADD 00003dea: PUSH1 0x04 00003dec: DUP4 00003ded: LT 00003dee: PUSH2 0x3e05 00003df1: JUMPI 00003df2: PUSH4 0x4e487b71 00003df7: PUSH1 0xe0 00003df9: SHL 00003dfa: PUSH0 00003dfb: MSTORE 00003dfc: PUSH1 0x21 00003dfe: PUSH1 0x04 00003e00: MSTORE 00003e01: PUSH1 0x24 00003e03: PUSH0 00003e04: REVERT 00003e05: JUMPDEST 00003e06: SWAP2 00003e07: SWAP1 00003e08: MSTORE 00003e09: SWAP1 00003e0a: JUMP 00003e0b: JUMPDEST 00003e0c: PUSH0 00003e0d: DUP1 00003e0e: PUSH1 0x20 00003e10: DUP4 00003e11: DUP6 00003e12: SUB 00003e13: SLT 00003e14: ISZERO 00003e15: PUSH2 0x3e1c 00003e18: JUMPI 00003e19: PUSH0 00003e1a: DUP1 00003e1b: REVERT 00003e1c: JUMPDEST 00003e1d: DUP3 00003e1e: CALLDATALOAD 00003e1f: PUSH8 0xffffffffffffffff 00003e28: DUP1 00003e29: DUP3 00003e2a: GT 00003e2b: ISZERO 00003e2c: PUSH2 0x3e33 00003e2f: JUMPI 00003e30: PUSH0 00003e31: DUP1 00003e32: REVERT 00003e33: JUMPDEST 00003e34: DUP2 00003e35: DUP6 00003e36: ADD 00003e37: SWAP2 00003e38: POP 00003e39: DUP6 00003e3a: PUSH1 0x1f 00003e3c: DUP4 00003e3d: ADD 00003e3e: SLT 00003e3f: PUSH2 0x3e46 00003e42: JUMPI 00003e43: PUSH0 00003e44: DUP1 00003e45: REVERT 00003e46: JUMPDEST 00003e47: DUP2 00003e48: CALLDATALOAD 00003e49: DUP2 00003e4a: DUP2 00003e4b: GT 00003e4c: ISZERO 00003e4d: PUSH2 0x3e54 00003e50: JUMPI 00003e51: PUSH0 00003e52: DUP1 00003e53: REVERT 00003e54: JUMPDEST 00003e55: DUP7 00003e56: PUSH1 0x20 00003e58: DUP3 00003e59: DUP6 00003e5a: ADD 00003e5b: ADD 00003e5c: GT 00003e5d: ISZERO 00003e5e: PUSH2 0x3e65 00003e61: JUMPI 00003e62: PUSH0 00003e63: DUP1 00003e64: REVERT 00003e65: JUMPDEST 00003e66: PUSH1 0x20 00003e68: SWAP3 00003e69: SWAP1 00003e6a: SWAP3 00003e6b: ADD 00003e6c: SWAP7 00003e6d: SWAP2 00003e6e: SWAP6 00003e6f: POP 00003e70: SWAP1 00003e71: SWAP4 00003e72: POP 00003e73: POP 00003e74: POP 00003e75: POP 00003e76: JUMP 00003e77: JUMPDEST 00003e78: PUSH0 00003e79: DUP1 00003e7a: PUSH0 00003e7b: PUSH1 0x60 00003e7d: DUP5 00003e7e: DUP7 00003e7f: SUB 00003e80: SLT 00003e81: ISZERO 00003e82: PUSH2 0x3e89 00003e85: JUMPI 00003e86: PUSH0 00003e87: DUP1 00003e88: REVERT 00003e89: JUMPDEST 00003e8a: DUP4 00003e8b: CALLDATALOAD 00003e8c: PUSH2 0x3e94 00003e8f: DUP2 00003e90: PUSH2 0x3cf3 00003e93: JUMP 00003e94: JUMPDEST 00003e95: SWAP3 00003e96: POP 00003e97: PUSH1 0x20 00003e99: DUP5 00003e9a: ADD 00003e9b: CALLDATALOAD 00003e9c: SWAP2 00003e9d: POP 00003e9e: PUSH1 0x40 00003ea0: DUP5 00003ea1: ADD 00003ea2: CALLDATALOAD 00003ea3: PUSH2 0x3eab 00003ea6: DUP2 00003ea7: PUSH2 0x3cf3 00003eaa: JUMP 00003eab: JUMPDEST 00003eac: DUP1 00003ead: SWAP2 00003eae: POP 00003eaf: POP 00003eb0: SWAP3 00003eb1: POP 00003eb2: SWAP3 00003eb3: POP 00003eb4: SWAP3 00003eb5: JUMP 00003eb6: JUMPDEST 00003eb7: PUSH0 00003eb8: DUP1 00003eb9: PUSH0 00003eba: PUSH1 0x60 00003ebc: DUP5 00003ebd: DUP7 00003ebe: SUB 00003ebf: SLT 00003ec0: ISZERO 00003ec1: PUSH2 0x3ec8 00003ec4: JUMPI 00003ec5: PUSH0 00003ec6: DUP1 00003ec7: REVERT 00003ec8: JUMPDEST 00003ec9: POP 00003eca: POP 00003ecb: DUP2 00003ecc: CALLDATALOAD 00003ecd: SWAP4 00003ece: PUSH1 0x20 00003ed0: DUP4 00003ed1: ADD 00003ed2: CALLDATALOAD 00003ed3: SWAP4 00003ed4: POP 00003ed5: PUSH1 0x40 00003ed7: SWAP1 00003ed8: SWAP3 00003ed9: ADD 00003eda: CALLDATALOAD 00003edb: SWAP2 00003edc: SWAP1 00003edd: POP 00003ede: JUMP 00003edf: JUMPDEST 00003ee0: PUSH0 00003ee1: DUP1 00003ee2: DUP4 00003ee3: PUSH1 0x1f 00003ee5: DUP5 00003ee6: ADD 00003ee7: SLT 00003ee8: PUSH2 0x3eef 00003eeb: JUMPI 00003eec: PUSH0 00003eed: DUP1 00003eee: REVERT 00003eef: JUMPDEST 00003ef0: POP 00003ef1: DUP2 00003ef2: CALLDATALOAD 00003ef3: PUSH8 0xffffffffffffffff 00003efc: DUP2 00003efd: GT 00003efe: ISZERO 00003eff: PUSH2 0x3f06 00003f02: JUMPI 00003f03: PUSH0 00003f04: DUP1 00003f05: REVERT 00003f06: JUMPDEST 00003f07: PUSH1 0x20 00003f09: DUP4 00003f0a: ADD 00003f0b: SWAP2 00003f0c: POP 00003f0d: DUP4 00003f0e: PUSH1 0x20 00003f10: DUP3 00003f11: PUSH1 0x05 00003f13: SHL 00003f14: DUP6 00003f15: ADD 00003f16: ADD 00003f17: GT 00003f18: ISZERO 00003f19: PUSH2 0x3f20 00003f1c: JUMPI 00003f1d: PUSH0 00003f1e: DUP1 00003f1f: REVERT 00003f20: JUMPDEST 00003f21: SWAP3 00003f22: POP 00003f23: SWAP3 00003f24: SWAP1 00003f25: POP 00003f26: JUMP 00003f27: JUMPDEST 00003f28: PUSH0 00003f29: DUP1 00003f2a: PUSH0 00003f2b: DUP1 00003f2c: PUSH0 00003f2d: DUP1 00003f2e: PUSH1 0xa0 00003f30: DUP8 00003f31: DUP10 00003f32: SUB 00003f33: SLT 00003f34: ISZERO 00003f35: PUSH2 0x3f3c 00003f38: JUMPI 00003f39: PUSH0 00003f3a: DUP1 00003f3b: REVERT 00003f3c: JUMPDEST 00003f3d: DUP7 00003f3e: CALLDATALOAD 00003f3f: PUSH2 0x3f47 00003f42: DUP2 00003f43: PUSH2 0x3cf3 00003f46: JUMP 00003f47: JUMPDEST 00003f48: SWAP6 00003f49: POP 00003f4a: PUSH1 0x20 00003f4c: DUP8 00003f4d: ADD 00003f4e: CALLDATALOAD 00003f4f: SWAP5 00003f50: POP 00003f51: PUSH1 0x40 00003f53: DUP8 00003f54: ADD 00003f55: CALLDATALOAD 00003f56: SWAP4 00003f57: POP 00003f58: PUSH1 0x60 00003f5a: DUP8 00003f5b: ADD 00003f5c: CALLDATALOAD 00003f5d: PUSH8 0xffffffffffffffff 00003f66: DUP2 00003f67: GT 00003f68: ISZERO 00003f69: PUSH2 0x3f70 00003f6c: JUMPI 00003f6d: PUSH0 00003f6e: DUP1 00003f6f: REVERT 00003f70: JUMPDEST 00003f71: PUSH2 0x3f7c 00003f74: DUP10 00003f75: DUP3 00003f76: DUP11 00003f77: ADD 00003f78: PUSH2 0x3edf 00003f7b: JUMP 00003f7c: JUMPDEST 00003f7d: SWAP8 00003f7e: SWAP11 00003f7f: SWAP7 00003f80: SWAP10 00003f81: POP 00003f82: SWAP5 00003f83: SWAP8 00003f84: SWAP5 00003f85: SWAP7 00003f86: SWAP6 00003f87: PUSH1 0x80 00003f89: SWAP1 00003f8a: SWAP6 00003f8b: ADD 00003f8c: CALLDATALOAD 00003f8d: SWAP5 00003f8e: SWAP4 00003f8f: POP 00003f90: POP 00003f91: POP 00003f92: POP 00003f93: JUMP 00003f94: JUMPDEST 00003f95: PUSH0 00003f96: DUP1 00003f97: PUSH0 00003f98: DUP1 00003f99: PUSH0 00003f9a: PUSH1 0x80 00003f9c: DUP7 00003f9d: DUP9 00003f9e: SUB 00003f9f: SLT 00003fa0: ISZERO 00003fa1: PUSH2 0x3fa8 00003fa4: JUMPI 00003fa5: PUSH0 00003fa6: DUP1 00003fa7: REVERT 00003fa8: JUMPDEST 00003fa9: DUP6 00003faa: CALLDATALOAD 00003fab: PUSH2 0x3fb3 00003fae: DUP2 00003faf: PUSH2 0x3cf3 00003fb2: JUMP 00003fb3: JUMPDEST 00003fb4: SWAP5 00003fb5: POP 00003fb6: PUSH1 0x20 00003fb8: DUP7 00003fb9: ADD 00003fba: CALLDATALOAD 00003fbb: SWAP4 00003fbc: POP 00003fbd: PUSH1 0x40 00003fbf: DUP7 00003fc0: ADD 00003fc1: CALLDATALOAD 00003fc2: SWAP3 00003fc3: POP 00003fc4: PUSH1 0x60 00003fc6: DUP7 00003fc7: ADD 00003fc8: CALLDATALOAD 00003fc9: PUSH8 0xffffffffffffffff 00003fd2: DUP2 00003fd3: GT 00003fd4: ISZERO 00003fd5: PUSH2 0x3fdc 00003fd8: JUMPI 00003fd9: PUSH0 00003fda: DUP1 00003fdb: REVERT 00003fdc: JUMPDEST 00003fdd: PUSH2 0x3fe8 00003fe0: DUP9 00003fe1: DUP3 00003fe2: DUP10 00003fe3: ADD 00003fe4: PUSH2 0x3edf 00003fe7: JUMP 00003fe8: JUMPDEST 00003fe9: SWAP7 00003fea: SWAP10 00003feb: SWAP6 00003fec: SWAP9 00003fed: POP 00003fee: SWAP4 00003fef: SWAP7 00003ff0: POP 00003ff1: SWAP3 00003ff2: SWAP5 00003ff3: SWAP4 00003ff4: SWAP3 00003ff5: POP 00003ff6: POP 00003ff7: POP 00003ff8: JUMP 00003ff9: JUMPDEST 00003ffa: PUSH0 00003ffb: DUP1 00003ffc: PUSH1 0x40 00003ffe: DUP4 00003fff: DUP6 00004000: SUB 00004001: SLT 00004002: ISZERO 00004003: PUSH2 0x400a 00004006: JUMPI 00004007: PUSH0 00004008: DUP1 00004009: REVERT 0000400a: JUMPDEST 0000400b: DUP3 0000400c: CALLDATALOAD 0000400d: PUSH2 0x4015 00004010: DUP2 00004011: PUSH2 0x3cf3 00004014: JUMP 00004015: JUMPDEST 00004016: SWAP5 00004017: PUSH1 0x20 00004019: SWAP4 0000401a: SWAP1 0000401b: SWAP4 0000401c: ADD 0000401d: CALLDATALOAD 0000401e: SWAP4 0000401f: POP 00004020: POP 00004021: POP 00004022: JUMP 00004023: JUMPDEST 00004024: PUSH0 00004025: DUP1 00004026: PUSH1 0x40 00004028: DUP4 00004029: DUP6 0000402a: SUB 0000402b: SLT 0000402c: ISZERO 0000402d: PUSH2 0x4034 00004030: JUMPI 00004031: PUSH0 00004032: DUP1 00004033: REVERT 00004034: JUMPDEST 00004035: POP 00004036: POP 00004037: DUP1 00004038: CALLDATALOAD 00004039: SWAP3 0000403a: PUSH1 0x20 0000403c: SWAP1 0000403d: SWAP2 0000403e: ADD 0000403f: CALLDATALOAD 00004040: SWAP2 00004041: POP 00004042: JUMP 00004043: JUMPDEST 00004044: PUSH0 00004045: JUMPDEST 00004046: DUP4 00004047: DUP2 00004048: LT 00004049: ISZERO 0000404a: PUSH2 0x405d 0000404d: JUMPI 0000404e: DUP2 0000404f: DUP2 00004050: ADD 00004051: MLOAD 00004052: DUP4 00004053: DUP3 00004054: ADD 00004055: MSTORE 00004056: PUSH1 0x20 00004058: ADD 00004059: PUSH2 0x4045 0000405c: JUMP 0000405d: JUMPDEST 0000405e: POP 0000405f: POP 00004060: PUSH0 00004061: SWAP2 00004062: ADD 00004063: MSTORE 00004064: JUMP 00004065: JUMPDEST 00004066: PUSH1 0x20 00004068: DUP2 00004069: MSTORE 0000406a: PUSH0 0000406b: DUP3 0000406c: MLOAD 0000406d: DUP1 0000406e: PUSH1 0x20 00004070: DUP5 00004071: ADD 00004072: MSTORE 00004073: PUSH2 0x4083 00004076: DUP2 00004077: PUSH1 0x40 00004079: DUP6 0000407a: ADD 0000407b: PUSH1 0x20 0000407d: DUP8 0000407e: ADD 0000407f: PUSH2 0x4043 00004082: JUMP 00004083: JUMPDEST 00004084: PUSH1 0x1f 00004086: ADD 00004087: PUSH1 0x1f 00004089: NOT 0000408a: AND 0000408b: SWAP2 0000408c: SWAP1 0000408d: SWAP2 0000408e: ADD 0000408f: PUSH1 0x40 00004091: ADD 00004092: SWAP3 00004093: SWAP2 00004094: POP 00004095: POP 00004096: JUMP 00004097: JUMPDEST 00004098: PUSH4 0x4e487b71 0000409d: PUSH1 0xe0 0000409f: SHL 000040a0: PUSH0 000040a1: MSTORE 000040a2: PUSH1 0x41 000040a4: PUSH1 0x04 000040a6: MSTORE 000040a7: PUSH1 0x24 000040a9: PUSH0 000040aa: REVERT 000040ab: JUMPDEST 000040ac: PUSH0 000040ad: DUP2 000040ae: MLOAD 000040af: DUP1 000040b0: DUP5 000040b1: MSTORE 000040b2: PUSH1 0x20 000040b4: DUP1 000040b5: DUP6 000040b6: ADD 000040b7: SWAP5 000040b8: POP 000040b9: DUP1 000040ba: DUP5 000040bb: ADD 000040bc: PUSH0 000040bd: JUMPDEST 000040be: DUP4 000040bf: DUP2 000040c0: LT 000040c1: ISZERO 000040c2: PUSH2 0x40d9 000040c5: JUMPI 000040c6: DUP2 000040c7: MLOAD 000040c8: DUP8 000040c9: MSTORE 000040ca: SWAP6 000040cb: DUP3 000040cc: ADD 000040cd: SWAP6 000040ce: SWAP1 000040cf: DUP3 000040d0: ADD 000040d1: SWAP1 000040d2: PUSH1 0x01 000040d4: ADD 000040d5: PUSH2 0x40bd 000040d8: JUMP 000040d9: JUMPDEST 000040da: POP 000040db: SWAP5 000040dc: SWAP6 000040dd: SWAP5 000040de: POP 000040df: POP 000040e0: POP 000040e1: POP 000040e2: POP 000040e3: JUMP 000040e4: JUMPDEST 000040e5: DUP5 000040e6: DUP2 000040e7: MSTORE 000040e8: DUP4 000040e9: PUSH1 0x20 000040eb: DUP3 000040ec: ADD 000040ed: MSTORE 000040ee: PUSH1 0x80 000040f0: PUSH1 0x40 000040f2: DUP3 000040f3: ADD 000040f4: MSTORE 000040f5: PUSH0 000040f6: PUSH2 0x4102 000040f9: PUSH1 0x80 000040fb: DUP4 000040fc: ADD 000040fd: DUP6 000040fe: PUSH2 0x40ab 00004101: JUMP 00004102: JUMPDEST 00004103: SWAP1 00004104: POP 00004105: DUP3 00004106: PUSH1 0x60 00004108: DUP4 00004109: ADD 0000410a: MSTORE 0000410b: SWAP6 0000410c: SWAP5 0000410d: POP 0000410e: POP 0000410f: POP 00004110: POP 00004111: POP 00004112: JUMP 00004113: JUMPDEST 00004114: PUSH0 00004115: PUSH1 0x20 00004117: DUP3 00004118: DUP5 00004119: SUB 0000411a: SLT 0000411b: ISZERO 0000411c: PUSH2 0x4123 0000411f: JUMPI 00004120: PUSH0 00004121: DUP1 00004122: REVERT 00004123: JUMPDEST 00004124: POP 00004125: MLOAD 00004126: SWAP2 00004127: SWAP1 00004128: POP 00004129: JUMP 0000412a: JUMPDEST 0000412b: PUSH1 0x20 0000412d: DUP1 0000412e: DUP3 0000412f: MSTORE 00004130: PUSH1 0x16 00004132: SWAP1 00004133: DUP3 00004134: ADD 00004135: MSTORE 00004136: PUSH22 0x21a0a72727aa2fa822a92327a926afa7a72fa9a2a623 0000414d: PUSH1 0x51 0000414f: SHL 00004150: PUSH1 0x40 00004152: DUP3 00004153: ADD 00004154: MSTORE 00004155: PUSH1 0x60 00004157: ADD 00004158: SWAP1 00004159: JUMP 0000415a: JUMPDEST 0000415b: PUSH4 0x4e487b71 00004160: PUSH1 0xe0 00004162: SHL 00004163: PUSH0 00004164: MSTORE 00004165: PUSH1 0x11 00004167: PUSH1 0x04 00004169: MSTORE 0000416a: PUSH1 0x24 0000416c: PUSH0 0000416d: REVERT 0000416e: JUMPDEST 0000416f: DUP1 00004170: DUP3 00004171: MUL 00004172: DUP2 00004173: ISZERO 00004174: DUP3 00004175: DUP3 00004176: DIV 00004177: DUP5 00004178: EQ 00004179: OR 0000417a: PUSH2 0x1298 0000417d: JUMPI 0000417e: PUSH2 0x1298 00004181: PUSH2 0x415a 00004184: JUMP 00004185: JUMPDEST 00004186: DUP1 00004187: DUP3 00004188: ADD 00004189: DUP1 0000418a: DUP3 0000418b: GT 0000418c: ISZERO 0000418d: PUSH2 0x1298 00004190: JUMPI 00004191: PUSH2 0x1298 00004194: PUSH2 0x415a 00004197: JUMP 00004198: JUMPDEST 00004199: PUSH0 0000419a: DUP1 0000419b: DUP6 0000419c: DUP6 0000419d: GT 0000419e: ISZERO 0000419f: PUSH2 0x41a6 000041a2: JUMPI 000041a3: PUSH0 000041a4: DUP1 000041a5: REVERT 000041a6: JUMPDEST 000041a7: DUP4 000041a8: DUP7 000041a9: GT 000041aa: ISZERO 000041ab: PUSH2 0x41b2 000041ae: JUMPI 000041af: PUSH0 000041b0: DUP1 000041b1: REVERT 000041b2: JUMPDEST 000041b3: POP 000041b4: POP 000041b5: DUP3 000041b6: ADD 000041b7: SWAP4 000041b8: SWAP2 000041b9: SWAP1 000041ba: SWAP3 000041bb: SUB 000041bc: SWAP2 000041bd: POP 000041be: JUMP 000041bf: JUMPDEST 000041c0: DUP5 000041c1: DUP2 000041c2: MSTORE 000041c3: PUSH1 0x60 000041c5: PUSH1 0x20 000041c7: DUP3 000041c8: ADD 000041c9: DUP2 000041ca: SWAP1 000041cb: MSTORE 000041cc: DUP2 000041cd: ADD 000041ce: DUP4 000041cf: SWAP1 000041d0: MSTORE 000041d1: PUSH0 000041d2: PUSH1 0x01 000041d4: PUSH1 0x01 000041d6: PUSH1 0xfb 000041d8: SHL 000041d9: SUB 000041da: DUP5 000041db: GT 000041dc: ISZERO 000041dd: PUSH2 0x41e4 000041e0: JUMPI 000041e1: PUSH0 000041e2: DUP1 000041e3: REVERT 000041e4: JUMPDEST 000041e5: DUP4 000041e6: PUSH1 0x05 000041e8: SHL 000041e9: DUP1 000041ea: DUP7 000041eb: PUSH1 0x80 000041ed: DUP6 000041ee: ADD 000041ef: CALLDATACOPY 000041f0: PUSH1 0x40 000041f2: DUP4 000041f3: ADD 000041f4: SWAP4 000041f5: SWAP1 000041f6: SWAP4 000041f7: MSTORE 000041f8: POP 000041f9: ADD 000041fa: PUSH1 0x80 000041fc: ADD 000041fd: SWAP4 000041fe: SWAP3 000041ff: POP 00004200: POP 00004201: POP 00004202: JUMP 00004203: JUMPDEST 00004204: PUSH0 00004205: PUSH1 0x20 00004207: DUP3 00004208: DUP5 00004209: SUB 0000420a: SLT 0000420b: ISZERO 0000420c: PUSH2 0x4213 0000420f: JUMPI 00004210: PUSH0 00004211: DUP1 00004212: REVERT 00004213: JUMPDEST 00004214: DUP2 00004215: MLOAD 00004216: PUSH2 0x0af0 00004219: DUP2 0000421a: PUSH2 0x3cf3 0000421d: JUMP 0000421e: JUMPDEST 0000421f: DUP2 00004220: DUP2 00004221: SUB 00004222: DUP2 00004223: DUP2 00004224: GT 00004225: ISZERO 00004226: PUSH2 0x1298 00004229: JUMPI 0000422a: PUSH2 0x1298 0000422d: PUSH2 0x415a 00004230: JUMP 00004231: JUMPDEST 00004232: DUP4 00004233: DUP2 00004234: MSTORE 00004235: DUP3 00004236: PUSH1 0x20 00004238: DUP3 00004239: ADD 0000423a: MSTORE 0000423b: PUSH1 0x60 0000423d: PUSH1 0x40 0000423f: DUP3 00004240: ADD 00004241: MSTORE 00004242: PUSH0 00004243: PUSH2 0x279c 00004246: PUSH1 0x60 00004248: DUP4 00004249: ADD 0000424a: DUP5 0000424b: PUSH2 0x40ab 0000424e: JUMP 0000424f: JUMPDEST 00004250: PUSH0 00004251: DUP1 00004252: PUSH1 0x40 00004254: DUP4 00004255: DUP6 00004256: SUB 00004257: SLT 00004258: ISZERO 00004259: PUSH2 0x4260 0000425c: JUMPI 0000425d: PUSH0 0000425e: DUP1 0000425f: REVERT 00004260: JUMPDEST 00004261: POP 00004262: POP 00004263: DUP1 00004264: MLOAD 00004265: PUSH1 0x20 00004267: SWAP1 00004268: SWAP2 00004269: ADD 0000426a: MLOAD 0000426b: SWAP1 0000426c: SWAP3 0000426d: SWAP1 0000426e: SWAP2 0000426f: POP 00004270: JUMP 00004271: JUMPDEST 00004272: DUP5 00004273: DUP2 00004274: MSTORE 00004275: PUSH1 0x80 00004277: PUSH1 0x20 00004279: DUP3 0000427a: ADD 0000427b: MSTORE 0000427c: PUSH0 0000427d: PUSH2 0x4289 00004280: PUSH1 0x80 00004282: DUP4 00004283: ADD 00004284: DUP7 00004285: PUSH2 0x40ab 00004288: JUMP 00004289: JUMPDEST 0000428a: PUSH1 0x40 0000428c: DUP4 0000428d: ADD 0000428e: SWAP5 0000428f: SWAP1 00004290: SWAP5 00004291: MSTORE 00004292: POP 00004293: PUSH1 0x60 00004295: ADD 00004296: MSTORE 00004297: SWAP3 00004298: SWAP2 00004299: POP 0000429a: POP 0000429b: JUMP 0000429c: JUMPDEST 0000429d: PUSH1 0x20 0000429f: DUP2 000042a0: MSTORE 000042a1: DUP2 000042a2: PUSH1 0x20 000042a4: DUP3 000042a5: ADD 000042a6: MSTORE 000042a7: DUP2 000042a8: DUP4 000042a9: PUSH1 0x40 000042ab: DUP4 000042ac: ADD 000042ad: CALLDATACOPY 000042ae: PUSH0 000042af: DUP2 000042b0: DUP4 000042b1: ADD 000042b2: PUSH1 0x40 000042b4: SWAP1 000042b5: DUP2 000042b6: ADD 000042b7: SWAP2 000042b8: SWAP1 000042b9: SWAP2 000042ba: MSTORE 000042bb: PUSH1 0x1f 000042bd: SWAP1 000042be: SWAP3 000042bf: ADD 000042c0: PUSH1 0x1f 000042c2: NOT 000042c3: AND 000042c4: ADD 000042c5: ADD 000042c6: SWAP2 000042c7: SWAP1 000042c8: POP 000042c9: JUMP 000042ca: JUMPDEST 000042cb: PUSH0 000042cc: DUP3 000042cd: MLOAD 000042ce: PUSH2 0x42db 000042d1: DUP2 000042d2: DUP5 000042d3: PUSH1 0x20 000042d5: DUP8 000042d6: ADD 000042d7: PUSH2 0x4043 000042da: JUMP 000042db: JUMPDEST 000042dc: SWAP2 000042dd: SWAP1 000042de: SWAP2 000042df: ADD 000042e0: SWAP3 000042e1: SWAP2 000042e2: POP 000042e3: POP 000042e4: JUMP 000042e5: JUMPDEST 000042e6: PUSH0 000042e7: DUP1 000042e8: PUSH1 0x40 000042ea: DUP4 000042eb: DUP6 000042ec: SUB 000042ed: SLT 000042ee: ISZERO 000042ef: PUSH2 0x42f6 000042f2: JUMPI 000042f3: PUSH0 000042f4: DUP1 000042f5: REVERT 000042f6: JUMPDEST 000042f7: DUP3 000042f8: CALLDATALOAD 000042f9: PUSH2 0x4301 000042fc: DUP2 000042fd: PUSH2 0x3cf3 00004300: JUMP 00004301: JUMPDEST 00004302: SWAP2 00004303: POP 00004304: PUSH1 0x20 00004306: DUP4 00004307: ADD 00004308: CALLDATALOAD 00004309: PUSH2 0x3d2a 0000430c: DUP2 0000430d: PUSH2 0x3cf3 00004310: JUMP 00004311: JUMPDEST 00004312: PUSH1 0x01 00004314: DUP2 00004315: DUP2 00004316: JUMPDEST 00004317: DUP1 00004318: DUP6 00004319: GT 0000431a: ISZERO 0000431b: PUSH2 0x434b 0000431e: JUMPI 0000431f: DUP2 00004320: PUSH0 00004321: NOT 00004322: DIV 00004323: DUP3 00004324: GT 00004325: ISZERO 00004326: PUSH2 0x4331 00004329: JUMPI 0000432a: PUSH2 0x4331 0000432d: PUSH2 0x415a 00004330: JUMP 00004331: JUMPDEST 00004332: DUP1 00004333: DUP6 00004334: AND 00004335: ISZERO 00004336: PUSH2 0x433e 00004339: JUMPI 0000433a: SWAP2 0000433b: DUP2 0000433c: MUL 0000433d: SWAP2 0000433e: JUMPDEST 0000433f: SWAP4 00004340: DUP5 00004341: SHR 00004342: SWAP4 00004343: SWAP1 00004344: DUP1 00004345: MUL 00004346: SWAP1 00004347: PUSH2 0x4316 0000434a: JUMP 0000434b: JUMPDEST 0000434c: POP 0000434d: SWAP3 0000434e: POP 0000434f: SWAP3 00004350: SWAP1 00004351: POP 00004352: JUMP 00004353: JUMPDEST 00004354: PUSH0 00004355: DUP3 00004356: PUSH2 0x4361 00004359: JUMPI 0000435a: POP 0000435b: PUSH1 0x01 0000435d: PUSH2 0x1298 00004360: JUMP 00004361: JUMPDEST 00004362: DUP2 00004363: PUSH2 0x436d 00004366: JUMPI 00004367: POP 00004368: PUSH0 00004369: PUSH2 0x1298 0000436c: JUMP 0000436d: JUMPDEST 0000436e: DUP2 0000436f: PUSH1 0x01 00004371: DUP2 00004372: EQ 00004373: PUSH2 0x4383 00004376: JUMPI 00004377: PUSH1 0x02 00004379: DUP2 0000437a: EQ 0000437b: PUSH2 0x438d 0000437e: JUMPI 0000437f: PUSH2 0x43a9 00004382: JUMP 00004383: JUMPDEST 00004384: PUSH1 0x01 00004386: SWAP2 00004387: POP 00004388: POP 00004389: PUSH2 0x1298 0000438c: JUMP 0000438d: JUMPDEST 0000438e: PUSH1 0xff 00004390: DUP5 00004391: GT 00004392: ISZERO 00004393: PUSH2 0x439e 00004396: JUMPI 00004397: PUSH2 0x439e 0000439a: PUSH2 0x415a 0000439d: JUMP 0000439e: JUMPDEST 0000439f: POP 000043a0: POP 000043a1: PUSH1 0x01 000043a3: DUP3 000043a4: SHL 000043a5: PUSH2 0x1298 000043a8: JUMP 000043a9: JUMPDEST 000043aa: POP 000043ab: PUSH1 0x20 000043ad: DUP4 000043ae: LT 000043af: PUSH2 0x0133 000043b2: DUP4 000043b3: LT 000043b4: AND 000043b5: PUSH1 0x4e 000043b7: DUP5 000043b8: LT 000043b9: PUSH1 0x0b 000043bb: DUP5 000043bc: LT 000043bd: AND 000043be: OR 000043bf: ISZERO 000043c0: PUSH2 0x43cc 000043c3: JUMPI 000043c4: POP 000043c5: DUP2 000043c6: DUP2 000043c7: EXP 000043c8: PUSH2 0x1298 000043cb: JUMP 000043cc: JUMPDEST 000043cd: PUSH2 0x43d6 000043d0: DUP4 000043d1: DUP4 000043d2: PUSH2 0x4311 000043d5: JUMP 000043d6: JUMPDEST 000043d7: DUP1 000043d8: PUSH0 000043d9: NOT 000043da: DIV 000043db: DUP3 000043dc: GT 000043dd: ISZERO 000043de: PUSH2 0x43e9 000043e1: JUMPI 000043e2: PUSH2 0x43e9 000043e5: PUSH2 0x415a 000043e8: JUMP 000043e9: JUMPDEST 000043ea: MUL 000043eb: SWAP4 000043ec: SWAP3 000043ed: POP 000043ee: POP 000043ef: POP 000043f0: JUMP 000043f1: JUMPDEST 000043f2: PUSH0 000043f3: PUSH2 0x0af0 000043f6: DUP4 000043f7: DUP4 000043f8: PUSH2 0x4353 000043fb: JUMP 000043fc: JUMPDEST 000043fd: PUSH4 0x4e487b71 00004402: PUSH1 0xe0 00004404: SHL 00004405: PUSH0 00004406: MSTORE 00004407: PUSH1 0x32 00004409: PUSH1 0x04 0000440b: MSTORE 0000440c: PUSH1 0x24 0000440e: PUSH0 0000440f: REVERT 00004410: JUMPDEST 00004411: DUP3 00004412: DUP2 00004413: MSTORE 00004414: PUSH1 0x40 00004416: PUSH1 0x20 00004418: DUP3 00004419: ADD 0000441a: MSTORE 0000441b: PUSH0 0000441c: PUSH2 0x373b 0000441f: PUSH1 0x40 00004421: DUP4 00004422: ADD 00004423: DUP5 00004424: PUSH2 0x40ab 00004427: JUMP 00004428: JUMPDEST 00004429: PUSH0 0000442a: PUSH1 0x03 0000442c: RETURNDATASIZE 0000442d: GT 0000442e: ISZERO 0000442f: PUSH2 0x443e 00004432: JUMPI 00004433: PUSH1 0x04 00004435: PUSH0 00004436: DUP1 00004437: RETURNDATACOPY 00004438: POP 00004439: PUSH0 0000443a: MLOAD 0000443b: PUSH1 0xe0 0000443d: SHR 0000443e: JUMPDEST 0000443f: SWAP1 00004440: JUMP 00004441: JUMPDEST 00004442: PUSH1 0x1f 00004444: DUP3 00004445: ADD 00004446: PUSH1 0x1f 00004448: NOT 00004449: AND 0000444a: DUP2 0000444b: ADD 0000444c: PUSH8 0xffffffffffffffff 00004455: DUP2 00004456: GT 00004457: DUP3 00004458: DUP3 00004459: LT 0000445a: OR 0000445b: ISZERO 0000445c: PUSH2 0x4473 0000445f: JUMPI 00004460: PUSH4 0x4e487b71 00004465: PUSH1 0xe0 00004467: SHL 00004468: PUSH0 00004469: MSTORE 0000446a: PUSH1 0x41 0000446c: PUSH1 0x04 0000446e: MSTORE 0000446f: PUSH1 0x24 00004471: PUSH0 00004472: REVERT 00004473: JUMPDEST 00004474: PUSH1 0x40 00004476: MSTORE 00004477: POP 00004478: POP 00004479: JUMP 0000447a: JUMPDEST 0000447b: PUSH0 0000447c: PUSH1 0x44 0000447e: RETURNDATASIZE 0000447f: LT 00004480: ISZERO 00004481: PUSH2 0x4487 00004484: JUMPI 00004485: SWAP1 00004486: JUMP 00004487: JUMPDEST 00004488: PUSH1 0x40 0000448a: MLOAD 0000448b: PUSH1 0x03 0000448d: NOT 0000448e: RETURNDATASIZE 0000448f: DUP2 00004490: ADD 00004491: PUSH1 0x04 00004493: DUP4 00004494: RETURNDATACOPY 00004495: DUP2 00004496: MLOAD 00004497: RETURNDATASIZE 00004498: PUSH8 0xffffffffffffffff 000044a1: DUP2 000044a2: PUSH1 0x24 000044a4: DUP5 000044a5: ADD 000044a6: GT 000044a7: DUP2 000044a8: DUP5 000044a9: GT 000044aa: OR 000044ab: ISZERO 000044ac: PUSH2 0x44b7 000044af: JUMPI 000044b0: POP 000044b1: POP 000044b2: POP 000044b3: POP 000044b4: POP 000044b5: SWAP1 000044b6: JUMP 000044b7: JUMPDEST 000044b8: DUP3 000044b9: DUP6 000044ba: ADD 000044bb: SWAP2 000044bc: POP 000044bd: DUP2 000044be: MLOAD 000044bf: DUP2 000044c0: DUP2 000044c1: GT 000044c2: ISZERO 000044c3: PUSH2 0x44cf 000044c6: JUMPI 000044c7: POP 000044c8: POP 000044c9: POP 000044ca: POP 000044cb: POP 000044cc: POP 000044cd: SWAP1 000044ce: JUMP 000044cf: JUMPDEST 000044d0: DUP5 000044d1: RETURNDATASIZE 000044d2: DUP8 000044d3: ADD 000044d4: ADD 000044d5: PUSH1 0x20 000044d7: DUP3 000044d8: DUP6 000044d9: ADD 000044da: ADD 000044db: GT 000044dc: ISZERO 000044dd: PUSH2 0x44e9 000044e0: JUMPI 000044e1: POP 000044e2: POP 000044e3: POP 000044e4: POP 000044e5: POP 000044e6: POP 000044e7: SWAP1 000044e8: JUMP 000044e9: JUMPDEST 000044ea: PUSH2 0x44f8 000044ed: PUSH1 0x20 000044ef: DUP3 000044f0: DUP7 000044f1: ADD 000044f2: ADD 000044f3: DUP8 000044f4: PUSH2 0x4441 000044f7: JUMP 000044f8: JUMPDEST 000044f9: POP 000044fa: SWAP1 000044fb: SWAP6 000044fc: SWAP5 000044fd: POP 000044fe: POP 000044ff: POP 00004500: POP 00004501: POP 00004502: JUMP 00004503: JUMPDEST 00004504: PUSH0 00004505: PUSH1 0x01 00004507: DUP3 00004508: ADD 00004509: PUSH2 0x4514 0000450c: JUMPI 0000450d: PUSH2 0x4514 00004510: PUSH2 0x415a 00004513: JUMP 00004514: JUMPDEST 00004515: POP 00004516: PUSH1 0x01 00004518: ADD 00004519: SWAP1 0000451a: JUMP 0000451b: JUMPDEST 0000451c: PUSH0 0000451d: DUP3 0000451e: PUSH2 0x4535 00004521: JUMPI 00004522: PUSH4 0x4e487b71 00004527: PUSH1 0xe0 00004529: SHL 0000452a: PUSH0 0000452b: MSTORE 0000452c: PUSH1 0x12 0000452e: PUSH1 0x04 00004530: MSTORE 00004531: PUSH1 0x24 00004533: PUSH0 00004534: REVERT 00004535: JUMPDEST 00004536: POP 00004537: DIV 00004538: SWAP1 00004539: JUMP 0000453a: JUMPDEST 0000453b: PUSH32 0x416363657373436f6e74726f6c3a206163636f756e7420000000000000000000 0000455c: DUP2 0000455d: MSTORE 0000455e: PUSH0 0000455f: DUP4 00004560: MLOAD 00004561: PUSH2 0x4571 00004564: DUP2 00004565: PUSH1 0x17 00004567: DUP6 00004568: ADD 00004569: PUSH1 0x20 0000456b: DUP9 0000456c: ADD 0000456d: PUSH2 0x4043 00004570: JUMP 00004571: JUMPDEST 00004572: PUSH17 0x01034b99036b4b9b9b4b733903937b6329 00004584: PUSH1 0x7d 00004586: SHL 00004587: PUSH1 0x17 00004589: SWAP2 0000458a: DUP5 0000458b: ADD 0000458c: SWAP2 0000458d: DUP3 0000458e: ADD 0000458f: MSTORE 00004590: DUP4 00004591: MLOAD 00004592: PUSH2 0x45a2 00004595: DUP2 00004596: PUSH1 0x28 00004598: DUP5 00004599: ADD 0000459a: PUSH1 0x20 0000459c: DUP9 0000459d: ADD 0000459e: PUSH2 0x4043 000045a1: JUMP 000045a2: JUMPDEST 000045a3: ADD 000045a4: PUSH1 0x28 000045a6: ADD 000045a7: SWAP5 000045a8: SWAP4 000045a9: POP 000045aa: POP 000045ab: POP 000045ac: POP 000045ad: JUMP 000045ae: JUMPDEST 000045af: PUSH0 000045b0: DUP2 000045b1: PUSH2 0x45bc 000045b4: JUMPI 000045b5: PUSH2 0x45bc 000045b8: PUSH2 0x415a 000045bb: JUMP 000045bc: JUMPDEST 000045bd: POP 000045be: PUSH0 000045bf: NOT 000045c0: ADD 000045c1: SWAP1 000045c2: JUMP 000045c3: INVALID 000045c4: MSTORE8 000045c5: SLOAD 000045c6: COINBASE 000045c7: MSTORE 000045c8: UNKNOWN(0x4B) 000045c9: UNKNOWN(0x4E) 000045ca: GASLIMIT 000045cb: SLOAD 000045cc: PUSH0 000045cd: SLOAD 000045ce: UNKNOWN(0x4F) 000045cf: UNKNOWN(0x4B) 000045d0: GASLIMIT 000045d1: UNKNOWN(0x4E) 000045d2: PUSH0 000045d3: TIMESTAMP 000045d4: MSTORE 000045d5: BLOBHASH 000045d6: DIFFICULTY 000045d7: SELFBALANCE 000045d8: GASLIMIT 000045d9: PUSH0 000045da: UNKNOWN(0x4D) 000045db: GASLIMIT 000045dc: MSTORE8 000045dd: MSTORE8 000045de: COINBASE 000045df: SELFBALANCE 000045e0: BLOBHASH 000045e1: UNKNOWN(0x4E) 000045e2: SELFBALANCE 000045e3: PUSH0 000045e4: NUMBER 000045e5: UNKNOWN(0x4F) 000045e6: UNKNOWN(0x4E) 000045e7: SLOAD 000045e8: MSTORE 000045e9: COINBASE 000045ea: NUMBER 000045eb: SLOAD 000045ec: SUB 000045ed: PUSH18 0x1c9d994faf6055172091cb841fd4831aa743 00004600: UNKNOWN(0xE6) 00004601: RETURN 00004602: BALANCE 00004603: MLOAD 00004604: PUSH4 0xb06a122c 00004609: DUP5 0000460a: XOR 0000460b: CHAINID 0000460c: MUL 0000460d: PUSH12 0xd110619d11cfdfc28e281df8 0000461a: SWAP4 0000461b: UNKNOWN(0xBC) 0000461c: UNKNOWN(0x24) 0000461d: DUP3 0000461e: DUP15 0000461f: DUP10 00004620: OR 00004621: PUSH20 0x18e9dbd860cdaedeb6b357495448445241574c5f 00004636: UNKNOWN(0x4C) 00004637: BLOBHASH 00004638: UNKNOWN(0x4D) 00004639: BLOBHASH 0000463a: SLOAD 0000463b: PUSH0 0000463c: BLOBHASH 0000463d: UNKNOWN(0x4E) 0000463e: SLOAD 0000463f: MSTORE 00004640: COINBASE 00004641: DIFFICULTY 00004642: COINBASE 00004643: MSIZE 00004644: PUSH0 00004645: MLOAD 00004646: SSTORE 00004647: UNKNOWN(0x4F) 00004648: SLOAD 00004649: COINBASE 0000464a: PUSH0 0000464b: MSTORE8 0000464c: UNKNOWN(0x4C) 0000464d: UNKNOWN(0x4F) 0000464e: SLOAD 0000464f: PUSH0 00004650: SLOAD 00004651: COINBASE 00004652: SELFBALANCE 00004653: STOP 00004654: UNKNOWN(0xD2) 00004655: UNKNOWN(0xEA) 00004656: UNKNOWN(0xD7) 00004657: DUP13 00004658: PUSH3 0x0e94b0 0000465c: UNKNOWN(0x2D) 0000465d: EXP 0000465e: SWAP10 0000465f: PUSH15 0x99298c59ddccfa1d8a0149080ac3a2 0000466f: UNKNOWN(0x0D) 00004670: UNKNOWN(0xE0) 00004671: PUSH1 0x68 00004673: MUL 00004674: MLOAD 00004675: UNKNOWN(0xE8) 00004676: PUSH5 0xca2a080f55 0000467c: UNKNOWN(0xBC) 0000467d: UNKNOWN(0xE5) 0000467e: UNKNOWN(0xDA) 0000467f: UNKNOWN(0x24) 00004680: MSTORE 00004681: UNKNOWN(0xE8) 00004682: UNKNOWN(0xCF) 00004683: UNKNOWN(0xCA) 00004684: REVERT 00004685: UNKNOWN(0xBC) 00004686: SWAP6 00004687: BYTE 00004688: RETURNDATACOPY 00004689: PUSH32 0xff5023d558452ec22853e43b954ba190a7e49386f1f78b01dcd9f628db23f432 000046aa: STATICCALL 000046ab: MUL 000046ac: SWAP11 000046ad: PUSH30 0xfd6d98e8fb535441524b4e45545f544f4b454e5f4252494447455f4c325f 000046cc: SLOAD 000046cd: UNKNOWN(0x4F) 000046ce: UNKNOWN(0x4B) 000046cf: GASLIMIT 000046d0: UNKNOWN(0x4E) 000046d1: PUSH0 000046d2: NUMBER 000046d3: UNKNOWN(0x4F) 000046d4: UNKNOWN(0x4E) 000046d5: SLOAD 000046d6: MSTORE 000046d7: COINBASE 000046d8: NUMBER 000046d9: SLOAD 000046da: STOP 000046db: DUP12 000046dc: UNKNOWN(0xCE) 000046dd: COINBASE 000046de: DUP3 000046df: PUSH30 0xd5484d80312a2e43bc42a896e3fcf75bf84c2b49339168dfa00a037693ba 000046fe: BALANCE 000046ff: UNKNOWN(0x27) 00004700: DUP6 00004701: SWAP4 00004702: UNKNOWN(0x2D) 00004703: NUMBER 00004704: UNKNOWN(0x0D) 00004705: UNKNOWN(0xCC) 00004706: CREATE 00004707: CREATE2 00004708: PUSH16 0xfedd0aa7c0f8b6da2cc4530c2717689b 00004719: SWAP7 0000471a: SUB 0000471b: UNKNOWN(0xE6) 0000471c: ISZERO 0000471d: PUSH4 0x8e0b7944 00004722: BLOBBASEFEE 00004723: PUSH17 0xf8c695bf8f2a47033bf1cf95691ec3130f 00004735: PUSH5 0x939cee9953 0000473b: SLOAD 0000473c: COINBASE 0000473d: MSTORE 0000473e: UNKNOWN(0x4B) 0000473f: UNKNOWN(0x4E) 00004740: GASLIMIT 00004741: SLOAD 00004742: PUSH0 00004743: SLOAD 00004744: UNKNOWN(0x4F) 00004745: UNKNOWN(0x4B) 00004746: GASLIMIT 00004747: UNKNOWN(0x4E) 00004748: PUSH0 00004749: TIMESTAMP 0000474a: MSTORE 0000474b: BLOBHASH 0000474c: DIFFICULTY 0000474d: SELFBALANCE 0000474e: GASLIMIT 0000474f: PUSH0 00004750: UNKNOWN(0x4D) 00004751: COINBASE 00004752: UNKNOWN(0x4E) 00004753: COINBASE 00004754: SELFBALANCE 00004755: GASLIMIT 00004756: MSTORE 00004757: PUSH0 00004758: MSTORE8 00004759: UNKNOWN(0x4C) 0000475a: UNKNOWN(0x4F) 0000475b: SLOAD 0000475c: PUSH0 0000475d: SLOAD 0000475e: COINBASE 0000475f: SELFBALANCE 00004760: JUMPI 00004761: BLOBHASH 00004762: SLOAD 00004763: BASEFEE 00004764: DIFFICULTY 00004765: MSTORE 00004766: COINBASE 00004767: JUMPI 00004768: UNKNOWN(0x4C) 00004769: PUSH0 0000476a: UNKNOWN(0x4C) 0000476b: BLOBHASH 0000476c: UNKNOWN(0x4D) 0000476d: BLOBHASH 0000476e: SLOAD 0000476f: PUSH0 00004770: JUMPI 00004771: BLOBHASH 00004772: SLOAD 00004773: BASEFEE 00004774: DIFFICULTY 00004775: MSTORE 00004776: COINBASE 00004777: JUMPI 00004778: PUSH0 00004779: UNKNOWN(0x4C) 0000477a: BLOBHASH 0000477b: UNKNOWN(0x4D) 0000477c: BLOBHASH 0000477d: SLOAD 0000477e: PUSH0 0000477f: POP 00004780: NUMBER 00004781: SLOAD 00004782: PUSH0 00004783: MSTORE8 00004784: UNKNOWN(0x4C) 00004785: UNKNOWN(0x4F) 00004786: SLOAD 00004787: PUSH0 00004788: SLOAD 00004789: COINBASE 0000478a: SELFBALANCE 0000478b: MSTORE8 0000478c: SLOAD 0000478d: COINBASE 0000478e: MSTORE 0000478f: UNKNOWN(0x4B) 00004790: UNKNOWN(0x4E) 00004791: GASLIMIT 00004792: SLOAD 00004793: PUSH0 00004794: SLOAD 00004795: UNKNOWN(0x4F) 00004796: UNKNOWN(0x4B) 00004797: GASLIMIT 00004798: UNKNOWN(0x4E) 00004799: PUSH0 0000479a: TIMESTAMP 0000479b: MSTORE 0000479c: BLOBHASH 0000479d: DIFFICULTY 0000479e: SELFBALANCE 0000479f: GASLIMIT 000047a0: PUSH0 000047a1: DIFFICULTY 000047a2: GASLIMIT 000047a3: POP 000047a4: UNKNOWN(0x4F) 000047a5: MSTORE8 000047a6: BLOBHASH 000047a7: SLOAD 000047a8: UNKNOWN(0x4F) 000047a9: MSTORE 000047aa: PUSH0 000047ab: COINBASE 000047ac: DIFFICULTY 000047ad: DIFFICULTY 000047ae: MSTORE 000047af: GASLIMIT 000047b0: MSTORE8 000047b1: MSTORE8 000047b2: GASLIMIT 000047b3: MSTORE8 000047b4: ADD 000047b5: UNKNOWN(0xB6) 000047b6: UNKNOWN(0x4B) 000047b7: SHL 000047b8: EXTCODESIZE 000047b9: PUSH10 0x0b43b9b514fb81377518 000047c4: DELEGATECALL 000047c5: SUB 000047c6: SWAP13 000047c7: UNKNOWN(0xD3) 000047c8: UNKNOWN(0xE4) 000047c9: DELEGATECALL 000047ca: SWAP2 000047cb: UNKNOWN(0x4D) 000047cc: DUP11 000047cd: PUSH12 0xdf01d679fb19c59c20aaa965 000047da: SWAP8 000047db: UNKNOWN(0x26) 000047dc: DUP16 000047dd: MSIZE 000047de: TSTORE 000047df: UNKNOWN(0xB3) 000047e0: UNKNOWN(0x0E) 000047e1: UNKNOWN(0xC2) 000047e2: GT 000047e3: ADDMOD 000047e4: UNKNOWN(0xA5) 000047e5: SDIV 000047e6: CALLDATACOPY 000047e7: UNKNOWN(0x0E) 000047e8: ORIGIN 000047e9: PUSH7 0xed3a6515637f16 000047f1: UNKNOWN(0xB8) 000047f2: UNKNOWN(0xB6) 000047f3: DUP10 000047f4: MUL 000047f5: RETURNDATACOPY 000047f6: UNKNOWN(0xDB) 000047f7: PUSH24 0xf7c8cc9e38e8afe78954f703aeeda7fffe014eeb6e56ea84 00004810: UNKNOWN(0xE6) 00004811: UNKNOWN(0x2F) 00004812: PUSH14 0xa7535441524b4e45545f45524332 00004821: ADDRESS 00004822: PUSH0 00004823: SLOAD 00004824: UNKNOWN(0x4F) 00004825: UNKNOWN(0x4B) 00004826: GASLIMIT 00004827: UNKNOWN(0x4E) 00004828: PUSH0 00004829: TIMESTAMP 0000482a: MSTORE 0000482b: BLOBHASH 0000482c: DIFFICULTY 0000482d: SELFBALANCE 0000482e: GASLIMIT 0000482f: PUSH0 00004830: SLOAD 00004831: UNKNOWN(0x4F) 00004832: UNKNOWN(0x4B) 00004833: GASLIMIT 00004834: UNKNOWN(0x4E) 00004835: PUSH0 00004836: COINBASE 00004837: DIFFICULTY 00004838: DIFFICULTY 00004839: MSTORE 0000483a: GASLIMIT 0000483b: MSTORE8 0000483c: MSTORE8 0000483d: ADD 0000483e: UNKNOWN(0x28) 0000483f: UNKNOWN(0xD6) 00004840: GASPRICE 00004841: UNKNOWN(0xDB) 00004842: UNKNOWN(0xF6) 00004843: UNKNOWN(0xB0) 00004844: SWAP1 00004845: MUL 00004846: UNKNOWN(0xC2) 00004847: PUSH13 0xaf55c47e2f26635807e3ef1b02 00004855: PUSH19 0x18aa74c8d61a3e537461726b576172655f5374 00004869: PUSH2 0x726b 0000486c: PUSH15 0x65744574684272696467655f322e30 0000487c: PUSH0 0000487d: CALLVALUE 0000487e: LOG2 0000487f: PUSH5 0x6970667358 00004885: UNKNOWN(0x22) 00004886: SLT 00004887: KECCAK256 00004888: UNKNOWN(0xAE) 00004889: UNKNOWN(0xB2) 0000488a: PUSH12 0xe5ec3ed9f5d1316e4f3d6842 00004897: PUSH14 0xf4beb9913f84a81ad0d5bb8c1be3 000048a6: CREATE 000048a7: PUSH26
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | codex | Unrestricted EIC delegatecall in initialize enables arbitrary code execution and fund drain | 90 | no | — |
viewevidence_json{
"evidence": "`initialize` accepts a user-supplied `eicAddress` and always delegatecalls it without any caller authorization or `isInitialized` gating, enabling arbitrary code execution in the proxy context.",
"locations": [
"contracts/starkware/solidity/interfaces/ProxySupport.sol:52",
"contracts/starkware/solidity/interfaces/ProxySupport.sol:64",
"contracts/starkware/solidity/interfaces/ProxySupport.sol:80"
],
"recommendation": "Restrict `initialize` to governance/admin-only calls and/or remove the EIC path after first initialization; alternatively, require EIC to be a pre-approved contract or enforce `isInitialized` even for EIC flows.",
"exploit_scenario": "1) Attacker deploys a malicious initializer contract with an `initialize(bytes)` function that, when delegatecalled, transfers all ETH and ERC20 balances from `address(this)` to the attacker. 2) Attacker calls the bridge proxy\u2019s `initialize` with `data` crafted so `eicAddress` points to the malicious initializer. 3) `ProxySupport.initialize` unconditionally delegatecalls the attacker\u2019s contract (even if already initialized), executing in the proxy\u2019s context and draining assets. Profit: up to the entire ETH/ERC20 balances held by the bridge proxy (bridge TVL)."
}
|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xeeb72866",
"selector": "0xeeb72866",
"calldata_variants": [
"0xeeb72866",
"0xeeb728660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3fef3a3",
"selector": "0xf3fef3a3",
"calldata_variants": [
"0xf3fef3a3",
"0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa0f73ba",
"selector": "0xfa0f73ba",
"calldata_variants": [
"0xfa0f73ba",
"0xfa0f73ba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfad8b32a",
"selector": "0xfad8b32a",
"calldata_variants": [
"0xfad8b32a",
"0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdeec9c5a",
"selector": "0xdeec9c5a",
"calldata_variants": [
"0xdeec9c5a",
"0xdeec9c5a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe2bbb158",
"selector": "0xe2bbb158",
"calldata_variants": [
"0xe2bbb158",
"0xe2bbb1580000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xed9ef16a",
"selector": "0xed9ef16a",
"calldata_variants": [
"0xed9ef16a",
"0xed9ef16a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee0e6807",
"selector": "0xee0e6807",
"calldata_variants": [
"0xee0e6807",
"0xee0e68070000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 18408,
"type": "tx_origin_used"
}
]
}
|
| high | upgradeability | detector | Untrusted DELEGATECALL target reachable | 55 | no | no |
viewtrace_id: 0x2be3b3cf69df0deb5878938fc0cadd6efb515a75f7bd36a6f518a740ea216644
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 192,
"trace_id": "0x2be3b3cf69df0deb5878938fc0cadd6efb515a75f7bd36a6f518a740ea216644",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xeeb72866",
"selector": "0xeeb72866",
"calldata_variants": [
"0xeeb72866",
"0xeeb728660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3fef3a3",
"selector": "0xf3fef3a3",
"calldata_variants": [
"0xf3fef3a3",
"0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa0f73ba",
"selector": "0xfa0f73ba",
"calldata_variants": [
"0xfa0f73ba",
"0xfa0f73ba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfad8b32a",
"selector": "0xfad8b32a",
"calldata_variants": [
"0xfad8b32a",
"0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdeec9c5a",
"selector": "0xdeec9c5a",
"calldata_variants": [
"0xdeec9c5a",
"0xdeec9c5a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe2bbb158",
"selector": "0xe2bbb158",
"calldata_variants": [
"0xe2bbb158",
"0xe2bbb1580000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xed9ef16a",
"selector": "0xed9ef16a",
"calldata_variants": [
"0xed9ef16a",
"0xed9ef16a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee0e6807",
"selector": "0xee0e6807",
"calldata_variants": [
"0xee0e6807",
"0xee0e68070000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 10594,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 18372,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 18377,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [
{
"pc": 18408,
"type": "tx_origin_used"
}
],
"delegatecall_count": 3,
"untrusted_delegatecall_count": 3
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x4c69a76a699c514313413bb83f80b1cffcf85b739fb0fe6a1e780ecb5efdf723
call_targets:
0x95ff25a59dc9c5a41cf0709dc916041e5dc7fd95
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x4c69a76a699c514313413bb83f80b1cffcf85b739fb0fe6a1e780ecb5efdf723",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x95ff25a59dc9c5a41cf0709dc916041e5dc7fd95"
],
"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": "0xeeb72866",
"selector": "0xeeb72866",
"calldata_variants": [
"0xeeb72866",
"0xeeb728660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3fef3a3",
"selector": "0xf3fef3a3",
"calldata_variants": [
"0xf3fef3a3",
"0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa0f73ba",
"selector": "0xfa0f73ba",
"calldata_variants": [
"0xfa0f73ba",
"0xfa0f73ba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfad8b32a",
"selector": "0xfad8b32a",
"calldata_variants": [
"0xfad8b32a",
"0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdeec9c5a",
"selector": "0xdeec9c5a",
"calldata_variants": [
"0xdeec9c5a",
"0xdeec9c5a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe2bbb158",
"selector": "0xe2bbb158",
"calldata_variants": [
"0xe2bbb158",
"0xe2bbb1580000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xed9ef16a",
"selector": "0xed9ef16a",
"calldata_variants": [
"0xed9ef16a",
"0xed9ef16a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee0e6807",
"selector": "0xee0e6807",
"calldata_variants": [
"0xee0e6807",
"0xee0e68070000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3320,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5565,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5923,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 11,
"guards_detected": [
{
"pc": 18408,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x4c69a76a699c514313413bb83f80b1cffcf85b739fb0fe6a1e780ecb5efdf723
call_targets:
0x95ff25a59dc9c5a41cf0709dc916041e5dc7fd95
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x4c69a76a699c514313413bb83f80b1cffcf85b739fb0fe6a1e780ecb5efdf723",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x95ff25a59dc9c5a41cf0709dc916041e5dc7fd95"
],
"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": "0xeeb72866",
"selector": "0xeeb72866",
"calldata_variants": [
"0xeeb72866",
"0xeeb728660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3fef3a3",
"selector": "0xf3fef3a3",
"calldata_variants": [
"0xf3fef3a3",
"0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa0f73ba",
"selector": "0xfa0f73ba",
"calldata_variants": [
"0xfa0f73ba",
"0xfa0f73ba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfad8b32a",
"selector": "0xfad8b32a",
"calldata_variants": [
"0xfad8b32a",
"0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdeec9c5a",
"selector": "0xdeec9c5a",
"calldata_variants": [
"0xdeec9c5a",
"0xdeec9c5a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe2bbb158",
"selector": "0xe2bbb158",
"calldata_variants": [
"0xe2bbb158",
"0xe2bbb1580000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xed9ef16a",
"selector": "0xed9ef16a",
"calldata_variants": [
"0xed9ef16a",
"0xed9ef16a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee0e6807",
"selector": "0xee0e6807",
"calldata_variants": [
"0xee0e6807",
"0xee0e68070000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 3320,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5565,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5923,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 11,
"guards_detected": [
{
"pc": 18408,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 11
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 3
}
|
| medium | other | detector | CREATE/CREATE2 reachable | 45 | no | no |
viewtrace_id: 0x101175c47af0b25718f63c307cf67343e4947bddc163a30d74f2e718242dbb07
validation_json{
"sink": "CREATE",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x101175c47af0b25718f63c307cf67343e4947bddc163a30d74f2e718242dbb07",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xeeb72866",
"selector": "0xeeb72866",
"calldata_variants": [
"0xeeb72866",
"0xeeb728660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf3fef3a3",
"selector": "0xf3fef3a3",
"calldata_variants": [
"0xf3fef3a3",
"0xf3fef3a30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfa0f73ba",
"selector": "0xfa0f73ba",
"calldata_variants": [
"0xfa0f73ba",
"0xfa0f73ba0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfad8b32a",
"selector": "0xfad8b32a",
"calldata_variants": [
"0xfad8b32a",
"0xfad8b32a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdeec9c5a",
"selector": "0xdeec9c5a",
"calldata_variants": [
"0xdeec9c5a",
"0xdeec9c5a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe2bbb158",
"selector": "0xe2bbb158",
"calldata_variants": [
"0xe2bbb158",
"0xe2bbb1580000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xed9ef16a",
"selector": "0xed9ef16a",
"calldata_variants": [
"0xed9ef16a",
"0xed9ef16a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee0e6807",
"selector": "0xee0e6807",
"calldata_variants": [
"0xee0e6807",
"0xee0e68070000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"create_count": 2,
"create2_count": 1
}
|
| low | other | cast | Contract creation opcode present | 60 | no | — |
viewevidence_json{
"notes": "runtime can deploy contracts dynamically via CREATE/CREATE2",
"create_count": 2,
"create2_count": 1
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 15
}
|
| 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": 7
}
|