67f444d1-9726-4c41-abaf-c830b7a66696
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 |
|---|---|---|---|---|
| 30744 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 75460 | artifact.fetch | failed | 1 / 3 | 2 weeks ago |
| 75461 | tool.cast_disasm | complete | 1 / 3 | 2 weeks ago |
| 75462 | analysis.bundle | complete | 1 / 3 | 2 weeks ago |
| 75463 | capability.graph | complete | 1 / 3 | 2 weeks ago |
| 75464 | detector.run | complete | 1 / 3 | 2 weeks ago |
| 75465 | validation.fork | complete | 1 / 3 | 2 weeks ago |
No slither job recorded yet.
[codex:1056511] OpenAI Codex v0.77.0 (research preview)
[codex:1056511] --------
[codex:1056511] workdir: /tmp/codex-multi-cuqf8gy_
[codex:1056511] model: gpt-5.2-codex
[codex:1056511] provider: openai
[codex:1056511] approval: never
[codex:1056511] sandbox: read-only
[codex:1056511] reasoning effort: xhigh
[codex:1056511] reasoning summaries: auto
[codex:1056511] session id: 019b70c9-ee6d-7d80-89b1-293e0a88cb91
[codex:1056511] --------
[codex:1056511] user
[codex:1056511] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:1056511] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:1056511] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:1056511]
[codex:1056511] Scope rules:
[codex:1056511] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:1056511] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:1056511]
[codex:1056511] Output MUST be valid JSON matching the provided schema.
[codex:1056511] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:1056511] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:1056511]
[codex:1056511] Output constraints (IMPORTANT):
[codex:1056511] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:1056511] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:1056511] mcp startup: no servers
[codex:1056511]
[codex:1056511] thinking
[codex:1056511] **Preparing to gather information**
[codex:1056511] exec
[codex:1056511] /bin/bash -lc ls in /tmp/codex-multi-cuqf8gy_ succeeded in 5ms:
[codex:1056511] AUDIT_BUNDLE.txt
[codex:1056511] codex-output-schema.json
[codex:1056511] contracts
[codex:1056511]
[codex:1056511] thinking
[codex:1056511] **Reading AUDIT_BUNDLE.txt**
[codex:1056511] exec
[codex:1056511] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-cuqf8gy_ succeeded in 6ms:
[codex:1056511] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:1056511]
[codex:1056511] ================================================================================
[codex:1056511] FILE: contracts/interfaces/L1/IResourceMetering.sol
[codex:1056511] ================================================================================
[codex:1056511] // SPDX-License-Identifier: MIT
[codex:1056511] pragma solidity ^0.8.0;
[codex:1056511]
[codex:1056511] interface IResourceMetering {
[codex:1056511] struct ResourceParams {
[codex:1056511] uint128 prevBaseFee;
[codex:1056511] uint64 prevBoughtGas;
[codex:1056511] uint64 prevBlockNum;
[codex:1056511] }
[codex:1056511]
[codex:1056511] struct ResourceConfig {
[codex:1056511] uint32 maxResourceLimit;
[codex:1056511] uint8 elasticityMultiplier;
[codex:1056511] uint8 baseFeeMaxChangeDenominator;
[codex:1056511] uint32 minimumBaseFee;
[codex:1056511]
[codex:1056511] thinking
[codex:1056511] **Preparing to analyze AUDIT_BUNDLE contents**
[codex:1056511] exec
[codex:1056511] /bin/bash -lc 'rg "''^FILE:" -n AUDIT_BUNDLE.txt' in /tmp/codex-multi-cuqf8gy_ succeeded in 6ms:
[codex:1056511] 4:FILE: contracts/interfaces/L1/IResourceMetering.sol
[codex:1056511] 35:FILE: contracts/interfaces/L1/ISuperchainConfig.sol
[codex:1056511] 63:FILE: contracts/interfaces/L1/ISystemConfig.sol
[codex:1056511] 158:FILE: contracts/interfaces/legacy/ILegacyMintableERC20.sol
[codex:1056511] 179:FILE: contracts/interfaces/universal/ICrossDomainMessenger.sol
[codex:1056511] 226:FILE: contracts/interfaces/universal/IOptimismMintableERC20.sol
[codex:1056511] 248:FILE: contracts/interfaces/universal/ISemver.sol
[codex:1056511] 265:FILE: contracts/lib/openzeppelin-contracts/contracts/proxy/utils/Initializable.sol
[codex:1056511] 407:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/ERC20.sol
[codex:1056511] 794:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol
[codex:1056511] 880:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol
[codex:1056511] 912:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-ERC20Permit.sol
[codex:1056511] 1011:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/extensions/draft-IERC20Permit.sol
[codex:1056511] 1075:FILE: contracts/lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol
[codex:1056511] 1195:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/Address.sol
[codex:1056511] 1421:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/Context.sol
[codex:1056511] 1449:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/Counters.sol
[codex:1056511] 1496:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/Strings.sol
[codex:1056511] 1575:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol
[codex:1056511] 1797:FILE: contracts/lib/openzeppelin-contracts/contracts/utils/cryptography/draft-EIP712.sol
[codex:1056511]
[codex:1056511] thinking
[codex:1056511] **Reviewing core contract files**
[codex:1056511] exec
[codex:1056511] /bin/bash -lc "sed -n '2061,2483p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-cuqf8gy_ succeeded in 6ms:
[codex:1056511] FILE: contracts/src/L1/L1StandardBridge.sol
[codex:1056511] ================================================================================
[codex:1056511] // SPDX-License-Identifier: MIT
[codex:1056511] pragma solidity 0.8.15;
[codex:1056511]
[codex:1056511] // Contracts
[codex:1056511] import { StandardBridge } from "src/universal/StandardBridge.sol";
[codex:1056511] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1056511]
[codex:1056511] // Libraries
[codex:1056511] import { Predeploys } from "src/libraries/Predeploys.sol";
[codex:1056511]
[codex:1056511] // Interfaces
[codex:1056511] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1056511] import { ISemver } from "interfaces/universal/ISemver.sol";
[codex:1056511] import { ICrossDomainMessenger } from "interfaces/universal/ICrossDomainMessenger.sol";
[codex:1056511] import { ISuperchainConfig } from "interfaces/L1/ISuperchainConfig.sol";
[codex:1056511] import { ISystemConfig } from "interfaces/L1/ISystemConfig.sol";
[codex:1056511]
[codex:1056511] /// @custom:proxied true
[codex:1056511]
[codex:1056511] thinking
[codex:1056511] **Locating StandardBridge code**
[codex:1056511] exec
[codex:1056511] /bin/bash -lc "sed -n '3274,3782p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-cuqf8gy_ succeeded in 6ms:
[codex:1056511] FILE: contracts/src/universal/StandardBridge.sol
[codex:1056511] ================================================================================
[codex:1056511] // SPDX-License-Identifier: MIT
[codex:1056511] pragma solidity 0.8.15;
[codex:1056511]
[codex:1056511] // Contracts
[codex:1056511] import { Initializable } from "@openzeppelin/contracts/proxy/utils/Initializable.sol";
[codex:1056511]
[codex:1056511] // Libraries
[codex:1056511] import { ERC165Checker } from "@openzeppelin/contracts/utils/introspection/ERC165Checker.sol";
[codex:1056511] import { Address } from "@openzeppelin/contracts/utils/Address.sol";
[codex:1056511] import { SafeERC20 } from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
[codex:1056511] import { SafeCall } from "src/libraries/SafeCall.sol";
[codex:1056511] import { EOA } from "src/libraries/EOA.sol";
[codex:1056511]
[codex:1056511] // Interfaces
[codex:1056511] import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
[codex:1056511] import { IOptimismMintableERC20 } from "interfaces/universal/IOptimismMintableERC20.sol";
[codex:1056511] import { ILegacyMintableERC20 } from "interfaces/legacy/ILegacyMintableERC20.sol";
[codex:1056511] import { ICrossDomainMessenger } from "interfaces/universal/ICrossDomainMessenger.sol";
[codex:1056511]
[codex:1056511] thinking
[codex:1056511] **Inspecting additional contract files**
[codex:1056511] exec
[codex:1056511] /bin/bash -lc "sed -n '3111,3273p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-cuqf8gy_ succeeded in 6ms:
[codex:1056511] FILE: contracts/src/universal/OptimismMintableERC20.sol
[codex:1056511] ================================================================================
[codex:1056511] // SPDX-License-Identifier: MIT
[codex:1056511] pragma solidity 0.8.15;
[codex:1056511]
[codex:1056511] // Contracts
[codex:1056511] import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
[codex:1056511] import { ERC20Permit } from "@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol";
[codex:1056511]
[codex:1056511] // Libraries
[codex:1056511] import { Preinstalls } from "src/libraries/Preinstalls.sol";
[codex:1056511]
[codex:1056511] // Interfaces
[codex:1056511] import { IERC165 } from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
[codex:1056511] import { ISemver } from "interfaces/universal/ISemver.sol";
[codex:1056511] import { IOptimismMintableERC20 } from "interfaces/universal/IOptimismMintableERC20.sol";
[codex:1056511] import { ILegacyMintableERC20 } from "interfaces/legacy/ILegacyMintableERC20.sol";
[codex:1056511]
[codex:1056511] /// @title OptimismMintableERC20
[codex:1056511] /// @notice OptimismMintableERC20 is a standard extension of the base ERC20 token contract designed
[codex:1056511]
[codex:1056511] thinking
[codex:1056511] **Exploring key libraries**
[codex:1056511] exec
[codex:1056511] /bin/bash -lc "sed -n '2484,3110p' AUDIT_BUNDLE.txt" in /tmp/codex-multi-cuqf8gy_ succeeded in 7ms:
[codex:1056511] FILE: contracts/src/libraries/Constants.sol
[codex:1056511] ================================================================================
[codex:1056511] // SPDX-License-Identifier: MIT
[codex:1056511] pragma solidity ^0.8.0;
[codex:1056511]
[codex:1056511] // Interfaces
[codex:1056511] import { IResourceMetering } from "interfaces/L1/IResourceMetering.sol";
[codex:1056511]
[codex:1056511] /// @title Constants
[codex:1056511] /// @notice Constants is a library for storing constants. Simple! Don't put everything in here, just
[codex:1056511] /// the stuff used in multiple contracts. Constants that only apply to a single contract
[codex:1056511] /// should be defined in that contract instead.
[codex:1056511] library Constants {
[codex:1056511] /// @notice Special address to be used as the tx origin for gas estimation calls in the
[codex:1056511] /// OptimismPortal and CrossDomainMessenger calls. You only need to use this address if
[codex:1056511] /// the minimum gas limit specified by the user is not actually enough to execute the
[codex:1056511] /// given message and you're attempting to estimate the actual necessary gas limit. We
[codex:1056511] /// use address(1) because it's the ecrecover precompile and therefore guaranteed to
[codex:1056511] /// never have any code on any EVM chain.
[codex:1056511] address internal constant ESTIMATION_ADDRESS = address(1);
[codex:1056511]
[codex:1056511]
[codex:1056511]
[codex:1056511]
[codex:1056511]
[codex:1056511]
[codex:1056511] thinking
[codex:1056511] **Evaluating bridge contract security and initialization**
[codex:1056511]
[codex:1056511] I'm analyzing how the L1StandardBridge handles initialization, proxies, and token bridging to spot vulnerabilities. I’m focusing on risks from public initializers on proxies, reentrancy in bridging calls, token interface spoofing via ERC165, and access control around critical token transfers—trying to uncover potential attack vectors or misconfigurations.
[codex:1056511] thinking
[codex:1056511] **Clarifying token interface risks and bridge mechanics**
[codex:1056511]
[codex:1056511] I'm mapping how malicious tokens could exploit the ERC165 interface checks to manipulate minting and burning across chains, exploring whether deposit and withdrawal accounting stays consistent, and examining subtle risks like onlyEOA bypasses, permit2 allowance quirks, and pause-state effects on bridging—all while considering how these mechanics impact trust boundaries and token flow integrity.
[codex:1056511] thinking
[codex:1056511] **Analyzing bridge initialization and token transfer edge cases**
[codex:1056511]
[codex:1056511] I'm assessing potential risks around system config replacement via initialize, token draining during FRAX migration, effects of allowing withdrawals to bridge or messenger addresses, how paused states affect deposits, and the implications of Permit2’s unlimited allowances—while also considering reentrancy protections and access controls tied to bridge functions and token transfers.
[codex:1056511] thinking
[codex:1056511] **Reviewing external calls, initialization, and token interface handling**
[codex:1056511]
[codex:1056511] I'm going through how external calls like messenger and token transfers handle failures or reentrancy, the implications of initializer logic transferring full token balances, and the robustness of EOA checks and interface detection—also reflecting on how bridge token pairs and custom gas token configurations might impact security while considering common edge cases.
[codex:1056511] thinking
[codex:1056511] **Examining abstract function defaults and proxy initialization risks**
[codex:1056511]
[codex:1056511] I'm considering how StandardBridge’s default empty `gasPayingToken` function might cause unintended behavior if not overridden, and how public initializer functions combined with proxy deployments could expose initialization risks depending on deployment practices, while also reviewing bridging functions’ EOA checks and potential reentrancy nuances.
[codex:1056511] thinking
[codex:1056511] **Preparing audit results summary in JSON**
[codex:1056511]
[codex:1056511] I'm wrapping up the analysis by drafting a JSON output that indicates no exploitable vulnerabilities were found, including a concise summary and an empty findings array as per the requested schema.
[codex:1056511] codex
[codex:1056511] {"no_findings":true,"summary":"No exploitable vulnerabilities identified in the provided first-party contracts within the requested focus areas.","findings":[]}
[codex:1056511] tokens used
[codex:1056511] 64,063
[codex:1056511] {"no_findings":true,"summary":"No exploitable vulnerabilities identified in the provided first-party contracts within the requested focus areas.","findings":[]}
{
"codex": {
"ran_at": "2025-12-30T19:50:33.469818+00:00",
"returncode": 0
},
"summary": "No exploitable vulnerabilities identified in the provided first-party contracts within the requested focus areas.",
"raw_final": {
"summary": "No exploitable vulnerabilities identified in the provided first-party contracts within the requested focus areas.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0184 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x7f46ddb2 00000019: GT 0000001a: PUSH2 0x00d6 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0x9a2ac6d5 00000024: GT 00000025: PUSH2 0x007f 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xc89701a2 0000002f: GT 00000030: PUSH2 0x0059 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xc89701a2 0000003a: EQ 0000003b: PUSH2 0x052e 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xcc2a9a5b 00000045: EQ 00000046: PUSH2 0x055b 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xe11013dd 00000050: EQ 00000051: PUSH2 0x057b 00000054: JUMPI 00000055: PUSH1 0x00 00000057: DUP1 00000058: REVERT 00000059: JUMPDEST 0000005a: DUP1 0000005b: PUSH4 0x9a2ac6d5 00000060: EQ 00000061: PUSH2 0x04e8 00000064: JUMPI 00000065: DUP1 00000066: PUSH4 0xa9f9e675 0000006b: EQ 0000006c: PUSH2 0x04fb 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0xb1a1a882 00000076: EQ 00000077: PUSH2 0x051b 0000007a: JUMPI 0000007b: PUSH1 0x00 0000007d: DUP1 0000007e: REVERT 0000007f: JUMPDEST 00000080: DUP1 00000081: PUSH4 0x8f601f66 00000086: GT 00000087: PUSH2 0x00b0 0000008a: JUMPI 0000008b: DUP1 0000008c: PUSH4 0x8f601f66 00000091: EQ 00000092: PUSH2 0x0477 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0x91c49bf8 0000009c: EQ 0000009d: PUSH2 0x040c 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0x927ede2d 000000a7: EQ 000000a8: PUSH2 0x04bd 000000ab: JUMPI 000000ac: PUSH1 0x00 000000ae: DUP1 000000af: REVERT 000000b0: JUMPDEST 000000b1: DUP1 000000b2: PUSH4 0x7f46ddb2 000000b7: EQ 000000b8: PUSH2 0x040c 000000bb: JUMPI 000000bc: DUP1 000000bd: PUSH4 0x838b2520 000000c2: EQ 000000c3: PUSH2 0x0437 000000c6: JUMPI 000000c7: DUP1 000000c8: PUSH4 0x87087623 000000cd: EQ 000000ce: PUSH2 0x0457 000000d1: JUMPI 000000d2: PUSH1 0x00 000000d4: DUP1 000000d5: REVERT 000000d6: JUMPDEST 000000d7: DUP1 000000d8: PUSH4 0x35e80ab3 000000dd: GT 000000de: PUSH2 0x0138 000000e1: JUMPI 000000e2: DUP1 000000e3: PUSH4 0x54fd4d50 000000e8: GT 000000e9: PUSH2 0x0112 000000ec: JUMPI 000000ed: DUP1 000000ee: PUSH4 0x54fd4d50 000000f3: EQ 000000f4: PUSH2 0x0371 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0x58a997f6 000000fe: EQ 000000ff: PUSH2 0x03c7 00000102: JUMPI 00000103: DUP1 00000104: PUSH4 0x5c975abb 00000109: EQ 0000010a: PUSH2 0x03e7 0000010d: JUMPI 0000010e: PUSH1 0x00 00000110: DUP1 00000111: REVERT 00000112: JUMPDEST 00000113: DUP1 00000114: PUSH4 0x35e80ab3 00000119: EQ 0000011a: PUSH2 0x02f7 0000011d: JUMPI 0000011e: DUP1 0000011f: PUSH4 0x3cb747bf 00000124: EQ 00000125: PUSH2 0x0324 00000128: JUMPI 00000129: DUP1 0000012a: PUSH4 0x540abf73 0000012f: EQ 00000130: PUSH2 0x0351 00000133: JUMPI 00000134: PUSH1 0x00 00000136: DUP1 00000137: REVERT 00000138: JUMPDEST 00000139: DUP1 0000013a: PUSH4 0x1532ec34 0000013f: GT 00000140: PUSH2 0x0169 00000143: JUMPI 00000144: DUP1 00000145: PUSH4 0x1532ec34 0000014a: EQ 0000014b: PUSH2 0x027a 0000014e: JUMPI 0000014f: DUP1 00000150: PUSH4 0x1635f5fd 00000155: EQ 00000156: PUSH2 0x028d 00000159: JUMPI 0000015a: DUP1 0000015b: PUSH4 0x33d7e2bd 00000160: EQ 00000161: PUSH2 0x02a0 00000164: JUMPI 00000165: PUSH1 0x00 00000167: DUP1 00000168: REVERT 00000169: JUMPDEST 0000016a: DUP1 0000016b: PUSH4 0x0166a07a 00000170: EQ 00000171: PUSH2 0x0247 00000174: JUMPI 00000175: DUP1 00000176: PUSH4 0x09fc8843 0000017b: EQ 0000017c: PUSH2 0x0267 0000017f: JUMPI 00000180: PUSH1 0x00 00000182: DUP1 00000183: REVERT 00000184: JUMPDEST 00000185: CALLDATASIZE 00000186: PUSH2 0x0242 00000189: JUMPI 0000018a: PUSH2 0x0191 0000018d: PUSH2 0x058e 00000190: JUMP 00000191: JUMPDEST 00000192: PUSH2 0x0222 00000195: JUMPI 00000196: PUSH1 0x40 00000198: MLOAD 00000199: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000001ba: DUP2 000001bb: MSTORE 000001bc: PUSH1 0x20 000001be: PUSH1 0x04 000001c0: DUP3 000001c1: ADD 000001c2: MSTORE 000001c3: PUSH1 0x37 000001c5: PUSH1 0x24 000001c7: DUP3 000001c8: ADD 000001c9: MSTORE 000001ca: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c 000001eb: PUSH1 0x44 000001ed: DUP3 000001ee: ADD 000001ef: MSTORE 000001f0: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000 00000211: PUSH1 0x64 00000213: DUP3 00000214: ADD 00000215: MSTORE 00000216: PUSH1 0x84 00000218: ADD 00000219: JUMPDEST 0000021a: PUSH1 0x40 0000021c: MLOAD 0000021d: DUP1 0000021e: SWAP2 0000021f: SUB 00000220: SWAP1 00000221: REVERT 00000222: JUMPDEST 00000223: PUSH2 0x0240 00000226: CALLER 00000227: CALLER 00000228: PUSH3 0x030d40 0000022c: PUSH1 0x40 0000022e: MLOAD 0000022f: DUP1 00000230: PUSH1 0x20 00000232: ADD 00000233: PUSH1 0x40 00000235: MSTORE 00000236: DUP1 00000237: PUSH1 0x00 00000239: DUP2 0000023a: MSTORE 0000023b: POP 0000023c: PUSH2 0x05cb 0000023f: JUMP 00000240: JUMPDEST 00000241: STOP 00000242: JUMPDEST 00000243: PUSH1 0x00 00000245: DUP1 00000246: REVERT 00000247: JUMPDEST 00000248: CALLVALUE 00000249: DUP1 0000024a: ISZERO 0000024b: PUSH2 0x0253 0000024e: JUMPI 0000024f: PUSH1 0x00 00000251: DUP1 00000252: REVERT 00000253: JUMPDEST 00000254: POP 00000255: PUSH2 0x0240 00000258: PUSH2 0x0262 0000025b: CALLDATASIZE 0000025c: PUSH1 0x04 0000025e: PUSH2 0x2cbc 00000261: JUMP 00000262: JUMPDEST 00000263: PUSH2 0x05de 00000266: JUMP 00000267: JUMPDEST 00000268: PUSH2 0x0240 0000026b: PUSH2 0x0275 0000026e: CALLDATASIZE 0000026f: PUSH1 0x04 00000271: PUSH2 0x2d6d 00000274: JUMP 00000275: JUMPDEST 00000276: PUSH2 0x09f8 00000279: JUMP 0000027a: JUMPDEST 0000027b: PUSH2 0x0240 0000027e: PUSH2 0x0288 00000281: CALLDATASIZE 00000282: PUSH1 0x04 00000284: PUSH2 0x2dc0 00000287: JUMP 00000288: JUMPDEST 00000289: PUSH2 0x0ad4 0000028c: JUMP 0000028d: JUMPDEST 0000028e: PUSH2 0x0240 00000291: PUSH2 0x029b 00000294: CALLDATASIZE 00000295: PUSH1 0x04 00000297: PUSH2 0x2dc0 0000029a: JUMP 0000029b: JUMPDEST 0000029c: PUSH2 0x0ae8 0000029f: JUMP 000002a0: JUMPDEST 000002a1: CALLVALUE 000002a2: DUP1 000002a3: ISZERO 000002a4: PUSH2 0x02ac 000002a7: JUMPI 000002a8: PUSH1 0x00 000002aa: DUP1 000002ab: REVERT 000002ac: JUMPDEST 000002ad: POP 000002ae: PUSH1 0x33 000002b0: SLOAD 000002b1: PUSH2 0x02cd 000002b4: SWAP1 000002b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002ca: AND 000002cb: DUP2 000002cc: JUMP 000002cd: JUMPDEST 000002ce: PUSH1 0x40 000002d0: MLOAD 000002d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002e6: SWAP1 000002e7: SWAP2 000002e8: AND 000002e9: DUP2 000002ea: MSTORE 000002eb: PUSH1 0x20 000002ed: ADD 000002ee: JUMPDEST 000002ef: PUSH1 0x40 000002f1: MLOAD 000002f2: DUP1 000002f3: SWAP2 000002f4: SUB 000002f5: SWAP1 000002f6: RETURN 000002f7: JUMPDEST 000002f8: CALLVALUE 000002f9: DUP1 000002fa: ISZERO 000002fb: PUSH2 0x0303 000002fe: JUMPI 000002ff: PUSH1 0x00 00000301: DUP1 00000302: REVERT 00000303: JUMPDEST 00000304: POP 00000305: PUSH1 0x32 00000307: SLOAD 00000308: PUSH2 0x02cd 0000030b: SWAP1 0000030c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000321: AND 00000322: DUP2 00000323: JUMP 00000324: JUMPDEST 00000325: CALLVALUE 00000326: DUP1 00000327: ISZERO 00000328: PUSH2 0x0330 0000032b: JUMPI 0000032c: PUSH1 0x00 0000032e: DUP1 0000032f: REVERT 00000330: JUMPDEST 00000331: POP 00000332: PUSH1 0x03 00000334: SLOAD 00000335: PUSH2 0x02cd 00000338: SWAP1 00000339: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000034e: AND 0000034f: DUP2 00000350: JUMP 00000351: JUMPDEST 00000352: CALLVALUE 00000353: DUP1 00000354: ISZERO 00000355: PUSH2 0x035d 00000358: JUMPI 00000359: PUSH1 0x00 0000035b: DUP1 0000035c: REVERT 0000035d: JUMPDEST 0000035e: POP 0000035f: PUSH2 0x0240 00000362: PUSH2 0x036c 00000365: CALLDATASIZE 00000366: PUSH1 0x04 00000368: PUSH2 0x2e33 0000036b: JUMP 0000036c: JUMPDEST 0000036d: PUSH2 0x1046 00000370: JUMP 00000371: JUMPDEST 00000372: CALLVALUE 00000373: DUP1 00000374: ISZERO 00000375: PUSH2 0x037d 00000378: JUMPI 00000379: PUSH1 0x00 0000037b: DUP1 0000037c: REVERT 0000037d: JUMPDEST 0000037e: POP 0000037f: PUSH2 0x03ba 00000382: PUSH1 0x40 00000384: MLOAD 00000385: DUP1 00000386: PUSH1 0x40 00000388: ADD 00000389: PUSH1 0x40 0000038b: MSTORE 0000038c: DUP1 0000038d: PUSH1 0x05 0000038f: DUP2 00000390: MSTORE 00000391: PUSH1 0x20 00000393: ADD 00000394: PUSH32 0x322e332e30000000000000000000000000000000000000000000000000000000 000003b5: DUP2 000003b6: MSTORE 000003b7: POP 000003b8: DUP2 000003b9: JUMP 000003ba: JUMPDEST 000003bb: PUSH1 0x40 000003bd: MLOAD 000003be: PUSH2 0x02ee 000003c1: SWAP2 000003c2: SWAP1 000003c3: PUSH2 0x2f20 000003c6: JUMP 000003c7: JUMPDEST 000003c8: CALLVALUE 000003c9: DUP1 000003ca: ISZERO 000003cb: PUSH2 0x03d3 000003ce: JUMPI 000003cf: PUSH1 0x00 000003d1: DUP1 000003d2: REVERT 000003d3: JUMPDEST 000003d4: POP 000003d5: PUSH2 0x0240 000003d8: PUSH2 0x03e2 000003db: CALLDATASIZE 000003dc: PUSH1 0x04 000003de: PUSH2 0x2f33 000003e1: JUMP 000003e2: JUMPDEST 000003e3: PUSH2 0x1107 000003e6: JUMP 000003e7: JUMPDEST 000003e8: CALLVALUE 000003e9: DUP1 000003ea: ISZERO 000003eb: PUSH2 0x03f3 000003ee: JUMPI 000003ef: PUSH1 0x00 000003f1: DUP1 000003f2: REVERT 000003f3: JUMPDEST 000003f4: POP 000003f5: PUSH2 0x03fc 000003f8: PUSH2 0x1252 000003fb: JUMP 000003fc: JUMPDEST 000003fd: PUSH1 0x40 000003ff: MLOAD 00000400: SWAP1 00000401: ISZERO 00000402: ISZERO 00000403: DUP2 00000404: MSTORE 00000405: PUSH1 0x20 00000407: ADD 00000408: PUSH2 0x02ee 0000040b: JUMP 0000040c: JUMPDEST 0000040d: CALLVALUE 0000040e: DUP1 0000040f: ISZERO 00000410: PUSH2 0x0418 00000413: JUMPI 00000414: PUSH1 0x00 00000416: DUP1 00000417: REVERT 00000418: JUMPDEST 00000419: POP 0000041a: PUSH1 0x04 0000041c: SLOAD 0000041d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000432: AND 00000433: PUSH2 0x02cd 00000436: JUMP 00000437: JUMPDEST 00000438: CALLVALUE 00000439: DUP1 0000043a: ISZERO 0000043b: PUSH2 0x0443 0000043e: JUMPI 0000043f: PUSH1 0x00 00000441: DUP1 00000442: REVERT 00000443: JUMPDEST 00000444: POP 00000445: PUSH2 0x0240 00000448: PUSH2 0x0452 0000044b: CALLDATASIZE 0000044c: PUSH1 0x04 0000044e: PUSH2 0x2e33 00000451: JUMP 00000452: JUMPDEST 00000453: PUSH2 0x12eb 00000456: JUMP 00000457: JUMPDEST 00000458: CALLVALUE 00000459: DUP1 0000045a: ISZERO 0000045b: PUSH2 0x0463 0000045e: JUMPI 0000045f: PUSH1 0x00 00000461: DUP1 00000462: REVERT 00000463: JUMPDEST 00000464: POP 00000465: PUSH2 0x0240 00000468: PUSH2 0x0472 0000046b: CALLDATASIZE 0000046c: PUSH1 0x04 0000046e: PUSH2 0x2f33 00000471: JUMP 00000472: JUMPDEST 00000473: PUSH2 0x13a2 00000476: JUMP 00000477: JUMPDEST 00000478: CALLVALUE 00000479: DUP1 0000047a: ISZERO 0000047b: PUSH2 0x0483 0000047e: JUMPI 0000047f: PUSH1 0x00 00000481: DUP1 00000482: REVERT 00000483: JUMPDEST 00000484: POP 00000485: PUSH2 0x04af 00000488: PUSH2 0x0492 0000048b: CALLDATASIZE 0000048c: PUSH1 0x04 0000048e: PUSH2 0x2fb6 00000491: JUMP 00000492: JUMPDEST 00000493: PUSH1 0x02 00000495: PUSH1 0x20 00000497: SWAP1 00000498: DUP2 00000499: MSTORE 0000049a: PUSH1 0x00 0000049c: SWAP3 0000049d: DUP4 0000049e: MSTORE 0000049f: PUSH1 0x40 000004a1: DUP1 000004a2: DUP5 000004a3: KECCAK256 000004a4: SWAP1 000004a5: SWAP2 000004a6: MSTORE 000004a7: SWAP1 000004a8: DUP3 000004a9: MSTORE 000004aa: SWAP1 000004ab: KECCAK256 000004ac: SLOAD 000004ad: DUP2 000004ae: JUMP 000004af: JUMPDEST 000004b0: PUSH1 0x40 000004b2: MLOAD 000004b3: SWAP1 000004b4: DUP2 000004b5: MSTORE 000004b6: PUSH1 0x20 000004b8: ADD 000004b9: PUSH2 0x02ee 000004bc: JUMP 000004bd: JUMPDEST 000004be: CALLVALUE 000004bf: DUP1 000004c0: ISZERO 000004c1: PUSH2 0x04c9 000004c4: JUMPI 000004c5: PUSH1 0x00 000004c7: DUP1 000004c8: REVERT 000004c9: JUMPDEST 000004ca: POP 000004cb: PUSH1 0x03 000004cd: SLOAD 000004ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004e3: AND 000004e4: PUSH2 0x02cd 000004e7: JUMP 000004e8: JUMPDEST 000004e9: PUSH2 0x0240 000004ec: PUSH2 0x04f6 000004ef: CALLDATASIZE 000004f0: PUSH1 0x04 000004f2: PUSH2 0x2fef 000004f5: JUMP 000004f6: JUMPDEST 000004f7: PUSH2 0x14ed 000004fa: JUMP 000004fb: JUMPDEST 000004fc: CALLVALUE 000004fd: DUP1 000004fe: ISZERO 000004ff: PUSH2 0x0507 00000502: JUMPI 00000503: PUSH1 0x00 00000505: DUP1 00000506: REVERT 00000507: JUMPDEST 00000508: POP 00000509: PUSH2 0x0240 0000050c: PUSH2 0x0516 0000050f: CALLDATASIZE 00000510: PUSH1 0x04 00000512: PUSH2 0x2cbc 00000515: JUMP 00000516: JUMPDEST 00000517: PUSH2 0x152f 0000051a: JUMP 0000051b: JUMPDEST 0000051c: PUSH2 0x0240 0000051f: PUSH2 0x0529 00000522: CALLDATASIZE 00000523: PUSH1 0x04 00000525: PUSH2 0x2d6d 00000528: JUMP 00000529: JUMPDEST 0000052a: PUSH2 0x153e 0000052d: JUMP 0000052e: JUMPDEST 0000052f: CALLVALUE 00000530: DUP1 00000531: ISZERO 00000532: PUSH2 0x053a 00000535: JUMPI 00000536: PUSH1 0x00 00000538: DUP1 00000539: REVERT 0000053a: JUMPDEST 0000053b: POP 0000053c: PUSH1 0x04 0000053e: SLOAD 0000053f: PUSH2 0x02cd 00000542: SWAP1 00000543: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000558: AND 00000559: DUP2 0000055a: JUMP 0000055b: JUMPDEST 0000055c: CALLVALUE 0000055d: DUP1 0000055e: ISZERO 0000055f: PUSH2 0x0567 00000562: JUMPI 00000563: PUSH1 0x00 00000565: DUP1 00000566: REVERT 00000567: JUMPDEST 00000568: POP 00000569: PUSH2 0x0240 0000056c: PUSH2 0x0576 0000056f: CALLDATASIZE 00000570: PUSH1 0x04 00000572: PUSH2 0x3052 00000575: JUMP 00000576: JUMPDEST 00000577: PUSH2 0x1614 0000057a: JUMP 0000057b: JUMPDEST 0000057c: PUSH2 0x0240 0000057f: PUSH2 0x0589 00000582: CALLDATASIZE 00000583: PUSH1 0x04 00000585: PUSH2 0x2fef 00000588: JUMP 00000589: JUMPDEST 0000058a: PUSH2 0x190f 0000058d: JUMP 0000058e: JUMPDEST 0000058f: PUSH1 0x00 00000591: ORIGIN 00000592: CALLER 00000593: SUB 00000594: PUSH2 0x059d 00000597: JUMPI 00000598: POP 00000599: PUSH1 0x01 0000059b: SWAP1 0000059c: JUMP 0000059d: JUMPDEST 0000059e: CALLER 0000059f: EXTCODESIZE 000005a0: PUSH1 0x17 000005a2: SUB 000005a3: PUSH2 0x05c5 000005a6: JUMPI 000005a7: PUSH1 0x40 000005a9: MLOAD 000005aa: PUSH1 0x20 000005ac: DUP2 000005ad: ADD 000005ae: PUSH1 0x40 000005b0: MSTORE 000005b1: PUSH1 0x20 000005b3: PUSH1 0x00 000005b5: DUP3 000005b6: CALLER 000005b7: EXTCODECOPY 000005b8: MLOAD 000005b9: PUSH1 0xe8 000005bb: SHR 000005bc: PUSH3 0xef0100 000005c0: EQ 000005c1: SWAP1 000005c2: POP 000005c3: SWAP1 000005c4: JUMP 000005c5: JUMPDEST 000005c6: POP 000005c7: PUSH1 0x00 000005c9: SWAP1 000005ca: JUMP 000005cb: JUMPDEST 000005cc: PUSH2 0x05d8 000005cf: DUP5 000005d0: DUP5 000005d1: CALLVALUE 000005d2: DUP6 000005d3: DUP6 000005d4: PUSH2 0x1a5b 000005d7: JUMP 000005d8: JUMPDEST 000005d9: POP 000005da: POP 000005db: POP 000005dc: POP 000005dd: JUMP 000005de: JUMPDEST 000005df: PUSH1 0x03 000005e1: SLOAD 000005e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005f7: AND 000005f8: CALLER 000005f9: EQ 000005fa: DUP1 000005fb: ISZERO 000005fc: PUSH2 0x06b1 000005ff: JUMPI 00000600: POP 00000601: PUSH1 0x04 00000603: DUP1 00000604: SLOAD 00000605: PUSH1 0x03 00000607: SLOAD 00000608: PUSH1 0x40 0000060a: DUP1 0000060b: MLOAD 0000060c: PUSH32 0x6e296e4500000000000000000000000000000000000000000000000000000000 0000062d: DUP2 0000062e: MSTORE 0000062f: SWAP1 00000630: MLOAD 00000631: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000646: SWAP4 00000647: DUP5 00000648: AND 00000649: SWAP5 0000064a: SWAP4 0000064b: SWAP1 0000064c: SWAP3 0000064d: AND 0000064e: SWAP3 0000064f: PUSH4 0x6e296e45 00000654: SWAP3 00000655: DUP3 00000656: DUP3 00000657: ADD 00000658: SWAP3 00000659: PUSH1 0x20 0000065b: SWAP3 0000065c: SWAP1 0000065d: DUP3 0000065e: SWAP1 0000065f: SUB 00000660: ADD 00000661: DUP2 00000662: DUP7 00000663: GAS 00000664: STATICCALL 00000665: ISZERO 00000666: DUP1 00000667: ISZERO 00000668: PUSH2 0x0675 0000066b: JUMPI 0000066c: RETURNDATASIZE 0000066d: PUSH1 0x00 0000066f: DUP1 00000670: RETURNDATACOPY 00000671: RETURNDATASIZE 00000672: PUSH1 0x00 00000674: REVERT 00000675: JUMPDEST 00000676: POP 00000677: POP 00000678: POP 00000679: POP 0000067a: PUSH1 0x40 0000067c: MLOAD 0000067d: RETURNDATASIZE 0000067e: PUSH1 0x1f 00000680: NOT 00000681: PUSH1 0x1f 00000683: DUP3 00000684: ADD 00000685: AND 00000686: DUP3 00000687: ADD 00000688: DUP1 00000689: PUSH1 0x40 0000068b: MSTORE 0000068c: POP 0000068d: DUP2 0000068e: ADD 0000068f: SWAP1 00000690: PUSH2 0x0699 00000693: SWAP2 00000694: SWAP1 00000695: PUSH2 0x30d4 00000698: JUMP 00000699: JUMPDEST 0000069a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006af: AND 000006b0: EQ 000006b1: JUMPDEST 000006b2: PUSH2 0x0763 000006b5: JUMPI 000006b6: PUSH1 0x40 000006b8: MLOAD 000006b9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000006da: DUP2 000006db: MSTORE 000006dc: PUSH1 0x20 000006de: PUSH1 0x04 000006e0: DUP3 000006e1: ADD 000006e2: MSTORE 000006e3: PUSH1 0x41 000006e5: PUSH1 0x24 000006e7: DUP3 000006e8: ADD 000006e9: MSTORE 000006ea: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c 0000070b: PUSH1 0x44 0000070d: DUP3 0000070e: ADD 0000070f: MSTORE 00000710: PUSH32 0x792062652063616c6c65642066726f6d20746865206f74686572206272696467 00000731: PUSH1 0x64 00000733: DUP3 00000734: ADD 00000735: MSTORE 00000736: PUSH32 0x6500000000000000000000000000000000000000000000000000000000000000 00000757: PUSH1 0x84 00000759: DUP3 0000075a: ADD 0000075b: MSTORE 0000075c: PUSH1 0xa4 0000075e: ADD 0000075f: PUSH2 0x0219 00000762: JUMP 00000763: JUMPDEST 00000764: PUSH2 0x076b 00000767: PUSH2 0x1252 0000076a: JUMP 0000076b: JUMPDEST 0000076c: ISZERO 0000076d: PUSH2 0x07d2 00000770: JUMPI 00000771: PUSH1 0x40 00000773: MLOAD 00000774: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000795: DUP2 00000796: MSTORE 00000797: PUSH1 0x20 00000799: PUSH1 0x04 0000079b: DUP3 0000079c: ADD 0000079d: MSTORE 0000079e: PUSH1 0x16 000007a0: PUSH1 0x24 000007a2: DUP3 000007a3: ADD 000007a4: MSTORE 000007a5: PUSH32 0x5374616e646172644272696467653a2070617573656400000000000000000000 000007c6: PUSH1 0x44 000007c8: DUP3 000007c9: ADD 000007ca: MSTORE 000007cb: PUSH1 0x64 000007cd: ADD 000007ce: PUSH2 0x0219 000007d1: JUMP 000007d2: JUMPDEST 000007d3: PUSH2 0x07db 000007d6: DUP8 000007d7: PUSH2 0x1cba 000007da: JUMP 000007db: JUMPDEST 000007dc: ISZERO 000007dd: PUSH2 0x0929 000007e0: JUMPI 000007e1: PUSH2 0x07ea 000007e4: DUP8 000007e5: DUP8 000007e6: PUSH2 0x1d1c 000007e9: JUMP 000007ea: JUMPDEST 000007eb: PUSH2 0x089c 000007ee: JUMPI 000007ef: PUSH1 0x40 000007f1: MLOAD 000007f2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000813: DUP2 00000814: MSTORE 00000815: PUSH1 0x20 00000817: PUSH1 0x04 00000819: DUP3 0000081a: ADD 0000081b: MSTORE 0000081c: PUSH1 0x4a 0000081e: PUSH1 0x24 00000820: DUP3 00000821: ADD 00000822: MSTORE 00000823: PUSH32 0x5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b 00000844: PUSH1 0x44 00000846: DUP3 00000847: ADD 00000848: MSTORE 00000849: PUSH32 0x656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c 0000086a: PUSH1 0x64 0000086c: DUP3 0000086d: ADD 0000086e: MSTORE 0000086f: PUSH32 0x6f63616c20746f6b656e00000000000000000000000000000000000000000000 00000890: PUSH1 0x84 00000892: DUP3 00000893: ADD 00000894: MSTORE 00000895: PUSH1 0xa4 00000897: ADD 00000898: PUSH2 0x0219 0000089b: JUMP 0000089c: JUMPDEST 0000089d: PUSH1 0x40 0000089f: MLOAD 000008a0: PUSH32 0x40c10f1900000000000000000000000000000000000000000000000000000000 000008c1: DUP2 000008c2: MSTORE 000008c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008d8: DUP6 000008d9: DUP2 000008da: AND 000008db: PUSH1 0x04 000008dd: DUP4 000008de: ADD 000008df: MSTORE 000008e0: PUSH1 0x24 000008e2: DUP3 000008e3: ADD 000008e4: DUP6 000008e5: SWAP1 000008e6: MSTORE 000008e7: DUP9 000008e8: AND 000008e9: SWAP1 000008ea: PUSH4 0x40c10f19 000008ef: SWAP1 000008f0: PUSH1 0x44 000008f2: ADD 000008f3: PUSH1 0x00 000008f5: PUSH1 0x40 000008f7: MLOAD 000008f8: DUP1 000008f9: DUP4 000008fa: SUB 000008fb: DUP2 000008fc: PUSH1 0x00 000008fe: DUP8 000008ff: DUP1 00000900: EXTCODESIZE 00000901: ISZERO 00000902: DUP1 00000903: ISZERO 00000904: PUSH2 0x090c 00000907: JUMPI 00000908: PUSH1 0x00 0000090a: DUP1 0000090b: REVERT 0000090c: JUMPDEST 0000090d: POP 0000090e: GAS 0000090f: CALL 00000910: ISZERO 00000911: DUP1 00000912: ISZERO 00000913: PUSH2 0x0920 00000916: JUMPI 00000917: RETURNDATASIZE 00000918: PUSH1 0x00 0000091a: DUP1 0000091b: RETURNDATACOPY 0000091c: RETURNDATASIZE 0000091d: PUSH1 0x00 0000091f: REVERT 00000920: JUMPDEST 00000921: POP 00000922: POP 00000923: POP 00000924: POP 00000925: PUSH2 0x09ab 00000928: JUMP 00000929: JUMPDEST 0000092a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000093f: DUP1 00000940: DUP9 00000941: AND 00000942: PUSH1 0x00 00000944: SWAP1 00000945: DUP2 00000946: MSTORE 00000947: PUSH1 0x02 00000949: PUSH1 0x20 0000094b: SWAP1 0000094c: DUP2 0000094d: MSTORE 0000094e: PUSH1 0x40 00000950: DUP1 00000951: DUP4 00000952: KECCAK256 00000953: SWAP4 00000954: DUP11 00000955: AND 00000956: DUP4 00000957: MSTORE 00000958: SWAP3 00000959: SWAP1 0000095a: MSTORE 0000095b: KECCAK256 0000095c: SLOAD 0000095d: PUSH2 0x0967 00000960: SWAP1 00000961: DUP5 00000962: SWAP1 00000963: PUSH2 0x3120 00000966: JUMP 00000967: JUMPDEST 00000968: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000097d: DUP1 0000097e: DUP10 0000097f: AND 00000980: PUSH1 0x00 00000982: DUP2 00000983: DUP2 00000984: MSTORE 00000985: PUSH1 0x02 00000987: PUSH1 0x20 00000989: SWAP1 0000098a: DUP2 0000098b: MSTORE 0000098c: PUSH1 0x40 0000098e: DUP1 0000098f: DUP4 00000990: KECCAK256 00000991: SWAP5 00000992: DUP13 00000993: AND 00000994: DUP4 00000995: MSTORE 00000996: SWAP4 00000997: SWAP1 00000998: MSTORE 00000999: SWAP2 0000099a: SWAP1 0000099b: SWAP2 0000099c: KECCAK256 0000099d: SWAP2 0000099e: SWAP1 0000099f: SWAP2 000009a0: SSTORE 000009a1: PUSH2 0x09ab 000009a4: SWAP1 000009a5: DUP6 000009a6: DUP6 000009a7: PUSH2 0x196e 000009aa: JUMP 000009ab: JUMPDEST 000009ac: PUSH2 0x09ef 000009af: DUP8 000009b0: DUP8 000009b1: DUP8 000009b2: DUP8 000009b3: DUP8 000009b4: DUP8 000009b5: DUP8 000009b6: DUP1 000009b7: DUP1 000009b8: PUSH1 0x1f 000009ba: ADD 000009bb: PUSH1 0x20 000009bd: DUP1 000009be: SWAP2 000009bf: DIV 000009c0: MUL 000009c1: PUSH1 0x20 000009c3: ADD 000009c4: PUSH1 0x40 000009c6: MLOAD 000009c7: SWAP1 000009c8: DUP2 000009c9: ADD 000009ca: PUSH1 0x40 000009cc: MSTORE 000009cd: DUP1 000009ce: SWAP4 000009cf: SWAP3 000009d0: SWAP2 000009d1: SWAP1 000009d2: DUP2 000009d3: DUP2 000009d4: MSTORE 000009d5: PUSH1 0x20 000009d7: ADD 000009d8: DUP4 000009d9: DUP4 000009da: DUP1 000009db: DUP3 000009dc: DUP5 000009dd: CALLDATACOPY 000009de: PUSH1 0x00 000009e0: SWAP3 000009e1: ADD 000009e2: SWAP2 000009e3: SWAP1 000009e4: SWAP2 000009e5: MSTORE 000009e6: POP 000009e7: PUSH2 0x1e3c 000009ea: SWAP3 000009eb: POP 000009ec: POP 000009ed: POP 000009ee: JUMP 000009ef: JUMPDEST 000009f0: POP 000009f1: POP 000009f2: POP 000009f3: POP 000009f4: POP 000009f5: POP 000009f6: POP 000009f7: JUMP 000009f8: JUMPDEST 000009f9: PUSH2 0x0a00 000009fc: PUSH2 0x058e 000009ff: JUMP 00000a00: JUMPDEST 00000a01: PUSH2 0x0a8c 00000a04: JUMPI 00000a05: PUSH1 0x40 00000a07: MLOAD 00000a08: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000a29: DUP2 00000a2a: MSTORE 00000a2b: PUSH1 0x20 00000a2d: PUSH1 0x04 00000a2f: DUP3 00000a30: ADD 00000a31: MSTORE 00000a32: PUSH1 0x37 00000a34: PUSH1 0x24 00000a36: DUP3 00000a37: ADD 00000a38: MSTORE 00000a39: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c 00000a5a: PUSH1 0x44 00000a5c: DUP3 00000a5d: ADD 00000a5e: MSTORE 00000a5f: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000 00000a80: PUSH1 0x64 00000a82: DUP3 00000a83: ADD 00000a84: MSTORE 00000a85: PUSH1 0x84 00000a87: ADD 00000a88: PUSH2 0x0219 00000a8b: JUMP 00000a8c: JUMPDEST 00000a8d: PUSH2 0x0acf 00000a90: CALLER 00000a91: CALLER 00000a92: CALLVALUE 00000a93: DUP7 00000a94: DUP7 00000a95: DUP7 00000a96: DUP1 00000a97: DUP1 00000a98: PUSH1 0x1f 00000a9a: ADD 00000a9b: PUSH1 0x20 00000a9d: DUP1 00000a9e: SWAP2 00000a9f: DIV 00000aa0: MUL 00000aa1: PUSH1 0x20 00000aa3: ADD 00000aa4: PUSH1 0x40 00000aa6: MLOAD 00000aa7: SWAP1 00000aa8: DUP2 00000aa9: ADD 00000aaa: PUSH1 0x40 00000aac: MSTORE 00000aad: DUP1 00000aae: SWAP4 00000aaf: SWAP3 00000ab0: SWAP2 00000ab1: SWAP1 00000ab2: DUP2 00000ab3: DUP2 00000ab4: MSTORE 00000ab5: PUSH1 0x20 00000ab7: ADD 00000ab8: DUP4 00000ab9: DUP4 00000aba: DUP1 00000abb: DUP3 00000abc: DUP5 00000abd: CALLDATACOPY 00000abe: PUSH1 0x00 00000ac0: SWAP3 00000ac1: ADD 00000ac2: SWAP2 00000ac3: SWAP1 00000ac4: SWAP2 00000ac5: MSTORE 00000ac6: POP 00000ac7: PUSH2 0x1a5b 00000aca: SWAP3 00000acb: POP 00000acc: POP 00000acd: POP 00000ace: JUMP 00000acf: JUMPDEST 00000ad0: POP 00000ad1: POP 00000ad2: POP 00000ad3: JUMP 00000ad4: JUMPDEST 00000ad5: PUSH2 0x0ae1 00000ad8: DUP6 00000ad9: DUP6 00000ada: DUP6 00000adb: DUP6 00000adc: DUP6 00000add: PUSH2 0x0ae8 00000ae0: JUMP 00000ae1: JUMPDEST 00000ae2: POP 00000ae3: POP 00000ae4: POP 00000ae5: POP 00000ae6: POP 00000ae7: JUMP 00000ae8: JUMPDEST 00000ae9: PUSH1 0x03 00000aeb: SLOAD 00000aec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b01: AND 00000b02: CALLER 00000b03: EQ 00000b04: DUP1 00000b05: ISZERO 00000b06: PUSH2 0x0bbb 00000b09: JUMPI 00000b0a: POP 00000b0b: PUSH1 0x04 00000b0d: DUP1 00000b0e: SLOAD 00000b0f: PUSH1 0x03 00000b11: SLOAD 00000b12: PUSH1 0x40 00000b14: DUP1 00000b15: MLOAD 00000b16: PUSH32 0x6e296e4500000000000000000000000000000000000000000000000000000000 00000b37: DUP2 00000b38: MSTORE 00000b39: SWAP1 00000b3a: MLOAD 00000b3b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b50: SWAP4 00000b51: DUP5 00000b52: AND 00000b53: SWAP5 00000b54: SWAP4 00000b55: SWAP1 00000b56: SWAP3 00000b57: AND 00000b58: SWAP3 00000b59: PUSH4 0x6e296e45 00000b5e: SWAP3 00000b5f: DUP3 00000b60: DUP3 00000b61: ADD 00000b62: SWAP3 00000b63: PUSH1 0x20 00000b65: SWAP3 00000b66: SWAP1 00000b67: DUP3 00000b68: SWAP1 00000b69: SUB 00000b6a: ADD 00000b6b: DUP2 00000b6c: DUP7 00000b6d: GAS 00000b6e: STATICCALL 00000b6f: ISZERO 00000b70: DUP1 00000b71: ISZERO 00000b72: PUSH2 0x0b7f 00000b75: JUMPI 00000b76: RETURNDATASIZE 00000b77: PUSH1 0x00 00000b79: DUP1 00000b7a: RETURNDATACOPY 00000b7b: RETURNDATASIZE 00000b7c: PUSH1 0x00 00000b7e: REVERT 00000b7f: JUMPDEST 00000b80: POP 00000b81: POP 00000b82: POP 00000b83: POP 00000b84: PUSH1 0x40 00000b86: MLOAD 00000b87: RETURNDATASIZE 00000b88: PUSH1 0x1f 00000b8a: NOT 00000b8b: PUSH1 0x1f 00000b8d: DUP3 00000b8e: ADD 00000b8f: AND 00000b90: DUP3 00000b91: ADD 00000b92: DUP1 00000b93: PUSH1 0x40 00000b95: MSTORE 00000b96: POP 00000b97: DUP2 00000b98: ADD 00000b99: SWAP1 00000b9a: PUSH2 0x0ba3 00000b9d: SWAP2 00000b9e: SWAP1 00000b9f: PUSH2 0x30d4 00000ba2: JUMP 00000ba3: JUMPDEST 00000ba4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bb9: AND 00000bba: EQ 00000bbb: JUMPDEST 00000bbc: PUSH2 0x0c6d 00000bbf: JUMPI 00000bc0: PUSH1 0x40 00000bc2: MLOAD 00000bc3: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000be4: DUP2 00000be5: MSTORE 00000be6: PUSH1 0x20 00000be8: PUSH1 0x04 00000bea: DUP3 00000beb: ADD 00000bec: MSTORE 00000bed: PUSH1 0x41 00000bef: PUSH1 0x24 00000bf1: DUP3 00000bf2: ADD 00000bf3: MSTORE 00000bf4: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c 00000c15: PUSH1 0x44 00000c17: DUP3 00000c18: ADD 00000c19: MSTORE 00000c1a: PUSH32 0x792062652063616c6c65642066726f6d20746865206f74686572206272696467 00000c3b: PUSH1 0x64 00000c3d: DUP3 00000c3e: ADD 00000c3f: MSTORE 00000c40: PUSH32 0x6500000000000000000000000000000000000000000000000000000000000000 00000c61: PUSH1 0x84 00000c63: DUP3 00000c64: ADD 00000c65: MSTORE 00000c66: PUSH1 0xa4 00000c68: ADD 00000c69: PUSH2 0x0219 00000c6c: JUMP 00000c6d: JUMPDEST 00000c6e: PUSH2 0x0c75 00000c71: PUSH2 0x1252 00000c74: JUMP 00000c75: JUMPDEST 00000c76: ISZERO 00000c77: PUSH2 0x0cdc 00000c7a: JUMPI 00000c7b: PUSH1 0x40 00000c7d: MLOAD 00000c7e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000c9f: DUP2 00000ca0: MSTORE 00000ca1: PUSH1 0x20 00000ca3: PUSH1 0x04 00000ca5: DUP3 00000ca6: ADD 00000ca7: MSTORE 00000ca8: PUSH1 0x16 00000caa: PUSH1 0x24 00000cac: DUP3 00000cad: ADD 00000cae: MSTORE 00000caf: PUSH32 0x5374616e646172644272696467653a2070617573656400000000000000000000 00000cd0: PUSH1 0x44 00000cd2: DUP3 00000cd3: ADD 00000cd4: MSTORE 00000cd5: PUSH1 0x64 00000cd7: ADD 00000cd8: PUSH2 0x0219 00000cdb: JUMP 00000cdc: JUMPDEST 00000cdd: PUSH2 0x0ce4 00000ce0: PUSH2 0x1eca 00000ce3: JUMP 00000ce4: JUMPDEST 00000ce5: ISZERO 00000ce6: PUSH2 0x0d71 00000ce9: JUMPI 00000cea: PUSH1 0x40 00000cec: MLOAD 00000ced: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000d0e: DUP2 00000d0f: MSTORE 00000d10: PUSH1 0x20 00000d12: PUSH1 0x04 00000d14: DUP3 00000d15: ADD 00000d16: MSTORE 00000d17: PUSH1 0x37 00000d19: PUSH1 0x24 00000d1b: DUP3 00000d1c: ADD 00000d1d: MSTORE 00000d1e: PUSH32 0x5374616e646172644272696467653a2063616e6e6f7420627269646765204554 00000d3f: PUSH1 0x44 00000d41: DUP3 00000d42: ADD 00000d43: MSTORE 00000d44: PUSH32 0x48207769746820637573746f6d2067617320746f6b656e000000000000000000 00000d65: PUSH1 0x64 00000d67: DUP3 00000d68: ADD 00000d69: MSTORE 00000d6a: PUSH1 0x84 00000d6c: ADD 00000d6d: PUSH2 0x0219 00000d70: JUMP 00000d71: JUMPDEST 00000d72: DUP3 00000d73: CALLVALUE 00000d74: EQ 00000d75: PUSH2 0x0e00 00000d78: JUMPI 00000d79: PUSH1 0x40 00000d7b: MLOAD 00000d7c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000d9d: DUP2 00000d9e: MSTORE 00000d9f: PUSH1 0x20 00000da1: PUSH1 0x04 00000da3: DUP3 00000da4: ADD 00000da5: MSTORE 00000da6: PUSH1 0x3a 00000da8: PUSH1 0x24 00000daa: DUP3 00000dab: ADD 00000dac: MSTORE 00000dad: PUSH32 0x5374616e646172644272696467653a20616d6f756e742073656e7420646f6573 00000dce: PUSH1 0x44 00000dd0: DUP3 00000dd1: ADD 00000dd2: MSTORE 00000dd3: PUSH32 0x206e6f74206d6174636820616d6f756e74207265717569726564000000000000 00000df4: PUSH1 0x64 00000df6: DUP3 00000df7: ADD 00000df8: MSTORE 00000df9: PUSH1 0x84 00000dfb: ADD 00000dfc: PUSH2 0x0219 00000dff: JUMP 00000e00: JUMPDEST 00000e01: ADDRESS 00000e02: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e17: DUP6 00000e18: AND 00000e19: SUB 00000e1a: PUSH2 0x0ea5 00000e1d: JUMPI 00000e1e: PUSH1 0x40 00000e20: MLOAD 00000e21: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000e42: DUP2 00000e43: MSTORE 00000e44: PUSH1 0x20 00000e46: PUSH1 0x04 00000e48: DUP3 00000e49: ADD 00000e4a: MSTORE 00000e4b: PUSH1 0x23 00000e4d: PUSH1 0x24 00000e4f: DUP3 00000e50: ADD 00000e51: MSTORE 00000e52: PUSH32 0x5374616e646172644272696467653a2063616e6e6f742073656e6420746f2073 00000e73: PUSH1 0x44 00000e75: DUP3 00000e76: ADD 00000e77: MSTORE 00000e78: PUSH32 0x656c660000000000000000000000000000000000000000000000000000000000 00000e99: PUSH1 0x64 00000e9b: DUP3 00000e9c: ADD 00000e9d: MSTORE 00000e9e: PUSH1 0x84 00000ea0: ADD 00000ea1: PUSH2 0x0219 00000ea4: JUMP 00000ea5: JUMPDEST 00000ea6: PUSH1 0x03 00000ea8: SLOAD 00000ea9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ebe: SWAP1 00000ebf: DUP2 00000ec0: AND 00000ec1: SWAP1 00000ec2: DUP6 00000ec3: AND 00000ec4: SUB 00000ec5: PUSH2 0x0f50 00000ec8: JUMPI 00000ec9: PUSH1 0x40 00000ecb: MLOAD 00000ecc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000eed: DUP2 00000eee: MSTORE 00000eef: PUSH1 0x20 00000ef1: PUSH1 0x04 00000ef3: DUP3 00000ef4: ADD 00000ef5: MSTORE 00000ef6: PUSH1 0x28 00000ef8: PUSH1 0x24 00000efa: DUP3 00000efb: ADD 00000efc: MSTORE 00000efd: PUSH32 0x5374616e646172644272696467653a2063616e6e6f742073656e6420746f206d 00000f1e: PUSH1 0x44 00000f20: DUP3 00000f21: ADD 00000f22: MSTORE 00000f23: PUSH32 0x657373656e676572000000000000000000000000000000000000000000000000 00000f44: PUSH1 0x64 00000f46: DUP3 00000f47: ADD 00000f48: MSTORE 00000f49: PUSH1 0x84 00000f4b: ADD 00000f4c: PUSH2 0x0219 00000f4f: JUMP 00000f50: JUMPDEST 00000f51: PUSH2 0x0f92 00000f54: DUP6 00000f55: DUP6 00000f56: DUP6 00000f57: DUP6 00000f58: DUP6 00000f59: DUP1 00000f5a: DUP1 00000f5b: PUSH1 0x1f 00000f5d: ADD 00000f5e: PUSH1 0x20 00000f60: DUP1 00000f61: SWAP2 00000f62: DIV 00000f63: MUL 00000f64: PUSH1 0x20 00000f66: ADD 00000f67: PUSH1 0x40 00000f69: MLOAD 00000f6a: SWAP1 00000f6b: DUP2 00000f6c: ADD 00000f6d: PUSH1 0x40 00000f6f: MSTORE 00000f70: DUP1 00000f71: SWAP4 00000f72: SWAP3 00000f73: SWAP2 00000f74: SWAP1 00000f75: DUP2 00000f76: DUP2 00000f77: MSTORE 00000f78: PUSH1 0x20 00000f7a: ADD 00000f7b: DUP4 00000f7c: DUP4 00000f7d: DUP1 00000f7e: DUP3 00000f7f: DUP5 00000f80: CALLDATACOPY 00000f81: PUSH1 0x00 00000f83: SWAP3 00000f84: ADD 00000f85: SWAP2 00000f86: SWAP1 00000f87: SWAP2 00000f88: MSTORE 00000f89: POP 00000f8a: PUSH2 0x1f09 00000f8d: SWAP3 00000f8e: POP 00000f8f: POP 00000f90: POP 00000f91: JUMP 00000f92: JUMPDEST 00000f93: PUSH1 0x00 00000f95: PUSH2 0x0faf 00000f98: DUP6 00000f99: GAS 00000f9a: DUP7 00000f9b: PUSH1 0x40 00000f9d: MLOAD 00000f9e: DUP1 00000f9f: PUSH1 0x20 00000fa1: ADD 00000fa2: PUSH1 0x40 00000fa4: MSTORE 00000fa5: DUP1 00000fa6: PUSH1 0x00 00000fa8: DUP2 00000fa9: MSTORE 00000faa: POP 00000fab: PUSH2 0x1f7c 00000fae: JUMP 00000faf: JUMPDEST 00000fb0: SWAP1 00000fb1: POP 00000fb2: DUP1 00000fb3: PUSH2 0x103e 00000fb6: JUMPI 00000fb7: PUSH1 0x40 00000fb9: MLOAD 00000fba: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000fdb: DUP2 00000fdc: MSTORE 00000fdd: PUSH1 0x20 00000fdf: PUSH1 0x04 00000fe1: DUP3 00000fe2: ADD 00000fe3: MSTORE 00000fe4: PUSH1 0x23 00000fe6: PUSH1 0x24 00000fe8: DUP3 00000fe9: ADD 00000fea: MSTORE 00000feb: PUSH32 0x5374616e646172644272696467653a20455448207472616e7366657220666169 0000100c: PUSH1 0x44 0000100e: DUP3 0000100f: ADD 00001010: MSTORE 00001011: PUSH32 0x6c65640000000000000000000000000000000000000000000000000000000000 00001032: PUSH1 0x64 00001034: DUP3 00001035: ADD 00001036: MSTORE 00001037: PUSH1 0x84 00001039: ADD 0000103a: PUSH2 0x0219 0000103d: JUMP 0000103e: JUMPDEST 0000103f: POP 00001040: POP 00001041: POP 00001042: POP 00001043: POP 00001044: POP 00001045: JUMP 00001046: JUMPDEST 00001047: PUSH1 0x00 00001049: PUSH2 0x1050 0000104c: PUSH2 0x1f94 0000104f: JUMP 00001050: JUMPDEST 00001051: POP 00001052: SWAP1 00001053: POP 00001054: DUP8 00001055: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000106a: AND 0000106b: DUP2 0000106c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001081: AND 00001082: SUB 00001083: PUSH2 0x10b8 00001086: JUMPI 00001087: PUSH1 0x40 00001089: MLOAD 0000108a: PUSH32 0xd78a7fab00000000000000000000000000000000000000000000000000000000 000010ab: DUP2 000010ac: MSTORE 000010ad: PUSH1 0x04 000010af: ADD 000010b0: PUSH1 0x40 000010b2: MLOAD 000010b3: DUP1 000010b4: SWAP2 000010b5: SUB 000010b6: SWAP1 000010b7: REVERT 000010b8: JUMPDEST 000010b9: PUSH2 0x10fd 000010bc: DUP9 000010bd: DUP9 000010be: CALLER 000010bf: DUP10 000010c0: DUP10 000010c1: DUP10 000010c2: DUP10 000010c3: DUP10 000010c4: DUP1 000010c5: DUP1 000010c6: PUSH1 0x1f 000010c8: ADD 000010c9: PUSH1 0x20 000010cb: DUP1 000010cc: SWAP2 000010cd: DIV 000010ce: MUL 000010cf: PUSH1 0x20 000010d1: ADD 000010d2: PUSH1 0x40 000010d4: MLOAD 000010d5: SWAP1 000010d6: DUP2 000010d7: ADD 000010d8: PUSH1 0x40 000010da: MSTORE 000010db: DUP1 000010dc: SWAP4 000010dd: SWAP3 000010de: SWAP2 000010df: SWAP1 000010e0: DUP2 000010e1: DUP2 000010e2: MSTORE 000010e3: PUSH1 0x20 000010e5: ADD 000010e6: DUP4 000010e7: DUP4 000010e8: DUP1 000010e9: DUP3 000010ea: DUP5 000010eb: CALLDATACOPY 000010ec: PUSH1 0x00 000010ee: SWAP3 000010ef: ADD 000010f0: SWAP2 000010f1: SWAP1 000010f2: SWAP2 000010f3: MSTORE 000010f4: POP 000010f5: PUSH2 0x2031 000010f8: SWAP3 000010f9: POP 000010fa: POP 000010fb: POP 000010fc: JUMP 000010fd: JUMPDEST 000010fe: POP 000010ff: POP 00001100: POP 00001101: POP 00001102: POP 00001103: POP 00001104: POP 00001105: POP 00001106: JUMP 00001107: JUMPDEST 00001108: PUSH2 0x110f 0000110b: PUSH2 0x058e 0000110e: JUMP 0000110f: JUMPDEST 00001110: PUSH2 0x119b 00001113: JUMPI 00001114: PUSH1 0x40 00001116: MLOAD 00001117: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001138: DUP2 00001139: MSTORE 0000113a: PUSH1 0x20 0000113c: PUSH1 0x04 0000113e: DUP3 0000113f: ADD 00001140: MSTORE 00001141: PUSH1 0x37 00001143: PUSH1 0x24 00001145: DUP3 00001146: ADD 00001147: MSTORE 00001148: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c 00001169: PUSH1 0x44 0000116b: DUP3 0000116c: ADD 0000116d: MSTORE 0000116e: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000 0000118f: PUSH1 0x64 00001191: DUP3 00001192: ADD 00001193: MSTORE 00001194: PUSH1 0x84 00001196: ADD 00001197: PUSH2 0x0219 0000119a: JUMP 0000119b: JUMPDEST 0000119c: PUSH1 0x00 0000119e: PUSH2 0x11a5 000011a1: PUSH2 0x1f94 000011a4: JUMP 000011a5: JUMPDEST 000011a6: POP 000011a7: SWAP1 000011a8: POP 000011a9: DUP7 000011aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011bf: AND 000011c0: DUP2 000011c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011d6: AND 000011d7: SUB 000011d8: PUSH2 0x120d 000011db: JUMPI 000011dc: PUSH1 0x40 000011de: MLOAD 000011df: PUSH32 0xd78a7fab00000000000000000000000000000000000000000000000000000000 00001200: DUP2 00001201: MSTORE 00001202: PUSH1 0x04 00001204: ADD 00001205: PUSH1 0x40 00001207: MLOAD 00001208: DUP1 00001209: SWAP2 0000120a: SUB 0000120b: SWAP1 0000120c: REVERT 0000120d: JUMPDEST 0000120e: PUSH2 0x09ef 00001211: DUP8 00001212: DUP8 00001213: CALLER 00001214: CALLER 00001215: DUP10 00001216: DUP10 00001217: DUP10 00001218: DUP10 00001219: DUP1 0000121a: DUP1 0000121b: PUSH1 0x1f 0000121d: ADD 0000121e: PUSH1 0x20 00001220: DUP1 00001221: SWAP2 00001222: DIV 00001223: MUL 00001224: PUSH1 0x20 00001226: ADD 00001227: PUSH1 0x40 00001229: MLOAD 0000122a: SWAP1 0000122b: DUP2 0000122c: ADD 0000122d: PUSH1 0x40 0000122f: MSTORE 00001230: DUP1 00001231: SWAP4 00001232: SWAP3 00001233: SWAP2 00001234: SWAP1 00001235: DUP2 00001236: DUP2 00001237: MSTORE 00001238: PUSH1 0x20 0000123a: ADD 0000123b: DUP4 0000123c: DUP4 0000123d: DUP1 0000123e: DUP3 0000123f: DUP5 00001240: CALLDATACOPY 00001241: PUSH1 0x00 00001243: SWAP3 00001244: ADD 00001245: SWAP2 00001246: SWAP1 00001247: SWAP2 00001248: MSTORE 00001249: POP 0000124a: PUSH2 0x23ea 0000124d: SWAP3 0000124e: POP 0000124f: POP 00001250: POP 00001251: JUMP 00001252: JUMPDEST 00001253: PUSH1 0x32 00001255: SLOAD 00001256: PUSH1 0x40 00001258: DUP1 00001259: MLOAD 0000125a: PUSH32 0x5c975abb00000000000000000000000000000000000000000000000000000000 0000127b: DUP2 0000127c: MSTORE 0000127d: SWAP1 0000127e: MLOAD 0000127f: PUSH1 0x00 00001281: SWAP3 00001282: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001297: AND 00001298: SWAP2 00001299: PUSH4 0x5c975abb 0000129e: SWAP2 0000129f: PUSH1 0x04 000012a1: DUP1 000012a2: DUP4 000012a3: ADD 000012a4: SWAP3 000012a5: PUSH1 0x20 000012a7: SWAP3 000012a8: SWAP2 000012a9: SWAP1 000012aa: DUP3 000012ab: SWAP1 000012ac: SUB 000012ad: ADD 000012ae: DUP2 000012af: DUP7 000012b0: GAS 000012b1: STATICCALL 000012b2: ISZERO 000012b3: DUP1 000012b4: ISZERO 000012b5: PUSH2 0x12c2 000012b8: JUMPI 000012b9: RETURNDATASIZE 000012ba: PUSH1 0x00 000012bc: DUP1 000012bd: RETURNDATACOPY 000012be: RETURNDATASIZE 000012bf: PUSH1 0x00 000012c1: REVERT 000012c2: JUMPDEST 000012c3: POP 000012c4: POP 000012c5: POP 000012c6: POP 000012c7: PUSH1 0x40 000012c9: MLOAD 000012ca: RETURNDATASIZE 000012cb: PUSH1 0x1f 000012cd: NOT 000012ce: PUSH1 0x1f 000012d0: DUP3 000012d1: ADD 000012d2: AND 000012d3: DUP3 000012d4: ADD 000012d5: DUP1 000012d6: PUSH1 0x40 000012d8: MSTORE 000012d9: POP 000012da: DUP2 000012db: ADD 000012dc: SWAP1 000012dd: PUSH2 0x12e6 000012e0: SWAP2 000012e1: SWAP1 000012e2: PUSH2 0x3137 000012e5: JUMP 000012e6: JUMPDEST 000012e7: SWAP1 000012e8: POP 000012e9: SWAP1 000012ea: JUMP 000012eb: JUMPDEST 000012ec: PUSH1 0x00 000012ee: PUSH2 0x12f5 000012f1: PUSH2 0x1f94 000012f4: JUMP 000012f5: JUMPDEST 000012f6: POP 000012f7: SWAP1 000012f8: POP 000012f9: DUP8 000012fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000130f: AND 00001310: DUP2 00001311: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001326: AND 00001327: SUB 00001328: PUSH2 0x135d 0000132b: JUMPI 0000132c: PUSH1 0x40 0000132e: MLOAD 0000132f: PUSH32 0xd78a7fab00000000000000000000000000000000000000000000000000000000 00001350: DUP2 00001351: MSTORE 00001352: PUSH1 0x04 00001354: ADD 00001355: PUSH1 0x40 00001357: MLOAD 00001358: DUP1 00001359: SWAP2 0000135a: SUB 0000135b: SWAP1 0000135c: REVERT 0000135d: JUMPDEST 0000135e: PUSH2 0x10fd 00001361: DUP9 00001362: DUP9 00001363: CALLER 00001364: DUP10 00001365: DUP10 00001366: DUP10 00001367: DUP10 00001368: DUP10 00001369: DUP1 0000136a: DUP1 0000136b: PUSH1 0x1f 0000136d: ADD 0000136e: PUSH1 0x20 00001370: DUP1 00001371: SWAP2 00001372: DIV 00001373: MUL 00001374: PUSH1 0x20 00001376: ADD 00001377: PUSH1 0x40 00001379: MLOAD 0000137a: SWAP1 0000137b: DUP2 0000137c: ADD 0000137d: PUSH1 0x40 0000137f: MSTORE 00001380: DUP1 00001381: SWAP4 00001382: SWAP3 00001383: SWAP2 00001384: SWAP1 00001385: DUP2 00001386: DUP2 00001387: MSTORE 00001388: PUSH1 0x20 0000138a: ADD 0000138b: DUP4 0000138c: DUP4 0000138d: DUP1 0000138e: DUP3 0000138f: DUP5 00001390: CALLDATACOPY 00001391: PUSH1 0x00 00001393: SWAP3 00001394: ADD 00001395: SWAP2 00001396: SWAP1 00001397: SWAP2 00001398: MSTORE 00001399: POP 0000139a: PUSH2 0x23ea 0000139d: SWAP3 0000139e: POP 0000139f: POP 000013a0: POP 000013a1: JUMP 000013a2: JUMPDEST 000013a3: PUSH2 0x13aa 000013a6: PUSH2 0x058e 000013a9: JUMP 000013aa: JUMPDEST 000013ab: PUSH2 0x1436 000013ae: JUMPI 000013af: PUSH1 0x40 000013b1: MLOAD 000013b2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000013d3: DUP2 000013d4: MSTORE 000013d5: PUSH1 0x20 000013d7: PUSH1 0x04 000013d9: DUP3 000013da: ADD 000013db: MSTORE 000013dc: PUSH1 0x37 000013de: PUSH1 0x24 000013e0: DUP3 000013e1: ADD 000013e2: MSTORE 000013e3: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c 00001404: PUSH1 0x44 00001406: DUP3 00001407: ADD 00001408: MSTORE 00001409: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000 0000142a: PUSH1 0x64 0000142c: DUP3 0000142d: ADD 0000142e: MSTORE 0000142f: PUSH1 0x84 00001431: ADD 00001432: PUSH2 0x0219 00001435: JUMP 00001436: JUMPDEST 00001437: PUSH1 0x00 00001439: PUSH2 0x1440 0000143c: PUSH2 0x1f94 0000143f: JUMP 00001440: JUMPDEST 00001441: POP 00001442: SWAP1 00001443: POP 00001444: DUP7 00001445: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000145a: AND 0000145b: DUP2 0000145c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001471: AND 00001472: SUB 00001473: PUSH2 0x14a8 00001476: JUMPI 00001477: PUSH1 0x40 00001479: MLOAD 0000147a: PUSH32 0xd78a7fab00000000000000000000000000000000000000000000000000000000 0000149b: DUP2 0000149c: MSTORE 0000149d: PUSH1 0x04 0000149f: ADD 000014a0: PUSH1 0x40 000014a2: MLOAD 000014a3: DUP1 000014a4: SWAP2 000014a5: SUB 000014a6: SWAP1 000014a7: REVERT 000014a8: JUMPDEST 000014a9: PUSH2 0x09ef 000014ac: DUP8 000014ad: DUP8 000014ae: CALLER 000014af: CALLER 000014b0: DUP10 000014b1: DUP10 000014b2: DUP10 000014b3: DUP10 000014b4: DUP1 000014b5: DUP1 000014b6: PUSH1 0x1f 000014b8: ADD 000014b9: PUSH1 0x20 000014bb: DUP1 000014bc: SWAP2 000014bd: DIV 000014be: MUL 000014bf: PUSH1 0x20 000014c1: ADD 000014c2: PUSH1 0x40 000014c4: MLOAD 000014c5: SWAP1 000014c6: DUP2 000014c7: ADD 000014c8: PUSH1 0x40 000014ca: MSTORE 000014cb: DUP1 000014cc: SWAP4 000014cd: SWAP3 000014ce: SWAP2 000014cf: SWAP1 000014d0: DUP2 000014d1: DUP2 000014d2: MSTORE 000014d3: PUSH1 0x20 000014d5: ADD 000014d6: DUP4 000014d7: DUP4 000014d8: DUP1 000014d9: DUP3 000014da: DUP5 000014db: CALLDATACOPY 000014dc: PUSH1 0x00 000014de: SWAP3 000014df: ADD 000014e0: SWAP2 000014e1: SWAP1 000014e2: SWAP2 000014e3: MSTORE 000014e4: POP 000014e5: PUSH2 0x2031 000014e8: SWAP3 000014e9: POP 000014ea: POP 000014eb: POP 000014ec: JUMP 000014ed: JUMPDEST 000014ee: PUSH2 0x05d8 000014f1: CALLER 000014f2: DUP6 000014f3: DUP6 000014f4: DUP6 000014f5: DUP6 000014f6: DUP1 000014f7: DUP1 000014f8: PUSH1 0x1f 000014fa: ADD 000014fb: PUSH1 0x20 000014fd: DUP1 000014fe: SWAP2 000014ff: DIV 00001500: MUL 00001501: PUSH1 0x20 00001503: ADD 00001504: PUSH1 0x40 00001506: MLOAD 00001507: SWAP1 00001508: DUP2 00001509: ADD 0000150a: PUSH1 0x40 0000150c: MSTORE 0000150d: DUP1 0000150e: SWAP4 0000150f: SWAP3 00001510: SWAP2 00001511: SWAP1 00001512: DUP2 00001513: DUP2 00001514: MSTORE 00001515: PUSH1 0x20 00001517: ADD 00001518: DUP4 00001519: DUP4 0000151a: DUP1 0000151b: DUP3 0000151c: DUP5 0000151d: CALLDATACOPY 0000151e: PUSH1 0x00 00001520: SWAP3 00001521: ADD 00001522: SWAP2 00001523: SWAP1 00001524: SWAP2 00001525: MSTORE 00001526: POP 00001527: PUSH2 0x05cb 0000152a: SWAP3 0000152b: POP 0000152c: POP 0000152d: POP 0000152e: JUMP 0000152f: JUMPDEST 00001530: PUSH2 0x09ef 00001533: DUP8 00001534: DUP8 00001535: DUP8 00001536: DUP8 00001537: DUP8 00001538: DUP8 00001539: DUP8 0000153a: PUSH2 0x05de 0000153d: JUMP 0000153e: JUMPDEST 0000153f: PUSH2 0x1546 00001542: PUSH2 0x058e 00001545: JUMP 00001546: JUMPDEST 00001547: PUSH2 0x15d2 0000154a: JUMPI 0000154b: PUSH1 0x40 0000154d: MLOAD 0000154e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000156f: DUP2 00001570: MSTORE 00001571: PUSH1 0x20 00001573: PUSH1 0x04 00001575: DUP3 00001576: ADD 00001577: MSTORE 00001578: PUSH1 0x37 0000157a: PUSH1 0x24 0000157c: DUP3 0000157d: ADD 0000157e: MSTORE 0000157f: PUSH32 0x5374616e646172644272696467653a2066756e6374696f6e2063616e206f6e6c 000015a0: PUSH1 0x44 000015a2: DUP3 000015a3: ADD 000015a4: MSTORE 000015a5: PUSH32 0x792062652063616c6c65642066726f6d20616e20454f41000000000000000000 000015c6: PUSH1 0x64 000015c8: DUP3 000015c9: ADD 000015ca: MSTORE 000015cb: PUSH1 0x84 000015cd: ADD 000015ce: PUSH2 0x0219 000015d1: JUMP 000015d2: JUMPDEST 000015d3: PUSH2 0x0acf 000015d6: CALLER 000015d7: CALLER 000015d8: DUP6 000015d9: DUP6 000015da: DUP6 000015db: DUP1 000015dc: DUP1 000015dd: PUSH1 0x1f 000015df: ADD 000015e0: PUSH1 0x20 000015e2: DUP1 000015e3: SWAP2 000015e4: DIV 000015e5: MUL 000015e6: PUSH1 0x20 000015e8: ADD 000015e9: PUSH1 0x40 000015eb: MLOAD 000015ec: SWAP1 000015ed: DUP2 000015ee: ADD 000015ef: PUSH1 0x40 000015f1: MSTORE 000015f2: DUP1 000015f3: SWAP4 000015f4: SWAP3 000015f5: SWAP2 000015f6: SWAP1 000015f7: DUP2 000015f8: DUP2 000015f9: MSTORE 000015fa: PUSH1 0x20 000015fc: ADD 000015fd: DUP4 000015fe: DUP4 000015ff: DUP1 00001600: DUP3 00001601: DUP5 00001602: CALLDATACOPY 00001603: PUSH1 0x00 00001605: SWAP3 00001606: ADD 00001607: SWAP2 00001608: SWAP1 00001609: SWAP2 0000160a: MSTORE 0000160b: POP 0000160c: PUSH2 0x05cb 0000160f: SWAP3 00001610: POP 00001611: POP 00001612: POP 00001613: JUMP 00001614: JUMPDEST 00001615: PUSH1 0x00 00001617: SLOAD 00001618: PUSH2 0x0100 0000161b: SWAP1 0000161c: DIV 0000161d: PUSH1 0xff 0000161f: AND 00001620: ISZERO 00001621: DUP1 00001622: DUP1 00001623: ISZERO 00001624: PUSH2 0x1634 00001627: JUMPI 00001628: POP 00001629: PUSH1 0x00 0000162b: SLOAD 0000162c: PUSH1 0x01 0000162e: PUSH1 0xff 00001630: SWAP1 00001631: SWAP2 00001632: AND 00001633: LT 00001634: JUMPDEST 00001635: DUP1 00001636: PUSH2 0x164e 00001639: JUMPI 0000163a: POP 0000163b: ADDRESS 0000163c: EXTCODESIZE 0000163d: ISZERO 0000163e: DUP1 0000163f: ISZERO 00001640: PUSH2 0x164e 00001643: JUMPI 00001644: POP 00001645: PUSH1 0x00 00001647: SLOAD 00001648: PUSH1 0xff 0000164a: AND 0000164b: PUSH1 0x01 0000164d: EQ 0000164e: JUMPDEST 0000164f: PUSH2 0x16da 00001652: JUMPI 00001653: PUSH1 0x40 00001655: MLOAD 00001656: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001677: DUP2 00001678: MSTORE 00001679: PUSH1 0x20 0000167b: PUSH1 0x04 0000167d: DUP3 0000167e: ADD 0000167f: MSTORE 00001680: PUSH1 0x2e 00001682: PUSH1 0x24 00001684: DUP3 00001685: ADD 00001686: MSTORE 00001687: PUSH32 0x496e697469616c697a61626c653a20636f6e747261637420697320616c726561 000016a8: PUSH1 0x44 000016aa: DUP3 000016ab: ADD 000016ac: MSTORE 000016ad: PUSH32 0x647920696e697469616c697a6564000000000000000000000000000000000000 000016ce: PUSH1 0x64 000016d0: DUP3 000016d1: ADD 000016d2: MSTORE 000016d3: PUSH1 0x84 000016d5: ADD 000016d6: PUSH2 0x0219 000016d9: JUMP 000016da: JUMPDEST 000016db: PUSH1 0x00 000016dd: DUP1 000016de: SLOAD 000016df: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 00001700: AND 00001701: PUSH1 0x01 00001703: OR 00001704: SWAP1 00001705: SSTORE 00001706: DUP1 00001707: ISZERO 00001708: PUSH2 0x1738 0000170b: JUMPI 0000170c: PUSH1 0x00 0000170e: DUP1 0000170f: SLOAD 00001710: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 00001731: AND 00001732: PUSH2 0x0100 00001735: OR 00001736: SWAP1 00001737: SSTORE 00001738: JUMPDEST 00001739: PUSH1 0x32 0000173b: DUP1 0000173c: SLOAD 0000173d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001752: DUP1 00001753: DUP10 00001754: AND 00001755: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 00001776: SWAP3 00001777: DUP4 00001778: AND 00001779: OR 0000177a: SWAP1 0000177b: SWAP3 0000177c: SSTORE 0000177d: PUSH1 0x33 0000177f: DUP1 00001780: SLOAD 00001781: DUP9 00001782: DUP5 00001783: AND 00001784: SWAP3 00001785: AND 00001786: SWAP2 00001787: SWAP1 00001788: SWAP2 00001789: OR 0000178a: SWAP1 0000178b: SSTORE 0000178c: DUP5 0000178d: AND 0000178e: ISZERO 0000178f: DUP1 00001790: ISZERO 00001791: SWAP1 00001792: PUSH2 0x17b0 00001795: JUMPI 00001796: POP 00001797: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017ac: DUP4 000017ad: AND 000017ae: ISZERO 000017af: ISZERO 000017b0: JUMPDEST 000017b1: ISZERO 000017b2: PUSH2 0x1886 000017b5: JUMPI 000017b6: PUSH1 0x40 000017b8: MLOAD 000017b9: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 000017da: DUP2 000017db: MSTORE 000017dc: ADDRESS 000017dd: PUSH1 0x04 000017df: DUP3 000017e0: ADD 000017e1: MSTORE 000017e2: PUSH2 0x1850 000017e5: SWAP1 000017e6: DUP6 000017e7: SWAP1 000017e8: DUP5 000017e9: SWAP1 000017ea: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017ff: DUP4 00001800: AND 00001801: SWAP1 00001802: PUSH4 0x70a08231 00001807: SWAP1 00001808: PUSH1 0x24 0000180a: ADD 0000180b: PUSH1 0x20 0000180d: PUSH1 0x40 0000180f: MLOAD 00001810: DUP1 00001811: DUP4 00001812: SUB 00001813: DUP2 00001814: DUP7 00001815: GAS 00001816: STATICCALL 00001817: ISZERO 00001818: DUP1 00001819: ISZERO 0000181a: PUSH2 0x1827 0000181d: JUMPI 0000181e: RETURNDATASIZE 0000181f: PUSH1 0x00 00001821: DUP1 00001822: RETURNDATACOPY 00001823: RETURNDATASIZE 00001824: PUSH1 0x00 00001826: REVERT 00001827: JUMPDEST 00001828: POP 00001829: POP 0000182a: POP 0000182b: POP 0000182c: PUSH1 0x40 0000182e: MLOAD 0000182f: RETURNDATASIZE 00001830: PUSH1 0x1f 00001832: NOT 00001833: PUSH1 0x1f 00001835: DUP3 00001836: ADD 00001837: AND 00001838: DUP3 00001839: ADD 0000183a: DUP1 0000183b: PUSH1 0x40 0000183d: MSTORE 0000183e: POP 0000183f: DUP2 00001840: ADD 00001841: SWAP1 00001842: PUSH2 0x184b 00001845: SWAP2 00001846: SWAP1 00001847: PUSH2 0x3159 0000184a: JUMP 0000184b: JUMPDEST 0000184c: PUSH2 0x196e 0000184f: JUMP 00001850: JUMPDEST 00001851: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001866: DUP1 00001867: DUP6 00001868: AND 00001869: PUSH1 0x00 0000186b: SWAP1 0000186c: DUP2 0000186d: MSTORE 0000186e: PUSH1 0x02 00001870: PUSH1 0x20 00001872: SWAP1 00001873: DUP2 00001874: MSTORE 00001875: PUSH1 0x40 00001877: DUP1 00001878: DUP4 00001879: KECCAK256 0000187a: SWAP4 0000187b: DUP8 0000187c: AND 0000187d: DUP4 0000187e: MSTORE 0000187f: SWAP3 00001880: SWAP1 00001881: MSTORE 00001882: SWAP1 00001883: DUP2 00001884: KECCAK256 00001885: SSTORE 00001886: JUMPDEST 00001887: PUSH2 0x18a4 0000188a: DUP8 0000188b: PUSH20 0x4200000000000000000000000000000000000010 000018a0: PUSH2 0x23f9 000018a3: JUMP 000018a4: JUMPDEST 000018a5: DUP1 000018a6: ISZERO 000018a7: PUSH2 0x09ef 000018aa: JUMPI 000018ab: PUSH1 0x00 000018ad: DUP1 000018ae: SLOAD 000018af: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff 000018d0: AND 000018d1: SWAP1 000018d2: SSTORE 000018d3: PUSH1 0x40 000018d5: MLOAD 000018d6: PUSH1 0x01 000018d8: DUP2 000018d9: MSTORE 000018da: PUSH32 0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498 000018fb: SWAP1 000018fc: PUSH1 0x20 000018fe: ADD 000018ff: PUSH1 0x40 00001901: MLOAD 00001902: DUP1 00001903: SWAP2 00001904: SUB 00001905: SWAP1 00001906: LOG1 00001907: POP 00001908: POP 00001909: POP 0000190a: POP 0000190b: POP 0000190c: POP 0000190d: POP 0000190e: JUMP 0000190f: JUMPDEST 00001910: PUSH2 0x05d8 00001913: CALLER 00001914: DUP6 00001915: CALLVALUE 00001916: DUP7 00001917: DUP7 00001918: DUP7 00001919: DUP1 0000191a: DUP1 0000191b: PUSH1 0x1f 0000191d: ADD 0000191e: PUSH1 0x20 00001920: DUP1 00001921: SWAP2 00001922: DIV 00001923: MUL 00001924: PUSH1 0x20 00001926: ADD 00001927: PUSH1 0x40 00001929: MLOAD 0000192a: SWAP1 0000192b: DUP2 0000192c: ADD 0000192d: PUSH1 0x40 0000192f: MSTORE 00001930: DUP1 00001931: SWAP4 00001932: SWAP3 00001933: SWAP2 00001934: SWAP1 00001935: DUP2 00001936: DUP2 00001937: MSTORE 00001938: PUSH1 0x20 0000193a: ADD 0000193b: DUP4 0000193c: DUP4 0000193d: DUP1 0000193e: DUP3 0000193f: DUP5 00001940: CALLDATACOPY 00001941: PUSH1 0x00 00001943: SWAP3 00001944: ADD 00001945: SWAP2 00001946: SWAP1 00001947: SWAP2 00001948: MSTORE 00001949: POP 0000194a: PUSH2 0x1a5b 0000194d: SWAP3 0000194e: POP 0000194f: POP 00001950: POP 00001951: JUMP 00001952: JUMPDEST 00001953: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001968: AND 00001969: EXTCODESIZE 0000196a: ISZERO 0000196b: ISZERO 0000196c: SWAP1 0000196d: JUMP 0000196e: JUMPDEST 0000196f: PUSH1 0x40 00001971: MLOAD 00001972: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001987: DUP4 00001988: AND 00001989: PUSH1 0x24 0000198b: DUP3 0000198c: ADD 0000198d: MSTORE 0000198e: PUSH1 0x44 00001990: DUP2 00001991: ADD 00001992: DUP3 00001993: SWAP1 00001994: MSTORE 00001995: PUSH2 0x0acf 00001998: SWAP1 00001999: DUP5 0000199a: SWAP1 0000199b: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 000019bc: SWAP1 000019bd: PUSH1 0x64 000019bf: ADD 000019c0: JUMPDEST 000019c1: PUSH1 0x40 000019c3: DUP1 000019c4: MLOAD 000019c5: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 000019e6: DUP2 000019e7: DUP5 000019e8: SUB 000019e9: ADD 000019ea: DUP2 000019eb: MSTORE 000019ec: SWAP2 000019ed: SWAP1 000019ee: MSTORE 000019ef: PUSH1 0x20 000019f1: DUP2 000019f2: ADD 000019f3: DUP1 000019f4: MLOAD 000019f5: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001a12: AND 00001a13: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00001a34: SWAP1 00001a35: SWAP4 00001a36: AND 00001a37: SWAP3 00001a38: SWAP1 00001a39: SWAP3 00001a3a: OR 00001a3b: SWAP1 00001a3c: SWAP2 00001a3d: MSTORE 00001a3e: PUSH2 0x24e3 00001a41: JUMP 00001a42: JUMPDEST 00001a43: PUSH1 0x60 00001a45: PUSH2 0x1a51 00001a48: DUP5 00001a49: DUP5 00001a4a: PUSH1 0x00 00001a4c: DUP6 00001a4d: PUSH2 0x25ef 00001a50: JUMP 00001a51: JUMPDEST 00001a52: SWAP1 00001a53: POP 00001a54: JUMPDEST 00001a55: SWAP4 00001a56: SWAP3 00001a57: POP 00001a58: POP 00001a59: POP 00001a5a: JUMP 00001a5b: JUMPDEST 00001a5c: PUSH2 0x1a63 00001a5f: PUSH2 0x1eca 00001a62: JUMP 00001a63: JUMPDEST 00001a64: ISZERO 00001a65: PUSH2 0x1af0 00001a68: JUMPI 00001a69: PUSH1 0x40 00001a6b: MLOAD 00001a6c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001a8d: DUP2 00001a8e: MSTORE 00001a8f: PUSH1 0x20 00001a91: PUSH1 0x04 00001a93: DUP3 00001a94: ADD 00001a95: MSTORE 00001a96: PUSH1 0x37 00001a98: PUSH1 0x24 00001a9a: DUP3 00001a9b: ADD 00001a9c: MSTORE 00001a9d: PUSH32 0x5374616e646172644272696467653a2063616e6e6f7420627269646765204554 00001abe: PUSH1 0x44 00001ac0: DUP3 00001ac1: ADD 00001ac2: MSTORE 00001ac3: PUSH32 0x48207769746820637573746f6d2067617320746f6b656e000000000000000000 00001ae4: PUSH1 0x64 00001ae6: DUP3 00001ae7: ADD 00001ae8: MSTORE 00001ae9: PUSH1 0x84 00001aeb: ADD 00001aec: PUSH2 0x0219 00001aef: JUMP 00001af0: JUMPDEST 00001af1: DUP3 00001af2: CALLVALUE 00001af3: EQ 00001af4: PUSH2 0x1b7f 00001af7: JUMPI 00001af8: PUSH1 0x40 00001afa: MLOAD 00001afb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001b1c: DUP2 00001b1d: MSTORE 00001b1e: PUSH1 0x20 00001b20: PUSH1 0x04 00001b22: DUP3 00001b23: ADD 00001b24: MSTORE 00001b25: PUSH1 0x3e 00001b27: PUSH1 0x24 00001b29: DUP3 00001b2a: ADD 00001b2b: MSTORE 00001b2c: PUSH32 0x5374616e646172644272696467653a206272696467696e6720455448206d7573 00001b4d: PUSH1 0x44 00001b4f: DUP3 00001b50: ADD 00001b51: MSTORE 00001b52: PUSH32 0x7420696e636c7564652073756666696369656e74204554482076616c75650000 00001b73: PUSH1 0x64 00001b75: DUP3 00001b76: ADD 00001b77: MSTORE 00001b78: PUSH1 0x84 00001b7a: ADD 00001b7b: PUSH2 0x0219 00001b7e: JUMP 00001b7f: JUMPDEST 00001b80: PUSH2 0x1b8b 00001b83: DUP6 00001b84: DUP6 00001b85: DUP6 00001b86: DUP5 00001b87: PUSH2 0x2785 00001b8a: JUMP 00001b8b: JUMPDEST 00001b8c: PUSH1 0x03 00001b8e: SLOAD 00001b8f: PUSH1 0x04 00001b91: SLOAD 00001b92: PUSH1 0x40 00001b94: MLOAD 00001b95: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001baa: SWAP3 00001bab: DUP4 00001bac: AND 00001bad: SWAP3 00001bae: PUSH4 0x3dbb202b 00001bb3: SWAP3 00001bb4: DUP8 00001bb5: SWAP3 00001bb6: SWAP2 00001bb7: AND 00001bb8: SWAP1 00001bb9: PUSH32 0x1635f5fd00000000000000000000000000000000000000000000000000000000 00001bda: SWAP1 00001bdb: PUSH2 0x1bee 00001bde: SWAP1 00001bdf: DUP12 00001be0: SWAP1 00001be1: DUP12 00001be2: SWAP1 00001be3: DUP7 00001be4: SWAP1 00001be5: DUP11 00001be6: SWAP1 00001be7: PUSH1 0x24 00001be9: ADD 00001bea: PUSH2 0x3172 00001bed: JUMP 00001bee: JUMPDEST 00001bef: PUSH1 0x40 00001bf1: DUP1 00001bf2: MLOAD 00001bf3: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00001c14: DUP2 00001c15: DUP5 00001c16: SUB 00001c17: ADD 00001c18: DUP2 00001c19: MSTORE 00001c1a: SWAP2 00001c1b: DUP2 00001c1c: MSTORE 00001c1d: PUSH1 0x20 00001c1f: DUP3 00001c20: ADD 00001c21: DUP1 00001c22: MLOAD 00001c23: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001c40: AND 00001c41: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00001c62: SWAP5 00001c63: DUP6 00001c64: AND 00001c65: OR 00001c66: SWAP1 00001c67: MSTORE 00001c68: MLOAD 00001c69: PUSH1 0xe0 00001c6b: DUP7 00001c6c: SWAP1 00001c6d: SHL 00001c6e: SWAP1 00001c6f: SWAP3 00001c70: AND 00001c71: DUP3 00001c72: MSTORE 00001c73: PUSH2 0x1c81 00001c76: SWAP3 00001c77: SWAP2 00001c78: DUP9 00001c79: SWAP1 00001c7a: PUSH1 0x04 00001c7c: ADD 00001c7d: PUSH2 0x31bb 00001c80: JUMP 00001c81: JUMPDEST 00001c82: PUSH1 0x00 00001c84: PUSH1 0x40 00001c86: MLOAD 00001c87: DUP1 00001c88: DUP4 00001c89: SUB 00001c8a: DUP2 00001c8b: DUP6 00001c8c: DUP9 00001c8d: DUP1 00001c8e: EXTCODESIZE 00001c8f: ISZERO 00001c90: DUP1 00001c91: ISZERO 00001c92: PUSH2 0x1c9a 00001c95: JUMPI 00001c96: PUSH1 0x00 00001c98: DUP1 00001c99: REVERT 00001c9a: JUMPDEST 00001c9b: POP 00001c9c: GAS 00001c9d: CALL 00001c9e: ISZERO 00001c9f: DUP1 00001ca0: ISZERO 00001ca1: PUSH2 0x1cae 00001ca4: JUMPI 00001ca5: RETURNDATASIZE 00001ca6: PUSH1 0x00 00001ca8: DUP1 00001ca9: RETURNDATACOPY 00001caa: RETURNDATASIZE 00001cab: PUSH1 0x00 00001cad: REVERT 00001cae: JUMPDEST 00001caf: POP 00001cb0: POP 00001cb1: POP 00001cb2: POP 00001cb3: POP 00001cb4: POP 00001cb5: POP 00001cb6: POP 00001cb7: POP 00001cb8: POP 00001cb9: JUMP 00001cba: JUMPDEST 00001cbb: PUSH1 0x00 00001cbd: PUSH2 0x1ce6 00001cc0: DUP3 00001cc1: PUSH32 0x1d1d8b6300000000000000000000000000000000000000000000000000000000 00001ce2: PUSH2 0x27f8 00001ce5: JUMP 00001ce6: JUMPDEST 00001ce7: DUP1 00001ce8: PUSH2 0x1d16 00001ceb: JUMPI 00001cec: POP 00001ced: PUSH2 0x1d16 00001cf0: DUP3 00001cf1: PUSH32 0xec4fc8e300000000000000000000000000000000000000000000000000000000 00001d12: PUSH2 0x27f8 00001d15: JUMP 00001d16: JUMPDEST 00001d17: SWAP3 00001d18: SWAP2 00001d19: POP 00001d1a: POP 00001d1b: JUMP 00001d1c: JUMPDEST 00001d1d: PUSH1 0x00 00001d1f: PUSH2 0x1d48 00001d22: DUP4 00001d23: PUSH32 0x1d1d8b6300000000000000000000000000000000000000000000000000000000 00001d44: PUSH2 0x27f8 00001d47: JUMP 00001d48: JUMPDEST 00001d49: ISZERO 00001d4a: PUSH2 0x1df1 00001d4d: JUMPI 00001d4e: DUP3 00001d4f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d64: AND 00001d65: PUSH4 0xc01e1bd6 00001d6a: PUSH1 0x40 00001d6c: MLOAD 00001d6d: DUP2 00001d6e: PUSH4 0xffffffff 00001d73: AND 00001d74: PUSH1 0xe0 00001d76: SHL 00001d77: DUP2 00001d78: MSTORE 00001d79: PUSH1 0x04 00001d7b: ADD 00001d7c: PUSH1 0x20 00001d7e: PUSH1 0x40 00001d80: MLOAD 00001d81: DUP1 00001d82: DUP4 00001d83: SUB 00001d84: DUP2 00001d85: DUP7 00001d86: GAS 00001d87: STATICCALL 00001d88: ISZERO 00001d89: DUP1 00001d8a: ISZERO 00001d8b: PUSH2 0x1d98 00001d8e: JUMPI 00001d8f: RETURNDATASIZE 00001d90: PUSH1 0x00 00001d92: DUP1 00001d93: RETURNDATACOPY 00001d94: RETURNDATASIZE 00001d95: PUSH1 0x00 00001d97: REVERT 00001d98: JUMPDEST 00001d99: POP 00001d9a: POP 00001d9b: POP 00001d9c: POP 00001d9d: PUSH1 0x40 00001d9f: MLOAD 00001da0: RETURNDATASIZE 00001da1: PUSH1 0x1f 00001da3: NOT 00001da4: PUSH1 0x1f 00001da6: DUP3 00001da7: ADD 00001da8: AND 00001da9: DUP3 00001daa: ADD 00001dab: DUP1 00001dac: PUSH1 0x40 00001dae: MSTORE 00001daf: POP 00001db0: DUP2 00001db1: ADD 00001db2: SWAP1 00001db3: PUSH2 0x1dbc 00001db6: SWAP2 00001db7: SWAP1 00001db8: PUSH2 0x30d4 00001dbb: JUMP 00001dbc: JUMPDEST 00001dbd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001dd2: AND 00001dd3: DUP3 00001dd4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001de9: AND 00001dea: EQ 00001deb: SWAP1 00001dec: POP 00001ded: PUSH2 0x1d16 00001df0: JUMP 00001df1: JUMPDEST 00001df2: DUP3 00001df3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e08: AND 00001e09: PUSH4 0xd6c0b2c4 00001e0e: PUSH1 0x40 00001e10: MLOAD 00001e11: DUP2 00001e12: PUSH4 0xffffffff 00001e17: AND 00001e18: PUSH1 0xe0 00001e1a: SHL 00001e1b: DUP2 00001e1c: MSTORE 00001e1d: PUSH1 0x04 00001e1f: ADD 00001e20: PUSH1 0x20 00001e22: PUSH1 0x40 00001e24: MLOAD 00001e25: DUP1 00001e26: DUP4 00001e27: SUB 00001e28: DUP2 00001e29: DUP7 00001e2a: GAS 00001e2b: STATICCALL 00001e2c: ISZERO 00001e2d: DUP1 00001e2e: ISZERO 00001e2f: PUSH2 0x1d98 00001e32: JUMPI 00001e33: RETURNDATASIZE 00001e34: PUSH1 0x00 00001e36: DUP1 00001e37: RETURNDATACOPY 00001e38: RETURNDATASIZE 00001e39: PUSH1 0x00 00001e3b: REVERT 00001e3c: JUMPDEST 00001e3d: DUP4 00001e3e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e53: AND 00001e54: DUP6 00001e55: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e6a: AND 00001e6b: DUP8 00001e6c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e81: AND 00001e82: PUSH32 0x3ceee06c1e37648fcbb6ed52e17b3e1f275a1f8c7b22a84b2b84732431e046b3 00001ea3: DUP7 00001ea4: DUP7 00001ea5: DUP7 00001ea6: PUSH1 0x40 00001ea8: MLOAD 00001ea9: PUSH2 0x1eb4 00001eac: SWAP4 00001ead: SWAP3 00001eae: SWAP2 00001eaf: SWAP1 00001eb0: PUSH2 0x3200 00001eb3: JUMP 00001eb4: JUMPDEST 00001eb5: PUSH1 0x40 00001eb7: MLOAD 00001eb8: DUP1 00001eb9: SWAP2 00001eba: SUB 00001ebb: SWAP1 00001ebc: LOG4 00001ebd: PUSH2 0x103e 00001ec0: DUP7 00001ec1: DUP7 00001ec2: DUP7 00001ec3: DUP7 00001ec4: DUP7 00001ec5: DUP7 00001ec6: PUSH2 0x2814 00001ec9: JUMP 00001eca: JUMPDEST 00001ecb: PUSH1 0x00 00001ecd: DUP1 00001ece: PUSH2 0x1ed5 00001ed1: PUSH2 0x1f94 00001ed4: JUMP 00001ed5: JUMPDEST 00001ed6: POP 00001ed7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001eec: AND 00001eed: PUSH20 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 00001f02: EQ 00001f03: ISZERO 00001f04: SWAP3 00001f05: SWAP2 00001f06: POP 00001f07: POP 00001f08: JUMP 00001f09: JUMPDEST 00001f0a: DUP3 00001f0b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f20: AND 00001f21: DUP5 00001f22: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f37: AND 00001f38: PUSH32 0x2ac69ee804d9a7a0984249f508dfab7cb2534b465b6ce1580f99a38ba9c5e631 00001f59: DUP5 00001f5a: DUP5 00001f5b: PUSH1 0x40 00001f5d: MLOAD 00001f5e: PUSH2 0x1f68 00001f61: SWAP3 00001f62: SWAP2 00001f63: SWAP1 00001f64: PUSH2 0x323e 00001f67: JUMP 00001f68: JUMPDEST 00001f69: PUSH1 0x40 00001f6b: MLOAD 00001f6c: DUP1 00001f6d: SWAP2 00001f6e: SUB 00001f6f: SWAP1 00001f70: LOG3 00001f71: PUSH2 0x05d8 00001f74: DUP5 00001f75: DUP5 00001f76: DUP5 00001f77: DUP5 00001f78: PUSH2 0x289c 00001f7b: JUMP 00001f7c: JUMPDEST 00001f7d: PUSH1 0x00 00001f7f: DUP1 00001f80: PUSH1 0x00 00001f82: DUP4 00001f83: MLOAD 00001f84: PUSH1 0x20 00001f86: DUP6 00001f87: ADD 00001f88: DUP7 00001f89: DUP10 00001f8a: DUP10 00001f8b: CALL 00001f8c: SWAP6 00001f8d: SWAP5 00001f8e: POP 00001f8f: POP 00001f90: POP 00001f91: POP 00001f92: POP 00001f93: JUMP 00001f94: JUMPDEST 00001f95: PUSH1 0x33 00001f97: SLOAD 00001f98: PUSH1 0x40 00001f9a: DUP1 00001f9b: MLOAD 00001f9c: PUSH32 0x4397dfef00000000000000000000000000000000000000000000000000000000 00001fbd: DUP2 00001fbe: MSTORE 00001fbf: DUP2 00001fc0: MLOAD 00001fc1: PUSH1 0x00 00001fc3: SWAP4 00001fc4: DUP5 00001fc5: SWAP4 00001fc6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fdb: SWAP1 00001fdc: SWAP2 00001fdd: AND 00001fde: SWAP3 00001fdf: PUSH4 0x4397dfef 00001fe4: SWAP3 00001fe5: PUSH1 0x04 00001fe7: DUP1 00001fe8: DUP4 00001fe9: ADD 00001fea: SWAP4 00001feb: SWAP3 00001fec: DUP3 00001fed: SWAP1 00001fee: SUB 00001fef: ADD 00001ff0: DUP2 00001ff1: DUP7 00001ff2: GAS 00001ff3: STATICCALL 00001ff4: ISZERO 00001ff5: DUP1 00001ff6: ISZERO 00001ff7: PUSH2 0x2004 00001ffa: JUMPI 00001ffb: RETURNDATASIZE 00001ffc: PUSH1 0x00 00001ffe: DUP1 00001fff: RETURNDATACOPY 00002000: RETURNDATASIZE 00002001: PUSH1 0x00 00002003: REVERT 00002004: JUMPDEST 00002005: POP 00002006: POP 00002007: POP 00002008: POP 00002009: PUSH1 0x40 0000200b: MLOAD 0000200c: RETURNDATASIZE 0000200d: PUSH1 0x1f 0000200f: NOT 00002010: PUSH1 0x1f 00002012: DUP3 00002013: ADD 00002014: AND 00002015: DUP3 00002016: ADD 00002017: DUP1 00002018: PUSH1 0x40 0000201a: MSTORE 0000201b: POP 0000201c: DUP2 0000201d: ADD 0000201e: SWAP1 0000201f: PUSH2 0x2028 00002022: SWAP2 00002023: SWAP1 00002024: PUSH2 0x3257 00002027: JUMP 00002028: JUMPDEST 00002029: SWAP1 0000202a: SWAP4 0000202b: SWAP1 0000202c: SWAP3 0000202d: POP 0000202e: SWAP1 0000202f: POP 00002030: JUMP 00002031: JUMPDEST 00002032: CALLVALUE 00002033: ISZERO 00002034: PUSH2 0x20bf 00002037: JUMPI 00002038: PUSH1 0x40 0000203a: MLOAD 0000203b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000205c: DUP2 0000205d: MSTORE 0000205e: PUSH1 0x20 00002060: PUSH1 0x04 00002062: DUP3 00002063: ADD 00002064: MSTORE 00002065: PUSH1 0x21 00002067: PUSH1 0x24 00002069: DUP3 0000206a: ADD 0000206b: MSTORE 0000206c: PUSH32 0x5374616e646172644272696467653a2063616e6e6f742073656e642076616c75 0000208d: PUSH1 0x44 0000208f: DUP3 00002090: ADD 00002091: MSTORE 00002092: PUSH32 0x6500000000000000000000000000000000000000000000000000000000000000 000020b3: PUSH1 0x64 000020b5: DUP3 000020b6: ADD 000020b7: MSTORE 000020b8: PUSH1 0x84 000020ba: ADD 000020bb: PUSH2 0x0219 000020be: JUMP 000020bf: JUMPDEST 000020c0: PUSH2 0x20c8 000020c3: DUP8 000020c4: PUSH2 0x1cba 000020c7: JUMP 000020c8: JUMPDEST 000020c9: ISZERO 000020ca: PUSH2 0x2216 000020cd: JUMPI 000020ce: PUSH2 0x20d7 000020d1: DUP8 000020d2: DUP8 000020d3: PUSH2 0x1d1c 000020d6: JUMP 000020d7: JUMPDEST 000020d8: PUSH2 0x2189 000020db: JUMPI 000020dc: PUSH1 0x40 000020de: MLOAD 000020df: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002100: DUP2 00002101: MSTORE 00002102: PUSH1 0x20 00002104: PUSH1 0x04 00002106: DUP3 00002107: ADD 00002108: MSTORE 00002109: PUSH1 0x4a 0000210b: PUSH1 0x24 0000210d: DUP3 0000210e: ADD 0000210f: MSTORE 00002110: PUSH32 0x5374616e646172644272696467653a2077726f6e672072656d6f746520746f6b 00002131: PUSH1 0x44 00002133: DUP3 00002134: ADD 00002135: MSTORE 00002136: PUSH32 0x656e20666f72204f7074696d69736d204d696e7461626c65204552433230206c 00002157: PUSH1 0x64 00002159: DUP3 0000215a: ADD 0000215b: MSTORE 0000215c: PUSH32 0x6f63616c20746f6b656e00000000000000000000000000000000000000000000 0000217d: PUSH1 0x84 0000217f: DUP3 00002180: ADD 00002181: MSTORE 00002182: PUSH1 0xa4 00002184: ADD 00002185: PUSH2 0x0219 00002188: JUMP 00002189: JUMPDEST 0000218a: PUSH1 0x40 0000218c: MLOAD 0000218d: PUSH32 0x9dc29fac00000000000000000000000000000000000000000000000000000000 000021ae: DUP2 000021af: MSTORE 000021b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021c5: DUP7 000021c6: DUP2 000021c7: AND 000021c8: PUSH1 0x04 000021ca: DUP4 000021cb: ADD 000021cc: MSTORE 000021cd: PUSH1 0x24 000021cf: DUP3 000021d0: ADD 000021d1: DUP6 000021d2: SWAP1 000021d3: MSTORE 000021d4: DUP9 000021d5: AND 000021d6: SWAP1 000021d7: PUSH4 0x9dc29fac 000021dc: SWAP1 000021dd: PUSH1 0x44 000021df: ADD 000021e0: PUSH1 0x00 000021e2: PUSH1 0x40 000021e4: MLOAD 000021e5: DUP1 000021e6: DUP4 000021e7: SUB 000021e8: DUP2 000021e9: PUSH1 0x00 000021eb: DUP8 000021ec: DUP1 000021ed: EXTCODESIZE 000021ee: ISZERO 000021ef: DUP1 000021f0: ISZERO 000021f1: PUSH2 0x21f9 000021f4: JUMPI 000021f5: PUSH1 0x00 000021f7: DUP1 000021f8: REVERT 000021f9: JUMPDEST 000021fa: POP 000021fb: GAS 000021fc: CALL 000021fd: ISZERO 000021fe: DUP1 000021ff: ISZERO 00002200: PUSH2 0x220d 00002203: JUMPI 00002204: RETURNDATASIZE 00002205: PUSH1 0x00 00002207: DUP1 00002208: RETURNDATACOPY 00002209: RETURNDATASIZE 0000220a: PUSH1 0x00 0000220c: REVERT 0000220d: JUMPDEST 0000220e: POP 0000220f: POP 00002210: POP 00002211: POP 00002212: PUSH2 0x22aa 00002215: JUMP 00002216: JUMPDEST 00002217: PUSH2 0x2238 0000221a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000222f: DUP9 00002230: AND 00002231: DUP7 00002232: ADDRESS 00002233: DUP7 00002234: PUSH2 0x2909 00002237: JUMP 00002238: JUMPDEST 00002239: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000224e: DUP1 0000224f: DUP9 00002250: AND 00002251: PUSH1 0x00 00002253: SWAP1 00002254: DUP2 00002255: MSTORE 00002256: PUSH1 0x02 00002258: PUSH1 0x20 0000225a: SWAP1 0000225b: DUP2 0000225c: MSTORE 0000225d: PUSH1 0x40 0000225f: DUP1 00002260: DUP4 00002261: KECCAK256 00002262: SWAP4 00002263: DUP11 00002264: AND 00002265: DUP4 00002266: MSTORE 00002267: SWAP3 00002268: SWAP1 00002269: MSTORE 0000226a: KECCAK256 0000226b: SLOAD 0000226c: PUSH2 0x2276 0000226f: SWAP1 00002270: DUP5 00002271: SWAP1 00002272: PUSH2 0x328c 00002275: JUMP 00002276: JUMPDEST 00002277: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000228c: DUP1 0000228d: DUP10 0000228e: AND 0000228f: PUSH1 0x00 00002291: SWAP1 00002292: DUP2 00002293: MSTORE 00002294: PUSH1 0x02 00002296: PUSH1 0x20 00002298: SWAP1 00002299: DUP2 0000229a: MSTORE 0000229b: PUSH1 0x40 0000229d: DUP1 0000229e: DUP4 0000229f: KECCAK256 000022a0: SWAP4 000022a1: DUP12 000022a2: AND 000022a3: DUP4 000022a4: MSTORE 000022a5: SWAP3 000022a6: SWAP1 000022a7: MSTORE 000022a8: KECCAK256 000022a9: SSTORE 000022aa: JUMPDEST 000022ab: PUSH2 0x22b8 000022ae: DUP8 000022af: DUP8 000022b0: DUP8 000022b1: DUP8 000022b2: DUP8 000022b3: DUP7 000022b4: PUSH2 0x2967 000022b7: JUMP 000022b8: JUMPDEST 000022b9: PUSH1 0x03 000022bb: SLOAD 000022bc: PUSH1 0x04 000022be: SLOAD 000022bf: PUSH1 0x40 000022c1: MLOAD 000022c2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022d7: SWAP3 000022d8: DUP4 000022d9: AND 000022da: SWAP3 000022db: PUSH4 0x3dbb202b 000022e0: SWAP3 000022e1: AND 000022e2: SWAP1 000022e3: PUSH32 0x0166a07a00000000000000000000000000000000000000000000000000000000 00002304: SWAP1 00002305: PUSH2 0x231c 00002308: SWAP1 00002309: DUP12 0000230a: SWAP1 0000230b: DUP14 0000230c: SWAP1 0000230d: DUP13 0000230e: SWAP1 0000230f: DUP13 00002310: SWAP1 00002311: DUP13 00002312: SWAP1 00002313: DUP12 00002314: SWAP1 00002315: PUSH1 0x24 00002317: ADD 00002318: PUSH2 0x32a4 0000231b: JUMP 0000231c: JUMPDEST 0000231d: PUSH1 0x40 0000231f: DUP1 00002320: MLOAD 00002321: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00002342: DUP2 00002343: DUP5 00002344: SUB 00002345: ADD 00002346: DUP2 00002347: MSTORE 00002348: SWAP2 00002349: DUP2 0000234a: MSTORE 0000234b: PUSH1 0x20 0000234d: DUP3 0000234e: ADD 0000234f: DUP1 00002350: MLOAD 00002351: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000236e: AND 0000236f: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00002390: SWAP5 00002391: DUP6 00002392: AND 00002393: OR 00002394: SWAP1 00002395: MSTORE 00002396: MLOAD 00002397: PUSH1 0xe0 00002399: DUP6 0000239a: SWAP1 0000239b: SHL 0000239c: SWAP1 0000239d: SWAP3 0000239e: AND 0000239f: DUP3 000023a0: MSTORE 000023a1: PUSH2 0x23af 000023a4: SWAP3 000023a5: SWAP2 000023a6: DUP8 000023a7: SWAP1 000023a8: PUSH1 0x04 000023aa: ADD 000023ab: PUSH2 0x31bb 000023ae: JUMP 000023af: JUMPDEST 000023b0: PUSH1 0x00 000023b2: PUSH1 0x40 000023b4: MLOAD 000023b5: DUP1 000023b6: DUP4 000023b7: SUB 000023b8: DUP2 000023b9: PUSH1 0x00 000023bb: DUP8 000023bc: DUP1 000023bd: EXTCODESIZE 000023be: ISZERO 000023bf: DUP1 000023c0: ISZERO 000023c1: PUSH2 0x23c9 000023c4: JUMPI 000023c5: PUSH1 0x00 000023c7: DUP1 000023c8: REVERT 000023c9: JUMPDEST 000023ca: POP 000023cb: GAS 000023cc: CALL 000023cd: ISZERO 000023ce: DUP1 000023cf: ISZERO 000023d0: PUSH2 0x23dd 000023d3: JUMPI 000023d4: RETURNDATASIZE 000023d5: PUSH1 0x00 000023d7: DUP1 000023d8: RETURNDATACOPY 000023d9: RETURNDATASIZE 000023da: PUSH1 0x00 000023dc: REVERT 000023dd: JUMPDEST 000023de: POP 000023df: POP 000023e0: POP 000023e1: POP 000023e2: POP 000023e3: POP 000023e4: POP 000023e5: POP 000023e6: POP 000023e7: POP 000023e8: POP 000023e9: JUMP 000023ea: JUMPDEST 000023eb: PUSH2 0x09ef 000023ee: DUP8 000023ef: DUP8 000023f0: DUP8 000023f1: DUP8 000023f2: DUP8 000023f3: DUP8 000023f4: DUP8 000023f5: PUSH2 0x2031 000023f8: JUMP 000023f9: JUMPDEST 000023fa: PUSH1 0x00 000023fc: SLOAD 000023fd: PUSH2 0x0100 00002400: SWAP1 00002401: DIV 00002402: PUSH1 0xff 00002404: AND 00002405: PUSH2 0x2490 00002408: JUMPI 00002409: PUSH1 0x40 0000240b: MLOAD 0000240c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000242d: DUP2 0000242e: MSTORE 0000242f: PUSH1 0x20 00002431: PUSH1 0x04 00002433: DUP3 00002434: ADD 00002435: MSTORE 00002436: PUSH1 0x2b 00002438: PUSH1 0x24 0000243a: DUP3 0000243b: ADD 0000243c: MSTORE 0000243d: PUSH32 0x496e697469616c697a61626c653a20636f6e7472616374206973206e6f742069 0000245e: PUSH1 0x44 00002460: DUP3 00002461: ADD 00002462: MSTORE 00002463: PUSH32 0x6e697469616c697a696e67000000000000000000000000000000000000000000 00002484: PUSH1 0x64 00002486: DUP3 00002487: ADD 00002488: MSTORE 00002489: PUSH1 0x84 0000248b: ADD 0000248c: PUSH2 0x0219 0000248f: JUMP 00002490: JUMPDEST 00002491: PUSH1 0x03 00002493: DUP1 00002494: SLOAD 00002495: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024aa: SWAP4 000024ab: DUP5 000024ac: AND 000024ad: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000024ce: SWAP2 000024cf: DUP3 000024d0: AND 000024d1: OR 000024d2: SWAP1 000024d3: SWAP2 000024d4: SSTORE 000024d5: PUSH1 0x04 000024d7: DUP1 000024d8: SLOAD 000024d9: SWAP3 000024da: SWAP1 000024db: SWAP4 000024dc: AND 000024dd: SWAP2 000024de: AND 000024df: OR 000024e0: SWAP1 000024e1: SSTORE 000024e2: JUMP 000024e3: JUMPDEST 000024e4: PUSH1 0x00 000024e6: PUSH2 0x2545 000024e9: DUP3 000024ea: PUSH1 0x40 000024ec: MLOAD 000024ed: DUP1 000024ee: PUSH1 0x40 000024f0: ADD 000024f1: PUSH1 0x40 000024f3: MSTORE 000024f4: DUP1 000024f5: PUSH1 0x20 000024f7: DUP2 000024f8: MSTORE 000024f9: PUSH1 0x20 000024fb: ADD 000024fc: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 0000251d: DUP2 0000251e: MSTORE 0000251f: POP 00002520: DUP6 00002521: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002536: AND 00002537: PUSH2 0x1a42 0000253a: SWAP1 0000253b: SWAP3 0000253c: SWAP2 0000253d: SWAP1 0000253e: PUSH4 0xffffffff 00002543: AND 00002544: JUMP 00002545: JUMPDEST 00002546: DUP1 00002547: MLOAD 00002548: SWAP1 00002549: SWAP2 0000254a: POP 0000254b: ISZERO 0000254c: PUSH2 0x0acf 0000254f: JUMPI 00002550: DUP1 00002551: DUP1 00002552: PUSH1 0x20 00002554: ADD 00002555: SWAP1 00002556: MLOAD 00002557: DUP2 00002558: ADD 00002559: SWAP1 0000255a: PUSH2 0x2563 0000255d: SWAP2 0000255e: SWAP1 0000255f: PUSH2 0x3137 00002562: JUMP 00002563: JUMPDEST 00002564: PUSH2 0x0acf 00002567: JUMPI 00002568: PUSH1 0x40 0000256a: MLOAD 0000256b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000258c: DUP2 0000258d: MSTORE 0000258e: PUSH1 0x20 00002590: PUSH1 0x04 00002592: DUP3 00002593: ADD 00002594: MSTORE 00002595: PUSH1 0x2a 00002597: PUSH1 0x24 00002599: DUP3 0000259a: ADD 0000259b: MSTORE 0000259c: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 000025bd: PUSH1 0x44 000025bf: DUP3 000025c0: ADD 000025c1: MSTORE 000025c2: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000 000025e3: PUSH1 0x64 000025e5: DUP3 000025e6: ADD 000025e7: MSTORE 000025e8: PUSH1 0x84 000025ea: ADD 000025eb: PUSH2 0x0219 000025ee: JUMP 000025ef: JUMPDEST 000025f0: PUSH1 0x60 000025f2: DUP3 000025f3: SELFBALANCE 000025f4: LT 000025f5: ISZERO 000025f6: PUSH2 0x2681 000025f9: JUMPI 000025fa: PUSH1 0x40 000025fc: MLOAD 000025fd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000261e: DUP2 0000261f: MSTORE 00002620: PUSH1 0x20 00002622: PUSH1 0x04 00002624: DUP3 00002625: ADD 00002626: MSTORE 00002627: PUSH1 0x26 00002629: PUSH1 0x24 0000262b: DUP3 0000262c: ADD 0000262d: MSTORE 0000262e: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 0000264f: PUSH1 0x44 00002651: DUP3 00002652: ADD 00002653: MSTORE 00002654: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000 00002675: PUSH1 0x64 00002677: DUP3 00002678: ADD 00002679: MSTORE 0000267a: PUSH1 0x84 0000267c: ADD 0000267d: PUSH2 0x0219 00002680: JUMP 00002681: JUMPDEST 00002682: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002697: DUP6 00002698: AND 00002699: EXTCODESIZE 0000269a: PUSH2 0x26ff 0000269d: JUMPI 0000269e: PUSH1 0x40 000026a0: MLOAD 000026a1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000026c2: DUP2 000026c3: MSTORE 000026c4: PUSH1 0x20 000026c6: PUSH1 0x04 000026c8: DUP3 000026c9: ADD 000026ca: MSTORE 000026cb: PUSH1 0x1d 000026cd: PUSH1 0x24 000026cf: DUP3 000026d0: ADD 000026d1: MSTORE 000026d2: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 000026f3: PUSH1 0x44 000026f5: DUP3 000026f6: ADD 000026f7: MSTORE 000026f8: PUSH1 0x64 000026fa: ADD 000026fb: PUSH2 0x0219 000026fe: JUMP 000026ff: JUMPDEST 00002700: PUSH1 0x00 00002702: DUP1 00002703: DUP7 00002704: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002719: AND 0000271a: DUP6 0000271b: DUP8 0000271c: PUSH1 0x40 0000271e: MLOAD 0000271f: PUSH2 0x2728 00002722: SWAP2 00002723: SWAP1 00002724: PUSH2 0x32ff 00002727: JUMP 00002728: JUMPDEST 00002729: PUSH1 0x00 0000272b: PUSH1 0x40 0000272d: MLOAD 0000272e: DUP1 0000272f: DUP4 00002730: SUB 00002731: DUP2 00002732: DUP6 00002733: DUP8 00002734: GAS 00002735: CALL 00002736: SWAP3 00002737: POP 00002738: POP 00002739: POP 0000273a: RETURNDATASIZE 0000273b: DUP1 0000273c: PUSH1 0x00 0000273e: DUP2 0000273f: EQ 00002740: PUSH2 0x2765 00002743: JUMPI 00002744: PUSH1 0x40 00002746: MLOAD 00002747: SWAP2 00002748: POP 00002749: PUSH1 0x1f 0000274b: NOT 0000274c: PUSH1 0x3f 0000274e: RETURNDATASIZE 0000274f: ADD 00002750: AND 00002751: DUP3 00002752: ADD 00002753: PUSH1 0x40 00002755: MSTORE 00002756: RETURNDATASIZE 00002757: DUP3 00002758: MSTORE 00002759: RETURNDATASIZE 0000275a: PUSH1 0x00 0000275c: PUSH1 0x20 0000275e: DUP5 0000275f: ADD 00002760: RETURNDATACOPY 00002761: PUSH2 0x276a 00002764: JUMP 00002765: JUMPDEST 00002766: PUSH1 0x60 00002768: SWAP2 00002769: POP 0000276a: JUMPDEST 0000276b: POP 0000276c: SWAP2 0000276d: POP 0000276e: SWAP2 0000276f: POP 00002770: PUSH2 0x277a 00002773: DUP3 00002774: DUP3 00002775: DUP7 00002776: PUSH2 0x29f5 00002779: JUMP 0000277a: JUMPDEST 0000277b: SWAP8 0000277c: SWAP7 0000277d: POP 0000277e: POP 0000277f: POP 00002780: POP 00002781: POP 00002782: POP 00002783: POP 00002784: JUMP 00002785: JUMPDEST 00002786: DUP3 00002787: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000279c: AND 0000279d: DUP5 0000279e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027b3: AND 000027b4: PUSH32 0x35d79ab81f2b2017e19afb5c5571778877782d7a8786f5907f93b0f4702f4f23 000027d5: DUP5 000027d6: DUP5 000027d7: PUSH1 0x40 000027d9: MLOAD 000027da: PUSH2 0x27e4 000027dd: SWAP3 000027de: SWAP2 000027df: SWAP1 000027e0: PUSH2 0x323e 000027e3: JUMP 000027e4: JUMPDEST 000027e5: PUSH1 0x40 000027e7: MLOAD 000027e8: DUP1 000027e9: SWAP2 000027ea: SUB 000027eb: SWAP1 000027ec: LOG3 000027ed: PUSH2 0x05d8 000027f0: DUP5 000027f1: DUP5 000027f2: DUP5 000027f3: DUP5 000027f4: PUSH2 0x2a48 000027f7: JUMP 000027f8: JUMPDEST 000027f9: PUSH1 0x00 000027fb: PUSH2 0x2803 000027fe: DUP4 000027ff: PUSH2 0x2aa7 00002802: JUMP 00002803: JUMPDEST 00002804: DUP1 00002805: ISZERO 00002806: PUSH2 0x1a54 00002809: JUMPI 0000280a: POP 0000280b: PUSH2 0x1a54 0000280e: DUP4 0000280f: DUP4 00002810: PUSH2 0x2b0b 00002813: JUMP 00002814: JUMPDEST 00002815: DUP4 00002816: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000282b: AND 0000282c: DUP6 0000282d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002842: AND 00002843: DUP8 00002844: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002859: AND 0000285a: PUSH32 0xd59c65b35445225835c83f50b6ede06a7be047d22e357073e250d9af537518cd 0000287b: DUP7 0000287c: DUP7 0000287d: DUP7 0000287e: PUSH1 0x40 00002880: MLOAD 00002881: PUSH2 0x288c 00002884: SWAP4 00002885: SWAP3 00002886: SWAP2 00002887: SWAP1 00002888: PUSH2 0x3200 0000288b: JUMP 0000288c: JUMPDEST 0000288d: PUSH1 0x40 0000288f: MLOAD 00002890: DUP1 00002891: SWAP2 00002892: SUB 00002893: SWAP1 00002894: LOG4 00002895: POP 00002896: POP 00002897: POP 00002898: POP 00002899: POP 0000289a: POP 0000289b: JUMP 0000289c: JUMPDEST 0000289d: DUP3 0000289e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000028b3: AND 000028b4: DUP5 000028b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000028ca: AND 000028cb: PUSH32 0x31b2166ff604fc5672ea5df08a78081d2bc6d746cadce880747f3643d819e83d 000028ec: DUP5 000028ed: DUP5 000028ee: PUSH1 0x40 000028f0: MLOAD 000028f1: PUSH2 0x28fb 000028f4: SWAP3 000028f5: SWAP2 000028f6: SWAP1 000028f7: PUSH2 0x323e 000028fa: JUMP 000028fb: JUMPDEST 000028fc: PUSH1 0x40 000028fe: MLOAD 000028ff: DUP1 00002900: SWAP2 00002901: SUB 00002902: SWAP1 00002903: LOG3 00002904: POP 00002905: POP 00002906: POP 00002907: POP 00002908: JUMP 00002909: JUMPDEST 0000290a: PUSH1 0x40 0000290c: MLOAD 0000290d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002922: DUP1 00002923: DUP6 00002924: AND 00002925: PUSH1 0x24 00002927: DUP4 00002928: ADD 00002929: MSTORE 0000292a: DUP4 0000292b: AND 0000292c: PUSH1 0x44 0000292e: DUP3 0000292f: ADD 00002930: MSTORE 00002931: PUSH1 0x64 00002933: DUP2 00002934: ADD 00002935: DUP3 00002936: SWAP1 00002937: MSTORE 00002938: PUSH2 0x05d8 0000293b: SWAP1 0000293c: DUP6 0000293d: SWAP1 0000293e: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 0000295f: SWAP1 00002960: PUSH1 0x84 00002962: ADD 00002963: PUSH2 0x19c0 00002966: JUMP 00002967: JUMPDEST 00002968: DUP4 00002969: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000297e: AND 0000297f: DUP6 00002980: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002995: AND 00002996: DUP8 00002997: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000029ac: AND 000029ad: PUSH32 0x718594027abd4eaed59f95162563e0cc6d0e8d5b86b1c7be8b1b0ac3343d0396 000029ce: DUP7 000029cf: DUP7 000029d0: DUP7 000029d1: PUSH1 0x40 000029d3: MLOAD 000029d4: PUSH2 0x29df 000029d7: SWAP4 000029d8: SWAP3 000029d9: SWAP2 000029da: SWAP1 000029db: PUSH2 0x3200 000029de: JUMP 000029df: JUMPDEST 000029e0: PUSH1 0x40 000029e2: MLOAD 000029e3: DUP1 000029e4: SWAP2 000029e5: SUB 000029e6: SWAP1 000029e7: LOG4 000029e8: PUSH2 0x103e 000029eb: DUP7 000029ec: DUP7 000029ed: DUP7 000029ee: DUP7 000029ef: DUP7 000029f0: DUP7 000029f1: PUSH2 0x2bd6 000029f4: JUMP 000029f5: JUMPDEST 000029f6: PUSH1 0x60 000029f8: DUP4 000029f9: ISZERO 000029fa: PUSH2 0x2a04 000029fd: JUMPI 000029fe: POP 000029ff: DUP2 00002a00: PUSH2 0x1a54 00002a03: JUMP 00002a04: JUMPDEST 00002a05: DUP3 00002a06: MLOAD 00002a07: ISZERO 00002a08: PUSH2 0x2a14 00002a0b: JUMPI 00002a0c: DUP3 00002a0d: MLOAD 00002a0e: DUP1 00002a0f: DUP5 00002a10: PUSH1 0x20 00002a12: ADD 00002a13: REVERT 00002a14: JUMPDEST 00002a15: DUP2 00002a16: PUSH1 0x40 00002a18: MLOAD 00002a19: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002a3a: DUP2 00002a3b: MSTORE 00002a3c: PUSH1 0x04 00002a3e: ADD 00002a3f: PUSH2 0x0219 00002a42: SWAP2 00002a43: SWAP1 00002a44: PUSH2 0x2f20 00002a47: JUMP 00002a48: JUMPDEST 00002a49: DUP3 00002a4a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a5f: AND 00002a60: DUP5 00002a61: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a76: AND 00002a77: PUSH32 0x2849b43074093a05396b6f2a937dee8565b15a48a7b3d4bffb732a5017380af5 00002a98: DUP5 00002a99: DUP5 00002a9a: PUSH1 0x40 00002a9c: MLOAD 00002a9d: PUSH2 0x28fb 00002aa0: SWAP3 00002aa1: SWAP2 00002aa2: SWAP1 00002aa3: PUSH2 0x323e 00002aa6: JUMP 00002aa7: JUMPDEST 00002aa8: PUSH1 0x00 00002aaa: PUSH2 0x2ad3 00002aad: DUP3 00002aae: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000 00002acf: PUSH2 0x2b0b 00002ad2: JUMP 00002ad3: JUMPDEST 00002ad4: DUP1 00002ad5: ISZERO 00002ad6: PUSH2 0x1d16 00002ad9: JUMPI 00002ada: POP 00002adb: PUSH2 0x2b04 00002ade: DUP3 00002adf: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00002b00: PUSH2 0x2b0b 00002b03: JUMP 00002b04: JUMPDEST 00002b05: ISZERO 00002b06: SWAP3 00002b07: SWAP2 00002b08: POP 00002b09: POP 00002b0a: JUMP 00002b0b: JUMPDEST 00002b0c: PUSH1 0x40 00002b0e: DUP1 00002b0f: MLOAD 00002b10: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00002b31: DUP4 00002b32: AND 00002b33: PUSH1 0x24 00002b35: DUP1 00002b36: DUP4 00002b37: ADD 00002b38: SWAP2 00002b39: SWAP1 00002b3a: SWAP2 00002b3b: MSTORE 00002b3c: DUP3 00002b3d: MLOAD 00002b3e: DUP1 00002b3f: DUP4 00002b40: SUB 00002b41: SWAP1 00002b42: SWAP2 00002b43: ADD 00002b44: DUP2 00002b45: MSTORE 00002b46: PUSH1 0x44 00002b48: SWAP1 00002b49: SWAP2 00002b4a: ADD 00002b4b: SWAP1 00002b4c: SWAP2 00002b4d: MSTORE 00002b4e: PUSH1 0x20 00002b50: DUP1 00002b51: DUP3 00002b52: ADD 00002b53: DUP1 00002b54: MLOAD 00002b55: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002b72: AND 00002b73: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000 00002b94: OR 00002b95: DUP2 00002b96: MSTORE 00002b97: DUP3 00002b98: MLOAD 00002b99: PUSH1 0x00 00002b9b: SWAP4 00002b9c: SWAP3 00002b9d: DUP5 00002b9e: SWAP3 00002b9f: DUP4 00002ba0: SWAP3 00002ba1: DUP4 00002ba2: SWAP3 00002ba3: SWAP2 00002ba4: DUP4 00002ba5: SWAP2 00002ba6: SWAP1 00002ba7: DUP11 00002ba8: PUSH2 0x7530 00002bab: STATICCALL 00002bac: SWAP3 00002bad: POP 00002bae: RETURNDATASIZE 00002baf: SWAP2 00002bb0: POP 00002bb1: PUSH1 0x00 00002bb3: MLOAD 00002bb4: SWAP1 00002bb5: POP 00002bb6: DUP3 00002bb7: DUP1 00002bb8: ISZERO 00002bb9: PUSH2 0x2bc3 00002bbc: JUMPI 00002bbd: POP 00002bbe: PUSH1 0x20 00002bc0: DUP3 00002bc1: LT 00002bc2: ISZERO 00002bc3: JUMPDEST 00002bc4: DUP1 00002bc5: ISZERO 00002bc6: PUSH2 0x277a 00002bc9: JUMPI 00002bca: POP 00002bcb: ISZERO 00002bcc: ISZERO 00002bcd: SWAP7 00002bce: SWAP6 00002bcf: POP 00002bd0: POP 00002bd1: POP 00002bd2: POP 00002bd3: POP 00002bd4: POP 00002bd5: JUMP 00002bd6: JUMPDEST 00002bd7: DUP4 00002bd8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002bed: AND 00002bee: DUP6 00002bef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c04: AND 00002c05: DUP8 00002c06: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c1b: AND 00002c1c: PUSH32 0x7ff126db8024424bbfd9826e8ab82ff59136289ea440b04b39a0df1b03b9cabf 00002c3d: DUP7 00002c3e: DUP7 00002c3f: DUP7 00002c40: PUSH1 0x40 00002c42: MLOAD 00002c43: PUSH2 0x288c 00002c46: SWAP4 00002c47: SWAP3 00002c48: SWAP2 00002c49: SWAP1 00002c4a: PUSH2 0x3200 00002c4d: JUMP 00002c4e: JUMPDEST 00002c4f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c64: DUP2 00002c65: AND 00002c66: DUP2 00002c67: EQ 00002c68: PUSH2 0x2c70 00002c6b: JUMPI 00002c6c: PUSH1 0x00 00002c6e: DUP1 00002c6f: REVERT 00002c70: JUMPDEST 00002c71: POP 00002c72: JUMP 00002c73: JUMPDEST 00002c74: PUSH1 0x00 00002c76: DUP1 00002c77: DUP4 00002c78: PUSH1 0x1f 00002c7a: DUP5 00002c7b: ADD 00002c7c: SLT 00002c7d: PUSH2 0x2c85 00002c80: JUMPI 00002c81: PUSH1 0x00 00002c83: DUP1 00002c84: REVERT 00002c85: JUMPDEST 00002c86: POP 00002c87: DUP2 00002c88: CALLDATALOAD 00002c89: PUSH8 0xffffffffffffffff 00002c92: DUP2 00002c93: GT 00002c94: ISZERO 00002c95: PUSH2 0x2c9d 00002c98: JUMPI 00002c99: PUSH1 0x00 00002c9b: DUP1 00002c9c: REVERT 00002c9d: JUMPDEST 00002c9e: PUSH1 0x20 00002ca0: DUP4 00002ca1: ADD 00002ca2: SWAP2 00002ca3: POP 00002ca4: DUP4 00002ca5: PUSH1 0x20 00002ca7: DUP3 00002ca8: DUP6 00002ca9: ADD 00002caa: ADD 00002cab: GT 00002cac: ISZERO 00002cad: PUSH2 0x2cb5 00002cb0: JUMPI 00002cb1: PUSH1 0x00 00002cb3: DUP1 00002cb4: REVERT 00002cb5: JUMPDEST 00002cb6: SWAP3 00002cb7: POP 00002cb8: SWAP3 00002cb9: SWAP1 00002cba: POP 00002cbb: JUMP 00002cbc: JUMPDEST 00002cbd: PUSH1 0x00 00002cbf: DUP1 00002cc0: PUSH1 0x00 00002cc2: DUP1 00002cc3: PUSH1 0x00 00002cc5: DUP1 00002cc6: PUSH1 0x00 00002cc8: PUSH1 0xc0 00002cca: DUP9 00002ccb: DUP11 00002ccc: SUB 00002ccd: SLT 00002cce: ISZERO 00002ccf: PUSH2 0x2cd7 00002cd2: JUMPI 00002cd3: PUSH1 0x00 00002cd5: DUP1 00002cd6: REVERT 00002cd7: JUMPDEST 00002cd8: DUP8 00002cd9: CALLDATALOAD 00002cda: PUSH2 0x2ce2 00002cdd: DUP2 00002cde: PUSH2 0x2c4e 00002ce1: JUMP 00002ce2: JUMPDEST 00002ce3: SWAP7 00002ce4: POP 00002ce5: PUSH1 0x20 00002ce7: DUP9 00002ce8: ADD 00002ce9: CALLDATALOAD 00002cea: PUSH2 0x2cf2 00002ced: DUP2 00002cee: PUSH2 0x2c4e 00002cf1: JUMP 00002cf2: JUMPDEST 00002cf3: SWAP6 00002cf4: POP 00002cf5: PUSH1 0x40 00002cf7: DUP9 00002cf8: ADD 00002cf9: CALLDATALOAD 00002cfa: PUSH2 0x2d02 00002cfd: DUP2 00002cfe: PUSH2 0x2c4e 00002d01: JUMP 00002d02: JUMPDEST 00002d03: SWAP5 00002d04: POP 00002d05: PUSH1 0x60 00002d07: DUP9 00002d08: ADD 00002d09: CALLDATALOAD 00002d0a: PUSH2 0x2d12 00002d0d: DUP2 00002d0e: PUSH2 0x2c4e 00002d11: JUMP 00002d12: JUMPDEST 00002d13: SWAP4 00002d14: POP 00002d15: PUSH1 0x80 00002d17: DUP9 00002d18: ADD 00002d19: CALLDATALOAD 00002d1a: SWAP3 00002d1b: POP 00002d1c: PUSH1 0xa0 00002d1e: DUP9 00002d1f: ADD 00002d20: CALLDATALOAD 00002d21: PUSH8 0xffffffffffffffff 00002d2a: DUP2 00002d2b: GT 00002d2c: ISZERO 00002d2d: PUSH2 0x2d35 00002d30: JUMPI 00002d31: PUSH1 0x00 00002d33: DUP1 00002d34: REVERT 00002d35: JUMPDEST 00002d36: PUSH2 0x2d41 00002d39: DUP11 00002d3a: DUP3 00002d3b: DUP12 00002d3c: ADD 00002d3d: PUSH2 0x2c73 00002d40: JUMP 00002d41: JUMPDEST 00002d42: SWAP9 00002d43: SWAP12 00002d44: SWAP8 00002d45: SWAP11 00002d46: POP 00002d47: SWAP6 00002d48: SWAP9 00002d49: POP 00002d4a: SWAP4 00002d4b: SWAP7 00002d4c: SWAP3 00002d4d: SWAP6 00002d4e: SWAP3 00002d4f: SWAP4 00002d50: POP 00002d51: POP 00002d52: POP 00002d53: JUMP 00002d54: JUMPDEST 00002d55: DUP1 00002d56: CALLDATALOAD 00002d57: PUSH4 0xffffffff 00002d5c: DUP2 00002d5d: AND 00002d5e: DUP2 00002d5f: EQ 00002d60: PUSH2 0x2d68 00002d63: JUMPI 00002d64: PUSH1 0x00 00002d66: DUP1 00002d67: REVERT 00002d68: JUMPDEST 00002d69: SWAP2 00002d6a: SWAP1 00002d6b: POP 00002d6c: JUMP 00002d6d: JUMPDEST 00002d6e: PUSH1 0x00 00002d70: DUP1 00002d71: PUSH1 0x00 00002d73: PUSH1 0x40 00002d75: DUP5 00002d76: DUP7 00002d77: SUB 00002d78: SLT 00002d79: ISZERO 00002d7a: PUSH2 0x2d82 00002d7d: JUMPI 00002d7e: PUSH1 0x00 00002d80: DUP1 00002d81: REVERT 00002d82: JUMPDEST 00002d83: PUSH2 0x2d8b 00002d86: DUP5 00002d87: PUSH2 0x2d54 00002d8a: JUMP 00002d8b: JUMPDEST 00002d8c: SWAP3 00002d8d: POP 00002d8e: PUSH1 0x20 00002d90: DUP5 00002d91: ADD 00002d92: CALLDATALOAD 00002d93: PUSH8 0xffffffffffffffff 00002d9c: DUP2 00002d9d: GT 00002d9e: ISZERO 00002d9f: PUSH2 0x2da7 00002da2: JUMPI 00002da3: PUSH1 0x00 00002da5: DUP1 00002da6: REVERT 00002da7: JUMPDEST 00002da8: PUSH2 0x2db3 00002dab: DUP7 00002dac: DUP3 00002dad: DUP8 00002dae: ADD 00002daf: PUSH2 0x2c73 00002db2: JUMP 00002db3: JUMPDEST 00002db4: SWAP5 00002db5: SWAP8 00002db6: SWAP1 00002db7: SWAP7 00002db8: POP 00002db9: SWAP4 00002dba: SWAP5 00002dbb: POP 00002dbc: POP 00002dbd: POP 00002dbe: POP 00002dbf: JUMP 00002dc0: JUMPDEST 00002dc1: PUSH1 0x00 00002dc3: DUP1 00002dc4: PUSH1 0x00 00002dc6: DUP1 00002dc7: PUSH1 0x00 00002dc9: PUSH1 0x80 00002dcb: DUP7 00002dcc: DUP9 00002dcd: SUB 00002dce: SLT 00002dcf: ISZERO 00002dd0: PUSH2 0x2dd8 00002dd3: JUMPI 00002dd4: PUSH1 0x00 00002dd6: DUP1 00002dd7: REVERT 00002dd8: JUMPDEST 00002dd9: DUP6 00002dda: CALLDATALOAD 00002ddb: PUSH2 0x2de3 00002dde: DUP2 00002ddf: PUSH2 0x2c4e 00002de2: JUMP 00002de3: JUMPDEST 00002de4: SWAP5 00002de5: POP 00002de6: PUSH1 0x20 00002de8: DUP7 00002de9: ADD 00002dea: CALLDATALOAD 00002deb: PUSH2 0x2df3 00002dee: DUP2 00002def: PUSH2 0x2c4e 00002df2: JUMP 00002df3: JUMPDEST 00002df4: SWAP4 00002df5: POP 00002df6: PUSH1 0x40 00002df8: DUP7 00002df9: ADD 00002dfa: CALLDATALOAD 00002dfb: SWAP3 00002dfc: POP 00002dfd: PUSH1 0x60 00002dff: DUP7 00002e00: ADD 00002e01: CALLDATALOAD 00002e02: PUSH8 0xffffffffffffffff 00002e0b: DUP2 00002e0c: GT 00002e0d: ISZERO 00002e0e: PUSH2 0x2e16 00002e11: JUMPI 00002e12: PUSH1 0x00 00002e14: DUP1 00002e15: REVERT 00002e16: JUMPDEST 00002e17: PUSH2 0x2e22 00002e1a: DUP9 00002e1b: DUP3 00002e1c: DUP10 00002e1d: ADD 00002e1e: PUSH2 0x2c73 00002e21: JUMP 00002e22: JUMPDEST 00002e23: SWAP7 00002e24: SWAP10 00002e25: SWAP6 00002e26: SWAP9 00002e27: POP 00002e28: SWAP4 00002e29: SWAP7 00002e2a: POP 00002e2b: SWAP3 00002e2c: SWAP5 00002e2d: SWAP4 00002e2e: SWAP3 00002e2f: POP 00002e30: POP 00002e31: POP 00002e32: JUMP 00002e33: JUMPDEST 00002e34: PUSH1 0x00 00002e36: DUP1 00002e37: PUSH1 0x00 00002e39: DUP1 00002e3a: PUSH1 0x00 00002e3c: DUP1 00002e3d: PUSH1 0x00 00002e3f: PUSH1 0xc0 00002e41: DUP9 00002e42: DUP11 00002e43: SUB 00002e44: SLT 00002e45: ISZERO 00002e46: PUSH2 0x2e4e 00002e49: JUMPI 00002e4a: PUSH1 0x00 00002e4c: DUP1 00002e4d: REVERT 00002e4e: JUMPDEST 00002e4f: DUP8 00002e50: CALLDATALOAD 00002e51: PUSH2 0x2e59 00002e54: DUP2 00002e55: PUSH2 0x2c4e 00002e58: JUMP 00002e59: JUMPDEST 00002e5a: SWAP7 00002e5b: POP 00002e5c: PUSH1 0x20 00002e5e: DUP9 00002e5f: ADD 00002e60: CALLDATALOAD 00002e61: PUSH2 0x2e69 00002e64: DUP2 00002e65: PUSH2 0x2c4e 00002e68: JUMP 00002e69: JUMPDEST 00002e6a: SWAP6 00002e6b: POP 00002e6c: PUSH1 0x40 00002e6e: DUP9 00002e6f: ADD 00002e70: CALLDATALOAD 00002e71: PUSH2 0x2e79 00002e74: DUP2 00002e75: PUSH2 0x2c4e 00002e78: JUMP 00002e79: JUMPDEST 00002e7a: SWAP5 00002e7b: POP 00002e7c: PUSH1 0x60 00002e7e: DUP9 00002e7f: ADD 00002e80: CALLDATALOAD 00002e81: SWAP4 00002e82: POP 00002e83: PUSH2 0x2e8e 00002e86: PUSH1 0x80 00002e88: DUP10 00002e89: ADD 00002e8a: PUSH2 0x2d54 00002e8d: JUMP 00002e8e: JUMPDEST 00002e8f: SWAP3 00002e90: POP 00002e91: PUSH1 0xa0 00002e93: DUP9 00002e94: ADD 00002e95: CALLDATALOAD 00002e96: PUSH8 0xffffffffffffffff 00002e9f: DUP2 00002ea0: GT 00002ea1: ISZERO 00002ea2: PUSH2 0x2d35 00002ea5: JUMPI 00002ea6: PUSH1 0x00 00002ea8: DUP1 00002ea9: REVERT 00002eaa: JUMPDEST 00002eab: PUSH1 0x00 00002ead: JUMPDEST 00002eae: DUP4 00002eaf: DUP2 00002eb0: LT 00002eb1: ISZERO 00002eb2: PUSH2 0x2ec5 00002eb5: JUMPI 00002eb6: DUP2 00002eb7: DUP2 00002eb8: ADD 00002eb9: MLOAD 00002eba: DUP4 00002ebb: DUP3 00002ebc: ADD 00002ebd: MSTORE 00002ebe: PUSH1 0x20 00002ec0: ADD 00002ec1: PUSH2 0x2ead 00002ec4: JUMP 00002ec5: JUMPDEST 00002ec6: DUP4 00002ec7: DUP2 00002ec8: GT 00002ec9: ISZERO 00002eca: PUSH2 0x05d8 00002ecd: JUMPI 00002ece: POP 00002ecf: POP 00002ed0: PUSH1 0x00 00002ed2: SWAP2 00002ed3: ADD 00002ed4: MSTORE 00002ed5: JUMP 00002ed6: JUMPDEST 00002ed7: PUSH1 0x00 00002ed9: DUP2 00002eda: MLOAD 00002edb: DUP1 00002edc: DUP5 00002edd: MSTORE 00002ede: PUSH2 0x2eee 00002ee1: DUP2 00002ee2: PUSH1 0x20 00002ee4: DUP7 00002ee5: ADD 00002ee6: PUSH1 0x20 00002ee8: DUP7 00002ee9: ADD 00002eea: PUSH2 0x2eaa 00002eed: JUMP 00002eee: JUMPDEST 00002eef: PUSH1 0x1f 00002ef1: ADD 00002ef2: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 00002f13: AND 00002f14: SWAP3 00002f15: SWAP1 00002f16: SWAP3 00002f17: ADD 00002f18: PUSH1 0x20 00002f1a: ADD 00002f1b: SWAP3 00002f1c: SWAP2 00002f1d: POP 00002f1e: POP 00002f1f: JUMP 00002f20: JUMPDEST 00002f21: PUSH1 0x20 00002f23: DUP2 00002f24: MSTORE 00002f25: PUSH1 0x00 00002f27: PUSH2 0x1a54 00002f2a: PUSH1 0x20 00002f2c: DUP4 00002f2d: ADD 00002f2e: DUP5 00002f2f: PUSH2 0x2ed6 00002f32: JUMP 00002f33: JUMPDEST 00002f34: PUSH1 0x00 00002f36: DUP1 00002f37: PUSH1 0x00 00002f39: DUP1 00002f3a: PUSH1 0x00 00002f3c: DUP1 00002f3d: PUSH1 0xa0 00002f3f: DUP8 00002f40: DUP10 00002f41: SUB 00002f42: SLT 00002f43: ISZERO 00002f44: PUSH2 0x2f4c 00002f47: JUMPI 00002f48: PUSH1 0x00 00002f4a: DUP1 00002f4b: REVERT 00002f4c: JUMPDEST 00002f4d: DUP7 00002f4e: CALLDATALOAD 00002f4f: PUSH2 0x2f57 00002f52: DUP2 00002f53: PUSH2 0x2c4e 00002f56: JUMP 00002f57: JUMPDEST 00002f58: SWAP6 00002f59: POP 00002f5a: PUSH1 0x20 00002f5c: DUP8 00002f5d: ADD 00002f5e: CALLDATALOAD 00002f5f: PUSH2 0x2f67 00002f62: DUP2 00002f63: PUSH2 0x2c4e 00002f66: JUMP 00002f67: JUMPDEST 00002f68: SWAP5 00002f69: POP 00002f6a: PUSH1 0x40 00002f6c: DUP8 00002f6d: ADD 00002f6e: CALLDATALOAD 00002f6f: SWAP4 00002f70: POP 00002f71: PUSH2 0x2f7c 00002f74: PUSH1 0x60 00002f76: DUP9 00002f77: ADD 00002f78: PUSH2 0x2d54 00002f7b: JUMP 00002f7c: JUMPDEST 00002f7d: SWAP3 00002f7e: POP 00002f7f: PUSH1 0x80 00002f81: DUP8 00002f82: ADD 00002f83: CALLDATALOAD 00002f84: PUSH8 0xffffffffffffffff 00002f8d: DUP2 00002f8e: GT 00002f8f: ISZERO 00002f90: PUSH2 0x2f98 00002f93: JUMPI 00002f94: PUSH1 0x00 00002f96: DUP1 00002f97: REVERT 00002f98: JUMPDEST 00002f99: PUSH2 0x2fa4 00002f9c: DUP10 00002f9d: DUP3 00002f9e: DUP11 00002f9f: ADD 00002fa0: PUSH2 0x2c73 00002fa3: JUMP 00002fa4: JUMPDEST 00002fa5: SWAP8 00002fa6: SWAP11 00002fa7: SWAP7 00002fa8: SWAP10 00002fa9: POP 00002faa: SWAP5 00002fab: SWAP8 00002fac: POP 00002fad: SWAP3 00002fae: SWAP6 00002faf: SWAP4 00002fb0: SWAP5 00002fb1: SWAP3 00002fb2: POP 00002fb3: POP 00002fb4: POP 00002fb5: JUMP 00002fb6: JUMPDEST 00002fb7: PUSH1 0x00 00002fb9: DUP1 00002fba: PUSH1 0x40 00002fbc: DUP4 00002fbd: DUP6 00002fbe: SUB 00002fbf: SLT 00002fc0: ISZERO 00002fc1: PUSH2 0x2fc9 00002fc4: JUMPI 00002fc5: PUSH1 0x00 00002fc7: DUP1 00002fc8: REVERT 00002fc9: JUMPDEST 00002fca: DUP3 00002fcb: CALLDATALOAD 00002fcc: PUSH2 0x2fd4 00002fcf: DUP2 00002fd0: PUSH2 0x2c4e 00002fd3: JUMP 00002fd4: JUMPDEST 00002fd5: SWAP2 00002fd6: POP 00002fd7: PUSH1 0x20 00002fd9: DUP4 00002fda: ADD 00002fdb: CALLDATALOAD 00002fdc: PUSH2 0x2fe4 00002fdf: DUP2 00002fe0: PUSH2 0x2c4e 00002fe3: JUMP 00002fe4: JUMPDEST 00002fe5: DUP1 00002fe6: SWAP2 00002fe7: POP 00002fe8: POP 00002fe9: SWAP3 00002fea: POP 00002feb: SWAP3 00002fec: SWAP1 00002fed: POP 00002fee: JUMP 00002fef: JUMPDEST 00002ff0: PUSH1 0x00 00002ff2: DUP1 00002ff3: PUSH1 0x00 00002ff5: DUP1 00002ff6: PUSH1 0x60 00002ff8: DUP6 00002ff9: DUP8 00002ffa: SUB 00002ffb: SLT 00002ffc: ISZERO 00002ffd: PUSH2 0x3005 00003000: JUMPI 00003001: PUSH1 0x00 00003003: DUP1 00003004: REVERT 00003005: JUMPDEST 00003006: DUP5 00003007: CALLDATALOAD 00003008: PUSH2 0x3010 0000300b: DUP2 0000300c: PUSH2 0x2c4e 0000300f: JUMP 00003010: JUMPDEST 00003011: SWAP4 00003012: POP 00003013: PUSH2 0x301e 00003016: PUSH1 0x20 00003018: DUP7 00003019: ADD 0000301a: PUSH2 0x2d54 0000301d: JUMP 0000301e: JUMPDEST 0000301f: SWAP3 00003020: POP 00003021: PUSH1 0x40 00003023: DUP6 00003024: ADD 00003025: CALLDATALOAD 00003026: PUSH8 0xffffffffffffffff 0000302f: DUP2 00003030: GT 00003031: ISZERO 00003032: PUSH2 0x303a 00003035: JUMPI 00003036: PUSH1 0x00 00003038: DUP1 00003039: REVERT 0000303a: JUMPDEST 0000303b: PUSH2 0x3046 0000303e: DUP8 0000303f: DUP3 00003040: DUP9 00003041: ADD 00003042: PUSH2 0x2c73 00003045: JUMP 00003046: JUMPDEST 00003047: SWAP6 00003048: SWAP9 00003049: SWAP5 0000304a: SWAP8 0000304b: POP 0000304c: SWAP6 0000304d: POP 0000304e: POP 0000304f: POP 00003050: POP 00003051: JUMP 00003052: JUMPDEST 00003053: PUSH1 0x00 00003055: DUP1 00003056: PUSH1 0x00 00003058: DUP1 00003059: PUSH1 0x00 0000305b: DUP1 0000305c: PUSH1 0xc0 0000305e: DUP8 0000305f: DUP10 00003060: SUB 00003061: SLT 00003062: ISZERO 00003063: PUSH2 0x306b 00003066: JUMPI 00003067: PUSH1 0x00 00003069: DUP1 0000306a: REVERT 0000306b: JUMPDEST 0000306c: DUP7 0000306d: CALLDATALOAD 0000306e: PUSH2 0x3076 00003071: DUP2 00003072: PUSH2 0x2c4e 00003075: JUMP 00003076: JUMPDEST 00003077: SWAP6 00003078: POP 00003079: PUSH1 0x20 0000307b: DUP8 0000307c: ADD 0000307d: CALLDATALOAD 0000307e: PUSH2 0x3086 00003081: DUP2 00003082: PUSH2 0x2c4e 00003085: JUMP 00003086: JUMPDEST 00003087: SWAP5 00003088: POP 00003089: PUSH1 0x40 0000308b: DUP8 0000308c: ADD 0000308d: CALLDATALOAD 0000308e: PUSH2 0x3096 00003091: DUP2 00003092: PUSH2 0x2c4e 00003095: JUMP 00003096: JUMPDEST 00003097: SWAP4 00003098: POP 00003099: PUSH1 0x60 0000309b: DUP8 0000309c: ADD 0000309d: CALLDATALOAD 0000309e: PUSH2 0x30a6 000030a1: DUP2 000030a2: PUSH2 0x2c4e 000030a5: JUMP 000030a6: JUMPDEST 000030a7: SWAP3 000030a8: POP 000030a9: PUSH1 0x80 000030ab: DUP8 000030ac: ADD 000030ad: CALLDATALOAD 000030ae: PUSH2 0x30b6 000030b1: DUP2 000030b2: PUSH2 0x2c4e 000030b5: JUMP 000030b6: JUMPDEST 000030b7: SWAP2 000030b8: POP 000030b9: PUSH1 0xa0 000030bb: DUP8 000030bc: ADD 000030bd: CALLDATALOAD 000030be: PUSH2 0x30c6 000030c1: DUP2 000030c2: PUSH2 0x2c4e 000030c5: JUMP 000030c6: JUMPDEST 000030c7: DUP1 000030c8: SWAP2 000030c9: POP 000030ca: POP 000030cb: SWAP3 000030cc: SWAP6 000030cd: POP 000030ce: SWAP3 000030cf: SWAP6 000030d0: POP 000030d1: SWAP3 000030d2: SWAP6 000030d3: JUMP 000030d4: JUMPDEST 000030d5: PUSH1 0x00 000030d7: PUSH1 0x20 000030d9: DUP3 000030da: DUP5 000030db: SUB 000030dc: SLT 000030dd: ISZERO 000030de: PUSH2 0x30e6 000030e1: JUMPI 000030e2: PUSH1 0x00 000030e4: DUP1 000030e5: REVERT 000030e6: JUMPDEST 000030e7: DUP2 000030e8: MLOAD 000030e9: PUSH2 0x1a54 000030ec: DUP2 000030ed: PUSH2 0x2c4e 000030f0: JUMP 000030f1: JUMPDEST 000030f2: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003113: PUSH1 0x00 00003115: MSTORE 00003116: PUSH1 0x11 00003118: PUSH1 0x04 0000311a: MSTORE 0000311b: PUSH1 0x24 0000311d: PUSH1 0x00 0000311f: REVERT 00003120: JUMPDEST 00003121: PUSH1 0x00 00003123: DUP3 00003124: DUP3 00003125: LT 00003126: ISZERO 00003127: PUSH2 0x3132 0000312a: JUMPI 0000312b: PUSH2 0x3132 0000312e: PUSH2 0x30f1 00003131: JUMP 00003132: JUMPDEST 00003133: POP 00003134: SUB 00003135: SWAP1 00003136: JUMP 00003137: JUMPDEST 00003138: PUSH1 0x00 0000313a: PUSH1 0x20 0000313c: DUP3 0000313d: DUP5 0000313e: SUB 0000313f: SLT 00003140: ISZERO 00003141: PUSH2 0x3149 00003144: JUMPI 00003145: PUSH1 0x00 00003147: DUP1 00003148: REVERT 00003149: JUMPDEST 0000314a: DUP2 0000314b: MLOAD 0000314c: DUP1 0000314d: ISZERO 0000314e: ISZERO 0000314f: DUP2 00003150: EQ 00003151: PUSH2 0x1a54 00003154: JUMPI 00003155: PUSH1 0x00 00003157: DUP1 00003158: REVERT 00003159: JUMPDEST 0000315a: PUSH1 0x00 0000315c: PUSH1 0x20 0000315e: DUP3 0000315f: DUP5 00003160: SUB 00003161: SLT 00003162: ISZERO 00003163: PUSH2 0x316b 00003166: JUMPI 00003167: PUSH1 0x00 00003169: DUP1 0000316a: REVERT 0000316b: JUMPDEST 0000316c: POP 0000316d: MLOAD 0000316e: SWAP2 0000316f: SWAP1 00003170: POP 00003171: JUMP 00003172: JUMPDEST 00003173: PUSH1 0x00 00003175: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000318a: DUP1 0000318b: DUP8 0000318c: AND 0000318d: DUP4 0000318e: MSTORE 0000318f: DUP1 00003190: DUP7 00003191: AND 00003192: PUSH1 0x20 00003194: DUP5 00003195: ADD 00003196: MSTORE 00003197: POP 00003198: DUP4 00003199: PUSH1 0x40 0000319b: DUP4 0000319c: ADD 0000319d: MSTORE 0000319e: PUSH1 0x80 000031a0: PUSH1 0x60 000031a2: DUP4 000031a3: ADD 000031a4: MSTORE 000031a5: PUSH2 0x31b1 000031a8: PUSH1 0x80 000031aa: DUP4 000031ab: ADD 000031ac: DUP5 000031ad: PUSH2 0x2ed6 000031b0: JUMP 000031b1: JUMPDEST 000031b2: SWAP7 000031b3: SWAP6 000031b4: POP 000031b5: POP 000031b6: POP 000031b7: POP 000031b8: POP 000031b9: POP 000031ba: JUMP 000031bb: JUMPDEST 000031bc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000031d1: DUP5 000031d2: AND 000031d3: DUP2 000031d4: MSTORE 000031d5: PUSH1 0x60 000031d7: PUSH1 0x20 000031d9: DUP3 000031da: ADD 000031db: MSTORE 000031dc: PUSH1 0x00 000031de: PUSH2 0x31ea 000031e1: PUSH1 0x60 000031e3: DUP4 000031e4: ADD 000031e5: DUP6 000031e6: PUSH2 0x2ed6 000031e9: JUMP 000031ea: JUMPDEST 000031eb: SWAP1 000031ec: POP 000031ed: PUSH4 0xffffffff 000031f2: DUP4 000031f3: AND 000031f4: PUSH1 0x40 000031f6: DUP4 000031f7: ADD 000031f8: MSTORE 000031f9: SWAP5 000031fa: SWAP4 000031fb: POP 000031fc: POP 000031fd: POP 000031fe: POP 000031ff: JUMP 00003200: JUMPDEST 00003201: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003216: DUP5 00003217: AND 00003218: DUP2 00003219: MSTORE 0000321a: DUP3 0000321b: PUSH1 0x20 0000321d: DUP3 0000321e: ADD 0000321f: MSTORE 00003220: PUSH1 0x60 00003222: PUSH1 0x40 00003224: DUP3 00003225: ADD 00003226: MSTORE 00003227: PUSH1 0x00 00003229: PUSH2 0x3235 0000322c: PUSH1 0x60 0000322e: DUP4 0000322f: ADD 00003230: DUP5 00003231: PUSH2 0x2ed6 00003234: JUMP 00003235: JUMPDEST 00003236: SWAP6 00003237: SWAP5 00003238: POP 00003239: POP 0000323a: POP 0000323b: POP 0000323c: POP 0000323d: JUMP 0000323e: JUMPDEST 0000323f: DUP3 00003240: DUP2 00003241: MSTORE 00003242: PUSH1 0x40 00003244: PUSH1 0x20 00003246: DUP3 00003247: ADD 00003248: MSTORE 00003249: PUSH1 0x00 0000324b: PUSH2 0x1a51 0000324e: PUSH1 0x40 00003250: DUP4 00003251: ADD 00003252: DUP5 00003253: PUSH2 0x2ed6 00003256: JUMP 00003257: JUMPDEST 00003258: PUSH1 0x00 0000325a: DUP1 0000325b: PUSH1 0x40 0000325d: DUP4 0000325e: DUP6 0000325f: SUB 00003260: SLT 00003261: ISZERO 00003262: PUSH2 0x326a 00003265: JUMPI 00003266: PUSH1 0x00 00003268: DUP1 00003269: REVERT 0000326a: JUMPDEST 0000326b: DUP3 0000326c: MLOAD 0000326d: PUSH2 0x3275 00003270: DUP2 00003271: PUSH2 0x2c4e 00003274: JUMP 00003275: JUMPDEST 00003276: PUSH1 0x20 00003278: DUP5 00003279: ADD 0000327a: MLOAD 0000327b: SWAP1 0000327c: SWAP3 0000327d: POP 0000327e: PUSH1 0xff 00003280: DUP2 00003281: AND 00003282: DUP2 00003283: EQ 00003284: PUSH2 0x2fe4 00003287: JUMPI 00003288: PUSH1 0x00 0000328a: DUP1 0000328b: REVERT 0000328c: JUMPDEST 0000328d: PUSH1 0x00 0000328f: DUP3 00003290: NOT 00003291: DUP3 00003292: GT 00003293: ISZERO 00003294: PUSH2 0x329f 00003297: JUMPI 00003298: PUSH2 0x329f 0000329b: PUSH2 0x30f1 0000329e: JUMP 0000329f: JUMPDEST 000032a0: POP 000032a1: ADD 000032a2: SWAP1 000032a3: JUMP 000032a4: JUMPDEST 000032a5: PUSH1 0x00 000032a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000032bc: DUP1 000032bd: DUP10 000032be: AND 000032bf: DUP4 000032c0: MSTORE 000032c1: DUP1 000032c2: DUP9 000032c3: AND 000032c4: PUSH1 0x20 000032c6: DUP5 000032c7: ADD 000032c8: MSTORE 000032c9: DUP1 000032ca: DUP8 000032cb: AND 000032cc: PUSH1 0x40 000032ce: DUP5 000032cf: ADD 000032d0: MSTORE 000032d1: DUP1 000032d2: DUP7 000032d3: AND 000032d4: PUSH1 0x60 000032d6: DUP5 000032d7: ADD 000032d8: MSTORE 000032d9: POP 000032da: DUP4 000032db: PUSH1 0x80 000032dd: DUP4 000032de: ADD 000032df: MSTORE 000032e0: PUSH1 0xc0 000032e2: PUSH1 0xa0 000032e4: DUP4 000032e5: ADD 000032e6: MSTORE 000032e7: PUSH2 0x32f3 000032ea: PUSH1 0xc0 000032ec: DUP4 000032ed: ADD 000032ee: DUP5 000032ef: PUSH2 0x2ed6 000032f2: JUMP 000032f3: JUMPDEST 000032f4: SWAP9 000032f5: SWAP8 000032f6: POP 000032f7: POP 000032f8: POP 000032f9: POP 000032fa: POP 000032fb: POP 000032fc: POP 000032fd: POP 000032fe: JUMP 000032ff: JUMPDEST 00003300: PUSH1 0x00 00003302: DUP3 00003303: MLOAD 00003304: PUSH2 0x3311 00003307: DUP2 00003308: DUP5 00003309: PUSH1 0x20 0000330b: DUP8 0000330c: ADD 0000330d: PUSH2 0x2eaa 00003310: JUMP 00003311: JUMPDEST 00003312: SWAP2 00003313: SWAP1 00003314: SWAP2 00003315: ADD 00003316: SWAP3 00003317: SWAP2 00003318: POP 00003319: POP 0000331a: JUMP 0000331b: INVALID 0000331c: LOG1 0000331d: PUSH5 0x736f6c6343 00003323: STOP 00003324: ADDMOD 00003325: UNKNOWN(0x0F) 00003326: STOP 00003327: EXP
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| 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": "0xc89701a2",
"selector": "0xc89701a2",
"calldata_variants": [
"0xc89701a2",
"0xc89701a20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc2a9a5b",
"selector": "0xcc2a9a5b",
"calldata_variants": [
"0xcc2a9a5b",
"0xcc2a9a5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe11013dd",
"selector": "0xe11013dd",
"calldata_variants": [
"0xe11013dd",
"0xe11013dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9a2ac6d5",
"selector": "0x9a2ac6d5",
"calldata_variants": [
"0x9a2ac6d5",
"0x9a2ac6d50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9f9e675",
"selector": "0xa9f9e675",
"calldata_variants": [
"0xa9f9e675",
"0xa9f9e6750000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb1a1a882",
"selector": "0xb1a1a882",
"calldata_variants": [
"0xb1a1a882",
"0xb1a1a8820000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8f601f66",
"selector": "0x8f601f66",
"calldata_variants": [
"0x8f601f66",
"0x8f601f660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x91c49bf8",
"selector": "0x91c49bf8",
"calldata_variants": [
"0x91c49bf8",
"0x91c49bf80000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 1425,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x588239cdbfeeff2051bda8058821c1f64600d68c37e62c28ab7460b49e93d20c
call_targets:
0xe89fbfb78920423ac9e7f06acb2163ce55bab89f
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x588239cdbfeeff2051bda8058821c1f64600d68c37e62c28ab7460b49e93d20c",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xe89fbfb78920423ac9e7f06acb2163ce55bab89f"
],
"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": "0xc89701a2",
"selector": "0xc89701a2",
"calldata_variants": [
"0xc89701a2",
"0xc89701a20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc2a9a5b",
"selector": "0xcc2a9a5b",
"calldata_variants": [
"0xcc2a9a5b",
"0xcc2a9a5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe11013dd",
"selector": "0xe11013dd",
"calldata_variants": [
"0xe11013dd",
"0xe11013dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9a2ac6d5",
"selector": "0x9a2ac6d5",
"calldata_variants": [
"0x9a2ac6d5",
"0x9a2ac6d50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9f9e675",
"selector": "0xa9f9e675",
"calldata_variants": [
"0xa9f9e675",
"0xa9f9e6750000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb1a1a882",
"selector": "0xb1a1a882",
"calldata_variants": [
"0xb1a1a882",
"0xb1a1a8820000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8f601f66",
"selector": "0x8f601f66",
"calldata_variants": [
"0x8f601f66",
"0x8f601f660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x91c49bf8",
"selector": "0x91c49bf8",
"calldata_variants": [
"0x91c49bf8",
"0x91c49bf80000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2319,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7325,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 8075,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 6,
"guards_detected": [
{
"pc": 1425,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x588239cdbfeeff2051bda8058821c1f64600d68c37e62c28ab7460b49e93d20c
call_targets:
0xe89fbfb78920423ac9e7f06acb2163ce55bab89f
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x588239cdbfeeff2051bda8058821c1f64600d68c37e62c28ab7460b49e93d20c",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xe89fbfb78920423ac9e7f06acb2163ce55bab89f"
],
"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": "0xc89701a2",
"selector": "0xc89701a2",
"calldata_variants": [
"0xc89701a2",
"0xc89701a20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xcc2a9a5b",
"selector": "0xcc2a9a5b",
"calldata_variants": [
"0xcc2a9a5b",
"0xcc2a9a5b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe11013dd",
"selector": "0xe11013dd",
"calldata_variants": [
"0xe11013dd",
"0xe11013dd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x9a2ac6d5",
"selector": "0x9a2ac6d5",
"calldata_variants": [
"0x9a2ac6d5",
"0x9a2ac6d50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa9f9e675",
"selector": "0xa9f9e675",
"calldata_variants": [
"0xa9f9e675",
"0xa9f9e6750000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb1a1a882",
"selector": "0xb1a1a882",
"calldata_variants": [
"0xb1a1a882",
"0xb1a1a8820000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8f601f66",
"selector": "0x8f601f66",
"calldata_variants": [
"0x8f601f66",
"0x8f601f660000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x91c49bf8",
"selector": "0x91c49bf8",
"calldata_variants": [
"0x91c49bf8",
"0x91c49bf80000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2319,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7325,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 8075,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 6,
"guards_detected": [
{
"pc": 1425,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 6
}
|
| 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": 9
}
|
| 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": 14
}
|