019be3d6-82bf-71fe-9a54-fe0121f37b3d
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 |
|---|---|---|---|---|
| 40715 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 40716 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 40717 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 40718 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 40719 | capability.graph | complete | 1 / 3 | 2 months ago |
| 40720 | detector.run | complete | 1 / 3 | 2 months ago |
| 40721 | validation.fork | complete | 1 / 3 | 2 months ago |
| 41289 | report.consolidate | complete | 1 / 6 | 2 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode analysis shows tx.origin usage in guard logic and multiple low-level CALL sites with computed targets/values; no delegatecall/proxy patterns detected in the provided bundle.","findings":[{"severity":"medium","category":"auth","title":"tx.origin used in guard logic (phishing/authorization risk)","exploit_scenario":"If a privileged path relies on tx.origin (e.g., owner-only or EOA-only checks), an attacker can deploy a malicious contract that the authorized user calls; the malicious contract can then invoke the target while tx.origin remains the user, bypassing intended authorization or access restrictions.","recommendation":"Avoid tx.origin for authorization. Use msg.sender for access control (or signature-based auth such as EIP-712 / ERC-1271 where needed). If the intent is to block contracts, use explicit allowlists and document the limitation rather than tx.origin.","evidence":"Detector flagged \"Authorization based on tx.origin\" with guards at pc 13114 and pc 13193; ORIGIN opcode appears at pc 13193. This is heuristic-only and not tied to a specific sink in the bundle, so impact depends on how the value is used.","locations":["pc:0x333a","pc:0x3389"]},{"severity":"low","category":"reentrancy","title":"Low-level CALLs with computed targets/value (potential untrusted external call / reentrancy)","exploit_scenario":"If any of these CALL targets or ETH values are derived from user-controlled inputs or mutable storage, a malicious callee could reenter before state updates, or cause accounting/invariant issues. This is more likely if the call sends ETH and return-data checks are missing.","recommendation":"Ensure call targets are trusted/whitelisted and apply checks-effects-interactions or a reentrancy guard around state changes. Validate low-level call success and return data where applicable.","evidence":"Callsites list shows CALL opcodes with computed target/value and returndata_checked=null at pc 4481, 5142, 7689, 8101, 12432. Detector findings include \"Untrusted CALL target/value reachable\" and \"ETH value transfer possible\"; a validation trace observed a constant target in one run, so this may be a false positive depending on actual runtime paths.","locations":["pc:0x1181","pc:0x1416","pc:0x1e09","pc:0x1fa5","pc:0x3090"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-8f48vv8h
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019be421-05db-7d92-8181-f3c3c1c62746
--------
user
You are a security auditor. You ONLY have runtime bytecode + analysis artifacts.
You MUST read `BYTECODE_BUNDLE.json` before concluding; it contains the bytecode summary,
evidence bundle, callsites, storage slots, and detector findings.
Special cases when reasoning from bytecode (be explicit about uncertainty):
- Selector inference is best-effort; missing selectors are common.
- Fallback/receive paths may be the only entrypoints.
- CALL vs DELEGATECALL semantics differ; DELEGATECALL executes in caller storage.
- Proxy patterns (EIP-1967, minimal proxies, beacon) change which storage is authoritative.
- Storage slots are raw; mappings/arrays appear via keccak patterns, names are unknown.
- Guard detection is heuristic; absence of guards does NOT mean unguarded.
- Returndata checking is unknown unless explicitly shown in evidence.
- Precompiles (0x1..0x9) and common ERC20 transfer selectors may appear; do not over-claim.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title.
- Locations can be pc references like "pc:0x123" or selectors like "selector:0xa9059cbb".
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation,
accounting/invariant breaks, dangerous delegatecall, and untrusted external calls.
Be conservative: if evidence is weak, mark severity low/medium and explain why.
mcp startup: no servers
thinking
**Preparing to read JSON schema**
I'm planning to read the BYTECODE_BUNDLE.json file directly to inspect its JSON schema, avoiding skill usage since none are named.
exec
/bin/bash -lc ls in /tmp/codex-8f48vv8h succeeded in 8ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-8f48vv8h succeeded in 25ms:
{
"analysis_artifact": {
"address": "0x9bc7a1d21a2d38ee313c911e1356c926948fcba1",
"artifact_hash": "0xc209431f95cebd3b407da8d668373be0c0a225d7d17677259401f1afcb021998",
"artifact_json": {
"auth": {
"guards": [
{
"pc": 13114,
"type": "tx_origin_used"
},
{
"pc": 13193,
"type": "tx_origin_used"
}
]
},
"basic_blocks": [
{
"end_pc": 12,
thinking
**Searching large file for specific PC values**
I'm focusing on locating usages around program counters 13114 and 13193 by searching the large file with targeted ripgrep queries to efficiently isolate relevant evidence.
exec
/bin/bash -lc "rg -n \"\\\"pc\\\": 13114\" -n BYTECODE_BUNDLE.json" in /tmp/codex-8f48vv8h succeeded in 10ms:
9: "pc": 13114,
10959: "pc": 13114,
11247: "pc": 13114,
11535: "pc": 13114,
11823: "pc": 13114,
12111: "pc": 13114,
12399: "pc": 13114,
12687: "pc": 13114,
12975: "pc": 13114,
13263: "pc": 13114,
13551: "pc": 13114,
13839: "pc": 13114,
14127: "pc": 13114,
14415: "pc": 13114,
14703: "pc": 13114,
14991: "pc": 13114,
15279: "pc": 13114,
15567: "pc": 13114,
15855: "pc": 13114,
16143: "pc": 13114,
thinking
**Searching for relevant usage**
I'll look for occurrences of "tx_origin_used" to gather more context around the program counter in the evidence/call graph.
exec
/bin/bash -lc 'rg -n "tx_origin_used" BYTECODE_BUNDLE.json' in /tmp/codex-8f48vv8h succeeded in 6ms:
10: "type": "tx_origin_used"
14: "type": "tx_origin_used"
10960: "type": "tx_origin_used"
10964: "type": "tx_origin_used"
11248: "type": "tx_origin_used"
11252: "type": "tx_origin_used"
11536: "type": "tx_origin_used"
11540: "type": "tx_origin_used"
11824: "type": "tx_origin_used"
11828: "type": "tx_origin_used"
12112: "type": "tx_origin_used"
12116: "type": "tx_origin_used"
12400: "type": "tx_origin_used"
12404: "type": "tx_origin_used"
12688: "type": "tx_origin_used"
12692: "type": "tx_origin_used"
12976: "type": "tx_origin_used"
12980: "type": "tx_origin_used"
13264: "type": "tx_origin_used"
13268: "type": "tx_origin_used"
thinking
**Weighing severity and evidence for tx.origin detection**
The tx.origin usage suggests an auth/access control guard with potential phishing risks, but without validated detectors or clear sink mapping, severity should likely be medium or cautiously lower; calls to self imply internal logic rather than untrusted external calls, so those likely don't raise issues without further evidence. Next, I'll inspect callsites deeper to clarify findings.
thinking
**Locating callsite data for deeper analysis**
I'm searching the analysis artifact for "callsites" or "evidence_bundle" to find detailed callsite mappings, aiming to clarify tx.origin usage and call targets despite the large file size.
exec
/bin/bash -lc 'rg -n "callsite" BYTECODE_BUNDLE.json | head -n 40' in /tmp/codex-8f48vv8h succeeded in 7ms:
8990: "callsites": [
21639: "type": "callsite"
21645: "type": "callsite"
21651: "type": "callsite"
21657: "type": "callsite"
21663: "type": "callsite"
21669: "type": "callsite"
21675: "type": "callsite"
21681: "type": "callsite"
thinking
**Exploring callsites section**
exec
/bin/bash -lc "sed -n '8970,9045p' BYTECODE_BUNDLE.json" in /tmp/codex-8f48vv8h succeeded in 18ms:
},
{
"end_pc": 13192,
"hash": "0xb4dd634182618025ae2f69b8d8b889031005bdc8f9fe79ed0c2729387b4e3c40",
"opcodes": [
"SDIV",
"GT",
"STOP"
],
"start_pc": 13190
},
{
"end_pc": 13193,
"hash": "0x28344e83c060719dd0410c65180f83d650a4a604ee866be53ccac80406490113",
"opcodes": [
"ORIGIN"
],
"start_pc": 13193
}
],
thinking
**Searching for evidence bundle references**
I'm looking for "evidence_bundle" in the code to check if it contains callsite mappings to functions for call analysis.
exec
/bin/bash -lc 'rg -n "evidence" BYTECODE_BUNDLE.json | head -n 40' in /tmp/codex-8f48vv8h succeeded in 32ms:
17048: "proxy_evidence": {
21821: "evidence_json": {
21846: "evidence_json": {
21907: "evidence_json": {
thinking
**Inspecting proxy-related code**
exec
/bin/bash -lc "sed -n '16980,17160p' BYTECODE_BUNDLE.json" in /tmp/codex-8f48vv8h succeeded in 7ms:
},
{
"op": "SLOAD",
"pc": 9986,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 10263,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 10370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 10425,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
thinking
**Identifying security patterns and tx.origin usage**
The contract includes Ownable and a reentrancy guard with explicit error strings, with no delegatecall or proxy patterns detected. Tx.origin is used in runtime bytecode, suggesting possible authorization checks that warrant low-to-medium risk consideration.
thinking
**Confirming reentrancy guard and ERC20 call safety**
The contract uses a reentrancy guard stored in slot 5 with explicit error messaging, indicating awareness of reentrancy risk. It employs a safeERC20 pattern that checks low-level call success, reducing risk from unchecked external calls despite some ambiguous callsite return checks.
exec
/bin/bash -lc "rg -n \"start_pc\\\": 13114\" BYTECODE_BUNDLE.json" in /tmp/codex-8f48vv8h exited 1 in 8ms:
thinking
**Clarifying address usage and guard location**
The pc 13114 appears in the guards list, not in basic blocks, so treating tx.origin usage as a medium-severity potential auth vulnerability fits given the uncertainty and lack of direct opcode evidence.
thinking
**Assessing external call target trustworthiness**
The analysis shows call targets as constant to the contract itself despite computed expressions, so external calls with untrusted targets remain uncertain; I'll treat the risk as low severity given limited confirmation.
exec
/bin/bash -lc 'rg -n "sink" BYTECODE_BUNDLE.json | head -n 40' in /tmp/codex-8f48vv8h succeeded in 11ms:
10970: "sinks": {
11258: "sinks": {
11546: "sinks": {
11834: "sinks": {
12122: "sinks": {
12410: "sinks": {
12698: "sinks": {
12986: "sinks": {
13274: "sinks": {
13562: "sinks": {
13850: "sinks": {
14138: "sinks": {
14426: "sinks": {
14714: "sinks": {
15002: "sinks": {
15290: "sinks": {
15578: "sinks": {
15866: "sinks": {
16154: "sinks": {
16442: "sinks": {
thinking
**Exploring sink sections by function**
exec
/bin/bash -lc "sed -n '10920,11020p' BYTECODE_BUNDLE.json" in /tmp/codex-8f48vv8h succeeded in 8ms:
},
{
"entry_pc": 2362581449,
"selector": "0x715018a6"
},
{
"entry_pc": 2376452955,
"selector": "0x8cd221c9"
},
{
"entry_pc": null,
"selector": "0x8da5cb5b"
},
{
"entry_pc": 1254591859,
"selector": "0x4872ace5"
},
{
"entry_pc": 1327380534,
"selector": "0x4ac78d73"
thinking
**Inspecting function guards and usage**
Noticed functions are guarded by auth checks using tx_origin; planning to examine more functions and their sink calls around line 10920 for a better understanding.
exec
/bin/bash -lc "sed -n '11020,11220p' BYTECODE_BUNDLE.json" in /tmp/codex-8f48vv8h succeeded in 12ms:
"op": "SLOAD",
"pc": 3011,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 3241,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 3409,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 3429,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
thinking
**Assessing function guard repetition**
I'm checking if identical guard lists appear across multiple function objects, which could indicate global use of certain guards like tx.origin or possible false positives. I'll continue examining the structure to clarify.
exec
/bin/bash -lc "sed -n '11220,11340p' BYTECODE_BUNDLE.json" in /tmp/codex-8f48vv8h succeeded in 9ms:
"op": "SLOAD",
"pc": 10370,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 10425,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000001"
},
{
"op": "SLOAD",
"pc": 10977,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
{
"op": "SLOAD",
"pc": 11577,
"slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
],
thinking
**Identifying possible tx.origin misuse but unclear per-function reliability**
Analysis shows repeated storage access patterns across functions, indicating misparsed or aggregated data; the key notable pattern is tx.origin usage likely for anti-bot or caller restriction rather than true ownership control, which is a design choice with trade-offs but not necessarily a security flaw.
thinking
```json
{
"no_findings": false,
"summary": "Detected tx.origin usage in guards and low-level CALL sites with computed targets/value; no delegatecall/proxy evidence found.",
"findings": [
{
"severity": "medium",
"category": "auth",
"title": "tx.origin used in guard (phishing risk)",
"description": "The contract uses tx.origin for authorization guards, which can be exploited if an owner signs a transaction to a malicious contract that then calls this contract passing the tx.origin check. This creates a phishing risk by allowing attacker contracts to bypass intended access control.",
"exploit_scenario": "An attacker tricks the owner into interacting with a malicious contract that subsequently calls this contract, passing the tx.origin check and executing privileged actions.",
"recommendation": "Replace tx.origin-based authorization with msg.sender or EIP-712 signature verification. If enforcing EOA restrictions, implement explicit allowlists or recognized standards instead of relying on tx.origin.",
"evidence": [
"Detector finding 'Authorization based on tx.origin'",
"ORIGIN opcode usage at pc:0x3389",
"Authorization guard bytecode at pc:0x333a and pc:0x3389"
],
"locations": [
"pc:0x333a",
"pc:0x3389"
]
},
{
"severity": "low",
"category": "reentrancy",
"title": "External CALLs with computed target/value (possible reentrancy/untrusted call)",
"description": "The contract performs low-level CALLs with computed target addresses and ETH value transfers without guaranteed return-data checks, which can introduce reentrancy risks or fund loss if targets are user-controlled or malicious.",
"exploit_scenario": "If the CALL target or transferred ETH value can be influenced by an attacker, a malicious contract could reenter during the call and manipulate state or trap funds.",
"recommendation": "Ensure external call targets are fixed or validated, employ reentrancy guards around state-changing functions, follow checks-effects-interactions pattern, and verify return values of external calls.",
"evidence": [
"Detector findings: 'Untrusted CALL target/value reachable' and 'ETH value transfer possible'",
"CALL opcodes at pcs: 0x1181, 0x1416, 0x1e09, 0x1fa5, 0x3090",
"Returndata checked status: unknown"
],
"locations": [
"pc:0x1181",
"pc:0x1416",
"pc:0x1e09",
"pc:0x1fa5",
"pc:0x3090"
]
}
]
}
```
codex
{"no_findings":false,"summary":"Bytecode analysis shows tx.origin usage in guard logic and multiple low-level CALL sites with computed targets/values; no delegatecall/proxy patterns detected in the provided bundle.","findings":[{"severity":"medium","category":"auth","title":"tx.origin used in guard logic (phishing/authorization risk)","exploit_scenario":"If a privileged path relies on tx.origin (e.g., owner-only or EOA-only checks), an attacker can deploy a malicious contract that the authorized user calls; the malicious contract can then invoke the target while tx.origin remains the user, bypassing intended authorization or access restrictions.","recommendation":"Avoid tx.origin for authorization. Use msg.sender for access control (or signature-based auth such as EIP-712 / ERC-1271 where needed). If the intent is to block contracts, use explicit allowlists and document the limitation rather than tx.origin.","evidence":"Detector flagged \"Authorization based on tx.origin\" with guards at pc 13114 and pc 13193; ORIGIN opcode appears at pc 13193. This is heuristic-only and not tied to a specific sink in the bundle, so impact depends on how the value is used.","locations":["pc:0x333a","pc:0x3389"]},{"severity":"low","category":"reentrancy","title":"Low-level CALLs with computed targets/value (potential untrusted external call / reentrancy)","exploit_scenario":"If any of these CALL targets or ETH values are derived from user-controlled inputs or mutable storage, a malicious callee could reenter before state updates, or cause accounting/invariant issues. This is more likely if the call sends ETH and return-data checks are missing.","recommendation":"Ensure call targets are trusted/whitelisted and apply checks-effects-interactions or a reentrancy guard around state changes. Validate low-level call success and return data where applicable.","evidence":"Callsites list shows CALL opcodes with computed target/value and returndata_checked=null at pc 4481, 5142, 7689, 8101, 12432. Detector findings include \"Untrusted CALL target/value reachable\" and \"ETH value transfer possible\"; a validation trace observed a constant target in one run, so this may be a false positive depending on actual runtime paths.","locations":["pc:0x1181","pc:0x1416","pc:0x1e09","pc:0x1fa5","pc:0x3090"]}]}
tokens used
62,720
{
"codex": {
"ran_at": "2026-01-22T05:18:01.371610+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 26390,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode analysis shows tx.origin usage in guard logic and multiple low-level CALL sites with computed targets/values; no delegatecall/proxy patterns detected in the provided bundle.",
"raw_final": {
"summary": "Bytecode analysis shows tx.origin usage in guard logic and multiple low-level CALL sites with computed targets/values; no delegatecall/proxy patterns detected in the provided bundle.",
"findings": [
{
"title": "tx.origin used in guard logic (phishing/authorization risk)",
"category": "auth",
"evidence": "Detector flagged \"Authorization based on tx.origin\" with guards at pc 13114 and pc 13193; ORIGIN opcode appears at pc 13193. This is heuristic-only and not tied to a specific sink in the bundle, so impact depends on how the value is used.",
"severity": "medium",
"locations": [
"pc:0x333a",
"pc:0x3389"
],
"recommendation": "Avoid tx.origin for authorization. Use msg.sender for access control (or signature-based auth such as EIP-712 / ERC-1271 where needed). If the intent is to block contracts, use explicit allowlists and document the limitation rather than tx.origin.",
"exploit_scenario": "If a privileged path relies on tx.origin (e.g., owner-only or EOA-only checks), an attacker can deploy a malicious contract that the authorized user calls; the malicious contract can then invoke the target while tx.origin remains the user, bypassing intended authorization or access restrictions."
},
{
"title": "Low-level CALLs with computed targets/value (potential untrusted external call / reentrancy)",
"category": "reentrancy",
"evidence": "Callsites list shows CALL opcodes with computed target/value and returndata_checked=null at pc 4481, 5142, 7689, 8101, 12432. Detector findings include \"Untrusted CALL target/value reachable\" and \"ETH value transfer possible\"; a validation trace observed a constant target in one run, so this may be a false positive depending on actual runtime paths.",
"severity": "low",
"locations": [
"pc:0x1181",
"pc:0x1416",
"pc:0x1e09",
"pc:0x1fa5",
"pc:0x3090"
],
"recommendation": "Ensure call targets are trusted/whitelisted and apply checks-effects-interactions or a reentrancy guard around state changes. Validate low-level call success and return data where applicable.",
"exploit_scenario": "If any of these CALL targets or ETH values are derived from user-controlled inputs or mutable storage, a malicious callee could reenter before state updates, or cause accounting/invariant issues. This is more likely if the call sends ETH and return-data checks are missing."
}
],
"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 0x011f 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x8f32d59b 00000019: GT 0000001a: PUSH2 0x00a0 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xd914cd4b 00000024: GT 00000025: PUSH2 0x0064 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xd914cd4b 0000002f: EQ 00000030: PUSH2 0x0609 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xf2fde38b 0000003a: EQ 0000003b: PUSH2 0x065a 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xf57f881b 00000045: EQ 00000046: PUSH2 0x06ab 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf662b950 00000050: EQ 00000051: PUSH2 0x0710 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xfeae0c59 0000005b: EQ 0000005c: PUSH2 0x0767 0000005f: JUMPI 00000060: PUSH2 0x011f 00000063: JUMP 00000064: JUMPDEST 00000065: DUP1 00000066: PUSH4 0x8f32d59b 0000006b: EQ 0000006c: PUSH2 0x047e 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0x95d4063f 00000076: EQ 00000077: PUSH2 0x04ad 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xa35bd591 00000081: EQ 00000082: PUSH2 0x04eb 00000085: JUMPI 00000086: DUP1 00000087: PUSH4 0xa63feeef 0000008c: EQ 0000008d: PUSH2 0x0526 00000090: JUMPI 00000091: DUP1 00000092: PUSH4 0xb2311dfd 00000097: EQ 00000098: PUSH2 0x05b8 0000009b: JUMPI 0000009c: PUSH2 0x011f 0000009f: JUMP 000000a0: JUMPDEST 000000a1: DUP1 000000a2: PUSH4 0x6689598f 000000a7: GT 000000a8: PUSH2 0x00e7 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0x6689598f 000000b2: EQ 000000b3: PUSH2 0x02fd 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0x673a2a1f 000000bd: EQ 000000be: PUSH2 0x0373 000000c1: JUMPI 000000c2: DUP1 000000c3: PUSH4 0x715018a6 000000c8: EQ 000000c9: PUSH2 0x03df 000000cc: JUMPI 000000cd: DUP1 000000ce: PUSH4 0x8cd221c9 000000d3: EQ 000000d4: PUSH2 0x03f6 000000d7: JUMPI 000000d8: DUP1 000000d9: PUSH4 0x8da5cb5b 000000de: EQ 000000df: PUSH2 0x0427 000000e2: JUMPI 000000e3: PUSH2 0x011f 000000e6: JUMP 000000e7: JUMPDEST 000000e8: DUP1 000000e9: PUSH4 0x4872ace5 000000ee: EQ 000000ef: PUSH2 0x0124 000000f2: JUMPI 000000f3: DUP1 000000f4: PUSH4 0x4ac78d73 000000f9: EQ 000000fa: PUSH2 0x017b 000000fd: JUMPI 000000fe: DUP1 000000ff: PUSH4 0x4f1e3836 00000104: EQ 00000105: PUSH2 0x01f1 00000108: JUMPI 00000109: DUP1 0000010a: PUSH4 0x590652ce 0000010f: EQ 00000110: PUSH2 0x0243 00000113: JUMPI 00000114: DUP1 00000115: PUSH4 0x5b16ebb7 0000011a: EQ 0000011b: PUSH2 0x0294 0000011e: JUMPI 0000011f: JUMPDEST 00000120: PUSH1 0x00 00000122: DUP1 00000123: REVERT 00000124: JUMPDEST 00000125: CALLVALUE 00000126: DUP1 00000127: ISZERO 00000128: PUSH2 0x0130 0000012b: JUMPI 0000012c: PUSH1 0x00 0000012e: DUP1 0000012f: REVERT 00000130: JUMPDEST 00000131: POP 00000132: PUSH2 0x0139 00000135: PUSH2 0x08ca 00000138: JUMP 00000139: JUMPDEST 0000013a: PUSH1 0x40 0000013c: MLOAD 0000013d: DUP1 0000013e: DUP3 0000013f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000154: AND 00000155: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000016a: AND 0000016b: DUP2 0000016c: MSTORE 0000016d: PUSH1 0x20 0000016f: ADD 00000170: SWAP2 00000171: POP 00000172: POP 00000173: PUSH1 0x40 00000175: MLOAD 00000176: DUP1 00000177: SWAP2 00000178: SUB 00000179: SWAP1 0000017a: RETURN 0000017b: JUMPDEST 0000017c: CALLVALUE 0000017d: DUP1 0000017e: ISZERO 0000017f: PUSH2 0x0187 00000182: JUMPI 00000183: PUSH1 0x00 00000185: DUP1 00000186: REVERT 00000187: JUMPDEST 00000188: POP 00000189: PUSH2 0x01d7 0000018c: PUSH1 0x04 0000018e: DUP1 0000018f: CALLDATASIZE 00000190: SUB 00000191: PUSH1 0x40 00000193: DUP2 00000194: LT 00000195: ISZERO 00000196: PUSH2 0x019e 00000199: JUMPI 0000019a: PUSH1 0x00 0000019c: DUP1 0000019d: REVERT 0000019e: JUMPDEST 0000019f: DUP2 000001a0: ADD 000001a1: SWAP1 000001a2: DUP1 000001a3: DUP1 000001a4: CALLDATALOAD 000001a5: PUSH1 0xff 000001a7: AND 000001a8: SWAP1 000001a9: PUSH1 0x20 000001ab: ADD 000001ac: SWAP1 000001ad: SWAP3 000001ae: SWAP2 000001af: SWAP1 000001b0: DUP1 000001b1: CALLDATALOAD 000001b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001c7: AND 000001c8: SWAP1 000001c9: PUSH1 0x20 000001cb: ADD 000001cc: SWAP1 000001cd: SWAP3 000001ce: SWAP2 000001cf: SWAP1 000001d0: POP 000001d1: POP 000001d2: POP 000001d3: PUSH2 0x08f0 000001d6: JUMP 000001d7: JUMPDEST 000001d8: PUSH1 0x40 000001da: MLOAD 000001db: DUP1 000001dc: DUP3 000001dd: ISZERO 000001de: ISZERO 000001df: ISZERO 000001e0: ISZERO 000001e1: DUP2 000001e2: MSTORE 000001e3: PUSH1 0x20 000001e5: ADD 000001e6: SWAP2 000001e7: POP 000001e8: POP 000001e9: PUSH1 0x40 000001eb: MLOAD 000001ec: DUP1 000001ed: SWAP2 000001ee: SUB 000001ef: SWAP1 000001f0: RETURN 000001f1: JUMPDEST 000001f2: CALLVALUE 000001f3: DUP1 000001f4: ISZERO 000001f5: PUSH2 0x01fd 000001f8: JUMPI 000001f9: PUSH1 0x00 000001fb: DUP1 000001fc: REVERT 000001fd: JUMPDEST 000001fe: POP 000001ff: PUSH2 0x022d 00000202: PUSH1 0x04 00000204: DUP1 00000205: CALLDATASIZE 00000206: SUB 00000207: PUSH1 0x20 00000209: DUP2 0000020a: LT 0000020b: ISZERO 0000020c: PUSH2 0x0214 0000020f: JUMPI 00000210: PUSH1 0x00 00000212: DUP1 00000213: REVERT 00000214: JUMPDEST 00000215: DUP2 00000216: ADD 00000217: SWAP1 00000218: DUP1 00000219: DUP1 0000021a: CALLDATALOAD 0000021b: PUSH1 0xff 0000021d: AND 0000021e: SWAP1 0000021f: PUSH1 0x20 00000221: ADD 00000222: SWAP1 00000223: SWAP3 00000224: SWAP2 00000225: SWAP1 00000226: POP 00000227: POP 00000228: POP 00000229: PUSH2 0x0a18 0000022c: JUMP 0000022d: JUMPDEST 0000022e: PUSH1 0x40 00000230: MLOAD 00000231: DUP1 00000232: DUP3 00000233: DUP2 00000234: MSTORE 00000235: PUSH1 0x20 00000237: ADD 00000238: SWAP2 00000239: POP 0000023a: POP 0000023b: PUSH1 0x40 0000023d: MLOAD 0000023e: DUP1 0000023f: SWAP2 00000240: SUB 00000241: SWAP1 00000242: RETURN 00000243: JUMPDEST 00000244: CALLVALUE 00000245: DUP1 00000246: ISZERO 00000247: PUSH2 0x024f 0000024a: JUMPI 0000024b: PUSH1 0x00 0000024d: DUP1 0000024e: REVERT 0000024f: JUMPDEST 00000250: POP 00000251: PUSH2 0x0292 00000254: PUSH1 0x04 00000256: DUP1 00000257: CALLDATASIZE 00000258: SUB 00000259: PUSH1 0x20 0000025b: DUP2 0000025c: LT 0000025d: ISZERO 0000025e: PUSH2 0x0266 00000261: JUMPI 00000262: PUSH1 0x00 00000264: DUP1 00000265: REVERT 00000266: JUMPDEST 00000267: DUP2 00000268: ADD 00000269: SWAP1 0000026a: DUP1 0000026b: DUP1 0000026c: CALLDATALOAD 0000026d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000282: AND 00000283: SWAP1 00000284: PUSH1 0x20 00000286: ADD 00000287: SWAP1 00000288: SWAP3 00000289: SWAP2 0000028a: SWAP1 0000028b: POP 0000028c: POP 0000028d: POP 0000028e: PUSH2 0x0a77 00000291: JUMP 00000292: JUMPDEST 00000293: STOP 00000294: JUMPDEST 00000295: CALLVALUE 00000296: DUP1 00000297: ISZERO 00000298: PUSH2 0x02a0 0000029b: JUMPI 0000029c: PUSH1 0x00 0000029e: DUP1 0000029f: REVERT 000002a0: JUMPDEST 000002a1: POP 000002a2: PUSH2 0x02e3 000002a5: PUSH1 0x04 000002a7: DUP1 000002a8: CALLDATASIZE 000002a9: SUB 000002aa: PUSH1 0x20 000002ac: DUP2 000002ad: LT 000002ae: ISZERO 000002af: PUSH2 0x02b7 000002b2: JUMPI 000002b3: PUSH1 0x00 000002b5: DUP1 000002b6: REVERT 000002b7: JUMPDEST 000002b8: DUP2 000002b9: ADD 000002ba: SWAP1 000002bb: DUP1 000002bc: DUP1 000002bd: CALLDATALOAD 000002be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000002d3: AND 000002d4: SWAP1 000002d5: PUSH1 0x20 000002d7: ADD 000002d8: SWAP1 000002d9: SWAP3 000002da: SWAP2 000002db: SWAP1 000002dc: POP 000002dd: POP 000002de: POP 000002df: PUSH2 0x0b35 000002e2: JUMP 000002e3: JUMPDEST 000002e4: PUSH1 0x40 000002e6: MLOAD 000002e7: DUP1 000002e8: DUP3 000002e9: ISZERO 000002ea: ISZERO 000002eb: ISZERO 000002ec: ISZERO 000002ed: DUP2 000002ee: MSTORE 000002ef: PUSH1 0x20 000002f1: ADD 000002f2: SWAP2 000002f3: POP 000002f4: POP 000002f5: PUSH1 0x40 000002f7: MLOAD 000002f8: DUP1 000002f9: SWAP2 000002fa: SUB 000002fb: SWAP1 000002fc: RETURN 000002fd: JUMPDEST 000002fe: CALLVALUE 000002ff: DUP1 00000300: ISZERO 00000301: PUSH2 0x0309 00000304: JUMPI 00000305: PUSH1 0x00 00000307: DUP1 00000308: REVERT 00000309: JUMPDEST 0000030a: POP 0000030b: PUSH2 0x0359 0000030e: PUSH1 0x04 00000310: DUP1 00000311: CALLDATASIZE 00000312: SUB 00000313: PUSH1 0x40 00000315: DUP2 00000316: LT 00000317: ISZERO 00000318: PUSH2 0x0320 0000031b: JUMPI 0000031c: PUSH1 0x00 0000031e: DUP1 0000031f: REVERT 00000320: JUMPDEST 00000321: DUP2 00000322: ADD 00000323: SWAP1 00000324: DUP1 00000325: DUP1 00000326: CALLDATALOAD 00000327: PUSH1 0xff 00000329: AND 0000032a: SWAP1 0000032b: PUSH1 0x20 0000032d: ADD 0000032e: SWAP1 0000032f: SWAP3 00000330: SWAP2 00000331: SWAP1 00000332: DUP1 00000333: CALLDATALOAD 00000334: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000349: AND 0000034a: SWAP1 0000034b: PUSH1 0x20 0000034d: ADD 0000034e: SWAP1 0000034f: SWAP3 00000350: SWAP2 00000351: SWAP1 00000352: POP 00000353: POP 00000354: POP 00000355: PUSH2 0x0b55 00000358: JUMP 00000359: JUMPDEST 0000035a: PUSH1 0x40 0000035c: MLOAD 0000035d: DUP1 0000035e: DUP3 0000035f: ISZERO 00000360: ISZERO 00000361: ISZERO 00000362: ISZERO 00000363: DUP2 00000364: MSTORE 00000365: PUSH1 0x20 00000367: ADD 00000368: SWAP2 00000369: POP 0000036a: POP 0000036b: PUSH1 0x40 0000036d: MLOAD 0000036e: DUP1 0000036f: SWAP2 00000370: SUB 00000371: SWAP1 00000372: RETURN 00000373: JUMPDEST 00000374: CALLVALUE 00000375: DUP1 00000376: ISZERO 00000377: PUSH2 0x037f 0000037a: JUMPI 0000037b: PUSH1 0x00 0000037d: DUP1 0000037e: REVERT 0000037f: JUMPDEST 00000380: POP 00000381: PUSH2 0x0388 00000384: PUSH2 0x0b84 00000387: JUMP 00000388: JUMPDEST 00000389: PUSH1 0x40 0000038b: MLOAD 0000038c: DUP1 0000038d: DUP1 0000038e: PUSH1 0x20 00000390: ADD 00000391: DUP3 00000392: DUP2 00000393: SUB 00000394: DUP3 00000395: MSTORE 00000396: DUP4 00000397: DUP2 00000398: DUP2 00000399: MLOAD 0000039a: DUP2 0000039b: MSTORE 0000039c: PUSH1 0x20 0000039e: ADD 0000039f: SWAP2 000003a0: POP 000003a1: DUP1 000003a2: MLOAD 000003a3: SWAP1 000003a4: PUSH1 0x20 000003a6: ADD 000003a7: SWAP1 000003a8: PUSH1 0x20 000003aa: MUL 000003ab: DUP1 000003ac: DUP4 000003ad: DUP4 000003ae: PUSH1 0x00 000003b0: JUMPDEST 000003b1: DUP4 000003b2: DUP2 000003b3: LT 000003b4: ISZERO 000003b5: PUSH2 0x03cb 000003b8: JUMPI 000003b9: DUP1 000003ba: DUP3 000003bb: ADD 000003bc: MLOAD 000003bd: DUP2 000003be: DUP5 000003bf: ADD 000003c0: MSTORE 000003c1: PUSH1 0x20 000003c3: DUP2 000003c4: ADD 000003c5: SWAP1 000003c6: POP 000003c7: PUSH2 0x03b0 000003ca: JUMP 000003cb: JUMPDEST 000003cc: POP 000003cd: POP 000003ce: POP 000003cf: POP 000003d0: SWAP1 000003d1: POP 000003d2: ADD 000003d3: SWAP3 000003d4: POP 000003d5: POP 000003d6: POP 000003d7: PUSH1 0x40 000003d9: MLOAD 000003da: DUP1 000003db: SWAP2 000003dc: SUB 000003dd: SWAP1 000003de: RETURN 000003df: JUMPDEST 000003e0: CALLVALUE 000003e1: DUP1 000003e2: ISZERO 000003e3: PUSH2 0x03eb 000003e6: JUMPI 000003e7: PUSH1 0x00 000003e9: DUP1 000003ea: REVERT 000003eb: JUMPDEST 000003ec: POP 000003ed: PUSH2 0x03f4 000003f0: PUSH2 0x0c12 000003f3: JUMP 000003f4: JUMPDEST 000003f5: STOP 000003f6: JUMPDEST 000003f7: CALLVALUE 000003f8: DUP1 000003f9: ISZERO 000003fa: PUSH2 0x0402 000003fd: JUMPI 000003fe: PUSH1 0x00 00000400: DUP1 00000401: REVERT 00000402: JUMPDEST 00000403: POP 00000404: PUSH2 0x040b 00000407: PUSH2 0x0d4b 0000040a: JUMP 0000040b: JUMPDEST 0000040c: PUSH1 0x40 0000040e: MLOAD 0000040f: DUP1 00000410: DUP3 00000411: PUSH1 0xff 00000413: AND 00000414: PUSH1 0xff 00000416: AND 00000417: DUP2 00000418: MSTORE 00000419: PUSH1 0x20 0000041b: ADD 0000041c: SWAP2 0000041d: POP 0000041e: POP 0000041f: PUSH1 0x40 00000421: MLOAD 00000422: DUP1 00000423: SWAP2 00000424: SUB 00000425: SWAP1 00000426: RETURN 00000427: JUMPDEST 00000428: CALLVALUE 00000429: DUP1 0000042a: ISZERO 0000042b: PUSH2 0x0433 0000042e: JUMPI 0000042f: PUSH1 0x00 00000431: DUP1 00000432: REVERT 00000433: JUMPDEST 00000434: POP 00000435: PUSH2 0x043c 00000438: PUSH2 0x0d5e 0000043b: JUMP 0000043c: JUMPDEST 0000043d: PUSH1 0x40 0000043f: MLOAD 00000440: DUP1 00000441: DUP3 00000442: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000457: AND 00000458: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000046d: AND 0000046e: DUP2 0000046f: MSTORE 00000470: PUSH1 0x20 00000472: ADD 00000473: SWAP2 00000474: POP 00000475: POP 00000476: PUSH1 0x40 00000478: MLOAD 00000479: DUP1 0000047a: SWAP2 0000047b: SUB 0000047c: SWAP1 0000047d: RETURN 0000047e: JUMPDEST 0000047f: CALLVALUE 00000480: DUP1 00000481: ISZERO 00000482: PUSH2 0x048a 00000485: JUMPI 00000486: PUSH1 0x00 00000488: DUP1 00000489: REVERT 0000048a: JUMPDEST 0000048b: POP 0000048c: PUSH2 0x0493 0000048f: PUSH2 0x0d87 00000492: JUMP 00000493: JUMPDEST 00000494: PUSH1 0x40 00000496: MLOAD 00000497: DUP1 00000498: DUP3 00000499: ISZERO 0000049a: ISZERO 0000049b: ISZERO 0000049c: ISZERO 0000049d: DUP2 0000049e: MSTORE 0000049f: PUSH1 0x20 000004a1: ADD 000004a2: SWAP2 000004a3: POP 000004a4: POP 000004a5: PUSH1 0x40 000004a7: MLOAD 000004a8: DUP1 000004a9: SWAP2 000004aa: SUB 000004ab: SWAP1 000004ac: RETURN 000004ad: JUMPDEST 000004ae: CALLVALUE 000004af: DUP1 000004b0: ISZERO 000004b1: PUSH2 0x04b9 000004b4: JUMPI 000004b5: PUSH1 0x00 000004b7: DUP1 000004b8: REVERT 000004b9: JUMPDEST 000004ba: POP 000004bb: PUSH2 0x04e9 000004be: PUSH1 0x04 000004c0: DUP1 000004c1: CALLDATASIZE 000004c2: SUB 000004c3: PUSH1 0x20 000004c5: DUP2 000004c6: LT 000004c7: ISZERO 000004c8: PUSH2 0x04d0 000004cb: JUMPI 000004cc: PUSH1 0x00 000004ce: DUP1 000004cf: REVERT 000004d0: JUMPDEST 000004d1: DUP2 000004d2: ADD 000004d3: SWAP1 000004d4: DUP1 000004d5: DUP1 000004d6: CALLDATALOAD 000004d7: PUSH1 0xff 000004d9: AND 000004da: SWAP1 000004db: PUSH1 0x20 000004dd: ADD 000004de: SWAP1 000004df: SWAP3 000004e0: SWAP2 000004e1: SWAP1 000004e2: POP 000004e3: POP 000004e4: POP 000004e5: PUSH2 0x0de5 000004e8: JUMP 000004e9: JUMPDEST 000004ea: STOP 000004eb: JUMPDEST 000004ec: CALLVALUE 000004ed: DUP1 000004ee: ISZERO 000004ef: PUSH2 0x04f7 000004f2: JUMPI 000004f3: PUSH1 0x00 000004f5: DUP1 000004f6: REVERT 000004f7: JUMPDEST 000004f8: POP 000004f9: PUSH2 0x0524 000004fc: PUSH1 0x04 000004fe: DUP1 000004ff: CALLDATASIZE 00000500: SUB 00000501: PUSH1 0x20 00000503: DUP2 00000504: LT 00000505: ISZERO 00000506: PUSH2 0x050e 00000509: JUMPI 0000050a: PUSH1 0x00 0000050c: DUP1 0000050d: REVERT 0000050e: JUMPDEST 0000050f: DUP2 00000510: ADD 00000511: SWAP1 00000512: DUP1 00000513: DUP1 00000514: CALLDATALOAD 00000515: SWAP1 00000516: PUSH1 0x20 00000518: ADD 00000519: SWAP1 0000051a: SWAP3 0000051b: SWAP2 0000051c: SWAP1 0000051d: POP 0000051e: POP 0000051f: POP 00000520: PUSH2 0x14bc 00000523: JUMP 00000524: JUMPDEST 00000525: STOP 00000526: JUMPDEST 00000527: CALLVALUE 00000528: DUP1 00000529: ISZERO 0000052a: PUSH2 0x0532 0000052d: JUMPI 0000052e: PUSH1 0x00 00000530: DUP1 00000531: REVERT 00000532: JUMPDEST 00000533: POP 00000534: PUSH2 0x05a2 00000537: PUSH1 0x04 00000539: DUP1 0000053a: CALLDATASIZE 0000053b: SUB 0000053c: PUSH1 0x60 0000053e: DUP2 0000053f: LT 00000540: ISZERO 00000541: PUSH2 0x0549 00000544: JUMPI 00000545: PUSH1 0x00 00000547: DUP1 00000548: REVERT 00000549: JUMPDEST 0000054a: DUP2 0000054b: ADD 0000054c: SWAP1 0000054d: DUP1 0000054e: DUP1 0000054f: CALLDATALOAD 00000550: PUSH1 0xff 00000552: AND 00000553: SWAP1 00000554: PUSH1 0x20 00000556: ADD 00000557: SWAP1 00000558: SWAP3 00000559: SWAP2 0000055a: SWAP1 0000055b: DUP1 0000055c: CALLDATALOAD 0000055d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000572: AND 00000573: SWAP1 00000574: PUSH1 0x20 00000576: ADD 00000577: SWAP1 00000578: SWAP3 00000579: SWAP2 0000057a: SWAP1 0000057b: DUP1 0000057c: CALLDATALOAD 0000057d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000592: AND 00000593: SWAP1 00000594: PUSH1 0x20 00000596: ADD 00000597: SWAP1 00000598: SWAP3 00000599: SWAP2 0000059a: SWAP1 0000059b: POP 0000059c: POP 0000059d: POP 0000059e: PUSH2 0x166f 000005a1: JUMP 000005a2: JUMPDEST 000005a3: PUSH1 0x40 000005a5: MLOAD 000005a6: DUP1 000005a7: DUP3 000005a8: DUP2 000005a9: MSTORE 000005aa: PUSH1 0x20 000005ac: ADD 000005ad: SWAP2 000005ae: POP 000005af: POP 000005b0: PUSH1 0x40 000005b2: MLOAD 000005b3: DUP1 000005b4: SWAP2 000005b5: SUB 000005b6: SWAP1 000005b7: RETURN 000005b8: JUMPDEST 000005b9: CALLVALUE 000005ba: DUP1 000005bb: ISZERO 000005bc: PUSH2 0x05c4 000005bf: JUMPI 000005c0: PUSH1 0x00 000005c2: DUP1 000005c3: REVERT 000005c4: JUMPDEST 000005c5: POP 000005c6: PUSH2 0x0607 000005c9: PUSH1 0x04 000005cb: DUP1 000005cc: CALLDATASIZE 000005cd: SUB 000005ce: PUSH1 0x20 000005d0: DUP2 000005d1: LT 000005d2: ISZERO 000005d3: PUSH2 0x05db 000005d6: JUMPI 000005d7: PUSH1 0x00 000005d9: DUP1 000005da: REVERT 000005db: JUMPDEST 000005dc: DUP2 000005dd: ADD 000005de: SWAP1 000005df: DUP1 000005e0: DUP1 000005e1: CALLDATALOAD 000005e2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005f7: AND 000005f8: SWAP1 000005f9: PUSH1 0x20 000005fb: ADD 000005fc: SWAP1 000005fd: SWAP3 000005fe: SWAP2 000005ff: SWAP1 00000600: POP 00000601: POP 00000602: POP 00000603: PUSH2 0x173e 00000606: JUMP 00000607: JUMPDEST 00000608: STOP 00000609: JUMPDEST 0000060a: CALLVALUE 0000060b: DUP1 0000060c: ISZERO 0000060d: PUSH2 0x0615 00000610: JUMPI 00000611: PUSH1 0x00 00000613: DUP1 00000614: REVERT 00000615: JUMPDEST 00000616: POP 00000617: PUSH2 0x0658 0000061a: PUSH1 0x04 0000061c: DUP1 0000061d: CALLDATASIZE 0000061e: SUB 0000061f: PUSH1 0x20 00000621: DUP2 00000622: LT 00000623: ISZERO 00000624: PUSH2 0x062c 00000627: JUMPI 00000628: PUSH1 0x00 0000062a: DUP1 0000062b: REVERT 0000062c: JUMPDEST 0000062d: DUP2 0000062e: ADD 0000062f: SWAP1 00000630: DUP1 00000631: DUP1 00000632: CALLDATALOAD 00000633: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000648: AND 00000649: SWAP1 0000064a: PUSH1 0x20 0000064c: ADD 0000064d: SWAP1 0000064e: SWAP3 0000064f: SWAP2 00000650: SWAP1 00000651: POP 00000652: POP 00000653: POP 00000654: PUSH2 0x17fc 00000657: JUMP 00000658: JUMPDEST 00000659: STOP 0000065a: JUMPDEST 0000065b: CALLVALUE 0000065c: DUP1 0000065d: ISZERO 0000065e: PUSH2 0x0666 00000661: JUMPI 00000662: PUSH1 0x00 00000664: DUP1 00000665: REVERT 00000666: JUMPDEST 00000667: POP 00000668: PUSH2 0x06a9 0000066b: PUSH1 0x04 0000066d: DUP1 0000066e: CALLDATASIZE 0000066f: SUB 00000670: PUSH1 0x20 00000672: DUP2 00000673: LT 00000674: ISZERO 00000675: PUSH2 0x067d 00000678: JUMPI 00000679: PUSH1 0x00 0000067b: DUP1 0000067c: REVERT 0000067d: JUMPDEST 0000067e: DUP2 0000067f: ADD 00000680: SWAP1 00000681: DUP1 00000682: DUP1 00000683: CALLDATALOAD 00000684: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000699: AND 0000069a: SWAP1 0000069b: PUSH1 0x20 0000069d: ADD 0000069e: SWAP1 0000069f: SWAP3 000006a0: SWAP2 000006a1: SWAP1 000006a2: POP 000006a3: POP 000006a4: POP 000006a5: PUSH2 0x19fd 000006a8: JUMP 000006a9: JUMPDEST 000006aa: STOP 000006ab: JUMPDEST 000006ac: PUSH2 0x070e 000006af: PUSH1 0x04 000006b1: DUP1 000006b2: CALLDATASIZE 000006b3: SUB 000006b4: PUSH1 0x80 000006b6: DUP2 000006b7: LT 000006b8: ISZERO 000006b9: PUSH2 0x06c1 000006bc: JUMPI 000006bd: PUSH1 0x00 000006bf: DUP1 000006c0: REVERT 000006c1: JUMPDEST 000006c2: DUP2 000006c3: ADD 000006c4: SWAP1 000006c5: DUP1 000006c6: DUP1 000006c7: CALLDATALOAD 000006c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006dd: AND 000006de: SWAP1 000006df: PUSH1 0x20 000006e1: ADD 000006e2: SWAP1 000006e3: SWAP3 000006e4: SWAP2 000006e5: SWAP1 000006e6: DUP1 000006e7: CALLDATALOAD 000006e8: SWAP1 000006e9: PUSH1 0x20 000006eb: ADD 000006ec: SWAP1 000006ed: SWAP3 000006ee: SWAP2 000006ef: SWAP1 000006f0: DUP1 000006f1: CALLDATALOAD 000006f2: SWAP1 000006f3: PUSH1 0x20 000006f5: ADD 000006f6: SWAP1 000006f7: SWAP3 000006f8: SWAP2 000006f9: SWAP1 000006fa: DUP1 000006fb: CALLDATALOAD 000006fc: PUSH1 0xff 000006fe: AND 000006ff: SWAP1 00000700: PUSH1 0x20 00000702: ADD 00000703: SWAP1 00000704: SWAP3 00000705: SWAP2 00000706: SWAP1 00000707: POP 00000708: POP 00000709: POP 0000070a: PUSH2 0x1a83 0000070d: JUMP 0000070e: JUMPDEST 0000070f: STOP 00000710: JUMPDEST 00000711: CALLVALUE 00000712: DUP1 00000713: ISZERO 00000714: PUSH2 0x071c 00000717: JUMPI 00000718: PUSH1 0x00 0000071a: DUP1 0000071b: REVERT 0000071c: JUMPDEST 0000071d: POP 0000071e: PUSH2 0x0725 00000721: PUSH2 0x287c 00000724: JUMP 00000725: JUMPDEST 00000726: PUSH1 0x40 00000728: MLOAD 00000729: DUP1 0000072a: DUP3 0000072b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000740: AND 00000741: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000756: AND 00000757: DUP2 00000758: MSTORE 00000759: PUSH1 0x20 0000075b: ADD 0000075c: SWAP2 0000075d: POP 0000075e: POP 0000075f: PUSH1 0x40 00000761: MLOAD 00000762: DUP1 00000763: SWAP2 00000764: SUB 00000765: SWAP1 00000766: RETURN 00000767: JUMPDEST 00000768: CALLVALUE 00000769: DUP1 0000076a: ISZERO 0000076b: PUSH2 0x0773 0000076e: JUMPI 0000076f: PUSH1 0x00 00000771: DUP1 00000772: REVERT 00000773: JUMPDEST 00000774: POP 00000775: PUSH2 0x07e3 00000778: PUSH1 0x04 0000077a: DUP1 0000077b: CALLDATASIZE 0000077c: SUB 0000077d: PUSH1 0x60 0000077f: DUP2 00000780: LT 00000781: ISZERO 00000782: PUSH2 0x078a 00000785: JUMPI 00000786: PUSH1 0x00 00000788: DUP1 00000789: REVERT 0000078a: JUMPDEST 0000078b: DUP2 0000078c: ADD 0000078d: SWAP1 0000078e: DUP1 0000078f: DUP1 00000790: CALLDATALOAD 00000791: PUSH1 0xff 00000793: AND 00000794: SWAP1 00000795: PUSH1 0x20 00000797: ADD 00000798: SWAP1 00000799: SWAP3 0000079a: SWAP2 0000079b: SWAP1 0000079c: DUP1 0000079d: CALLDATALOAD 0000079e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007b3: AND 000007b4: SWAP1 000007b5: PUSH1 0x20 000007b7: ADD 000007b8: SWAP1 000007b9: SWAP3 000007ba: SWAP2 000007bb: SWAP1 000007bc: DUP1 000007bd: CALLDATALOAD 000007be: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007d3: AND 000007d4: SWAP1 000007d5: PUSH1 0x20 000007d7: ADD 000007d8: SWAP1 000007d9: SWAP3 000007da: SWAP2 000007db: SWAP1 000007dc: POP 000007dd: POP 000007de: POP 000007df: PUSH2 0x28a2 000007e2: JUMP 000007e3: JUMPDEST 000007e4: PUSH1 0x40 000007e6: MLOAD 000007e7: DUP1 000007e8: DUP1 000007e9: PUSH1 0x20 000007eb: ADD 000007ec: DUP1 000007ed: PUSH1 0x20 000007ef: ADD 000007f0: DUP1 000007f1: PUSH1 0x20 000007f3: ADD 000007f4: DUP5 000007f5: DUP2 000007f6: SUB 000007f7: DUP5 000007f8: MSTORE 000007f9: DUP8 000007fa: DUP2 000007fb: DUP2 000007fc: MLOAD 000007fd: DUP2 000007fe: MSTORE 000007ff: PUSH1 0x20 00000801: ADD 00000802: SWAP2 00000803: POP 00000804: DUP1 00000805: MLOAD 00000806: SWAP1 00000807: PUSH1 0x20 00000809: ADD 0000080a: SWAP1 0000080b: PUSH1 0x20 0000080d: MUL 0000080e: DUP1 0000080f: DUP4 00000810: DUP4 00000811: PUSH1 0x00 00000813: JUMPDEST 00000814: DUP4 00000815: DUP2 00000816: LT 00000817: ISZERO 00000818: PUSH2 0x082e 0000081b: JUMPI 0000081c: DUP1 0000081d: DUP3 0000081e: ADD 0000081f: MLOAD 00000820: DUP2 00000821: DUP5 00000822: ADD 00000823: MSTORE 00000824: PUSH1 0x20 00000826: DUP2 00000827: ADD 00000828: SWAP1 00000829: POP 0000082a: PUSH2 0x0813 0000082d: JUMP 0000082e: JUMPDEST 0000082f: POP 00000830: POP 00000831: POP 00000832: POP 00000833: SWAP1 00000834: POP 00000835: ADD 00000836: DUP5 00000837: DUP2 00000838: SUB 00000839: DUP4 0000083a: MSTORE 0000083b: DUP7 0000083c: DUP2 0000083d: DUP2 0000083e: MLOAD 0000083f: DUP2 00000840: MSTORE 00000841: PUSH1 0x20 00000843: ADD 00000844: SWAP2 00000845: POP 00000846: DUP1 00000847: MLOAD 00000848: SWAP1 00000849: PUSH1 0x20 0000084b: ADD 0000084c: SWAP1 0000084d: PUSH1 0x20 0000084f: MUL 00000850: DUP1 00000851: DUP4 00000852: DUP4 00000853: PUSH1 0x00 00000855: JUMPDEST 00000856: DUP4 00000857: DUP2 00000858: LT 00000859: ISZERO 0000085a: PUSH2 0x0870 0000085d: JUMPI 0000085e: DUP1 0000085f: DUP3 00000860: ADD 00000861: MLOAD 00000862: DUP2 00000863: DUP5 00000864: ADD 00000865: MSTORE 00000866: PUSH1 0x20 00000868: DUP2 00000869: ADD 0000086a: SWAP1 0000086b: POP 0000086c: PUSH2 0x0855 0000086f: JUMP 00000870: JUMPDEST 00000871: POP 00000872: POP 00000873: POP 00000874: POP 00000875: SWAP1 00000876: POP 00000877: ADD 00000878: DUP5 00000879: DUP2 0000087a: SUB 0000087b: DUP3 0000087c: MSTORE 0000087d: DUP6 0000087e: DUP2 0000087f: DUP2 00000880: MLOAD 00000881: DUP2 00000882: MSTORE 00000883: PUSH1 0x20 00000885: ADD 00000886: SWAP2 00000887: POP 00000888: DUP1 00000889: MLOAD 0000088a: SWAP1 0000088b: PUSH1 0x20 0000088d: ADD 0000088e: SWAP1 0000088f: PUSH1 0x20 00000891: MUL 00000892: DUP1 00000893: DUP4 00000894: DUP4 00000895: PUSH1 0x00 00000897: JUMPDEST 00000898: DUP4 00000899: DUP2 0000089a: LT 0000089b: ISZERO 0000089c: PUSH2 0x08b2 0000089f: JUMPI 000008a0: DUP1 000008a1: DUP3 000008a2: ADD 000008a3: MLOAD 000008a4: DUP2 000008a5: DUP5 000008a6: ADD 000008a7: MSTORE 000008a8: PUSH1 0x20 000008aa: DUP2 000008ab: ADD 000008ac: SWAP1 000008ad: POP 000008ae: PUSH2 0x0897 000008b1: JUMP 000008b2: JUMPDEST 000008b3: POP 000008b4: POP 000008b5: POP 000008b6: POP 000008b7: SWAP1 000008b8: POP 000008b9: ADD 000008ba: SWAP7 000008bb: POP 000008bc: POP 000008bd: POP 000008be: POP 000008bf: POP 000008c0: POP 000008c1: POP 000008c2: PUSH1 0x40 000008c4: MLOAD 000008c5: DUP1 000008c6: SWAP2 000008c7: SUB 000008c8: SWAP1 000008c9: RETURN 000008ca: JUMPDEST 000008cb: PUSH1 0x08 000008cd: PUSH1 0x00 000008cf: SWAP1 000008d0: SLOAD 000008d1: SWAP1 000008d2: PUSH2 0x0100 000008d5: EXP 000008d6: SWAP1 000008d7: DIV 000008d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008ed: AND 000008ee: DUP2 000008ef: JUMP 000008f0: JUMPDEST 000008f1: PUSH1 0x00 000008f3: DUP1 000008f4: DUP4 000008f5: PUSH1 0xff 000008f7: AND 000008f8: EQ 000008f9: ISZERO 000008fa: PUSH2 0x0910 000008fd: JUMPI 000008fe: PUSH1 0x05 00000900: PUSH1 0x01 00000902: SWAP1 00000903: SLOAD 00000904: SWAP1 00000905: PUSH2 0x0100 00000908: EXP 00000909: SWAP1 0000090a: DIV 0000090b: PUSH1 0xff 0000090d: AND 0000090e: SWAP3 0000090f: POP 00000910: JUMPDEST 00000911: TIMESTAMP 00000912: PUSH2 0x091a 00000915: DUP5 00000916: PUSH2 0x0a18 00000919: JUMP 0000091a: JUMPDEST 0000091b: GT 0000091c: DUP1 0000091d: PUSH2 0x0986 00000920: JUMPI 00000921: POP 00000922: PUSH1 0x09 00000924: PUSH1 0x00 00000926: DUP5 00000927: PUSH1 0xff 00000929: AND 0000092a: PUSH1 0xff 0000092c: AND 0000092d: DUP2 0000092e: MSTORE 0000092f: PUSH1 0x20 00000931: ADD 00000932: SWAP1 00000933: DUP2 00000934: MSTORE 00000935: PUSH1 0x20 00000937: ADD 00000938: PUSH1 0x00 0000093a: KECCAK256 0000093b: PUSH1 0x00 0000093d: DUP4 0000093e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000953: AND 00000954: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000969: AND 0000096a: DUP2 0000096b: MSTORE 0000096c: PUSH1 0x20 0000096e: ADD 0000096f: SWAP1 00000970: DUP2 00000971: MSTORE 00000972: PUSH1 0x20 00000974: ADD 00000975: PUSH1 0x00 00000977: KECCAK256 00000978: PUSH1 0x00 0000097a: SWAP1 0000097b: SLOAD 0000097c: SWAP1 0000097d: PUSH2 0x0100 00000980: EXP 00000981: SWAP1 00000982: DIV 00000983: PUSH1 0xff 00000985: AND 00000986: JUMPDEST 00000987: ISZERO 00000988: PUSH2 0x0994 0000098b: JUMPI 0000098c: PUSH1 0x00 0000098e: SWAP1 0000098f: POP 00000990: PUSH2 0x0a12 00000993: JUMP 00000994: JUMPDEST 00000995: PUSH1 0x00 00000997: DUP1 00000998: SWAP1 00000999: POP 0000099a: PUSH1 0x00 0000099c: DUP1 0000099d: SWAP1 0000099e: POP 0000099f: JUMPDEST 000009a0: PUSH1 0x03 000009a2: DUP1 000009a3: SLOAD 000009a4: SWAP1 000009a5: POP 000009a6: DUP2 000009a7: LT 000009a8: ISZERO 000009a9: PUSH2 0x0a0c 000009ac: JUMPI 000009ad: PUSH1 0x00 000009af: PUSH2 0x09f0 000009b2: DUP7 000009b3: PUSH1 0x03 000009b5: DUP5 000009b6: DUP2 000009b7: SLOAD 000009b8: DUP2 000009b9: LT 000009ba: PUSH2 0x09bf 000009bd: JUMPI 000009be: INVALID 000009bf: JUMPDEST 000009c0: SWAP1 000009c1: PUSH1 0x00 000009c3: MSTORE 000009c4: PUSH1 0x20 000009c6: PUSH1 0x00 000009c8: KECCAK256 000009c9: ADD 000009ca: PUSH1 0x00 000009cc: SWAP1 000009cd: SLOAD 000009ce: SWAP1 000009cf: PUSH2 0x0100 000009d2: EXP 000009d3: SWAP1 000009d4: DIV 000009d5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009ea: AND 000009eb: DUP8 000009ec: PUSH2 0x166f 000009ef: JUMP 000009f0: JUMPDEST 000009f1: GT 000009f2: ISZERO 000009f3: PUSH2 0x09ff 000009f6: JUMPI 000009f7: PUSH1 0x01 000009f9: SWAP2 000009fa: POP 000009fb: PUSH2 0x0a0c 000009fe: JUMP 000009ff: JUMPDEST 00000a00: DUP1 00000a01: DUP1 00000a02: PUSH1 0x01 00000a04: ADD 00000a05: SWAP2 00000a06: POP 00000a07: POP 00000a08: PUSH2 0x099f 00000a0b: JUMP 00000a0c: JUMPDEST 00000a0d: POP 00000a0e: DUP1 00000a0f: SWAP2 00000a10: POP 00000a11: POP 00000a12: JUMPDEST 00000a13: SWAP3 00000a14: SWAP2 00000a15: POP 00000a16: POP 00000a17: JUMP 00000a18: JUMPDEST 00000a19: PUSH1 0x00 00000a1b: DUP1 00000a1c: DUP3 00000a1d: PUSH1 0xff 00000a1f: AND 00000a20: EQ 00000a21: ISZERO 00000a22: PUSH2 0x0a55 00000a25: JUMPI 00000a26: PUSH1 0x04 00000a28: PUSH1 0x00 00000a2a: PUSH1 0x05 00000a2c: PUSH1 0x01 00000a2e: SWAP1 00000a2f: SLOAD 00000a30: SWAP1 00000a31: PUSH2 0x0100 00000a34: EXP 00000a35: SWAP1 00000a36: DIV 00000a37: PUSH1 0xff 00000a39: AND 00000a3a: PUSH1 0xff 00000a3c: AND 00000a3d: PUSH1 0xff 00000a3f: AND 00000a40: DUP2 00000a41: MSTORE 00000a42: PUSH1 0x20 00000a44: ADD 00000a45: SWAP1 00000a46: DUP2 00000a47: MSTORE 00000a48: PUSH1 0x20 00000a4a: ADD 00000a4b: PUSH1 0x00 00000a4d: KECCAK256 00000a4e: SLOAD 00000a4f: SWAP1 00000a50: POP 00000a51: PUSH2 0x0a72 00000a54: JUMP 00000a55: JUMPDEST 00000a56: PUSH1 0x04 00000a58: PUSH1 0x00 00000a5a: DUP4 00000a5b: PUSH1 0xff 00000a5d: AND 00000a5e: PUSH1 0xff 00000a60: AND 00000a61: DUP2 00000a62: MSTORE 00000a63: PUSH1 0x20 00000a65: ADD 00000a66: SWAP1 00000a67: DUP2 00000a68: MSTORE 00000a69: PUSH1 0x20 00000a6b: ADD 00000a6c: PUSH1 0x00 00000a6e: KECCAK256 00000a6f: SLOAD 00000a70: SWAP1 00000a71: POP 00000a72: JUMPDEST 00000a73: SWAP2 00000a74: SWAP1 00000a75: POP 00000a76: JUMP 00000a77: JUMPDEST 00000a78: PUSH2 0x0a7f 00000a7b: PUSH2 0x0d87 00000a7e: JUMP 00000a7f: JUMPDEST 00000a80: PUSH2 0x0af1 00000a83: JUMPI 00000a84: PUSH1 0x40 00000a86: MLOAD 00000a87: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000aa8: DUP2 00000aa9: MSTORE 00000aaa: PUSH1 0x04 00000aac: ADD 00000aad: DUP1 00000aae: DUP1 00000aaf: PUSH1 0x20 00000ab1: ADD 00000ab2: DUP3 00000ab3: DUP2 00000ab4: SUB 00000ab5: DUP3 00000ab6: MSTORE 00000ab7: PUSH1 0x20 00000ab9: DUP2 00000aba: MSTORE 00000abb: PUSH1 0x20 00000abd: ADD 00000abe: DUP1 00000abf: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00000ae0: DUP2 00000ae1: MSTORE 00000ae2: POP 00000ae3: PUSH1 0x20 00000ae5: ADD 00000ae6: SWAP2 00000ae7: POP 00000ae8: POP 00000ae9: PUSH1 0x40 00000aeb: MLOAD 00000aec: DUP1 00000aed: SWAP2 00000aee: SUB 00000aef: SWAP1 00000af0: REVERT 00000af1: JUMPDEST 00000af2: DUP1 00000af3: PUSH1 0x07 00000af5: PUSH1 0x00 00000af7: PUSH2 0x0100 00000afa: EXP 00000afb: DUP2 00000afc: SLOAD 00000afd: DUP2 00000afe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b13: MUL 00000b14: NOT 00000b15: AND 00000b16: SWAP1 00000b17: DUP4 00000b18: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b2d: AND 00000b2e: MUL 00000b2f: OR 00000b30: SWAP1 00000b31: SSTORE 00000b32: POP 00000b33: POP 00000b34: JUMP 00000b35: JUMPDEST 00000b36: PUSH1 0x06 00000b38: PUSH1 0x20 00000b3a: MSTORE 00000b3b: DUP1 00000b3c: PUSH1 0x00 00000b3e: MSTORE 00000b3f: PUSH1 0x40 00000b41: PUSH1 0x00 00000b43: KECCAK256 00000b44: PUSH1 0x00 00000b46: SWAP2 00000b47: POP 00000b48: SLOAD 00000b49: SWAP1 00000b4a: PUSH2 0x0100 00000b4d: EXP 00000b4e: SWAP1 00000b4f: DIV 00000b50: PUSH1 0xff 00000b52: AND 00000b53: DUP2 00000b54: JUMP 00000b55: JUMPDEST 00000b56: PUSH1 0x09 00000b58: PUSH1 0x20 00000b5a: MSTORE 00000b5b: DUP2 00000b5c: PUSH1 0x00 00000b5e: MSTORE 00000b5f: PUSH1 0x40 00000b61: PUSH1 0x00 00000b63: KECCAK256 00000b64: PUSH1 0x20 00000b66: MSTORE 00000b67: DUP1 00000b68: PUSH1 0x00 00000b6a: MSTORE 00000b6b: PUSH1 0x40 00000b6d: PUSH1 0x00 00000b6f: KECCAK256 00000b70: PUSH1 0x00 00000b72: SWAP2 00000b73: POP 00000b74: SWAP2 00000b75: POP 00000b76: SWAP1 00000b77: SLOAD 00000b78: SWAP1 00000b79: PUSH2 0x0100 00000b7c: EXP 00000b7d: SWAP1 00000b7e: DIV 00000b7f: PUSH1 0xff 00000b81: AND 00000b82: DUP2 00000b83: JUMP 00000b84: JUMPDEST 00000b85: PUSH1 0x60 00000b87: PUSH1 0x03 00000b89: DUP1 00000b8a: SLOAD 00000b8b: DUP1 00000b8c: PUSH1 0x20 00000b8e: MUL 00000b8f: PUSH1 0x20 00000b91: ADD 00000b92: PUSH1 0x40 00000b94: MLOAD 00000b95: SWAP1 00000b96: DUP2 00000b97: ADD 00000b98: PUSH1 0x40 00000b9a: MSTORE 00000b9b: DUP1 00000b9c: SWAP3 00000b9d: SWAP2 00000b9e: SWAP1 00000b9f: DUP2 00000ba0: DUP2 00000ba1: MSTORE 00000ba2: PUSH1 0x20 00000ba4: ADD 00000ba5: DUP3 00000ba6: DUP1 00000ba7: SLOAD 00000ba8: DUP1 00000ba9: ISZERO 00000baa: PUSH2 0x0c08 00000bad: JUMPI 00000bae: PUSH1 0x20 00000bb0: MUL 00000bb1: DUP3 00000bb2: ADD 00000bb3: SWAP2 00000bb4: SWAP1 00000bb5: PUSH1 0x00 00000bb7: MSTORE 00000bb8: PUSH1 0x20 00000bba: PUSH1 0x00 00000bbc: KECCAK256 00000bbd: SWAP1 00000bbe: JUMPDEST 00000bbf: DUP2 00000bc0: PUSH1 0x00 00000bc2: SWAP1 00000bc3: SLOAD 00000bc4: SWAP1 00000bc5: PUSH2 0x0100 00000bc8: EXP 00000bc9: SWAP1 00000bca: DIV 00000bcb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000be0: AND 00000be1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bf6: AND 00000bf7: DUP2 00000bf8: MSTORE 00000bf9: PUSH1 0x20 00000bfb: ADD 00000bfc: SWAP1 00000bfd: PUSH1 0x01 00000bff: ADD 00000c00: SWAP1 00000c01: DUP1 00000c02: DUP4 00000c03: GT 00000c04: PUSH2 0x0bbe 00000c07: JUMPI 00000c08: JUMPDEST 00000c09: POP 00000c0a: POP 00000c0b: POP 00000c0c: POP 00000c0d: POP 00000c0e: SWAP1 00000c0f: POP 00000c10: SWAP1 00000c11: JUMP 00000c12: JUMPDEST 00000c13: PUSH2 0x0c1a 00000c16: PUSH2 0x0d87 00000c19: JUMP 00000c1a: JUMPDEST 00000c1b: PUSH2 0x0c8c 00000c1e: JUMPI 00000c1f: PUSH1 0x40 00000c21: MLOAD 00000c22: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000c43: DUP2 00000c44: MSTORE 00000c45: PUSH1 0x04 00000c47: ADD 00000c48: DUP1 00000c49: DUP1 00000c4a: PUSH1 0x20 00000c4c: ADD 00000c4d: DUP3 00000c4e: DUP2 00000c4f: SUB 00000c50: DUP3 00000c51: MSTORE 00000c52: PUSH1 0x20 00000c54: DUP2 00000c55: MSTORE 00000c56: PUSH1 0x20 00000c58: ADD 00000c59: DUP1 00000c5a: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00000c7b: DUP2 00000c7c: MSTORE 00000c7d: POP 00000c7e: PUSH1 0x20 00000c80: ADD 00000c81: SWAP2 00000c82: POP 00000c83: POP 00000c84: PUSH1 0x40 00000c86: MLOAD 00000c87: DUP1 00000c88: SWAP2 00000c89: SUB 00000c8a: SWAP1 00000c8b: REVERT 00000c8c: JUMPDEST 00000c8d: PUSH1 0x00 00000c8f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ca4: AND 00000ca5: PUSH1 0x00 00000ca7: DUP1 00000ca8: SWAP1 00000ca9: SLOAD 00000caa: SWAP1 00000cab: PUSH2 0x0100 00000cae: EXP 00000caf: SWAP1 00000cb0: DIV 00000cb1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cc6: AND 00000cc7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cdc: AND 00000cdd: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00000cfe: PUSH1 0x40 00000d00: MLOAD 00000d01: PUSH1 0x40 00000d03: MLOAD 00000d04: DUP1 00000d05: SWAP2 00000d06: SUB 00000d07: SWAP1 00000d08: LOG3 00000d09: PUSH1 0x00 00000d0b: DUP1 00000d0c: PUSH1 0x00 00000d0e: PUSH2 0x0100 00000d11: EXP 00000d12: DUP2 00000d13: SLOAD 00000d14: DUP2 00000d15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d2a: MUL 00000d2b: NOT 00000d2c: AND 00000d2d: SWAP1 00000d2e: DUP4 00000d2f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d44: AND 00000d45: MUL 00000d46: OR 00000d47: SWAP1 00000d48: SSTORE 00000d49: POP 00000d4a: JUMP 00000d4b: JUMPDEST 00000d4c: PUSH1 0x05 00000d4e: PUSH1 0x01 00000d50: SWAP1 00000d51: SLOAD 00000d52: SWAP1 00000d53: PUSH2 0x0100 00000d56: EXP 00000d57: SWAP1 00000d58: DIV 00000d59: PUSH1 0xff 00000d5b: AND 00000d5c: DUP2 00000d5d: JUMP 00000d5e: JUMPDEST 00000d5f: PUSH1 0x00 00000d61: DUP1 00000d62: PUSH1 0x00 00000d64: SWAP1 00000d65: SLOAD 00000d66: SWAP1 00000d67: PUSH2 0x0100 00000d6a: EXP 00000d6b: SWAP1 00000d6c: DIV 00000d6d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d82: AND 00000d83: SWAP1 00000d84: POP 00000d85: SWAP1 00000d86: JUMP 00000d87: JUMPDEST 00000d88: PUSH1 0x00 00000d8a: DUP1 00000d8b: PUSH1 0x00 00000d8d: SWAP1 00000d8e: SLOAD 00000d8f: SWAP1 00000d90: PUSH2 0x0100 00000d93: EXP 00000d94: SWAP1 00000d95: DIV 00000d96: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dab: AND 00000dac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dc1: AND 00000dc2: PUSH2 0x0dc9 00000dc5: PUSH2 0x2b82 00000dc8: JUMP 00000dc9: JUMPDEST 00000dca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ddf: AND 00000de0: EQ 00000de1: SWAP1 00000de2: POP 00000de3: SWAP1 00000de4: JUMP 00000de5: JUMPDEST 00000de6: PUSH1 0x05 00000de8: PUSH1 0x00 00000dea: SWAP1 00000deb: SLOAD 00000dec: SWAP1 00000ded: PUSH2 0x0100 00000df0: EXP 00000df1: SWAP1 00000df2: DIV 00000df3: PUSH1 0xff 00000df5: AND 00000df6: ISZERO 00000df7: PUSH2 0x0e68 00000dfa: JUMPI 00000dfb: PUSH1 0x40 00000dfd: MLOAD 00000dfe: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000e1f: DUP2 00000e20: MSTORE 00000e21: PUSH1 0x04 00000e23: ADD 00000e24: DUP1 00000e25: DUP1 00000e26: PUSH1 0x20 00000e28: ADD 00000e29: DUP3 00000e2a: DUP2 00000e2b: SUB 00000e2c: DUP3 00000e2d: MSTORE 00000e2e: PUSH1 0x0e 00000e30: DUP2 00000e31: MSTORE 00000e32: PUSH1 0x20 00000e34: ADD 00000e35: DUP1 00000e36: PUSH32 0x4e6f2072652d656e7472616e6379000000000000000000000000000000000000 00000e57: DUP2 00000e58: MSTORE 00000e59: POP 00000e5a: PUSH1 0x20 00000e5c: ADD 00000e5d: SWAP2 00000e5e: POP 00000e5f: POP 00000e60: PUSH1 0x40 00000e62: MLOAD 00000e63: DUP1 00000e64: SWAP2 00000e65: SUB 00000e66: SWAP1 00000e67: REVERT 00000e68: JUMPDEST 00000e69: PUSH1 0x01 00000e6b: PUSH1 0x05 00000e6d: PUSH1 0x00 00000e6f: PUSH2 0x0100 00000e72: EXP 00000e73: DUP2 00000e74: SLOAD 00000e75: DUP2 00000e76: PUSH1 0xff 00000e78: MUL 00000e79: NOT 00000e7a: AND 00000e7b: SWAP1 00000e7c: DUP4 00000e7d: ISZERO 00000e7e: ISZERO 00000e7f: MUL 00000e80: OR 00000e81: SWAP1 00000e82: SSTORE 00000e83: POP 00000e84: PUSH1 0x05 00000e86: PUSH1 0x01 00000e88: SWAP1 00000e89: SLOAD 00000e8a: SWAP1 00000e8b: PUSH2 0x0100 00000e8e: EXP 00000e8f: SWAP1 00000e90: DIV 00000e91: PUSH1 0xff 00000e93: AND 00000e94: PUSH1 0xff 00000e96: AND 00000e97: DUP2 00000e98: PUSH1 0xff 00000e9a: AND 00000e9b: GT 00000e9c: ISZERO 00000e9d: PUSH2 0x0f0e 00000ea0: JUMPI 00000ea1: PUSH1 0x40 00000ea3: MLOAD 00000ea4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000ec5: DUP2 00000ec6: MSTORE 00000ec7: PUSH1 0x04 00000ec9: ADD 00000eca: DUP1 00000ecb: DUP1 00000ecc: PUSH1 0x20 00000ece: ADD 00000ecf: DUP3 00000ed0: DUP2 00000ed1: SUB 00000ed2: DUP3 00000ed3: MSTORE 00000ed4: PUSH1 0x14 00000ed6: DUP2 00000ed7: MSTORE 00000ed8: PUSH1 0x20 00000eda: ADD 00000edb: DUP1 00000edc: PUSH32 0x4552525f494e56414c49445f524f554e445f4944000000000000000000000000 00000efd: DUP2 00000efe: MSTORE 00000eff: POP 00000f00: PUSH1 0x20 00000f02: ADD 00000f03: SWAP2 00000f04: POP 00000f05: POP 00000f06: PUSH1 0x40 00000f08: MLOAD 00000f09: DUP1 00000f0a: SWAP2 00000f0b: SUB 00000f0c: SWAP1 00000f0d: REVERT 00000f0e: JUMPDEST 00000f0f: PUSH1 0x00 00000f11: DUP2 00000f12: PUSH1 0xff 00000f14: AND 00000f15: EQ 00000f16: ISZERO 00000f17: PUSH2 0x0f2d 00000f1a: JUMPI 00000f1b: PUSH1 0x05 00000f1d: PUSH1 0x01 00000f1f: SWAP1 00000f20: SLOAD 00000f21: SWAP1 00000f22: PUSH2 0x0100 00000f25: EXP 00000f26: SWAP1 00000f27: DIV 00000f28: PUSH1 0xff 00000f2a: AND 00000f2b: SWAP1 00000f2c: POP 00000f2d: JUMPDEST 00000f2e: PUSH1 0x00 00000f30: PUSH2 0x0f38 00000f33: DUP3 00000f34: PUSH2 0x0a18 00000f37: JUMP 00000f38: JUMPDEST 00000f39: SWAP1 00000f3a: POP 00000f3b: TIMESTAMP 00000f3c: DUP2 00000f3d: LT 00000f3e: PUSH2 0x0faf 00000f41: JUMPI 00000f42: PUSH1 0x40 00000f44: MLOAD 00000f45: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000f66: DUP2 00000f67: MSTORE 00000f68: PUSH1 0x04 00000f6a: ADD 00000f6b: DUP1 00000f6c: DUP1 00000f6d: PUSH1 0x20 00000f6f: ADD 00000f70: DUP3 00000f71: DUP2 00000f72: SUB 00000f73: DUP3 00000f74: MSTORE 00000f75: PUSH1 0x14 00000f77: DUP2 00000f78: MSTORE 00000f79: PUSH1 0x20 00000f7b: ADD 00000f7c: DUP1 00000f7d: PUSH32 0x4552525f43414d504149474e5f4e4f545f454e44000000000000000000000000 00000f9e: DUP2 00000f9f: MSTORE 00000fa0: POP 00000fa1: PUSH1 0x20 00000fa3: ADD 00000fa4: SWAP2 00000fa5: POP 00000fa6: POP 00000fa7: PUSH1 0x40 00000fa9: MLOAD 00000faa: DUP1 00000fab: SWAP2 00000fac: SUB 00000fad: SWAP1 00000fae: REVERT 00000faf: JUMPDEST 00000fb0: PUSH1 0x00 00000fb2: ISZERO 00000fb3: ISZERO 00000fb4: PUSH1 0x09 00000fb6: PUSH1 0x00 00000fb8: DUP5 00000fb9: PUSH1 0xff 00000fbb: AND 00000fbc: PUSH1 0xff 00000fbe: AND 00000fbf: DUP2 00000fc0: MSTORE 00000fc1: PUSH1 0x20 00000fc3: ADD 00000fc4: SWAP1 00000fc5: DUP2 00000fc6: MSTORE 00000fc7: PUSH1 0x20 00000fc9: ADD 00000fca: PUSH1 0x00 00000fcc: KECCAK256 00000fcd: PUSH1 0x00 00000fcf: CALLER 00000fd0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fe5: AND 00000fe6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ffb: AND 00000ffc: DUP2 00000ffd: MSTORE 00000ffe: PUSH1 0x20 00001000: ADD 00001001: SWAP1 00001002: DUP2 00001003: MSTORE 00001004: PUSH1 0x20 00001006: ADD 00001007: PUSH1 0x00 00001009: KECCAK256 0000100a: PUSH1 0x00 0000100c: SWAP1 0000100d: SLOAD 0000100e: SWAP1 0000100f: PUSH2 0x0100 00001012: EXP 00001013: SWAP1 00001014: DIV 00001015: PUSH1 0xff 00001017: AND 00001018: ISZERO 00001019: ISZERO 0000101a: EQ 0000101b: PUSH2 0x108c 0000101e: JUMPI 0000101f: PUSH1 0x40 00001021: MLOAD 00001022: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001043: DUP2 00001044: MSTORE 00001045: PUSH1 0x04 00001047: ADD 00001048: DUP1 00001049: DUP1 0000104a: PUSH1 0x20 0000104c: ADD 0000104d: DUP3 0000104e: DUP2 0000104f: SUB 00001050: DUP3 00001051: MSTORE 00001052: PUSH1 0x10 00001054: DUP2 00001055: MSTORE 00001056: PUSH1 0x20 00001058: ADD 00001059: DUP1 0000105a: PUSH32 0x4552525f555345525f434c41494d454400000000000000000000000000000000 0000107b: DUP2 0000107c: MSTORE 0000107d: POP 0000107e: PUSH1 0x20 00001080: ADD 00001081: SWAP2 00001082: POP 00001083: POP 00001084: PUSH1 0x40 00001086: MLOAD 00001087: DUP1 00001088: SWAP2 00001089: SUB 0000108a: SWAP1 0000108b: REVERT 0000108c: JUMPDEST 0000108d: PUSH1 0x00 0000108f: DUP1 00001090: SWAP1 00001091: POP 00001092: JUMPDEST 00001093: PUSH1 0x03 00001095: DUP1 00001096: SLOAD 00001097: SWAP1 00001098: POP 00001099: DUP2 0000109a: LT 0000109b: ISZERO 0000109c: PUSH2 0x1218 0000109f: JUMPI 000010a0: PUSH1 0x00 000010a2: PUSH2 0x10e3 000010a5: DUP5 000010a6: PUSH1 0x03 000010a8: DUP5 000010a9: DUP2 000010aa: SLOAD 000010ab: DUP2 000010ac: LT 000010ad: PUSH2 0x10b2 000010b0: JUMPI 000010b1: INVALID 000010b2: JUMPDEST 000010b3: SWAP1 000010b4: PUSH1 0x00 000010b6: MSTORE 000010b7: PUSH1 0x20 000010b9: PUSH1 0x00 000010bb: KECCAK256 000010bc: ADD 000010bd: PUSH1 0x00 000010bf: SWAP1 000010c0: SLOAD 000010c1: SWAP1 000010c2: PUSH2 0x0100 000010c5: EXP 000010c6: SWAP1 000010c7: DIV 000010c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010dd: AND 000010de: CALLER 000010df: PUSH2 0x166f 000010e2: JUMP 000010e3: JUMPDEST 000010e4: SWAP1 000010e5: POP 000010e6: PUSH1 0x00 000010e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010fd: AND 000010fe: PUSH1 0x03 00001100: DUP4 00001101: DUP2 00001102: SLOAD 00001103: DUP2 00001104: LT 00001105: PUSH2 0x110a 00001108: JUMPI 00001109: INVALID 0000110a: JUMPDEST 0000110b: SWAP1 0000110c: PUSH1 0x00 0000110e: MSTORE 0000110f: PUSH1 0x20 00001111: PUSH1 0x00 00001113: KECCAK256 00001114: ADD 00001115: PUSH1 0x00 00001117: SWAP1 00001118: SLOAD 00001119: SWAP1 0000111a: PUSH2 0x0100 0000111d: EXP 0000111e: SWAP1 0000111f: DIV 00001120: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001135: AND 00001136: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000114b: AND 0000114c: EQ 0000114d: ISZERO 0000114e: PUSH2 0x119d 00001151: JUMPI 00001152: CALLER 00001153: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001168: AND 00001169: PUSH2 0x08fc 0000116c: DUP3 0000116d: SWAP1 0000116e: DUP2 0000116f: ISZERO 00001170: MUL 00001171: SWAP1 00001172: PUSH1 0x40 00001174: MLOAD 00001175: PUSH1 0x00 00001177: PUSH1 0x40 00001179: MLOAD 0000117a: DUP1 0000117b: DUP4 0000117c: SUB 0000117d: DUP2 0000117e: DUP6 0000117f: DUP9 00001180: DUP9 00001181: CALL 00001182: SWAP4 00001183: POP 00001184: POP 00001185: POP 00001186: POP 00001187: ISZERO 00001188: DUP1 00001189: ISZERO 0000118a: PUSH2 0x1197 0000118d: JUMPI 0000118e: RETURNDATASIZE 0000118f: PUSH1 0x00 00001191: DUP1 00001192: RETURNDATACOPY 00001193: RETURNDATASIZE 00001194: PUSH1 0x00 00001196: REVERT 00001197: JUMPDEST 00001198: POP 00001199: PUSH2 0x120a 0000119c: JUMP 0000119d: JUMPDEST 0000119e: PUSH1 0x00 000011a0: DUP2 000011a1: GT 000011a2: ISZERO 000011a3: PUSH2 0x1209 000011a6: JUMPI 000011a7: PUSH2 0x1208 000011aa: CALLER 000011ab: DUP3 000011ac: PUSH1 0x03 000011ae: DUP6 000011af: DUP2 000011b0: SLOAD 000011b1: DUP2 000011b2: LT 000011b3: PUSH2 0x11b8 000011b6: JUMPI 000011b7: INVALID 000011b8: JUMPDEST 000011b9: SWAP1 000011ba: PUSH1 0x00 000011bc: MSTORE 000011bd: PUSH1 0x20 000011bf: PUSH1 0x00 000011c1: KECCAK256 000011c2: ADD 000011c3: PUSH1 0x00 000011c5: SWAP1 000011c6: SLOAD 000011c7: SWAP1 000011c8: PUSH2 0x0100 000011cb: EXP 000011cc: SWAP1 000011cd: DIV 000011ce: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011e3: AND 000011e4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011f9: AND 000011fa: PUSH2 0x2b8a 000011fd: SWAP1 000011fe: SWAP3 000011ff: SWAP2 00001200: SWAP1 00001201: PUSH4 0xffffffff 00001206: AND 00001207: JUMP 00001208: JUMPDEST 00001209: JUMPDEST 0000120a: JUMPDEST 0000120b: POP 0000120c: DUP1 0000120d: DUP1 0000120e: PUSH1 0x01 00001210: ADD 00001211: SWAP2 00001212: POP 00001213: POP 00001214: PUSH2 0x1092 00001217: JUMP 00001218: JUMPDEST 00001219: POP 0000121a: PUSH1 0x00 0000121c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001231: AND 00001232: PUSH1 0x08 00001234: PUSH1 0x00 00001236: SWAP1 00001237: SLOAD 00001238: SWAP1 00001239: PUSH2 0x0100 0000123c: EXP 0000123d: SWAP1 0000123e: DIV 0000123f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001254: AND 00001255: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000126a: AND 0000126b: EQ 0000126c: PUSH2 0x142e 0000126f: JUMPI 00001270: PUSH1 0x00 00001272: PUSH1 0x08 00001274: PUSH1 0x00 00001276: SWAP1 00001277: SLOAD 00001278: SWAP1 00001279: PUSH2 0x0100 0000127c: EXP 0000127d: SWAP1 0000127e: DIV 0000127f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001294: AND 00001295: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012aa: AND 000012ab: PUSH4 0xd1ce5ba1 000012b0: DUP5 000012b1: CALLER 000012b2: PUSH1 0x40 000012b4: MLOAD 000012b5: DUP4 000012b6: PUSH4 0xffffffff 000012bb: AND 000012bc: PUSH1 0xe0 000012be: SHL 000012bf: DUP2 000012c0: MSTORE 000012c1: PUSH1 0x04 000012c3: ADD 000012c4: DUP1 000012c5: DUP4 000012c6: PUSH1 0xff 000012c8: AND 000012c9: PUSH1 0xff 000012cb: AND 000012cc: DUP2 000012cd: MSTORE 000012ce: PUSH1 0x20 000012d0: ADD 000012d1: DUP3 000012d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012e7: AND 000012e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012fd: AND 000012fe: DUP2 000012ff: MSTORE 00001300: PUSH1 0x20 00001302: ADD 00001303: SWAP3 00001304: POP 00001305: POP 00001306: POP 00001307: PUSH1 0x20 00001309: PUSH1 0x40 0000130b: MLOAD 0000130c: DUP1 0000130d: DUP4 0000130e: SUB 0000130f: DUP2 00001310: DUP7 00001311: DUP1 00001312: EXTCODESIZE 00001313: ISZERO 00001314: DUP1 00001315: ISZERO 00001316: PUSH2 0x131e 00001319: JUMPI 0000131a: PUSH1 0x00 0000131c: DUP1 0000131d: REVERT 0000131e: JUMPDEST 0000131f: POP 00001320: GAS 00001321: STATICCALL 00001322: ISZERO 00001323: DUP1 00001324: ISZERO 00001325: PUSH2 0x1332 00001328: JUMPI 00001329: RETURNDATASIZE 0000132a: PUSH1 0x00 0000132c: DUP1 0000132d: RETURNDATACOPY 0000132e: RETURNDATASIZE 0000132f: PUSH1 0x00 00001331: REVERT 00001332: JUMPDEST 00001333: POP 00001334: POP 00001335: POP 00001336: POP 00001337: PUSH1 0x40 00001339: MLOAD 0000133a: RETURNDATASIZE 0000133b: PUSH1 0x20 0000133d: DUP2 0000133e: LT 0000133f: ISZERO 00001340: PUSH2 0x1348 00001343: JUMPI 00001344: PUSH1 0x00 00001346: DUP1 00001347: REVERT 00001348: JUMPDEST 00001349: DUP2 0000134a: ADD 0000134b: SWAP1 0000134c: DUP1 0000134d: DUP1 0000134e: MLOAD 0000134f: SWAP1 00001350: PUSH1 0x20 00001352: ADD 00001353: SWAP1 00001354: SWAP3 00001355: SWAP2 00001356: SWAP1 00001357: POP 00001358: POP 00001359: POP 0000135a: SWAP1 0000135b: POP 0000135c: PUSH1 0x00 0000135e: DUP2 0000135f: GT 00001360: ISZERO 00001361: PUSH2 0x142c 00001364: JUMPI 00001365: PUSH1 0x08 00001367: PUSH1 0x00 00001369: SWAP1 0000136a: SLOAD 0000136b: SWAP1 0000136c: PUSH2 0x0100 0000136f: EXP 00001370: SWAP1 00001371: DIV 00001372: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001387: AND 00001388: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000139d: AND 0000139e: PUSH4 0xf0da6c8c 000013a3: DUP5 000013a4: CALLER 000013a5: PUSH1 0x40 000013a7: MLOAD 000013a8: DUP4 000013a9: PUSH4 0xffffffff 000013ae: AND 000013af: PUSH1 0xe0 000013b1: SHL 000013b2: DUP2 000013b3: MSTORE 000013b4: PUSH1 0x04 000013b6: ADD 000013b7: DUP1 000013b8: DUP4 000013b9: PUSH1 0xff 000013bb: AND 000013bc: PUSH1 0xff 000013be: AND 000013bf: DUP2 000013c0: MSTORE 000013c1: PUSH1 0x20 000013c3: ADD 000013c4: DUP3 000013c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013da: AND 000013db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013f0: AND 000013f1: DUP2 000013f2: MSTORE 000013f3: PUSH1 0x20 000013f5: ADD 000013f6: SWAP3 000013f7: POP 000013f8: POP 000013f9: POP 000013fa: PUSH1 0x00 000013fc: PUSH1 0x40 000013fe: MLOAD 000013ff: DUP1 00001400: DUP4 00001401: SUB 00001402: DUP2 00001403: PUSH1 0x00 00001405: DUP8 00001406: DUP1 00001407: EXTCODESIZE 00001408: ISZERO 00001409: DUP1 0000140a: ISZERO 0000140b: PUSH2 0x1413 0000140e: JUMPI 0000140f: PUSH1 0x00 00001411: DUP1 00001412: REVERT 00001413: JUMPDEST 00001414: POP 00001415: GAS 00001416: CALL 00001417: ISZERO 00001418: DUP1 00001419: ISZERO 0000141a: PUSH2 0x1427 0000141d: JUMPI 0000141e: RETURNDATASIZE 0000141f: PUSH1 0x00 00001421: DUP1 00001422: RETURNDATACOPY 00001423: RETURNDATASIZE 00001424: PUSH1 0x00 00001426: REVERT 00001427: JUMPDEST 00001428: POP 00001429: POP 0000142a: POP 0000142b: POP 0000142c: JUMPDEST 0000142d: POP 0000142e: JUMPDEST 0000142f: PUSH1 0x01 00001431: PUSH1 0x09 00001433: PUSH1 0x00 00001435: DUP5 00001436: PUSH1 0xff 00001438: AND 00001439: PUSH1 0xff 0000143b: AND 0000143c: DUP2 0000143d: MSTORE 0000143e: PUSH1 0x20 00001440: ADD 00001441: SWAP1 00001442: DUP2 00001443: MSTORE 00001444: PUSH1 0x20 00001446: ADD 00001447: PUSH1 0x00 00001449: KECCAK256 0000144a: PUSH1 0x00 0000144c: CALLER 0000144d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001462: AND 00001463: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001478: AND 00001479: DUP2 0000147a: MSTORE 0000147b: PUSH1 0x20 0000147d: ADD 0000147e: SWAP1 0000147f: DUP2 00001480: MSTORE 00001481: PUSH1 0x20 00001483: ADD 00001484: PUSH1 0x00 00001486: KECCAK256 00001487: PUSH1 0x00 00001489: PUSH2 0x0100 0000148c: EXP 0000148d: DUP2 0000148e: SLOAD 0000148f: DUP2 00001490: PUSH1 0xff 00001492: MUL 00001493: NOT 00001494: AND 00001495: SWAP1 00001496: DUP4 00001497: ISZERO 00001498: ISZERO 00001499: MUL 0000149a: OR 0000149b: SWAP1 0000149c: SSTORE 0000149d: POP 0000149e: POP 0000149f: PUSH1 0x00 000014a1: PUSH1 0x05 000014a3: PUSH1 0x00 000014a5: PUSH2 0x0100 000014a8: EXP 000014a9: DUP2 000014aa: SLOAD 000014ab: DUP2 000014ac: PUSH1 0xff 000014ae: MUL 000014af: NOT 000014b0: AND 000014b1: SWAP1 000014b2: DUP4 000014b3: ISZERO 000014b4: ISZERO 000014b5: MUL 000014b6: OR 000014b7: SWAP1 000014b8: SSTORE 000014b9: POP 000014ba: POP 000014bb: JUMP 000014bc: JUMPDEST 000014bd: PUSH2 0x14c4 000014c0: PUSH2 0x0d87 000014c3: JUMP 000014c4: JUMPDEST 000014c5: PUSH2 0x1536 000014c8: JUMPI 000014c9: PUSH1 0x40 000014cb: MLOAD 000014cc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000014ed: DUP2 000014ee: MSTORE 000014ef: PUSH1 0x04 000014f1: ADD 000014f2: DUP1 000014f3: DUP1 000014f4: PUSH1 0x20 000014f6: ADD 000014f7: DUP3 000014f8: DUP2 000014f9: SUB 000014fa: DUP3 000014fb: MSTORE 000014fc: PUSH1 0x20 000014fe: DUP2 000014ff: MSTORE 00001500: PUSH1 0x20 00001502: ADD 00001503: DUP1 00001504: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00001525: DUP2 00001526: MSTORE 00001527: POP 00001528: PUSH1 0x20 0000152a: ADD 0000152b: SWAP2 0000152c: POP 0000152d: POP 0000152e: PUSH1 0x40 00001530: MLOAD 00001531: DUP1 00001532: SWAP2 00001533: SUB 00001534: SWAP1 00001535: REVERT 00001536: JUMPDEST 00001537: PUSH1 0x00 00001539: PUSH2 0x1542 0000153c: PUSH1 0x00 0000153e: PUSH2 0x0a18 00001541: JUMP 00001542: JUMPDEST 00001543: SWAP1 00001544: POP 00001545: TIMESTAMP 00001546: DUP2 00001547: LT 00001548: PUSH2 0x159c 0000154b: JUMPI 0000154c: PUSH1 0x40 0000154e: MLOAD 0000154f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001570: DUP2 00001571: MSTORE 00001572: PUSH1 0x04 00001574: ADD 00001575: DUP1 00001576: DUP1 00001577: PUSH1 0x20 00001579: ADD 0000157a: DUP3 0000157b: DUP2 0000157c: SUB 0000157d: DUP3 0000157e: MSTORE 0000157f: PUSH1 0x24 00001581: DUP2 00001582: MSTORE 00001583: PUSH1 0x20 00001585: ADD 00001586: DUP1 00001587: PUSH2 0x3308 0000158a: PUSH1 0x24 0000158c: SWAP2 0000158d: CODECOPY 0000158e: PUSH1 0x40 00001590: ADD 00001591: SWAP2 00001592: POP 00001593: POP 00001594: PUSH1 0x40 00001596: MLOAD 00001597: DUP1 00001598: SWAP2 00001599: SUB 0000159a: SWAP1 0000159b: REVERT 0000159c: JUMPDEST 0000159d: TIMESTAMP 0000159e: DUP3 0000159f: GT 000015a0: PUSH2 0x1611 000015a3: JUMPI 000015a4: PUSH1 0x40 000015a6: MLOAD 000015a7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000015c8: DUP2 000015c9: MSTORE 000015ca: PUSH1 0x04 000015cc: ADD 000015cd: DUP1 000015ce: DUP1 000015cf: PUSH1 0x20 000015d1: ADD 000015d2: DUP3 000015d3: DUP2 000015d4: SUB 000015d5: DUP3 000015d6: MSTORE 000015d7: PUSH1 0x19 000015d9: DUP2 000015da: MSTORE 000015db: PUSH1 0x20 000015dd: ADD 000015de: DUP1 000015df: PUSH32 0x4c6f636b44726f703a20456e6474696d6520496e76616c696400000000000000 00001600: DUP2 00001601: MSTORE 00001602: POP 00001603: PUSH1 0x20 00001605: ADD 00001606: SWAP2 00001607: POP 00001608: POP 00001609: PUSH1 0x40 0000160b: MLOAD 0000160c: DUP1 0000160d: SWAP2 0000160e: SUB 0000160f: SWAP1 00001610: REVERT 00001611: JUMPDEST 00001612: PUSH1 0x01 00001614: PUSH1 0x05 00001616: PUSH1 0x01 00001618: SWAP1 00001619: SLOAD 0000161a: SWAP1 0000161b: PUSH2 0x0100 0000161e: EXP 0000161f: SWAP1 00001620: DIV 00001621: PUSH1 0xff 00001623: AND 00001624: ADD 00001625: PUSH1 0x05 00001627: PUSH1 0x01 00001629: PUSH2 0x0100 0000162c: EXP 0000162d: DUP2 0000162e: SLOAD 0000162f: DUP2 00001630: PUSH1 0xff 00001632: MUL 00001633: NOT 00001634: AND 00001635: SWAP1 00001636: DUP4 00001637: PUSH1 0xff 00001639: AND 0000163a: MUL 0000163b: OR 0000163c: SWAP1 0000163d: SSTORE 0000163e: POP 0000163f: DUP2 00001640: PUSH1 0x04 00001642: PUSH1 0x00 00001644: PUSH1 0x05 00001646: PUSH1 0x01 00001648: SWAP1 00001649: SLOAD 0000164a: SWAP1 0000164b: PUSH2 0x0100 0000164e: EXP 0000164f: SWAP1 00001650: DIV 00001651: PUSH1 0xff 00001653: AND 00001654: PUSH1 0xff 00001656: AND 00001657: PUSH1 0xff 00001659: AND 0000165a: DUP2 0000165b: MSTORE 0000165c: PUSH1 0x20 0000165e: ADD 0000165f: SWAP1 00001660: DUP2 00001661: MSTORE 00001662: PUSH1 0x20 00001664: ADD 00001665: PUSH1 0x00 00001667: KECCAK256 00001668: DUP2 00001669: SWAP1 0000166a: SSTORE 0000166b: POP 0000166c: POP 0000166d: POP 0000166e: JUMP 0000166f: JUMPDEST 00001670: PUSH1 0x00 00001672: DUP1 00001673: DUP5 00001674: PUSH1 0xff 00001676: AND 00001677: EQ 00001678: ISZERO 00001679: PUSH2 0x168f 0000167c: JUMPI 0000167d: PUSH1 0x05 0000167f: PUSH1 0x01 00001681: SWAP1 00001682: SLOAD 00001683: SWAP1 00001684: PUSH2 0x0100 00001687: EXP 00001688: SWAP1 00001689: DIV 0000168a: PUSH1 0xff 0000168c: AND 0000168d: SWAP4 0000168e: POP 0000168f: JUMPDEST 00001690: PUSH1 0x00 00001692: DUP1 00001693: PUSH2 0x172e 00001696: PUSH1 0x02 00001698: PUSH1 0x00 0000169a: DUP9 0000169b: PUSH1 0xff 0000169d: AND 0000169e: PUSH1 0xff 000016a0: AND 000016a1: DUP2 000016a2: MSTORE 000016a3: PUSH1 0x20 000016a5: ADD 000016a6: SWAP1 000016a7: DUP2 000016a8: MSTORE 000016a9: PUSH1 0x20 000016ab: ADD 000016ac: PUSH1 0x00 000016ae: KECCAK256 000016af: PUSH1 0x00 000016b1: DUP8 000016b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016c7: AND 000016c8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016dd: AND 000016de: DUP2 000016df: MSTORE 000016e0: PUSH1 0x20 000016e2: ADD 000016e3: SWAP1 000016e4: DUP2 000016e5: MSTORE 000016e6: PUSH1 0x20 000016e8: ADD 000016e9: PUSH1 0x00 000016eb: KECCAK256 000016ec: PUSH1 0x00 000016ee: DUP7 000016ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001704: AND 00001705: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000171a: AND 0000171b: DUP2 0000171c: MSTORE 0000171d: PUSH1 0x20 0000171f: ADD 00001720: SWAP1 00001721: DUP2 00001722: MSTORE 00001723: PUSH1 0x20 00001725: ADD 00001726: PUSH1 0x00 00001728: KECCAK256 00001729: SLOAD 0000172a: PUSH2 0x2c5b 0000172d: JUMP 0000172e: JUMPDEST 0000172f: SWAP2 00001730: POP 00001731: SWAP2 00001732: POP 00001733: DUP2 00001734: SWAP3 00001735: POP 00001736: POP 00001737: POP 00001738: SWAP4 00001739: SWAP3 0000173a: POP 0000173b: POP 0000173c: POP 0000173d: JUMP 0000173e: JUMPDEST 0000173f: PUSH2 0x1746 00001742: PUSH2 0x0d87 00001745: JUMP 00001746: JUMPDEST 00001747: PUSH2 0x17b8 0000174a: JUMPI 0000174b: PUSH1 0x40 0000174d: MLOAD 0000174e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000176f: DUP2 00001770: MSTORE 00001771: PUSH1 0x04 00001773: ADD 00001774: DUP1 00001775: DUP1 00001776: PUSH1 0x20 00001778: ADD 00001779: DUP3 0000177a: DUP2 0000177b: SUB 0000177c: DUP3 0000177d: MSTORE 0000177e: PUSH1 0x20 00001780: DUP2 00001781: MSTORE 00001782: PUSH1 0x20 00001784: ADD 00001785: DUP1 00001786: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 000017a7: DUP2 000017a8: MSTORE 000017a9: POP 000017aa: PUSH1 0x20 000017ac: ADD 000017ad: SWAP2 000017ae: POP 000017af: POP 000017b0: PUSH1 0x40 000017b2: MLOAD 000017b3: DUP1 000017b4: SWAP2 000017b5: SUB 000017b6: SWAP1 000017b7: REVERT 000017b8: JUMPDEST 000017b9: DUP1 000017ba: PUSH1 0x08 000017bc: PUSH1 0x00 000017be: PUSH2 0x0100 000017c1: EXP 000017c2: DUP2 000017c3: SLOAD 000017c4: DUP2 000017c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017da: MUL 000017db: NOT 000017dc: AND 000017dd: SWAP1 000017de: DUP4 000017df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017f4: AND 000017f5: MUL 000017f6: OR 000017f7: SWAP1 000017f8: SSTORE 000017f9: POP 000017fa: POP 000017fb: JUMP 000017fc: JUMPDEST 000017fd: PUSH2 0x1804 00001800: PUSH2 0x0d87 00001803: JUMP 00001804: JUMPDEST 00001805: PUSH2 0x1876 00001808: JUMPI 00001809: PUSH1 0x40 0000180b: MLOAD 0000180c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000182d: DUP2 0000182e: MSTORE 0000182f: PUSH1 0x04 00001831: ADD 00001832: DUP1 00001833: DUP1 00001834: PUSH1 0x20 00001836: ADD 00001837: DUP3 00001838: DUP2 00001839: SUB 0000183a: DUP3 0000183b: MSTORE 0000183c: PUSH1 0x20 0000183e: DUP2 0000183f: MSTORE 00001840: PUSH1 0x20 00001842: ADD 00001843: DUP1 00001844: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00001865: DUP2 00001866: MSTORE 00001867: POP 00001868: PUSH1 0x20 0000186a: ADD 0000186b: SWAP2 0000186c: POP 0000186d: POP 0000186e: PUSH1 0x40 00001870: MLOAD 00001871: DUP1 00001872: SWAP2 00001873: SUB 00001874: SWAP1 00001875: REVERT 00001876: JUMPDEST 00001877: PUSH1 0x00 00001879: ISZERO 0000187a: ISZERO 0000187b: PUSH1 0x06 0000187d: PUSH1 0x00 0000187f: DUP4 00001880: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001895: AND 00001896: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018ab: AND 000018ac: DUP2 000018ad: MSTORE 000018ae: PUSH1 0x20 000018b0: ADD 000018b1: SWAP1 000018b2: DUP2 000018b3: MSTORE 000018b4: PUSH1 0x20 000018b6: ADD 000018b7: PUSH1 0x00 000018b9: KECCAK256 000018ba: PUSH1 0x00 000018bc: SWAP1 000018bd: SLOAD 000018be: SWAP1 000018bf: PUSH2 0x0100 000018c2: EXP 000018c3: SWAP1 000018c4: DIV 000018c5: PUSH1 0xff 000018c7: AND 000018c8: ISZERO 000018c9: ISZERO 000018ca: EQ 000018cb: PUSH2 0x193c 000018ce: JUMPI 000018cf: PUSH1 0x40 000018d1: MLOAD 000018d2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000018f3: DUP2 000018f4: MSTORE 000018f5: PUSH1 0x04 000018f7: ADD 000018f8: DUP1 000018f9: DUP1 000018fa: PUSH1 0x20 000018fc: ADD 000018fd: DUP3 000018fe: DUP2 000018ff: SUB 00001900: DUP3 00001901: MSTORE 00001902: PUSH1 0x15 00001904: DUP2 00001905: MSTORE 00001906: PUSH1 0x20 00001908: ADD 00001909: DUP1 0000190a: PUSH32 0x4c6f636b44726f703a20506f6f6c204578697374730000000000000000000000 0000192b: DUP2 0000192c: MSTORE 0000192d: POP 0000192e: PUSH1 0x20 00001930: ADD 00001931: SWAP2 00001932: POP 00001933: POP 00001934: PUSH1 0x40 00001936: MLOAD 00001937: DUP1 00001938: SWAP2 00001939: SUB 0000193a: SWAP1 0000193b: REVERT 0000193c: JUMPDEST 0000193d: PUSH1 0x01 0000193f: PUSH1 0x06 00001941: PUSH1 0x00 00001943: DUP4 00001944: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001959: AND 0000195a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000196f: AND 00001970: DUP2 00001971: MSTORE 00001972: PUSH1 0x20 00001974: ADD 00001975: SWAP1 00001976: DUP2 00001977: MSTORE 00001978: PUSH1 0x20 0000197a: ADD 0000197b: PUSH1 0x00 0000197d: KECCAK256 0000197e: PUSH1 0x00 00001980: PUSH2 0x0100 00001983: EXP 00001984: DUP2 00001985: SLOAD 00001986: DUP2 00001987: PUSH1 0xff 00001989: MUL 0000198a: NOT 0000198b: AND 0000198c: SWAP1 0000198d: DUP4 0000198e: ISZERO 0000198f: ISZERO 00001990: MUL 00001991: OR 00001992: SWAP1 00001993: SSTORE 00001994: POP 00001995: PUSH1 0x03 00001997: DUP2 00001998: SWAP1 00001999: DUP1 0000199a: PUSH1 0x01 0000199c: DUP2 0000199d: SLOAD 0000199e: ADD 0000199f: DUP1 000019a0: DUP3 000019a1: SSTORE 000019a2: DUP1 000019a3: SWAP2 000019a4: POP 000019a5: POP 000019a6: SWAP1 000019a7: PUSH1 0x01 000019a9: DUP3 000019aa: SUB 000019ab: SWAP1 000019ac: PUSH1 0x00 000019ae: MSTORE 000019af: PUSH1 0x20 000019b1: PUSH1 0x00 000019b3: KECCAK256 000019b4: ADD 000019b5: PUSH1 0x00 000019b7: SWAP1 000019b8: SWAP2 000019b9: SWAP3 000019ba: SWAP1 000019bb: SWAP2 000019bc: SWAP1 000019bd: SWAP2 000019be: PUSH2 0x0100 000019c1: EXP 000019c2: DUP2 000019c3: SLOAD 000019c4: DUP2 000019c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019da: MUL 000019db: NOT 000019dc: AND 000019dd: SWAP1 000019de: DUP4 000019df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019f4: AND 000019f5: MUL 000019f6: OR 000019f7: SWAP1 000019f8: SSTORE 000019f9: POP 000019fa: POP 000019fb: POP 000019fc: JUMP 000019fd: JUMPDEST 000019fe: PUSH2 0x1a05 00001a01: PUSH2 0x0d87 00001a04: JUMP 00001a05: JUMPDEST 00001a06: PUSH2 0x1a77 00001a09: JUMPI 00001a0a: PUSH1 0x40 00001a0c: MLOAD 00001a0d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001a2e: DUP2 00001a2f: MSTORE 00001a30: PUSH1 0x04 00001a32: ADD 00001a33: DUP1 00001a34: DUP1 00001a35: PUSH1 0x20 00001a37: ADD 00001a38: DUP3 00001a39: DUP2 00001a3a: SUB 00001a3b: DUP3 00001a3c: MSTORE 00001a3d: PUSH1 0x20 00001a3f: DUP2 00001a40: MSTORE 00001a41: PUSH1 0x20 00001a43: ADD 00001a44: DUP1 00001a45: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 00001a66: DUP2 00001a67: MSTORE 00001a68: POP 00001a69: PUSH1 0x20 00001a6b: ADD 00001a6c: SWAP2 00001a6d: POP 00001a6e: POP 00001a6f: PUSH1 0x40 00001a71: MLOAD 00001a72: DUP1 00001a73: SWAP2 00001a74: SUB 00001a75: SWAP1 00001a76: REVERT 00001a77: JUMPDEST 00001a78: PUSH2 0x1a80 00001a7b: DUP2 00001a7c: PUSH2 0x2c97 00001a7f: JUMP 00001a80: JUMPDEST 00001a81: POP 00001a82: JUMP 00001a83: JUMPDEST 00001a84: PUSH1 0x00 00001a86: PUSH2 0x1a8f 00001a89: PUSH1 0x00 00001a8b: PUSH2 0x0a18 00001a8e: JUMP 00001a8f: JUMPDEST 00001a90: SWAP1 00001a91: POP 00001a92: DUP1 00001a93: TIMESTAMP 00001a94: LT 00001a95: PUSH2 0x1b06 00001a98: JUMPI 00001a99: PUSH1 0x40 00001a9b: MLOAD 00001a9c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001abd: DUP2 00001abe: MSTORE 00001abf: PUSH1 0x04 00001ac1: ADD 00001ac2: DUP1 00001ac3: DUP1 00001ac4: PUSH1 0x20 00001ac6: ADD 00001ac7: DUP3 00001ac8: DUP2 00001ac9: SUB 00001aca: DUP3 00001acb: MSTORE 00001acc: PUSH1 0x1b 00001ace: DUP2 00001acf: MSTORE 00001ad0: PUSH1 0x20 00001ad2: ADD 00001ad3: DUP1 00001ad4: PUSH32 0x4c6f636b44726f703a2043616d706169676e2046696e69736865640000000000 00001af5: DUP2 00001af6: MSTORE 00001af7: POP 00001af8: PUSH1 0x20 00001afa: ADD 00001afb: SWAP2 00001afc: POP 00001afd: POP 00001afe: PUSH1 0x40 00001b00: MLOAD 00001b01: DUP1 00001b02: SWAP2 00001b03: SUB 00001b04: SWAP1 00001b05: REVERT 00001b06: JUMPDEST 00001b07: PUSH1 0x06 00001b09: PUSH1 0x00 00001b0b: DUP7 00001b0c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b21: AND 00001b22: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b37: AND 00001b38: DUP2 00001b39: MSTORE 00001b3a: PUSH1 0x20 00001b3c: ADD 00001b3d: SWAP1 00001b3e: DUP2 00001b3f: MSTORE 00001b40: PUSH1 0x20 00001b42: ADD 00001b43: PUSH1 0x00 00001b45: KECCAK256 00001b46: PUSH1 0x00 00001b48: SWAP1 00001b49: SLOAD 00001b4a: SWAP1 00001b4b: PUSH2 0x0100 00001b4e: EXP 00001b4f: SWAP1 00001b50: DIV 00001b51: PUSH1 0xff 00001b53: AND 00001b54: PUSH2 0x1bc5 00001b57: JUMPI 00001b58: PUSH1 0x40 00001b5a: MLOAD 00001b5b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001b7c: DUP2 00001b7d: MSTORE 00001b7e: PUSH1 0x04 00001b80: ADD 00001b81: DUP1 00001b82: DUP1 00001b83: PUSH1 0x20 00001b85: ADD 00001b86: DUP3 00001b87: DUP2 00001b88: SUB 00001b89: DUP3 00001b8a: MSTORE 00001b8b: PUSH1 0x19 00001b8d: DUP2 00001b8e: MSTORE 00001b8f: PUSH1 0x20 00001b91: ADD 00001b92: DUP1 00001b93: PUSH32 0x4c6f636b44726f703a20506f6f6c204e6f742045786973747300000000000000 00001bb4: DUP2 00001bb5: MSTORE 00001bb6: POP 00001bb7: PUSH1 0x20 00001bb9: ADD 00001bba: SWAP2 00001bbb: POP 00001bbc: POP 00001bbd: PUSH1 0x40 00001bbf: MLOAD 00001bc0: DUP1 00001bc1: SWAP2 00001bc2: SUB 00001bc3: SWAP1 00001bc4: REVERT 00001bc5: JUMPDEST 00001bc6: PUSH1 0x00 00001bc8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bdd: AND 00001bde: PUSH1 0x07 00001be0: PUSH1 0x00 00001be2: SWAP1 00001be3: SLOAD 00001be4: SWAP1 00001be5: PUSH2 0x0100 00001be8: EXP 00001be9: SWAP1 00001bea: DIV 00001beb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c00: AND 00001c01: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c16: AND 00001c17: EQ 00001c18: ISZERO 00001c19: PUSH2 0x1c6d 00001c1c: JUMPI 00001c1d: PUSH1 0x40 00001c1f: MLOAD 00001c20: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001c41: DUP2 00001c42: MSTORE 00001c43: PUSH1 0x04 00001c45: ADD 00001c46: DUP1 00001c47: DUP1 00001c48: PUSH1 0x20 00001c4a: ADD 00001c4b: DUP3 00001c4c: DUP2 00001c4d: SUB 00001c4e: DUP3 00001c4f: MSTORE 00001c50: PUSH1 0x22 00001c52: DUP2 00001c53: MSTORE 00001c54: PUSH1 0x20 00001c56: ADD 00001c57: DUP1 00001c58: PUSH2 0x32c0 00001c5b: PUSH1 0x22 00001c5d: SWAP2 00001c5e: CODECOPY 00001c5f: PUSH1 0x40 00001c61: ADD 00001c62: SWAP2 00001c63: POP 00001c64: POP 00001c65: PUSH1 0x40 00001c67: MLOAD 00001c68: DUP1 00001c69: SWAP2 00001c6a: SUB 00001c6b: SWAP1 00001c6c: REVERT 00001c6d: JUMPDEST 00001c6e: PUSH1 0x00 00001c70: DUP4 00001c71: GT 00001c72: ISZERO 00001c73: PUSH2 0x1fe0 00001c76: JUMPI 00001c77: PUSH1 0x07 00001c79: PUSH1 0x00 00001c7b: SWAP1 00001c7c: SLOAD 00001c7d: SWAP1 00001c7e: PUSH2 0x0100 00001c81: EXP 00001c82: SWAP1 00001c83: DIV 00001c84: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c99: AND 00001c9a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001caf: AND 00001cb0: PUSH4 0xcfc1e620 00001cb5: CALLER 00001cb6: DUP6 00001cb7: PUSH1 0x40 00001cb9: MLOAD 00001cba: DUP4 00001cbb: PUSH4 0xffffffff 00001cc0: AND 00001cc1: PUSH1 0xe0 00001cc3: SHL 00001cc4: DUP2 00001cc5: MSTORE 00001cc6: PUSH1 0x04 00001cc8: ADD 00001cc9: DUP1 00001cca: DUP4 00001ccb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ce0: AND 00001ce1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cf6: AND 00001cf7: DUP2 00001cf8: MSTORE 00001cf9: PUSH1 0x20 00001cfb: ADD 00001cfc: DUP3 00001cfd: DUP2 00001cfe: MSTORE 00001cff: PUSH1 0x20 00001d01: ADD 00001d02: SWAP3 00001d03: POP 00001d04: POP 00001d05: POP 00001d06: PUSH1 0x20 00001d08: PUSH1 0x40 00001d0a: MLOAD 00001d0b: DUP1 00001d0c: DUP4 00001d0d: SUB 00001d0e: DUP2 00001d0f: DUP7 00001d10: DUP1 00001d11: EXTCODESIZE 00001d12: ISZERO 00001d13: DUP1 00001d14: ISZERO 00001d15: PUSH2 0x1d1d 00001d18: JUMPI 00001d19: PUSH1 0x00 00001d1b: DUP1 00001d1c: REVERT 00001d1d: JUMPDEST 00001d1e: POP 00001d1f: GAS 00001d20: STATICCALL 00001d21: ISZERO 00001d22: DUP1 00001d23: ISZERO 00001d24: PUSH2 0x1d31 00001d27: JUMPI 00001d28: RETURNDATASIZE 00001d29: PUSH1 0x00 00001d2b: DUP1 00001d2c: RETURNDATACOPY 00001d2d: RETURNDATASIZE 00001d2e: PUSH1 0x00 00001d30: REVERT 00001d31: JUMPDEST 00001d32: POP 00001d33: POP 00001d34: POP 00001d35: POP 00001d36: PUSH1 0x40 00001d38: MLOAD 00001d39: RETURNDATASIZE 00001d3a: PUSH1 0x20 00001d3c: DUP2 00001d3d: LT 00001d3e: ISZERO 00001d3f: PUSH2 0x1d47 00001d42: JUMPI 00001d43: PUSH1 0x00 00001d45: DUP1 00001d46: REVERT 00001d47: JUMPDEST 00001d48: DUP2 00001d49: ADD 00001d4a: SWAP1 00001d4b: DUP1 00001d4c: DUP1 00001d4d: MLOAD 00001d4e: SWAP1 00001d4f: PUSH1 0x20 00001d51: ADD 00001d52: SWAP1 00001d53: SWAP3 00001d54: SWAP2 00001d55: SWAP1 00001d56: POP 00001d57: POP 00001d58: POP 00001d59: ISZERO 00001d5a: PUSH2 0x1e1f 00001d5d: JUMPI 00001d5e: PUSH1 0x07 00001d60: PUSH1 0x00 00001d62: SWAP1 00001d63: SLOAD 00001d64: SWAP1 00001d65: PUSH2 0x0100 00001d68: EXP 00001d69: SWAP1 00001d6a: DIV 00001d6b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d80: AND 00001d81: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d96: AND 00001d97: PUSH4 0x5dff4143 00001d9c: CALLER 00001d9d: DUP6 00001d9e: PUSH1 0x40 00001da0: MLOAD 00001da1: DUP4 00001da2: PUSH4 0xffffffff 00001da7: AND 00001da8: PUSH1 0xe0 00001daa: SHL 00001dab: DUP2 00001dac: MSTORE 00001dad: PUSH1 0x04 00001daf: ADD 00001db0: DUP1 00001db1: DUP4 00001db2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001dc7: AND 00001dc8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ddd: AND 00001dde: DUP2 00001ddf: MSTORE 00001de0: PUSH1 0x20 00001de2: ADD 00001de3: DUP3 00001de4: DUP2 00001de5: MSTORE 00001de6: PUSH1 0x20 00001de8: ADD 00001de9: SWAP3 00001dea: POP 00001deb: POP 00001dec: POP 00001ded: PUSH1 0x00 00001def: PUSH1 0x40 00001df1: MLOAD 00001df2: DUP1 00001df3: DUP4 00001df4: SUB 00001df5: DUP2 00001df6: PUSH1 0x00 00001df8: DUP8 00001df9: DUP1 00001dfa: EXTCODESIZE 00001dfb: ISZERO 00001dfc: DUP1 00001dfd: ISZERO 00001dfe: PUSH2 0x1e06 00001e01: JUMPI 00001e02: PUSH1 0x00 00001e04: DUP1 00001e05: REVERT 00001e06: JUMPDEST 00001e07: POP 00001e08: GAS 00001e09: CALL 00001e0a: ISZERO 00001e0b: DUP1 00001e0c: ISZERO 00001e0d: PUSH2 0x1e1a 00001e10: JUMPI 00001e11: RETURNDATASIZE 00001e12: PUSH1 0x00 00001e14: DUP1 00001e15: RETURNDATACOPY 00001e16: RETURNDATASIZE 00001e17: PUSH1 0x00 00001e19: REVERT 00001e1a: JUMPDEST 00001e1b: POP 00001e1c: POP 00001e1d: POP 00001e1e: POP 00001e1f: JUMPDEST 00001e20: PUSH1 0x00 00001e22: PUSH1 0x07 00001e24: PUSH1 0x00 00001e26: SWAP1 00001e27: SLOAD 00001e28: SWAP1 00001e29: PUSH2 0x0100 00001e2c: EXP 00001e2d: SWAP1 00001e2e: DIV 00001e2f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e44: AND 00001e45: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e5a: AND 00001e5b: PUSH4 0x51338ee3 00001e60: CALLER 00001e61: PUSH1 0x40 00001e63: MLOAD 00001e64: DUP3 00001e65: PUSH4 0xffffffff 00001e6a: AND 00001e6b: PUSH1 0xe0 00001e6d: SHL 00001e6e: DUP2 00001e6f: MSTORE 00001e70: PUSH1 0x04 00001e72: ADD 00001e73: DUP1 00001e74: DUP3 00001e75: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e8a: AND 00001e8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ea0: AND 00001ea1: DUP2 00001ea2: MSTORE 00001ea3: PUSH1 0x20 00001ea5: ADD 00001ea6: SWAP2 00001ea7: POP 00001ea8: POP 00001ea9: PUSH1 0x20 00001eab: PUSH1 0x40 00001ead: MLOAD 00001eae: DUP1 00001eaf: DUP4 00001eb0: SUB 00001eb1: DUP2 00001eb2: DUP7 00001eb3: DUP1 00001eb4: EXTCODESIZE 00001eb5: ISZERO 00001eb6: DUP1 00001eb7: ISZERO 00001eb8: PUSH2 0x1ec0 00001ebb: JUMPI 00001ebc: PUSH1 0x00 00001ebe: DUP1 00001ebf: REVERT 00001ec0: JUMPDEST 00001ec1: POP 00001ec2: GAS 00001ec3: STATICCALL 00001ec4: ISZERO 00001ec5: DUP1 00001ec6: ISZERO 00001ec7: PUSH2 0x1ed4 00001eca: JUMPI 00001ecb: RETURNDATASIZE 00001ecc: PUSH1 0x00 00001ece: DUP1 00001ecf: RETURNDATACOPY 00001ed0: RETURNDATASIZE 00001ed1: PUSH1 0x00 00001ed3: REVERT 00001ed4: JUMPDEST 00001ed5: POP 00001ed6: POP 00001ed7: POP 00001ed8: POP 00001ed9: PUSH1 0x40 00001edb: MLOAD 00001edc: RETURNDATASIZE 00001edd: PUSH1 0x20 00001edf: DUP2 00001ee0: LT 00001ee1: ISZERO 00001ee2: PUSH2 0x1eea 00001ee5: JUMPI 00001ee6: PUSH1 0x00 00001ee8: DUP1 00001ee9: REVERT 00001eea: JUMPDEST 00001eeb: DUP2 00001eec: ADD 00001eed: SWAP1 00001eee: DUP1 00001eef: DUP1 00001ef0: MLOAD 00001ef1: SWAP1 00001ef2: PUSH1 0x20 00001ef4: ADD 00001ef5: SWAP1 00001ef6: SWAP3 00001ef7: SWAP2 00001ef8: SWAP1 00001ef9: POP 00001efa: POP 00001efb: POP 00001efc: EQ 00001efd: ISZERO 00001efe: PUSH2 0x1fdf 00001f01: JUMPI 00001f02: PUSH1 0x07 00001f04: PUSH1 0x00 00001f06: SWAP1 00001f07: SLOAD 00001f08: SWAP1 00001f09: PUSH2 0x0100 00001f0c: EXP 00001f0d: SWAP1 00001f0e: DIV 00001f0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f24: AND 00001f25: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f3a: AND 00001f3b: PUSH4 0x2da0cd00 00001f40: CALLER 00001f41: PUSH1 0x40 00001f43: MLOAD 00001f44: DUP3 00001f45: PUSH4 0xffffffff 00001f4a: AND 00001f4b: PUSH1 0xe0 00001f4d: SHL 00001f4e: DUP2 00001f4f: MSTORE 00001f50: PUSH1 0x04 00001f52: ADD 00001f53: DUP1 00001f54: DUP3 00001f55: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f6a: AND 00001f6b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f80: AND 00001f81: DUP2 00001f82: MSTORE 00001f83: PUSH1 0x20 00001f85: ADD 00001f86: SWAP2 00001f87: POP 00001f88: POP 00001f89: PUSH1 0x20 00001f8b: PUSH1 0x40 00001f8d: MLOAD 00001f8e: DUP1 00001f8f: DUP4 00001f90: SUB 00001f91: DUP2 00001f92: PUSH1 0x00 00001f94: DUP8 00001f95: DUP1 00001f96: EXTCODESIZE 00001f97: ISZERO 00001f98: DUP1 00001f99: ISZERO 00001f9a: PUSH2 0x1fa2 00001f9d: JUMPI 00001f9e: PUSH1 0x00 00001fa0: DUP1 00001fa1: REVERT 00001fa2: JUMPDEST 00001fa3: POP 00001fa4: GAS 00001fa5: CALL 00001fa6: ISZERO 00001fa7: DUP1 00001fa8: ISZERO 00001fa9: PUSH2 0x1fb6 00001fac: JUMPI 00001fad: RETURNDATASIZE 00001fae: PUSH1 0x00 00001fb0: DUP1 00001fb1: RETURNDATACOPY 00001fb2: RETURNDATASIZE 00001fb3: PUSH1 0x00 00001fb5: REVERT 00001fb6: JUMPDEST 00001fb7: POP 00001fb8: POP 00001fb9: POP 00001fba: POP 00001fbb: PUSH1 0x40 00001fbd: MLOAD 00001fbe: RETURNDATASIZE 00001fbf: PUSH1 0x20 00001fc1: DUP2 00001fc2: LT 00001fc3: ISZERO 00001fc4: PUSH2 0x1fcc 00001fc7: JUMPI 00001fc8: PUSH1 0x00 00001fca: DUP1 00001fcb: REVERT 00001fcc: JUMPDEST 00001fcd: DUP2 00001fce: ADD 00001fcf: SWAP1 00001fd0: DUP1 00001fd1: DUP1 00001fd2: MLOAD 00001fd3: SWAP1 00001fd4: PUSH1 0x20 00001fd6: ADD 00001fd7: SWAP1 00001fd8: SWAP3 00001fd9: SWAP2 00001fda: SWAP1 00001fdb: POP 00001fdc: POP 00001fdd: POP 00001fde: POP 00001fdf: JUMPDEST 00001fe0: JUMPDEST 00001fe1: PUSH1 0x00 00001fe3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ff8: AND 00001ff9: DUP6 00001ffa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000200f: AND 00002010: EQ 00002011: ISZERO 00002012: PUSH2 0x242e 00002015: JUMPI 00002016: PUSH1 0x00 00002018: CALLVALUE 00002019: GT 0000201a: PUSH2 0x208b 0000201d: JUMPI 0000201e: PUSH1 0x40 00002020: MLOAD 00002021: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002042: DUP2 00002043: MSTORE 00002044: PUSH1 0x04 00002046: ADD 00002047: DUP1 00002048: DUP1 00002049: PUSH1 0x20 0000204b: ADD 0000204c: DUP3 0000204d: DUP2 0000204e: SUB 0000204f: DUP3 00002050: MSTORE 00002051: PUSH1 0x1c 00002053: DUP2 00002054: MSTORE 00002055: PUSH1 0x20 00002057: ADD 00002058: DUP1 00002059: PUSH32 0x4c6f636b44726f70204554483a20496e76616c696420416d6f756e7400000000 0000207a: DUP2 0000207b: MSTORE 0000207c: POP 0000207d: PUSH1 0x20 0000207f: ADD 00002080: SWAP2 00002081: POP 00002082: POP 00002083: PUSH1 0x40 00002085: MLOAD 00002086: DUP1 00002087: SWAP2 00002088: SUB 00002089: SWAP1 0000208a: REVERT 0000208b: JUMPDEST 0000208c: PUSH2 0x2137 0000208f: PUSH1 0x02 00002091: PUSH1 0x00 00002093: PUSH1 0x05 00002095: PUSH1 0x01 00002097: SWAP1 00002098: SLOAD 00002099: SWAP1 0000209a: PUSH2 0x0100 0000209d: EXP 0000209e: SWAP1 0000209f: DIV 000020a0: PUSH1 0xff 000020a2: AND 000020a3: PUSH1 0xff 000020a5: AND 000020a6: PUSH1 0xff 000020a8: AND 000020a9: DUP2 000020aa: MSTORE 000020ab: PUSH1 0x20 000020ad: ADD 000020ae: SWAP1 000020af: DUP2 000020b0: MSTORE 000020b1: PUSH1 0x20 000020b3: ADD 000020b4: PUSH1 0x00 000020b6: KECCAK256 000020b7: PUSH1 0x00 000020b9: DUP1 000020ba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020cf: AND 000020d0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020e5: AND 000020e6: DUP2 000020e7: MSTORE 000020e8: PUSH1 0x20 000020ea: ADD 000020eb: SWAP1 000020ec: DUP2 000020ed: MSTORE 000020ee: PUSH1 0x20 000020f0: ADD 000020f1: PUSH1 0x00 000020f3: KECCAK256 000020f4: PUSH1 0x00 000020f6: CALLER 000020f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000210c: AND 0000210d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002122: AND 00002123: DUP2 00002124: MSTORE 00002125: PUSH1 0x20 00002127: ADD 00002128: SWAP1 00002129: DUP2 0000212a: MSTORE 0000212b: PUSH1 0x20 0000212d: ADD 0000212e: PUSH1 0x00 00002130: KECCAK256 00002131: SLOAD 00002132: CALLVALUE 00002133: PUSH2 0x2ddb 00002136: JUMP 00002137: JUMPDEST 00002138: PUSH1 0x02 0000213a: PUSH1 0x00 0000213c: PUSH1 0x05 0000213e: PUSH1 0x01 00002140: SWAP1 00002141: SLOAD 00002142: SWAP1 00002143: PUSH2 0x0100 00002146: EXP 00002147: SWAP1 00002148: DIV 00002149: PUSH1 0xff 0000214b: AND 0000214c: PUSH1 0xff 0000214e: AND 0000214f: PUSH1 0xff 00002151: AND 00002152: DUP2 00002153: MSTORE 00002154: PUSH1 0x20 00002156: ADD 00002157: SWAP1 00002158: DUP2 00002159: MSTORE 0000215a: PUSH1 0x20 0000215c: ADD 0000215d: PUSH1 0x00 0000215f: KECCAK256 00002160: PUSH1 0x00 00002162: DUP1 00002163: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002178: AND 00002179: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000218e: AND 0000218f: DUP2 00002190: MSTORE 00002191: PUSH1 0x20 00002193: ADD 00002194: SWAP1 00002195: DUP2 00002196: MSTORE 00002197: PUSH1 0x20 00002199: ADD 0000219a: PUSH1 0x00 0000219c: KECCAK256 0000219d: PUSH1 0x00 0000219f: CALLER 000021a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021b5: AND 000021b6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021cb: AND 000021cc: DUP2 000021cd: MSTORE 000021ce: PUSH1 0x20 000021d0: ADD 000021d1: SWAP1 000021d2: DUP2 000021d3: MSTORE 000021d4: PUSH1 0x20 000021d6: ADD 000021d7: PUSH1 0x00 000021d9: KECCAK256 000021da: DUP2 000021db: SWAP1 000021dc: SSTORE 000021dd: POP 000021de: PUSH1 0x00 000021e0: DUP1 000021e1: PUSH2 0x228b 000021e4: PUSH1 0x02 000021e6: PUSH1 0x00 000021e8: PUSH1 0x05 000021ea: PUSH1 0x01 000021ec: SWAP1 000021ed: SLOAD 000021ee: SWAP1 000021ef: PUSH2 0x0100 000021f2: EXP 000021f3: SWAP1 000021f4: DIV 000021f5: PUSH1 0xff 000021f7: AND 000021f8: PUSH1 0xff 000021fa: AND 000021fb: PUSH1 0xff 000021fd: AND 000021fe: DUP2 000021ff: MSTORE 00002200: PUSH1 0x20 00002202: ADD 00002203: SWAP1 00002204: DUP2 00002205: MSTORE 00002206: PUSH1 0x20 00002208: ADD 00002209: PUSH1 0x00 0000220b: KECCAK256 0000220c: PUSH1 0x00 0000220e: DUP1 0000220f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002224: AND 00002225: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000223a: AND 0000223b: DUP2 0000223c: MSTORE 0000223d: PUSH1 0x20 0000223f: ADD 00002240: SWAP1 00002241: DUP2 00002242: MSTORE 00002243: PUSH1 0x20 00002245: ADD 00002246: PUSH1 0x00 00002248: KECCAK256 00002249: PUSH1 0x00 0000224b: CALLER 0000224c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002261: AND 00002262: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002277: AND 00002278: DUP2 00002279: MSTORE 0000227a: PUSH1 0x20 0000227c: ADD 0000227d: SWAP1 0000227e: DUP2 0000227f: MSTORE 00002280: PUSH1 0x20 00002282: ADD 00002283: PUSH1 0x00 00002285: KECCAK256 00002286: SLOAD 00002287: PUSH2 0x2c5b 0000228a: JUMP 0000228b: JUMPDEST 0000228c: SWAP2 0000228d: POP 0000228e: SWAP2 0000228f: POP 00002290: PUSH1 0x40 00002292: MLOAD 00002293: DUP1 00002294: PUSH1 0x60 00002296: ADD 00002297: PUSH1 0x40 00002299: MSTORE 0000229a: DUP1 0000229b: TIMESTAMP 0000229c: DUP2 0000229d: MSTORE 0000229e: PUSH1 0x20 000022a0: ADD 000022a1: CALLVALUE 000022a2: DUP2 000022a3: MSTORE 000022a4: PUSH1 0x20 000022a6: ADD 000022a7: DUP6 000022a8: PUSH1 0xff 000022aa: AND 000022ab: DUP2 000022ac: MSTORE 000022ad: POP 000022ae: PUSH1 0x01 000022b0: PUSH1 0x00 000022b2: PUSH1 0x05 000022b4: PUSH1 0x01 000022b6: SWAP1 000022b7: SLOAD 000022b8: SWAP1 000022b9: PUSH2 0x0100 000022bc: EXP 000022bd: SWAP1 000022be: DIV 000022bf: PUSH1 0xff 000022c1: AND 000022c2: PUSH1 0xff 000022c4: AND 000022c5: PUSH1 0xff 000022c7: AND 000022c8: DUP2 000022c9: MSTORE 000022ca: PUSH1 0x20 000022cc: ADD 000022cd: SWAP1 000022ce: DUP2 000022cf: MSTORE 000022d0: PUSH1 0x20 000022d2: ADD 000022d3: PUSH1 0x00 000022d5: KECCAK256 000022d6: PUSH1 0x00 000022d8: DUP1 000022d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022ee: AND 000022ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002304: AND 00002305: DUP2 00002306: MSTORE 00002307: PUSH1 0x20 00002309: ADD 0000230a: SWAP1 0000230b: DUP2 0000230c: MSTORE 0000230d: PUSH1 0x20 0000230f: ADD 00002310: PUSH1 0x00 00002312: KECCAK256 00002313: PUSH1 0x00 00002315: CALLER 00002316: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000232b: AND 0000232c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002341: AND 00002342: DUP2 00002343: MSTORE 00002344: PUSH1 0x20 00002346: ADD 00002347: SWAP1 00002348: DUP2 00002349: MSTORE 0000234a: PUSH1 0x20 0000234c: ADD 0000234d: PUSH1 0x00 0000234f: KECCAK256 00002350: PUSH1 0x00 00002352: DUP4 00002353: DUP2 00002354: MSTORE 00002355: PUSH1 0x20 00002357: ADD 00002358: SWAP1 00002359: DUP2 0000235a: MSTORE 0000235b: PUSH1 0x20 0000235d: ADD 0000235e: PUSH1 0x00 00002360: KECCAK256 00002361: PUSH1 0x00 00002363: DUP3 00002364: ADD 00002365: MLOAD 00002366: DUP2 00002367: PUSH1 0x00 00002369: ADD 0000236a: SSTORE 0000236b: PUSH1 0x20 0000236d: DUP3 0000236e: ADD 0000236f: MLOAD 00002370: DUP2 00002371: PUSH1 0x01 00002373: ADD 00002374: SSTORE 00002375: PUSH1 0x40 00002377: DUP3 00002378: ADD 00002379: MLOAD 0000237a: DUP2 0000237b: PUSH1 0x02 0000237d: ADD 0000237e: PUSH1 0x00 00002380: PUSH2 0x0100 00002383: EXP 00002384: DUP2 00002385: SLOAD 00002386: DUP2 00002387: PUSH1 0xff 00002389: MUL 0000238a: NOT 0000238b: AND 0000238c: SWAP1 0000238d: DUP4 0000238e: PUSH1 0xff 00002390: AND 00002391: MUL 00002392: OR 00002393: SWAP1 00002394: SSTORE 00002395: POP 00002396: SWAP1 00002397: POP 00002398: POP 00002399: PUSH1 0x00 0000239b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000023b0: AND 000023b1: CALLER 000023b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000023c7: AND 000023c8: PUSH1 0x05 000023ca: PUSH1 0x01 000023cc: SWAP1 000023cd: SLOAD 000023ce: SWAP1 000023cf: PUSH2 0x0100 000023d2: EXP 000023d3: SWAP1 000023d4: DIV 000023d5: PUSH1 0xff 000023d7: AND 000023d8: PUSH1 0xff 000023da: AND 000023db: PUSH32 0x80eba70f034771265c51570ec2388cfb519c2e4975faa37aec8265fe292e596b 000023fc: DUP8 000023fd: CALLVALUE 000023fe: TIMESTAMP 000023ff: PUSH1 0x40 00002401: MLOAD 00002402: DUP1 00002403: DUP5 00002404: PUSH1 0xff 00002406: AND 00002407: PUSH1 0xff 00002409: AND 0000240a: DUP2 0000240b: MSTORE 0000240c: PUSH1 0x20 0000240e: ADD 0000240f: DUP4 00002410: DUP2 00002411: MSTORE 00002412: PUSH1 0x20 00002414: ADD 00002415: DUP3 00002416: DUP2 00002417: MSTORE 00002418: PUSH1 0x20 0000241a: ADD 0000241b: SWAP4 0000241c: POP 0000241d: POP 0000241e: POP 0000241f: POP 00002420: PUSH1 0x40 00002422: MLOAD 00002423: DUP1 00002424: SWAP2 00002425: SUB 00002426: SWAP1 00002427: LOG4 00002428: POP 00002429: POP 0000242a: PUSH2 0x2875 0000242d: JUMP 0000242e: JUMPDEST 0000242f: PUSH1 0x00 00002431: DUP5 00002432: GT 00002433: PUSH2 0x24a4 00002436: JUMPI 00002437: PUSH1 0x40 00002439: MLOAD 0000243a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000245b: DUP2 0000245c: MSTORE 0000245d: PUSH1 0x04 0000245f: ADD 00002460: DUP1 00002461: DUP1 00002462: PUSH1 0x20 00002464: ADD 00002465: DUP3 00002466: DUP2 00002467: SUB 00002468: DUP3 00002469: MSTORE 0000246a: PUSH1 0x1e 0000246c: DUP2 0000246d: MSTORE 0000246e: PUSH1 0x20 00002470: ADD 00002471: DUP1 00002472: PUSH32 0x4c6f636b44726f702045524332303a20496e76616c696420416d6f756e740000 00002493: DUP2 00002494: MSTORE 00002495: POP 00002496: PUSH1 0x20 00002498: ADD 00002499: SWAP2 0000249a: POP 0000249b: POP 0000249c: PUSH1 0x40 0000249e: MLOAD 0000249f: DUP1 000024a0: SWAP2 000024a1: SUB 000024a2: SWAP1 000024a3: REVERT 000024a4: JUMPDEST 000024a5: PUSH1 0x00 000024a7: DUP6 000024a8: SWAP1 000024a9: POP 000024aa: PUSH2 0x24d6 000024ad: CALLER 000024ae: ADDRESS 000024af: DUP8 000024b0: DUP5 000024b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024c6: AND 000024c7: PUSH2 0x2e77 000024ca: SWAP1 000024cb: SWAP4 000024cc: SWAP3 000024cd: SWAP2 000024ce: SWAP1 000024cf: PUSH4 0xffffffff 000024d4: AND 000024d5: JUMP 000024d6: JUMPDEST 000024d7: PUSH2 0x2582 000024da: PUSH1 0x02 000024dc: PUSH1 0x00 000024de: PUSH1 0x05 000024e0: PUSH1 0x01 000024e2: SWAP1 000024e3: SLOAD 000024e4: SWAP1 000024e5: PUSH2 0x0100 000024e8: EXP 000024e9: SWAP1 000024ea: DIV 000024eb: PUSH1 0xff 000024ed: AND 000024ee: PUSH1 0xff 000024f0: AND 000024f1: PUSH1 0xff 000024f3: AND 000024f4: DUP2 000024f5: MSTORE 000024f6: PUSH1 0x20 000024f8: ADD 000024f9: SWAP1 000024fa: DUP2 000024fb: MSTORE 000024fc: PUSH1 0x20 000024fe: ADD 000024ff: PUSH1 0x00 00002501: KECCAK256 00002502: PUSH1 0x00 00002504: DUP9 00002505: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000251a: AND 0000251b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002530: AND 00002531: DUP2 00002532: MSTORE 00002533: PUSH1 0x20 00002535: ADD 00002536: SWAP1 00002537: DUP2 00002538: MSTORE 00002539: PUSH1 0x20 0000253b: ADD 0000253c: PUSH1 0x00 0000253e: KECCAK256 0000253f: PUSH1 0x00 00002541: CALLER 00002542: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002557: AND 00002558: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000256d: AND 0000256e: DUP2 0000256f: MSTORE 00002570: PUSH1 0x20 00002572: ADD 00002573: SWAP1 00002574: DUP2 00002575: MSTORE 00002576: PUSH1 0x20 00002578: ADD 00002579: PUSH1 0x00 0000257b: KECCAK256 0000257c: SLOAD 0000257d: DUP7 0000257e: PUSH2 0x2ddb 00002581: JUMP 00002582: JUMPDEST 00002583: PUSH1 0x02 00002585: PUSH1 0x00 00002587: PUSH1 0x05 00002589: PUSH1 0x01 0000258b: SWAP1 0000258c: SLOAD 0000258d: SWAP1 0000258e: PUSH2 0x0100 00002591: EXP 00002592: SWAP1 00002593: DIV 00002594: PUSH1 0xff 00002596: AND 00002597: PUSH1 0xff 00002599: AND 0000259a: PUSH1 0xff 0000259c: AND 0000259d: DUP2 0000259e: MSTORE 0000259f: PUSH1 0x20 000025a1: ADD 000025a2: SWAP1 000025a3: DUP2 000025a4: MSTORE 000025a5: PUSH1 0x20 000025a7: ADD 000025a8: PUSH1 0x00 000025aa: KECCAK256 000025ab: PUSH1 0x00 000025ad: DUP9 000025ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025c3: AND 000025c4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025d9: AND 000025da: DUP2 000025db: MSTORE 000025dc: PUSH1 0x20 000025de: ADD 000025df: SWAP1 000025e0: DUP2 000025e1: MSTORE 000025e2: PUSH1 0x20 000025e4: ADD 000025e5: PUSH1 0x00 000025e7: KECCAK256 000025e8: PUSH1 0x00 000025ea: CALLER 000025eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002600: AND 00002601: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002616: AND 00002617: DUP2 00002618: MSTORE 00002619: PUSH1 0x20 0000261b: ADD 0000261c: SWAP1 0000261d: DUP2 0000261e: MSTORE 0000261f: PUSH1 0x20 00002621: ADD 00002622: PUSH1 0x00 00002624: KECCAK256 00002625: DUP2 00002626: SWAP1 00002627: SSTORE 00002628: POP 00002629: PUSH1 0x00 0000262b: DUP1 0000262c: PUSH2 0x26d6 0000262f: PUSH1 0x02 00002631: PUSH1 0x00 00002633: PUSH1 0x05 00002635: PUSH1 0x01 00002637: SWAP1 00002638: SLOAD 00002639: SWAP1 0000263a: PUSH2 0x0100 0000263d: EXP 0000263e: SWAP1 0000263f: DIV 00002640: PUSH1 0xff 00002642: AND 00002643: PUSH1 0xff 00002645: AND 00002646: PUSH1 0xff 00002648: AND 00002649: DUP2 0000264a: MSTORE 0000264b: PUSH1 0x20 0000264d: ADD 0000264e: SWAP1 0000264f: DUP2 00002650: MSTORE 00002651: PUSH1 0x20 00002653: ADD 00002654: PUSH1 0x00 00002656: KECCAK256 00002657: PUSH1 0x00 00002659: DUP11 0000265a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000266f: AND 00002670: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002685: AND 00002686: DUP2 00002687: MSTORE 00002688: PUSH1 0x20 0000268a: ADD 0000268b: SWAP1 0000268c: DUP2 0000268d: MSTORE 0000268e: PUSH1 0x20 00002690: ADD 00002691: PUSH1 0x00 00002693: KECCAK256 00002694: PUSH1 0x00 00002696: CALLER 00002697: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026ac: AND 000026ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026c2: AND 000026c3: DUP2 000026c4: MSTORE 000026c5: PUSH1 0x20 000026c7: ADD 000026c8: SWAP1 000026c9: DUP2 000026ca: MSTORE 000026cb: PUSH1 0x20 000026cd: ADD 000026ce: PUSH1 0x00 000026d0: KECCAK256 000026d1: SLOAD 000026d2: PUSH2 0x2c5b 000026d5: JUMP 000026d6: JUMPDEST 000026d7: SWAP2 000026d8: POP 000026d9: SWAP2 000026da: POP 000026db: PUSH1 0x40 000026dd: MLOAD 000026de: DUP1 000026df: PUSH1 0x60 000026e1: ADD 000026e2: PUSH1 0x40 000026e4: MSTORE 000026e5: DUP1 000026e6: TIMESTAMP 000026e7: DUP2 000026e8: MSTORE 000026e9: PUSH1 0x20 000026eb: ADD 000026ec: DUP9 000026ed: DUP2 000026ee: MSTORE 000026ef: PUSH1 0x20 000026f1: ADD 000026f2: DUP7 000026f3: PUSH1 0xff 000026f5: AND 000026f6: DUP2 000026f7: MSTORE 000026f8: POP 000026f9: PUSH1 0x01 000026fb: PUSH1 0x00 000026fd: PUSH1 0x05 000026ff: PUSH1 0x01 00002701: SWAP1 00002702: SLOAD 00002703: SWAP1 00002704: PUSH2 0x0100 00002707: EXP 00002708: SWAP1 00002709: DIV 0000270a: PUSH1 0xff 0000270c: AND 0000270d: PUSH1 0xff 0000270f: AND 00002710: PUSH1 0xff 00002712: AND 00002713: DUP2 00002714: MSTORE 00002715: PUSH1 0x20 00002717: ADD 00002718: SWAP1 00002719: DUP2 0000271a: MSTORE 0000271b: PUSH1 0x20 0000271d: ADD 0000271e: PUSH1 0x00 00002720: KECCAK256 00002721: PUSH1 0x00 00002723: DUP11 00002724: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002739: AND 0000273a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000274f: AND 00002750: DUP2 00002751: MSTORE 00002752: PUSH1 0x20 00002754: ADD 00002755: SWAP1 00002756: DUP2 00002757: MSTORE 00002758: PUSH1 0x20 0000275a: ADD 0000275b: PUSH1 0x00 0000275d: KECCAK256 0000275e: PUSH1 0x00 00002760: CALLER 00002761: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002776: AND 00002777: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000278c: AND 0000278d: DUP2 0000278e: MSTORE 0000278f: PUSH1 0x20 00002791: ADD 00002792: SWAP1 00002793: DUP2 00002794: MSTORE 00002795: PUSH1 0x20 00002797: ADD 00002798: PUSH1 0x00 0000279a: KECCAK256 0000279b: PUSH1 0x00 0000279d: DUP4 0000279e: DUP2 0000279f: MSTORE 000027a0: PUSH1 0x20 000027a2: ADD 000027a3: SWAP1 000027a4: DUP2 000027a5: MSTORE 000027a6: PUSH1 0x20 000027a8: ADD 000027a9: PUSH1 0x00 000027ab: KECCAK256 000027ac: PUSH1 0x00 000027ae: DUP3 000027af: ADD 000027b0: MLOAD 000027b1: DUP2 000027b2: PUSH1 0x00 000027b4: ADD 000027b5: SSTORE 000027b6: PUSH1 0x20 000027b8: DUP3 000027b9: ADD 000027ba: MLOAD 000027bb: DUP2 000027bc: PUSH1 0x01 000027be: ADD 000027bf: SSTORE 000027c0: PUSH1 0x40 000027c2: DUP3 000027c3: ADD 000027c4: MLOAD 000027c5: DUP2 000027c6: PUSH1 0x02 000027c8: ADD 000027c9: PUSH1 0x00 000027cb: PUSH2 0x0100 000027ce: EXP 000027cf: DUP2 000027d0: SLOAD 000027d1: DUP2 000027d2: PUSH1 0xff 000027d4: MUL 000027d5: NOT 000027d6: AND 000027d7: SWAP1 000027d8: DUP4 000027d9: PUSH1 0xff 000027db: AND 000027dc: MUL 000027dd: OR 000027de: SWAP1 000027df: SSTORE 000027e0: POP 000027e1: SWAP1 000027e2: POP 000027e3: POP 000027e4: DUP8 000027e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027fa: AND 000027fb: CALLER 000027fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002811: AND 00002812: PUSH1 0x05 00002814: PUSH1 0x01 00002816: SWAP1 00002817: SLOAD 00002818: SWAP1 00002819: PUSH2 0x0100 0000281c: EXP 0000281d: SWAP1 0000281e: DIV 0000281f: PUSH1 0xff 00002821: AND 00002822: PUSH1 0xff 00002824: AND 00002825: PUSH32 0x80eba70f034771265c51570ec2388cfb519c2e4975faa37aec8265fe292e596b 00002846: DUP9 00002847: DUP12 00002848: TIMESTAMP 00002849: PUSH1 0x40 0000284b: MLOAD 0000284c: DUP1 0000284d: DUP5 0000284e: PUSH1 0xff 00002850: AND 00002851: PUSH1 0xff 00002853: AND 00002854: DUP2 00002855: MSTORE 00002856: PUSH1 0x20 00002858: ADD 00002859: DUP4 0000285a: DUP2 0000285b: MSTORE 0000285c: PUSH1 0x20 0000285e: ADD 0000285f: DUP3 00002860: DUP2 00002861: MSTORE 00002862: PUSH1 0x20 00002864: ADD 00002865: SWAP4 00002866: POP 00002867: POP 00002868: POP 00002869: POP 0000286a: PUSH1 0x40 0000286c: MLOAD 0000286d: DUP1 0000286e: SWAP2 0000286f: SUB 00002870: SWAP1 00002871: LOG4 00002872: POP 00002873: POP 00002874: POP 00002875: JUMPDEST 00002876: POP 00002877: POP 00002878: POP 00002879: POP 0000287a: POP 0000287b: JUMP 0000287c: JUMPDEST 0000287d: PUSH1 0x07 0000287f: PUSH1 0x00 00002881: SWAP1 00002882: SLOAD 00002883: SWAP1 00002884: PUSH2 0x0100 00002887: EXP 00002888: SWAP1 00002889: DIV 0000288a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000289f: AND 000028a0: DUP2 000028a1: JUMP 000028a2: JUMPDEST 000028a3: PUSH1 0x60 000028a5: DUP1 000028a6: PUSH1 0x60 000028a8: PUSH1 0x00 000028aa: DUP7 000028ab: PUSH1 0xff 000028ad: AND 000028ae: EQ 000028af: ISZERO 000028b0: PUSH2 0x28c6 000028b3: JUMPI 000028b4: PUSH1 0x05 000028b6: PUSH1 0x01 000028b8: SWAP1 000028b9: SLOAD 000028ba: SWAP1 000028bb: PUSH2 0x0100 000028be: EXP 000028bf: SWAP1 000028c0: DIV 000028c1: PUSH1 0xff 000028c3: AND 000028c4: SWAP6 000028c5: POP 000028c6: JUMPDEST 000028c7: PUSH1 0x00 000028c9: DUP1 000028ca: PUSH2 0x2965 000028cd: PUSH1 0x02 000028cf: PUSH1 0x00 000028d1: DUP11 000028d2: PUSH1 0xff 000028d4: AND 000028d5: PUSH1 0xff 000028d7: AND 000028d8: DUP2 000028d9: MSTORE 000028da: PUSH1 0x20 000028dc: ADD 000028dd: SWAP1 000028de: DUP2 000028df: MSTORE 000028e0: PUSH1 0x20 000028e2: ADD 000028e3: PUSH1 0x00 000028e5: KECCAK256 000028e6: PUSH1 0x00 000028e8: DUP10 000028e9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000028fe: AND 000028ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002914: AND 00002915: DUP2 00002916: MSTORE 00002917: PUSH1 0x20 00002919: ADD 0000291a: SWAP1 0000291b: DUP2 0000291c: MSTORE 0000291d: PUSH1 0x20 0000291f: ADD 00002920: PUSH1 0x00 00002922: KECCAK256 00002923: PUSH1 0x00 00002925: DUP9 00002926: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000293b: AND 0000293c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002951: AND 00002952: DUP2 00002953: MSTORE 00002954: PUSH1 0x20 00002956: ADD 00002957: SWAP1 00002958: DUP2 00002959: MSTORE 0000295a: PUSH1 0x20 0000295c: ADD 0000295d: PUSH1 0x00 0000295f: KECCAK256 00002960: SLOAD 00002961: PUSH2 0x2c5b 00002964: JUMP 00002965: JUMPDEST 00002966: SWAP2 00002967: POP 00002968: SWAP2 00002969: POP 0000296a: DUP1 0000296b: PUSH1 0x40 0000296d: MLOAD 0000296e: SWAP1 0000296f: DUP1 00002970: DUP3 00002971: MSTORE 00002972: DUP1 00002973: PUSH1 0x20 00002975: MUL 00002976: PUSH1 0x20 00002978: ADD 00002979: DUP3 0000297a: ADD 0000297b: PUSH1 0x40 0000297d: MSTORE 0000297e: DUP1 0000297f: ISZERO 00002980: PUSH2 0x2998 00002983: JUMPI 00002984: DUP2 00002985: PUSH1 0x20 00002987: ADD 00002988: PUSH1 0x20 0000298a: DUP3 0000298b: MUL 0000298c: DUP1 0000298d: CODESIZE 0000298e: DUP4 0000298f: CODECOPY 00002990: DUP1 00002991: DUP3 00002992: ADD 00002993: SWAP2 00002994: POP 00002995: POP 00002996: SWAP1 00002997: POP 00002998: JUMPDEST 00002999: POP 0000299a: SWAP5 0000299b: POP 0000299c: DUP1 0000299d: PUSH1 0x40 0000299f: MLOAD 000029a0: SWAP1 000029a1: DUP1 000029a2: DUP3 000029a3: MSTORE 000029a4: DUP1 000029a5: PUSH1 0x20 000029a7: MUL 000029a8: PUSH1 0x20 000029aa: ADD 000029ab: DUP3 000029ac: ADD 000029ad: PUSH1 0x40 000029af: MSTORE 000029b0: DUP1 000029b1: ISZERO 000029b2: PUSH2 0x29ca 000029b5: JUMPI 000029b6: DUP2 000029b7: PUSH1 0x20 000029b9: ADD 000029ba: PUSH1 0x20 000029bc: DUP3 000029bd: MUL 000029be: DUP1 000029bf: CODESIZE 000029c0: DUP4 000029c1: CODECOPY 000029c2: DUP1 000029c3: DUP3 000029c4: ADD 000029c5: SWAP2 000029c6: POP 000029c7: POP 000029c8: SWAP1 000029c9: POP 000029ca: JUMPDEST 000029cb: POP 000029cc: SWAP4 000029cd: POP 000029ce: DUP1 000029cf: PUSH1 0x40 000029d1: MLOAD 000029d2: SWAP1 000029d3: DUP1 000029d4: DUP3 000029d5: MSTORE 000029d6: DUP1 000029d7: PUSH1 0x20 000029d9: MUL 000029da: PUSH1 0x20 000029dc: ADD 000029dd: DUP3 000029de: ADD 000029df: PUSH1 0x40 000029e1: MSTORE 000029e2: DUP1 000029e3: ISZERO 000029e4: PUSH2 0x29fc 000029e7: JUMPI 000029e8: DUP2 000029e9: PUSH1 0x20 000029eb: ADD 000029ec: PUSH1 0x20 000029ee: DUP3 000029ef: MUL 000029f0: DUP1 000029f1: CODESIZE 000029f2: DUP4 000029f3: CODECOPY 000029f4: DUP1 000029f5: DUP3 000029f6: ADD 000029f7: SWAP2 000029f8: POP 000029f9: POP 000029fa: SWAP1 000029fb: POP 000029fc: JUMPDEST 000029fd: POP 000029fe: SWAP3 000029ff: POP 00002a00: PUSH1 0x00 00002a02: PUSH1 0x01 00002a04: SWAP1 00002a05: POP 00002a06: JUMPDEST 00002a07: DUP2 00002a08: DUP2 00002a09: GT 00002a0a: PUSH2 0x2b6d 00002a0d: JUMPI 00002a0e: PUSH2 0x2a15 00002a11: PUSH2 0x329b 00002a14: JUMP 00002a15: JUMPDEST 00002a16: PUSH1 0x01 00002a18: PUSH1 0x00 00002a1a: DUP12 00002a1b: PUSH1 0xff 00002a1d: AND 00002a1e: PUSH1 0xff 00002a20: AND 00002a21: DUP2 00002a22: MSTORE 00002a23: PUSH1 0x20 00002a25: ADD 00002a26: SWAP1 00002a27: DUP2 00002a28: MSTORE 00002a29: PUSH1 0x20 00002a2b: ADD 00002a2c: PUSH1 0x00 00002a2e: KECCAK256 00002a2f: PUSH1 0x00 00002a31: DUP11 00002a32: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a47: AND 00002a48: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a5d: AND 00002a5e: DUP2 00002a5f: MSTORE 00002a60: PUSH1 0x20 00002a62: ADD 00002a63: SWAP1 00002a64: DUP2 00002a65: MSTORE 00002a66: PUSH1 0x20 00002a68: ADD 00002a69: PUSH1 0x00 00002a6b: KECCAK256 00002a6c: PUSH1 0x00 00002a6e: DUP10 00002a6f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a84: AND 00002a85: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a9a: AND 00002a9b: DUP2 00002a9c: MSTORE 00002a9d: PUSH1 0x20 00002a9f: ADD 00002aa0: SWAP1 00002aa1: DUP2 00002aa2: MSTORE 00002aa3: PUSH1 0x20 00002aa5: ADD 00002aa6: PUSH1 0x00 00002aa8: KECCAK256 00002aa9: PUSH1 0x00 00002aab: DUP4 00002aac: DUP2 00002aad: MSTORE 00002aae: PUSH1 0x20 00002ab0: ADD 00002ab1: SWAP1 00002ab2: DUP2 00002ab3: MSTORE 00002ab4: PUSH1 0x20 00002ab6: ADD 00002ab7: PUSH1 0x00 00002ab9: KECCAK256 00002aba: PUSH1 0x40 00002abc: MLOAD 00002abd: DUP1 00002abe: PUSH1 0x60 00002ac0: ADD 00002ac1: PUSH1 0x40 00002ac3: MSTORE 00002ac4: SWAP1 00002ac5: DUP2 00002ac6: PUSH1 0x00 00002ac8: DUP3 00002ac9: ADD 00002aca: SLOAD 00002acb: DUP2 00002acc: MSTORE 00002acd: PUSH1 0x20 00002acf: ADD 00002ad0: PUSH1 0x01 00002ad2: DUP3 00002ad3: ADD 00002ad4: SLOAD 00002ad5: DUP2 00002ad6: MSTORE 00002ad7: PUSH1 0x20 00002ad9: ADD 00002ada: PUSH1 0x02 00002adc: DUP3 00002add: ADD 00002ade: PUSH1 0x00 00002ae0: SWAP1 00002ae1: SLOAD 00002ae2: SWAP1 00002ae3: PUSH2 0x0100 00002ae6: EXP 00002ae7: SWAP1 00002ae8: DIV 00002ae9: PUSH1 0xff 00002aeb: AND 00002aec: PUSH1 0xff 00002aee: AND 00002aef: PUSH1 0xff 00002af1: AND 00002af2: DUP2 00002af3: MSTORE 00002af4: POP 00002af5: POP 00002af6: SWAP1 00002af7: POP 00002af8: DUP1 00002af9: PUSH1 0x00 00002afb: ADD 00002afc: MLOAD 00002afd: DUP8 00002afe: PUSH1 0x01 00002b00: DUP5 00002b01: SUB 00002b02: DUP2 00002b03: MLOAD 00002b04: DUP2 00002b05: LT 00002b06: PUSH2 0x2b0b 00002b09: JUMPI 00002b0a: INVALID 00002b0b: JUMPDEST 00002b0c: PUSH1 0x20 00002b0e: MUL 00002b0f: PUSH1 0x20 00002b11: ADD 00002b12: ADD 00002b13: DUP2 00002b14: DUP2 00002b15: MSTORE 00002b16: POP 00002b17: POP 00002b18: DUP1 00002b19: PUSH1 0x20 00002b1b: ADD 00002b1c: MLOAD 00002b1d: DUP7 00002b1e: PUSH1 0x01 00002b20: DUP5 00002b21: SUB 00002b22: DUP2 00002b23: MLOAD 00002b24: DUP2 00002b25: LT 00002b26: PUSH2 0x2b2b 00002b29: JUMPI 00002b2a: INVALID 00002b2b: JUMPDEST 00002b2c: PUSH1 0x20 00002b2e: MUL 00002b2f: PUSH1 0x20 00002b31: ADD 00002b32: ADD 00002b33: DUP2 00002b34: DUP2 00002b35: MSTORE 00002b36: POP 00002b37: POP 00002b38: DUP1 00002b39: PUSH1 0x40 00002b3b: ADD 00002b3c: MLOAD 00002b3d: DUP6 00002b3e: PUSH1 0x01 00002b40: DUP5 00002b41: SUB 00002b42: DUP2 00002b43: MLOAD 00002b44: DUP2 00002b45: LT 00002b46: PUSH2 0x2b4b 00002b49: JUMPI 00002b4a: INVALID 00002b4b: JUMPDEST 00002b4c: PUSH1 0x20 00002b4e: MUL 00002b4f: PUSH1 0x20 00002b51: ADD 00002b52: ADD 00002b53: SWAP1 00002b54: PUSH1 0xff 00002b56: AND 00002b57: SWAP1 00002b58: DUP2 00002b59: PUSH1 0xff 00002b5b: AND 00002b5c: DUP2 00002b5d: MSTORE 00002b5e: POP 00002b5f: POP 00002b60: POP 00002b61: DUP1 00002b62: DUP1 00002b63: PUSH1 0x01 00002b65: ADD 00002b66: SWAP2 00002b67: POP 00002b68: POP 00002b69: PUSH2 0x2a06 00002b6c: JUMP 00002b6d: JUMPDEST 00002b6e: POP 00002b6f: DUP5 00002b70: DUP5 00002b71: DUP5 00002b72: SWAP5 00002b73: POP 00002b74: SWAP5 00002b75: POP 00002b76: SWAP5 00002b77: POP 00002b78: POP 00002b79: POP 00002b7a: SWAP4 00002b7b: POP 00002b7c: SWAP4 00002b7d: POP 00002b7e: SWAP4 00002b7f: SWAP1 00002b80: POP 00002b81: JUMP 00002b82: JUMPDEST 00002b83: PUSH1 0x00 00002b85: CALLER 00002b86: SWAP1 00002b87: POP 00002b88: SWAP1 00002b89: JUMP 00002b8a: JUMPDEST 00002b8b: PUSH2 0x2c56 00002b8e: DUP4 00002b8f: DUP5 00002b90: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ba5: AND 00002ba6: PUSH4 0xa9059cbb 00002bab: SWAP1 00002bac: POP 00002bad: PUSH1 0xe0 00002baf: SHL 00002bb0: DUP5 00002bb1: DUP5 00002bb2: PUSH1 0x40 00002bb4: MLOAD 00002bb5: PUSH1 0x24 00002bb7: ADD 00002bb8: DUP1 00002bb9: DUP4 00002bba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002bcf: AND 00002bd0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002be5: AND 00002be6: DUP2 00002be7: MSTORE 00002be8: PUSH1 0x20 00002bea: ADD 00002beb: DUP3 00002bec: DUP2 00002bed: MSTORE 00002bee: PUSH1 0x20 00002bf0: ADD 00002bf1: SWAP3 00002bf2: POP 00002bf3: POP 00002bf4: POP 00002bf5: PUSH1 0x40 00002bf7: MLOAD 00002bf8: PUSH1 0x20 00002bfa: DUP2 00002bfb: DUP4 00002bfc: SUB 00002bfd: SUB 00002bfe: DUP2 00002bff: MSTORE 00002c00: SWAP1 00002c01: PUSH1 0x40 00002c03: MSTORE 00002c04: SWAP1 00002c05: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002c22: NOT 00002c23: AND 00002c24: PUSH1 0x20 00002c26: DUP3 00002c27: ADD 00002c28: DUP1 00002c29: MLOAD 00002c2a: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002c47: DUP4 00002c48: DUP2 00002c49: DUP4 00002c4a: AND 00002c4b: OR 00002c4c: DUP4 00002c4d: MSTORE 00002c4e: POP 00002c4f: POP 00002c50: POP 00002c51: POP 00002c52: PUSH2 0x2f7d 00002c55: JUMP 00002c56: JUMPDEST 00002c57: POP 00002c58: POP 00002c59: POP 00002c5a: JUMP 00002c5b: JUMPDEST 00002c5c: PUSH1 0x00 00002c5e: DUP1 00002c5f: DUP3 00002c60: PUSH1 0xff 00002c62: AND 00002c63: SWAP1 00002c64: POP 00002c65: PUSH1 0x08 00002c67: DUP4 00002c68: SWAP1 00002c69: SHR 00002c6a: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002c8a: AND 00002c8b: SWAP2 00002c8c: POP 00002c8d: DUP2 00002c8e: DUP2 00002c8f: SWAP2 00002c90: POP 00002c91: SWAP2 00002c92: POP 00002c93: SWAP2 00002c94: POP 00002c95: SWAP2 00002c96: JUMP 00002c97: JUMPDEST 00002c98: PUSH1 0x00 00002c9a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002caf: AND 00002cb0: DUP2 00002cb1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002cc6: AND 00002cc7: EQ 00002cc8: ISZERO 00002cc9: PUSH2 0x2d1d 00002ccc: JUMPI 00002ccd: PUSH1 0x40 00002ccf: MLOAD 00002cd0: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002cf1: DUP2 00002cf2: MSTORE 00002cf3: PUSH1 0x04 00002cf5: ADD 00002cf6: DUP1 00002cf7: DUP1 00002cf8: PUSH1 0x20 00002cfa: ADD 00002cfb: DUP3 00002cfc: DUP2 00002cfd: SUB 00002cfe: DUP3 00002cff: MSTORE 00002d00: PUSH1 0x26 00002d02: DUP2 00002d03: MSTORE 00002d04: PUSH1 0x20 00002d06: ADD 00002d07: DUP1 00002d08: PUSH2 0x32e2 00002d0b: PUSH1 0x26 00002d0d: SWAP2 00002d0e: CODECOPY 00002d0f: PUSH1 0x40 00002d11: ADD 00002d12: SWAP2 00002d13: POP 00002d14: POP 00002d15: PUSH1 0x40 00002d17: MLOAD 00002d18: DUP1 00002d19: SWAP2 00002d1a: SUB 00002d1b: SWAP1 00002d1c: REVERT 00002d1d: JUMPDEST 00002d1e: DUP1 00002d1f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d34: AND 00002d35: PUSH1 0x00 00002d37: DUP1 00002d38: SWAP1 00002d39: SLOAD 00002d3a: SWAP1 00002d3b: PUSH2 0x0100 00002d3e: EXP 00002d3f: SWAP1 00002d40: DIV 00002d41: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d56: AND 00002d57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d6c: AND 00002d6d: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00002d8e: PUSH1 0x40 00002d90: MLOAD 00002d91: PUSH1 0x40 00002d93: MLOAD 00002d94: DUP1 00002d95: SWAP2 00002d96: SUB 00002d97: SWAP1 00002d98: LOG3 00002d99: DUP1 00002d9a: PUSH1 0x00 00002d9c: DUP1 00002d9d: PUSH2 0x0100 00002da0: EXP 00002da1: DUP2 00002da2: SLOAD 00002da3: DUP2 00002da4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002db9: MUL 00002dba: NOT 00002dbb: AND 00002dbc: SWAP1 00002dbd: DUP4 00002dbe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002dd3: AND 00002dd4: MUL 00002dd5: OR 00002dd6: SWAP1 00002dd7: SSTORE 00002dd8: POP 00002dd9: POP 00002dda: JUMP 00002ddb: JUMPDEST 00002ddc: PUSH1 0x00 00002dde: DUP1 00002ddf: DUP4 00002de0: PUSH1 0xff 00002de2: AND 00002de3: SWAP1 00002de4: POP 00002de5: PUSH1 0x00 00002de7: PUSH1 0x08 00002de9: DUP6 00002dea: SWAP1 00002deb: SHR 00002dec: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002e0c: AND 00002e0d: SWAP1 00002e0e: POP 00002e0f: PUSH2 0x2e22 00002e12: PUSH1 0x01 00002e14: DUP4 00002e15: PUSH2 0x31c8 00002e18: SWAP1 00002e19: SWAP2 00002e1a: SWAP1 00002e1b: PUSH4 0xffffffff 00002e20: AND 00002e21: JUMP 00002e22: JUMPDEST 00002e23: SWAP2 00002e24: POP 00002e25: PUSH2 0x2e37 00002e28: DUP5 00002e29: DUP3 00002e2a: PUSH2 0x31c8 00002e2d: SWAP1 00002e2e: SWAP2 00002e2f: SWAP1 00002e30: PUSH4 0xffffffff 00002e35: AND 00002e36: JUMP 00002e37: JUMPDEST 00002e38: SWAP1 00002e39: POP 00002e3a: PUSH1 0x00 00002e3c: DUP2 00002e3d: PUSH31 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002e5d: AND 00002e5e: SWAP1 00002e5f: POP 00002e60: DUP3 00002e61: PUSH1 0xff 00002e63: AND 00002e64: PUSH1 0x08 00002e66: DUP3 00002e67: SWAP1 00002e68: SHL 00002e69: OR 00002e6a: SWAP1 00002e6b: POP 00002e6c: DUP1 00002e6d: SWAP4 00002e6e: POP 00002e6f: POP 00002e70: POP 00002e71: POP 00002e72: SWAP3 00002e73: SWAP2 00002e74: POP 00002e75: POP 00002e76: JUMP 00002e77: JUMPDEST 00002e78: PUSH2 0x2f77 00002e7b: DUP5 00002e7c: DUP6 00002e7d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002e92: AND 00002e93: PUSH4 0x23b872dd 00002e98: SWAP1 00002e99: POP 00002e9a: PUSH1 0xe0 00002e9c: SHL 00002e9d: DUP6 00002e9e: DUP6 00002e9f: DUP6 00002ea0: PUSH1 0x40 00002ea2: MLOAD 00002ea3: PUSH1 0x24 00002ea5: ADD 00002ea6: DUP1 00002ea7: DUP5 00002ea8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ebd: AND 00002ebe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ed3: AND 00002ed4: DUP2 00002ed5: MSTORE 00002ed6: PUSH1 0x20 00002ed8: ADD 00002ed9: DUP4 00002eda: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002eef: AND 00002ef0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002f05: AND 00002f06: DUP2 00002f07: MSTORE 00002f08: PUSH1 0x20 00002f0a: ADD 00002f0b: DUP3 00002f0c: DUP2 00002f0d: MSTORE 00002f0e: PUSH1 0x20 00002f10: ADD 00002f11: SWAP4 00002f12: POP 00002f13: POP 00002f14: POP 00002f15: POP 00002f16: PUSH1 0x40 00002f18: MLOAD 00002f19: PUSH1 0x20 00002f1b: DUP2 00002f1c: DUP4 00002f1d: SUB 00002f1e: SUB 00002f1f: DUP2 00002f20: MSTORE 00002f21: SWAP1 00002f22: PUSH1 0x40 00002f24: MSTORE 00002f25: SWAP1 00002f26: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002f43: NOT 00002f44: AND 00002f45: PUSH1 0x20 00002f47: DUP3 00002f48: ADD 00002f49: DUP1 00002f4a: MLOAD 00002f4b: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002f68: DUP4 00002f69: DUP2 00002f6a: DUP4 00002f6b: AND 00002f6c: OR 00002f6d: DUP4 00002f6e: MSTORE 00002f6f: POP 00002f70: POP 00002f71: POP 00002f72: POP 00002f73: PUSH2 0x2f7d 00002f76: JUMP 00002f77: JUMPDEST 00002f78: POP 00002f79: POP 00002f7a: POP 00002f7b: POP 00002f7c: JUMP 00002f7d: JUMPDEST 00002f7e: PUSH2 0x2f9c 00002f81: DUP3 00002f82: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002f97: AND 00002f98: PUSH2 0x3250 00002f9b: JUMP 00002f9c: JUMPDEST 00002f9d: PUSH2 0x300e 00002fa0: JUMPI 00002fa1: PUSH1 0x40 00002fa3: MLOAD 00002fa4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002fc5: DUP2 00002fc6: MSTORE 00002fc7: PUSH1 0x04 00002fc9: ADD 00002fca: DUP1 00002fcb: DUP1 00002fcc: PUSH1 0x20 00002fce: ADD 00002fcf: DUP3 00002fd0: DUP2 00002fd1: SUB 00002fd2: DUP3 00002fd3: MSTORE 00002fd4: PUSH1 0x1f 00002fd6: DUP2 00002fd7: MSTORE 00002fd8: PUSH1 0x20 00002fda: ADD 00002fdb: DUP1 00002fdc: PUSH32 0x5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400 00002ffd: DUP2 00002ffe: MSTORE 00002fff: POP 00003000: PUSH1 0x20 00003002: ADD 00003003: SWAP2 00003004: POP 00003005: POP 00003006: PUSH1 0x40 00003008: MLOAD 00003009: DUP1 0000300a: SWAP2 0000300b: SUB 0000300c: SWAP1 0000300d: REVERT 0000300e: JUMPDEST 0000300f: PUSH1 0x00 00003011: PUSH1 0x60 00003013: DUP4 00003014: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003029: AND 0000302a: DUP4 0000302b: PUSH1 0x40 0000302d: MLOAD 0000302e: DUP1 0000302f: DUP3 00003030: DUP1 00003031: MLOAD 00003032: SWAP1 00003033: PUSH1 0x20 00003035: ADD 00003036: SWAP1 00003037: DUP1 00003038: DUP4 00003039: DUP4 0000303a: JUMPDEST 0000303b: PUSH1 0x20 0000303d: DUP4 0000303e: LT 0000303f: PUSH2 0x305d 00003042: JUMPI 00003043: DUP1 00003044: MLOAD 00003045: DUP3 00003046: MSTORE 00003047: PUSH1 0x20 00003049: DUP3 0000304a: ADD 0000304b: SWAP2 0000304c: POP 0000304d: PUSH1 0x20 0000304f: DUP2 00003050: ADD 00003051: SWAP1 00003052: POP 00003053: PUSH1 0x20 00003055: DUP4 00003056: SUB 00003057: SWAP3 00003058: POP 00003059: PUSH2 0x303a 0000305c: JUMP 0000305d: JUMPDEST 0000305e: PUSH1 0x01 00003060: DUP4 00003061: PUSH1 0x20 00003063: SUB 00003064: PUSH2 0x0100 00003067: EXP 00003068: SUB 00003069: DUP1 0000306a: NOT 0000306b: DUP3 0000306c: MLOAD 0000306d: AND 0000306e: DUP2 0000306f: DUP5 00003070: MLOAD 00003071: AND 00003072: DUP1 00003073: DUP3 00003074: OR 00003075: DUP6 00003076: MSTORE 00003077: POP 00003078: POP 00003079: POP 0000307a: POP 0000307b: POP 0000307c: POP 0000307d: SWAP1 0000307e: POP 0000307f: ADD 00003080: SWAP2 00003081: POP 00003082: POP 00003083: PUSH1 0x00 00003085: PUSH1 0x40 00003087: MLOAD 00003088: DUP1 00003089: DUP4 0000308a: SUB 0000308b: DUP2 0000308c: PUSH1 0x00 0000308e: DUP7 0000308f: GAS 00003090: CALL 00003091: SWAP2 00003092: POP 00003093: POP 00003094: RETURNDATASIZE 00003095: DUP1 00003096: PUSH1 0x00 00003098: DUP2 00003099: EQ 0000309a: PUSH2 0x30bf 0000309d: JUMPI 0000309e: PUSH1 0x40 000030a0: MLOAD 000030a1: SWAP2 000030a2: POP 000030a3: PUSH1 0x1f 000030a5: NOT 000030a6: PUSH1 0x3f 000030a8: RETURNDATASIZE 000030a9: ADD 000030aa: AND 000030ab: DUP3 000030ac: ADD 000030ad: PUSH1 0x40 000030af: MSTORE 000030b0: RETURNDATASIZE 000030b1: DUP3 000030b2: MSTORE 000030b3: RETURNDATASIZE 000030b4: PUSH1 0x00 000030b6: PUSH1 0x20 000030b8: DUP5 000030b9: ADD 000030ba: RETURNDATACOPY 000030bb: PUSH2 0x30c4 000030be: JUMP 000030bf: JUMPDEST 000030c0: PUSH1 0x60 000030c2: SWAP2 000030c3: POP 000030c4: JUMPDEST 000030c5: POP 000030c6: SWAP2 000030c7: POP 000030c8: SWAP2 000030c9: POP 000030ca: DUP2 000030cb: PUSH2 0x313c 000030ce: JUMPI 000030cf: PUSH1 0x40 000030d1: MLOAD 000030d2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000030f3: DUP2 000030f4: MSTORE 000030f5: PUSH1 0x04 000030f7: ADD 000030f8: DUP1 000030f9: DUP1 000030fa: PUSH1 0x20 000030fc: ADD 000030fd: DUP3 000030fe: DUP2 000030ff: SUB 00003100: DUP3 00003101: MSTORE 00003102: PUSH1 0x20 00003104: DUP2 00003105: MSTORE 00003106: PUSH1 0x20 00003108: ADD 00003109: DUP1 0000310a: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 0000312b: DUP2 0000312c: MSTORE 0000312d: POP 0000312e: PUSH1 0x20 00003130: ADD 00003131: SWAP2 00003132: POP 00003133: POP 00003134: PUSH1 0x40 00003136: MLOAD 00003137: DUP1 00003138: SWAP2 00003139: SUB 0000313a: SWAP1 0000313b: REVERT 0000313c: JUMPDEST 0000313d: PUSH1 0x00 0000313f: DUP2 00003140: MLOAD 00003141: GT 00003142: ISZERO 00003143: PUSH2 0x31c2 00003146: JUMPI 00003147: DUP1 00003148: DUP1 00003149: PUSH1 0x20 0000314b: ADD 0000314c: SWAP1 0000314d: MLOAD 0000314e: PUSH1 0x20 00003150: DUP2 00003151: LT 00003152: ISZERO 00003153: PUSH2 0x315b 00003156: JUMPI 00003157: PUSH1 0x00 00003159: DUP1 0000315a: REVERT 0000315b: JUMPDEST 0000315c: DUP2 0000315d: ADD 0000315e: SWAP1 0000315f: DUP1 00003160: DUP1 00003161: MLOAD 00003162: SWAP1 00003163: PUSH1 0x20 00003165: ADD 00003166: SWAP1 00003167: SWAP3 00003168: SWAP2 00003169: SWAP1 0000316a: POP 0000316b: POP 0000316c: POP 0000316d: PUSH2 0x31c1 00003170: JUMPI 00003171: PUSH1 0x40 00003173: MLOAD 00003174: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003195: DUP2 00003196: MSTORE 00003197: PUSH1 0x04 00003199: ADD 0000319a: DUP1 0000319b: DUP1 0000319c: PUSH1 0x20 0000319e: ADD 0000319f: DUP3 000031a0: DUP2 000031a1: SUB 000031a2: DUP3 000031a3: MSTORE 000031a4: PUSH1 0x2a 000031a6: DUP2 000031a7: MSTORE 000031a8: PUSH1 0x20 000031aa: ADD 000031ab: DUP1 000031ac: PUSH2 0x332c 000031af: PUSH1 0x2a 000031b1: SWAP2 000031b2: CODECOPY 000031b3: PUSH1 0x40 000031b5: ADD 000031b6: SWAP2 000031b7: POP 000031b8: POP 000031b9: PUSH1 0x40 000031bb: MLOAD 000031bc: DUP1 000031bd: SWAP2 000031be: SUB 000031bf: SWAP1 000031c0: REVERT 000031c1: JUMPDEST 000031c2: JUMPDEST 000031c3: POP 000031c4: POP 000031c5: POP 000031c6: POP 000031c7: JUMP 000031c8: JUMPDEST 000031c9: PUSH1 0x00 000031cb: DUP1 000031cc: DUP3 000031cd: DUP5 000031ce: ADD 000031cf: SWAP1 000031d0: POP 000031d1: DUP4 000031d2: DUP2 000031d3: LT 000031d4: ISZERO 000031d5: PUSH2 0x3246 000031d8: JUMPI 000031d9: PUSH1 0x40 000031db: MLOAD 000031dc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000031fd: DUP2 000031fe: MSTORE 000031ff: PUSH1 0x04 00003201: ADD 00003202: DUP1 00003203: DUP1 00003204: PUSH1 0x20 00003206: ADD 00003207: DUP3 00003208: DUP2 00003209: SUB 0000320a: DUP3 0000320b: MSTORE 0000320c: PUSH1 0x1b 0000320e: DUP2 0000320f: MSTORE 00003210: PUSH1 0x20 00003212: ADD 00003213: DUP1 00003214: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000 00003235: DUP2 00003236: MSTORE 00003237: POP 00003238: PUSH1 0x20 0000323a: ADD 0000323b: SWAP2 0000323c: POP 0000323d: POP 0000323e: PUSH1 0x40 00003240: MLOAD 00003241: DUP1 00003242: SWAP2 00003243: SUB 00003244: SWAP1 00003245: REVERT 00003246: JUMPDEST 00003247: DUP1 00003248: SWAP2 00003249: POP 0000324a: POP 0000324b: SWAP3 0000324c: SWAP2 0000324d: POP 0000324e: POP 0000324f: JUMP 00003250: JUMPDEST 00003251: PUSH1 0x00 00003253: DUP1 00003254: PUSH1 0x00 00003256: PUSH32 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 00003277: PUSH1 0x00 00003279: SHL 0000327a: SWAP1 0000327b: POP 0000327c: DUP4 0000327d: EXTCODEHASH 0000327e: SWAP2 0000327f: POP 00003280: DUP1 00003281: DUP3 00003282: EQ 00003283: ISZERO 00003284: DUP1 00003285: ISZERO 00003286: PUSH2 0x3292 00003289: JUMPI 0000328a: POP 0000328b: PUSH1 0x00 0000328d: DUP1 0000328e: SHL 0000328f: DUP3 00003290: EQ 00003291: ISZERO 00003292: JUMPDEST 00003293: SWAP3 00003294: POP 00003295: POP 00003296: POP 00003297: SWAP2 00003298: SWAP1 00003299: POP 0000329a: JUMP 0000329b: JUMPDEST 0000329c: PUSH1 0x40 0000329e: MLOAD 0000329f: DUP1 000032a0: PUSH1 0x60 000032a2: ADD 000032a3: PUSH1 0x40 000032a5: MSTORE 000032a6: DUP1 000032a7: PUSH1 0x00 000032a9: DUP2 000032aa: MSTORE 000032ab: PUSH1 0x20 000032ad: ADD 000032ae: PUSH1 0x00 000032b0: DUP2 000032b1: MSTORE 000032b2: PUSH1 0x20 000032b4: ADD 000032b5: PUSH1 0x00 000032b7: PUSH1 0xff 000032b9: AND 000032ba: DUP2 000032bb: MSTORE 000032bc: POP 000032bd: SWAP1 000032be: JUMP 000032bf: INVALID 000032c0: UNKNOWN(0x4C) 000032c1: PUSH16 0x636b44726f703a204e6f7420466f756e 000032d2: PUSH5 0x204c6f636b 000032d8: KECCAK256 000032d9: COINBASE 000032da: PUSH7 0x66696c69617465 000032e2: UNKNOWN(0x4F) 000032e3: PUSH24 0x6e61626c653a206e6577206f776e65722069732074686520 000032fc: PUSH27 0x65726f20616464726573734c6f636b44726f703a2043757272656e 00003318: PUSH21 0x20526f756e64204e6f742046696e69736865645361 0000332e: PUSH7 0x6545524332303a 00003336: KECCAK256 00003337: GASLIMIT 00003338: MSTORE 00003339: NUMBER 0000333a: ORIGIN 0000333b: ADDRESS 0000333c: KECCAK256 0000333d: PUSH16 0x7065726174696f6e20646964206e6f74 0000334e: KECCAK256 0000334f: PUSH20 0x756363656564a265627a7a723158204bdbe1b201 00003364: UNKNOWN(0xB6) 00003365: UNKNOWN(0xC7) 00003366: UNKNOWN(0x4E) 00003367: UNKNOWN(0xD0) 00003368: PUSH5 0x59549630b1 0000336e: UNKNOWN(0xC9) 0000336f: JUMPDEST 00003370: UNKNOWN(0x2C) 00003371: UNKNOWN(0xB6) 00003372: REVERT 00003373: UNKNOWN(0xDA) 00003374: UNKNOWN(0xA7) 00003375: UNKNOWN(0x2F) 00003376: DUP6 00003377: UNKNOWN(0xC2) 00003378: SWAP6 00003379: UNKNOWN(0xEC) 0000337a: DUP14 0000337b: UNKNOWN(0xDE) 0000337c: UNKNOWN(0xE6) 0000337d: COINBASE 0000337e: UNKNOWN(0xD8) 0000337f: PUSH5 0x736f6c6343 00003385: STOP 00003386: SDIV 00003387: GT 00003388: STOP 00003389: ORIGIN
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | auth | detector | Authorization based on tx.origin | 70 | no | — |
viewvalidation_json{
"reason": "missing sink mapping",
"status": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xd914cd4b",
"selector": "0xd914cd4b",
"calldata_variants": [
"0xd914cd4b",
"0xd914cd4b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf57f881b",
"selector": "0xf57f881b",
"calldata_variants": [
"0xf57f881b",
"0xf57f881b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf662b950",
"selector": "0xf662b950",
"calldata_variants": [
"0xf662b950",
"0xf662b9500000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfeae0c59",
"selector": "0xfeae0c59",
"calldata_variants": [
"0xfeae0c59",
"0xfeae0c590000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8f32d59b",
"selector": "0x8f32d59b",
"calldata_variants": [
"0x8f32d59b",
"0x8f32d59b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x95d4063f",
"selector": "0x95d4063f",
"calldata_variants": [
"0x95d4063f",
"0x95d4063f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa35bd591",
"selector": "0xa35bd591",
"calldata_variants": [
"0xa35bd591",
"0xa35bd5910000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 13114,
"type": "tx_origin_used"
},
{
"pc": 13193,
"type": "tx_origin_used"
}
]
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x3bc9619b841a289d8aa62c724f58a6b690447a2da53be2bc2a668652f704d956
call_targets:
0x9bc7a1d21a2d38ee313c911e1356c926948fcba1
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x3bc9619b841a289d8aa62c724f58a6b690447a2da53be2bc2a668652f704d956",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x9bc7a1d21a2d38ee313c911e1356c926948fcba1"
],
"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": "0xd914cd4b",
"selector": "0xd914cd4b",
"calldata_variants": [
"0xd914cd4b",
"0xd914cd4b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf57f881b",
"selector": "0xf57f881b",
"calldata_variants": [
"0xf57f881b",
"0xf57f881b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf662b950",
"selector": "0xf662b950",
"calldata_variants": [
"0xf662b950",
"0xf662b9500000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfeae0c59",
"selector": "0xfeae0c59",
"calldata_variants": [
"0xfeae0c59",
"0xfeae0c590000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8f32d59b",
"selector": "0x8f32d59b",
"calldata_variants": [
"0x8f32d59b",
"0x8f32d59b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x95d4063f",
"selector": "0x95d4063f",
"calldata_variants": [
"0x95d4063f",
"0x95d4063f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa35bd591",
"selector": "0xa35bd591",
"calldata_variants": [
"0xa35bd591",
"0xa35bd5910000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4481,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5142,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7689,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 5,
"guards_detected": [
{
"pc": 13114,
"type": "tx_origin_used"
},
{
"pc": 13193,
"type": "tx_origin_used"
}
],
"untrusted_call_count": 5
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x3bc9619b841a289d8aa62c724f58a6b690447a2da53be2bc2a668652f704d956
call_targets:
0x9bc7a1d21a2d38ee313c911e1356c926948fcba1
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x3bc9619b841a289d8aa62c724f58a6b690447a2da53be2bc2a668652f704d956",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x9bc7a1d21a2d38ee313c911e1356c926948fcba1"
],
"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": "0xd914cd4b",
"selector": "0xd914cd4b",
"calldata_variants": [
"0xd914cd4b",
"0xd914cd4b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2fde38b",
"selector": "0xf2fde38b",
"calldata_variants": [
"0xf2fde38b",
"0xf2fde38b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf57f881b",
"selector": "0xf57f881b",
"calldata_variants": [
"0xf57f881b",
"0xf57f881b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf662b950",
"selector": "0xf662b950",
"calldata_variants": [
"0xf662b950",
"0xf662b9500000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfeae0c59",
"selector": "0xfeae0c59",
"calldata_variants": [
"0xfeae0c59",
"0xfeae0c590000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x8f32d59b",
"selector": "0x8f32d59b",
"calldata_variants": [
"0x8f32d59b",
"0x8f32d59b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x95d4063f",
"selector": "0x95d4063f",
"calldata_variants": [
"0x95d4063f",
"0x95d4063f0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xa35bd591",
"selector": "0xa35bd591",
"calldata_variants": [
"0xa35bd591",
"0xa35bd5910000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 4481,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 5142,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 7689,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 5,
"guards_detected": [
{
"pc": 13114,
"type": "tx_origin_used"
},
{
"pc": 13193,
"type": "tx_origin_used"
}
]
}
|
| medium | auth | codex | tx.origin used in guard logic (phishing/authorization risk) | 75 | no | — |
viewevidence_json{
"evidence": "Detector flagged \"Authorization based on tx.origin\" with guards at pc 13114 and pc 13193; ORIGIN opcode appears at pc 13193. This is heuristic-only and not tied to a specific sink in the bundle, so impact depends on how the value is used.",
"locations": [
"pc:0x333a",
"pc:0x3389"
],
"recommendation": "Avoid tx.origin for authorization. Use msg.sender for access control (or signature-based auth such as EIP-712 / ERC-1271 where needed). If the intent is to block contracts, use explicit allowlists and document the limitation rather than tx.origin.",
"exploit_scenario": "If a privileged path relies on tx.origin (e.g., owner-only or EOA-only checks), an attacker can deploy a malicious contract that the authorized user calls; the malicious contract can then invoke the target while tx.origin remains the user, bypassing intended authorization or access restrictions."
}
|
| low | reentrancy | codex | Low-level CALLs with computed targets/value (potential untrusted external call / reentrancy) | 65 | no | — |
viewevidence_json{
"evidence": "Callsites list shows CALL opcodes with computed target/value and returndata_checked=null at pc 4481, 5142, 7689, 8101, 12432. Detector findings include \"Untrusted CALL target/value reachable\" and \"ETH value transfer possible\"; a validation trace observed a constant target in one run, so this may be a false positive depending on actual runtime paths.",
"locations": [
"pc:0x1181",
"pc:0x1416",
"pc:0x1e09",
"pc:0x1fa5",
"pc:0x3090"
],
"recommendation": "Ensure call targets are trusted/whitelisted and apply checks-effects-interactions or a reentrancy guard around state changes. Validate low-level call success and return data where applicable.",
"exploit_scenario": "If any of these CALL targets or ETH values are derived from user-controlled inputs or mutable storage, a malicious callee could reenter before state updates, or cause accounting/invariant issues. This is more likely if the call sends ETH and return-data checks are missing."
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 7
}
|