2d99dc72-3bcb-485a-83e3-942ec19e9eec
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 |
|---|---|---|---|---|
| 30484 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 103763 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 103764 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 103765 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 103766 | capability.graph | complete | 1 / 3 | 1 week ago |
| 103767 | detector.run | complete | 1 / 3 | 1 week ago |
| 103768 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:643895] OpenAI Codex v0.77.0 (research preview)
[codex:643895] --------
[codex:643895] workdir: /tmp/codex-multi-tbxlorfs
[codex:643895] model: gpt-5.2-codex
[codex:643895] provider: openai
[codex:643895] approval: never
[codex:643895] sandbox: read-only
[codex:643895] reasoning effort: xhigh
[codex:643895] reasoning summaries: auto
[codex:643895] session id: 019b6a2e-2f6c-7b21-9ecd-db54f3480b65
[codex:643895] --------
[codex:643895] user
[codex:643895] You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
[codex:643895] Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
[codex:643895] accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
[codex:643895]
[codex:643895] Scope rules:
[codex:643895] - You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party `contracts/**/*.sol` files.
[codex:643895] - Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
[codex:643895]
[codex:643895] Output MUST be valid JSON matching the provided schema.
[codex:643895] - If you find nothing meaningful: set no_findings=true and findings=[].
[codex:643895] - Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
[codex:643895]
[codex:643895] Output constraints (IMPORTANT):
[codex:643895] - severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
[codex:643895] - category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
[codex:643895] mcp startup: no servers
[codex:643895]
[codex:643895] thinking
[codex:643895] **Preparing to read AGENTS skills and audit bundle**
[codex:643895] exec
[codex:643895] /bin/bash -lc ls in /tmp/codex-multi-tbxlorfs succeeded in 5ms:
[codex:643895] AUDIT_BUNDLE.txt
[codex:643895] codex-output-schema.json
[codex:643895] contracts
[codex:643895]
[codex:643895] thinking
[codex:643895] **Reading AUDIT_BUNDLE file**
[codex:643895] exec
[codex:643895] /bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-multi-tbxlorfs succeeded in 5ms:
[codex:643895] This file concatenates the full contents of first-party Solidity sources for auditing.
[codex:643895]
[codex:643895] ================================================================================
[codex:643895] FILE: contracts/@openzeppelin/contracts/access/Ownable.sol
[codex:643895] ================================================================================
[codex:643895] // SPDX-License-Identifier: MIT
[codex:643895] // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)
[codex:643895]
[codex:643895] pragma solidity ^0.8.0;
[codex:643895]
[codex:643895] import "../utils/Context.sol";
[codex:643895]
[codex:643895] /**
[codex:643895] * @dev Contract module which provides a basic access control mechanism, where
[codex:643895] * there is an account (an owner) that can be granted exclusive access to
[codex:643895] * specific functions.
[codex:643895] *
[codex:643895] * By default, the owner account will be the one that deploys the contract. This
[codex:643895] * can later be changed with {transferOwnership}.
[codex:643895] *
[codex:643895]
[codex:643895]
[codex:643895]
[codex:643895] thinking
[codex:643895] **Analyzing contract security and logic**
[codex:643895] thinking
[codex:643895] **Exploring signature handling and reward logic complexities**
[codex:643895]
[codex:643895] I’m examining subtle issues around signature replay across contracts due to missing domain separation and the implications of reward calculations involving share counts and token transfers. There’s also an interesting interplay between potential denial-of-service from zero shares and careful handling of token withdrawals and harvests. I’m curious about the effects of reward token flash loans and how the code handles external libraries like Address without explicit imports.
[codex:643895] thinking
[codex:643895] **Evaluating import scope and signature verification details**
[codex:643895]
[codex:643895] I’m clarifying that indirect imports bring the Address library into scope, so its usage is valid in the contract. I’m also wrapping up analysis of signature verification, focusing on missing domain separation and lack of typed message prefixes that enable signature replay across contracts or chains, which presents a medium severity access control issue. Additionally, I’m considering the practical impact of some minor view-function reverts and contract phase transitions to finalize findings.
[codex:643895] exec
[codex:643895] /bin/bash -lc 'rg --files' in /tmp/codex-multi-tbxlorfs succeeded in 9ms:
[codex:643895] codex-output-schema.json
[codex:643895] AUDIT_BUNDLE.txt
[codex:643895] contracts/contracts/Presale.sol
[codex:643895] contracts/contracts/ITokenStaked.sol
[codex:643895] contracts/@openzeppelin/contracts/security/ReentrancyGuard.sol
[codex:643895] contracts/@openzeppelin/contracts/access/Ownable.sol
[codex:643895] contracts/@openzeppelin/contracts/utils/Strings.sol
[codex:643895] contracts/@openzeppelin/contracts/token/ERC20/IERC20.sol
[codex:643895] contracts/@openzeppelin/contracts/utils/Context.sol
[codex:643895] contracts/@openzeppelin/contracts/utils/Address.sol
[codex:643895] contracts/@openzeppelin/contracts/utils/cryptography/ECDSA.sol
[codex:643895] contracts/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol
[codex:643895]
[codex:643895] thinking
[codex:643895] **Opening Presale.sol for review**
[codex:643895] exec
[codex:643895] /bin/bash -lc 'nl -ba contracts/contracts/Presale.sol' in /tmp/codex-multi-tbxlorfs succeeded in 7ms:
[codex:643895] 1 // SPDX-License-Identifier: MIT
[codex:643895] 2
[codex:643895] 3 pragma solidity ^0.8.0;
[codex:643895] 4 pragma abicoder v2;
[codex:643895] 5
[codex:643895] 6 import '@openzeppelin/contracts/access/Ownable.sol';
[codex:643895] 7 import '@openzeppelin/contracts/security/ReentrancyGuard.sol';
[codex:643895] 8 import '@openzeppelin/contracts/utils/cryptography/ECDSA.sol';
[codex:643895] 9 import '@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol';
[codex:643895] 10 import './ITokenStaked.sol';
[codex:643895] 11
[codex:643895] 12 contract Presale is Ownable, ReentrancyGuard, ITokenStaked {
[codex:643895] 13 using SafeERC20 for IERC20;
[codex:643895] 14
[codex:643895] 15 enum SalePhase {
[codex:643895] 16 Sale,
[codex:643895] 17 SaleOver,
[codex:643895] 18 Staking
[codex:643895] 19 }
[codex:643895] 20
[codex:643895]
[codex:643895] thinking
[codex:643895] **Verifying JSON schema compliance**
[codex:643895] exec
[codex:643895] /bin/bash -lc 'cat codex-output-schema.json' in /tmp/codex-multi-tbxlorfs succeeded in 5ms:
[codex:643895] {"type": "object", "additionalProperties": false, "required": ["no_findings", "summary", "findings"], "properties": {"no_findings": {"type": "boolean"}, "summary": {"type": "string"}, "findings": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["severity", "category", "title", "evidence", "locations", "exploit_scenario", "recommendation"], "properties": {"severity": {"type": "string", "enum": ["info", "low", "medium", "high", "critical"]}, "category": {"type": "string", "enum": ["access_control", "reentrancy", "math", "oracle", "upgradeability", "auth", "other"]}, "title": {"type": "string"}, "exploit_scenario": {"type": "string"}, "recommendation": {"type": "string"}, "evidence": {"type": "string"}, "locations": {"type": "array", "items": {"type": "string"}}}}}}}
[codex:643895]
[codex:643895] thinking
[codex:643895] **Preparing JSON vulnerability report**
[codex:643895] codex
[codex:643895] {"no_findings":false,"summary":"Found 1 medium-severity auth issue related to replayable allowlist signatures.","findings":[{"severity":"medium","category":"auth","title":"Allowlist signatures lack domain separation, enabling replay across deployments/chains","exploit_scenario":"A user obtains a whitelist signature for their address from another deployment (e.g., testnet, previous sale, or cloned contract) that uses the same signer keys and message format. Because the signed message only hashes the address, the user can reuse that signature here to pass `deposit` and bypass the intended per-sale whitelist boundary.","recommendation":"Bind the signed message to this contract and chain by including `address(this)`, `block.chainid`, and a sale-specific nonce or identifier, and verify using EIP-712 typed data (or at least `toEthSignedMessageHash`). Consider tracking used signatures if you allow multiple deposits per address in future versions.","evidence":"`deposit` recovers the signer from `keccak256(abi.encode(msg.sender))` and checks it against `signers` without including contract address, chain id, or a nonce.","locations":["contracts/contracts/Presale.sol:114","contracts/contracts/Presale.sol:124","contracts/contracts/Presale.sol:125"]}]}
[codex:643895] tokens used
[codex:643895] 33,606
[codex:643895] {"no_findings":false,"summary":"Found 1 medium-severity auth issue related to replayable allowlist signatures.","findings":[{"severity":"medium","category":"auth","title":"Allowlist signatures lack domain separation, enabling replay across deployments/chains","exploit_scenario":"A user obtains a whitelist signature for their address from another deployment (e.g., testnet, previous sale, or cloned contract) that uses the same signer keys and message format. Because the signed message only hashes the address, the user can reuse that signature here to pass `deposit` and bypass the intended per-sale whitelist boundary.","recommendation":"Bind the signed message to this contract and chain by including `address(this)`, `block.chainid`, and a sale-specific nonce or identifier, and verify using EIP-712 typed data (or at least `toEthSignedMessageHash`). Consider tracking used signatures if you allow multiple deposits per address in future versions.","evidence":"`deposit` recovers the signer from `keccak256(abi.encode(msg.sender))` and checks it against `signers` without including contract address, chain id, or a nonce.","locations":["contracts/contracts/Presale.sol:114","contracts/contracts/Presale.sol:124","contracts/contracts/Presale.sol:125"]}]}
{
"codex": {
"ran_at": "2025-12-29T12:59:42.420062+00:00",
"returncode": 0
},
"summary": "Found 1 medium-severity auth issue related to replayable allowlist signatures.",
"raw_final": {
"summary": "Found 1 medium-severity auth issue related to replayable allowlist signatures.",
"findings": [
{
"title": "Allowlist signatures lack domain separation, enabling replay across deployments/chains",
"category": "auth",
"evidence": "`deposit` recovers the signer from `keccak256(abi.encode(msg.sender))` and checks it against `signers` without including contract address, chain id, or a nonce.",
"severity": "medium",
"locations": [
"contracts/contracts/Presale.sol:114",
"contracts/contracts/Presale.sol:124",
"contracts/contracts/Presale.sol:125"
],
"recommendation": "Bind the signed message to this contract and chain by including `address(this)`, `block.chainid`, and a sale-specific nonce or identifier, and verify using EIP-712 typed data (or at least `toEthSignedMessageHash`). Consider tracking used signatures if you allow multiple deposits per address in future versions.",
"exploit_scenario": "A user obtains a whitelist signature for their address from another deployment (e.g., testnet, previous sale, or cloned contract) that uses the same signer keys and message format. Because the signed message only hashes the address, the user can reuse that signature here to pass `deposit` and bypass the intended per-sale whitelist boundary."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x01ae 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x7267994e 00000019: GT 0000001a: PUSH2 0x00ed 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xce9d16fe 00000024: GT 00000025: PUSH2 0x0090 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xce9d16fe 0000002f: EQ 00000030: PUSH2 0x0532 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xdb2e21bc 0000003a: EQ 0000003b: PUSH2 0x0552 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xdf1fb713 00000045: EQ 00000046: PUSH2 0x0567 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xebde5ee6 00000050: EQ 00000051: PUSH2 0x059b 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xec2fc051 0000005b: EQ 0000005c: PUSH2 0x05cf 0000005f: JUMPI 00000060: DUP1 00000061: PUSH4 0xf2fde38b 00000066: EQ 00000067: PUSH2 0x0603 0000006a: JUMPI 0000006b: DUP1 0000006c: PUSH4 0xf40f0f52 00000071: EQ 00000072: PUSH2 0x0623 00000075: JUMPI 00000076: DUP1 00000077: PUSH4 0xf7c618c1 0000007c: EQ 0000007d: PUSH2 0x0643 00000080: JUMPI 00000081: DUP1 00000082: PUSH4 0xfc976827 00000087: EQ 00000088: PUSH2 0x0677 0000008b: JUMPI 0000008c: PUSH1 0x00 0000008e: DUP1 0000008f: REVERT 00000090: JUMPDEST 00000091: DUP1 00000092: PUSH4 0x7267994e 00000097: EQ 00000098: PUSH2 0x03eb 0000009b: JUMPI 0000009c: DUP1 0000009d: PUSH4 0x736c0d5b 000000a2: EQ 000000a3: PUSH2 0x03fe 000000a6: JUMPI 000000a7: DUP1 000000a8: PUSH4 0x8337c3c0 000000ad: EQ 000000ae: PUSH2 0x043e 000000b1: JUMPI 000000b2: DUP1 000000b3: PUSH4 0x8da1a403 000000b8: EQ 000000b9: PUSH2 0x0454 000000bc: JUMPI 000000bd: DUP1 000000be: PUSH4 0x8da5cb5b 000000c3: EQ 000000c4: PUSH2 0x0488 000000c7: JUMPI 000000c8: DUP1 000000c9: PUSH4 0xb9bd4730 000000ce: EQ 000000cf: PUSH2 0x04aa 000000d2: JUMPI 000000d3: DUP1 000000d4: PUSH4 0xc031a66f 000000d9: EQ 000000da: PUSH2 0x04de 000000dd: JUMPI 000000de: DUP1 000000df: PUSH4 0xca90c8c6 000000e4: EQ 000000e5: PUSH2 0x04fe 000000e8: JUMPI 000000e9: PUSH1 0x00 000000eb: DUP1 000000ec: REVERT 000000ed: JUMPDEST 000000ee: DUP1 000000ef: PUSH4 0x350b2369 000000f4: GT 000000f5: PUSH2 0x0155 000000f8: JUMPI 000000f9: DUP1 000000fa: PUSH4 0x350b2369 000000ff: EQ 00000100: PUSH2 0x030d 00000103: JUMPI 00000104: DUP1 00000105: PUSH4 0x3ccfd60b 0000010a: EQ 0000010b: PUSH2 0x032d 0000010e: JUMPI 0000010f: DUP1 00000110: PUSH4 0x3e8ff57b 00000115: EQ 00000116: PUSH2 0x0342 00000119: JUMPI 0000011a: DUP1 0000011b: PUSH4 0x4641257d 00000120: EQ 00000121: PUSH2 0x0376 00000124: JUMPI 00000125: DUP1 00000126: PUSH4 0x63b20117 0000012b: EQ 0000012c: PUSH2 0x038b 0000012f: JUMPI 00000130: DUP1 00000131: PUSH4 0x65267139 00000136: EQ 00000137: PUSH2 0x03a1 0000013a: JUMPI 0000013b: DUP1 0000013c: PUSH4 0x6df5ee2b 00000141: EQ 00000142: PUSH2 0x03c1 00000145: JUMPI 00000146: DUP1 00000147: PUSH4 0x715018a6 0000014c: EQ 0000014d: PUSH2 0x03d6 00000150: JUMPI 00000151: PUSH1 0x00 00000153: DUP1 00000154: REVERT 00000155: JUMPDEST 00000156: DUP1 00000157: PUSH4 0x055ad42e 0000015c: EQ 0000015d: PUSH2 0x01b3 00000160: JUMPI 00000161: DUP1 00000162: PUSH4 0x0917e776 00000167: EQ 00000168: PUSH2 0x01e3 0000016b: JUMPI 0000016c: DUP1 0000016d: PUSH4 0x0a122c8a 00000172: EQ 00000173: PUSH2 0x0206 00000176: JUMPI 00000177: DUP1 00000178: PUSH4 0x194bf554 0000017d: EQ 0000017e: PUSH2 0x023a 00000181: JUMPI 00000182: DUP1 00000183: PUSH4 0x1959a002 00000188: EQ 00000189: PUSH2 0x0251 0000018c: JUMPI 0000018d: DUP1 0000018e: PUSH4 0x1c9b1736 00000193: EQ 00000194: PUSH2 0x02ad 00000197: JUMPI 00000198: DUP1 00000199: PUSH4 0x2ce9785f 0000019e: EQ 0000019f: PUSH2 0x02e1 000001a2: JUMPI 000001a3: DUP1 000001a4: PUSH4 0x30188ee8 000001a9: EQ 000001aa: PUSH2 0x02f7 000001ad: JUMPI 000001ae: JUMPDEST 000001af: PUSH1 0x00 000001b1: DUP1 000001b2: REVERT 000001b3: JUMPDEST 000001b4: CALLVALUE 000001b5: DUP1 000001b6: ISZERO 000001b7: PUSH2 0x01bf 000001ba: JUMPI 000001bb: PUSH1 0x00 000001bd: DUP1 000001be: REVERT 000001bf: JUMPDEST 000001c0: POP 000001c1: PUSH1 0x02 000001c3: SLOAD 000001c4: PUSH2 0x01cd 000001c7: SWAP1 000001c8: PUSH1 0xff 000001ca: AND 000001cb: DUP2 000001cc: JUMP 000001cd: JUMPDEST 000001ce: PUSH1 0x40 000001d0: MLOAD 000001d1: PUSH2 0x01da 000001d4: SWAP2 000001d5: SWAP1 000001d6: PUSH2 0x212d 000001d9: JUMP 000001da: JUMPDEST 000001db: PUSH1 0x40 000001dd: MLOAD 000001de: DUP1 000001df: SWAP2 000001e0: SUB 000001e1: SWAP1 000001e2: RETURN 000001e3: JUMPDEST 000001e4: CALLVALUE 000001e5: DUP1 000001e6: ISZERO 000001e7: PUSH2 0x01ef 000001ea: JUMPI 000001eb: PUSH1 0x00 000001ed: DUP1 000001ee: REVERT 000001ef: JUMPDEST 000001f0: POP 000001f1: PUSH2 0x01f8 000001f4: PUSH2 0x06ab 000001f7: JUMP 000001f8: JUMPDEST 000001f9: PUSH1 0x40 000001fb: MLOAD 000001fc: SWAP1 000001fd: DUP2 000001fe: MSTORE 000001ff: PUSH1 0x20 00000201: ADD 00000202: PUSH2 0x01da 00000205: JUMP 00000206: JUMPDEST 00000207: CALLVALUE 00000208: DUP1 00000209: ISZERO 0000020a: PUSH2 0x0212 0000020d: JUMPI 0000020e: PUSH1 0x00 00000210: DUP1 00000211: REVERT 00000212: JUMPDEST 00000213: POP 00000214: PUSH2 0x01f8 00000217: PUSH32 0x0000000000000000000000000000000000000000000000000000000000fc9508 00000238: DUP2 00000239: JUMP 0000023a: JUMPDEST 0000023b: CALLVALUE 0000023c: DUP1 0000023d: ISZERO 0000023e: PUSH2 0x0246 00000241: JUMPI 00000242: PUSH1 0x00 00000244: DUP1 00000245: REVERT 00000246: JUMPDEST 00000247: POP 00000248: PUSH2 0x024f 0000024b: PUSH2 0x070e 0000024e: JUMP 0000024f: JUMPDEST 00000250: STOP 00000251: JUMPDEST 00000252: CALLVALUE 00000253: DUP1 00000254: ISZERO 00000255: PUSH2 0x025d 00000258: JUMPI 00000259: PUSH1 0x00 0000025b: DUP1 0000025c: REVERT 0000025d: JUMPDEST 0000025e: POP 0000025f: PUSH2 0x0290 00000262: PUSH2 0x026c 00000265: CALLDATASIZE 00000266: PUSH1 0x04 00000268: PUSH2 0x2171 0000026b: JUMP 0000026c: JUMPDEST 0000026d: PUSH1 0x08 0000026f: PUSH1 0x20 00000271: MSTORE 00000272: PUSH1 0x00 00000274: SWAP1 00000275: DUP2 00000276: MSTORE 00000277: PUSH1 0x40 00000279: SWAP1 0000027a: KECCAK256 0000027b: DUP1 0000027c: SLOAD 0000027d: PUSH1 0x01 0000027f: DUP3 00000280: ADD 00000281: SLOAD 00000282: PUSH1 0x02 00000284: SWAP1 00000285: SWAP3 00000286: ADD 00000287: SLOAD 00000288: SWAP1 00000289: SWAP2 0000028a: SWAP1 0000028b: PUSH1 0xff 0000028d: AND 0000028e: DUP4 0000028f: JUMP 00000290: JUMPDEST 00000291: PUSH1 0x40 00000293: DUP1 00000294: MLOAD 00000295: SWAP4 00000296: DUP5 00000297: MSTORE 00000298: PUSH1 0x20 0000029a: DUP5 0000029b: ADD 0000029c: SWAP3 0000029d: SWAP1 0000029e: SWAP3 0000029f: MSTORE 000002a0: ISZERO 000002a1: ISZERO 000002a2: SWAP1 000002a3: DUP3 000002a4: ADD 000002a5: MSTORE 000002a6: PUSH1 0x60 000002a8: ADD 000002a9: PUSH2 0x01da 000002ac: JUMP 000002ad: JUMPDEST 000002ae: CALLVALUE 000002af: DUP1 000002b0: ISZERO 000002b1: PUSH2 0x02b9 000002b4: JUMPI 000002b5: PUSH1 0x00 000002b7: DUP1 000002b8: REVERT 000002b9: JUMPDEST 000002ba: POP 000002bb: PUSH2 0x01f8 000002be: PUSH32 0x000000000000000000000000000000000000000000000000000000000023b4a0 000002df: DUP2 000002e0: JUMP 000002e1: JUMPDEST 000002e2: CALLVALUE 000002e3: DUP1 000002e4: ISZERO 000002e5: PUSH2 0x02ed 000002e8: JUMPI 000002e9: PUSH1 0x00 000002eb: DUP1 000002ec: REVERT 000002ed: JUMPDEST 000002ee: POP 000002ef: PUSH2 0x01f8 000002f2: PUSH1 0x06 000002f4: SLOAD 000002f5: DUP2 000002f6: JUMP 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: PUSH2 0x01f8 00000308: PUSH1 0x05 0000030a: SLOAD 0000030b: DUP2 0000030c: JUMP 0000030d: JUMPDEST 0000030e: CALLVALUE 0000030f: DUP1 00000310: ISZERO 00000311: PUSH2 0x0319 00000314: JUMPI 00000315: PUSH1 0x00 00000317: DUP1 00000318: REVERT 00000319: JUMPDEST 0000031a: POP 0000031b: PUSH2 0x024f 0000031e: PUSH2 0x0328 00000321: CALLDATASIZE 00000322: PUSH1 0x04 00000324: PUSH2 0x2239 00000327: JUMP 00000328: JUMPDEST 00000329: PUSH2 0x081c 0000032c: JUMP 0000032d: JUMPDEST 0000032e: CALLVALUE 0000032f: DUP1 00000330: ISZERO 00000331: PUSH2 0x0339 00000334: JUMPI 00000335: PUSH1 0x00 00000337: DUP1 00000338: REVERT 00000339: JUMPDEST 0000033a: POP 0000033b: PUSH2 0x024f 0000033e: PUSH2 0x0a04 00000341: JUMP 00000342: JUMPDEST 00000343: CALLVALUE 00000344: DUP1 00000345: ISZERO 00000346: PUSH2 0x034e 00000349: JUMPI 0000034a: PUSH1 0x00 0000034c: DUP1 0000034d: REVERT 0000034e: JUMPDEST 0000034f: POP 00000350: PUSH2 0x01f8 00000353: PUSH32 0x00000000000000000000000000000000000000000000000000000000000003e8 00000374: DUP2 00000375: JUMP 00000376: JUMPDEST 00000377: CALLVALUE 00000378: DUP1 00000379: ISZERO 0000037a: PUSH2 0x0382 0000037d: JUMPI 0000037e: PUSH1 0x00 00000380: DUP1 00000381: REVERT 00000382: JUMPDEST 00000383: POP 00000384: PUSH2 0x024f 00000387: PUSH2 0x0b5f 0000038a: JUMP 0000038b: JUMPDEST 0000038c: CALLVALUE 0000038d: DUP1 0000038e: ISZERO 0000038f: PUSH2 0x0397 00000392: JUMPI 00000393: PUSH1 0x00 00000395: DUP1 00000396: REVERT 00000397: JUMPDEST 00000398: POP 00000399: PUSH2 0x01f8 0000039c: PUSH1 0x04 0000039e: SLOAD 0000039f: DUP2 000003a0: JUMP 000003a1: JUMPDEST 000003a2: CALLVALUE 000003a3: DUP1 000003a4: ISZERO 000003a5: PUSH2 0x03ad 000003a8: JUMPI 000003a9: PUSH1 0x00 000003ab: DUP1 000003ac: REVERT 000003ad: JUMPDEST 000003ae: POP 000003af: PUSH2 0x024f 000003b2: PUSH2 0x03bc 000003b5: CALLDATASIZE 000003b6: PUSH1 0x04 000003b8: PUSH2 0x229d 000003bb: JUMP 000003bc: JUMPDEST 000003bd: PUSH2 0x0cab 000003c0: JUMP 000003c1: JUMPDEST 000003c2: CALLVALUE 000003c3: DUP1 000003c4: ISZERO 000003c5: PUSH2 0x03cd 000003c8: JUMPI 000003c9: PUSH1 0x00 000003cb: DUP1 000003cc: REVERT 000003cd: JUMPDEST 000003ce: POP 000003cf: PUSH2 0x024f 000003d2: PUSH2 0x0e70 000003d5: JUMP 000003d6: JUMPDEST 000003d7: CALLVALUE 000003d8: DUP1 000003d9: ISZERO 000003da: PUSH2 0x03e2 000003dd: JUMPI 000003de: PUSH1 0x00 000003e0: DUP1 000003e1: REVERT 000003e2: JUMPDEST 000003e3: POP 000003e4: PUSH2 0x024f 000003e7: PUSH2 0x1085 000003ea: JUMP 000003eb: JUMPDEST 000003ec: PUSH2 0x024f 000003ef: PUSH2 0x03f9 000003f2: CALLDATASIZE 000003f3: PUSH1 0x04 000003f5: PUSH2 0x22b6 000003f8: JUMP 000003f9: JUMPDEST 000003fa: PUSH2 0x10c0 000003fd: JUMP 000003fe: JUMPDEST 000003ff: CALLVALUE 00000400: DUP1 00000401: ISZERO 00000402: PUSH2 0x040a 00000405: JUMPI 00000406: PUSH1 0x00 00000408: DUP1 00000409: REVERT 0000040a: JUMPDEST 0000040b: POP 0000040c: PUSH2 0x042e 0000040f: PUSH2 0x0419 00000412: CALLDATASIZE 00000413: PUSH1 0x04 00000415: PUSH2 0x2171 00000418: JUMP 00000419: JUMPDEST 0000041a: PUSH1 0x07 0000041c: PUSH1 0x20 0000041e: MSTORE 0000041f: PUSH1 0x00 00000421: SWAP1 00000422: DUP2 00000423: MSTORE 00000424: PUSH1 0x40 00000426: SWAP1 00000427: KECCAK256 00000428: SLOAD 00000429: PUSH1 0xff 0000042b: AND 0000042c: DUP2 0000042d: JUMP 0000042e: JUMPDEST 0000042f: PUSH1 0x40 00000431: MLOAD 00000432: SWAP1 00000433: ISZERO 00000434: ISZERO 00000435: DUP2 00000436: MSTORE 00000437: PUSH1 0x20 00000439: ADD 0000043a: PUSH2 0x01da 0000043d: JUMP 0000043e: JUMPDEST 0000043f: CALLVALUE 00000440: DUP1 00000441: ISZERO 00000442: PUSH2 0x044a 00000445: JUMPI 00000446: PUSH1 0x00 00000448: DUP1 00000449: REVERT 0000044a: JUMPDEST 0000044b: POP 0000044c: PUSH2 0x01f8 0000044f: PUSH1 0x03 00000451: SLOAD 00000452: DUP2 00000453: JUMP 00000454: JUMPDEST 00000455: CALLVALUE 00000456: DUP1 00000457: ISZERO 00000458: PUSH2 0x0460 0000045b: JUMPI 0000045c: PUSH1 0x00 0000045e: DUP1 0000045f: REVERT 00000460: JUMPDEST 00000461: POP 00000462: PUSH2 0x01f8 00000465: PUSH32 0x00000000000000000000000000000000000000000000005150ae84a8cdf00000 00000486: DUP2 00000487: JUMP 00000488: JUMPDEST 00000489: CALLVALUE 0000048a: DUP1 0000048b: ISZERO 0000048c: PUSH2 0x0494 0000048f: JUMPI 00000490: PUSH1 0x00 00000492: DUP1 00000493: REVERT 00000494: JUMPDEST 00000495: POP 00000496: PUSH2 0x049d 00000499: PUSH2 0x13c2 0000049c: JUMP 0000049d: JUMPDEST 0000049e: PUSH1 0x40 000004a0: MLOAD 000004a1: PUSH2 0x01da 000004a4: SWAP2 000004a5: SWAP1 000004a6: PUSH2 0x22f1 000004a9: JUMP 000004aa: JUMPDEST 000004ab: CALLVALUE 000004ac: DUP1 000004ad: ISZERO 000004ae: PUSH2 0x04b6 000004b1: JUMPI 000004b2: PUSH1 0x00 000004b4: DUP1 000004b5: REVERT 000004b6: JUMPDEST 000004b7: POP 000004b8: PUSH2 0x01f8 000004bb: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000 000004dc: DUP2 000004dd: JUMP 000004de: JUMPDEST 000004df: CALLVALUE 000004e0: DUP1 000004e1: ISZERO 000004e2: PUSH2 0x04ea 000004e5: JUMPI 000004e6: PUSH1 0x00 000004e8: DUP1 000004e9: REVERT 000004ea: JUMPDEST 000004eb: POP 000004ec: PUSH2 0x01f8 000004ef: PUSH2 0x04f9 000004f2: CALLDATASIZE 000004f3: PUSH1 0x04 000004f5: PUSH2 0x2171 000004f8: JUMP 000004f9: JUMPDEST 000004fa: PUSH2 0x13d1 000004fd: JUMP 000004fe: JUMPDEST 000004ff: CALLVALUE 00000500: DUP1 00000501: ISZERO 00000502: PUSH2 0x050a 00000505: JUMPI 00000506: PUSH1 0x00 00000508: DUP1 00000509: REVERT 0000050a: JUMPDEST 0000050b: POP 0000050c: PUSH2 0x01f8 0000050f: PUSH32 0x000000000000000000000000000000000000000000000000000000000002f9b8 00000530: DUP2 00000531: JUMP 00000532: JUMPDEST 00000533: CALLVALUE 00000534: DUP1 00000535: ISZERO 00000536: PUSH2 0x053e 00000539: JUMPI 0000053a: PUSH1 0x00 0000053c: DUP1 0000053d: REVERT 0000053e: JUMPDEST 0000053f: POP 00000540: PUSH2 0x01f8 00000543: PUSH2 0x054d 00000546: CALLDATASIZE 00000547: PUSH1 0x04 00000549: PUSH2 0x2305 0000054c: JUMP 0000054d: JUMPDEST 0000054e: PUSH2 0x13e2 00000551: JUMP 00000552: JUMPDEST 00000553: CALLVALUE 00000554: DUP1 00000555: ISZERO 00000556: PUSH2 0x055e 00000559: JUMPI 0000055a: PUSH1 0x00 0000055c: DUP1 0000055d: REVERT 0000055e: JUMPDEST 0000055f: POP 00000560: PUSH2 0x024f 00000563: PUSH2 0x1443 00000566: JUMP 00000567: JUMPDEST 00000568: CALLVALUE 00000569: DUP1 0000056a: ISZERO 0000056b: PUSH2 0x0573 0000056e: JUMPI 0000056f: PUSH1 0x00 00000571: DUP1 00000572: REVERT 00000573: JUMPDEST 00000574: POP 00000575: PUSH2 0x01f8 00000578: PUSH32 0x00000000000000000000000000000000000000000000000014d1120d7b160000 00000599: DUP2 0000059a: JUMP 0000059b: JUMPDEST 0000059c: CALLVALUE 0000059d: DUP1 0000059e: ISZERO 0000059f: PUSH2 0x05a7 000005a2: JUMPI 000005a3: PUSH1 0x00 000005a5: DUP1 000005a6: REVERT 000005a7: JUMPDEST 000005a8: POP 000005a9: PUSH2 0x049d 000005ac: PUSH32 0x0000000000000000000000001e4ede388cbc9f4b5c79681b7f94d36a11abebc9 000005cd: DUP2 000005ce: JUMP 000005cf: JUMPDEST 000005d0: CALLVALUE 000005d1: DUP1 000005d2: ISZERO 000005d3: PUSH2 0x05db 000005d6: JUMPI 000005d7: PUSH1 0x00 000005d9: DUP1 000005da: REVERT 000005db: JUMPDEST 000005dc: POP 000005dd: PUSH2 0x01f8 000005e0: PUSH32 0x0000000000000000000000000000000000000000000000000000000000d8e068 00000601: DUP2 00000602: JUMP 00000603: JUMPDEST 00000604: CALLVALUE 00000605: DUP1 00000606: ISZERO 00000607: PUSH2 0x060f 0000060a: JUMPI 0000060b: PUSH1 0x00 0000060d: DUP1 0000060e: REVERT 0000060f: JUMPDEST 00000610: POP 00000611: PUSH2 0x024f 00000614: PUSH2 0x061e 00000617: CALLDATASIZE 00000618: PUSH1 0x04 0000061a: PUSH2 0x2171 0000061d: JUMP 0000061e: JUMPDEST 0000061f: PUSH2 0x162b 00000622: JUMP 00000623: JUMPDEST 00000624: CALLVALUE 00000625: DUP1 00000626: ISZERO 00000627: PUSH2 0x062f 0000062a: JUMPI 0000062b: PUSH1 0x00 0000062d: DUP1 0000062e: REVERT 0000062f: JUMPDEST 00000630: POP 00000631: PUSH2 0x01f8 00000634: PUSH2 0x063e 00000637: CALLDATASIZE 00000638: PUSH1 0x04 0000063a: PUSH2 0x2171 0000063d: JUMP 0000063e: JUMPDEST 0000063f: PUSH2 0x16cb 00000642: JUMP 00000643: JUMPDEST 00000644: CALLVALUE 00000645: DUP1 00000646: ISZERO 00000647: PUSH2 0x064f 0000064a: JUMPI 0000064b: PUSH1 0x00 0000064d: DUP1 0000064e: REVERT 0000064f: JUMPDEST 00000650: POP 00000651: PUSH2 0x049d 00000654: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000675: DUP2 00000676: JUMP 00000677: JUMPDEST 00000678: CALLVALUE 00000679: DUP1 0000067a: ISZERO 0000067b: PUSH2 0x0683 0000067e: JUMPI 0000067f: PUSH1 0x00 00000681: DUP1 00000682: REVERT 00000683: JUMPDEST 00000684: POP 00000685: PUSH2 0x01f8 00000688: PUSH32 0x0000000000000000000000000000000000000000000c685fa11e01ec6f000000 000006a9: DUP2 000006aa: JUMP 000006ab: JUMPDEST 000006ac: PUSH1 0x00 000006ae: PUSH32 0x0000000000000000000000000000000000000000000000000000000000d8e068 000006cf: NUMBER 000006d0: LT 000006d1: ISZERO 000006d2: DUP1 000006d3: ISZERO 000006d4: PUSH2 0x06fc 000006d7: JUMPI 000006d8: POP 000006d9: PUSH32 0x0000000000000000000000000000000000000000000000000000000000fc9508 000006fa: NUMBER 000006fb: LT 000006fc: JUMPDEST 000006fd: ISZERO 000006fe: PUSH2 0x0708 00000701: JUMPI 00000702: POP 00000703: PUSH1 0x04 00000705: SLOAD 00000706: SWAP1 00000707: JUMP 00000708: JUMPDEST 00000709: POP 0000070a: PUSH1 0x00 0000070c: SWAP1 0000070d: JUMP 0000070e: JUMPDEST 0000070f: CALLER 00000710: PUSH2 0x0717 00000713: PUSH2 0x13c2 00000716: JUMP 00000717: JUMPDEST 00000718: PUSH1 0x01 0000071a: PUSH1 0x01 0000071c: PUSH1 0xa0 0000071e: SHL 0000071f: SUB 00000720: AND 00000721: EQ 00000722: PUSH2 0x0746 00000725: JUMPI 00000726: PUSH1 0x40 00000728: MLOAD 00000729: PUSH3 0x461bcd 0000072d: PUSH1 0xe5 0000072f: SHL 00000730: DUP2 00000731: MSTORE 00000732: PUSH1 0x04 00000734: ADD 00000735: PUSH2 0x073d 00000738: SWAP1 00000739: PUSH2 0x233a 0000073c: JUMP 0000073d: JUMPDEST 0000073e: PUSH1 0x40 00000740: MLOAD 00000741: DUP1 00000742: SWAP2 00000743: SUB 00000744: SWAP1 00000745: REVERT 00000746: JUMPDEST 00000747: PUSH1 0x02 00000749: PUSH1 0x01 0000074b: SLOAD 0000074c: EQ 0000074d: ISZERO 0000074e: PUSH2 0x0769 00000751: JUMPI 00000752: PUSH1 0x40 00000754: MLOAD 00000755: PUSH3 0x461bcd 00000759: PUSH1 0xe5 0000075b: SHL 0000075c: DUP2 0000075d: MSTORE 0000075e: PUSH1 0x04 00000760: ADD 00000761: PUSH2 0x073d 00000764: SWAP1 00000765: PUSH2 0x236f 00000768: JUMP 00000769: JUMPDEST 0000076a: PUSH1 0x02 0000076c: PUSH1 0x01 0000076e: SWAP1 0000076f: DUP2 00000770: SSTORE 00000771: PUSH1 0x02 00000773: DUP1 00000774: SLOAD 00000775: PUSH1 0xff 00000777: AND 00000778: SWAP1 00000779: DUP2 0000077a: GT 0000077b: ISZERO 0000077c: PUSH2 0x0787 0000077f: JUMPI 00000780: PUSH2 0x0787 00000783: PUSH2 0x2117 00000786: JUMP 00000787: JUMPDEST 00000788: EQ 00000789: PUSH2 0x07d4 0000078c: JUMPI 0000078d: PUSH1 0x40 0000078f: MLOAD 00000790: PUSH3 0x461bcd 00000794: PUSH1 0xe5 00000796: SHL 00000797: DUP2 00000798: MSTORE 00000799: PUSH1 0x20 0000079b: PUSH1 0x04 0000079d: DUP3 0000079e: ADD 0000079f: MSTORE 000007a0: PUSH1 0x1d 000007a2: PUSH1 0x24 000007a4: DUP3 000007a5: ADD 000007a6: MSTORE 000007a7: PUSH32 0x4f776e65723a205068617365206d7573742062652053616c654f766572000000 000007c8: PUSH1 0x44 000007ca: DUP3 000007cb: ADD 000007cc: MSTORE 000007cd: PUSH1 0x64 000007cf: ADD 000007d0: PUSH2 0x073d 000007d3: JUMP 000007d4: JUMPDEST 000007d5: PUSH1 0x02 000007d7: DUP1 000007d8: SLOAD 000007d9: PUSH1 0xff 000007db: NOT 000007dc: AND 000007dd: DUP2 000007de: OR 000007df: DUP2 000007e0: SSTORE 000007e1: PUSH1 0x40 000007e3: MLOAD 000007e4: PUSH32 0x31f72b44f546d9e7eaec13f65636997665e15f134a81c82924f568f5c0d07b93 00000805: SWAP2 00000806: PUSH2 0x080e 00000809: SWAP2 0000080a: PUSH2 0x212d 0000080d: JUMP 0000080e: JUMPDEST 0000080f: PUSH1 0x40 00000811: MLOAD 00000812: DUP1 00000813: SWAP2 00000814: SUB 00000815: SWAP1 00000816: LOG1 00000817: PUSH1 0x01 00000819: DUP1 0000081a: SSTORE 0000081b: JUMP 0000081c: JUMPDEST 0000081d: CALLER 0000081e: PUSH2 0x0825 00000821: PUSH2 0x13c2 00000824: JUMP 00000825: JUMPDEST 00000826: PUSH1 0x01 00000828: PUSH1 0x01 0000082a: PUSH1 0xa0 0000082c: SHL 0000082d: SUB 0000082e: AND 0000082f: EQ 00000830: PUSH2 0x084b 00000833: JUMPI 00000834: PUSH1 0x40 00000836: MLOAD 00000837: PUSH3 0x461bcd 0000083b: PUSH1 0xe5 0000083d: SHL 0000083e: DUP2 0000083f: MSTORE 00000840: PUSH1 0x04 00000842: ADD 00000843: PUSH2 0x073d 00000846: SWAP1 00000847: PUSH2 0x233a 0000084a: JUMP 0000084b: JUMPDEST 0000084c: PUSH1 0x00 0000084e: JUMPDEST 0000084f: DUP3 00000850: MLOAD 00000851: DUP2 00000852: LT 00000853: ISZERO 00000854: PUSH2 0x0929 00000857: JUMPI 00000858: PUSH1 0x01 0000085a: PUSH1 0x07 0000085c: PUSH1 0x00 0000085e: DUP6 0000085f: DUP5 00000860: DUP2 00000861: MLOAD 00000862: DUP2 00000863: LT 00000864: PUSH2 0x086f 00000867: JUMPI 00000868: PUSH2 0x086f 0000086b: PUSH2 0x23a6 0000086e: JUMP 0000086f: JUMPDEST 00000870: PUSH1 0x20 00000872: MUL 00000873: PUSH1 0x20 00000875: ADD 00000876: ADD 00000877: MLOAD 00000878: PUSH1 0x01 0000087a: PUSH1 0x01 0000087c: PUSH1 0xa0 0000087e: SHL 0000087f: SUB 00000880: AND 00000881: PUSH1 0x01 00000883: PUSH1 0x01 00000885: PUSH1 0xa0 00000887: SHL 00000888: SUB 00000889: AND 0000088a: DUP2 0000088b: MSTORE 0000088c: PUSH1 0x20 0000088e: ADD 0000088f: SWAP1 00000890: DUP2 00000891: MSTORE 00000892: PUSH1 0x20 00000894: ADD 00000895: PUSH1 0x00 00000897: KECCAK256 00000898: PUSH1 0x00 0000089a: PUSH2 0x0100 0000089d: EXP 0000089e: DUP2 0000089f: SLOAD 000008a0: DUP2 000008a1: PUSH1 0xff 000008a3: MUL 000008a4: NOT 000008a5: AND 000008a6: SWAP1 000008a7: DUP4 000008a8: ISZERO 000008a9: ISZERO 000008aa: MUL 000008ab: OR 000008ac: SWAP1 000008ad: SSTORE 000008ae: POP 000008af: PUSH32 0xc648f6265408cc54c0dc26d24ba51dfc9f35ce1a63baa2228f65d93aaf11cc67 000008d0: DUP4 000008d1: DUP3 000008d2: DUP2 000008d3: MLOAD 000008d4: DUP2 000008d5: LT 000008d6: PUSH2 0x08e1 000008d9: JUMPI 000008da: PUSH2 0x08e1 000008dd: PUSH2 0x23a6 000008e0: JUMP 000008e1: JUMPDEST 000008e2: PUSH1 0x20 000008e4: MUL 000008e5: PUSH1 0x20 000008e7: ADD 000008e8: ADD 000008e9: MLOAD 000008ea: PUSH1 0x00 000008ec: PUSH1 0x40 000008ee: MLOAD 000008ef: PUSH2 0x090f 000008f2: SWAP3 000008f3: SWAP2 000008f4: SWAP1 000008f5: PUSH1 0x01 000008f7: PUSH1 0x01 000008f9: PUSH1 0xa0 000008fb: SHL 000008fc: SUB 000008fd: SWAP3 000008fe: SWAP1 000008ff: SWAP3 00000900: AND 00000901: DUP3 00000902: MSTORE 00000903: ISZERO 00000904: ISZERO 00000905: PUSH1 0x20 00000907: DUP3 00000908: ADD 00000909: MSTORE 0000090a: PUSH1 0x40 0000090c: ADD 0000090d: SWAP1 0000090e: JUMP 0000090f: JUMPDEST 00000910: PUSH1 0x40 00000912: MLOAD 00000913: DUP1 00000914: SWAP2 00000915: SUB 00000916: SWAP1 00000917: LOG1 00000918: DUP1 00000919: PUSH2 0x0921 0000091c: DUP2 0000091d: PUSH2 0x23d2 00000920: JUMP 00000921: JUMPDEST 00000922: SWAP2 00000923: POP 00000924: POP 00000925: PUSH2 0x084e 00000928: JUMP 00000929: JUMPDEST 0000092a: POP 0000092b: PUSH1 0x00 0000092d: JUMPDEST 0000092e: DUP2 0000092f: MLOAD 00000930: DUP2 00000931: LT 00000932: ISZERO 00000933: PUSH2 0x09ff 00000936: JUMPI 00000937: PUSH1 0x07 00000939: PUSH1 0x00 0000093b: DUP4 0000093c: DUP4 0000093d: DUP2 0000093e: MLOAD 0000093f: DUP2 00000940: LT 00000941: PUSH2 0x094c 00000944: JUMPI 00000945: PUSH2 0x094c 00000948: PUSH2 0x23a6 0000094b: JUMP 0000094c: JUMPDEST 0000094d: PUSH1 0x20 0000094f: MUL 00000950: PUSH1 0x20 00000952: ADD 00000953: ADD 00000954: MLOAD 00000955: PUSH1 0x01 00000957: PUSH1 0x01 00000959: PUSH1 0xa0 0000095b: SHL 0000095c: SUB 0000095d: AND 0000095e: PUSH1 0x01 00000960: PUSH1 0x01 00000962: PUSH1 0xa0 00000964: SHL 00000965: SUB 00000966: AND 00000967: DUP2 00000968: MSTORE 00000969: PUSH1 0x20 0000096b: ADD 0000096c: SWAP1 0000096d: DUP2 0000096e: MSTORE 0000096f: PUSH1 0x20 00000971: ADD 00000972: PUSH1 0x00 00000974: KECCAK256 00000975: PUSH1 0x00 00000977: PUSH2 0x0100 0000097a: EXP 0000097b: DUP2 0000097c: SLOAD 0000097d: SWAP1 0000097e: PUSH1 0xff 00000980: MUL 00000981: NOT 00000982: AND 00000983: SWAP1 00000984: SSTORE 00000985: PUSH32 0xc648f6265408cc54c0dc26d24ba51dfc9f35ce1a63baa2228f65d93aaf11cc67 000009a6: DUP3 000009a7: DUP3 000009a8: DUP2 000009a9: MLOAD 000009aa: DUP2 000009ab: LT 000009ac: PUSH2 0x09b7 000009af: JUMPI 000009b0: PUSH2 0x09b7 000009b3: PUSH2 0x23a6 000009b6: JUMP 000009b7: JUMPDEST 000009b8: PUSH1 0x20 000009ba: MUL 000009bb: PUSH1 0x20 000009bd: ADD 000009be: ADD 000009bf: MLOAD 000009c0: PUSH1 0x01 000009c2: PUSH1 0x40 000009c4: MLOAD 000009c5: PUSH2 0x09e5 000009c8: SWAP3 000009c9: SWAP2 000009ca: SWAP1 000009cb: PUSH1 0x01 000009cd: PUSH1 0x01 000009cf: PUSH1 0xa0 000009d1: SHL 000009d2: SUB 000009d3: SWAP3 000009d4: SWAP1 000009d5: SWAP3 000009d6: AND 000009d7: DUP3 000009d8: MSTORE 000009d9: ISZERO 000009da: ISZERO 000009db: PUSH1 0x20 000009dd: DUP3 000009de: ADD 000009df: MSTORE 000009e0: PUSH1 0x40 000009e2: ADD 000009e3: SWAP1 000009e4: JUMP 000009e5: JUMPDEST 000009e6: PUSH1 0x40 000009e8: MLOAD 000009e9: DUP1 000009ea: SWAP2 000009eb: SUB 000009ec: SWAP1 000009ed: LOG1 000009ee: DUP1 000009ef: PUSH2 0x09f7 000009f2: DUP2 000009f3: PUSH2 0x23d2 000009f6: JUMP 000009f7: JUMPDEST 000009f8: SWAP2 000009f9: POP 000009fa: POP 000009fb: PUSH2 0x092d 000009fe: JUMP 000009ff: JUMPDEST 00000a00: POP 00000a01: POP 00000a02: POP 00000a03: JUMP 00000a04: JUMPDEST 00000a05: PUSH1 0x02 00000a07: PUSH1 0x01 00000a09: SLOAD 00000a0a: EQ 00000a0b: ISZERO 00000a0c: PUSH2 0x0a27 00000a0f: JUMPI 00000a10: PUSH1 0x40 00000a12: MLOAD 00000a13: PUSH3 0x461bcd 00000a17: PUSH1 0xe5 00000a19: SHL 00000a1a: DUP2 00000a1b: MSTORE 00000a1c: PUSH1 0x04 00000a1e: ADD 00000a1f: PUSH2 0x073d 00000a22: SWAP1 00000a23: PUSH2 0x236f 00000a26: JUMP 00000a27: JUMPDEST 00000a28: PUSH1 0x02 00000a2a: PUSH1 0x01 00000a2c: DUP2 00000a2d: SWAP1 00000a2e: SSTORE 00000a2f: DUP1 00000a30: SLOAD 00000a31: PUSH1 0xff 00000a33: AND 00000a34: DUP2 00000a35: DUP2 00000a36: GT 00000a37: ISZERO 00000a38: PUSH2 0x0a43 00000a3b: JUMPI 00000a3c: PUSH2 0x0a43 00000a3f: PUSH2 0x2117 00000a42: JUMP 00000a43: JUMPDEST 00000a44: EQ 00000a45: PUSH2 0x0a60 00000a48: JUMPI 00000a49: PUSH1 0x40 00000a4b: MLOAD 00000a4c: PUSH3 0x461bcd 00000a50: PUSH1 0xe5 00000a52: SHL 00000a53: DUP2 00000a54: MSTORE 00000a55: PUSH1 0x04 00000a57: ADD 00000a58: PUSH2 0x073d 00000a5b: SWAP1 00000a5c: PUSH2 0x23ed 00000a5f: JUMP 00000a60: JUMPDEST 00000a61: CALLER 00000a62: PUSH1 0x00 00000a64: SWAP1 00000a65: DUP2 00000a66: MSTORE 00000a67: PUSH1 0x08 00000a69: PUSH1 0x20 00000a6b: MSTORE 00000a6c: PUSH1 0x40 00000a6e: SWAP1 00000a6f: KECCAK256 00000a70: PUSH1 0x02 00000a72: ADD 00000a73: SLOAD 00000a74: PUSH1 0xff 00000a76: AND 00000a77: PUSH2 0x0a92 00000a7a: JUMPI 00000a7b: PUSH1 0x40 00000a7d: MLOAD 00000a7e: PUSH3 0x461bcd 00000a82: PUSH1 0xe5 00000a84: SHL 00000a85: DUP2 00000a86: MSTORE 00000a87: PUSH1 0x04 00000a89: ADD 00000a8a: PUSH2 0x073d 00000a8d: SWAP1 00000a8e: PUSH2 0x2424 00000a91: JUMP 00000a92: JUMPDEST 00000a93: PUSH1 0x00 00000a95: PUSH2 0x0a9d 00000a98: CALLER 00000a99: PUSH2 0x16e2 00000a9c: JUMP 00000a9d: JUMPDEST 00000a9e: SWAP1 00000a9f: POP 00000aa0: PUSH1 0x00 00000aa2: DUP2 00000aa3: GT 00000aa4: PUSH2 0x0abf 00000aa7: JUMPI 00000aa8: PUSH1 0x40 00000aaa: MLOAD 00000aab: PUSH3 0x461bcd 00000aaf: PUSH1 0xe5 00000ab1: SHL 00000ab2: DUP2 00000ab3: MSTORE 00000ab4: PUSH1 0x04 00000ab6: ADD 00000ab7: PUSH2 0x073d 00000aba: SWAP1 00000abb: PUSH2 0x245b 00000abe: JUMP 00000abf: JUMPDEST 00000ac0: PUSH2 0x0ac8 00000ac3: CALLER 00000ac4: PUSH2 0x181e 00000ac7: JUMP 00000ac8: JUMPDEST 00000ac9: POP 00000aca: CALLER 00000acb: PUSH1 0x00 00000acd: SWAP1 00000ace: DUP2 00000acf: MSTORE 00000ad0: PUSH1 0x08 00000ad2: PUSH1 0x20 00000ad4: MSTORE 00000ad5: PUSH1 0x40 00000ad7: DUP2 00000ad8: KECCAK256 00000ad9: DUP1 00000ada: SLOAD 00000adb: DUP4 00000adc: SWAP3 00000add: SWAP1 00000ade: PUSH2 0x0ae8 00000ae1: SWAP1 00000ae2: DUP5 00000ae3: SWAP1 00000ae4: PUSH2 0x2492 00000ae7: JUMP 00000ae8: JUMPDEST 00000ae9: SWAP1 00000aea: SWAP2 00000aeb: SSTORE 00000aec: POP 00000aed: PUSH2 0x0b22 00000af0: SWAP1 00000af1: POP 00000af2: PUSH1 0x01 00000af4: PUSH1 0x01 00000af6: PUSH1 0xa0 00000af8: SHL 00000af9: SUB 00000afa: PUSH32 0x0000000000000000000000001e4ede388cbc9f4b5c79681b7f94d36a11abebc9 00000b1b: AND 00000b1c: CALLER 00000b1d: DUP4 00000b1e: PUSH2 0x18e4 00000b21: JUMP 00000b22: JUMPDEST 00000b23: PUSH1 0x40 00000b25: MLOAD 00000b26: DUP2 00000b27: DUP2 00000b28: MSTORE 00000b29: CALLER 00000b2a: SWAP1 00000b2b: PUSH32 0x884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364 00000b4c: SWAP1 00000b4d: PUSH1 0x20 00000b4f: ADD 00000b50: JUMPDEST 00000b51: PUSH1 0x40 00000b53: MLOAD 00000b54: DUP1 00000b55: SWAP2 00000b56: SUB 00000b57: SWAP1 00000b58: LOG2 00000b59: POP 00000b5a: PUSH1 0x01 00000b5c: DUP1 00000b5d: SSTORE 00000b5e: JUMP 00000b5f: JUMPDEST 00000b60: PUSH1 0x02 00000b62: PUSH1 0x01 00000b64: SLOAD 00000b65: EQ 00000b66: ISZERO 00000b67: PUSH2 0x0b82 00000b6a: JUMPI 00000b6b: PUSH1 0x40 00000b6d: MLOAD 00000b6e: PUSH3 0x461bcd 00000b72: PUSH1 0xe5 00000b74: SHL 00000b75: DUP2 00000b76: MSTORE 00000b77: PUSH1 0x04 00000b79: ADD 00000b7a: PUSH2 0x073d 00000b7d: SWAP1 00000b7e: PUSH2 0x236f 00000b81: JUMP 00000b82: JUMPDEST 00000b83: PUSH1 0x02 00000b85: PUSH1 0x01 00000b87: DUP2 00000b88: SWAP1 00000b89: SSTORE 00000b8a: DUP1 00000b8b: SLOAD 00000b8c: PUSH1 0xff 00000b8e: AND 00000b8f: DUP2 00000b90: DUP2 00000b91: GT 00000b92: ISZERO 00000b93: PUSH2 0x0b9e 00000b96: JUMPI 00000b97: PUSH2 0x0b9e 00000b9a: PUSH2 0x2117 00000b9d: JUMP 00000b9e: JUMPDEST 00000b9f: EQ 00000ba0: PUSH2 0x0beb 00000ba3: JUMPI 00000ba4: PUSH1 0x40 00000ba6: MLOAD 00000ba7: PUSH3 0x461bcd 00000bab: PUSH1 0xe5 00000bad: SHL 00000bae: DUP2 00000baf: MSTORE 00000bb0: PUSH1 0x20 00000bb2: PUSH1 0x04 00000bb4: DUP3 00000bb5: ADD 00000bb6: MSTORE 00000bb7: PUSH1 0x1e 00000bb9: PUSH1 0x24 00000bbb: DUP3 00000bbc: ADD 00000bbd: MSTORE 00000bbe: PUSH32 0x486172766573743a205068617365206d757374206265205374616b696e670000 00000bdf: PUSH1 0x44 00000be1: DUP3 00000be2: ADD 00000be3: MSTORE 00000be4: PUSH1 0x64 00000be6: ADD 00000be7: PUSH2 0x073d 00000bea: JUMP 00000beb: JUMPDEST 00000bec: CALLER 00000bed: PUSH1 0x00 00000bef: SWAP1 00000bf0: DUP2 00000bf1: MSTORE 00000bf2: PUSH1 0x08 00000bf4: PUSH1 0x20 00000bf6: MSTORE 00000bf7: PUSH1 0x40 00000bf9: SWAP1 00000bfa: KECCAK256 00000bfb: PUSH1 0x02 00000bfd: ADD 00000bfe: SLOAD 00000bff: PUSH1 0xff 00000c01: AND 00000c02: PUSH2 0x0c4d 00000c05: JUMPI 00000c06: PUSH1 0x40 00000c08: MLOAD 00000c09: PUSH3 0x461bcd 00000c0d: PUSH1 0xe5 00000c0f: SHL 00000c10: DUP2 00000c11: MSTORE 00000c12: PUSH1 0x20 00000c14: PUSH1 0x04 00000c16: DUP3 00000c17: ADD 00000c18: MSTORE 00000c19: PUSH1 0x1a 00000c1b: PUSH1 0x24 00000c1d: DUP3 00000c1e: ADD 00000c1f: MSTORE 00000c20: PUSH32 0x486172766573743a2055736572206e6f7420656c696769626c65000000000000 00000c41: PUSH1 0x44 00000c43: DUP3 00000c44: ADD 00000c45: MSTORE 00000c46: PUSH1 0x64 00000c48: ADD 00000c49: PUSH2 0x073d 00000c4c: JUMP 00000c4d: JUMPDEST 00000c4e: PUSH1 0x00 00000c50: PUSH2 0x0c58 00000c53: CALLER 00000c54: PUSH2 0x181e 00000c57: JUMP 00000c58: JUMPDEST 00000c59: GT 00000c5a: PUSH2 0x0ca5 00000c5d: JUMPI 00000c5e: PUSH1 0x40 00000c60: MLOAD 00000c61: PUSH3 0x461bcd 00000c65: PUSH1 0xe5 00000c67: SHL 00000c68: DUP2 00000c69: MSTORE 00000c6a: PUSH1 0x20 00000c6c: PUSH1 0x04 00000c6e: DUP3 00000c6f: ADD 00000c70: MSTORE 00000c71: PUSH1 0x1a 00000c73: PUSH1 0x24 00000c75: DUP3 00000c76: ADD 00000c77: MSTORE 00000c78: PUSH32 0x486172766573743a204e6f2070656e64696e6720726577617264000000000000 00000c99: PUSH1 0x44 00000c9b: DUP3 00000c9c: ADD 00000c9d: MSTORE 00000c9e: PUSH1 0x64 00000ca0: ADD 00000ca1: PUSH2 0x073d 00000ca4: JUMP 00000ca5: JUMPDEST 00000ca6: PUSH1 0x01 00000ca8: DUP1 00000ca9: SSTORE 00000caa: JUMP 00000cab: JUMPDEST 00000cac: CALLER 00000cad: PUSH2 0x0cb4 00000cb0: PUSH2 0x13c2 00000cb3: JUMP 00000cb4: JUMPDEST 00000cb5: PUSH1 0x01 00000cb7: PUSH1 0x01 00000cb9: PUSH1 0xa0 00000cbb: SHL 00000cbc: SUB 00000cbd: AND 00000cbe: EQ 00000cbf: PUSH2 0x0cda 00000cc2: JUMPI 00000cc3: PUSH1 0x40 00000cc5: MLOAD 00000cc6: PUSH3 0x461bcd 00000cca: PUSH1 0xe5 00000ccc: SHL 00000ccd: DUP2 00000cce: MSTORE 00000ccf: PUSH1 0x04 00000cd1: ADD 00000cd2: PUSH2 0x073d 00000cd5: SWAP1 00000cd6: PUSH2 0x233a 00000cd9: JUMP 00000cda: JUMPDEST 00000cdb: PUSH1 0x02 00000cdd: PUSH1 0x01 00000cdf: SLOAD 00000ce0: EQ 00000ce1: ISZERO 00000ce2: PUSH2 0x0cfd 00000ce5: JUMPI 00000ce6: PUSH1 0x40 00000ce8: MLOAD 00000ce9: PUSH3 0x461bcd 00000ced: PUSH1 0xe5 00000cef: SHL 00000cf0: DUP2 00000cf1: MSTORE 00000cf2: PUSH1 0x04 00000cf4: ADD 00000cf5: PUSH2 0x073d 00000cf8: SWAP1 00000cf9: PUSH2 0x236f 00000cfc: JUMP 00000cfd: JUMPDEST 00000cfe: PUSH1 0x02 00000d00: PUSH1 0x01 00000d02: SSTORE 00000d03: PUSH2 0x0d4c 00000d06: PUSH32 0x000000000000000000000000000000000000000000000000000000000002f9b8 00000d27: PUSH32 0x0000000000000000000000000000000000000000000000000000000000fc9508 00000d48: PUSH2 0x2492 00000d4b: JUMP 00000d4c: JUMPDEST 00000d4d: NUMBER 00000d4e: GT 00000d4f: PUSH2 0x0da4 00000d52: JUMPI 00000d53: PUSH1 0x40 00000d55: MLOAD 00000d56: PUSH3 0x461bcd 00000d5a: PUSH1 0xe5 00000d5c: SHL 00000d5d: DUP2 00000d5e: MSTORE 00000d5f: PUSH1 0x20 00000d61: PUSH1 0x04 00000d63: DUP3 00000d64: ADD 00000d65: MSTORE 00000d66: PUSH1 0x21 00000d68: PUSH1 0x24 00000d6a: DUP3 00000d6b: ADD 00000d6c: MSTORE 00000d6d: PUSH32 0x4f776e65723a207374616b696e672068617665206e6f7420656e646564207965 00000d8e: PUSH1 0x44 00000d90: DUP3 00000d91: ADD 00000d92: MSTORE 00000d93: PUSH1 0x1d 00000d95: PUSH1 0xfa 00000d97: SHL 00000d98: PUSH1 0x64 00000d9a: DUP3 00000d9b: ADD 00000d9c: MSTORE 00000d9d: PUSH1 0x84 00000d9f: ADD 00000da0: PUSH2 0x073d 00000da3: JUMP 00000da4: JUMPDEST 00000da5: PUSH1 0x00 00000da7: DUP2 00000da8: GT 00000da9: PUSH2 0x0dea 00000dac: JUMPI 00000dad: PUSH1 0x40 00000daf: MLOAD 00000db0: PUSH3 0x461bcd 00000db4: PUSH1 0xe5 00000db6: SHL 00000db7: DUP2 00000db8: MSTORE 00000db9: PUSH1 0x20 00000dbb: PUSH1 0x04 00000dbd: DUP3 00000dbe: ADD 00000dbf: MSTORE 00000dc0: PUSH1 0x13 00000dc2: PUSH1 0x24 00000dc4: DUP3 00000dc5: ADD 00000dc6: MSTORE 00000dc7: PUSH19 0x04f776e65723a207769746864726177203e203 00000ddb: PUSH1 0x6c 00000ddd: SHL 00000dde: PUSH1 0x44 00000de0: DUP3 00000de1: ADD 00000de2: MSTORE 00000de3: PUSH1 0x64 00000de5: ADD 00000de6: PUSH2 0x073d 00000de9: JUMP 00000dea: JUMPDEST 00000deb: DUP1 00000dec: PUSH1 0x06 00000dee: PUSH1 0x00 00000df0: DUP3 00000df1: DUP3 00000df2: SLOAD 00000df3: PUSH2 0x0dfc 00000df6: SWAP2 00000df7: SWAP1 00000df8: PUSH2 0x2492 00000dfb: JUMP 00000dfc: JUMPDEST 00000dfd: SWAP1 00000dfe: SWAP2 00000dff: SSTORE 00000e00: POP 00000e01: PUSH2 0x0e36 00000e04: SWAP1 00000e05: POP 00000e06: PUSH1 0x01 00000e08: PUSH1 0x01 00000e0a: PUSH1 0xa0 00000e0c: SHL 00000e0d: SUB 00000e0e: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00000e2f: AND 00000e30: CALLER 00000e31: DUP4 00000e32: PUSH2 0x18e4 00000e35: JUMP 00000e36: JUMPDEST 00000e37: PUSH1 0x40 00000e39: MLOAD 00000e3a: DUP2 00000e3b: DUP2 00000e3c: MSTORE 00000e3d: PUSH32 0xf1b96db22d7f3eb7ef19d9ddbc4d63be139f5d014216d4e42107e10cfd4ff16c 00000e5e: SWAP1 00000e5f: PUSH1 0x20 00000e61: ADD 00000e62: PUSH1 0x40 00000e64: MLOAD 00000e65: DUP1 00000e66: SWAP2 00000e67: SUB 00000e68: SWAP1 00000e69: LOG1 00000e6a: POP 00000e6b: PUSH1 0x01 00000e6d: DUP1 00000e6e: SSTORE 00000e6f: JUMP 00000e70: JUMPDEST 00000e71: CALLER 00000e72: PUSH2 0x0e79 00000e75: PUSH2 0x13c2 00000e78: JUMP 00000e79: JUMPDEST 00000e7a: PUSH1 0x01 00000e7c: PUSH1 0x01 00000e7e: PUSH1 0xa0 00000e80: SHL 00000e81: SUB 00000e82: AND 00000e83: EQ 00000e84: PUSH2 0x0e9f 00000e87: JUMPI 00000e88: PUSH1 0x40 00000e8a: MLOAD 00000e8b: PUSH3 0x461bcd 00000e8f: PUSH1 0xe5 00000e91: SHL 00000e92: DUP2 00000e93: MSTORE 00000e94: PUSH1 0x04 00000e96: ADD 00000e97: PUSH2 0x073d 00000e9a: SWAP1 00000e9b: PUSH2 0x233a 00000e9e: JUMP 00000e9f: JUMPDEST 00000ea0: PUSH1 0x02 00000ea2: PUSH1 0x01 00000ea4: SLOAD 00000ea5: EQ 00000ea6: ISZERO 00000ea7: PUSH2 0x0ec2 00000eaa: JUMPI 00000eab: PUSH1 0x40 00000ead: MLOAD 00000eae: PUSH3 0x461bcd 00000eb2: PUSH1 0xe5 00000eb4: SHL 00000eb5: DUP2 00000eb6: MSTORE 00000eb7: PUSH1 0x04 00000eb9: ADD 00000eba: PUSH2 0x073d 00000ebd: SWAP1 00000ebe: PUSH2 0x236f 00000ec1: JUMP 00000ec2: JUMPDEST 00000ec3: PUSH1 0x02 00000ec5: PUSH1 0x01 00000ec7: SSTORE 00000ec8: PUSH1 0x00 00000eca: PUSH1 0x02 00000ecc: DUP1 00000ecd: SLOAD 00000ece: PUSH1 0xff 00000ed0: AND 00000ed1: SWAP1 00000ed2: DUP2 00000ed3: GT 00000ed4: ISZERO 00000ed5: PUSH2 0x0ee0 00000ed8: JUMPI 00000ed9: PUSH2 0x0ee0 00000edc: PUSH2 0x2117 00000edf: JUMP 00000ee0: JUMPDEST 00000ee1: EQ 00000ee2: PUSH2 0x0f29 00000ee5: JUMPI 00000ee6: PUSH1 0x40 00000ee8: MLOAD 00000ee9: PUSH3 0x461bcd 00000eed: PUSH1 0xe5 00000eef: SHL 00000ef0: DUP2 00000ef1: MSTORE 00000ef2: PUSH1 0x20 00000ef4: PUSH1 0x04 00000ef6: DUP3 00000ef7: ADD 00000ef8: MSTORE 00000ef9: PUSH1 0x19 00000efb: PUSH1 0x24 00000efd: DUP3 00000efe: ADD 00000eff: MSTORE 00000f00: PUSH25 0x4f776e65723a205068617365206d7573742062652053616c65 00000f1a: PUSH1 0x38 00000f1c: SHL 00000f1d: PUSH1 0x44 00000f1f: DUP3 00000f20: ADD 00000f21: MSTORE 00000f22: PUSH1 0x64 00000f24: ADD 00000f25: PUSH2 0x073d 00000f28: JUMP 00000f29: JUMPDEST 00000f2a: SELFBALANCE 00000f2b: PUSH2 0x0f34 00000f2e: CALLER 00000f2f: DUP3 00000f30: PUSH2 0x1936 00000f33: JUMP 00000f34: JUMPDEST 00000f35: PUSH1 0x00 00000f37: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000 00000f58: PUSH1 0x03 00000f5a: SLOAD 00000f5b: PUSH2 0x0f64 00000f5e: SWAP2 00000f5f: SWAP1 00000f60: PUSH2 0x24aa 00000f63: JUMP 00000f64: JUMPDEST 00000f65: PUSH1 0x40 00000f67: MLOAD 00000f68: PUSH4 0x70a08231 00000f6d: PUSH1 0xe0 00000f6f: SHL 00000f70: DUP2 00000f71: MSTORE 00000f72: PUSH1 0x01 00000f74: PUSH1 0x01 00000f76: PUSH1 0xa0 00000f78: SHL 00000f79: SUB 00000f7a: PUSH32 0x0000000000000000000000001e4ede388cbc9f4b5c79681b7f94d36a11abebc9 00000f9b: AND 00000f9c: SWAP1 00000f9d: PUSH4 0x70a08231 00000fa2: SWAP1 00000fa3: PUSH2 0x0fb0 00000fa6: SWAP1 00000fa7: ADDRESS 00000fa8: SWAP1 00000fa9: PUSH1 0x04 00000fab: ADD 00000fac: PUSH2 0x22f1 00000faf: JUMP 00000fb0: JUMPDEST 00000fb1: PUSH1 0x20 00000fb3: PUSH1 0x40 00000fb5: MLOAD 00000fb6: DUP1 00000fb7: DUP4 00000fb8: SUB 00000fb9: DUP2 00000fba: DUP7 00000fbb: GAS 00000fbc: STATICCALL 00000fbd: ISZERO 00000fbe: DUP1 00000fbf: ISZERO 00000fc0: PUSH2 0x0fcd 00000fc3: JUMPI 00000fc4: RETURNDATASIZE 00000fc5: PUSH1 0x00 00000fc7: DUP1 00000fc8: RETURNDATACOPY 00000fc9: RETURNDATASIZE 00000fca: PUSH1 0x00 00000fcc: REVERT 00000fcd: JUMPDEST 00000fce: POP 00000fcf: POP 00000fd0: POP 00000fd1: POP 00000fd2: PUSH1 0x40 00000fd4: MLOAD 00000fd5: RETURNDATASIZE 00000fd6: PUSH1 0x1f 00000fd8: NOT 00000fd9: PUSH1 0x1f 00000fdb: DUP3 00000fdc: ADD 00000fdd: AND 00000fde: DUP3 00000fdf: ADD 00000fe0: DUP1 00000fe1: PUSH1 0x40 00000fe3: MSTORE 00000fe4: POP 00000fe5: DUP2 00000fe6: ADD 00000fe7: SWAP1 00000fe8: PUSH2 0x0ff1 00000feb: SWAP2 00000fec: SWAP1 00000fed: PUSH2 0x24c9 00000ff0: JUMP 00000ff1: JUMPDEST 00000ff2: PUSH2 0x0ffb 00000ff5: SWAP2 00000ff6: SWAP1 00000ff7: PUSH2 0x24e2 00000ffa: JUMP 00000ffb: JUMPDEST 00000ffc: SWAP1 00000ffd: POP 00000ffe: DUP1 00000fff: ISZERO 00001000: PUSH2 0x1037 00001003: JUMPI 00001004: PUSH2 0x1037 00001007: PUSH1 0x01 00001009: PUSH1 0x01 0000100b: PUSH1 0xa0 0000100d: SHL 0000100e: SUB 0000100f: PUSH32 0x0000000000000000000000001e4ede388cbc9f4b5c79681b7f94d36a11abebc9 00001030: AND 00001031: CALLER 00001032: DUP4 00001033: PUSH2 0x18e4 00001036: JUMP 00001037: JUMPDEST 00001038: PUSH1 0x02 0000103a: DUP1 0000103b: SLOAD 0000103c: PUSH1 0xff 0000103e: NOT 0000103f: AND 00001040: PUSH1 0x01 00001042: SWAP1 00001043: DUP2 00001044: OR 00001045: SWAP1 00001046: SWAP2 00001047: SSTORE 00001048: PUSH1 0x40 0000104a: MLOAD 0000104b: PUSH32 0x31f72b44f546d9e7eaec13f65636997665e15f134a81c82924f568f5c0d07b93 0000106c: SWAP2 0000106d: PUSH2 0x1075 00001070: SWAP2 00001071: PUSH2 0x212d 00001074: JUMP 00001075: JUMPDEST 00001076: PUSH1 0x40 00001078: MLOAD 00001079: DUP1 0000107a: SWAP2 0000107b: SUB 0000107c: SWAP1 0000107d: LOG1 0000107e: POP 0000107f: POP 00001080: PUSH1 0x01 00001082: DUP1 00001083: SSTORE 00001084: JUMP 00001085: JUMPDEST 00001086: CALLER 00001087: PUSH2 0x108e 0000108a: PUSH2 0x13c2 0000108d: JUMP 0000108e: JUMPDEST 0000108f: PUSH1 0x01 00001091: PUSH1 0x01 00001093: PUSH1 0xa0 00001095: SHL 00001096: SUB 00001097: AND 00001098: EQ 00001099: PUSH2 0x10b4 0000109c: JUMPI 0000109d: PUSH1 0x40 0000109f: MLOAD 000010a0: PUSH3 0x461bcd 000010a4: PUSH1 0xe5 000010a6: SHL 000010a7: DUP2 000010a8: MSTORE 000010a9: PUSH1 0x04 000010ab: ADD 000010ac: PUSH2 0x073d 000010af: SWAP1 000010b0: PUSH2 0x233a 000010b3: JUMP 000010b4: JUMPDEST 000010b5: PUSH2 0x10be 000010b8: PUSH1 0x00 000010ba: PUSH2 0x1a4f 000010bd: JUMP 000010be: JUMPDEST 000010bf: JUMP 000010c0: JUMPDEST 000010c1: PUSH1 0x02 000010c3: PUSH1 0x01 000010c5: SLOAD 000010c6: EQ 000010c7: ISZERO 000010c8: PUSH2 0x10e3 000010cb: JUMPI 000010cc: PUSH1 0x40 000010ce: MLOAD 000010cf: PUSH3 0x461bcd 000010d3: PUSH1 0xe5 000010d5: SHL 000010d6: DUP2 000010d7: MSTORE 000010d8: PUSH1 0x04 000010da: ADD 000010db: PUSH2 0x073d 000010de: SWAP1 000010df: PUSH2 0x236f 000010e2: JUMP 000010e3: JUMPDEST 000010e4: PUSH1 0x02 000010e6: PUSH1 0x01 000010e8: SSTORE 000010e9: PUSH1 0x00 000010eb: PUSH1 0x02 000010ed: DUP1 000010ee: SLOAD 000010ef: PUSH1 0xff 000010f1: AND 000010f2: SWAP1 000010f3: DUP2 000010f4: GT 000010f5: ISZERO 000010f6: PUSH2 0x1101 000010f9: JUMPI 000010fa: PUSH2 0x1101 000010fd: PUSH2 0x2117 00001100: JUMP 00001101: JUMPDEST 00001102: EQ 00001103: PUSH2 0x114e 00001106: JUMPI 00001107: PUSH1 0x40 00001109: MLOAD 0000110a: PUSH3 0x461bcd 0000110e: PUSH1 0xe5 00001110: SHL 00001111: DUP2 00001112: MSTORE 00001113: PUSH1 0x20 00001115: PUSH1 0x04 00001117: DUP3 00001118: ADD 00001119: MSTORE 0000111a: PUSH1 0x1b 0000111c: PUSH1 0x24 0000111e: DUP3 0000111f: ADD 00001120: MSTORE 00001121: PUSH32 0x4465706f7369743a205068617365206d7573742062652053616c650000000000 00001142: PUSH1 0x44 00001144: DUP3 00001145: ADD 00001146: MSTORE 00001147: PUSH1 0x64 00001149: ADD 0000114a: PUSH2 0x073d 0000114d: JUMP 0000114e: JUMPDEST 0000114f: CALLER 00001150: PUSH1 0x00 00001152: SWAP1 00001153: DUP2 00001154: MSTORE 00001155: PUSH1 0x08 00001157: PUSH1 0x20 00001159: MSTORE 0000115a: PUSH1 0x40 0000115c: SWAP1 0000115d: KECCAK256 0000115e: PUSH1 0x02 00001160: ADD 00001161: SLOAD 00001162: PUSH1 0xff 00001164: AND 00001165: ISZERO 00001166: PUSH2 0x11aa 00001169: JUMPI 0000116a: PUSH1 0x40 0000116c: MLOAD 0000116d: PUSH3 0x461bcd 00001171: PUSH1 0xe5 00001173: SHL 00001174: DUP2 00001175: MSTORE 00001176: PUSH1 0x20 00001178: PUSH1 0x04 0000117a: DUP3 0000117b: ADD 0000117c: MSTORE 0000117d: PUSH1 0x16 0000117f: PUSH1 0x24 00001181: DUP3 00001182: ADD 00001183: MSTORE 00001184: PUSH22 0x11195c1bdcda5d0e8812185cc819195c1bdcda5d1959 0000119b: PUSH1 0x52 0000119d: SHL 0000119e: PUSH1 0x44 000011a0: DUP3 000011a1: ADD 000011a2: MSTORE 000011a3: PUSH1 0x64 000011a5: ADD 000011a6: PUSH2 0x073d 000011a9: JUMP 000011aa: JUMPDEST 000011ab: PUSH32 0x00000000000000000000000000000000000000000000000014d1120d7b160000 000011cc: CALLVALUE 000011cd: EQ 000011ce: PUSH2 0x1211 000011d1: JUMPI 000011d2: PUSH1 0x40 000011d4: MLOAD 000011d5: PUSH3 0x461bcd 000011d9: PUSH1 0xe5 000011db: SHL 000011dc: DUP2 000011dd: MSTORE 000011de: PUSH1 0x20 000011e0: PUSH1 0x04 000011e2: DUP3 000011e3: ADD 000011e4: MSTORE 000011e5: PUSH1 0x15 000011e7: PUSH1 0x24 000011e9: DUP3 000011ea: ADD 000011eb: MSTORE 000011ec: PUSH21 0x11195c1bdcda5d0e8815dc9bdb99c8185b5bdd5b9d 00001202: PUSH1 0x5a 00001204: SHL 00001205: PUSH1 0x44 00001207: DUP3 00001208: ADD 00001209: MSTORE 0000120a: PUSH1 0x64 0000120c: ADD 0000120d: PUSH2 0x073d 00001210: JUMP 00001211: JUMPDEST 00001212: PUSH32 0x00000000000000000000000000000000000000000000000000000000000003e8 00001233: PUSH1 0x03 00001235: SLOAD 00001236: LT 00001237: PUSH2 0x1282 0000123a: JUMPI 0000123b: PUSH1 0x40 0000123d: MLOAD 0000123e: PUSH3 0x461bcd 00001242: PUSH1 0xe5 00001244: SHL 00001245: DUP2 00001246: MSTORE 00001247: PUSH1 0x20 00001249: PUSH1 0x04 0000124b: DUP3 0000124c: ADD 0000124d: MSTORE 0000124e: PUSH1 0x1c 00001250: PUSH1 0x24 00001252: DUP3 00001253: ADD 00001254: MSTORE 00001255: PUSH32 0x4465706f7369743a204e6f742072616973696e6720616e796d6f726500000000 00001276: PUSH1 0x44 00001278: DUP3 00001279: ADD 0000127a: MSTORE 0000127b: PUSH1 0x64 0000127d: ADD 0000127e: PUSH2 0x073d 00001281: JUMP 00001282: JUMPDEST 00001283: PUSH1 0x00 00001285: PUSH2 0x12b6 00001288: CALLER 00001289: PUSH1 0x40 0000128b: MLOAD 0000128c: PUSH1 0x20 0000128e: ADD 0000128f: PUSH2 0x1298 00001292: SWAP2 00001293: SWAP1 00001294: PUSH2 0x22f1 00001297: JUMP 00001298: JUMPDEST 00001299: PUSH1 0x40 0000129b: MLOAD 0000129c: PUSH1 0x20 0000129e: DUP2 0000129f: DUP4 000012a0: SUB 000012a1: SUB 000012a2: DUP2 000012a3: MSTORE 000012a4: SWAP1 000012a5: PUSH1 0x40 000012a7: MSTORE 000012a8: DUP1 000012a9: MLOAD 000012aa: SWAP1 000012ab: PUSH1 0x20 000012ad: ADD 000012ae: KECCAK256 000012af: DUP6 000012b0: DUP6 000012b1: DUP6 000012b2: PUSH2 0x1a9f 000012b5: JUMP 000012b6: JUMPDEST 000012b7: PUSH1 0x01 000012b9: PUSH1 0x01 000012bb: PUSH1 0xa0 000012bd: SHL 000012be: SUB 000012bf: DUP2 000012c0: AND 000012c1: PUSH1 0x00 000012c3: SWAP1 000012c4: DUP2 000012c5: MSTORE 000012c6: PUSH1 0x07 000012c8: PUSH1 0x20 000012ca: MSTORE 000012cb: PUSH1 0x40 000012cd: SWAP1 000012ce: KECCAK256 000012cf: SLOAD 000012d0: SWAP1 000012d1: SWAP2 000012d2: POP 000012d3: PUSH1 0xff 000012d5: AND 000012d6: PUSH2 0x131c 000012d9: JUMPI 000012da: PUSH1 0x40 000012dc: MLOAD 000012dd: PUSH3 0x461bcd 000012e1: PUSH1 0xe5 000012e3: SHL 000012e4: DUP2 000012e5: MSTORE 000012e6: PUSH1 0x20 000012e8: PUSH1 0x04 000012ea: DUP3 000012eb: ADD 000012ec: MSTORE 000012ed: PUSH1 0x18 000012ef: PUSH1 0x24 000012f1: DUP3 000012f2: ADD 000012f3: MSTORE 000012f4: PUSH24 0x2232b837b9b4ba1d1029b4b3b730ba3ab9329032b93937b9 0000130d: PUSH1 0x41 0000130f: SHL 00001310: PUSH1 0x44 00001312: DUP3 00001313: ADD 00001314: MSTORE 00001315: PUSH1 0x64 00001317: ADD 00001318: PUSH2 0x073d 0000131b: JUMP 0000131c: JUMPDEST 0000131d: CALLER 0000131e: PUSH1 0x00 00001320: SWAP1 00001321: DUP2 00001322: MSTORE 00001323: PUSH1 0x08 00001325: PUSH1 0x20 00001327: MSTORE 00001328: PUSH1 0x40 0000132a: DUP2 0000132b: KECCAK256 0000132c: PUSH1 0x02 0000132e: ADD 0000132f: DUP1 00001330: SLOAD 00001331: PUSH1 0xff 00001333: NOT 00001334: AND 00001335: PUSH1 0x01 00001337: SWAP1 00001338: DUP2 00001339: OR 0000133a: SWAP1 0000133b: SWAP2 0000133c: SSTORE 0000133d: PUSH1 0x03 0000133f: DUP1 00001340: SLOAD 00001341: SWAP2 00001342: SWAP3 00001343: SWAP1 00001344: SWAP2 00001345: PUSH2 0x134f 00001348: SWAP1 00001349: DUP5 0000134a: SWAP1 0000134b: PUSH2 0x2492 0000134e: JUMP 0000134f: JUMPDEST 00001350: SWAP3 00001351: POP 00001352: POP 00001353: DUP2 00001354: SWAP1 00001355: SSTORE 00001356: POP 00001357: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000 00001378: PUSH1 0x04 0000137a: PUSH1 0x00 0000137c: DUP3 0000137d: DUP3 0000137e: SLOAD 0000137f: PUSH2 0x1388 00001382: SWAP2 00001383: SWAP1 00001384: PUSH2 0x2492 00001387: JUMP 00001388: JUMPDEST 00001389: SWAP1 0000138a: SWAP2 0000138b: SSTORE 0000138c: POP 0000138d: POP 0000138e: PUSH1 0x40 00001390: MLOAD 00001391: CALLER 00001392: SWAP1 00001393: PUSH32 0x8ce0bd46ec50cf39f0d0ea8686a686eb226af5796dcda4231b26fb84b5ef1234 000013b4: SWAP1 000013b5: PUSH1 0x00 000013b7: SWAP1 000013b8: LOG2 000013b9: POP 000013ba: POP 000013bb: PUSH1 0x01 000013bd: DUP1 000013be: SSTORE 000013bf: POP 000013c0: POP 000013c1: JUMP 000013c2: JUMPDEST 000013c3: PUSH1 0x00 000013c5: SLOAD 000013c6: PUSH1 0x01 000013c8: PUSH1 0x01 000013ca: PUSH1 0xa0 000013cc: SHL 000013cd: SUB 000013ce: AND 000013cf: SWAP1 000013d0: JUMP 000013d1: JUMPDEST 000013d2: PUSH1 0x00 000013d4: PUSH2 0x13dc 000013d7: DUP3 000013d8: PUSH2 0x16e2 000013db: JUMP 000013dc: JUMPDEST 000013dd: SWAP3 000013de: SWAP2 000013df: POP 000013e0: POP 000013e1: JUMP 000013e2: JUMPDEST 000013e3: PUSH1 0x00 000013e5: DUP1 000013e6: PUSH1 0x00 000013e8: JUMPDEST 000013e9: DUP4 000013ea: MLOAD 000013eb: DUP2 000013ec: LT 000013ed: ISZERO 000013ee: PUSH2 0x143c 000013f1: JUMPI 000013f2: PUSH1 0x00 000013f4: DUP1 000013f5: PUSH2 0x1416 000013f8: DUP7 000013f9: DUP5 000013fa: DUP2 000013fb: MLOAD 000013fc: DUP2 000013fd: LT 000013fe: PUSH2 0x1409 00001401: JUMPI 00001402: PUSH2 0x1409 00001405: PUSH2 0x23a6 00001408: JUMP 00001409: JUMPDEST 0000140a: PUSH1 0x20 0000140c: MUL 0000140d: PUSH1 0x20 0000140f: ADD 00001410: ADD 00001411: MLOAD 00001412: PUSH2 0x1ac7 00001415: JUMP 00001416: JUMPDEST 00001417: SWAP1 00001418: SWAP3 00001419: POP 0000141a: SWAP1 0000141b: POP 0000141c: PUSH2 0x1425 0000141f: DUP3 00001420: DUP6 00001421: PUSH2 0x2492 00001424: JUMP 00001425: JUMPDEST 00001426: SWAP4 00001427: POP 00001428: POP 00001429: POP 0000142a: DUP1 0000142b: DUP1 0000142c: PUSH2 0x1434 0000142f: SWAP1 00001430: PUSH2 0x23d2 00001433: JUMP 00001434: JUMPDEST 00001435: SWAP2 00001436: POP 00001437: POP 00001438: PUSH2 0x13e8 0000143b: JUMP 0000143c: JUMPDEST 0000143d: POP 0000143e: SWAP3 0000143f: SWAP2 00001440: POP 00001441: POP 00001442: JUMP 00001443: JUMPDEST 00001444: PUSH1 0x02 00001446: PUSH1 0x01 00001448: SLOAD 00001449: EQ 0000144a: ISZERO 0000144b: PUSH2 0x1466 0000144e: JUMPI 0000144f: PUSH1 0x40 00001451: MLOAD 00001452: PUSH3 0x461bcd 00001456: PUSH1 0xe5 00001458: SHL 00001459: DUP2 0000145a: MSTORE 0000145b: PUSH1 0x04 0000145d: ADD 0000145e: PUSH2 0x073d 00001461: SWAP1 00001462: PUSH2 0x236f 00001465: JUMP 00001466: JUMPDEST 00001467: PUSH1 0x02 00001469: PUSH1 0x01 0000146b: SSTORE 0000146c: PUSH32 0x0000000000000000000000000000000000000000000000000000000000fc9508 0000148d: NUMBER 0000148e: LT 0000148f: ISZERO 00001490: PUSH2 0x14d1 00001493: JUMPI 00001494: PUSH1 0x40 00001496: MLOAD 00001497: PUSH3 0x461bcd 0000149b: PUSH1 0xe5 0000149d: SHL 0000149e: DUP2 0000149f: MSTORE 000014a0: PUSH1 0x20 000014a2: PUSH1 0x04 000014a4: DUP3 000014a5: ADD 000014a6: MSTORE 000014a7: PUSH1 0x13 000014a9: PUSH1 0x24 000014ab: DUP3 000014ac: ADD 000014ad: MSTORE 000014ae: PUSH19 0x57697468647261773a20546f6f206561726c79 000014c2: PUSH1 0x68 000014c4: SHL 000014c5: PUSH1 0x44 000014c7: DUP3 000014c8: ADD 000014c9: MSTORE 000014ca: PUSH1 0x64 000014cc: ADD 000014cd: PUSH2 0x073d 000014d0: JUMP 000014d1: JUMPDEST 000014d2: PUSH1 0x02 000014d4: DUP1 000014d5: SLOAD 000014d6: PUSH1 0xff 000014d8: AND 000014d9: DUP2 000014da: DUP2 000014db: GT 000014dc: ISZERO 000014dd: PUSH2 0x14e8 000014e0: JUMPI 000014e1: PUSH2 0x14e8 000014e4: PUSH2 0x2117 000014e7: JUMP 000014e8: JUMPDEST 000014e9: EQ 000014ea: PUSH2 0x1505 000014ed: JUMPI 000014ee: PUSH1 0x40 000014f0: MLOAD 000014f1: PUSH3 0x461bcd 000014f5: PUSH1 0xe5 000014f7: SHL 000014f8: DUP2 000014f9: MSTORE 000014fa: PUSH1 0x04 000014fc: ADD 000014fd: PUSH2 0x073d 00001500: SWAP1 00001501: PUSH2 0x23ed 00001504: JUMP 00001505: JUMPDEST 00001506: CALLER 00001507: PUSH1 0x00 00001509: SWAP1 0000150a: DUP2 0000150b: MSTORE 0000150c: PUSH1 0x08 0000150e: PUSH1 0x20 00001510: MSTORE 00001511: PUSH1 0x40 00001513: SWAP1 00001514: KECCAK256 00001515: PUSH1 0x02 00001517: ADD 00001518: SLOAD 00001519: PUSH1 0xff 0000151b: AND 0000151c: PUSH2 0x1537 0000151f: JUMPI 00001520: PUSH1 0x40 00001522: MLOAD 00001523: PUSH3 0x461bcd 00001527: PUSH1 0xe5 00001529: SHL 0000152a: DUP2 0000152b: MSTORE 0000152c: PUSH1 0x04 0000152e: ADD 0000152f: PUSH2 0x073d 00001532: SWAP1 00001533: PUSH2 0x2424 00001536: JUMP 00001537: JUMPDEST 00001538: CALLER 00001539: PUSH1 0x00 0000153b: SWAP1 0000153c: DUP2 0000153d: MSTORE 0000153e: PUSH1 0x08 00001540: PUSH1 0x20 00001542: MSTORE 00001543: PUSH1 0x40 00001545: DUP2 00001546: KECCAK256 00001547: SLOAD 00001548: PUSH2 0x1571 0000154b: SWAP1 0000154c: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000 0000156d: PUSH2 0x24e2 00001570: JUMP 00001571: JUMPDEST 00001572: SWAP1 00001573: POP 00001574: PUSH1 0x00 00001576: DUP2 00001577: GT 00001578: PUSH2 0x1593 0000157b: JUMPI 0000157c: PUSH1 0x40 0000157e: MLOAD 0000157f: PUSH3 0x461bcd 00001583: PUSH1 0xe5 00001585: SHL 00001586: DUP2 00001587: MSTORE 00001588: PUSH1 0x04 0000158a: ADD 0000158b: PUSH2 0x073d 0000158e: SWAP1 0000158f: PUSH2 0x245b 00001592: JUMP 00001593: JUMPDEST 00001594: PUSH2 0x15c7 00001597: PUSH1 0x01 00001599: PUSH1 0x01 0000159b: PUSH1 0xa0 0000159d: SHL 0000159e: SUB 0000159f: PUSH32 0x0000000000000000000000001e4ede388cbc9f4b5c79681b7f94d36a11abebc9 000015c0: AND 000015c1: CALLER 000015c2: DUP4 000015c3: PUSH2 0x18e4 000015c6: JUMP 000015c7: JUMPDEST 000015c8: CALLER 000015c9: PUSH1 0x00 000015cb: DUP2 000015cc: DUP2 000015cd: MSTORE 000015ce: PUSH1 0x08 000015d0: PUSH1 0x20 000015d2: MSTORE 000015d3: PUSH1 0x40 000015d5: SWAP1 000015d6: DUP2 000015d7: SWAP1 000015d8: KECCAK256 000015d9: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000 000015fa: SWAP1 000015fb: SSTORE 000015fc: MLOAD 000015fd: PUSH32 0x5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd9695 0000161e: SWAP1 0000161f: PUSH2 0x0b50 00001622: SWAP1 00001623: DUP5 00001624: DUP2 00001625: MSTORE 00001626: PUSH1 0x20 00001628: ADD 00001629: SWAP1 0000162a: JUMP 0000162b: JUMPDEST 0000162c: CALLER 0000162d: PUSH2 0x1634 00001630: PUSH2 0x13c2 00001633: JUMP 00001634: JUMPDEST 00001635: PUSH1 0x01 00001637: PUSH1 0x01 00001639: PUSH1 0xa0 0000163b: SHL 0000163c: SUB 0000163d: AND 0000163e: EQ 0000163f: PUSH2 0x165a 00001642: JUMPI 00001643: PUSH1 0x40 00001645: MLOAD 00001646: PUSH3 0x461bcd 0000164a: PUSH1 0xe5 0000164c: SHL 0000164d: DUP2 0000164e: MSTORE 0000164f: PUSH1 0x04 00001651: ADD 00001652: PUSH2 0x073d 00001655: SWAP1 00001656: PUSH2 0x233a 00001659: JUMP 0000165a: JUMPDEST 0000165b: PUSH1 0x01 0000165d: PUSH1 0x01 0000165f: PUSH1 0xa0 00001661: SHL 00001662: SUB 00001663: DUP2 00001664: AND 00001665: PUSH2 0x16bf 00001668: JUMPI 00001669: PUSH1 0x40 0000166b: MLOAD 0000166c: PUSH3 0x461bcd 00001670: PUSH1 0xe5 00001672: SHL 00001673: DUP2 00001674: MSTORE 00001675: PUSH1 0x20 00001677: PUSH1 0x04 00001679: DUP3 0000167a: ADD 0000167b: MSTORE 0000167c: PUSH1 0x26 0000167e: PUSH1 0x24 00001680: DUP3 00001681: ADD 00001682: MSTORE 00001683: PUSH32 0x4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061 000016a4: PUSH1 0x44 000016a6: DUP3 000016a7: ADD 000016a8: MSTORE 000016a9: PUSH6 0x646472657373 000016b0: PUSH1 0xd0 000016b2: SHL 000016b3: PUSH1 0x64 000016b5: DUP3 000016b6: ADD 000016b7: MSTORE 000016b8: PUSH1 0x84 000016ba: ADD 000016bb: PUSH2 0x073d 000016be: JUMP 000016bf: JUMPDEST 000016c0: PUSH2 0x16c8 000016c3: DUP2 000016c4: PUSH2 0x1a4f 000016c7: JUMP 000016c8: JUMPDEST 000016c9: POP 000016ca: JUMP 000016cb: JUMPDEST 000016cc: PUSH1 0x00 000016ce: DUP1 000016cf: PUSH1 0x00 000016d1: PUSH2 0x16d9 000016d4: DUP5 000016d5: PUSH2 0x1ac7 000016d8: JUMP 000016d9: JUMPDEST 000016da: POP 000016db: SWAP5 000016dc: SWAP4 000016dd: POP 000016de: POP 000016df: POP 000016e0: POP 000016e1: JUMP 000016e2: JUMPDEST 000016e3: PUSH1 0x01 000016e5: PUSH1 0x01 000016e7: PUSH1 0xa0 000016e9: SHL 000016ea: SUB 000016eb: DUP2 000016ec: AND 000016ed: PUSH1 0x00 000016ef: SWAP1 000016f0: DUP2 000016f1: MSTORE 000016f2: PUSH1 0x08 000016f4: PUSH1 0x20 000016f6: MSTORE 000016f7: PUSH1 0x40 000016f9: DUP2 000016fa: KECCAK256 000016fb: SLOAD 000016fc: PUSH32 0x0000000000000000000000000000000000000000000000000000000000d8e068 0000171d: NUMBER 0000171e: LT 0000171f: ISZERO 00001720: PUSH2 0x172c 00001723: JUMPI 00001724: POP 00001725: PUSH1 0x00 00001727: SWAP3 00001728: SWAP2 00001729: POP 0000172a: POP 0000172b: JUMP 0000172c: JUMPDEST 0000172d: PUSH32 0x0000000000000000000000000000000000000000000000000000000000fc9508 0000174e: NUMBER 0000174f: LT 00001750: PUSH2 0x1784 00001753: JUMPI 00001754: PUSH2 0x177d 00001757: DUP2 00001758: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000 00001779: PUSH2 0x24e2 0000177c: JUMP 0000177d: JUMPDEST 0000177e: SWAP4 0000177f: SWAP3 00001780: POP 00001781: POP 00001782: POP 00001783: JUMP 00001784: JUMPDEST 00001785: PUSH1 0x00 00001787: PUSH2 0x17b0 0000178a: PUSH32 0x0000000000000000000000000000000000000000000000000000000000d8e068 000017ab: NUMBER 000017ac: PUSH2 0x24e2 000017af: JUMP 000017b0: JUMPDEST 000017b1: SWAP1 000017b2: POP 000017b3: PUSH1 0x00 000017b5: PUSH32 0x000000000000000000000000000000000000000000000000000000000023b4a0 000017d6: PUSH2 0x17ff 000017d9: DUP4 000017da: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000 000017fb: PUSH2 0x24aa 000017fe: JUMP 000017ff: JUMPDEST 00001800: PUSH2 0x1809 00001803: SWAP2 00001804: SWAP1 00001805: PUSH2 0x24f9 00001808: JUMP 00001809: JUMPDEST 0000180a: SWAP1 0000180b: POP 0000180c: PUSH2 0x1815 0000180f: DUP4 00001810: DUP3 00001811: PUSH2 0x24e2 00001814: JUMP 00001815: JUMPDEST 00001816: SWAP6 00001817: SWAP5 00001818: POP 00001819: POP 0000181a: POP 0000181b: POP 0000181c: POP 0000181d: JUMP 0000181e: JUMPDEST 0000181f: PUSH1 0x00 00001821: DUP1 00001822: PUSH1 0x00 00001824: PUSH2 0x182c 00001827: DUP5 00001828: PUSH2 0x1ac7 0000182b: JUMP 0000182c: JUMPDEST 0000182d: SWAP1 0000182e: SWAP3 0000182f: POP 00001830: SWAP1 00001831: POP 00001832: DUP2 00001833: ISZERO 00001834: PUSH2 0x143c 00001837: JUMPI 00001838: DUP2 00001839: PUSH1 0x05 0000183b: PUSH1 0x00 0000183d: DUP3 0000183e: DUP3 0000183f: SLOAD 00001840: PUSH2 0x1849 00001843: SWAP2 00001844: SWAP1 00001845: PUSH2 0x2492 00001848: JUMP 00001849: JUMPDEST 0000184a: SWAP1 0000184b: SWAP2 0000184c: SSTORE 0000184d: POP 0000184e: POP 0000184f: PUSH1 0x01 00001851: PUSH1 0x01 00001853: PUSH1 0xa0 00001855: SHL 00001856: SUB 00001857: DUP1 00001858: DUP6 00001859: AND 0000185a: PUSH1 0x00 0000185c: SWAP1 0000185d: DUP2 0000185e: MSTORE 0000185f: PUSH1 0x08 00001861: PUSH1 0x20 00001863: MSTORE 00001864: PUSH1 0x40 00001866: SWAP1 00001867: KECCAK256 00001868: PUSH1 0x01 0000186a: ADD 0000186b: DUP3 0000186c: SWAP1 0000186d: SSTORE 0000186e: PUSH2 0x189a 00001871: SWAP1 00001872: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001893: AND 00001894: DUP6 00001895: DUP5 00001896: PUSH2 0x18e4 00001899: JUMP 0000189a: JUMPDEST 0000189b: DUP4 0000189c: PUSH1 0x01 0000189e: PUSH1 0x01 000018a0: PUSH1 0xa0 000018a2: SHL 000018a3: SUB 000018a4: AND 000018a5: PUSH32 0xc9695243a805adb74c91f28311176c65b417e842d5699893cef56d18bfa48cba 000018c6: DUP4 000018c7: PUSH1 0x40 000018c9: MLOAD 000018ca: PUSH2 0x18d5 000018cd: SWAP2 000018ce: DUP2 000018cf: MSTORE 000018d0: PUSH1 0x20 000018d2: ADD 000018d3: SWAP1 000018d4: JUMP 000018d5: JUMPDEST 000018d6: PUSH1 0x40 000018d8: MLOAD 000018d9: DUP1 000018da: SWAP2 000018db: SUB 000018dc: SWAP1 000018dd: LOG2 000018de: POP 000018df: SWAP3 000018e0: SWAP2 000018e1: POP 000018e2: POP 000018e3: JUMP 000018e4: JUMPDEST 000018e5: PUSH1 0x40 000018e7: DUP1 000018e8: MLOAD 000018e9: PUSH1 0x01 000018eb: PUSH1 0x01 000018ed: PUSH1 0xa0 000018ef: SHL 000018f0: SUB 000018f1: DUP5 000018f2: AND 000018f3: PUSH1 0x24 000018f5: DUP3 000018f6: ADD 000018f7: MSTORE 000018f8: PUSH1 0x44 000018fa: DUP1 000018fb: DUP3 000018fc: ADD 000018fd: DUP5 000018fe: SWAP1 000018ff: MSTORE 00001900: DUP3 00001901: MLOAD 00001902: DUP1 00001903: DUP4 00001904: SUB 00001905: SWAP1 00001906: SWAP2 00001907: ADD 00001908: DUP2 00001909: MSTORE 0000190a: PUSH1 0x64 0000190c: SWAP1 0000190d: SWAP2 0000190e: ADD 0000190f: SWAP1 00001910: SWAP2 00001911: MSTORE 00001912: PUSH1 0x20 00001914: DUP2 00001915: ADD 00001916: DUP1 00001917: MLOAD 00001918: PUSH1 0x01 0000191a: PUSH1 0x01 0000191c: PUSH1 0xe0 0000191e: SHL 0000191f: SUB 00001920: AND 00001921: PUSH4 0xa9059cbb 00001926: PUSH1 0xe0 00001928: SHL 00001929: OR 0000192a: SWAP1 0000192b: MSTORE 0000192c: PUSH2 0x09ff 0000192f: SWAP1 00001930: DUP5 00001931: SWAP1 00001932: PUSH2 0x1b85 00001935: JUMP 00001936: JUMPDEST 00001937: DUP1 00001938: SELFBALANCE 00001939: LT 0000193a: ISZERO 0000193b: PUSH2 0x1986 0000193e: JUMPI 0000193f: PUSH1 0x40 00001941: MLOAD 00001942: PUSH3 0x461bcd 00001946: PUSH1 0xe5 00001948: SHL 00001949: DUP2 0000194a: MSTORE 0000194b: PUSH1 0x20 0000194d: PUSH1 0x04 0000194f: DUP3 00001950: ADD 00001951: MSTORE 00001952: PUSH1 0x1d 00001954: PUSH1 0x24 00001956: DUP3 00001957: ADD 00001958: MSTORE 00001959: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e6365000000 0000197a: PUSH1 0x44 0000197c: DUP3 0000197d: ADD 0000197e: MSTORE 0000197f: PUSH1 0x64 00001981: ADD 00001982: PUSH2 0x073d 00001985: JUMP 00001986: JUMPDEST 00001987: PUSH1 0x00 00001989: DUP3 0000198a: PUSH1 0x01 0000198c: PUSH1 0x01 0000198e: PUSH1 0xa0 00001990: SHL 00001991: SUB 00001992: AND 00001993: DUP3 00001994: PUSH1 0x40 00001996: MLOAD 00001997: PUSH1 0x00 00001999: PUSH1 0x40 0000199b: MLOAD 0000199c: DUP1 0000199d: DUP4 0000199e: SUB 0000199f: DUP2 000019a0: DUP6 000019a1: DUP8 000019a2: GAS 000019a3: CALL 000019a4: SWAP3 000019a5: POP 000019a6: POP 000019a7: POP 000019a8: RETURNDATASIZE 000019a9: DUP1 000019aa: PUSH1 0x00 000019ac: DUP2 000019ad: EQ 000019ae: PUSH2 0x19d3 000019b1: JUMPI 000019b2: PUSH1 0x40 000019b4: MLOAD 000019b5: SWAP2 000019b6: POP 000019b7: PUSH1 0x1f 000019b9: NOT 000019ba: PUSH1 0x3f 000019bc: RETURNDATASIZE 000019bd: ADD 000019be: AND 000019bf: DUP3 000019c0: ADD 000019c1: PUSH1 0x40 000019c3: MSTORE 000019c4: RETURNDATASIZE 000019c5: DUP3 000019c6: MSTORE 000019c7: RETURNDATASIZE 000019c8: PUSH1 0x00 000019ca: PUSH1 0x20 000019cc: DUP5 000019cd: ADD 000019ce: RETURNDATACOPY 000019cf: PUSH2 0x19d8 000019d2: JUMP 000019d3: JUMPDEST 000019d4: PUSH1 0x60 000019d6: SWAP2 000019d7: POP 000019d8: JUMPDEST 000019d9: POP 000019da: POP 000019db: SWAP1 000019dc: POP 000019dd: DUP1 000019de: PUSH2 0x09ff 000019e1: JUMPI 000019e2: PUSH1 0x40 000019e4: MLOAD 000019e5: PUSH3 0x461bcd 000019e9: PUSH1 0xe5 000019eb: SHL 000019ec: DUP2 000019ed: MSTORE 000019ee: PUSH1 0x20 000019f0: PUSH1 0x04 000019f2: DUP3 000019f3: ADD 000019f4: MSTORE 000019f5: PUSH1 0x3a 000019f7: PUSH1 0x24 000019f9: DUP3 000019fa: ADD 000019fb: MSTORE 000019fc: PUSH32 0x416464726573733a20756e61626c6520746f2073656e642076616c75652c2072 00001a1d: PUSH1 0x44 00001a1f: DUP3 00001a20: ADD 00001a21: MSTORE 00001a22: PUSH32 0x6563697069656e74206d61792068617665207265766572746564000000000000 00001a43: PUSH1 0x64 00001a45: DUP3 00001a46: ADD 00001a47: MSTORE 00001a48: PUSH1 0x84 00001a4a: ADD 00001a4b: PUSH2 0x073d 00001a4e: JUMP 00001a4f: JUMPDEST 00001a50: PUSH1 0x00 00001a52: DUP1 00001a53: SLOAD 00001a54: PUSH1 0x01 00001a56: PUSH1 0x01 00001a58: PUSH1 0xa0 00001a5a: SHL 00001a5b: SUB 00001a5c: DUP4 00001a5d: DUP2 00001a5e: AND 00001a5f: PUSH1 0x01 00001a61: PUSH1 0x01 00001a63: PUSH1 0xa0 00001a65: SHL 00001a66: SUB 00001a67: NOT 00001a68: DUP4 00001a69: AND 00001a6a: DUP2 00001a6b: OR 00001a6c: DUP5 00001a6d: SSTORE 00001a6e: PUSH1 0x40 00001a70: MLOAD 00001a71: SWAP2 00001a72: SWAP1 00001a73: SWAP3 00001a74: AND 00001a75: SWAP3 00001a76: DUP4 00001a77: SWAP2 00001a78: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00001a99: SWAP2 00001a9a: SWAP1 00001a9b: LOG3 00001a9c: POP 00001a9d: POP 00001a9e: JUMP 00001a9f: JUMPDEST 00001aa0: PUSH1 0x00 00001aa2: DUP1 00001aa3: PUSH1 0x00 00001aa5: PUSH2 0x1ab0 00001aa8: DUP8 00001aa9: DUP8 00001aaa: DUP8 00001aab: DUP8 00001aac: PUSH2 0x1c57 00001aaf: JUMP 00001ab0: JUMPDEST 00001ab1: SWAP2 00001ab2: POP 00001ab3: SWAP2 00001ab4: POP 00001ab5: PUSH2 0x1abd 00001ab8: DUP2 00001ab9: PUSH2 0x1d3a 00001abc: JUMP 00001abd: JUMPDEST 00001abe: POP 00001abf: SWAP6 00001ac0: SWAP5 00001ac1: POP 00001ac2: POP 00001ac3: POP 00001ac4: POP 00001ac5: POP 00001ac6: JUMP 00001ac7: JUMPDEST 00001ac8: PUSH1 0x00 00001aca: DUP1 00001acb: PUSH1 0x00 00001acd: PUSH2 0x1ad4 00001ad0: PUSH2 0x1ef0 00001ad3: JUMP 00001ad4: JUMPDEST 00001ad5: PUSH1 0x01 00001ad7: PUSH1 0x01 00001ad9: PUSH1 0xa0 00001adb: SHL 00001adc: SUB 00001add: DUP6 00001ade: AND 00001adf: PUSH1 0x00 00001ae1: SWAP1 00001ae2: DUP2 00001ae3: MSTORE 00001ae4: PUSH1 0x08 00001ae6: PUSH1 0x20 00001ae8: MSTORE 00001ae9: PUSH1 0x40 00001aeb: DUP2 00001aec: KECCAK256 00001aed: PUSH1 0x01 00001aef: DUP2 00001af0: ADD 00001af1: SLOAD 00001af2: SWAP1 00001af3: SLOAD 00001af4: SWAP3 00001af5: SWAP4 00001af6: POP 00001af7: SWAP2 00001af8: PUSH2 0x1b21 00001afb: SWAP1 00001afc: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000 00001b1d: PUSH2 0x24e2 00001b20: JUMP 00001b21: JUMPDEST 00001b22: SWAP1 00001b23: POP 00001b24: PUSH1 0x00 00001b26: PUSH1 0x03 00001b28: SLOAD 00001b29: DUP5 00001b2a: PUSH2 0x1b33 00001b2d: SWAP2 00001b2e: SWAP1 00001b2f: PUSH2 0x24f9 00001b32: JUMP 00001b33: JUMPDEST 00001b34: SWAP1 00001b35: POP 00001b36: PUSH1 0x00 00001b38: PUSH32 0x00000000000000000000000000000000000000000000032d26d12e980b600000 00001b59: DUP4 00001b5a: PUSH2 0x1b63 00001b5d: DUP7 00001b5e: DUP6 00001b5f: PUSH2 0x24e2 00001b62: JUMP 00001b63: JUMPDEST 00001b64: PUSH2 0x1b6d 00001b67: SWAP2 00001b68: SWAP1 00001b69: PUSH2 0x24aa 00001b6c: JUMP 00001b6d: JUMPDEST 00001b6e: PUSH2 0x1b77 00001b71: SWAP2 00001b72: SWAP1 00001b73: PUSH2 0x24f9 00001b76: JUMP 00001b77: JUMPDEST 00001b78: SWAP9 00001b79: SWAP2 00001b7a: SWAP8 00001b7b: POP 00001b7c: SWAP1 00001b7d: SWAP6 00001b7e: POP 00001b7f: POP 00001b80: POP 00001b81: POP 00001b82: POP 00001b83: POP 00001b84: JUMP 00001b85: JUMPDEST 00001b86: PUSH1 0x00 00001b88: PUSH2 0x1bda 00001b8b: DUP3 00001b8c: PUSH1 0x40 00001b8e: MLOAD 00001b8f: DUP1 00001b90: PUSH1 0x40 00001b92: ADD 00001b93: PUSH1 0x40 00001b95: MSTORE 00001b96: DUP1 00001b97: PUSH1 0x20 00001b99: DUP2 00001b9a: MSTORE 00001b9b: PUSH1 0x20 00001b9d: ADD 00001b9e: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 00001bbf: DUP2 00001bc0: MSTORE 00001bc1: POP 00001bc2: DUP6 00001bc3: PUSH1 0x01 00001bc5: PUSH1 0x01 00001bc7: PUSH1 0xa0 00001bc9: SHL 00001bca: SUB 00001bcb: AND 00001bcc: PUSH2 0x1f9f 00001bcf: SWAP1 00001bd0: SWAP3 00001bd1: SWAP2 00001bd2: SWAP1 00001bd3: PUSH4 0xffffffff 00001bd8: AND 00001bd9: JUMP 00001bda: JUMPDEST 00001bdb: DUP1 00001bdc: MLOAD 00001bdd: SWAP1 00001bde: SWAP2 00001bdf: POP 00001be0: ISZERO 00001be1: PUSH2 0x09ff 00001be4: JUMPI 00001be5: DUP1 00001be6: DUP1 00001be7: PUSH1 0x20 00001be9: ADD 00001bea: SWAP1 00001beb: MLOAD 00001bec: DUP2 00001bed: ADD 00001bee: SWAP1 00001bef: PUSH2 0x1bf8 00001bf2: SWAP2 00001bf3: SWAP1 00001bf4: PUSH2 0x251b 00001bf7: JUMP 00001bf8: JUMPDEST 00001bf9: PUSH2 0x09ff 00001bfc: JUMPI 00001bfd: PUSH1 0x40 00001bff: MLOAD 00001c00: PUSH3 0x461bcd 00001c04: PUSH1 0xe5 00001c06: SHL 00001c07: DUP2 00001c08: MSTORE 00001c09: PUSH1 0x20 00001c0b: PUSH1 0x04 00001c0d: DUP3 00001c0e: ADD 00001c0f: MSTORE 00001c10: PUSH1 0x2a 00001c12: PUSH1 0x24 00001c14: DUP3 00001c15: ADD 00001c16: MSTORE 00001c17: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 00001c38: PUSH1 0x44 00001c3a: DUP3 00001c3b: ADD 00001c3c: MSTORE 00001c3d: PUSH10 0x1bdd081cdd58d8d95959 00001c48: PUSH1 0xb2 00001c4a: SHL 00001c4b: PUSH1 0x64 00001c4d: DUP3 00001c4e: ADD 00001c4f: MSTORE 00001c50: PUSH1 0x84 00001c52: ADD 00001c53: PUSH2 0x073d 00001c56: JUMP 00001c57: JUMPDEST 00001c58: PUSH1 0x00 00001c5a: DUP1 00001c5b: PUSH16 0xa2a8918ca85bafe22016d0b997e4df60 00001c6c: PUSH1 0x01 00001c6e: PUSH1 0xff 00001c70: SHL 00001c71: SUB 00001c72: DUP4 00001c73: GT 00001c74: ISZERO 00001c75: PUSH2 0x1c84 00001c78: JUMPI 00001c79: POP 00001c7a: PUSH1 0x00 00001c7c: SWAP1 00001c7d: POP 00001c7e: PUSH1 0x03 00001c80: PUSH2 0x1d31 00001c83: JUMP 00001c84: JUMPDEST 00001c85: DUP5 00001c86: PUSH1 0xff 00001c88: AND 00001c89: PUSH1 0x1b 00001c8b: EQ 00001c8c: ISZERO 00001c8d: DUP1 00001c8e: ISZERO 00001c8f: PUSH2 0x1c9c 00001c92: JUMPI 00001c93: POP 00001c94: DUP5 00001c95: PUSH1 0xff 00001c97: AND 00001c98: PUSH1 0x1c 00001c9a: EQ 00001c9b: ISZERO 00001c9c: JUMPDEST 00001c9d: ISZERO 00001c9e: PUSH2 0x1cad 00001ca1: JUMPI 00001ca2: POP 00001ca3: PUSH1 0x00 00001ca5: SWAP1 00001ca6: POP 00001ca7: PUSH1 0x04 00001ca9: PUSH2 0x1d31 00001cac: JUMP 00001cad: JUMPDEST 00001cae: PUSH1 0x40 00001cb0: DUP1 00001cb1: MLOAD 00001cb2: PUSH1 0x00 00001cb4: DUP1 00001cb5: DUP3 00001cb6: MSTORE 00001cb7: PUSH1 0x20 00001cb9: DUP3 00001cba: ADD 00001cbb: DUP1 00001cbc: DUP5 00001cbd: MSTORE 00001cbe: DUP10 00001cbf: SWAP1 00001cc0: MSTORE 00001cc1: PUSH1 0xff 00001cc3: DUP9 00001cc4: AND 00001cc5: SWAP3 00001cc6: DUP3 00001cc7: ADD 00001cc8: SWAP3 00001cc9: SWAP1 00001cca: SWAP3 00001ccb: MSTORE 00001ccc: PUSH1 0x60 00001cce: DUP2 00001ccf: ADD 00001cd0: DUP7 00001cd1: SWAP1 00001cd2: MSTORE 00001cd3: PUSH1 0x80 00001cd5: DUP2 00001cd6: ADD 00001cd7: DUP6 00001cd8: SWAP1 00001cd9: MSTORE 00001cda: PUSH1 0x01 00001cdc: SWAP1 00001cdd: PUSH1 0xa0 00001cdf: ADD 00001ce0: PUSH1 0x20 00001ce2: PUSH1 0x40 00001ce4: MLOAD 00001ce5: PUSH1 0x20 00001ce7: DUP2 00001ce8: SUB 00001ce9: SWAP1 00001cea: DUP1 00001ceb: DUP5 00001cec: SUB 00001ced: SWAP1 00001cee: DUP6 00001cef: GAS 00001cf0: STATICCALL 00001cf1: ISZERO 00001cf2: DUP1 00001cf3: ISZERO 00001cf4: PUSH2 0x1d01 00001cf7: JUMPI 00001cf8: RETURNDATASIZE 00001cf9: PUSH1 0x00 00001cfb: DUP1 00001cfc: RETURNDATACOPY 00001cfd: RETURNDATASIZE 00001cfe: PUSH1 0x00 00001d00: REVERT 00001d01: JUMPDEST 00001d02: POP 00001d03: POP 00001d04: PUSH1 0x40 00001d06: MLOAD 00001d07: PUSH1 0x1f 00001d09: NOT 00001d0a: ADD 00001d0b: MLOAD 00001d0c: SWAP2 00001d0d: POP 00001d0e: POP 00001d0f: PUSH1 0x01 00001d11: PUSH1 0x01 00001d13: PUSH1 0xa0 00001d15: SHL 00001d16: SUB 00001d17: DUP2 00001d18: AND 00001d19: PUSH2 0x1d2a 00001d1c: JUMPI 00001d1d: PUSH1 0x00 00001d1f: PUSH1 0x01 00001d21: SWAP3 00001d22: POP 00001d23: SWAP3 00001d24: POP 00001d25: POP 00001d26: PUSH2 0x1d31 00001d29: JUMP 00001d2a: JUMPDEST 00001d2b: SWAP2 00001d2c: POP 00001d2d: PUSH1 0x00 00001d2f: SWAP1 00001d30: POP 00001d31: JUMPDEST 00001d32: SWAP5 00001d33: POP 00001d34: SWAP5 00001d35: SWAP3 00001d36: POP 00001d37: POP 00001d38: POP 00001d39: JUMP 00001d3a: JUMPDEST 00001d3b: PUSH1 0x00 00001d3d: DUP2 00001d3e: PUSH1 0x04 00001d40: DUP2 00001d41: GT 00001d42: ISZERO 00001d43: PUSH2 0x1d4e 00001d46: JUMPI 00001d47: PUSH2 0x1d4e 00001d4a: PUSH2 0x2117 00001d4d: JUMP 00001d4e: JUMPDEST 00001d4f: EQ 00001d50: ISZERO 00001d51: PUSH2 0x1d57 00001d54: JUMPI 00001d55: POP 00001d56: JUMP 00001d57: JUMPDEST 00001d58: PUSH1 0x01 00001d5a: DUP2 00001d5b: PUSH1 0x04 00001d5d: DUP2 00001d5e: GT 00001d5f: ISZERO 00001d60: PUSH2 0x1d6b 00001d63: JUMPI 00001d64: PUSH2 0x1d6b 00001d67: PUSH2 0x2117 00001d6a: JUMP 00001d6b: JUMPDEST 00001d6c: EQ 00001d6d: ISZERO 00001d6e: PUSH2 0x1db4 00001d71: JUMPI 00001d72: PUSH1 0x40 00001d74: MLOAD 00001d75: PUSH3 0x461bcd 00001d79: PUSH1 0xe5 00001d7b: SHL 00001d7c: DUP2 00001d7d: MSTORE 00001d7e: PUSH1 0x20 00001d80: PUSH1 0x04 00001d82: DUP3 00001d83: ADD 00001d84: MSTORE 00001d85: PUSH1 0x18 00001d87: PUSH1 0x24 00001d89: DUP3 00001d8a: ADD 00001d8b: MSTORE 00001d8c: PUSH24 0x45434453413a20696e76616c6964207369676e6174757265 00001da5: PUSH1 0x40 00001da7: SHL 00001da8: PUSH1 0x44 00001daa: DUP3 00001dab: ADD 00001dac: MSTORE 00001dad: PUSH1 0x64 00001daf: ADD 00001db0: PUSH2 0x073d 00001db3: JUMP 00001db4: JUMPDEST 00001db5: PUSH1 0x02 00001db7: DUP2 00001db8: PUSH1 0x04 00001dba: DUP2 00001dbb: GT 00001dbc: ISZERO 00001dbd: PUSH2 0x1dc8 00001dc0: JUMPI 00001dc1: PUSH2 0x1dc8 00001dc4: PUSH2 0x2117 00001dc7: JUMP 00001dc8: JUMPDEST 00001dc9: EQ 00001dca: ISZERO 00001dcb: PUSH2 0x1e16 00001dce: JUMPI 00001dcf: PUSH1 0x40 00001dd1: MLOAD 00001dd2: PUSH3 0x461bcd 00001dd6: PUSH1 0xe5 00001dd8: SHL 00001dd9: DUP2 00001dda: MSTORE 00001ddb: PUSH1 0x20 00001ddd: PUSH1 0x04 00001ddf: DUP3 00001de0: ADD 00001de1: MSTORE 00001de2: PUSH1 0x1f 00001de4: PUSH1 0x24 00001de6: DUP3 00001de7: ADD 00001de8: MSTORE 00001de9: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265206c656e67746800 00001e0a: PUSH1 0x44 00001e0c: DUP3 00001e0d: ADD 00001e0e: MSTORE 00001e0f: PUSH1 0x64 00001e11: ADD 00001e12: PUSH2 0x073d 00001e15: JUMP 00001e16: JUMPDEST 00001e17: PUSH1 0x03 00001e19: DUP2 00001e1a: PUSH1 0x04 00001e1c: DUP2 00001e1d: GT 00001e1e: ISZERO 00001e1f: PUSH2 0x1e2a 00001e22: JUMPI 00001e23: PUSH2 0x1e2a 00001e26: PUSH2 0x2117 00001e29: JUMP 00001e2a: JUMPDEST 00001e2b: EQ 00001e2c: ISZERO 00001e2d: PUSH2 0x1e83 00001e30: JUMPI 00001e31: PUSH1 0x40 00001e33: MLOAD 00001e34: PUSH3 0x461bcd 00001e38: PUSH1 0xe5 00001e3a: SHL 00001e3b: DUP2 00001e3c: MSTORE 00001e3d: PUSH1 0x20 00001e3f: PUSH1 0x04 00001e41: DUP3 00001e42: ADD 00001e43: MSTORE 00001e44: PUSH1 0x22 00001e46: PUSH1 0x24 00001e48: DUP3 00001e49: ADD 00001e4a: MSTORE 00001e4b: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202773272076616c 00001e6c: PUSH1 0x44 00001e6e: DUP3 00001e6f: ADD 00001e70: MSTORE 00001e71: PUSH2 0x7565 00001e74: PUSH1 0xf0 00001e76: SHL 00001e77: PUSH1 0x64 00001e79: DUP3 00001e7a: ADD 00001e7b: MSTORE 00001e7c: PUSH1 0x84 00001e7e: ADD 00001e7f: PUSH2 0x073d 00001e82: JUMP 00001e83: JUMPDEST 00001e84: PUSH1 0x04 00001e86: DUP2 00001e87: PUSH1 0x04 00001e89: DUP2 00001e8a: GT 00001e8b: ISZERO 00001e8c: PUSH2 0x1e97 00001e8f: JUMPI 00001e90: PUSH2 0x1e97 00001e93: PUSH2 0x2117 00001e96: JUMP 00001e97: JUMPDEST 00001e98: EQ 00001e99: ISZERO 00001e9a: PUSH2 0x16c8 00001e9d: JUMPI 00001e9e: PUSH1 0x40 00001ea0: MLOAD 00001ea1: PUSH3 0x461bcd 00001ea5: PUSH1 0xe5 00001ea7: SHL 00001ea8: DUP2 00001ea9: MSTORE 00001eaa: PUSH1 0x20 00001eac: PUSH1 0x04 00001eae: DUP3 00001eaf: ADD 00001eb0: MSTORE 00001eb1: PUSH1 0x22 00001eb3: PUSH1 0x24 00001eb5: DUP3 00001eb6: ADD 00001eb7: MSTORE 00001eb8: PUSH32 0x45434453413a20696e76616c6964207369676e6174757265202776272076616c 00001ed9: PUSH1 0x44 00001edb: DUP3 00001edc: ADD 00001edd: MSTORE 00001ede: PUSH2 0x7565 00001ee1: PUSH1 0xf0 00001ee3: SHL 00001ee4: PUSH1 0x64 00001ee6: DUP3 00001ee7: ADD 00001ee8: MSTORE 00001ee9: PUSH1 0x84 00001eeb: ADD 00001eec: PUSH2 0x073d 00001eef: JUMP 00001ef0: JUMPDEST 00001ef1: PUSH1 0x40 00001ef3: MLOAD 00001ef4: PUSH4 0x70a08231 00001ef9: PUSH1 0xe0 00001efb: SHL 00001efc: DUP2 00001efd: MSTORE 00001efe: PUSH1 0x00 00001f00: SWAP1 00001f01: PUSH1 0x01 00001f03: PUSH1 0x01 00001f05: PUSH1 0xa0 00001f07: SHL 00001f08: SUB 00001f09: PUSH32 0x000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00001f2a: AND 00001f2b: SWAP1 00001f2c: PUSH4 0x70a08231 00001f31: SWAP1 00001f32: PUSH2 0x1f3f 00001f35: SWAP1 00001f36: ADDRESS 00001f37: SWAP1 00001f38: PUSH1 0x04 00001f3a: ADD 00001f3b: PUSH2 0x22f1 00001f3e: JUMP 00001f3f: JUMPDEST 00001f40: PUSH1 0x20 00001f42: PUSH1 0x40 00001f44: MLOAD 00001f45: DUP1 00001f46: DUP4 00001f47: SUB 00001f48: DUP2 00001f49: DUP7 00001f4a: GAS 00001f4b: STATICCALL 00001f4c: ISZERO 00001f4d: DUP1 00001f4e: ISZERO 00001f4f: PUSH2 0x1f5c 00001f52: JUMPI 00001f53: RETURNDATASIZE 00001f54: PUSH1 0x00 00001f56: DUP1 00001f57: RETURNDATACOPY 00001f58: RETURNDATASIZE 00001f59: PUSH1 0x00 00001f5b: REVERT 00001f5c: JUMPDEST 00001f5d: POP 00001f5e: POP 00001f5f: POP 00001f60: POP 00001f61: PUSH1 0x40 00001f63: MLOAD 00001f64: RETURNDATASIZE 00001f65: PUSH1 0x1f 00001f67: NOT 00001f68: PUSH1 0x1f 00001f6a: DUP3 00001f6b: ADD 00001f6c: AND 00001f6d: DUP3 00001f6e: ADD 00001f6f: DUP1 00001f70: PUSH1 0x40 00001f72: MSTORE 00001f73: POP 00001f74: DUP2 00001f75: ADD 00001f76: SWAP1 00001f77: PUSH2 0x1f80 00001f7a: SWAP2 00001f7b: SWAP1 00001f7c: PUSH2 0x24c9 00001f7f: JUMP 00001f80: JUMPDEST 00001f81: PUSH1 0x05 00001f83: SLOAD 00001f84: PUSH1 0x06 00001f86: SLOAD 00001f87: PUSH2 0x1f90 00001f8a: SWAP2 00001f8b: SWAP1 00001f8c: PUSH2 0x2492 00001f8f: JUMP 00001f90: JUMPDEST 00001f91: PUSH2 0x1f9a 00001f94: SWAP2 00001f95: SWAP1 00001f96: PUSH2 0x2492 00001f99: JUMP 00001f9a: JUMPDEST 00001f9b: SWAP1 00001f9c: POP 00001f9d: SWAP1 00001f9e: JUMP 00001f9f: JUMPDEST 00001fa0: PUSH1 0x60 00001fa2: PUSH2 0x1fae 00001fa5: DUP5 00001fa6: DUP5 00001fa7: PUSH1 0x00 00001fa9: DUP6 00001faa: PUSH2 0x1fb6 00001fad: JUMP 00001fae: JUMPDEST 00001faf: SWAP5 00001fb0: SWAP4 00001fb1: POP 00001fb2: POP 00001fb3: POP 00001fb4: POP 00001fb5: JUMP 00001fb6: JUMPDEST 00001fb7: PUSH1 0x60 00001fb9: DUP3 00001fba: SELFBALANCE 00001fbb: LT 00001fbc: ISZERO 00001fbd: PUSH2 0x2017 00001fc0: JUMPI 00001fc1: PUSH1 0x40 00001fc3: MLOAD 00001fc4: PUSH3 0x461bcd 00001fc8: PUSH1 0xe5 00001fca: SHL 00001fcb: DUP2 00001fcc: MSTORE 00001fcd: PUSH1 0x20 00001fcf: PUSH1 0x04 00001fd1: DUP3 00001fd2: ADD 00001fd3: MSTORE 00001fd4: PUSH1 0x26 00001fd6: PUSH1 0x24 00001fd8: DUP3 00001fd9: ADD 00001fda: MSTORE 00001fdb: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 00001ffc: PUSH1 0x44 00001ffe: DUP3 00001fff: ADD 00002000: MSTORE 00002001: PUSH6 0x1c8818d85b1b 00002008: PUSH1 0xd2 0000200a: SHL 0000200b: PUSH1 0x64 0000200d: DUP3 0000200e: ADD 0000200f: MSTORE 00002010: PUSH1 0x84 00002012: ADD 00002013: PUSH2 0x073d 00002016: JUMP 00002017: JUMPDEST 00002018: DUP5 00002019: EXTCODESIZE 0000201a: PUSH2 0x2065 0000201d: JUMPI 0000201e: PUSH1 0x40 00002020: MLOAD 00002021: PUSH3 0x461bcd 00002025: PUSH1 0xe5 00002027: SHL 00002028: DUP2 00002029: MSTORE 0000202a: PUSH1 0x20 0000202c: PUSH1 0x04 0000202e: DUP3 0000202f: ADD 00002030: MSTORE 00002031: PUSH1 0x1d 00002033: PUSH1 0x24 00002035: DUP3 00002036: ADD 00002037: MSTORE 00002038: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 00002059: PUSH1 0x44 0000205b: DUP3 0000205c: ADD 0000205d: MSTORE 0000205e: PUSH1 0x64 00002060: ADD 00002061: PUSH2 0x073d 00002064: JUMP 00002065: JUMPDEST 00002066: PUSH1 0x00 00002068: DUP1 00002069: DUP7 0000206a: PUSH1 0x01 0000206c: PUSH1 0x01 0000206e: PUSH1 0xa0 00002070: SHL 00002071: SUB 00002072: AND 00002073: DUP6 00002074: DUP8 00002075: PUSH1 0x40 00002077: MLOAD 00002078: PUSH2 0x2081 0000207b: SWAP2 0000207c: SWAP1 0000207d: PUSH2 0x256d 00002080: JUMP 00002081: JUMPDEST 00002082: PUSH1 0x00 00002084: PUSH1 0x40 00002086: MLOAD 00002087: DUP1 00002088: DUP4 00002089: SUB 0000208a: DUP2 0000208b: DUP6 0000208c: DUP8 0000208d: GAS 0000208e: CALL 0000208f: SWAP3 00002090: POP 00002091: POP 00002092: POP 00002093: RETURNDATASIZE 00002094: DUP1 00002095: PUSH1 0x00 00002097: DUP2 00002098: EQ 00002099: PUSH2 0x20be 0000209c: JUMPI 0000209d: PUSH1 0x40 0000209f: MLOAD 000020a0: SWAP2 000020a1: POP 000020a2: PUSH1 0x1f 000020a4: NOT 000020a5: PUSH1 0x3f 000020a7: RETURNDATASIZE 000020a8: ADD 000020a9: AND 000020aa: DUP3 000020ab: ADD 000020ac: PUSH1 0x40 000020ae: MSTORE 000020af: RETURNDATASIZE 000020b0: DUP3 000020b1: MSTORE 000020b2: RETURNDATASIZE 000020b3: PUSH1 0x00 000020b5: PUSH1 0x20 000020b7: DUP5 000020b8: ADD 000020b9: RETURNDATACOPY 000020ba: PUSH2 0x20c3 000020bd: JUMP 000020be: JUMPDEST 000020bf: PUSH1 0x60 000020c1: SWAP2 000020c2: POP 000020c3: JUMPDEST 000020c4: POP 000020c5: SWAP2 000020c6: POP 000020c7: SWAP2 000020c8: POP 000020c9: PUSH2 0x20d3 000020cc: DUP3 000020cd: DUP3 000020ce: DUP7 000020cf: PUSH2 0x20de 000020d2: JUMP 000020d3: JUMPDEST 000020d4: SWAP8 000020d5: SWAP7 000020d6: POP 000020d7: POP 000020d8: POP 000020d9: POP 000020da: POP 000020db: POP 000020dc: POP 000020dd: JUMP 000020de: JUMPDEST 000020df: PUSH1 0x60 000020e1: DUP4 000020e2: ISZERO 000020e3: PUSH2 0x20ed 000020e6: JUMPI 000020e7: POP 000020e8: DUP2 000020e9: PUSH2 0x177d 000020ec: JUMP 000020ed: JUMPDEST 000020ee: DUP3 000020ef: MLOAD 000020f0: ISZERO 000020f1: PUSH2 0x20fd 000020f4: JUMPI 000020f5: DUP3 000020f6: MLOAD 000020f7: DUP1 000020f8: DUP5 000020f9: PUSH1 0x20 000020fb: ADD 000020fc: REVERT 000020fd: JUMPDEST 000020fe: DUP2 000020ff: PUSH1 0x40 00002101: MLOAD 00002102: PUSH3 0x461bcd 00002106: PUSH1 0xe5 00002108: SHL 00002109: DUP2 0000210a: MSTORE 0000210b: PUSH1 0x04 0000210d: ADD 0000210e: PUSH2 0x073d 00002111: SWAP2 00002112: SWAP1 00002113: PUSH2 0x2589 00002116: JUMP 00002117: JUMPDEST 00002118: PUSH4 0x4e487b71 0000211d: PUSH1 0xe0 0000211f: SHL 00002120: PUSH1 0x00 00002122: MSTORE 00002123: PUSH1 0x21 00002125: PUSH1 0x04 00002127: MSTORE 00002128: PUSH1 0x24 0000212a: PUSH1 0x00 0000212c: REVERT 0000212d: JUMPDEST 0000212e: PUSH1 0x20 00002130: DUP2 00002131: ADD 00002132: PUSH1 0x03 00002134: DUP4 00002135: LT 00002136: PUSH2 0x214f 00002139: JUMPI 0000213a: PUSH4 0x4e487b71 0000213f: PUSH1 0xe0 00002141: SHL 00002142: PUSH1 0x00 00002144: MSTORE 00002145: PUSH1 0x21 00002147: PUSH1 0x04 00002149: MSTORE 0000214a: PUSH1 0x24 0000214c: PUSH1 0x00 0000214e: REVERT 0000214f: JUMPDEST 00002150: SWAP2 00002151: SWAP1 00002152: MSTORE 00002153: SWAP1 00002154: JUMP 00002155: JUMPDEST 00002156: DUP1 00002157: CALLDATALOAD 00002158: PUSH1 0x01 0000215a: PUSH1 0x01 0000215c: PUSH1 0xa0 0000215e: SHL 0000215f: SUB 00002160: DUP2 00002161: AND 00002162: DUP2 00002163: EQ 00002164: PUSH2 0x216c 00002167: JUMPI 00002168: PUSH1 0x00 0000216a: DUP1 0000216b: REVERT 0000216c: JUMPDEST 0000216d: SWAP2 0000216e: SWAP1 0000216f: POP 00002170: JUMP 00002171: JUMPDEST 00002172: PUSH1 0x00 00002174: PUSH1 0x20 00002176: DUP3 00002177: DUP5 00002178: SUB 00002179: SLT 0000217a: ISZERO 0000217b: PUSH2 0x2183 0000217e: JUMPI 0000217f: PUSH1 0x00 00002181: DUP1 00002182: REVERT 00002183: JUMPDEST 00002184: PUSH2 0x177d 00002187: DUP3 00002188: PUSH2 0x2155 0000218b: JUMP 0000218c: JUMPDEST 0000218d: PUSH4 0x4e487b71 00002192: PUSH1 0xe0 00002194: SHL 00002195: PUSH1 0x00 00002197: MSTORE 00002198: PUSH1 0x41 0000219a: PUSH1 0x04 0000219c: MSTORE 0000219d: PUSH1 0x24 0000219f: PUSH1 0x00 000021a1: REVERT 000021a2: JUMPDEST 000021a3: PUSH1 0x00 000021a5: DUP3 000021a6: PUSH1 0x1f 000021a8: DUP4 000021a9: ADD 000021aa: SLT 000021ab: PUSH2 0x21b3 000021ae: JUMPI 000021af: PUSH1 0x00 000021b1: DUP1 000021b2: REVERT 000021b3: JUMPDEST 000021b4: DUP2 000021b5: CALLDATALOAD 000021b6: PUSH1 0x20 000021b8: PUSH8 0xffffffffffffffff 000021c1: DUP1 000021c2: DUP4 000021c3: GT 000021c4: ISZERO 000021c5: PUSH2 0x21d0 000021c8: JUMPI 000021c9: PUSH2 0x21d0 000021cc: PUSH2 0x218c 000021cf: JUMP 000021d0: JUMPDEST 000021d1: DUP3 000021d2: PUSH1 0x05 000021d4: SHL 000021d5: PUSH1 0x40 000021d7: MLOAD 000021d8: PUSH1 0x1f 000021da: NOT 000021db: PUSH1 0x3f 000021dd: DUP4 000021de: ADD 000021df: AND 000021e0: DUP2 000021e1: ADD 000021e2: DUP2 000021e3: DUP2 000021e4: LT 000021e5: DUP5 000021e6: DUP3 000021e7: GT 000021e8: OR 000021e9: ISZERO 000021ea: PUSH2 0x21f5 000021ed: JUMPI 000021ee: PUSH2 0x21f5 000021f1: PUSH2 0x218c 000021f4: JUMP 000021f5: JUMPDEST 000021f6: PUSH1 0x40 000021f8: MSTORE 000021f9: SWAP4 000021fa: DUP5 000021fb: MSTORE 000021fc: DUP6 000021fd: DUP2 000021fe: ADD 000021ff: DUP4 00002200: ADD 00002201: SWAP4 00002202: DUP4 00002203: DUP2 00002204: ADD 00002205: SWAP3 00002206: POP 00002207: DUP8 00002208: DUP6 00002209: GT 0000220a: ISZERO 0000220b: PUSH2 0x2213 0000220e: JUMPI 0000220f: PUSH1 0x00 00002211: DUP1 00002212: REVERT 00002213: JUMPDEST 00002214: DUP4 00002215: DUP8 00002216: ADD 00002217: SWAP2 00002218: POP 00002219: JUMPDEST 0000221a: DUP5 0000221b: DUP3 0000221c: LT 0000221d: ISZERO 0000221e: PUSH2 0x20d3 00002221: JUMPI 00002222: PUSH2 0x222a 00002225: DUP3 00002226: PUSH2 0x2155 00002229: JUMP 0000222a: JUMPDEST 0000222b: DUP4 0000222c: MSTORE 0000222d: SWAP2 0000222e: DUP4 0000222f: ADD 00002230: SWAP2 00002231: SWAP1 00002232: DUP4 00002233: ADD 00002234: SWAP1 00002235: PUSH2 0x2219 00002238: JUMP 00002239: JUMPDEST 0000223a: PUSH1 0x00 0000223c: DUP1 0000223d: PUSH1 0x40 0000223f: DUP4 00002240: DUP6 00002241: SUB 00002242: SLT 00002243: ISZERO 00002244: PUSH2 0x224c 00002247: JUMPI 00002248: PUSH1 0x00 0000224a: DUP1 0000224b: REVERT 0000224c: JUMPDEST 0000224d: DUP3 0000224e: CALLDATALOAD 0000224f: PUSH8 0xffffffffffffffff 00002258: DUP1 00002259: DUP3 0000225a: GT 0000225b: ISZERO 0000225c: PUSH2 0x2264 0000225f: JUMPI 00002260: PUSH1 0x00 00002262: DUP1 00002263: REVERT 00002264: JUMPDEST 00002265: PUSH2 0x2270 00002268: DUP7 00002269: DUP4 0000226a: DUP8 0000226b: ADD 0000226c: PUSH2 0x21a2 0000226f: JUMP 00002270: JUMPDEST 00002271: SWAP4 00002272: POP 00002273: PUSH1 0x20 00002275: DUP6 00002276: ADD 00002277: CALLDATALOAD 00002278: SWAP2 00002279: POP 0000227a: DUP1 0000227b: DUP3 0000227c: GT 0000227d: ISZERO 0000227e: PUSH2 0x2286 00002281: JUMPI 00002282: PUSH1 0x00 00002284: DUP1 00002285: REVERT 00002286: JUMPDEST 00002287: POP 00002288: PUSH2 0x2293 0000228b: DUP6 0000228c: DUP3 0000228d: DUP7 0000228e: ADD 0000228f: PUSH2 0x21a2 00002292: JUMP 00002293: JUMPDEST 00002294: SWAP2 00002295: POP 00002296: POP 00002297: SWAP3 00002298: POP 00002299: SWAP3 0000229a: SWAP1 0000229b: POP 0000229c: JUMP 0000229d: JUMPDEST 0000229e: PUSH1 0x00 000022a0: PUSH1 0x20 000022a2: DUP3 000022a3: DUP5 000022a4: SUB 000022a5: SLT 000022a6: ISZERO 000022a7: PUSH2 0x22af 000022aa: JUMPI 000022ab: PUSH1 0x00 000022ad: DUP1 000022ae: REVERT 000022af: JUMPDEST 000022b0: POP 000022b1: CALLDATALOAD 000022b2: SWAP2 000022b3: SWAP1 000022b4: POP 000022b5: JUMP 000022b6: JUMPDEST 000022b7: PUSH1 0x00 000022b9: DUP1 000022ba: PUSH1 0x00 000022bc: PUSH1 0x60 000022be: DUP5 000022bf: DUP7 000022c0: SUB 000022c1: SLT 000022c2: ISZERO 000022c3: PUSH2 0x22cb 000022c6: JUMPI 000022c7: PUSH1 0x00 000022c9: DUP1 000022ca: REVERT 000022cb: JUMPDEST 000022cc: DUP4 000022cd: CALLDATALOAD 000022ce: PUSH1 0xff 000022d0: DUP2 000022d1: AND 000022d2: DUP2 000022d3: EQ 000022d4: PUSH2 0x22dc 000022d7: JUMPI 000022d8: PUSH1 0x00 000022da: DUP1 000022db: REVERT 000022dc: JUMPDEST 000022dd: SWAP6 000022de: PUSH1 0x20 000022e0: DUP6 000022e1: ADD 000022e2: CALLDATALOAD 000022e3: SWAP6 000022e4: POP 000022e5: PUSH1 0x40 000022e7: SWAP1 000022e8: SWAP5 000022e9: ADD 000022ea: CALLDATALOAD 000022eb: SWAP4 000022ec: SWAP3 000022ed: POP 000022ee: POP 000022ef: POP 000022f0: JUMP 000022f1: JUMPDEST 000022f2: PUSH1 0x01 000022f4: PUSH1 0x01 000022f6: PUSH1 0xa0 000022f8: SHL 000022f9: SUB 000022fa: SWAP2 000022fb: SWAP1 000022fc: SWAP2 000022fd: AND 000022fe: DUP2 000022ff: MSTORE 00002300: PUSH1 0x20 00002302: ADD 00002303: SWAP1 00002304: JUMP 00002305: JUMPDEST 00002306: PUSH1 0x00 00002308: PUSH1 0x20 0000230a: DUP3 0000230b: DUP5 0000230c: SUB 0000230d: SLT 0000230e: ISZERO 0000230f: PUSH2 0x2317 00002312: JUMPI 00002313: PUSH1 0x00 00002315: DUP1 00002316: REVERT 00002317: JUMPDEST 00002318: DUP2 00002319: CALLDATALOAD 0000231a: PUSH8 0xffffffffffffffff 00002323: DUP2 00002324: GT 00002325: ISZERO 00002326: PUSH2 0x232e 00002329: JUMPI 0000232a: PUSH1 0x00 0000232c: DUP1 0000232d: REVERT 0000232e: JUMPDEST 0000232f: PUSH2 0x1fae 00002332: DUP5 00002333: DUP3 00002334: DUP6 00002335: ADD 00002336: PUSH2 0x21a2 00002339: JUMP 0000233a: JUMPDEST 0000233b: PUSH1 0x20 0000233d: DUP1 0000233e: DUP3 0000233f: MSTORE 00002340: DUP2 00002341: DUP2 00002342: ADD 00002343: MSTORE 00002344: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00002365: PUSH1 0x40 00002367: DUP3 00002368: ADD 00002369: MSTORE 0000236a: PUSH1 0x60 0000236c: ADD 0000236d: SWAP1 0000236e: JUMP 0000236f: JUMPDEST 00002370: PUSH1 0x20 00002372: DUP1 00002373: DUP3 00002374: MSTORE 00002375: PUSH1 0x1f 00002377: SWAP1 00002378: DUP3 00002379: ADD 0000237a: MSTORE 0000237b: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 0000239c: PUSH1 0x40 0000239e: DUP3 0000239f: ADD 000023a0: MSTORE 000023a1: PUSH1 0x60 000023a3: ADD 000023a4: SWAP1 000023a5: JUMP 000023a6: JUMPDEST 000023a7: PUSH4 0x4e487b71 000023ac: PUSH1 0xe0 000023ae: SHL 000023af: PUSH1 0x00 000023b1: MSTORE 000023b2: PUSH1 0x32 000023b4: PUSH1 0x04 000023b6: MSTORE 000023b7: PUSH1 0x24 000023b9: PUSH1 0x00 000023bb: REVERT 000023bc: JUMPDEST 000023bd: PUSH4 0x4e487b71 000023c2: PUSH1 0xe0 000023c4: SHL 000023c5: PUSH1 0x00 000023c7: MSTORE 000023c8: PUSH1 0x11 000023ca: PUSH1 0x04 000023cc: MSTORE 000023cd: PUSH1 0x24 000023cf: PUSH1 0x00 000023d1: REVERT 000023d2: JUMPDEST 000023d3: PUSH1 0x00 000023d5: PUSH1 0x00 000023d7: NOT 000023d8: DUP3 000023d9: EQ 000023da: ISZERO 000023db: PUSH2 0x23e6 000023de: JUMPI 000023df: PUSH2 0x23e6 000023e2: PUSH2 0x23bc 000023e5: JUMP 000023e6: JUMPDEST 000023e7: POP 000023e8: PUSH1 0x01 000023ea: ADD 000023eb: SWAP1 000023ec: JUMP 000023ed: JUMPDEST 000023ee: PUSH1 0x20 000023f0: DUP1 000023f1: DUP3 000023f2: MSTORE 000023f3: PUSH1 0x1f 000023f5: SWAP1 000023f6: DUP3 000023f7: ADD 000023f8: MSTORE 000023f9: PUSH32 0x57697468647261773a205068617365206d757374206265205374616b696e6700 0000241a: PUSH1 0x40 0000241c: DUP3 0000241d: ADD 0000241e: MSTORE 0000241f: PUSH1 0x60 00002421: ADD 00002422: SWAP1 00002423: JUMP 00002424: JUMPDEST 00002425: PUSH1 0x20 00002427: DUP1 00002428: DUP3 00002429: MSTORE 0000242a: PUSH1 0x1b 0000242c: SWAP1 0000242d: DUP3 0000242e: ADD 0000242f: MSTORE 00002430: PUSH32 0x57697468647261773a2055736572206e6f7420656c696769626c650000000000 00002451: PUSH1 0x40 00002453: DUP3 00002454: ADD 00002455: MSTORE 00002456: PUSH1 0x60 00002458: ADD 00002459: SWAP1 0000245a: JUMP 0000245b: JUMPDEST 0000245c: PUSH1 0x20 0000245e: DUP1 0000245f: DUP3 00002460: MSTORE 00002461: PUSH1 0x1a 00002463: SWAP1 00002464: DUP3 00002465: ADD 00002466: MSTORE 00002467: PUSH32 0x57697468647261773a204e6f2070656e64696e6720746f6b656e000000000000 00002488: PUSH1 0x40 0000248a: DUP3 0000248b: ADD 0000248c: MSTORE 0000248d: PUSH1 0x60 0000248f: ADD 00002490: SWAP1 00002491: JUMP 00002492: JUMPDEST 00002493: PUSH1 0x00 00002495: DUP3 00002496: NOT 00002497: DUP3 00002498: GT 00002499: ISZERO 0000249a: PUSH2 0x24a5 0000249d: JUMPI 0000249e: PUSH2 0x24a5 000024a1: PUSH2 0x23bc 000024a4: JUMP 000024a5: JUMPDEST 000024a6: POP 000024a7: ADD 000024a8: SWAP1 000024a9: JUMP 000024aa: JUMPDEST 000024ab: PUSH1 0x00 000024ad: DUP2 000024ae: PUSH1 0x00 000024b0: NOT 000024b1: DIV 000024b2: DUP4 000024b3: GT 000024b4: DUP3 000024b5: ISZERO 000024b6: ISZERO 000024b7: AND 000024b8: ISZERO 000024b9: PUSH2 0x24c4 000024bc: JUMPI 000024bd: PUSH2 0x24c4 000024c0: PUSH2 0x23bc 000024c3: JUMP 000024c4: JUMPDEST 000024c5: POP 000024c6: MUL 000024c7: SWAP1 000024c8: JUMP 000024c9: JUMPDEST 000024ca: PUSH1 0x00 000024cc: PUSH1 0x20 000024ce: DUP3 000024cf: DUP5 000024d0: SUB 000024d1: SLT 000024d2: ISZERO 000024d3: PUSH2 0x24db 000024d6: JUMPI 000024d7: PUSH1 0x00 000024d9: DUP1 000024da: REVERT 000024db: JUMPDEST 000024dc: POP 000024dd: MLOAD 000024de: SWAP2 000024df: SWAP1 000024e0: POP 000024e1: JUMP 000024e2: JUMPDEST 000024e3: PUSH1 0x00 000024e5: DUP3 000024e6: DUP3 000024e7: LT 000024e8: ISZERO 000024e9: PUSH2 0x24f4 000024ec: JUMPI 000024ed: PUSH2 0x24f4 000024f0: PUSH2 0x23bc 000024f3: JUMP 000024f4: JUMPDEST 000024f5: POP 000024f6: SUB 000024f7: SWAP1 000024f8: JUMP 000024f9: JUMPDEST 000024fa: PUSH1 0x00 000024fc: DUP3 000024fd: PUSH2 0x2516 00002500: JUMPI 00002501: PUSH4 0x4e487b71 00002506: PUSH1 0xe0 00002508: SHL 00002509: PUSH1 0x00 0000250b: MSTORE 0000250c: PUSH1 0x12 0000250e: PUSH1 0x04 00002510: MSTORE 00002511: PUSH1 0x24 00002513: PUSH1 0x00 00002515: REVERT 00002516: JUMPDEST 00002517: POP 00002518: DIV 00002519: SWAP1 0000251a: JUMP 0000251b: JUMPDEST 0000251c: PUSH1 0x00 0000251e: PUSH1 0x20 00002520: DUP3 00002521: DUP5 00002522: SUB 00002523: SLT 00002524: ISZERO 00002525: PUSH2 0x252d 00002528: JUMPI 00002529: PUSH1 0x00 0000252b: DUP1 0000252c: REVERT 0000252d: JUMPDEST 0000252e: DUP2 0000252f: MLOAD 00002530: DUP1 00002531: ISZERO 00002532: ISZERO 00002533: DUP2 00002534: EQ 00002535: PUSH2 0x177d 00002538: JUMPI 00002539: PUSH1 0x00 0000253b: DUP1 0000253c: REVERT 0000253d: JUMPDEST 0000253e: PUSH1 0x00 00002540: JUMPDEST 00002541: DUP4 00002542: DUP2 00002543: LT 00002544: ISZERO 00002545: PUSH2 0x2558 00002548: JUMPI 00002549: DUP2 0000254a: DUP2 0000254b: ADD 0000254c: MLOAD 0000254d: DUP4 0000254e: DUP3 0000254f: ADD 00002550: MSTORE 00002551: PUSH1 0x20 00002553: ADD 00002554: PUSH2 0x2540 00002557: JUMP 00002558: JUMPDEST 00002559: DUP4 0000255a: DUP2 0000255b: GT 0000255c: ISZERO 0000255d: PUSH2 0x2567 00002560: JUMPI 00002561: PUSH1 0x00 00002563: DUP5 00002564: DUP5 00002565: ADD 00002566: MSTORE 00002567: JUMPDEST 00002568: POP 00002569: POP 0000256a: POP 0000256b: POP 0000256c: JUMP 0000256d: JUMPDEST 0000256e: PUSH1 0x00 00002570: DUP3 00002571: MLOAD 00002572: PUSH2 0x257f 00002575: DUP2 00002576: DUP5 00002577: PUSH1 0x20 00002579: DUP8 0000257a: ADD 0000257b: PUSH2 0x253d 0000257e: JUMP 0000257f: JUMPDEST 00002580: SWAP2 00002581: SWAP1 00002582: SWAP2 00002583: ADD 00002584: SWAP3 00002585: SWAP2 00002586: POP 00002587: POP 00002588: JUMP 00002589: JUMPDEST 0000258a: PUSH1 0x20 0000258c: DUP2 0000258d: MSTORE 0000258e: PUSH1 0x00 00002590: DUP3 00002591: MLOAD 00002592: DUP1 00002593: PUSH1 0x20 00002595: DUP5 00002596: ADD 00002597: MSTORE 00002598: PUSH2 0x25a8 0000259b: DUP2 0000259c: PUSH1 0x40 0000259e: DUP6 0000259f: ADD 000025a0: PUSH1 0x20 000025a2: DUP8 000025a3: ADD 000025a4: PUSH2 0x253d 000025a7: JUMP 000025a8: JUMPDEST 000025a9: PUSH1 0x1f 000025ab: ADD 000025ac: PUSH1 0x1f 000025ae: NOT 000025af: AND 000025b0: SWAP2 000025b1: SWAP1 000025b2: SWAP2 000025b3: ADD 000025b4: PUSH1 0x40 000025b6: ADD 000025b7: SWAP3 000025b8: SWAP2 000025b9: POP 000025ba: POP 000025bb: JUMP 000025bc: INVALID 000025bd: LOG2 000025be: PUSH5 0x6970667358 000025c4: UNKNOWN(0x22) 000025c5: SLT 000025c6: KECCAK256 000025c7: ADD 000025c8: JUMP 000025c9: PUSH26 0x9ca4c281d83cfb56358298509d08fafcf9b6a142c89452a450c1 000025e4: XOR 000025e5: UNKNOWN(0xD3) 000025e6: UNKNOWN(0xBE) 000025e7: PUSH5 0x736f6c6343 000025ed: STOP 000025ee: ADDMOD 000025ef: SIGNEXTEND 000025f0: STOP 000025f1: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x99f49a5b82fbd7efc12ad4cd73527df20d983a8f35e3c7f6016e3bb6f889c49b
call_targets:
0xc2f44bc508b6b50047a2f3afb1984ed105070be1
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x99f49a5b82fbd7efc12ad4cd73527df20d983a8f35e3c7f6016e3bb6f889c49b",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xc2f44bc508b6b50047a2f3afb1984ed105070be1"
],
"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": "0xce9d16fe",
"selector": "0xce9d16fe",
"calldata_variants": [
"0xce9d16fe",
"0xce9d16fe0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdb2e21bc",
"selector": "0xdb2e21bc",
"calldata_variants": [
"0xdb2e21bc",
"0xdb2e21bc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdf1fb713",
"selector": "0xdf1fb713",
"calldata_variants": [
"0xdf1fb713",
"0xdf1fb7130000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xebde5ee6",
"selector": "0xebde5ee6",
"calldata_variants": [
"0xebde5ee6",
"0xebde5ee60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec2fc051",
"selector": "0xec2fc051",
"calldata_variants": [
"0xec2fc051",
"0xec2fc0510000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf40f0f52",
"selector": "0xf40f0f52",
"calldata_variants": [
"0xf40f0f52",
"0xf40f0f520000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf7c618c1",
"selector": "0xf7c618c1",
"calldata_variants": [
"0xf7c618c1",
"0xf7c618c10000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 6563,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 8334,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 2,
"guards_detected": [],
"untrusted_call_count": 2
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x99f49a5b82fbd7efc12ad4cd73527df20d983a8f35e3c7f6016e3bb6f889c49b
call_targets:
0xc2f44bc508b6b50047a2f3afb1984ed105070be1
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x99f49a5b82fbd7efc12ad4cd73527df20d983a8f35e3c7f6016e3bb6f889c49b",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xc2f44bc508b6b50047a2f3afb1984ed105070be1"
],
"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": "0xce9d16fe",
"selector": "0xce9d16fe",
"calldata_variants": [
"0xce9d16fe",
"0xce9d16fe0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdb2e21bc",
"selector": "0xdb2e21bc",
"calldata_variants": [
"0xdb2e21bc",
"0xdb2e21bc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdf1fb713",
"selector": "0xdf1fb713",
"calldata_variants": [
"0xdf1fb713",
"0xdf1fb7130000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xebde5ee6",
"selector": "0xebde5ee6",
"calldata_variants": [
"0xebde5ee6",
"0xebde5ee60000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xec2fc051",
"selector": "0xec2fc051",
"calldata_variants": [
"0xec2fc051",
"0xec2fc0510000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf40f0f52",
"selector": "0xf40f0f52",
"calldata_variants": [
"0xf40f0f52",
"0xf40f0f520000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf7c618c1",
"selector": "0xf7c618c1",
"calldata_variants": [
"0xf7c618c1",
"0xf7c618c10000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 6563,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 8334,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 2,
"guards_detected": []
}
|
| medium | auth | codex | Allowlist signatures lack domain separation, enabling replay across deployments/chains | 75 | no | — |
viewevidence_json{
"evidence": "`deposit` recovers the signer from `keccak256(abi.encode(msg.sender))` and checks it against `signers` without including contract address, chain id, or a nonce.",
"locations": [
"contracts/contracts/Presale.sol:114",
"contracts/contracts/Presale.sol:124",
"contracts/contracts/Presale.sol:125"
],
"recommendation": "Bind the signed message to this contract and chain by including `address(this)`, `block.chainid`, and a sale-specific nonce or identifier, and verify using EIP-712 typed data (or at least `toEthSignedMessageHash`). Consider tracking used signatures if you allow multiple deposits per address in future versions.",
"exploit_scenario": "A user obtains a whitelist signature for their address from another deployment (e.g., testnet, previous sale, or cloned contract) that uses the same signer keys and message format. Because the signed message only hashes the address, the user can reuse that signature here to pass `deposit` and bypass the intended per-sale whitelist boundary."
}
|