019bab3b-ab41-7206-bacf-aa21d1411cf4
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 |
|---|---|---|---|---|
| 38506 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 38507 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 38508 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 38509 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 38510 | capability.graph | complete | 1 / 3 | 3 months ago |
| 38511 | detector.run | complete | 1 / 3 | 3 months ago |
| 38512 | validation.fork | complete | 1 / 3 | 3 months ago |
| 39042 | report.consolidate | complete | 1 / 6 | 3 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode analysis shows multiple CALL sites with computed targets/values and no detected guards; if any are user-controlled, the contract can be induced to make arbitrary external calls and potentially transfer ETH.","findings":[{"severity":"medium","category":"other","title":"Computed CALL targets/values may allow arbitrary external calls and ETH transfers if user-controlled","exploit_scenario":"If any public entrypoint lets an attacker influence the CALL target or value (via calldata or storage they can modify), they can trigger external calls to attacker-controlled contracts, potentially draining ETH or abusing reentrancy during those calls.","recommendation":"Ensure all functions that reach these CALL sites are protected by strict access control or enforce an allowlist of approved targets; validate or cap the ETH value forwarded; consider a reentrancy guard around stateful flows that perform external calls.","evidence":"Capability graph callsites show 16 CALLs with target_expression_category/value_expression_category marked as computed and guards_detected empty. Detector findings report “Untrusted CALL target/value reachable” and “ETH value transfer possible” with 16 examples and no guards detected.","locations":["pc:0x7ec","pc:0x1812","pc:0x192f","pc:0x1d07","pc:0x1da3","pc:0x1fb3","pc:0x204f","pc:0x2147","pc:0x241a","pc:0x2535","pc:0x2c98","pc:0x2d70","pc:0x2f43","pc:0x2fdf","pc:0x30d7","pc:0x3946"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-ztduy_r0
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bab95-65a2-7743-82c3-401e7962720e
--------
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
**Reading bytecode bundle**
exec
/bin/bash -lc ls in /tmp/codex-ztduy_r0 succeeded in 11ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-ztduy_r0 succeeded in 8ms:
{
"analysis_artifact": {
"address": "0x705ec547b17ff8c4a2996f47fdfc399604163606",
"artifact_hash": "0x3afb33d2d64a142e3c0865e549aae346173639ddc5332ac8ba99bf58f00d1b6d",
"artifact_json": {
"auth": {
"guards": []
},
"basic_blocks": [
{
"end_pc": 12,
"hash": "0xa9c960451d6444af8ed0eaf34a16d8740166d65cde3b43dfed465ff46c4393bd",
"opcodes": [
"PUSH1",
"PUSH1",
"MSTORE",
"PUSH1",
"CALLDATASIZE",
"LT",
"PUSH2",
thinking
**Searching for relevant keywords in large JSON**
exec
/bin/bash -lc 'rg -n "storage|slot|proxy|delegatecall|eip-1967|beacon|minimal proxy|implementation|upgrade" BYTECODE_BUNDLE.json' in /tmp/codex-ztduy_r0 succeeded in 12ms:
21760: "delegatecall": 0,
21764: "storage": {
21766: "slots": [
21770: "slot": "0x0000000000000000000000000000000000000000000000000000000000000020"
21775: "slot": "0x0000000000000000000000000000000000000000000000000000000000000020"
21780: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21785: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21790: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21795: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21800: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21805: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21810: "slot": "0x0000000000000000000000000000000000000000000000000000000000000020"
21815: "slot": "0x0000000000000000000000000000000000000000000000000000000000000020"
21820: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21825: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21830: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21835: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21840: "slot": "0x0000000000000000000000000000000000000000000000000000000000000020"
21845: "slot": "0x0000000000000000000000000000000000000000000000000000000000000020"
21850: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
thinking
**Extracting proxy sections from rg output**
exec
/bin/bash -lc "sed -n '30690,30740p' BYTECODE_BUNDLE.json" in /tmp/codex-ztduy_r0 succeeded in 10ms:
},
"analysis_run": {
"address": "0x705ec547b17ff8c4a2996f47fdfc399604163606",
"block_number": null,
"chain_id": 1,
"child_links": [],
"created_at": "2026-01-11T04:06:13.000000Z",
"id": "019bab3b-ab41-7206-bacf-aa21d1411cf4",
"parent_links": [],
"status": "running",
"updated_at": "2026-01-11T04:07:35.000000Z"
},
"artifact": {
"codehash": "0xe55f19dbc0489dad7e194c67332983cf2a4ec38d9c1fd8cbf37f83024b61a263",
"compiler_json": {
"compiler_version": null,
"etherscan": {
"contract_name": null,
"implementation": null,
"license": "Unknown",
thinking
**Analyzing bytecode for security clues**
exec
/bin/bash -lc 'rg -n "evidence|callsites|callsite|returndata|guard|untrusted|reentrancy" BYTECODE_BUNDLE.json' in /tmp/codex-ztduy_r0 succeeded in 26ms:
7: "guards": []
16968: "callsites": [
16972: "returndata_checked": null,
16979: "returndata_checked": null,
16986: "returndata_checked": null,
16993: "returndata_checked": null,
17000: "returndata_checked": null,
17007: "returndata_checked": null,
17014: "returndata_checked": null,
17021: "returndata_checked": null,
17028: "returndata_checked": null,
17035: "returndata_checked": null,
17042: "returndata_checked": null,
17049: "returndata_checked": null,
17056: "returndata_checked": null,
17063: "returndata_checked": null,
17070: "returndata_checked": null,
17077: "returndata_checked": null,
17084: "returndata_checked": null,
17091: "returndata_checked": null,
thinking
**Checking callsites section**
exec
/bin/bash -lc "sed -n '16940,17140p' BYTECODE_BUNDLE.json" in /tmp/codex-ztduy_r0 succeeded in 8ms:
"OP_C9",
"PUSH24",
"GT",
"CODECOPY",
"PUSH5",
"STOP"
],
"start_pc": 19099
},
{
"end_pc": 19139,
"hash": "0xfb6843edb63d551cf8c07f6c307ae49ddcc353dded437c67154b940b8d123055",
"opcodes": [
"ADDMOD",
"NOT",
"STOP"
],
"start_pc": 19137
},
{
thinking
**Analyzing external calls and security risks**
I'll focus on identifying external calls in the bytecode related to Uniswap routers and token transfers, looking for potential untrusted calls, missing reentrancy guards, and access controls. Since I have the bytecode and artifact data, I'll use Python to parse JSON evidence about callsites, storage patterns, and revert strings to understand security risks better.
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
data=json.load(f)
print(data.keys())
PY" in /tmp/codex-ztduy_r0 succeeded in 46ms:
dict_keys(['analysis_artifact', 'analysis_run', 'artifact', 'capability_graph', 'detector_findings', 'heuristics_summary'])
thinking
**Inspecting capability_graph keys**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
data=json.load(f)
print(data['capability_graph'].keys())
print(data['capability_graph']['graph_json'].keys())
PY" in /tmp/codex-ztduy_r0 succeeded in 68ms:
dict_keys(['address', 'block_number', 'chain_id', 'codehash', 'created_at', 'graph_hash', 'graph_json', 'id', 'updated_at', 'version'])
dict_keys(['edges', 'nodes', 'version'])
thinking
**Examining node types**
exec
/bin/bash -lc "python - <<'PY'
import json, collections
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
data=json.load(f)
node_types=collections.Counter(n.get('type') for n in data['capability_graph']['graph_json']['nodes'])
print(node_types)
PY" in /tmp/codex-ztduy_r0 succeeded in 87ms:
Counter({'basic_block': 893, 'callsite': 19, 'function': 18, 'sink': 2})
thinking
**Analyzing callsite relationships**
exec
/bin/bash -lc "python - <<'PY'
import json
from itertools import islice
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
data=json.load(f)
edges=data['capability_graph']['graph_json']['edges']
for e in islice(edges, 20):
print(e)
PY" in /tmp/codex-ztduy_r0 succeeded in 78ms:
{'from': 'bb:0', 'to': 'bb:268', 'type': 'control_flow'}
{'from': 'bb:0', 'to': 'bb:13', 'type': 'control_flow_fallthrough'}
{'from': 'bb:13', 'to': 'bb:148', 'type': 'control_flow'}
{'from': 'bb:13', 'to': 'bb:29', 'type': 'control_flow_fallthrough'}
{'from': 'bb:29', 'to': 'bb:99', 'type': 'control_flow'}
{'from': 'bb:29', 'to': 'bb:40', 'type': 'control_flow_fallthrough'}
{'from': 'bb:40', 'to': 'bb:735', 'type': 'control_flow'}
{'from': 'bb:40', 'to': 'bb:51', 'type': 'control_flow_fallthrough'}
{'from': 'bb:51', 'to': 'bb:775', 'type': 'control_flow'}
{'from': 'bb:51', 'to': 'bb:62', 'type': 'control_flow_fallthrough'}
{'from': 'bb:62', 'to': 'bb:797', 'type': 'control_flow'}
{'from': 'bb:62', 'to': 'bb:73', 'type': 'control_flow_fallthrough'}
{'from': 'bb:73', 'to': 'bb:839', 'type': 'control_flow'}
{'from': 'bb:73', 'to': 'bb:84', 'type': 'control_flow_fallthrough'}
{'from': 'bb:84', 'to': 'bb:879', 'type': 'control_flow'}
{'from': 'bb:84', 'to': 'bb:95', 'type': 'control_flow_fallthrough'}
{'from': 'bb:95', 'to': 'bb:275', 'type': 'control_flow'}
{'from': 'bb:99', 'to': 'bb:627', 'type': 'control_flow'}
{'from': 'bb:99', 'to': 'bb:111', 'type': 'control_flow_fallthrough'}
{'from': 'bb:111', 'to': 'bb:669', 'type': 'control_flow'}
thinking
**Checking edge types for calls**
exec
/bin/bash -lc "python - <<'PY'
import json, collections
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
data=json.load(f)
edge_types=collections.Counter(e['type'] for e in data['capability_graph']['graph_json']['edges'])
print(edge_types)
PY" in /tmp/codex-ztduy_r0 succeeded in 82ms:
Counter({'control_flow': 566, 'control_flow_fallthrough': 348, 'contains': 19, 'capability': 19, 'entry': 14})
thinking
**Inspecting edge types**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
data=json.load(f)
edges=[e for e in data['capability_graph']['graph_json']['edges'] if e['type']=='contains']
print(edges[:10])
PY" in /tmp/codex-ztduy_r0 succeeded in 58ms:
[{'from': 'bb:1206', 'to': 'call:1300', 'type': 'contains'}, {'from': 'bb:1982', 'to': 'call:2028', 'type': 'contains'}, {'from': 'bb:2286', 'to': 'call:2298', 'type': 'contains'}, {'from': 'bb:6150', 'to': 'call:6162', 'type': 'contains'}, {'from': 'bb:6435', 'to': 'call:6447', 'type': 'contains'}, {'from': 'bb:7418', 'to': 'call:7431', 'type': 'contains'}, {'from': 'bb:7584', 'to': 'call:7587', 'type': 'contains'}, {'from': 'bb:8102', 'to': 'call:8115', 'type': 'contains'}, {'from': 'bb:8268', 'to': 'call:8271', 'type': 'contains'}, {'from': 'bb:8507', 'to': 'call:8519', 'type': 'contains'}]
thinking
**Inspecting function entry edges**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
data=json.load(f)
edges=[e for e in data['capability_graph']['graph_json']['edges'] if e['type']=='entry']
print(edges[:20])
PY" in /tmp/codex-ztduy_r0 succeeded in 32ms:
[{'from': 'fn:0xc5675be4', 'to': 'bb:3311885284', 'type': 'entry'}, {'from': 'fn:0xd382d503', 'to': 'bb:3813942948', 'type': 'entry'}, {'from': 'fn:0xe35426a4', 'to': 'bb:3828503255', 'type': 'entry'}, {'from': 'fn:0xe43252d7', 'to': 'bb:3888809924', 'type': 'entry'}, {'from': 'fn:0xb631e80b', 'to': 'bb:3066220224', 'type': 'entry'}, {'from': 'fn:0xb6c2cec0', 'to': 'bb:3135045156', 'type': 'entry'}, {'from': 'fn:0xbadcfe24', 'to': 'bb:3256539841', 'type': 'entry'}, {'from': 'fn:0x6619dc55', 'to': 'bb:1712970837', 'type': 'entry'}, {'from': 'fn:0x7ebd1b30', 'to': 'bb:2192620073', 'type': 'entry'}, {'from': 'fn:0x82b0ba29', 'to': 'bb:2326910593', 'type': 'entry'}, {'from': 'fn:0x8ab1d681', 'to': 'bb:2360927584', 'type': 'entry'}, {'from': 'fn:0x023f4bc3', 'to': 'bb:1020253707', 'type': 'entry'}, {'from': 'fn:0x3ccfd60b', 'to': 'bb:1275262510', 'type': 'entry'}, {'from': 'fn:0x4c02f62e', 'to': 'bb:1491353935', 'type': 'entry'}]
thinking
**Analyzing basic block and PC mapping**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
data=json.load(f)
# find node bb:1982
node = next(n for n in data['capability_graph']['graph_json']['nodes'] if n.get('id')=='bb:1982')
print(node)
PY" in /tmp/codex-ztduy_r0 succeeded in 53ms:
{'end_pc': 2040, 'hash': '0x53094ba41248458ae1695f9455c79be3d6c348d92299fa9cfb249ba33f5899eb', 'id': 'bb:1982', 'start_pc': 1982, 'type': 'basic_block'}
thinking
**Evaluating callsite identification methods**
exec
/bin/bash -lc 'which evm || true' in /tmp/codex-ztduy_r0 succeeded in 6ms:
thinking
**Preparing EVM disassembler script**
exec
/bin/bash -lc "python - <<'PY'
import json
# EVM opcode mapping
opcodes = {i: f'OP_{i:02x}' for i in range(256)}
# populate known opcodes
names = {
0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
0x20:'SHA3',
0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
0x5f:'PUSH0',
0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}
for k,v in names.items():
opcodes[k]=v
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
data=json.load(f)
bytecode = data['artifact']['runtime_bytecode']['full']
if bytecode.startswith('0x'):
bytecode = bytecode[2:]
code_bytes = bytes.fromhex(bytecode)
# disassemble
instrs=[]
pc=0
while pc < len(code_bytes):
op = code_bytes[pc]
name = opcodes.get(op, f'OP_{op:02x}')
imm = b''
if 0x60 <= op <= 0x7f:
size = op - 0x5f
imm = code_bytes[pc+1:pc+1+size]
instrs.append((pc,name,imm.hex()))
pc += 1 + size
else:
instrs.append((pc,name,''))
pc += 1
# map pc to index
pc_to_index={pc:i for i,(pc,_,_) in enumerate(instrs)}
def dump_around(target_pc, window=12):
i = pc_to_index.get(target_pc)
if i is None:
# find nearest
nearest = min(instrs, key=lambda x: abs(x[0]-target_pc))
i = pc_to_index[nearest[0]]
start = max(0, i-window)
end = min(len(instrs), i+window+1)
print(f\"\\n=== around pc {target_pc} (showing {instrs[i][0]} as center) ===\")
for pc,name,imm in instrs[start:end]:
if imm:
print(f\"{pc:6d}: {name} 0x{imm}\")
else:
print(f\"{pc:6d}: {name}\")
for target in [2028,6162,6447,7431,7587,8115,8271,8519,9242,9525,11416,11632,12099,12255,12503,14662]:
dump_around(target, window=10)
PY" in /tmp/codex-ztduy_r0 succeeded in 96ms:
=== around pc 2028 (showing 2028 as center) ===
2017: PUSH0
2018: PUSH1 0x40
2020: MLOAD
2021: DUP1
2022: DUP4
2023: SUB
2024: DUP2
2025: DUP6
2026: DUP9
2027: DUP9
2028: CALL
2029: SWAP4
2030: POP
2031: POP
2032: POP
2033: POP
2034: ISZERO
2035: DUP1
thinking
**Analyzing call-return patterns**
exec
/bin/bash -lc "python - <<'PY'
import json
# use same disassembler as before quickly
opcodes={i:f'OP_{i:02x}' for i in range(256)}
for k,v in {
0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
0x20:'SHA3',
0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
0x5f:'PUSH0',
0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}.items():
opcodes[k]=v
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
data=json.load(f)
bytecode = data['artifact']['runtime_bytecode']['full']
if bytecode.startswith('0x'):
bytecode = bytecode[2:]
code_bytes = bytes.fromhex(bytecode)
instrs=[]
pc=0
while pc < len(code_bytes):
op=code_bytes[pc]
name=opcodes.get(op,f'OP_{op:02x}')
imm=b''
if 0x60<=op<=0x7f:
size=op-0x5f
imm=code_bytes[pc+1:pc+1+size]
instrs.append((pc,name,imm.hex()))
pc+=1+size
else:
instrs.append((pc,name,''))
pc+=1
pc_to_index={pc:i for i,(pc,_,_) in enumerate(instrs)}
def dump(target_pc, window=12):
i=pc_to_index.get(target_pc)
if i is None:
nearest=min(instrs, key=lambda x: abs(x[0]-target_pc))
i=pc_to_index[nearest[0]]
start=max(0,i-window)
end=min(len(instrs),i+window+1)
print(f\"\\n=== around pc {target_pc} (center {instrs[i][0]}) ===\")
for pc,name,imm in instrs[start:end]:
if imm:
print(f\"{pc:6d}: {name} 0x{imm}\")
else:
print(f\"{pc:6d}: {name}\")
for t in [1300,2298,10213]:
dump(t)
PY" in /tmp/codex-ztduy_r0 succeeded in 65ms:
=== around pc 1300 (center 1300) ===
1285: MSTORE
1286: PUSH1 0x04
1288: ADD
1289: PUSH1 0x20
1291: PUSH1 0x40
1293: MLOAD
1294: DUP1
1295: DUP4
1296: SUB
1297: DUP2
1298: DUP7
1299: GAS
1300: STATICCALL
1301: ISZERO
1302: DUP1
1303: ISZERO
1304: PUSH2 0x0523
1307: JUMPI
thinking
**Analyzing external CALLs and ETH transfers**
I'm inspecting the bytecode patterns around CALL instructions to determine if ETH value is sent during calls and if access controls are properly enforced. There’s evidence of external calls with computed targets and values that could be risky without clear guard detection. I’m weighing potential reentrancy and fund loss concerns alongside some existing whitelist checks, while also assessing whether return data checks and access controls are sufficient or absent. This deep dive aims to clarify risks around untrusted external calls and ETH transfer behavior.
exec
/bin/bash -lc "python - <<'PY'
import json
opcodes={i:f'OP_{i:02x}' for i in range(256)}
for k,v in {
0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
0x20:'SHA3',
0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
0x5f:'PUSH0',
0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}.items():
opcodes[k]=v
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
data=json.load(f)
code_hex=data['artifact']['runtime_bytecode']['full'][2:]
code=bytes.fromhex(code_hex)
instrs=[]
pc=0
while pc < len(code):
op=code[pc]
name=opcodes.get(op,f'OP_{op:02x}')
imm=b''
if 0x60<=op<=0x7f:
size=op-0x5f
imm=code[pc+1:pc+1+size]
instrs.append((pc,name,imm.hex()))
pc+=1+size
else:
instrs.append((pc,name,''))
pc+=1
pc_to_index={pc:i for i,(pc,_,_) in enumerate(instrs)}
def dump(target_pc, window=40):
i=pc_to_index.get(target_pc)
if i is None:
nearest=min(instrs, key=lambda x: abs(x[0]-target_pc))
i=pc_to_index[nearest[0]]
start=max(0,i-window)
end=min(len(instrs),i+window+1)
print(f\"\\n=== around pc {target_pc} (center {instrs[i][0]}) ===\")
for pc,name,imm in instrs[start:end]:
if imm:
print(f\"{pc:6d}: {name} 0x{imm}\")
else:
print(f\"{pc:6d}: {name}\")
# pick a call that might target router: maybe 7587 or 8271? We'll dump 120 instructions around 7587.
for t in [7587,8271,11632,12255]:
dump(t, window=30)
PY" in /tmp/codex-ztduy_r0 succeeded in 69ms:
=== around pc 7587 (center 7587) ===
7548: PUSH4 0xffffffff
7553: AND
7554: PUSH1 0xe0
7556: SHL
7557: DUP2
7558: MSTORE
7559: PUSH1 0x04
7561: ADD
7562: PUSH0
7563: PUSH1 0x40
7565: MLOAD
7566: DUP1
7567: DUP4
7568: SUB
7569: DUP2
7570: PUSH0
7571: DUP8
7572: DUP1
thinking
**Analyzing contract calls and addresses**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
data=json.load(f)
code=bytes.fromhex(data['artifact']['runtime_bytecode']['full'][2:])
addr=bytes.fromhex('68b3465833fb72a70ecdf485e0e4c7bd8665fc45')
idx=code.find(addr)
print('index', idx)
# show surrounding bytes/opcodes near addr
start=max(0, idx-10)
end=min(len(code), idx+len(addr)+10)
print(code[start:end].hex())
PY" in /tmp/codex-ztduy_r0 succeeded in 90ms:
index 5725
0000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc4581565b5f805b60208054
thinking
**Analyzing bytecode near program counter**
exec
/bin/bash -lc "python - <<'PY'
import json
# disassemble similar
opcodes={i:f'OP_{i:02x}' for i in range(256)}
for k,v in {
0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
0x20:'SHA3',
0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
0x5f:'PUSH0',
0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}.items():
opcodes[k]=v
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
data=json.load(f)
code=bytes.fromhex(data['artifact']['runtime_bytecode']['full'][2:])
instrs=[]
pc=0
while pc < len(code):
op=code[pc]
name=opcodes.get(op,f'OP_{op:02x}')
imm=b''
if 0x60<=op<=0x7f:
size=op-0x5f
imm=code[pc+1:pc+1+size]
instrs.append((pc,name,imm.hex()))
pc+=1+size
else:
instrs.append((pc,name,''))
pc+=1
# find instruction containing that address immediate
for pc,name,imm in instrs:
if imm and '68b3465833fb72a70ecdf485e0e4c7bd8665fc45' in imm:
print('found', pc, name, imm)
# dump nearby
idx = [i for i,(p,_,_) in enumerate(instrs) if p==pc][0]
for p,n,im in instrs[idx-5:idx+6]:
if im:
print(f\"{p:6d}: {n} 0x{im}\")
else:
print(f\"{p:6d}: {n}\")
break
PY" in /tmp/codex-ztduy_r0 succeeded in 95ms:
found 5712 PUSH32 00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45
5707: POP
5708: POP
5709: SWAP1
5710: JUMP
5711: JUMPDEST
5712: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45
5745: DUP2
5746: JUMP
5747: JUMPDEST
5748: PUSH0
5749: DUP1
thinking
**Analyzing external call risks and access control**
exec
/bin/bash -lc "python - <<'PY'
pcs=[2028,6162,6447,7431,7587,8115,8271,8519,9242,9525,11416,11632,12099,12255,12503,14662]
print([hex(p) for p in pcs])
PY" in /tmp/codex-ztduy_r0 succeeded in 56ms:
['0x7ec', '0x1812', '0x192f', '0x1d07', '0x1da3', '0x1fb3', '0x204f', '0x2147', '0x241a', '0x2535', '0x2c98', '0x2d70', '0x2f43', '0x2fdf', '0x30d7', '0x3946']
thinking
**Analyzing callsites and reentrancy risks**
exec
/bin/bash -lc "python - <<'PY'
import json
opcodes={i:f'OP_{i:02x}' for i in range(256)}
for k,v in {
0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
0x20:'SHA3',
0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
0x5f:'PUSH0',
0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
}.items():
opcodes[k]=v
with open('/tmp/codex-ztduy_r0/BYTECODE_BUNDLE.json') as f:
data=json.load(f)
code=bytes.fromhex(data['artifact']['runtime_bytecode']['full'][2:])
instrs=[]
pc=0
while pc < len(code):
op=code[pc]
name=opcodes.get(op,f'OP_{op:02x}')
imm=b''
if 0x60<=op<=0x7f:
size=op-0x5f
imm=code[pc+1:pc+1+size]
instrs.append((pc,name,imm.hex()))
pc+=1+size
else:
instrs.append((pc,name,''))
pc+=1
pc_to_index={pc:i for i,(pc,_,_) in enumerate(instrs)}
calls=[2028,6162,6447,7431,7587,8115,8271,8519,9242,9525,11416,11632,12099,12255,12503,14662]
for c in calls:
i=pc_to_index[c]
# check for SSTORE within next 80 instructions
window=80
has_sstore=False
for pc,name,imm in instrs[i+1:i+1+window]:
if name=='SSTORE':
has_sstore=True
break
if has_sstore:
print('call at', c, 'has SSTORE within', window)
PY" in /tmp/codex-ztduy_r0 succeeded in 54ms:
thinking
**Summarizing potential external call issues**
I’m gathering evidence that the contract has multiple computed CALL sites with possible ETH value transfers and no detected access control or reentrancy guards, which could allow arbitrary external calls if user-controlled. Since guard detection heuristics find none but revert strings show some controls, I’m noting uncertainty and recommending verifying access restrictions, call target validation, and reentrancy protections with references to callsite locations.
codex
{"no_findings":false,"summary":"Bytecode analysis shows multiple CALL sites with computed targets/values and no detected guards; if any are user-controlled, the contract can be induced to make arbitrary external calls and potentially transfer ETH.","findings":[{"severity":"medium","category":"other","title":"Computed CALL targets/values may allow arbitrary external calls and ETH transfers if user-controlled","exploit_scenario":"If any public entrypoint lets an attacker influence the CALL target or value (via calldata or storage they can modify), they can trigger external calls to attacker-controlled contracts, potentially draining ETH or abusing reentrancy during those calls.","recommendation":"Ensure all functions that reach these CALL sites are protected by strict access control or enforce an allowlist of approved targets; validate or cap the ETH value forwarded; consider a reentrancy guard around stateful flows that perform external calls.","evidence":"Capability graph callsites show 16 CALLs with target_expression_category/value_expression_category marked as computed and guards_detected empty. Detector findings report “Untrusted CALL target/value reachable” and “ETH value transfer possible” with 16 examples and no guards detected.","locations":["pc:0x7ec","pc:0x1812","pc:0x192f","pc:0x1d07","pc:0x1da3","pc:0x1fb3","pc:0x204f","pc:0x2147","pc:0x241a","pc:0x2535","pc:0x2c98","pc:0x2d70","pc:0x2f43","pc:0x2fdf","pc:0x30d7","pc:0x3946"]}]}
tokens used
161,660
{
"codex": {
"ran_at": "2026-01-11T05:50:10.948852+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 38284,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode analysis shows multiple CALL sites with computed targets/values and no detected guards; if any are user-controlled, the contract can be induced to make arbitrary external calls and potentially transfer ETH.",
"raw_final": {
"summary": "Bytecode analysis shows multiple CALL sites with computed targets/values and no detected guards; if any are user-controlled, the contract can be induced to make arbitrary external calls and potentially transfer ETH.",
"findings": [
{
"title": "Computed CALL targets/values may allow arbitrary external calls and ETH transfers if user-controlled",
"category": "other",
"evidence": "Capability graph callsites show 16 CALLs with target_expression_category/value_expression_category marked as computed and guards_detected empty. Detector findings report \u201cUntrusted CALL target/value reachable\u201d and \u201cETH value transfer possible\u201d with 16 examples and no guards detected.",
"severity": "medium",
"locations": [
"pc:0x7ec",
"pc:0x1812",
"pc:0x192f",
"pc:0x1d07",
"pc:0x1da3",
"pc:0x1fb3",
"pc:0x204f",
"pc:0x2147",
"pc:0x241a",
"pc:0x2535",
"pc:0x2c98",
"pc:0x2d70",
"pc:0x2f43",
"pc:0x2fdf",
"pc:0x30d7",
"pc:0x3946"
],
"recommendation": "Ensure all functions that reach these CALL sites are protected by strict access control or enforce an allowlist of approved targets; validate or cap the ETH value forwarded; consider a reentrancy guard around stateful flows that perform external calls.",
"exploit_scenario": "If any public entrypoint lets an attacker influence the CALL target or value (via calldata or storage they can modify), they can trigger external calls to attacker-controlled contracts, potentially draining ETH or abusing reentrancy during those calls."
}
],
"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 0x010c 0000000c: JUMPI 0000000d: PUSH0 0000000e: CALLDATALOAD 0000000f: PUSH1 0xe0 00000011: SHR 00000012: DUP1 00000013: PUSH4 0xb631e80b 00000018: GT 00000019: PUSH2 0x0094 0000001c: JUMPI 0000001d: DUP1 0000001e: PUSH4 0xc5675be4 00000023: GT 00000024: PUSH2 0x0063 00000027: JUMPI 00000028: DUP1 00000029: PUSH4 0xc5675be4 0000002e: EQ 0000002f: PUSH2 0x02df 00000032: JUMPI 00000033: DUP1 00000034: PUSH4 0xd382d503 00000039: EQ 0000003a: PUSH2 0x0307 0000003d: JUMPI 0000003e: DUP1 0000003f: PUSH4 0xe35426a4 00000044: EQ 00000045: PUSH2 0x031d 00000048: JUMPI 00000049: DUP1 0000004a: PUSH4 0xe43252d7 0000004f: EQ 00000050: PUSH2 0x0347 00000053: JUMPI 00000054: DUP1 00000055: PUSH4 0xe7ca87c4 0000005a: EQ 0000005b: PUSH2 0x036f 0000005e: JUMPI 0000005f: PUSH2 0x0113 00000062: JUMP 00000063: JUMPDEST 00000064: DUP1 00000065: PUSH4 0xb631e80b 0000006a: EQ 0000006b: PUSH2 0x0273 0000006e: JUMPI 0000006f: DUP1 00000070: PUSH4 0xb6c2cec0 00000075: EQ 00000076: PUSH2 0x029d 00000079: JUMPI 0000007a: DUP1 0000007b: PUSH4 0xbadcfe24 00000080: EQ 00000081: PUSH2 0x02b3 00000084: JUMPI 00000085: DUP1 00000086: PUSH4 0xc21adac1 0000008b: EQ 0000008c: PUSH2 0x02c9 0000008f: JUMPI 00000090: PUSH2 0x0113 00000093: JUMP 00000094: JUMPDEST 00000095: DUP1 00000096: PUSH4 0x6619dc55 0000009b: GT 0000009c: PUSH2 0x00db 0000009f: JUMPI 000000a0: DUP1 000000a1: PUSH4 0x6619dc55 000000a6: EQ 000000a7: PUSH2 0x0193 000000aa: JUMPI 000000ab: DUP1 000000ac: PUSH4 0x7ebd1b30 000000b1: EQ 000000b2: PUSH2 0x01bb 000000b5: JUMPI 000000b6: DUP1 000000b7: PUSH4 0x82b0ba29 000000bc: EQ 000000bd: PUSH2 0x01f7 000000c0: JUMPI 000000c1: DUP1 000000c2: PUSH4 0x8ab1d681 000000c7: EQ 000000c8: PUSH2 0x0221 000000cb: JUMPI 000000cc: DUP1 000000cd: PUSH4 0x8cb8e560 000000d2: EQ 000000d3: PUSH2 0x0249 000000d6: JUMPI 000000d7: PUSH2 0x0113 000000da: JUMP 000000db: JUMPDEST 000000dc: DUP1 000000dd: PUSH4 0x023f4bc3 000000e2: EQ 000000e3: PUSH2 0x0115 000000e6: JUMPI 000000e7: DUP1 000000e8: PUSH4 0x3ccfd60b 000000ed: EQ 000000ee: PUSH2 0x013d 000000f1: JUMPI 000000f2: DUP1 000000f3: PUSH4 0x4c02f62e 000000f8: EQ 000000f9: PUSH2 0x0153 000000fc: JUMPI 000000fd: DUP1 000000fe: PUSH4 0x58e4414f 00000103: EQ 00000104: PUSH2 0x0169 00000107: JUMPI 00000108: PUSH2 0x0113 0000010b: JUMP 0000010c: JUMPDEST 0000010d: CALLDATASIZE 0000010e: PUSH2 0x0113 00000111: JUMPI 00000112: STOP 00000113: JUMPDEST 00000114: STOP 00000115: JUMPDEST 00000116: CALLVALUE 00000117: DUP1 00000118: ISZERO 00000119: PUSH2 0x0120 0000011c: JUMPI 0000011d: PUSH0 0000011e: DUP1 0000011f: REVERT 00000120: JUMPDEST 00000121: POP 00000122: PUSH2 0x013b 00000125: PUSH1 0x04 00000127: DUP1 00000128: CALLDATASIZE 00000129: SUB 0000012a: DUP2 0000012b: ADD 0000012c: SWAP1 0000012d: PUSH2 0x0136 00000130: SWAP2 00000131: SWAP1 00000132: PUSH2 0x3cc4 00000135: JUMP 00000136: JUMPDEST 00000137: PUSH2 0x0397 0000013a: JUMP 0000013b: JUMPDEST 0000013c: STOP 0000013d: JUMPDEST 0000013e: CALLVALUE 0000013f: DUP1 00000140: ISZERO 00000141: PUSH2 0x0148 00000144: JUMPI 00000145: PUSH0 00000146: DUP1 00000147: REVERT 00000148: JUMPDEST 00000149: POP 0000014a: PUSH2 0x0151 0000014d: PUSH2 0x0722 00000150: JUMP 00000151: JUMPDEST 00000152: STOP 00000153: JUMPDEST 00000154: CALLVALUE 00000155: DUP1 00000156: ISZERO 00000157: PUSH2 0x015e 0000015a: JUMPI 0000015b: PUSH0 0000015c: DUP1 0000015d: REVERT 0000015e: JUMPDEST 0000015f: POP 00000160: PUSH2 0x0167 00000163: PUSH2 0x0805 00000166: JUMP 00000167: JUMPDEST 00000168: STOP 00000169: JUMPDEST 0000016a: CALLVALUE 0000016b: DUP1 0000016c: ISZERO 0000016d: PUSH2 0x0174 00000170: JUMPI 00000171: PUSH0 00000172: DUP1 00000173: REVERT 00000174: JUMPDEST 00000175: POP 00000176: PUSH2 0x017d 00000179: PUSH2 0x0965 0000017c: JUMP 0000017d: JUMPDEST 0000017e: PUSH1 0x40 00000180: MLOAD 00000181: PUSH2 0x018a 00000184: SWAP2 00000185: SWAP1 00000186: PUSH2 0x3ed4 00000189: JUMP 0000018a: JUMPDEST 0000018b: PUSH1 0x40 0000018d: MLOAD 0000018e: DUP1 0000018f: SWAP2 00000190: SUB 00000191: SWAP1 00000192: RETURN 00000193: JUMPDEST 00000194: CALLVALUE 00000195: DUP1 00000196: ISZERO 00000197: PUSH2 0x019e 0000019a: JUMPI 0000019b: PUSH0 0000019c: DUP1 0000019d: REVERT 0000019e: JUMPDEST 0000019f: POP 000001a0: PUSH2 0x01b9 000001a3: PUSH1 0x04 000001a5: DUP1 000001a6: CALLDATASIZE 000001a7: SUB 000001a8: DUP2 000001a9: ADD 000001aa: SWAP1 000001ab: PUSH2 0x01b4 000001ae: SWAP2 000001af: SWAP1 000001b0: PUSH2 0x3cc4 000001b3: JUMP 000001b4: JUMPDEST 000001b5: PUSH2 0x0be7 000001b8: JUMP 000001b9: JUMPDEST 000001ba: STOP 000001bb: JUMPDEST 000001bc: CALLVALUE 000001bd: DUP1 000001be: ISZERO 000001bf: PUSH2 0x01c6 000001c2: JUMPI 000001c3: PUSH0 000001c4: DUP1 000001c5: REVERT 000001c6: JUMPDEST 000001c7: POP 000001c8: PUSH2 0x01e1 000001cb: PUSH1 0x04 000001cd: DUP1 000001ce: CALLDATASIZE 000001cf: SUB 000001d0: DUP2 000001d1: ADD 000001d2: SWAP1 000001d3: PUSH2 0x01dc 000001d6: SWAP2 000001d7: SWAP1 000001d8: PUSH2 0x3ef4 000001db: JUMP 000001dc: JUMPDEST 000001dd: PUSH2 0x0f04 000001e0: JUMP 000001e1: JUMPDEST 000001e2: PUSH1 0x40 000001e4: MLOAD 000001e5: PUSH2 0x01ee 000001e8: SWAP2 000001e9: SWAP1 000001ea: PUSH2 0x3f2e 000001ed: JUMP 000001ee: JUMPDEST 000001ef: PUSH1 0x40 000001f1: MLOAD 000001f2: DUP1 000001f3: SWAP2 000001f4: SUB 000001f5: SWAP1 000001f6: RETURN 000001f7: JUMPDEST 000001f8: CALLVALUE 000001f9: DUP1 000001fa: ISZERO 000001fb: PUSH2 0x0202 000001fe: JUMPI 000001ff: PUSH0 00000200: DUP1 00000201: REVERT 00000202: JUMPDEST 00000203: POP 00000204: PUSH2 0x020b 00000207: PUSH2 0x0f3f 0000020a: JUMP 0000020b: JUMPDEST 0000020c: PUSH1 0x40 0000020e: MLOAD 0000020f: PUSH2 0x0218 00000212: SWAP2 00000213: SWAP1 00000214: PUSH2 0x3fe7 00000217: JUMP 00000218: JUMPDEST 00000219: PUSH1 0x40 0000021b: MLOAD 0000021c: DUP1 0000021d: SWAP2 0000021e: SUB 0000021f: SWAP1 00000220: RETURN 00000221: JUMPDEST 00000222: CALLVALUE 00000223: DUP1 00000224: ISZERO 00000225: PUSH2 0x022c 00000228: JUMPI 00000229: PUSH0 0000022a: DUP1 0000022b: REVERT 0000022c: JUMPDEST 0000022d: POP 0000022e: PUSH2 0x0247 00000231: PUSH1 0x04 00000233: DUP1 00000234: CALLDATASIZE 00000235: SUB 00000236: DUP2 00000237: ADD 00000238: SWAP1 00000239: PUSH2 0x0242 0000023c: SWAP2 0000023d: SWAP1 0000023e: PUSH2 0x4007 00000241: JUMP 00000242: JUMPDEST 00000243: PUSH2 0x11c1 00000246: JUMP 00000247: JUMPDEST 00000248: STOP 00000249: JUMPDEST 0000024a: CALLVALUE 0000024b: DUP1 0000024c: ISZERO 0000024d: PUSH2 0x0254 00000250: JUMPI 00000251: PUSH0 00000252: DUP1 00000253: REVERT 00000254: JUMPDEST 00000255: POP 00000256: PUSH2 0x025d 00000259: PUSH2 0x13cd 0000025c: JUMP 0000025d: JUMPDEST 0000025e: PUSH1 0x40 00000260: MLOAD 00000261: PUSH2 0x026a 00000264: SWAP2 00000265: SWAP1 00000266: PUSH2 0x40d2 00000269: JUMP 0000026a: JUMPDEST 0000026b: PUSH1 0x40 0000026d: MLOAD 0000026e: DUP1 0000026f: SWAP2 00000270: SUB 00000271: SWAP1 00000272: RETURN 00000273: JUMPDEST 00000274: CALLVALUE 00000275: DUP1 00000276: ISZERO 00000277: PUSH2 0x027e 0000027a: JUMPI 0000027b: PUSH0 0000027c: DUP1 0000027d: REVERT 0000027e: JUMPDEST 0000027f: POP 00000280: PUSH2 0x0287 00000283: PUSH2 0x164f 00000286: JUMP 00000287: JUMPDEST 00000288: PUSH1 0x40 0000028a: MLOAD 0000028b: PUSH2 0x0294 0000028e: SWAP2 0000028f: SWAP1 00000290: PUSH2 0x414d 00000293: JUMP 00000294: JUMPDEST 00000295: PUSH1 0x40 00000297: MLOAD 00000298: DUP1 00000299: SWAP2 0000029a: SUB 0000029b: SWAP1 0000029c: RETURN 0000029d: JUMPDEST 0000029e: CALLVALUE 0000029f: DUP1 000002a0: ISZERO 000002a1: PUSH2 0x02a8 000002a4: JUMPI 000002a5: PUSH0 000002a6: DUP1 000002a7: REVERT 000002a8: JUMPDEST 000002a9: POP 000002aa: PUSH2 0x02b1 000002ad: PUSH2 0x1673 000002b0: JUMP 000002b1: JUMPDEST 000002b2: STOP 000002b3: JUMPDEST 000002b4: CALLVALUE 000002b5: DUP1 000002b6: ISZERO 000002b7: PUSH2 0x02be 000002ba: JUMPI 000002bb: PUSH0 000002bc: DUP1 000002bd: REVERT 000002be: JUMPDEST 000002bf: POP 000002c0: PUSH2 0x02c7 000002c3: PUSH2 0x1a62 000002c6: JUMP 000002c7: JUMPDEST 000002c8: STOP 000002c9: JUMPDEST 000002ca: CALLVALUE 000002cb: DUP1 000002cc: ISZERO 000002cd: PUSH2 0x02d4 000002d0: JUMPI 000002d1: PUSH0 000002d2: DUP1 000002d3: REVERT 000002d4: JUMPDEST 000002d5: POP 000002d6: PUSH2 0x02dd 000002d9: PUSH2 0x227b 000002dc: JUMP 000002dd: JUMPDEST 000002de: STOP 000002df: JUMPDEST 000002e0: CALLVALUE 000002e1: DUP1 000002e2: ISZERO 000002e3: PUSH2 0x02ea 000002e6: JUMPI 000002e7: PUSH0 000002e8: DUP1 000002e9: REVERT 000002ea: JUMPDEST 000002eb: POP 000002ec: PUSH2 0x0305 000002ef: PUSH1 0x04 000002f1: DUP1 000002f2: CALLDATASIZE 000002f3: SUB 000002f4: DUP2 000002f5: ADD 000002f6: SWAP1 000002f7: PUSH2 0x0300 000002fa: SWAP2 000002fb: SWAP1 000002fc: PUSH2 0x3cc4 000002ff: JUMP 00000300: JUMPDEST 00000301: PUSH2 0x2668 00000304: JUMP 00000305: JUMPDEST 00000306: STOP 00000307: JUMPDEST 00000308: CALLVALUE 00000309: DUP1 0000030a: ISZERO 0000030b: PUSH2 0x0312 0000030e: JUMPI 0000030f: PUSH0 00000310: DUP1 00000311: REVERT 00000312: JUMPDEST 00000313: POP 00000314: PUSH2 0x031b 00000317: PUSH2 0x29f3 0000031a: JUMP 0000031b: JUMPDEST 0000031c: STOP 0000031d: JUMPDEST 0000031e: CALLVALUE 0000031f: DUP1 00000320: ISZERO 00000321: PUSH2 0x0328 00000324: JUMPI 00000325: PUSH0 00000326: DUP1 00000327: REVERT 00000328: JUMPDEST 00000329: POP 0000032a: PUSH2 0x0331 0000032d: PUSH2 0x320b 00000330: JUMP 00000331: JUMPDEST 00000332: PUSH1 0x40 00000334: MLOAD 00000335: PUSH2 0x033e 00000338: SWAP2 00000339: SWAP1 0000033a: PUSH2 0x4206 0000033d: JUMP 0000033e: JUMPDEST 0000033f: PUSH1 0x40 00000341: MLOAD 00000342: DUP1 00000343: SWAP2 00000344: SUB 00000345: SWAP1 00000346: RETURN 00000347: JUMPDEST 00000348: CALLVALUE 00000349: DUP1 0000034a: ISZERO 0000034b: PUSH2 0x0352 0000034e: JUMPI 0000034f: PUSH0 00000350: DUP1 00000351: REVERT 00000352: JUMPDEST 00000353: POP 00000354: PUSH2 0x036d 00000357: PUSH1 0x04 00000359: DUP1 0000035a: CALLDATASIZE 0000035b: SUB 0000035c: DUP2 0000035d: ADD 0000035e: SWAP1 0000035f: PUSH2 0x0368 00000362: SWAP2 00000363: SWAP1 00000364: PUSH2 0x4007 00000367: JUMP 00000368: JUMPDEST 00000369: PUSH2 0x348d 0000036c: JUMP 0000036d: JUMPDEST 0000036e: STOP 0000036f: JUMPDEST 00000370: CALLVALUE 00000371: DUP1 00000372: ISZERO 00000373: PUSH2 0x037a 00000376: JUMPI 00000377: PUSH0 00000378: DUP1 00000379: REVERT 0000037a: JUMPDEST 0000037b: POP 0000037c: PUSH2 0x0395 0000037f: PUSH1 0x04 00000381: DUP1 00000382: CALLDATASIZE 00000383: SUB 00000384: DUP2 00000385: ADD 00000386: SWAP1 00000387: PUSH2 0x0390 0000038a: SWAP2 0000038b: SWAP1 0000038c: PUSH2 0x3cc4 0000038f: JUMP 00000390: JUMPDEST 00000391: PUSH2 0x357f 00000394: JUMP 00000395: JUMPDEST 00000396: STOP 00000397: JUMPDEST 00000398: PUSH0 00000399: DUP1 0000039a: JUMPDEST 0000039b: PUSH1 0x20 0000039d: DUP1 0000039e: SLOAD 0000039f: SWAP1 000003a0: POP 000003a1: DUP2 000003a2: LT 000003a3: ISZERO 000003a4: PUSH2 0x042b 000003a7: JUMPI 000003a8: CALLER 000003a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003be: AND 000003bf: PUSH1 0x20 000003c1: DUP3 000003c2: DUP2 000003c3: SLOAD 000003c4: DUP2 000003c5: LT 000003c6: PUSH2 0x03d2 000003c9: JUMPI 000003ca: PUSH2 0x03d1 000003cd: PUSH2 0x4226 000003d0: JUMP 000003d1: JUMPDEST 000003d2: JUMPDEST 000003d3: SWAP1 000003d4: PUSH0 000003d5: MSTORE 000003d6: PUSH1 0x20 000003d8: PUSH0 000003d9: KECCAK256 000003da: ADD 000003db: PUSH0 000003dc: SWAP1 000003dd: SLOAD 000003de: SWAP1 000003df: PUSH2 0x0100 000003e2: EXP 000003e3: SWAP1 000003e4: DIV 000003e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003fa: AND 000003fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000410: AND 00000411: SUB 00000412: PUSH2 0x041e 00000415: JUMPI 00000416: PUSH1 0x01 00000418: SWAP2 00000419: POP 0000041a: PUSH2 0x042b 0000041d: JUMP 0000041e: JUMPDEST 0000041f: DUP1 00000420: DUP1 00000421: PUSH1 0x01 00000423: ADD 00000424: SWAP2 00000425: POP 00000426: POP 00000427: PUSH2 0x039a 0000042a: JUMP 0000042b: JUMPDEST 0000042c: POP 0000042d: DUP1 0000042e: PUSH2 0x046c 00000431: JUMPI 00000432: PUSH1 0x40 00000434: MLOAD 00000435: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000456: DUP2 00000457: MSTORE 00000458: PUSH1 0x04 0000045a: ADD 0000045b: PUSH2 0x0463 0000045e: SWAP1 0000045f: PUSH2 0x42ad 00000462: JUMP 00000463: JUMPDEST 00000464: PUSH1 0x40 00000466: MLOAD 00000467: DUP1 00000468: SWAP2 00000469: SUB 0000046a: SWAP1 0000046b: REVERT 0000046c: JUMPDEST 0000046d: PUSH0 0000046e: PUSH1 0x02 00000470: PUSH8 0xffffffffffffffff 00000479: DUP2 0000047a: GT 0000047b: ISZERO 0000047c: PUSH2 0x0488 0000047f: JUMPI 00000480: PUSH2 0x0487 00000483: PUSH2 0x42cb 00000486: JUMP 00000487: JUMPDEST 00000488: JUMPDEST 00000489: PUSH1 0x40 0000048b: MLOAD 0000048c: SWAP1 0000048d: DUP1 0000048e: DUP3 0000048f: MSTORE 00000490: DUP1 00000491: PUSH1 0x20 00000493: MUL 00000494: PUSH1 0x20 00000496: ADD 00000497: DUP3 00000498: ADD 00000499: PUSH1 0x40 0000049b: MSTORE 0000049c: DUP1 0000049d: ISZERO 0000049e: PUSH2 0x04b6 000004a1: JUMPI 000004a2: DUP2 000004a3: PUSH1 0x20 000004a5: ADD 000004a6: PUSH1 0x20 000004a8: DUP3 000004a9: MUL 000004aa: DUP1 000004ab: CALLDATASIZE 000004ac: DUP4 000004ad: CALLDATACOPY 000004ae: DUP1 000004af: DUP3 000004b0: ADD 000004b1: SWAP2 000004b2: POP 000004b3: POP 000004b4: SWAP1 000004b5: POP 000004b6: JUMPDEST 000004b7: POP 000004b8: SWAP1 000004b9: POP 000004ba: PUSH1 0x03 000004bc: PUSH0 000004bd: SWAP1 000004be: SLOAD 000004bf: SWAP1 000004c0: PUSH2 0x0100 000004c3: EXP 000004c4: SWAP1 000004c5: DIV 000004c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004db: AND 000004dc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000004f1: AND 000004f2: PUSH4 0xad5c4648 000004f7: PUSH1 0x40 000004f9: MLOAD 000004fa: DUP2 000004fb: PUSH4 0xffffffff 00000500: AND 00000501: PUSH1 0xe0 00000503: SHL 00000504: DUP2 00000505: MSTORE 00000506: PUSH1 0x04 00000508: ADD 00000509: PUSH1 0x20 0000050b: PUSH1 0x40 0000050d: MLOAD 0000050e: DUP1 0000050f: DUP4 00000510: SUB 00000511: DUP2 00000512: DUP7 00000513: GAS 00000514: STATICCALL 00000515: ISZERO 00000516: DUP1 00000517: ISZERO 00000518: PUSH2 0x0523 0000051b: JUMPI 0000051c: RETURNDATASIZE 0000051d: PUSH0 0000051e: DUP1 0000051f: RETURNDATACOPY 00000520: RETURNDATASIZE 00000521: PUSH0 00000522: REVERT 00000523: JUMPDEST 00000524: POP 00000525: POP 00000526: POP 00000527: POP 00000528: PUSH1 0x40 0000052a: MLOAD 0000052b: RETURNDATASIZE 0000052c: PUSH1 0x1f 0000052e: NOT 0000052f: PUSH1 0x1f 00000531: DUP3 00000532: ADD 00000533: AND 00000534: DUP3 00000535: ADD 00000536: DUP1 00000537: PUSH1 0x40 00000539: MSTORE 0000053a: POP 0000053b: DUP2 0000053c: ADD 0000053d: SWAP1 0000053e: PUSH2 0x0547 00000541: SWAP2 00000542: SWAP1 00000543: PUSH2 0x430c 00000546: JUMP 00000547: JUMPDEST 00000548: DUP2 00000549: PUSH0 0000054a: DUP2 0000054b: MLOAD 0000054c: DUP2 0000054d: LT 0000054e: PUSH2 0x055a 00000551: JUMPI 00000552: PUSH2 0x0559 00000555: PUSH2 0x4226 00000558: JUMP 00000559: JUMPDEST 0000055a: JUMPDEST 0000055b: PUSH1 0x20 0000055d: MUL 0000055e: PUSH1 0x20 00000560: ADD 00000561: ADD 00000562: SWAP1 00000563: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000578: AND 00000579: SWAP1 0000057a: DUP2 0000057b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000590: AND 00000591: DUP2 00000592: MSTORE 00000593: POP 00000594: POP 00000595: DUP7 00000596: DUP2 00000597: PUSH1 0x01 00000599: DUP2 0000059a: MLOAD 0000059b: DUP2 0000059c: LT 0000059d: PUSH2 0x05a9 000005a0: JUMPI 000005a1: PUSH2 0x05a8 000005a4: PUSH2 0x4226 000005a7: JUMP 000005a8: JUMPDEST 000005a9: JUMPDEST 000005aa: PUSH1 0x20 000005ac: MUL 000005ad: PUSH1 0x20 000005af: ADD 000005b0: ADD 000005b1: SWAP1 000005b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005c7: AND 000005c8: SWAP1 000005c9: DUP2 000005ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000005df: AND 000005e0: DUP2 000005e1: MSTORE 000005e2: POP 000005e3: POP 000005e4: PUSH1 0x40 000005e6: MLOAD 000005e7: DUP1 000005e8: PUSH1 0xe0 000005ea: ADD 000005eb: PUSH1 0x40 000005ed: MSTORE 000005ee: DUP1 000005ef: DUP11 000005f0: DUP11 000005f1: DUP1 000005f2: DUP1 000005f3: PUSH1 0x20 000005f5: MUL 000005f6: PUSH1 0x20 000005f8: ADD 000005f9: PUSH1 0x40 000005fb: MLOAD 000005fc: SWAP1 000005fd: DUP2 000005fe: ADD 000005ff: PUSH1 0x40 00000601: MSTORE 00000602: DUP1 00000603: SWAP4 00000604: SWAP3 00000605: SWAP2 00000606: SWAP1 00000607: DUP2 00000608: DUP2 00000609: MSTORE 0000060a: PUSH1 0x20 0000060c: ADD 0000060d: DUP4 0000060e: DUP4 0000060f: PUSH1 0x20 00000611: MUL 00000612: DUP1 00000613: DUP3 00000614: DUP5 00000615: CALLDATACOPY 00000616: PUSH0 00000617: DUP2 00000618: DUP5 00000619: ADD 0000061a: MSTORE 0000061b: PUSH1 0x1f 0000061d: NOT 0000061e: PUSH1 0x1f 00000620: DUP3 00000621: ADD 00000622: AND 00000623: SWAP1 00000624: POP 00000625: DUP1 00000626: DUP4 00000627: ADD 00000628: SWAP3 00000629: POP 0000062a: POP 0000062b: POP 0000062c: POP 0000062d: POP 0000062e: POP 0000062f: POP 00000630: DUP2 00000631: MSTORE 00000632: PUSH1 0x20 00000634: ADD 00000635: DUP9 00000636: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000064b: AND 0000064c: DUP2 0000064d: MSTORE 0000064e: PUSH1 0x20 00000650: ADD 00000651: DUP8 00000652: DUP2 00000653: MSTORE 00000654: PUSH1 0x20 00000656: ADD 00000657: DUP7 00000658: DUP2 00000659: MSTORE 0000065a: PUSH1 0x20 0000065c: ADD 0000065d: DUP6 0000065e: DUP2 0000065f: MSTORE 00000660: PUSH1 0x20 00000662: ADD 00000663: DUP3 00000664: DUP2 00000665: MSTORE 00000666: PUSH1 0x20 00000668: ADD 00000669: DUP5 0000066a: DUP2 0000066b: MSTORE 0000066c: POP 0000066d: PUSH1 0x0b 0000066f: PUSH0 00000670: DUP3 00000671: ADD 00000672: MLOAD 00000673: DUP2 00000674: PUSH0 00000675: ADD 00000676: SWAP1 00000677: DUP1 00000678: MLOAD 00000679: SWAP1 0000067a: PUSH1 0x20 0000067c: ADD 0000067d: SWAP1 0000067e: PUSH2 0x0688 00000681: SWAP3 00000682: SWAP2 00000683: SWAP1 00000684: PUSH2 0x39eb 00000687: JUMP 00000688: JUMPDEST 00000689: POP 0000068a: PUSH1 0x20 0000068c: DUP3 0000068d: ADD 0000068e: MLOAD 0000068f: DUP2 00000690: PUSH1 0x01 00000692: ADD 00000693: PUSH0 00000694: PUSH2 0x0100 00000697: EXP 00000698: DUP2 00000699: SLOAD 0000069a: DUP2 0000069b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006b0: MUL 000006b1: NOT 000006b2: AND 000006b3: SWAP1 000006b4: DUP4 000006b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006ca: AND 000006cb: MUL 000006cc: OR 000006cd: SWAP1 000006ce: SSTORE 000006cf: POP 000006d0: PUSH1 0x40 000006d2: DUP3 000006d3: ADD 000006d4: MLOAD 000006d5: DUP2 000006d6: PUSH1 0x02 000006d8: ADD 000006d9: SSTORE 000006da: PUSH1 0x60 000006dc: DUP3 000006dd: ADD 000006de: MLOAD 000006df: DUP2 000006e0: PUSH1 0x03 000006e2: ADD 000006e3: SSTORE 000006e4: PUSH1 0x80 000006e6: DUP3 000006e7: ADD 000006e8: MLOAD 000006e9: DUP2 000006ea: PUSH1 0x04 000006ec: ADD 000006ed: SSTORE 000006ee: PUSH1 0xa0 000006f0: DUP3 000006f1: ADD 000006f2: MLOAD 000006f3: DUP2 000006f4: PUSH1 0x05 000006f6: ADD 000006f7: SWAP1 000006f8: DUP1 000006f9: MLOAD 000006fa: SWAP1 000006fb: PUSH1 0x20 000006fd: ADD 000006fe: SWAP1 000006ff: PUSH2 0x0709 00000702: SWAP3 00000703: SWAP2 00000704: SWAP1 00000705: PUSH2 0x39eb 00000708: JUMP 00000709: JUMPDEST 0000070a: POP 0000070b: PUSH1 0xc0 0000070d: DUP3 0000070e: ADD 0000070f: MLOAD 00000710: DUP2 00000711: PUSH1 0x06 00000713: ADD 00000714: SSTORE 00000715: SWAP1 00000716: POP 00000717: POP 00000718: POP 00000719: POP 0000071a: POP 0000071b: POP 0000071c: POP 0000071d: POP 0000071e: POP 0000071f: POP 00000720: POP 00000721: JUMP 00000722: JUMPDEST 00000723: CALLER 00000724: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000739: AND 0000073a: PUSH1 0x21 0000073c: PUSH0 0000073d: SWAP1 0000073e: SLOAD 0000073f: SWAP1 00000740: PUSH2 0x0100 00000743: EXP 00000744: SWAP1 00000745: DIV 00000746: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000075b: AND 0000075c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000771: AND 00000772: EQ 00000773: PUSH2 0x07b1 00000776: JUMPI 00000777: PUSH1 0x40 00000779: MLOAD 0000077a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000079b: DUP2 0000079c: MSTORE 0000079d: PUSH1 0x04 0000079f: ADD 000007a0: PUSH2 0x07a8 000007a3: SWAP1 000007a4: PUSH2 0x4381 000007a7: JUMP 000007a8: JUMPDEST 000007a9: PUSH1 0x40 000007ab: MLOAD 000007ac: DUP1 000007ad: SWAP2 000007ae: SUB 000007af: SWAP1 000007b0: REVERT 000007b1: JUMPDEST 000007b2: PUSH0 000007b3: SELFBALANCE 000007b4: SWAP1 000007b5: POP 000007b6: PUSH0 000007b7: DUP2 000007b8: GT 000007b9: ISZERO 000007ba: PUSH2 0x0802 000007bd: JUMPI 000007be: CALLER 000007bf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000007d4: AND 000007d5: PUSH2 0x08fc 000007d8: DUP3 000007d9: SWAP1 000007da: DUP2 000007db: ISZERO 000007dc: MUL 000007dd: SWAP1 000007de: PUSH1 0x40 000007e0: MLOAD 000007e1: PUSH0 000007e2: PUSH1 0x40 000007e4: MLOAD 000007e5: DUP1 000007e6: DUP4 000007e7: SUB 000007e8: DUP2 000007e9: DUP6 000007ea: DUP9 000007eb: DUP9 000007ec: CALL 000007ed: SWAP4 000007ee: POP 000007ef: POP 000007f0: POP 000007f1: POP 000007f2: ISZERO 000007f3: DUP1 000007f4: ISZERO 000007f5: PUSH2 0x0800 000007f8: JUMPI 000007f9: RETURNDATASIZE 000007fa: PUSH0 000007fb: DUP1 000007fc: RETURNDATACOPY 000007fd: RETURNDATASIZE 000007fe: PUSH0 000007ff: REVERT 00000800: JUMPDEST 00000801: POP 00000802: JUMPDEST 00000803: POP 00000804: JUMP 00000805: JUMPDEST 00000806: CALLER 00000807: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000081c: AND 0000081d: PUSH1 0x21 0000081f: PUSH0 00000820: SWAP1 00000821: SLOAD 00000822: SWAP1 00000823: PUSH2 0x0100 00000826: EXP 00000827: SWAP1 00000828: DIV 00000829: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000083e: AND 0000083f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000854: AND 00000855: EQ 00000856: PUSH2 0x0894 00000859: JUMPI 0000085a: PUSH1 0x40 0000085c: MLOAD 0000085d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000087e: DUP2 0000087f: MSTORE 00000880: PUSH1 0x04 00000882: ADD 00000883: PUSH2 0x088b 00000886: SWAP1 00000887: PUSH2 0x4381 0000088a: JUMP 0000088b: JUMPDEST 0000088c: PUSH1 0x40 0000088e: MLOAD 0000088f: DUP1 00000890: SWAP2 00000891: SUB 00000892: SWAP1 00000893: REVERT 00000894: JUMPDEST 00000895: PUSH0 00000896: DUP1 00000897: PUSH0 00000898: SWAP1 00000899: SLOAD 0000089a: SWAP1 0000089b: PUSH2 0x0100 0000089e: EXP 0000089f: SWAP1 000008a0: DIV 000008a1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008b6: AND 000008b7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008cc: AND 000008cd: PUSH4 0x70a08231 000008d2: ADDRESS 000008d3: PUSH1 0x40 000008d5: MLOAD 000008d6: DUP3 000008d7: PUSH4 0xffffffff 000008dc: AND 000008dd: PUSH1 0xe0 000008df: SHL 000008e0: DUP2 000008e1: MSTORE 000008e2: PUSH1 0x04 000008e4: ADD 000008e5: PUSH2 0x08ee 000008e8: SWAP2 000008e9: SWAP1 000008ea: PUSH2 0x3f2e 000008ed: JUMP 000008ee: JUMPDEST 000008ef: PUSH1 0x20 000008f1: PUSH1 0x40 000008f3: MLOAD 000008f4: DUP1 000008f5: DUP4 000008f6: SUB 000008f7: DUP2 000008f8: DUP7 000008f9: GAS 000008fa: STATICCALL 000008fb: ISZERO 000008fc: DUP1 000008fd: ISZERO 000008fe: PUSH2 0x0909 00000901: JUMPI 00000902: RETURNDATASIZE 00000903: PUSH0 00000904: DUP1 00000905: RETURNDATACOPY 00000906: RETURNDATASIZE 00000907: PUSH0 00000908: REVERT 00000909: JUMPDEST 0000090a: POP 0000090b: POP 0000090c: POP 0000090d: POP 0000090e: PUSH1 0x40 00000910: MLOAD 00000911: RETURNDATASIZE 00000912: PUSH1 0x1f 00000914: NOT 00000915: PUSH1 0x1f 00000917: DUP3 00000918: ADD 00000919: AND 0000091a: DUP3 0000091b: ADD 0000091c: DUP1 0000091d: PUSH1 0x40 0000091f: MSTORE 00000920: POP 00000921: DUP2 00000922: ADD 00000923: SWAP1 00000924: PUSH2 0x092d 00000927: SWAP2 00000928: SWAP1 00000929: PUSH2 0x43b3 0000092c: JUMP 0000092d: JUMPDEST 0000092e: SWAP1 0000092f: POP 00000930: PUSH0 00000931: DUP2 00000932: GT 00000933: ISZERO 00000934: PUSH2 0x0962 00000937: JUMPI 00000938: PUSH2 0x0961 0000093b: PUSH0 0000093c: DUP1 0000093d: SLOAD 0000093e: SWAP1 0000093f: PUSH2 0x0100 00000942: EXP 00000943: SWAP1 00000944: DIV 00000945: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000095a: AND 0000095b: CALLER 0000095c: DUP4 0000095d: PUSH2 0x389c 00000960: JUMP 00000961: JUMPDEST 00000962: JUMPDEST 00000963: POP 00000964: JUMP 00000965: JUMPDEST 00000966: PUSH2 0x096d 00000969: PUSH2 0x3a72 0000096c: JUMP 0000096d: JUMPDEST 0000096e: PUSH0 0000096f: DUP1 00000970: JUMPDEST 00000971: PUSH1 0x20 00000973: DUP1 00000974: SLOAD 00000975: SWAP1 00000976: POP 00000977: DUP2 00000978: LT 00000979: ISZERO 0000097a: PUSH2 0x0a01 0000097d: JUMPI 0000097e: CALLER 0000097f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000994: AND 00000995: PUSH1 0x20 00000997: DUP3 00000998: DUP2 00000999: SLOAD 0000099a: DUP2 0000099b: LT 0000099c: PUSH2 0x09a8 0000099f: JUMPI 000009a0: PUSH2 0x09a7 000009a3: PUSH2 0x4226 000009a6: JUMP 000009a7: JUMPDEST 000009a8: JUMPDEST 000009a9: SWAP1 000009aa: PUSH0 000009ab: MSTORE 000009ac: PUSH1 0x20 000009ae: PUSH0 000009af: KECCAK256 000009b0: ADD 000009b1: PUSH0 000009b2: SWAP1 000009b3: SLOAD 000009b4: SWAP1 000009b5: PUSH2 0x0100 000009b8: EXP 000009b9: SWAP1 000009ba: DIV 000009bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009d0: AND 000009d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009e6: AND 000009e7: SUB 000009e8: PUSH2 0x09f4 000009eb: JUMPI 000009ec: PUSH1 0x01 000009ee: SWAP2 000009ef: POP 000009f0: PUSH2 0x0a01 000009f3: JUMP 000009f4: JUMPDEST 000009f5: DUP1 000009f6: DUP1 000009f7: PUSH1 0x01 000009f9: ADD 000009fa: SWAP2 000009fb: POP 000009fc: POP 000009fd: PUSH2 0x0970 00000a00: JUMP 00000a01: JUMPDEST 00000a02: POP 00000a03: DUP1 00000a04: PUSH2 0x0a42 00000a07: JUMPI 00000a08: PUSH1 0x40 00000a0a: MLOAD 00000a0b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000a2c: DUP2 00000a2d: MSTORE 00000a2e: PUSH1 0x04 00000a30: ADD 00000a31: PUSH2 0x0a39 00000a34: SWAP1 00000a35: PUSH2 0x42ad 00000a38: JUMP 00000a39: JUMPDEST 00000a3a: PUSH1 0x40 00000a3c: MLOAD 00000a3d: DUP1 00000a3e: SWAP2 00000a3f: SUB 00000a40: SWAP1 00000a41: REVERT 00000a42: JUMPDEST 00000a43: PUSH1 0x04 00000a45: PUSH1 0x40 00000a47: MLOAD 00000a48: DUP1 00000a49: PUSH1 0xe0 00000a4b: ADD 00000a4c: PUSH1 0x40 00000a4e: MSTORE 00000a4f: SWAP1 00000a50: DUP2 00000a51: PUSH0 00000a52: DUP3 00000a53: ADD 00000a54: DUP1 00000a55: SLOAD 00000a56: DUP1 00000a57: PUSH1 0x20 00000a59: MUL 00000a5a: PUSH1 0x20 00000a5c: ADD 00000a5d: PUSH1 0x40 00000a5f: MLOAD 00000a60: SWAP1 00000a61: DUP2 00000a62: ADD 00000a63: PUSH1 0x40 00000a65: MSTORE 00000a66: DUP1 00000a67: SWAP3 00000a68: SWAP2 00000a69: SWAP1 00000a6a: DUP2 00000a6b: DUP2 00000a6c: MSTORE 00000a6d: PUSH1 0x20 00000a6f: ADD 00000a70: DUP3 00000a71: DUP1 00000a72: SLOAD 00000a73: DUP1 00000a74: ISZERO 00000a75: PUSH2 0x0ad0 00000a78: JUMPI 00000a79: PUSH1 0x20 00000a7b: MUL 00000a7c: DUP3 00000a7d: ADD 00000a7e: SWAP2 00000a7f: SWAP1 00000a80: PUSH0 00000a81: MSTORE 00000a82: PUSH1 0x20 00000a84: PUSH0 00000a85: KECCAK256 00000a86: SWAP1 00000a87: JUMPDEST 00000a88: DUP2 00000a89: PUSH0 00000a8a: SWAP1 00000a8b: SLOAD 00000a8c: SWAP1 00000a8d: PUSH2 0x0100 00000a90: EXP 00000a91: SWAP1 00000a92: DIV 00000a93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000aa8: AND 00000aa9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000abe: AND 00000abf: DUP2 00000ac0: MSTORE 00000ac1: PUSH1 0x20 00000ac3: ADD 00000ac4: SWAP1 00000ac5: PUSH1 0x01 00000ac7: ADD 00000ac8: SWAP1 00000ac9: DUP1 00000aca: DUP4 00000acb: GT 00000acc: PUSH2 0x0a87 00000acf: JUMPI 00000ad0: JUMPDEST 00000ad1: POP 00000ad2: POP 00000ad3: POP 00000ad4: POP 00000ad5: POP 00000ad6: DUP2 00000ad7: MSTORE 00000ad8: PUSH1 0x20 00000ada: ADD 00000adb: PUSH1 0x01 00000add: DUP3 00000ade: ADD 00000adf: PUSH0 00000ae0: SWAP1 00000ae1: SLOAD 00000ae2: SWAP1 00000ae3: PUSH2 0x0100 00000ae6: EXP 00000ae7: SWAP1 00000ae8: DIV 00000ae9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000afe: AND 00000aff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b14: AND 00000b15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b2a: AND 00000b2b: DUP2 00000b2c: MSTORE 00000b2d: PUSH1 0x20 00000b2f: ADD 00000b30: PUSH1 0x02 00000b32: DUP3 00000b33: ADD 00000b34: SLOAD 00000b35: DUP2 00000b36: MSTORE 00000b37: PUSH1 0x20 00000b39: ADD 00000b3a: PUSH1 0x03 00000b3c: DUP3 00000b3d: ADD 00000b3e: SLOAD 00000b3f: DUP2 00000b40: MSTORE 00000b41: PUSH1 0x20 00000b43: ADD 00000b44: PUSH1 0x04 00000b46: DUP3 00000b47: ADD 00000b48: SLOAD 00000b49: DUP2 00000b4a: MSTORE 00000b4b: PUSH1 0x20 00000b4d: ADD 00000b4e: PUSH1 0x05 00000b50: DUP3 00000b51: ADD 00000b52: DUP1 00000b53: SLOAD 00000b54: DUP1 00000b55: PUSH1 0x20 00000b57: MUL 00000b58: PUSH1 0x20 00000b5a: ADD 00000b5b: PUSH1 0x40 00000b5d: MLOAD 00000b5e: SWAP1 00000b5f: DUP2 00000b60: ADD 00000b61: PUSH1 0x40 00000b63: MSTORE 00000b64: DUP1 00000b65: SWAP3 00000b66: SWAP2 00000b67: SWAP1 00000b68: DUP2 00000b69: DUP2 00000b6a: MSTORE 00000b6b: PUSH1 0x20 00000b6d: ADD 00000b6e: DUP3 00000b6f: DUP1 00000b70: SLOAD 00000b71: DUP1 00000b72: ISZERO 00000b73: PUSH2 0x0bce 00000b76: JUMPI 00000b77: PUSH1 0x20 00000b79: MUL 00000b7a: DUP3 00000b7b: ADD 00000b7c: SWAP2 00000b7d: SWAP1 00000b7e: PUSH0 00000b7f: MSTORE 00000b80: PUSH1 0x20 00000b82: PUSH0 00000b83: KECCAK256 00000b84: SWAP1 00000b85: JUMPDEST 00000b86: DUP2 00000b87: PUSH0 00000b88: SWAP1 00000b89: SLOAD 00000b8a: SWAP1 00000b8b: PUSH2 0x0100 00000b8e: EXP 00000b8f: SWAP1 00000b90: DIV 00000b91: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ba6: AND 00000ba7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000bbc: AND 00000bbd: DUP2 00000bbe: MSTORE 00000bbf: PUSH1 0x20 00000bc1: ADD 00000bc2: SWAP1 00000bc3: PUSH1 0x01 00000bc5: ADD 00000bc6: SWAP1 00000bc7: DUP1 00000bc8: DUP4 00000bc9: GT 00000bca: PUSH2 0x0b85 00000bcd: JUMPI 00000bce: JUMPDEST 00000bcf: POP 00000bd0: POP 00000bd1: POP 00000bd2: POP 00000bd3: POP 00000bd4: DUP2 00000bd5: MSTORE 00000bd6: PUSH1 0x20 00000bd8: ADD 00000bd9: PUSH1 0x06 00000bdb: DUP3 00000bdc: ADD 00000bdd: SLOAD 00000bde: DUP2 00000bdf: MSTORE 00000be0: POP 00000be1: POP 00000be2: SWAP2 00000be3: POP 00000be4: POP 00000be5: SWAP1 00000be6: JUMP 00000be7: JUMPDEST 00000be8: PUSH0 00000be9: DUP1 00000bea: JUMPDEST 00000beb: PUSH1 0x20 00000bed: DUP1 00000bee: SLOAD 00000bef: SWAP1 00000bf0: POP 00000bf1: DUP2 00000bf2: LT 00000bf3: ISZERO 00000bf4: PUSH2 0x0c7b 00000bf7: JUMPI 00000bf8: CALLER 00000bf9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c0e: AND 00000c0f: PUSH1 0x20 00000c11: DUP3 00000c12: DUP2 00000c13: SLOAD 00000c14: DUP2 00000c15: LT 00000c16: PUSH2 0x0c22 00000c19: JUMPI 00000c1a: PUSH2 0x0c21 00000c1d: PUSH2 0x4226 00000c20: JUMP 00000c21: JUMPDEST 00000c22: JUMPDEST 00000c23: SWAP1 00000c24: PUSH0 00000c25: MSTORE 00000c26: PUSH1 0x20 00000c28: PUSH0 00000c29: KECCAK256 00000c2a: ADD 00000c2b: PUSH0 00000c2c: SWAP1 00000c2d: SLOAD 00000c2e: SWAP1 00000c2f: PUSH2 0x0100 00000c32: EXP 00000c33: SWAP1 00000c34: DIV 00000c35: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c4a: AND 00000c4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c60: AND 00000c61: SUB 00000c62: PUSH2 0x0c6e 00000c65: JUMPI 00000c66: PUSH1 0x01 00000c68: SWAP2 00000c69: POP 00000c6a: PUSH2 0x0c7b 00000c6d: JUMP 00000c6e: JUMPDEST 00000c6f: DUP1 00000c70: DUP1 00000c71: PUSH1 0x01 00000c73: ADD 00000c74: SWAP2 00000c75: POP 00000c76: POP 00000c77: PUSH2 0x0bea 00000c7a: JUMP 00000c7b: JUMPDEST 00000c7c: POP 00000c7d: DUP1 00000c7e: PUSH2 0x0cbc 00000c81: JUMPI 00000c82: PUSH1 0x40 00000c84: MLOAD 00000c85: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000ca6: DUP2 00000ca7: MSTORE 00000ca8: PUSH1 0x04 00000caa: ADD 00000cab: PUSH2 0x0cb3 00000cae: SWAP1 00000caf: PUSH2 0x42ad 00000cb2: JUMP 00000cb3: JUMPDEST 00000cb4: PUSH1 0x40 00000cb6: MLOAD 00000cb7: DUP1 00000cb8: SWAP2 00000cb9: SUB 00000cba: SWAP1 00000cbb: REVERT 00000cbc: JUMPDEST 00000cbd: PUSH0 00000cbe: PUSH1 0x02 00000cc0: PUSH8 0xffffffffffffffff 00000cc9: DUP2 00000cca: GT 00000ccb: ISZERO 00000ccc: PUSH2 0x0cd8 00000ccf: JUMPI 00000cd0: PUSH2 0x0cd7 00000cd3: PUSH2 0x42cb 00000cd6: JUMP 00000cd7: JUMPDEST 00000cd8: JUMPDEST 00000cd9: PUSH1 0x40 00000cdb: MLOAD 00000cdc: SWAP1 00000cdd: DUP1 00000cde: DUP3 00000cdf: MSTORE 00000ce0: DUP1 00000ce1: PUSH1 0x20 00000ce3: MUL 00000ce4: PUSH1 0x20 00000ce6: ADD 00000ce7: DUP3 00000ce8: ADD 00000ce9: PUSH1 0x40 00000ceb: MSTORE 00000cec: DUP1 00000ced: ISZERO 00000cee: PUSH2 0x0d06 00000cf1: JUMPI 00000cf2: DUP2 00000cf3: PUSH1 0x20 00000cf5: ADD 00000cf6: PUSH1 0x20 00000cf8: DUP3 00000cf9: MUL 00000cfa: DUP1 00000cfb: CALLDATASIZE 00000cfc: DUP4 00000cfd: CALLDATACOPY 00000cfe: DUP1 00000cff: DUP3 00000d00: ADD 00000d01: SWAP2 00000d02: POP 00000d03: POP 00000d04: SWAP1 00000d05: POP 00000d06: JUMPDEST 00000d07: POP 00000d08: SWAP1 00000d09: POP 00000d0a: PUSH0 00000d0b: DUP1 00000d0c: SLOAD 00000d0d: SWAP1 00000d0e: PUSH2 0x0100 00000d11: EXP 00000d12: SWAP1 00000d13: DIV 00000d14: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d29: AND 00000d2a: DUP2 00000d2b: PUSH0 00000d2c: DUP2 00000d2d: MLOAD 00000d2e: DUP2 00000d2f: LT 00000d30: PUSH2 0x0d3c 00000d33: JUMPI 00000d34: PUSH2 0x0d3b 00000d37: PUSH2 0x4226 00000d3a: JUMP 00000d3b: JUMPDEST 00000d3c: JUMPDEST 00000d3d: PUSH1 0x20 00000d3f: MUL 00000d40: PUSH1 0x20 00000d42: ADD 00000d43: ADD 00000d44: SWAP1 00000d45: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d5a: AND 00000d5b: SWAP1 00000d5c: DUP2 00000d5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d72: AND 00000d73: DUP2 00000d74: MSTORE 00000d75: POP 00000d76: POP 00000d77: DUP7 00000d78: DUP2 00000d79: PUSH1 0x01 00000d7b: DUP2 00000d7c: MLOAD 00000d7d: DUP2 00000d7e: LT 00000d7f: PUSH2 0x0d8b 00000d82: JUMPI 00000d83: PUSH2 0x0d8a 00000d86: PUSH2 0x4226 00000d89: JUMP 00000d8a: JUMPDEST 00000d8b: JUMPDEST 00000d8c: PUSH1 0x20 00000d8e: MUL 00000d8f: PUSH1 0x20 00000d91: ADD 00000d92: ADD 00000d93: SWAP1 00000d94: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000da9: AND 00000daa: SWAP1 00000dab: DUP2 00000dac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000dc1: AND 00000dc2: DUP2 00000dc3: MSTORE 00000dc4: POP 00000dc5: POP 00000dc6: PUSH1 0x40 00000dc8: MLOAD 00000dc9: DUP1 00000dca: PUSH1 0xe0 00000dcc: ADD 00000dcd: PUSH1 0x40 00000dcf: MSTORE 00000dd0: DUP1 00000dd1: DUP11 00000dd2: DUP11 00000dd3: DUP1 00000dd4: DUP1 00000dd5: PUSH1 0x20 00000dd7: MUL 00000dd8: PUSH1 0x20 00000dda: ADD 00000ddb: PUSH1 0x40 00000ddd: MLOAD 00000dde: SWAP1 00000ddf: DUP2 00000de0: ADD 00000de1: PUSH1 0x40 00000de3: MSTORE 00000de4: DUP1 00000de5: SWAP4 00000de6: SWAP3 00000de7: SWAP2 00000de8: SWAP1 00000de9: DUP2 00000dea: DUP2 00000deb: MSTORE 00000dec: PUSH1 0x20 00000dee: ADD 00000def: DUP4 00000df0: DUP4 00000df1: PUSH1 0x20 00000df3: MUL 00000df4: DUP1 00000df5: DUP3 00000df6: DUP5 00000df7: CALLDATACOPY 00000df8: PUSH0 00000df9: DUP2 00000dfa: DUP5 00000dfb: ADD 00000dfc: MSTORE 00000dfd: PUSH1 0x1f 00000dff: NOT 00000e00: PUSH1 0x1f 00000e02: DUP3 00000e03: ADD 00000e04: AND 00000e05: SWAP1 00000e06: POP 00000e07: DUP1 00000e08: DUP4 00000e09: ADD 00000e0a: SWAP3 00000e0b: POP 00000e0c: POP 00000e0d: POP 00000e0e: POP 00000e0f: POP 00000e10: POP 00000e11: POP 00000e12: DUP2 00000e13: MSTORE 00000e14: PUSH1 0x20 00000e16: ADD 00000e17: DUP9 00000e18: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e2d: AND 00000e2e: DUP2 00000e2f: MSTORE 00000e30: PUSH1 0x20 00000e32: ADD 00000e33: DUP8 00000e34: DUP2 00000e35: MSTORE 00000e36: PUSH1 0x20 00000e38: ADD 00000e39: DUP7 00000e3a: DUP2 00000e3b: MSTORE 00000e3c: PUSH1 0x20 00000e3e: ADD 00000e3f: DUP6 00000e40: DUP2 00000e41: MSTORE 00000e42: PUSH1 0x20 00000e44: ADD 00000e45: DUP3 00000e46: DUP2 00000e47: MSTORE 00000e48: PUSH1 0x20 00000e4a: ADD 00000e4b: DUP5 00000e4c: DUP2 00000e4d: MSTORE 00000e4e: POP 00000e4f: PUSH1 0x12 00000e51: PUSH0 00000e52: DUP3 00000e53: ADD 00000e54: MLOAD 00000e55: DUP2 00000e56: PUSH0 00000e57: ADD 00000e58: SWAP1 00000e59: DUP1 00000e5a: MLOAD 00000e5b: SWAP1 00000e5c: PUSH1 0x20 00000e5e: ADD 00000e5f: SWAP1 00000e60: PUSH2 0x0e6a 00000e63: SWAP3 00000e64: SWAP2 00000e65: SWAP1 00000e66: PUSH2 0x39eb 00000e69: JUMP 00000e6a: JUMPDEST 00000e6b: POP 00000e6c: PUSH1 0x20 00000e6e: DUP3 00000e6f: ADD 00000e70: MLOAD 00000e71: DUP2 00000e72: PUSH1 0x01 00000e74: ADD 00000e75: PUSH0 00000e76: PUSH2 0x0100 00000e79: EXP 00000e7a: DUP2 00000e7b: SLOAD 00000e7c: DUP2 00000e7d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e92: MUL 00000e93: NOT 00000e94: AND 00000e95: SWAP1 00000e96: DUP4 00000e97: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000eac: AND 00000ead: MUL 00000eae: OR 00000eaf: SWAP1 00000eb0: SSTORE 00000eb1: POP 00000eb2: PUSH1 0x40 00000eb4: DUP3 00000eb5: ADD 00000eb6: MLOAD 00000eb7: DUP2 00000eb8: PUSH1 0x02 00000eba: ADD 00000ebb: SSTORE 00000ebc: PUSH1 0x60 00000ebe: DUP3 00000ebf: ADD 00000ec0: MLOAD 00000ec1: DUP2 00000ec2: PUSH1 0x03 00000ec4: ADD 00000ec5: SSTORE 00000ec6: PUSH1 0x80 00000ec8: DUP3 00000ec9: ADD 00000eca: MLOAD 00000ecb: DUP2 00000ecc: PUSH1 0x04 00000ece: ADD 00000ecf: SSTORE 00000ed0: PUSH1 0xa0 00000ed2: DUP3 00000ed3: ADD 00000ed4: MLOAD 00000ed5: DUP2 00000ed6: PUSH1 0x05 00000ed8: ADD 00000ed9: SWAP1 00000eda: DUP1 00000edb: MLOAD 00000edc: SWAP1 00000edd: PUSH1 0x20 00000edf: ADD 00000ee0: SWAP1 00000ee1: PUSH2 0x0eeb 00000ee4: SWAP3 00000ee5: SWAP2 00000ee6: SWAP1 00000ee7: PUSH2 0x39eb 00000eea: JUMP 00000eeb: JUMPDEST 00000eec: POP 00000eed: PUSH1 0xc0 00000eef: DUP3 00000ef0: ADD 00000ef1: MLOAD 00000ef2: DUP2 00000ef3: PUSH1 0x06 00000ef5: ADD 00000ef6: SSTORE 00000ef7: SWAP1 00000ef8: POP 00000ef9: POP 00000efa: POP 00000efb: POP 00000efc: POP 00000efd: POP 00000efe: POP 00000eff: POP 00000f00: POP 00000f01: POP 00000f02: POP 00000f03: JUMP 00000f04: JUMPDEST 00000f05: PUSH1 0x20 00000f07: DUP2 00000f08: DUP2 00000f09: SLOAD 00000f0a: DUP2 00000f0b: LT 00000f0c: PUSH2 0x0f13 00000f0f: JUMPI 00000f10: PUSH0 00000f11: DUP1 00000f12: REVERT 00000f13: JUMPDEST 00000f14: SWAP1 00000f15: PUSH0 00000f16: MSTORE 00000f17: PUSH1 0x20 00000f19: PUSH0 00000f1a: KECCAK256 00000f1b: ADD 00000f1c: PUSH0 00000f1d: SWAP2 00000f1e: POP 00000f1f: SLOAD 00000f20: SWAP1 00000f21: PUSH2 0x0100 00000f24: EXP 00000f25: SWAP1 00000f26: DIV 00000f27: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f3c: AND 00000f3d: DUP2 00000f3e: JUMP 00000f3f: JUMPDEST 00000f40: PUSH2 0x0f47 00000f43: PUSH2 0x3ac0 00000f46: JUMP 00000f47: JUMPDEST 00000f48: PUSH0 00000f49: DUP1 00000f4a: JUMPDEST 00000f4b: PUSH1 0x20 00000f4d: DUP1 00000f4e: SLOAD 00000f4f: SWAP1 00000f50: POP 00000f51: DUP2 00000f52: LT 00000f53: ISZERO 00000f54: PUSH2 0x0fdb 00000f57: JUMPI 00000f58: CALLER 00000f59: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f6e: AND 00000f6f: PUSH1 0x20 00000f71: DUP3 00000f72: DUP2 00000f73: SLOAD 00000f74: DUP2 00000f75: LT 00000f76: PUSH2 0x0f82 00000f79: JUMPI 00000f7a: PUSH2 0x0f81 00000f7d: PUSH2 0x4226 00000f80: JUMP 00000f81: JUMPDEST 00000f82: JUMPDEST 00000f83: SWAP1 00000f84: PUSH0 00000f85: MSTORE 00000f86: PUSH1 0x20 00000f88: PUSH0 00000f89: KECCAK256 00000f8a: ADD 00000f8b: PUSH0 00000f8c: SWAP1 00000f8d: SLOAD 00000f8e: SWAP1 00000f8f: PUSH2 0x0100 00000f92: EXP 00000f93: SWAP1 00000f94: DIV 00000f95: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000faa: AND 00000fab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fc0: AND 00000fc1: SUB 00000fc2: PUSH2 0x0fce 00000fc5: JUMPI 00000fc6: PUSH1 0x01 00000fc8: SWAP2 00000fc9: POP 00000fca: PUSH2 0x0fdb 00000fcd: JUMP 00000fce: JUMPDEST 00000fcf: DUP1 00000fd0: DUP1 00000fd1: PUSH1 0x01 00000fd3: ADD 00000fd4: SWAP2 00000fd5: POP 00000fd6: POP 00000fd7: PUSH2 0x0f4a 00000fda: JUMP 00000fdb: JUMPDEST 00000fdc: POP 00000fdd: DUP1 00000fde: PUSH2 0x101c 00000fe1: JUMPI 00000fe2: PUSH1 0x40 00000fe4: MLOAD 00000fe5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001006: DUP2 00001007: MSTORE 00001008: PUSH1 0x04 0000100a: ADD 0000100b: PUSH2 0x1013 0000100e: SWAP1 0000100f: PUSH2 0x42ad 00001012: JUMP 00001013: JUMPDEST 00001014: PUSH1 0x40 00001016: MLOAD 00001017: DUP1 00001018: SWAP2 00001019: SUB 0000101a: SWAP1 0000101b: REVERT 0000101c: JUMPDEST 0000101d: PUSH1 0x0b 0000101f: PUSH1 0x40 00001021: MLOAD 00001022: DUP1 00001023: PUSH1 0xe0 00001025: ADD 00001026: PUSH1 0x40 00001028: MSTORE 00001029: SWAP1 0000102a: DUP2 0000102b: PUSH0 0000102c: DUP3 0000102d: ADD 0000102e: DUP1 0000102f: SLOAD 00001030: DUP1 00001031: PUSH1 0x20 00001033: MUL 00001034: PUSH1 0x20 00001036: ADD 00001037: PUSH1 0x40 00001039: MLOAD 0000103a: SWAP1 0000103b: DUP2 0000103c: ADD 0000103d: PUSH1 0x40 0000103f: MSTORE 00001040: DUP1 00001041: SWAP3 00001042: SWAP2 00001043: SWAP1 00001044: DUP2 00001045: DUP2 00001046: MSTORE 00001047: PUSH1 0x20 00001049: ADD 0000104a: DUP3 0000104b: DUP1 0000104c: SLOAD 0000104d: DUP1 0000104e: ISZERO 0000104f: PUSH2 0x10aa 00001052: JUMPI 00001053: PUSH1 0x20 00001055: MUL 00001056: DUP3 00001057: ADD 00001058: SWAP2 00001059: SWAP1 0000105a: PUSH0 0000105b: MSTORE 0000105c: PUSH1 0x20 0000105e: PUSH0 0000105f: KECCAK256 00001060: SWAP1 00001061: JUMPDEST 00001062: DUP2 00001063: PUSH0 00001064: SWAP1 00001065: SLOAD 00001066: SWAP1 00001067: PUSH2 0x0100 0000106a: EXP 0000106b: SWAP1 0000106c: DIV 0000106d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001082: AND 00001083: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001098: AND 00001099: DUP2 0000109a: MSTORE 0000109b: PUSH1 0x20 0000109d: ADD 0000109e: SWAP1 0000109f: PUSH1 0x01 000010a1: ADD 000010a2: SWAP1 000010a3: DUP1 000010a4: DUP4 000010a5: GT 000010a6: PUSH2 0x1061 000010a9: JUMPI 000010aa: JUMPDEST 000010ab: POP 000010ac: POP 000010ad: POP 000010ae: POP 000010af: POP 000010b0: DUP2 000010b1: MSTORE 000010b2: PUSH1 0x20 000010b4: ADD 000010b5: PUSH1 0x01 000010b7: DUP3 000010b8: ADD 000010b9: PUSH0 000010ba: SWAP1 000010bb: SLOAD 000010bc: SWAP1 000010bd: PUSH2 0x0100 000010c0: EXP 000010c1: SWAP1 000010c2: DIV 000010c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010d8: AND 000010d9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010ee: AND 000010ef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001104: AND 00001105: DUP2 00001106: MSTORE 00001107: PUSH1 0x20 00001109: ADD 0000110a: PUSH1 0x02 0000110c: DUP3 0000110d: ADD 0000110e: SLOAD 0000110f: DUP2 00001110: MSTORE 00001111: PUSH1 0x20 00001113: ADD 00001114: PUSH1 0x03 00001116: DUP3 00001117: ADD 00001118: SLOAD 00001119: DUP2 0000111a: MSTORE 0000111b: PUSH1 0x20 0000111d: ADD 0000111e: PUSH1 0x04 00001120: DUP3 00001121: ADD 00001122: SLOAD 00001123: DUP2 00001124: MSTORE 00001125: PUSH1 0x20 00001127: ADD 00001128: PUSH1 0x05 0000112a: DUP3 0000112b: ADD 0000112c: DUP1 0000112d: SLOAD 0000112e: DUP1 0000112f: PUSH1 0x20 00001131: MUL 00001132: PUSH1 0x20 00001134: ADD 00001135: PUSH1 0x40 00001137: MLOAD 00001138: SWAP1 00001139: DUP2 0000113a: ADD 0000113b: PUSH1 0x40 0000113d: MSTORE 0000113e: DUP1 0000113f: SWAP3 00001140: SWAP2 00001141: SWAP1 00001142: DUP2 00001143: DUP2 00001144: MSTORE 00001145: PUSH1 0x20 00001147: ADD 00001148: DUP3 00001149: DUP1 0000114a: SLOAD 0000114b: DUP1 0000114c: ISZERO 0000114d: PUSH2 0x11a8 00001150: JUMPI 00001151: PUSH1 0x20 00001153: MUL 00001154: DUP3 00001155: ADD 00001156: SWAP2 00001157: SWAP1 00001158: PUSH0 00001159: MSTORE 0000115a: PUSH1 0x20 0000115c: PUSH0 0000115d: KECCAK256 0000115e: SWAP1 0000115f: JUMPDEST 00001160: DUP2 00001161: PUSH0 00001162: SWAP1 00001163: SLOAD 00001164: SWAP1 00001165: PUSH2 0x0100 00001168: EXP 00001169: SWAP1 0000116a: DIV 0000116b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001180: AND 00001181: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001196: AND 00001197: DUP2 00001198: MSTORE 00001199: PUSH1 0x20 0000119b: ADD 0000119c: SWAP1 0000119d: PUSH1 0x01 0000119f: ADD 000011a0: SWAP1 000011a1: DUP1 000011a2: DUP4 000011a3: GT 000011a4: PUSH2 0x115f 000011a7: JUMPI 000011a8: JUMPDEST 000011a9: POP 000011aa: POP 000011ab: POP 000011ac: POP 000011ad: POP 000011ae: DUP2 000011af: MSTORE 000011b0: PUSH1 0x20 000011b2: ADD 000011b3: PUSH1 0x06 000011b5: DUP3 000011b6: ADD 000011b7: SLOAD 000011b8: DUP2 000011b9: MSTORE 000011ba: POP 000011bb: POP 000011bc: SWAP2 000011bd: POP 000011be: POP 000011bf: SWAP1 000011c0: JUMP 000011c1: JUMPDEST 000011c2: CALLER 000011c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011d8: AND 000011d9: PUSH1 0x21 000011db: PUSH0 000011dc: SWAP1 000011dd: SLOAD 000011de: SWAP1 000011df: PUSH2 0x0100 000011e2: EXP 000011e3: SWAP1 000011e4: DIV 000011e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000011fa: AND 000011fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001210: AND 00001211: EQ 00001212: PUSH2 0x1250 00001215: JUMPI 00001216: PUSH1 0x40 00001218: MLOAD 00001219: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000123a: DUP2 0000123b: MSTORE 0000123c: PUSH1 0x04 0000123e: ADD 0000123f: PUSH2 0x1247 00001242: SWAP1 00001243: PUSH2 0x4381 00001246: JUMP 00001247: JUMPDEST 00001248: PUSH1 0x40 0000124a: MLOAD 0000124b: DUP1 0000124c: SWAP2 0000124d: SUB 0000124e: SWAP1 0000124f: REVERT 00001250: JUMPDEST 00001251: PUSH0 00001252: JUMPDEST 00001253: PUSH1 0x20 00001255: DUP1 00001256: SLOAD 00001257: SWAP1 00001258: POP 00001259: DUP2 0000125a: LT 0000125b: ISZERO 0000125c: PUSH2 0x13c9 0000125f: JUMPI 00001260: DUP2 00001261: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001276: AND 00001277: PUSH1 0x20 00001279: DUP3 0000127a: DUP2 0000127b: SLOAD 0000127c: DUP2 0000127d: LT 0000127e: PUSH2 0x128a 00001281: JUMPI 00001282: PUSH2 0x1289 00001285: PUSH2 0x4226 00001288: JUMP 00001289: JUMPDEST 0000128a: JUMPDEST 0000128b: SWAP1 0000128c: PUSH0 0000128d: MSTORE 0000128e: PUSH1 0x20 00001290: PUSH0 00001291: KECCAK256 00001292: ADD 00001293: PUSH0 00001294: SWAP1 00001295: SLOAD 00001296: SWAP1 00001297: PUSH2 0x0100 0000129a: EXP 0000129b: SWAP1 0000129c: DIV 0000129d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012b2: AND 000012b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012c8: AND 000012c9: SUB 000012ca: PUSH2 0x13bc 000012cd: JUMPI 000012ce: PUSH1 0x20 000012d0: PUSH1 0x01 000012d2: PUSH1 0x20 000012d4: DUP1 000012d5: SLOAD 000012d6: SWAP1 000012d7: POP 000012d8: PUSH2 0x12e1 000012db: SWAP2 000012dc: SWAP1 000012dd: PUSH2 0x440b 000012e0: JUMP 000012e1: JUMPDEST 000012e2: DUP2 000012e3: SLOAD 000012e4: DUP2 000012e5: LT 000012e6: PUSH2 0x12f2 000012e9: JUMPI 000012ea: PUSH2 0x12f1 000012ed: PUSH2 0x4226 000012f0: JUMP 000012f1: JUMPDEST 000012f2: JUMPDEST 000012f3: SWAP1 000012f4: PUSH0 000012f5: MSTORE 000012f6: PUSH1 0x20 000012f8: PUSH0 000012f9: KECCAK256 000012fa: ADD 000012fb: PUSH0 000012fc: SWAP1 000012fd: SLOAD 000012fe: SWAP1 000012ff: PUSH2 0x0100 00001302: EXP 00001303: SWAP1 00001304: DIV 00001305: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000131a: AND 0000131b: PUSH1 0x20 0000131d: DUP3 0000131e: DUP2 0000131f: SLOAD 00001320: DUP2 00001321: LT 00001322: PUSH2 0x132e 00001325: JUMPI 00001326: PUSH2 0x132d 00001329: PUSH2 0x4226 0000132c: JUMP 0000132d: JUMPDEST 0000132e: JUMPDEST 0000132f: SWAP1 00001330: PUSH0 00001331: MSTORE 00001332: PUSH1 0x20 00001334: PUSH0 00001335: KECCAK256 00001336: ADD 00001337: PUSH0 00001338: PUSH2 0x0100 0000133b: EXP 0000133c: DUP2 0000133d: SLOAD 0000133e: DUP2 0000133f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001354: MUL 00001355: NOT 00001356: AND 00001357: SWAP1 00001358: DUP4 00001359: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000136e: AND 0000136f: MUL 00001370: OR 00001371: SWAP1 00001372: SSTORE 00001373: POP 00001374: PUSH1 0x20 00001376: DUP1 00001377: SLOAD 00001378: DUP1 00001379: PUSH2 0x1385 0000137c: JUMPI 0000137d: PUSH2 0x1384 00001380: PUSH2 0x443e 00001383: JUMP 00001384: JUMPDEST 00001385: JUMPDEST 00001386: PUSH1 0x01 00001388: SWAP1 00001389: SUB 0000138a: DUP2 0000138b: DUP2 0000138c: SWAP1 0000138d: PUSH0 0000138e: MSTORE 0000138f: PUSH1 0x20 00001391: PUSH0 00001392: KECCAK256 00001393: ADD 00001394: PUSH0 00001395: PUSH2 0x0100 00001398: EXP 00001399: DUP2 0000139a: SLOAD 0000139b: SWAP1 0000139c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013b1: MUL 000013b2: NOT 000013b3: AND 000013b4: SWAP1 000013b5: SSTORE 000013b6: SWAP1 000013b7: SSTORE 000013b8: PUSH2 0x13c9 000013bb: JUMP 000013bc: JUMPDEST 000013bd: DUP1 000013be: DUP1 000013bf: PUSH1 0x01 000013c1: ADD 000013c2: SWAP2 000013c3: POP 000013c4: POP 000013c5: PUSH2 0x1252 000013c8: JUMP 000013c9: JUMPDEST 000013ca: POP 000013cb: POP 000013cc: JUMP 000013cd: JUMPDEST 000013ce: PUSH2 0x13d5 000013d1: PUSH2 0x3b0e 000013d4: JUMP 000013d5: JUMPDEST 000013d6: PUSH0 000013d7: DUP1 000013d8: JUMPDEST 000013d9: PUSH1 0x20 000013db: DUP1 000013dc: SLOAD 000013dd: SWAP1 000013de: POP 000013df: DUP2 000013e0: LT 000013e1: ISZERO 000013e2: PUSH2 0x1469 000013e5: JUMPI 000013e6: CALLER 000013e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013fc: AND 000013fd: PUSH1 0x20 000013ff: DUP3 00001400: DUP2 00001401: SLOAD 00001402: DUP2 00001403: LT 00001404: PUSH2 0x1410 00001407: JUMPI 00001408: PUSH2 0x140f 0000140b: PUSH2 0x4226 0000140e: JUMP 0000140f: JUMPDEST 00001410: JUMPDEST 00001411: SWAP1 00001412: PUSH0 00001413: MSTORE 00001414: PUSH1 0x20 00001416: PUSH0 00001417: KECCAK256 00001418: ADD 00001419: PUSH0 0000141a: SWAP1 0000141b: SLOAD 0000141c: SWAP1 0000141d: PUSH2 0x0100 00001420: EXP 00001421: SWAP1 00001422: DIV 00001423: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001438: AND 00001439: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000144e: AND 0000144f: SUB 00001450: PUSH2 0x145c 00001453: JUMPI 00001454: PUSH1 0x01 00001456: SWAP2 00001457: POP 00001458: PUSH2 0x1469 0000145b: JUMP 0000145c: JUMPDEST 0000145d: DUP1 0000145e: DUP1 0000145f: PUSH1 0x01 00001461: ADD 00001462: SWAP2 00001463: POP 00001464: POP 00001465: PUSH2 0x13d8 00001468: JUMP 00001469: JUMPDEST 0000146a: POP 0000146b: DUP1 0000146c: PUSH2 0x14aa 0000146f: JUMPI 00001470: PUSH1 0x40 00001472: MLOAD 00001473: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001494: DUP2 00001495: MSTORE 00001496: PUSH1 0x04 00001498: ADD 00001499: PUSH2 0x14a1 0000149c: SWAP1 0000149d: PUSH2 0x42ad 000014a0: JUMP 000014a1: JUMPDEST 000014a2: PUSH1 0x40 000014a4: MLOAD 000014a5: DUP1 000014a6: SWAP2 000014a7: SUB 000014a8: SWAP1 000014a9: REVERT 000014aa: JUMPDEST 000014ab: PUSH1 0x19 000014ad: PUSH1 0x40 000014af: MLOAD 000014b0: DUP1 000014b1: PUSH1 0xe0 000014b3: ADD 000014b4: PUSH1 0x40 000014b6: MSTORE 000014b7: SWAP1 000014b8: DUP2 000014b9: PUSH0 000014ba: DUP3 000014bb: ADD 000014bc: DUP1 000014bd: SLOAD 000014be: DUP1 000014bf: PUSH1 0x20 000014c1: MUL 000014c2: PUSH1 0x20 000014c4: ADD 000014c5: PUSH1 0x40 000014c7: MLOAD 000014c8: SWAP1 000014c9: DUP2 000014ca: ADD 000014cb: PUSH1 0x40 000014cd: MSTORE 000014ce: DUP1 000014cf: SWAP3 000014d0: SWAP2 000014d1: SWAP1 000014d2: DUP2 000014d3: DUP2 000014d4: MSTORE 000014d5: PUSH1 0x20 000014d7: ADD 000014d8: DUP3 000014d9: DUP1 000014da: SLOAD 000014db: DUP1 000014dc: ISZERO 000014dd: PUSH2 0x1538 000014e0: JUMPI 000014e1: PUSH1 0x20 000014e3: MUL 000014e4: DUP3 000014e5: ADD 000014e6: SWAP2 000014e7: SWAP1 000014e8: PUSH0 000014e9: MSTORE 000014ea: PUSH1 0x20 000014ec: PUSH0 000014ed: KECCAK256 000014ee: SWAP1 000014ef: JUMPDEST 000014f0: DUP2 000014f1: PUSH0 000014f2: SWAP1 000014f3: SLOAD 000014f4: SWAP1 000014f5: PUSH2 0x0100 000014f8: EXP 000014f9: SWAP1 000014fa: DIV 000014fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001510: AND 00001511: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001526: AND 00001527: DUP2 00001528: MSTORE 00001529: PUSH1 0x20 0000152b: ADD 0000152c: SWAP1 0000152d: PUSH1 0x01 0000152f: ADD 00001530: SWAP1 00001531: DUP1 00001532: DUP4 00001533: GT 00001534: PUSH2 0x14ef 00001537: JUMPI 00001538: JUMPDEST 00001539: POP 0000153a: POP 0000153b: POP 0000153c: POP 0000153d: POP 0000153e: DUP2 0000153f: MSTORE 00001540: PUSH1 0x20 00001542: ADD 00001543: PUSH1 0x01 00001545: DUP3 00001546: ADD 00001547: PUSH0 00001548: SWAP1 00001549: SLOAD 0000154a: SWAP1 0000154b: PUSH2 0x0100 0000154e: EXP 0000154f: SWAP1 00001550: DIV 00001551: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001566: AND 00001567: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000157c: AND 0000157d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001592: AND 00001593: DUP2 00001594: MSTORE 00001595: PUSH1 0x20 00001597: ADD 00001598: PUSH1 0x02 0000159a: DUP3 0000159b: ADD 0000159c: SLOAD 0000159d: DUP2 0000159e: MSTORE 0000159f: PUSH1 0x20 000015a1: ADD 000015a2: PUSH1 0x03 000015a4: DUP3 000015a5: ADD 000015a6: SLOAD 000015a7: DUP2 000015a8: MSTORE 000015a9: PUSH1 0x20 000015ab: ADD 000015ac: PUSH1 0x04 000015ae: DUP3 000015af: ADD 000015b0: SLOAD 000015b1: DUP2 000015b2: MSTORE 000015b3: PUSH1 0x20 000015b5: ADD 000015b6: PUSH1 0x05 000015b8: DUP3 000015b9: ADD 000015ba: DUP1 000015bb: SLOAD 000015bc: DUP1 000015bd: PUSH1 0x20 000015bf: MUL 000015c0: PUSH1 0x20 000015c2: ADD 000015c3: PUSH1 0x40 000015c5: MLOAD 000015c6: SWAP1 000015c7: DUP2 000015c8: ADD 000015c9: PUSH1 0x40 000015cb: MSTORE 000015cc: DUP1 000015cd: SWAP3 000015ce: SWAP2 000015cf: SWAP1 000015d0: DUP2 000015d1: DUP2 000015d2: MSTORE 000015d3: PUSH1 0x20 000015d5: ADD 000015d6: DUP3 000015d7: DUP1 000015d8: SLOAD 000015d9: DUP1 000015da: ISZERO 000015db: PUSH2 0x1636 000015de: JUMPI 000015df: PUSH1 0x20 000015e1: MUL 000015e2: DUP3 000015e3: ADD 000015e4: SWAP2 000015e5: SWAP1 000015e6: PUSH0 000015e7: MSTORE 000015e8: PUSH1 0x20 000015ea: PUSH0 000015eb: KECCAK256 000015ec: SWAP1 000015ed: JUMPDEST 000015ee: DUP2 000015ef: PUSH0 000015f0: SWAP1 000015f1: SLOAD 000015f2: SWAP1 000015f3: PUSH2 0x0100 000015f6: EXP 000015f7: SWAP1 000015f8: DIV 000015f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000160e: AND 0000160f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001624: AND 00001625: DUP2 00001626: MSTORE 00001627: PUSH1 0x20 00001629: ADD 0000162a: SWAP1 0000162b: PUSH1 0x01 0000162d: ADD 0000162e: SWAP1 0000162f: DUP1 00001630: DUP4 00001631: GT 00001632: PUSH2 0x15ed 00001635: JUMPI 00001636: JUMPDEST 00001637: POP 00001638: POP 00001639: POP 0000163a: POP 0000163b: POP 0000163c: DUP2 0000163d: MSTORE 0000163e: PUSH1 0x20 00001640: ADD 00001641: PUSH1 0x06 00001643: DUP3 00001644: ADD 00001645: SLOAD 00001646: DUP2 00001647: MSTORE 00001648: POP 00001649: POP 0000164a: SWAP2 0000164b: POP 0000164c: POP 0000164d: SWAP1 0000164e: JUMP 0000164f: JUMPDEST 00001650: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45 00001671: DUP2 00001672: JUMP 00001673: JUMPDEST 00001674: PUSH0 00001675: DUP1 00001676: JUMPDEST 00001677: PUSH1 0x20 00001679: DUP1 0000167a: SLOAD 0000167b: SWAP1 0000167c: POP 0000167d: DUP2 0000167e: LT 0000167f: ISZERO 00001680: PUSH2 0x1707 00001683: JUMPI 00001684: CALLER 00001685: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000169a: AND 0000169b: PUSH1 0x20 0000169d: DUP3 0000169e: DUP2 0000169f: SLOAD 000016a0: DUP2 000016a1: LT 000016a2: PUSH2 0x16ae 000016a5: JUMPI 000016a6: PUSH2 0x16ad 000016a9: PUSH2 0x4226 000016ac: JUMP 000016ad: JUMPDEST 000016ae: JUMPDEST 000016af: SWAP1 000016b0: PUSH0 000016b1: MSTORE 000016b2: PUSH1 0x20 000016b4: PUSH0 000016b5: KECCAK256 000016b6: ADD 000016b7: PUSH0 000016b8: SWAP1 000016b9: SLOAD 000016ba: SWAP1 000016bb: PUSH2 0x0100 000016be: EXP 000016bf: SWAP1 000016c0: DIV 000016c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016d6: AND 000016d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016ec: AND 000016ed: SUB 000016ee: PUSH2 0x16fa 000016f1: JUMPI 000016f2: PUSH1 0x01 000016f4: SWAP2 000016f5: POP 000016f6: PUSH2 0x1707 000016f9: JUMP 000016fa: JUMPDEST 000016fb: DUP1 000016fc: DUP1 000016fd: PUSH1 0x01 000016ff: ADD 00001700: SWAP2 00001701: POP 00001702: POP 00001703: PUSH2 0x1676 00001706: JUMP 00001707: JUMPDEST 00001708: POP 00001709: DUP1 0000170a: PUSH2 0x1748 0000170d: JUMPI 0000170e: PUSH1 0x40 00001710: MLOAD 00001711: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001732: DUP2 00001733: MSTORE 00001734: PUSH1 0x04 00001736: ADD 00001737: PUSH2 0x173f 0000173a: SWAP1 0000173b: PUSH2 0x42ad 0000173e: JUMP 0000173f: JUMPDEST 00001740: PUSH1 0x40 00001742: MLOAD 00001743: DUP1 00001744: SWAP2 00001745: SUB 00001746: SWAP1 00001747: REVERT 00001748: JUMPDEST 00001749: PUSH0 0000174a: JUMPDEST 0000174b: PUSH1 0x0b 0000174d: PUSH0 0000174e: ADD 0000174f: DUP1 00001750: SLOAD 00001751: SWAP1 00001752: POP 00001753: DUP2 00001754: LT 00001755: ISZERO 00001756: PUSH2 0x1857 00001759: JUMPI 0000175a: PUSH1 0x03 0000175c: PUSH0 0000175d: SWAP1 0000175e: SLOAD 0000175f: SWAP1 00001760: PUSH2 0x0100 00001763: EXP 00001764: SWAP1 00001765: DIV 00001766: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000177b: AND 0000177c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001791: AND 00001792: PUSH4 0x8803dbee 00001797: PUSH1 0x0b 00001799: PUSH1 0x02 0000179b: ADD 0000179c: SLOAD 0000179d: PUSH1 0x0b 0000179f: PUSH1 0x03 000017a1: ADD 000017a2: SLOAD 000017a3: PUSH1 0x0b 000017a5: PUSH1 0x05 000017a7: ADD 000017a8: PUSH1 0x0b 000017aa: PUSH0 000017ab: ADD 000017ac: DUP7 000017ad: DUP2 000017ae: SLOAD 000017af: DUP2 000017b0: LT 000017b1: PUSH2 0x17bd 000017b4: JUMPI 000017b5: PUSH2 0x17bc 000017b8: PUSH2 0x4226 000017bb: JUMP 000017bc: JUMPDEST 000017bd: JUMPDEST 000017be: SWAP1 000017bf: PUSH0 000017c0: MSTORE 000017c1: PUSH1 0x20 000017c3: PUSH0 000017c4: KECCAK256 000017c5: ADD 000017c6: PUSH0 000017c7: SWAP1 000017c8: SLOAD 000017c9: SWAP1 000017ca: PUSH2 0x0100 000017cd: EXP 000017ce: SWAP1 000017cf: DIV 000017d0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017e5: AND 000017e6: TIMESTAMP 000017e7: PUSH1 0x40 000017e9: MLOAD 000017ea: DUP7 000017eb: PUSH4 0xffffffff 000017f0: AND 000017f1: PUSH1 0xe0 000017f3: SHL 000017f4: DUP2 000017f5: MSTORE 000017f6: PUSH1 0x04 000017f8: ADD 000017f9: PUSH2 0x1806 000017fc: SWAP6 000017fd: SWAP5 000017fe: SWAP4 000017ff: SWAP3 00001800: SWAP2 00001801: SWAP1 00001802: PUSH2 0x456a 00001805: JUMP 00001806: JUMPDEST 00001807: PUSH0 00001808: PUSH1 0x40 0000180a: MLOAD 0000180b: DUP1 0000180c: DUP4 0000180d: SUB 0000180e: DUP2 0000180f: PUSH0 00001810: DUP8 00001811: GAS 00001812: CALL 00001813: SWAP3 00001814: POP 00001815: POP 00001816: POP 00001817: DUP1 00001818: ISZERO 00001819: PUSH2 0x1844 0000181c: JUMPI 0000181d: POP 0000181e: PUSH1 0x40 00001820: MLOAD 00001821: RETURNDATASIZE 00001822: PUSH0 00001823: DUP3 00001824: RETURNDATACOPY 00001825: RETURNDATASIZE 00001826: PUSH1 0x1f 00001828: NOT 00001829: PUSH1 0x1f 0000182b: DUP3 0000182c: ADD 0000182d: AND 0000182e: DUP3 0000182f: ADD 00001830: DUP1 00001831: PUSH1 0x40 00001833: MSTORE 00001834: POP 00001835: DUP2 00001836: ADD 00001837: SWAP1 00001838: PUSH2 0x1841 0000183b: SWAP2 0000183c: SWAP1 0000183d: PUSH2 0x46dd 00001840: JUMP 00001841: JUMPDEST 00001842: PUSH1 0x01 00001844: JUMPDEST 00001845: ISZERO 00001846: PUSH2 0x1857 00001849: JUMPI 0000184a: POP 0000184b: DUP1 0000184c: DUP1 0000184d: PUSH1 0x01 0000184f: ADD 00001850: SWAP2 00001851: POP 00001852: POP 00001853: PUSH2 0x174a 00001856: JUMP 00001857: JUMPDEST 00001858: PUSH1 0x0b 0000185a: PUSH1 0x06 0000185c: ADD 0000185d: SLOAD 0000185e: DUP2 0000185f: LT 00001860: ISZERO 00001861: PUSH2 0x189f 00001864: JUMPI 00001865: PUSH1 0x40 00001867: MLOAD 00001868: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001889: DUP2 0000188a: MSTORE 0000188b: PUSH1 0x04 0000188d: ADD 0000188e: PUSH2 0x1896 00001891: SWAP1 00001892: PUSH2 0x476e 00001895: JUMP 00001896: JUMPDEST 00001897: PUSH1 0x40 00001899: MLOAD 0000189a: DUP1 0000189b: SWAP2 0000189c: SUB 0000189d: SWAP1 0000189e: REVERT 0000189f: JUMPDEST 000018a0: PUSH0 000018a1: PUSH1 0x0b 000018a3: PUSH1 0x04 000018a5: ADD 000018a6: SLOAD 000018a7: GT 000018a8: ISZERO 000018a9: PUSH2 0x1966 000018ac: JUMPI 000018ad: COINBASE 000018ae: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018c3: AND 000018c4: PUSH1 0x0b 000018c6: PUSH1 0x04 000018c8: ADD 000018c9: SLOAD 000018ca: PUSH0 000018cb: PUSH8 0xffffffffffffffff 000018d4: DUP2 000018d5: GT 000018d6: ISZERO 000018d7: PUSH2 0x18e3 000018da: JUMPI 000018db: PUSH2 0x18e2 000018de: PUSH2 0x42cb 000018e1: JUMP 000018e2: JUMPDEST 000018e3: JUMPDEST 000018e4: PUSH1 0x40 000018e6: MLOAD 000018e7: SWAP1 000018e8: DUP1 000018e9: DUP3 000018ea: MSTORE 000018eb: DUP1 000018ec: PUSH1 0x1f 000018ee: ADD 000018ef: PUSH1 0x1f 000018f1: NOT 000018f2: AND 000018f3: PUSH1 0x20 000018f5: ADD 000018f6: DUP3 000018f7: ADD 000018f8: PUSH1 0x40 000018fa: MSTORE 000018fb: DUP1 000018fc: ISZERO 000018fd: PUSH2 0x1915 00001900: JUMPI 00001901: DUP2 00001902: PUSH1 0x20 00001904: ADD 00001905: PUSH1 0x01 00001907: DUP3 00001908: MUL 00001909: DUP1 0000190a: CALLDATASIZE 0000190b: DUP4 0000190c: CALLDATACOPY 0000190d: DUP1 0000190e: DUP3 0000190f: ADD 00001910: SWAP2 00001911: POP 00001912: POP 00001913: SWAP1 00001914: POP 00001915: JUMPDEST 00001916: POP 00001917: PUSH1 0x40 00001919: MLOAD 0000191a: PUSH2 0x1923 0000191d: SWAP2 0000191e: SWAP1 0000191f: PUSH2 0x47de 00001922: JUMP 00001923: JUMPDEST 00001924: PUSH0 00001925: PUSH1 0x40 00001927: MLOAD 00001928: DUP1 00001929: DUP4 0000192a: SUB 0000192b: DUP2 0000192c: DUP6 0000192d: DUP8 0000192e: GAS 0000192f: CALL 00001930: SWAP3 00001931: POP 00001932: POP 00001933: POP 00001934: RETURNDATASIZE 00001935: DUP1 00001936: PUSH0 00001937: DUP2 00001938: EQ 00001939: PUSH2 0x195d 0000193c: JUMPI 0000193d: PUSH1 0x40 0000193f: MLOAD 00001940: SWAP2 00001941: POP 00001942: PUSH1 0x1f 00001944: NOT 00001945: PUSH1 0x3f 00001947: RETURNDATASIZE 00001948: ADD 00001949: AND 0000194a: DUP3 0000194b: ADD 0000194c: PUSH1 0x40 0000194e: MSTORE 0000194f: RETURNDATASIZE 00001950: DUP3 00001951: MSTORE 00001952: RETURNDATASIZE 00001953: PUSH0 00001954: PUSH1 0x20 00001956: DUP5 00001957: ADD 00001958: RETURNDATACOPY 00001959: PUSH2 0x1962 0000195c: JUMP 0000195d: JUMPDEST 0000195e: PUSH1 0x60 00001960: SWAP2 00001961: POP 00001962: JUMPDEST 00001963: POP 00001964: POP 00001965: POP 00001966: JUMPDEST 00001967: PUSH1 0x60 00001969: PUSH1 0x40 0000196b: MLOAD 0000196c: DUP1 0000196d: PUSH1 0xe0 0000196f: ADD 00001970: PUSH1 0x40 00001972: MSTORE 00001973: DUP1 00001974: DUP3 00001975: DUP2 00001976: MSTORE 00001977: PUSH1 0x20 00001979: ADD 0000197a: PUSH0 0000197b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001990: AND 00001991: DUP2 00001992: MSTORE 00001993: PUSH1 0x20 00001995: ADD 00001996: PUSH0 00001997: DUP2 00001998: MSTORE 00001999: PUSH1 0x20 0000199b: ADD 0000199c: PUSH0 0000199d: DUP2 0000199e: MSTORE 0000199f: PUSH1 0x20 000019a1: ADD 000019a2: PUSH0 000019a3: DUP2 000019a4: MSTORE 000019a5: PUSH1 0x20 000019a7: ADD 000019a8: DUP3 000019a9: DUP2 000019aa: MSTORE 000019ab: PUSH1 0x20 000019ad: ADD 000019ae: PUSH1 0x01 000019b0: DUP2 000019b1: MSTORE 000019b2: POP 000019b3: PUSH1 0x0b 000019b5: PUSH0 000019b6: DUP3 000019b7: ADD 000019b8: MLOAD 000019b9: DUP2 000019ba: PUSH0 000019bb: ADD 000019bc: SWAP1 000019bd: DUP1 000019be: MLOAD 000019bf: SWAP1 000019c0: PUSH1 0x20 000019c2: ADD 000019c3: SWAP1 000019c4: PUSH2 0x19ce 000019c7: SWAP3 000019c8: SWAP2 000019c9: SWAP1 000019ca: PUSH2 0x39eb 000019cd: JUMP 000019ce: JUMPDEST 000019cf: POP 000019d0: PUSH1 0x20 000019d2: DUP3 000019d3: ADD 000019d4: MLOAD 000019d5: DUP2 000019d6: PUSH1 0x01 000019d8: ADD 000019d9: PUSH0 000019da: PUSH2 0x0100 000019dd: EXP 000019de: DUP2 000019df: SLOAD 000019e0: DUP2 000019e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000019f6: MUL 000019f7: NOT 000019f8: AND 000019f9: SWAP1 000019fa: DUP4 000019fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a10: AND 00001a11: MUL 00001a12: OR 00001a13: SWAP1 00001a14: SSTORE 00001a15: POP 00001a16: PUSH1 0x40 00001a18: DUP3 00001a19: ADD 00001a1a: MLOAD 00001a1b: DUP2 00001a1c: PUSH1 0x02 00001a1e: ADD 00001a1f: SSTORE 00001a20: PUSH1 0x60 00001a22: DUP3 00001a23: ADD 00001a24: MLOAD 00001a25: DUP2 00001a26: PUSH1 0x03 00001a28: ADD 00001a29: SSTORE 00001a2a: PUSH1 0x80 00001a2c: DUP3 00001a2d: ADD 00001a2e: MLOAD 00001a2f: DUP2 00001a30: PUSH1 0x04 00001a32: ADD 00001a33: SSTORE 00001a34: PUSH1 0xa0 00001a36: DUP3 00001a37: ADD 00001a38: MLOAD 00001a39: DUP2 00001a3a: PUSH1 0x05 00001a3c: ADD 00001a3d: SWAP1 00001a3e: DUP1 00001a3f: MLOAD 00001a40: SWAP1 00001a41: PUSH1 0x20 00001a43: ADD 00001a44: SWAP1 00001a45: PUSH2 0x1a4f 00001a48: SWAP3 00001a49: SWAP2 00001a4a: SWAP1 00001a4b: PUSH2 0x39eb 00001a4e: JUMP 00001a4f: JUMPDEST 00001a50: POP 00001a51: PUSH1 0xc0 00001a53: DUP3 00001a54: ADD 00001a55: MLOAD 00001a56: DUP2 00001a57: PUSH1 0x06 00001a59: ADD 00001a5a: SSTORE 00001a5b: SWAP1 00001a5c: POP 00001a5d: POP 00001a5e: POP 00001a5f: POP 00001a60: POP 00001a61: JUMP 00001a62: JUMPDEST 00001a63: PUSH0 00001a64: DUP1 00001a65: JUMPDEST 00001a66: PUSH1 0x20 00001a68: DUP1 00001a69: SLOAD 00001a6a: SWAP1 00001a6b: POP 00001a6c: DUP2 00001a6d: LT 00001a6e: ISZERO 00001a6f: PUSH2 0x1af6 00001a72: JUMPI 00001a73: CALLER 00001a74: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a89: AND 00001a8a: PUSH1 0x20 00001a8c: DUP3 00001a8d: DUP2 00001a8e: SLOAD 00001a8f: DUP2 00001a90: LT 00001a91: PUSH2 0x1a9d 00001a94: JUMPI 00001a95: PUSH2 0x1a9c 00001a98: PUSH2 0x4226 00001a9b: JUMP 00001a9c: JUMPDEST 00001a9d: JUMPDEST 00001a9e: SWAP1 00001a9f: PUSH0 00001aa0: MSTORE 00001aa1: PUSH1 0x20 00001aa3: PUSH0 00001aa4: KECCAK256 00001aa5: ADD 00001aa6: PUSH0 00001aa7: SWAP1 00001aa8: SLOAD 00001aa9: SWAP1 00001aaa: PUSH2 0x0100 00001aad: EXP 00001aae: SWAP1 00001aaf: DIV 00001ab0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ac5: AND 00001ac6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001adb: AND 00001adc: SUB 00001add: PUSH2 0x1ae9 00001ae0: JUMPI 00001ae1: PUSH1 0x01 00001ae3: SWAP2 00001ae4: POP 00001ae5: PUSH2 0x1af6 00001ae8: JUMP 00001ae9: JUMPDEST 00001aea: DUP1 00001aeb: DUP1 00001aec: PUSH1 0x01 00001aee: ADD 00001aef: SWAP2 00001af0: POP 00001af1: POP 00001af2: PUSH2 0x1a65 00001af5: JUMP 00001af6: JUMPDEST 00001af7: POP 00001af8: DUP1 00001af9: PUSH2 0x1b37 00001afc: JUMPI 00001afd: PUSH1 0x40 00001aff: MLOAD 00001b00: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001b21: DUP2 00001b22: MSTORE 00001b23: PUSH1 0x04 00001b25: ADD 00001b26: PUSH2 0x1b2e 00001b29: SWAP1 00001b2a: PUSH2 0x42ad 00001b2d: JUMP 00001b2e: JUMPDEST 00001b2f: PUSH1 0x40 00001b31: MLOAD 00001b32: DUP1 00001b33: SWAP2 00001b34: SUB 00001b35: SWAP1 00001b36: REVERT 00001b37: JUMPDEST 00001b38: PUSH0 00001b39: DUP1 00001b3a: JUMPDEST 00001b3b: PUSH1 0x22 00001b3d: DUP1 00001b3e: SLOAD 00001b3f: SWAP1 00001b40: POP 00001b41: DUP2 00001b42: PUSH2 0xffff 00001b45: AND 00001b46: LT 00001b47: ISZERO 00001b48: PUSH2 0x1e0e 00001b4b: JUMPI 00001b4c: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45 00001b6d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b82: AND 00001b83: PUSH4 0x04e45aaf 00001b88: PUSH1 0x40 00001b8a: MLOAD 00001b8b: DUP1 00001b8c: PUSH1 0xe0 00001b8e: ADD 00001b8f: PUSH1 0x40 00001b91: MSTORE 00001b92: DUP1 00001b93: PUSH0 00001b94: DUP1 00001b95: SLOAD 00001b96: SWAP1 00001b97: PUSH2 0x0100 00001b9a: EXP 00001b9b: SWAP1 00001b9c: DIV 00001b9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bb2: AND 00001bb3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bc8: AND 00001bc9: DUP2 00001bca: MSTORE 00001bcb: PUSH1 0x20 00001bcd: ADD 00001bce: PUSH1 0x12 00001bd0: PUSH1 0x01 00001bd2: ADD 00001bd3: PUSH0 00001bd4: SWAP1 00001bd5: SLOAD 00001bd6: SWAP1 00001bd7: PUSH2 0x0100 00001bda: EXP 00001bdb: SWAP1 00001bdc: DIV 00001bdd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001bf2: AND 00001bf3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c08: AND 00001c09: DUP2 00001c0a: MSTORE 00001c0b: PUSH1 0x20 00001c0d: ADD 00001c0e: PUSH1 0x22 00001c10: DUP6 00001c11: PUSH2 0xffff 00001c14: AND 00001c15: DUP2 00001c16: SLOAD 00001c17: DUP2 00001c18: LT 00001c19: PUSH2 0x1c25 00001c1c: JUMPI 00001c1d: PUSH2 0x1c24 00001c20: PUSH2 0x4226 00001c23: JUMP 00001c24: JUMPDEST 00001c25: JUMPDEST 00001c26: SWAP1 00001c27: PUSH0 00001c28: MSTORE 00001c29: PUSH1 0x20 00001c2b: PUSH0 00001c2c: KECCAK256 00001c2d: SWAP1 00001c2e: PUSH1 0x10 00001c30: SWAP2 00001c31: DUP3 00001c32: DUP3 00001c33: DIV 00001c34: ADD 00001c35: SWAP2 00001c36: SWAP1 00001c37: MOD 00001c38: PUSH1 0x02 00001c3a: MUL 00001c3b: SWAP1 00001c3c: SLOAD 00001c3d: SWAP1 00001c3e: PUSH2 0x0100 00001c41: EXP 00001c42: SWAP1 00001c43: DIV 00001c44: PUSH2 0xffff 00001c47: AND 00001c48: PUSH2 0xffff 00001c4b: AND 00001c4c: PUSH3 0xffffff 00001c50: AND 00001c51: DUP2 00001c52: MSTORE 00001c53: PUSH1 0x20 00001c55: ADD 00001c56: PUSH1 0x12 00001c58: PUSH0 00001c59: ADD 00001c5a: PUSH0 00001c5b: DUP2 00001c5c: SLOAD 00001c5d: DUP2 00001c5e: LT 00001c5f: PUSH2 0x1c6b 00001c62: JUMPI 00001c63: PUSH2 0x1c6a 00001c66: PUSH2 0x4226 00001c69: JUMP 00001c6a: JUMPDEST 00001c6b: JUMPDEST 00001c6c: SWAP1 00001c6d: PUSH0 00001c6e: MSTORE 00001c6f: PUSH1 0x20 00001c71: PUSH0 00001c72: KECCAK256 00001c73: ADD 00001c74: PUSH0 00001c75: SWAP1 00001c76: SLOAD 00001c77: SWAP1 00001c78: PUSH2 0x0100 00001c7b: EXP 00001c7c: SWAP1 00001c7d: DIV 00001c7e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c93: AND 00001c94: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ca9: AND 00001caa: DUP2 00001cab: MSTORE 00001cac: PUSH1 0x20 00001cae: ADD 00001caf: PUSH1 0x12 00001cb1: PUSH1 0x02 00001cb3: ADD 00001cb4: SLOAD 00001cb5: DUP2 00001cb6: MSTORE 00001cb7: PUSH1 0x20 00001cb9: ADD 00001cba: PUSH1 0x12 00001cbc: PUSH1 0x03 00001cbe: ADD 00001cbf: SLOAD 00001cc0: DUP2 00001cc1: MSTORE 00001cc2: PUSH1 0x20 00001cc4: ADD 00001cc5: PUSH0 00001cc6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cdb: AND 00001cdc: DUP2 00001cdd: MSTORE 00001cde: POP 00001cdf: PUSH1 0x40 00001ce1: MLOAD 00001ce2: DUP3 00001ce3: PUSH4 0xffffffff 00001ce8: AND 00001ce9: PUSH1 0xe0 00001ceb: SHL 00001cec: DUP2 00001ced: MSTORE 00001cee: PUSH1 0x04 00001cf0: ADD 00001cf1: PUSH2 0x1cfa 00001cf4: SWAP2 00001cf5: SWAP1 00001cf6: PUSH2 0x48ac 00001cf9: JUMP 00001cfa: JUMPDEST 00001cfb: PUSH1 0x20 00001cfd: PUSH1 0x40 00001cff: MLOAD 00001d00: DUP1 00001d01: DUP4 00001d02: SUB 00001d03: DUP2 00001d04: PUSH0 00001d05: DUP8 00001d06: GAS 00001d07: CALL 00001d08: SWAP3 00001d09: POP 00001d0a: POP 00001d0b: POP 00001d0c: DUP1 00001d0d: ISZERO 00001d0e: PUSH2 0x1d35 00001d11: JUMPI 00001d12: POP 00001d13: PUSH1 0x40 00001d15: MLOAD 00001d16: RETURNDATASIZE 00001d17: PUSH1 0x1f 00001d19: NOT 00001d1a: PUSH1 0x1f 00001d1c: DUP3 00001d1d: ADD 00001d1e: AND 00001d1f: DUP3 00001d20: ADD 00001d21: DUP1 00001d22: PUSH1 0x40 00001d24: MSTORE 00001d25: POP 00001d26: DUP2 00001d27: ADD 00001d28: SWAP1 00001d29: PUSH2 0x1d32 00001d2c: SWAP2 00001d2d: SWAP1 00001d2e: PUSH2 0x43b3 00001d31: JUMP 00001d32: JUMPDEST 00001d33: PUSH1 0x01 00001d35: JUMPDEST 00001d36: ISZERO 00001d37: PUSH2 0x1dfb 00001d3a: JUMPI 00001d3b: POP 00001d3c: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45 00001d5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d72: AND 00001d73: PUSH4 0x12210e8a 00001d78: PUSH1 0x40 00001d7a: MLOAD 00001d7b: DUP2 00001d7c: PUSH4 0xffffffff 00001d81: AND 00001d82: PUSH1 0xe0 00001d84: SHL 00001d85: DUP2 00001d86: MSTORE 00001d87: PUSH1 0x04 00001d89: ADD 00001d8a: PUSH0 00001d8b: PUSH1 0x40 00001d8d: MLOAD 00001d8e: DUP1 00001d8f: DUP4 00001d90: SUB 00001d91: DUP2 00001d92: PUSH0 00001d93: DUP8 00001d94: DUP1 00001d95: EXTCODESIZE 00001d96: ISZERO 00001d97: DUP1 00001d98: ISZERO 00001d99: PUSH2 0x1da0 00001d9c: JUMPI 00001d9d: PUSH0 00001d9e: DUP1 00001d9f: REVERT 00001da0: JUMPDEST 00001da1: POP 00001da2: GAS 00001da3: CALL 00001da4: ISZERO 00001da5: DUP1 00001da6: ISZERO 00001da7: PUSH2 0x1db2 00001daa: JUMPI 00001dab: RETURNDATASIZE 00001dac: PUSH0 00001dad: DUP1 00001dae: RETURNDATACOPY 00001daf: RETURNDATASIZE 00001db0: PUSH0 00001db1: REVERT 00001db2: JUMPDEST 00001db3: POP 00001db4: POP 00001db5: POP 00001db6: POP 00001db7: PUSH1 0x22 00001db9: DUP2 00001dba: PUSH2 0xffff 00001dbd: AND 00001dbe: DUP2 00001dbf: SLOAD 00001dc0: DUP2 00001dc1: LT 00001dc2: PUSH2 0x1dce 00001dc5: JUMPI 00001dc6: PUSH2 0x1dcd 00001dc9: PUSH2 0x4226 00001dcc: JUMP 00001dcd: JUMPDEST 00001dce: JUMPDEST 00001dcf: SWAP1 00001dd0: PUSH0 00001dd1: MSTORE 00001dd2: PUSH1 0x20 00001dd4: PUSH0 00001dd5: KECCAK256 00001dd6: SWAP1 00001dd7: PUSH1 0x10 00001dd9: SWAP2 00001dda: DUP3 00001ddb: DUP3 00001ddc: DIV 00001ddd: ADD 00001dde: SWAP2 00001ddf: SWAP1 00001de0: MOD 00001de1: PUSH1 0x02 00001de3: MUL 00001de4: SWAP1 00001de5: SLOAD 00001de6: SWAP1 00001de7: PUSH2 0x0100 00001dea: EXP 00001deb: SWAP1 00001dec: DIV 00001ded: PUSH2 0xffff 00001df0: AND 00001df1: PUSH2 0xffff 00001df4: AND 00001df5: SWAP2 00001df6: POP 00001df7: PUSH2 0x1e0e 00001dfa: JUMP 00001dfb: JUMPDEST 00001dfc: DUP1 00001dfd: DUP1 00001dfe: PUSH2 0x1e06 00001e01: SWAP1 00001e02: PUSH2 0x48d2 00001e05: JUMP 00001e06: JUMPDEST 00001e07: SWAP2 00001e08: POP 00001e09: POP 00001e0a: PUSH2 0x1b3a 00001e0d: JUMP 00001e0e: JUMPDEST 00001e0f: POP 00001e10: PUSH0 00001e11: DUP2 00001e12: PUSH3 0xffffff 00001e16: AND 00001e17: SUB 00001e18: PUSH2 0x1e1f 00001e1b: JUMPI 00001e1c: PUSH0 00001e1d: DUP1 00001e1e: REVERT 00001e1f: JUMPDEST 00001e20: PUSH0 00001e21: PUSH1 0x01 00001e23: SWAP1 00001e24: POP 00001e25: JUMPDEST 00001e26: PUSH1 0x12 00001e28: PUSH0 00001e29: ADD 00001e2a: DUP1 00001e2b: SLOAD 00001e2c: SWAP1 00001e2d: POP 00001e2e: DUP2 00001e2f: LT 00001e30: ISZERO 00001e31: PUSH2 0x206f 00001e34: JUMPI 00001e35: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45 00001e56: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e6b: AND 00001e6c: PUSH4 0x04e45aaf 00001e71: PUSH1 0x40 00001e73: MLOAD 00001e74: DUP1 00001e75: PUSH1 0xe0 00001e77: ADD 00001e78: PUSH1 0x40 00001e7a: MSTORE 00001e7b: DUP1 00001e7c: PUSH0 00001e7d: DUP1 00001e7e: SLOAD 00001e7f: SWAP1 00001e80: PUSH2 0x0100 00001e83: EXP 00001e84: SWAP1 00001e85: DIV 00001e86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001e9b: AND 00001e9c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001eb1: AND 00001eb2: DUP2 00001eb3: MSTORE 00001eb4: PUSH1 0x20 00001eb6: ADD 00001eb7: PUSH1 0x12 00001eb9: PUSH1 0x01 00001ebb: ADD 00001ebc: PUSH0 00001ebd: SWAP1 00001ebe: SLOAD 00001ebf: SWAP1 00001ec0: PUSH2 0x0100 00001ec3: EXP 00001ec4: SWAP1 00001ec5: DIV 00001ec6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001edb: AND 00001edc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ef1: AND 00001ef2: DUP2 00001ef3: MSTORE 00001ef4: PUSH1 0x20 00001ef6: ADD 00001ef7: DUP6 00001ef8: PUSH3 0xffffff 00001efc: AND 00001efd: DUP2 00001efe: MSTORE 00001eff: PUSH1 0x20 00001f01: ADD 00001f02: PUSH1 0x12 00001f04: PUSH0 00001f05: ADD 00001f06: DUP6 00001f07: DUP2 00001f08: SLOAD 00001f09: DUP2 00001f0a: LT 00001f0b: PUSH2 0x1f17 00001f0e: JUMPI 00001f0f: PUSH2 0x1f16 00001f12: PUSH2 0x4226 00001f15: JUMP 00001f16: JUMPDEST 00001f17: JUMPDEST 00001f18: SWAP1 00001f19: PUSH0 00001f1a: MSTORE 00001f1b: PUSH1 0x20 00001f1d: PUSH0 00001f1e: KECCAK256 00001f1f: ADD 00001f20: PUSH0 00001f21: SWAP1 00001f22: SLOAD 00001f23: SWAP1 00001f24: PUSH2 0x0100 00001f27: EXP 00001f28: SWAP1 00001f29: DIV 00001f2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f3f: AND 00001f40: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f55: AND 00001f56: DUP2 00001f57: MSTORE 00001f58: PUSH1 0x20 00001f5a: ADD 00001f5b: PUSH1 0x12 00001f5d: PUSH1 0x02 00001f5f: ADD 00001f60: SLOAD 00001f61: DUP2 00001f62: MSTORE 00001f63: PUSH1 0x20 00001f65: ADD 00001f66: PUSH1 0x12 00001f68: PUSH1 0x03 00001f6a: ADD 00001f6b: SLOAD 00001f6c: DUP2 00001f6d: MSTORE 00001f6e: PUSH1 0x20 00001f70: ADD 00001f71: PUSH0 00001f72: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f87: AND 00001f88: DUP2 00001f89: MSTORE 00001f8a: POP 00001f8b: PUSH1 0x40 00001f8d: MLOAD 00001f8e: DUP3 00001f8f: PUSH4 0xffffffff 00001f94: AND 00001f95: PUSH1 0xe0 00001f97: SHL 00001f98: DUP2 00001f99: MSTORE 00001f9a: PUSH1 0x04 00001f9c: ADD 00001f9d: PUSH2 0x1fa6 00001fa0: SWAP2 00001fa1: SWAP1 00001fa2: PUSH2 0x48ac 00001fa5: JUMP 00001fa6: JUMPDEST 00001fa7: PUSH1 0x20 00001fa9: PUSH1 0x40 00001fab: MLOAD 00001fac: DUP1 00001fad: DUP4 00001fae: SUB 00001faf: DUP2 00001fb0: PUSH0 00001fb1: DUP8 00001fb2: GAS 00001fb3: CALL 00001fb4: SWAP3 00001fb5: POP 00001fb6: POP 00001fb7: POP 00001fb8: DUP1 00001fb9: ISZERO 00001fba: PUSH2 0x1fe1 00001fbd: JUMPI 00001fbe: POP 00001fbf: PUSH1 0x40 00001fc1: MLOAD 00001fc2: RETURNDATASIZE 00001fc3: PUSH1 0x1f 00001fc5: NOT 00001fc6: PUSH1 0x1f 00001fc8: DUP3 00001fc9: ADD 00001fca: AND 00001fcb: DUP3 00001fcc: ADD 00001fcd: DUP1 00001fce: PUSH1 0x40 00001fd0: MSTORE 00001fd1: POP 00001fd2: DUP2 00001fd3: ADD 00001fd4: SWAP1 00001fd5: PUSH2 0x1fde 00001fd8: SWAP2 00001fd9: SWAP1 00001fda: PUSH2 0x43b3 00001fdd: JUMP 00001fde: JUMPDEST 00001fdf: PUSH1 0x01 00001fe1: JUMPDEST 00001fe2: ISZERO 00001fe3: PUSH2 0x206f 00001fe6: JUMPI 00001fe7: POP 00001fe8: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45 00002009: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000201e: AND 0000201f: PUSH4 0x12210e8a 00002024: PUSH1 0x40 00002026: MLOAD 00002027: DUP2 00002028: PUSH4 0xffffffff 0000202d: AND 0000202e: PUSH1 0xe0 00002030: SHL 00002031: DUP2 00002032: MSTORE 00002033: PUSH1 0x04 00002035: ADD 00002036: PUSH0 00002037: PUSH1 0x40 00002039: MLOAD 0000203a: DUP1 0000203b: DUP4 0000203c: SUB 0000203d: DUP2 0000203e: PUSH0 0000203f: DUP8 00002040: DUP1 00002041: EXTCODESIZE 00002042: ISZERO 00002043: DUP1 00002044: ISZERO 00002045: PUSH2 0x204c 00002048: JUMPI 00002049: PUSH0 0000204a: DUP1 0000204b: REVERT 0000204c: JUMPDEST 0000204d: POP 0000204e: GAS 0000204f: CALL 00002050: ISZERO 00002051: DUP1 00002052: ISZERO 00002053: PUSH2 0x205e 00002056: JUMPI 00002057: RETURNDATASIZE 00002058: PUSH0 00002059: DUP1 0000205a: RETURNDATACOPY 0000205b: RETURNDATASIZE 0000205c: PUSH0 0000205d: REVERT 0000205e: JUMPDEST 0000205f: POP 00002060: POP 00002061: POP 00002062: POP 00002063: DUP1 00002064: DUP1 00002065: PUSH1 0x01 00002067: ADD 00002068: SWAP2 00002069: POP 0000206a: POP 0000206b: PUSH2 0x1e25 0000206e: JUMP 0000206f: JUMPDEST 00002070: PUSH1 0x12 00002072: PUSH1 0x06 00002074: ADD 00002075: SLOAD 00002076: DUP2 00002077: LT 00002078: ISZERO 00002079: PUSH2 0x20b7 0000207c: JUMPI 0000207d: PUSH1 0x40 0000207f: MLOAD 00002080: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000020a1: DUP2 000020a2: MSTORE 000020a3: PUSH1 0x04 000020a5: ADD 000020a6: PUSH2 0x20ae 000020a9: SWAP1 000020aa: PUSH2 0x476e 000020ad: JUMP 000020ae: JUMPDEST 000020af: PUSH1 0x40 000020b1: MLOAD 000020b2: DUP1 000020b3: SWAP2 000020b4: SUB 000020b5: SWAP1 000020b6: REVERT 000020b7: JUMPDEST 000020b8: PUSH0 000020b9: PUSH1 0x12 000020bb: PUSH1 0x04 000020bd: ADD 000020be: SLOAD 000020bf: GT 000020c0: ISZERO 000020c1: PUSH2 0x217e 000020c4: JUMPI 000020c5: COINBASE 000020c6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020db: AND 000020dc: PUSH1 0x12 000020de: PUSH1 0x04 000020e0: ADD 000020e1: SLOAD 000020e2: PUSH0 000020e3: PUSH8 0xffffffffffffffff 000020ec: DUP2 000020ed: GT 000020ee: ISZERO 000020ef: PUSH2 0x20fb 000020f2: JUMPI 000020f3: PUSH2 0x20fa 000020f6: PUSH2 0x42cb 000020f9: JUMP 000020fa: JUMPDEST 000020fb: JUMPDEST 000020fc: PUSH1 0x40 000020fe: MLOAD 000020ff: SWAP1 00002100: DUP1 00002101: DUP3 00002102: MSTORE 00002103: DUP1 00002104: PUSH1 0x1f 00002106: ADD 00002107: PUSH1 0x1f 00002109: NOT 0000210a: AND 0000210b: PUSH1 0x20 0000210d: ADD 0000210e: DUP3 0000210f: ADD 00002110: PUSH1 0x40 00002112: MSTORE 00002113: DUP1 00002114: ISZERO 00002115: PUSH2 0x212d 00002118: JUMPI 00002119: DUP2 0000211a: PUSH1 0x20 0000211c: ADD 0000211d: PUSH1 0x01 0000211f: DUP3 00002120: MUL 00002121: DUP1 00002122: CALLDATASIZE 00002123: DUP4 00002124: CALLDATACOPY 00002125: DUP1 00002126: DUP3 00002127: ADD 00002128: SWAP2 00002129: POP 0000212a: POP 0000212b: SWAP1 0000212c: POP 0000212d: JUMPDEST 0000212e: POP 0000212f: PUSH1 0x40 00002131: MLOAD 00002132: PUSH2 0x213b 00002135: SWAP2 00002136: SWAP1 00002137: PUSH2 0x47de 0000213a: JUMP 0000213b: JUMPDEST 0000213c: PUSH0 0000213d: PUSH1 0x40 0000213f: MLOAD 00002140: DUP1 00002141: DUP4 00002142: SUB 00002143: DUP2 00002144: DUP6 00002145: DUP8 00002146: GAS 00002147: CALL 00002148: SWAP3 00002149: POP 0000214a: POP 0000214b: POP 0000214c: RETURNDATASIZE 0000214d: DUP1 0000214e: PUSH0 0000214f: DUP2 00002150: EQ 00002151: PUSH2 0x2175 00002154: JUMPI 00002155: PUSH1 0x40 00002157: MLOAD 00002158: SWAP2 00002159: POP 0000215a: PUSH1 0x1f 0000215c: NOT 0000215d: PUSH1 0x3f 0000215f: RETURNDATASIZE 00002160: ADD 00002161: AND 00002162: DUP3 00002163: ADD 00002164: PUSH1 0x40 00002166: MSTORE 00002167: RETURNDATASIZE 00002168: DUP3 00002169: MSTORE 0000216a: RETURNDATASIZE 0000216b: PUSH0 0000216c: PUSH1 0x20 0000216e: DUP5 0000216f: ADD 00002170: RETURNDATACOPY 00002171: PUSH2 0x217a 00002174: JUMP 00002175: JUMPDEST 00002176: PUSH1 0x60 00002178: SWAP2 00002179: POP 0000217a: JUMPDEST 0000217b: POP 0000217c: POP 0000217d: POP 0000217e: JUMPDEST 0000217f: PUSH1 0x60 00002181: PUSH1 0x40 00002183: MLOAD 00002184: DUP1 00002185: PUSH1 0xe0 00002187: ADD 00002188: PUSH1 0x40 0000218a: MSTORE 0000218b: DUP1 0000218c: DUP3 0000218d: DUP2 0000218e: MSTORE 0000218f: PUSH1 0x20 00002191: ADD 00002192: PUSH0 00002193: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021a8: AND 000021a9: DUP2 000021aa: MSTORE 000021ab: PUSH1 0x20 000021ad: ADD 000021ae: PUSH0 000021af: DUP2 000021b0: MSTORE 000021b1: PUSH1 0x20 000021b3: ADD 000021b4: PUSH0 000021b5: DUP2 000021b6: MSTORE 000021b7: PUSH1 0x20 000021b9: ADD 000021ba: PUSH0 000021bb: DUP2 000021bc: MSTORE 000021bd: PUSH1 0x20 000021bf: ADD 000021c0: DUP3 000021c1: DUP2 000021c2: MSTORE 000021c3: PUSH1 0x20 000021c5: ADD 000021c6: PUSH1 0x01 000021c8: DUP2 000021c9: MSTORE 000021ca: POP 000021cb: PUSH1 0x12 000021cd: PUSH0 000021ce: DUP3 000021cf: ADD 000021d0: MLOAD 000021d1: DUP2 000021d2: PUSH0 000021d3: ADD 000021d4: SWAP1 000021d5: DUP1 000021d6: MLOAD 000021d7: SWAP1 000021d8: PUSH1 0x20 000021da: ADD 000021db: SWAP1 000021dc: PUSH2 0x21e6 000021df: SWAP3 000021e0: SWAP2 000021e1: SWAP1 000021e2: PUSH2 0x39eb 000021e5: JUMP 000021e6: JUMPDEST 000021e7: POP 000021e8: PUSH1 0x20 000021ea: DUP3 000021eb: ADD 000021ec: MLOAD 000021ed: DUP2 000021ee: PUSH1 0x01 000021f0: ADD 000021f1: PUSH0 000021f2: PUSH2 0x0100 000021f5: EXP 000021f6: DUP2 000021f7: SLOAD 000021f8: DUP2 000021f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000220e: MUL 0000220f: NOT 00002210: AND 00002211: SWAP1 00002212: DUP4 00002213: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002228: AND 00002229: MUL 0000222a: OR 0000222b: SWAP1 0000222c: SSTORE 0000222d: POP 0000222e: PUSH1 0x40 00002230: DUP3 00002231: ADD 00002232: MLOAD 00002233: DUP2 00002234: PUSH1 0x02 00002236: ADD 00002237: SSTORE 00002238: PUSH1 0x60 0000223a: DUP3 0000223b: ADD 0000223c: MLOAD 0000223d: DUP2 0000223e: PUSH1 0x03 00002240: ADD 00002241: SSTORE 00002242: PUSH1 0x80 00002244: DUP3 00002245: ADD 00002246: MLOAD 00002247: DUP2 00002248: PUSH1 0x04 0000224a: ADD 0000224b: SSTORE 0000224c: PUSH1 0xa0 0000224e: DUP3 0000224f: ADD 00002250: MLOAD 00002251: DUP2 00002252: PUSH1 0x05 00002254: ADD 00002255: SWAP1 00002256: DUP1 00002257: MLOAD 00002258: SWAP1 00002259: PUSH1 0x20 0000225b: ADD 0000225c: SWAP1 0000225d: PUSH2 0x2267 00002260: SWAP3 00002261: SWAP2 00002262: SWAP1 00002263: PUSH2 0x39eb 00002266: JUMP 00002267: JUMPDEST 00002268: POP 00002269: PUSH1 0xc0 0000226b: DUP3 0000226c: ADD 0000226d: MLOAD 0000226e: DUP2 0000226f: PUSH1 0x06 00002271: ADD 00002272: SSTORE 00002273: SWAP1 00002274: POP 00002275: POP 00002276: POP 00002277: POP 00002278: POP 00002279: POP 0000227a: JUMP 0000227b: JUMPDEST 0000227c: PUSH0 0000227d: DUP1 0000227e: JUMPDEST 0000227f: PUSH1 0x20 00002281: DUP1 00002282: SLOAD 00002283: SWAP1 00002284: POP 00002285: DUP2 00002286: LT 00002287: ISZERO 00002288: PUSH2 0x230f 0000228b: JUMPI 0000228c: CALLER 0000228d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022a2: AND 000022a3: PUSH1 0x20 000022a5: DUP3 000022a6: DUP2 000022a7: SLOAD 000022a8: DUP2 000022a9: LT 000022aa: PUSH2 0x22b6 000022ad: JUMPI 000022ae: PUSH2 0x22b5 000022b1: PUSH2 0x4226 000022b4: JUMP 000022b5: JUMPDEST 000022b6: JUMPDEST 000022b7: SWAP1 000022b8: PUSH0 000022b9: MSTORE 000022ba: PUSH1 0x20 000022bc: PUSH0 000022bd: KECCAK256 000022be: ADD 000022bf: PUSH0 000022c0: SWAP1 000022c1: SLOAD 000022c2: SWAP1 000022c3: PUSH2 0x0100 000022c6: EXP 000022c7: SWAP1 000022c8: DIV 000022c9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022de: AND 000022df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022f4: AND 000022f5: SUB 000022f6: PUSH2 0x2302 000022f9: JUMPI 000022fa: PUSH1 0x01 000022fc: SWAP2 000022fd: POP 000022fe: PUSH2 0x230f 00002301: JUMP 00002302: JUMPDEST 00002303: DUP1 00002304: DUP1 00002305: PUSH1 0x01 00002307: ADD 00002308: SWAP2 00002309: POP 0000230a: POP 0000230b: PUSH2 0x227e 0000230e: JUMP 0000230f: JUMPDEST 00002310: POP 00002311: DUP1 00002312: PUSH2 0x2350 00002315: JUMPI 00002316: PUSH1 0x40 00002318: MLOAD 00002319: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000233a: DUP2 0000233b: MSTORE 0000233c: PUSH1 0x04 0000233e: ADD 0000233f: PUSH2 0x2347 00002342: SWAP1 00002343: PUSH2 0x42ad 00002346: JUMP 00002347: JUMPDEST 00002348: PUSH1 0x40 0000234a: MLOAD 0000234b: DUP1 0000234c: SWAP2 0000234d: SUB 0000234e: SWAP1 0000234f: REVERT 00002350: JUMPDEST 00002351: PUSH0 00002352: JUMPDEST 00002353: PUSH1 0x04 00002355: PUSH0 00002356: ADD 00002357: DUP1 00002358: SLOAD 00002359: SWAP1 0000235a: POP 0000235b: DUP2 0000235c: LT 0000235d: ISZERO 0000235e: PUSH2 0x245f 00002361: JUMPI 00002362: PUSH1 0x03 00002364: PUSH0 00002365: SWAP1 00002366: SLOAD 00002367: SWAP1 00002368: PUSH2 0x0100 0000236b: EXP 0000236c: SWAP1 0000236d: DIV 0000236e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002383: AND 00002384: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002399: AND 0000239a: PUSH4 0x38ed1739 0000239f: PUSH1 0x04 000023a1: PUSH1 0x02 000023a3: ADD 000023a4: SLOAD 000023a5: PUSH1 0x04 000023a7: PUSH1 0x03 000023a9: ADD 000023aa: SLOAD 000023ab: PUSH1 0x04 000023ad: PUSH1 0x05 000023af: ADD 000023b0: PUSH1 0x04 000023b2: PUSH0 000023b3: ADD 000023b4: DUP7 000023b5: DUP2 000023b6: SLOAD 000023b7: DUP2 000023b8: LT 000023b9: PUSH2 0x23c5 000023bc: JUMPI 000023bd: PUSH2 0x23c4 000023c0: PUSH2 0x4226 000023c3: JUMP 000023c4: JUMPDEST 000023c5: JUMPDEST 000023c6: SWAP1 000023c7: PUSH0 000023c8: MSTORE 000023c9: PUSH1 0x20 000023cb: PUSH0 000023cc: KECCAK256 000023cd: ADD 000023ce: PUSH0 000023cf: SWAP1 000023d0: SLOAD 000023d1: SWAP1 000023d2: PUSH2 0x0100 000023d5: EXP 000023d6: SWAP1 000023d7: DIV 000023d8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000023ed: AND 000023ee: TIMESTAMP 000023ef: PUSH1 0x40 000023f1: MLOAD 000023f2: DUP7 000023f3: PUSH4 0xffffffff 000023f8: AND 000023f9: PUSH1 0xe0 000023fb: SHL 000023fc: DUP2 000023fd: MSTORE 000023fe: PUSH1 0x04 00002400: ADD 00002401: PUSH2 0x240e 00002404: SWAP6 00002405: SWAP5 00002406: SWAP4 00002407: SWAP3 00002408: SWAP2 00002409: SWAP1 0000240a: PUSH2 0x456a 0000240d: JUMP 0000240e: JUMPDEST 0000240f: PUSH0 00002410: PUSH1 0x40 00002412: MLOAD 00002413: DUP1 00002414: DUP4 00002415: SUB 00002416: DUP2 00002417: PUSH0 00002418: DUP8 00002419: GAS 0000241a: CALL 0000241b: SWAP3 0000241c: POP 0000241d: POP 0000241e: POP 0000241f: DUP1 00002420: ISZERO 00002421: PUSH2 0x244c 00002424: JUMPI 00002425: POP 00002426: PUSH1 0x40 00002428: MLOAD 00002429: RETURNDATASIZE 0000242a: PUSH0 0000242b: DUP3 0000242c: RETURNDATACOPY 0000242d: RETURNDATASIZE 0000242e: PUSH1 0x1f 00002430: NOT 00002431: PUSH1 0x1f 00002433: DUP3 00002434: ADD 00002435: AND 00002436: DUP3 00002437: ADD 00002438: DUP1 00002439: PUSH1 0x40 0000243b: MSTORE 0000243c: POP 0000243d: DUP2 0000243e: ADD 0000243f: SWAP1 00002440: PUSH2 0x2449 00002443: SWAP2 00002444: SWAP1 00002445: PUSH2 0x46dd 00002448: JUMP 00002449: JUMPDEST 0000244a: PUSH1 0x01 0000244c: JUMPDEST 0000244d: ISZERO 0000244e: PUSH2 0x245f 00002451: JUMPI 00002452: POP 00002453: DUP1 00002454: DUP1 00002455: PUSH1 0x01 00002457: ADD 00002458: SWAP2 00002459: POP 0000245a: POP 0000245b: PUSH2 0x2352 0000245e: JUMP 0000245f: JUMPDEST 00002460: PUSH1 0x04 00002462: PUSH1 0x06 00002464: ADD 00002465: SLOAD 00002466: DUP2 00002467: LT 00002468: ISZERO 00002469: PUSH2 0x24a7 0000246c: JUMPI 0000246d: PUSH1 0x40 0000246f: MLOAD 00002470: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002491: DUP2 00002492: MSTORE 00002493: PUSH1 0x04 00002495: ADD 00002496: PUSH2 0x249e 00002499: SWAP1 0000249a: PUSH2 0x476e 0000249d: JUMP 0000249e: JUMPDEST 0000249f: PUSH1 0x40 000024a1: MLOAD 000024a2: DUP1 000024a3: SWAP2 000024a4: SUB 000024a5: SWAP1 000024a6: REVERT 000024a7: JUMPDEST 000024a8: PUSH0 000024a9: PUSH1 0x04 000024ab: DUP1 000024ac: ADD 000024ad: SLOAD 000024ae: GT 000024af: ISZERO 000024b0: PUSH2 0x256c 000024b3: JUMPI 000024b4: COINBASE 000024b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024ca: AND 000024cb: PUSH1 0x04 000024cd: DUP1 000024ce: ADD 000024cf: SLOAD 000024d0: PUSH0 000024d1: PUSH8 0xffffffffffffffff 000024da: DUP2 000024db: GT 000024dc: ISZERO 000024dd: PUSH2 0x24e9 000024e0: JUMPI 000024e1: PUSH2 0x24e8 000024e4: PUSH2 0x42cb 000024e7: JUMP 000024e8: JUMPDEST 000024e9: JUMPDEST 000024ea: PUSH1 0x40 000024ec: MLOAD 000024ed: SWAP1 000024ee: DUP1 000024ef: DUP3 000024f0: MSTORE 000024f1: DUP1 000024f2: PUSH1 0x1f 000024f4: ADD 000024f5: PUSH1 0x1f 000024f7: NOT 000024f8: AND 000024f9: PUSH1 0x20 000024fb: ADD 000024fc: DUP3 000024fd: ADD 000024fe: PUSH1 0x40 00002500: MSTORE 00002501: DUP1 00002502: ISZERO 00002503: PUSH2 0x251b 00002506: JUMPI 00002507: DUP2 00002508: PUSH1 0x20 0000250a: ADD 0000250b: PUSH1 0x01 0000250d: DUP3 0000250e: MUL 0000250f: DUP1 00002510: CALLDATASIZE 00002511: DUP4 00002512: CALLDATACOPY 00002513: DUP1 00002514: DUP3 00002515: ADD 00002516: SWAP2 00002517: POP 00002518: POP 00002519: SWAP1 0000251a: POP 0000251b: JUMPDEST 0000251c: POP 0000251d: PUSH1 0x40 0000251f: MLOAD 00002520: PUSH2 0x2529 00002523: SWAP2 00002524: SWAP1 00002525: PUSH2 0x47de 00002528: JUMP 00002529: JUMPDEST 0000252a: PUSH0 0000252b: PUSH1 0x40 0000252d: MLOAD 0000252e: DUP1 0000252f: DUP4 00002530: SUB 00002531: DUP2 00002532: DUP6 00002533: DUP8 00002534: GAS 00002535: CALL 00002536: SWAP3 00002537: POP 00002538: POP 00002539: POP 0000253a: RETURNDATASIZE 0000253b: DUP1 0000253c: PUSH0 0000253d: DUP2 0000253e: EQ 0000253f: PUSH2 0x2563 00002542: JUMPI 00002543: PUSH1 0x40 00002545: MLOAD 00002546: SWAP2 00002547: POP 00002548: PUSH1 0x1f 0000254a: NOT 0000254b: PUSH1 0x3f 0000254d: RETURNDATASIZE 0000254e: ADD 0000254f: AND 00002550: DUP3 00002551: ADD 00002552: PUSH1 0x40 00002554: MSTORE 00002555: RETURNDATASIZE 00002556: DUP3 00002557: MSTORE 00002558: RETURNDATASIZE 00002559: PUSH0 0000255a: PUSH1 0x20 0000255c: DUP5 0000255d: ADD 0000255e: RETURNDATACOPY 0000255f: PUSH2 0x2568 00002562: JUMP 00002563: JUMPDEST 00002564: PUSH1 0x60 00002566: SWAP2 00002567: POP 00002568: JUMPDEST 00002569: POP 0000256a: POP 0000256b: POP 0000256c: JUMPDEST 0000256d: PUSH1 0x60 0000256f: PUSH1 0x40 00002571: MLOAD 00002572: DUP1 00002573: PUSH1 0xe0 00002575: ADD 00002576: PUSH1 0x40 00002578: MSTORE 00002579: DUP1 0000257a: DUP3 0000257b: DUP2 0000257c: MSTORE 0000257d: PUSH1 0x20 0000257f: ADD 00002580: PUSH0 00002581: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002596: AND 00002597: DUP2 00002598: MSTORE 00002599: PUSH1 0x20 0000259b: ADD 0000259c: PUSH0 0000259d: DUP2 0000259e: MSTORE 0000259f: PUSH1 0x20 000025a1: ADD 000025a2: PUSH0 000025a3: DUP2 000025a4: MSTORE 000025a5: PUSH1 0x20 000025a7: ADD 000025a8: PUSH0 000025a9: DUP2 000025aa: MSTORE 000025ab: PUSH1 0x20 000025ad: ADD 000025ae: DUP3 000025af: DUP2 000025b0: MSTORE 000025b1: PUSH1 0x20 000025b3: ADD 000025b4: PUSH1 0x01 000025b6: DUP2 000025b7: MSTORE 000025b8: POP 000025b9: PUSH1 0x04 000025bb: PUSH0 000025bc: DUP3 000025bd: ADD 000025be: MLOAD 000025bf: DUP2 000025c0: PUSH0 000025c1: ADD 000025c2: SWAP1 000025c3: DUP1 000025c4: MLOAD 000025c5: SWAP1 000025c6: PUSH1 0x20 000025c8: ADD 000025c9: SWAP1 000025ca: PUSH2 0x25d4 000025cd: SWAP3 000025ce: SWAP2 000025cf: SWAP1 000025d0: PUSH2 0x39eb 000025d3: JUMP 000025d4: JUMPDEST 000025d5: POP 000025d6: PUSH1 0x20 000025d8: DUP3 000025d9: ADD 000025da: MLOAD 000025db: DUP2 000025dc: PUSH1 0x01 000025de: ADD 000025df: PUSH0 000025e0: PUSH2 0x0100 000025e3: EXP 000025e4: DUP2 000025e5: SLOAD 000025e6: DUP2 000025e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025fc: MUL 000025fd: NOT 000025fe: AND 000025ff: SWAP1 00002600: DUP4 00002601: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002616: AND 00002617: MUL 00002618: OR 00002619: SWAP1 0000261a: SSTORE 0000261b: POP 0000261c: PUSH1 0x40 0000261e: DUP3 0000261f: ADD 00002620: MLOAD 00002621: DUP2 00002622: PUSH1 0x02 00002624: ADD 00002625: SSTORE 00002626: PUSH1 0x60 00002628: DUP3 00002629: ADD 0000262a: MLOAD 0000262b: DUP2 0000262c: PUSH1 0x03 0000262e: ADD 0000262f: SSTORE 00002630: PUSH1 0x80 00002632: DUP3 00002633: ADD 00002634: MLOAD 00002635: DUP2 00002636: PUSH1 0x04 00002638: ADD 00002639: SSTORE 0000263a: PUSH1 0xa0 0000263c: DUP3 0000263d: ADD 0000263e: MLOAD 0000263f: DUP2 00002640: PUSH1 0x05 00002642: ADD 00002643: SWAP1 00002644: DUP1 00002645: MLOAD 00002646: SWAP1 00002647: PUSH1 0x20 00002649: ADD 0000264a: SWAP1 0000264b: PUSH2 0x2655 0000264e: SWAP3 0000264f: SWAP2 00002650: SWAP1 00002651: PUSH2 0x39eb 00002654: JUMP 00002655: JUMPDEST 00002656: POP 00002657: PUSH1 0xc0 00002659: DUP3 0000265a: ADD 0000265b: MLOAD 0000265c: DUP2 0000265d: PUSH1 0x06 0000265f: ADD 00002660: SSTORE 00002661: SWAP1 00002662: POP 00002663: POP 00002664: POP 00002665: POP 00002666: POP 00002667: JUMP 00002668: JUMPDEST 00002669: PUSH0 0000266a: DUP1 0000266b: JUMPDEST 0000266c: PUSH1 0x20 0000266e: DUP1 0000266f: SLOAD 00002670: SWAP1 00002671: POP 00002672: DUP2 00002673: LT 00002674: ISZERO 00002675: PUSH2 0x26fc 00002678: JUMPI 00002679: CALLER 0000267a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000268f: AND 00002690: PUSH1 0x20 00002692: DUP3 00002693: DUP2 00002694: SLOAD 00002695: DUP2 00002696: LT 00002697: PUSH2 0x26a3 0000269a: JUMPI 0000269b: PUSH2 0x26a2 0000269e: PUSH2 0x4226 000026a1: JUMP 000026a2: JUMPDEST 000026a3: JUMPDEST 000026a4: SWAP1 000026a5: PUSH0 000026a6: MSTORE 000026a7: PUSH1 0x20 000026a9: PUSH0 000026aa: KECCAK256 000026ab: ADD 000026ac: PUSH0 000026ad: SWAP1 000026ae: SLOAD 000026af: SWAP1 000026b0: PUSH2 0x0100 000026b3: EXP 000026b4: SWAP1 000026b5: DIV 000026b6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026cb: AND 000026cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000026e1: AND 000026e2: SUB 000026e3: PUSH2 0x26ef 000026e6: JUMPI 000026e7: PUSH1 0x01 000026e9: SWAP2 000026ea: POP 000026eb: PUSH2 0x26fc 000026ee: JUMP 000026ef: JUMPDEST 000026f0: DUP1 000026f1: DUP1 000026f2: PUSH1 0x01 000026f4: ADD 000026f5: SWAP2 000026f6: POP 000026f7: POP 000026f8: PUSH2 0x266b 000026fb: JUMP 000026fc: JUMPDEST 000026fd: POP 000026fe: DUP1 000026ff: PUSH2 0x273d 00002702: JUMPI 00002703: PUSH1 0x40 00002705: MLOAD 00002706: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002727: DUP2 00002728: MSTORE 00002729: PUSH1 0x04 0000272b: ADD 0000272c: PUSH2 0x2734 0000272f: SWAP1 00002730: PUSH2 0x42ad 00002733: JUMP 00002734: JUMPDEST 00002735: PUSH1 0x40 00002737: MLOAD 00002738: DUP1 00002739: SWAP2 0000273a: SUB 0000273b: SWAP1 0000273c: REVERT 0000273d: JUMPDEST 0000273e: PUSH0 0000273f: PUSH1 0x02 00002741: PUSH8 0xffffffffffffffff 0000274a: DUP2 0000274b: GT 0000274c: ISZERO 0000274d: PUSH2 0x2759 00002750: JUMPI 00002751: PUSH2 0x2758 00002754: PUSH2 0x42cb 00002757: JUMP 00002758: JUMPDEST 00002759: JUMPDEST 0000275a: PUSH1 0x40 0000275c: MLOAD 0000275d: SWAP1 0000275e: DUP1 0000275f: DUP3 00002760: MSTORE 00002761: DUP1 00002762: PUSH1 0x20 00002764: MUL 00002765: PUSH1 0x20 00002767: ADD 00002768: DUP3 00002769: ADD 0000276a: PUSH1 0x40 0000276c: MSTORE 0000276d: DUP1 0000276e: ISZERO 0000276f: PUSH2 0x2787 00002772: JUMPI 00002773: DUP2 00002774: PUSH1 0x20 00002776: ADD 00002777: PUSH1 0x20 00002779: DUP3 0000277a: MUL 0000277b: DUP1 0000277c: CALLDATASIZE 0000277d: DUP4 0000277e: CALLDATACOPY 0000277f: DUP1 00002780: DUP3 00002781: ADD 00002782: SWAP2 00002783: POP 00002784: POP 00002785: SWAP1 00002786: POP 00002787: JUMPDEST 00002788: POP 00002789: SWAP1 0000278a: POP 0000278b: PUSH1 0x03 0000278d: PUSH0 0000278e: SWAP1 0000278f: SLOAD 00002790: SWAP1 00002791: PUSH2 0x0100 00002794: EXP 00002795: SWAP1 00002796: DIV 00002797: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027ac: AND 000027ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027c2: AND 000027c3: PUSH4 0xad5c4648 000027c8: PUSH1 0x40 000027ca: MLOAD 000027cb: DUP2 000027cc: PUSH4 0xffffffff 000027d1: AND 000027d2: PUSH1 0xe0 000027d4: SHL 000027d5: DUP2 000027d6: MSTORE 000027d7: PUSH1 0x04 000027d9: ADD 000027da: PUSH1 0x20 000027dc: PUSH1 0x40 000027de: MLOAD 000027df: DUP1 000027e0: DUP4 000027e1: SUB 000027e2: DUP2 000027e3: DUP7 000027e4: GAS 000027e5: STATICCALL 000027e6: ISZERO 000027e7: DUP1 000027e8: ISZERO 000027e9: PUSH2 0x27f4 000027ec: JUMPI 000027ed: RETURNDATASIZE 000027ee: PUSH0 000027ef: DUP1 000027f0: RETURNDATACOPY 000027f1: RETURNDATASIZE 000027f2: PUSH0 000027f3: REVERT 000027f4: JUMPDEST 000027f5: POP 000027f6: POP 000027f7: POP 000027f8: POP 000027f9: PUSH1 0x40 000027fb: MLOAD 000027fc: RETURNDATASIZE 000027fd: PUSH1 0x1f 000027ff: NOT 00002800: PUSH1 0x1f 00002802: DUP3 00002803: ADD 00002804: AND 00002805: DUP3 00002806: ADD 00002807: DUP1 00002808: PUSH1 0x40 0000280a: MSTORE 0000280b: POP 0000280c: DUP2 0000280d: ADD 0000280e: SWAP1 0000280f: PUSH2 0x2818 00002812: SWAP2 00002813: SWAP1 00002814: PUSH2 0x430c 00002817: JUMP 00002818: JUMPDEST 00002819: DUP2 0000281a: PUSH0 0000281b: DUP2 0000281c: MLOAD 0000281d: DUP2 0000281e: LT 0000281f: PUSH2 0x282b 00002822: JUMPI 00002823: PUSH2 0x282a 00002826: PUSH2 0x4226 00002829: JUMP 0000282a: JUMPDEST 0000282b: JUMPDEST 0000282c: PUSH1 0x20 0000282e: MUL 0000282f: PUSH1 0x20 00002831: ADD 00002832: ADD 00002833: SWAP1 00002834: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002849: AND 0000284a: SWAP1 0000284b: DUP2 0000284c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002861: AND 00002862: DUP2 00002863: MSTORE 00002864: POP 00002865: POP 00002866: DUP7 00002867: DUP2 00002868: PUSH1 0x01 0000286a: DUP2 0000286b: MLOAD 0000286c: DUP2 0000286d: LT 0000286e: PUSH2 0x287a 00002871: JUMPI 00002872: PUSH2 0x2879 00002875: PUSH2 0x4226 00002878: JUMP 00002879: JUMPDEST 0000287a: JUMPDEST 0000287b: PUSH1 0x20 0000287d: MUL 0000287e: PUSH1 0x20 00002880: ADD 00002881: ADD 00002882: SWAP1 00002883: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002898: AND 00002899: SWAP1 0000289a: DUP2 0000289b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000028b0: AND 000028b1: DUP2 000028b2: MSTORE 000028b3: POP 000028b4: POP 000028b5: PUSH1 0x40 000028b7: MLOAD 000028b8: DUP1 000028b9: PUSH1 0xe0 000028bb: ADD 000028bc: PUSH1 0x40 000028be: MSTORE 000028bf: DUP1 000028c0: DUP11 000028c1: DUP11 000028c2: DUP1 000028c3: DUP1 000028c4: PUSH1 0x20 000028c6: MUL 000028c7: PUSH1 0x20 000028c9: ADD 000028ca: PUSH1 0x40 000028cc: MLOAD 000028cd: SWAP1 000028ce: DUP2 000028cf: ADD 000028d0: PUSH1 0x40 000028d2: MSTORE 000028d3: DUP1 000028d4: SWAP4 000028d5: SWAP3 000028d6: SWAP2 000028d7: SWAP1 000028d8: DUP2 000028d9: DUP2 000028da: MSTORE 000028db: PUSH1 0x20 000028dd: ADD 000028de: DUP4 000028df: DUP4 000028e0: PUSH1 0x20 000028e2: MUL 000028e3: DUP1 000028e4: DUP3 000028e5: DUP5 000028e6: CALLDATACOPY 000028e7: PUSH0 000028e8: DUP2 000028e9: DUP5 000028ea: ADD 000028eb: MSTORE 000028ec: PUSH1 0x1f 000028ee: NOT 000028ef: PUSH1 0x1f 000028f1: DUP3 000028f2: ADD 000028f3: AND 000028f4: SWAP1 000028f5: POP 000028f6: DUP1 000028f7: DUP4 000028f8: ADD 000028f9: SWAP3 000028fa: POP 000028fb: POP 000028fc: POP 000028fd: POP 000028fe: POP 000028ff: POP 00002900: POP 00002901: DUP2 00002902: MSTORE 00002903: PUSH1 0x20 00002905: ADD 00002906: DUP9 00002907: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000291c: AND 0000291d: DUP2 0000291e: MSTORE 0000291f: PUSH1 0x20 00002921: ADD 00002922: DUP8 00002923: DUP2 00002924: MSTORE 00002925: PUSH1 0x20 00002927: ADD 00002928: DUP7 00002929: DUP2 0000292a: MSTORE 0000292b: PUSH1 0x20 0000292d: ADD 0000292e: DUP6 0000292f: DUP2 00002930: MSTORE 00002931: PUSH1 0x20 00002933: ADD 00002934: DUP3 00002935: DUP2 00002936: MSTORE 00002937: PUSH1 0x20 00002939: ADD 0000293a: DUP5 0000293b: DUP2 0000293c: MSTORE 0000293d: POP 0000293e: PUSH1 0x04 00002940: PUSH0 00002941: DUP3 00002942: ADD 00002943: MLOAD 00002944: DUP2 00002945: PUSH0 00002946: ADD 00002947: SWAP1 00002948: DUP1 00002949: MLOAD 0000294a: SWAP1 0000294b: PUSH1 0x20 0000294d: ADD 0000294e: SWAP1 0000294f: PUSH2 0x2959 00002952: SWAP3 00002953: SWAP2 00002954: SWAP1 00002955: PUSH2 0x39eb 00002958: JUMP 00002959: JUMPDEST 0000295a: POP 0000295b: PUSH1 0x20 0000295d: DUP3 0000295e: ADD 0000295f: MLOAD 00002960: DUP2 00002961: PUSH1 0x01 00002963: ADD 00002964: PUSH0 00002965: PUSH2 0x0100 00002968: EXP 00002969: DUP2 0000296a: SLOAD 0000296b: DUP2 0000296c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002981: MUL 00002982: NOT 00002983: AND 00002984: SWAP1 00002985: DUP4 00002986: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000299b: AND 0000299c: MUL 0000299d: OR 0000299e: SWAP1 0000299f: SSTORE 000029a0: POP 000029a1: PUSH1 0x40 000029a3: DUP3 000029a4: ADD 000029a5: MLOAD 000029a6: DUP2 000029a7: PUSH1 0x02 000029a9: ADD 000029aa: SSTORE 000029ab: PUSH1 0x60 000029ad: DUP3 000029ae: ADD 000029af: MLOAD 000029b0: DUP2 000029b1: PUSH1 0x03 000029b3: ADD 000029b4: SSTORE 000029b5: PUSH1 0x80 000029b7: DUP3 000029b8: ADD 000029b9: MLOAD 000029ba: DUP2 000029bb: PUSH1 0x04 000029bd: ADD 000029be: SSTORE 000029bf: PUSH1 0xa0 000029c1: DUP3 000029c2: ADD 000029c3: MLOAD 000029c4: DUP2 000029c5: PUSH1 0x05 000029c7: ADD 000029c8: SWAP1 000029c9: DUP1 000029ca: MLOAD 000029cb: SWAP1 000029cc: PUSH1 0x20 000029ce: ADD 000029cf: SWAP1 000029d0: PUSH2 0x29da 000029d3: SWAP3 000029d4: SWAP2 000029d5: SWAP1 000029d6: PUSH2 0x39eb 000029d9: JUMP 000029da: JUMPDEST 000029db: POP 000029dc: PUSH1 0xc0 000029de: DUP3 000029df: ADD 000029e0: MLOAD 000029e1: DUP2 000029e2: PUSH1 0x06 000029e4: ADD 000029e5: SSTORE 000029e6: SWAP1 000029e7: POP 000029e8: POP 000029e9: POP 000029ea: POP 000029eb: POP 000029ec: POP 000029ed: POP 000029ee: POP 000029ef: POP 000029f0: POP 000029f1: POP 000029f2: JUMP 000029f3: JUMPDEST 000029f4: PUSH0 000029f5: DUP1 000029f6: JUMPDEST 000029f7: PUSH1 0x20 000029f9: DUP1 000029fa: SLOAD 000029fb: SWAP1 000029fc: POP 000029fd: DUP2 000029fe: LT 000029ff: ISZERO 00002a00: PUSH2 0x2a87 00002a03: JUMPI 00002a04: CALLER 00002a05: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a1a: AND 00002a1b: PUSH1 0x20 00002a1d: DUP3 00002a1e: DUP2 00002a1f: SLOAD 00002a20: DUP2 00002a21: LT 00002a22: PUSH2 0x2a2e 00002a25: JUMPI 00002a26: PUSH2 0x2a2d 00002a29: PUSH2 0x4226 00002a2c: JUMP 00002a2d: JUMPDEST 00002a2e: JUMPDEST 00002a2f: SWAP1 00002a30: PUSH0 00002a31: MSTORE 00002a32: PUSH1 0x20 00002a34: PUSH0 00002a35: KECCAK256 00002a36: ADD 00002a37: PUSH0 00002a38: SWAP1 00002a39: SLOAD 00002a3a: SWAP1 00002a3b: PUSH2 0x0100 00002a3e: EXP 00002a3f: SWAP1 00002a40: DIV 00002a41: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a56: AND 00002a57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a6c: AND 00002a6d: SUB 00002a6e: PUSH2 0x2a7a 00002a71: JUMPI 00002a72: PUSH1 0x01 00002a74: SWAP2 00002a75: POP 00002a76: PUSH2 0x2a87 00002a79: JUMP 00002a7a: JUMPDEST 00002a7b: DUP1 00002a7c: DUP1 00002a7d: PUSH1 0x01 00002a7f: ADD 00002a80: SWAP2 00002a81: POP 00002a82: POP 00002a83: PUSH2 0x29f6 00002a86: JUMP 00002a87: JUMPDEST 00002a88: POP 00002a89: DUP1 00002a8a: PUSH2 0x2ac8 00002a8d: JUMPI 00002a8e: PUSH1 0x40 00002a90: MLOAD 00002a91: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002ab2: DUP2 00002ab3: MSTORE 00002ab4: PUSH1 0x04 00002ab6: ADD 00002ab7: PUSH2 0x2abf 00002aba: SWAP1 00002abb: PUSH2 0x42ad 00002abe: JUMP 00002abf: JUMPDEST 00002ac0: PUSH1 0x40 00002ac2: MLOAD 00002ac3: DUP1 00002ac4: SWAP2 00002ac5: SUB 00002ac6: SWAP1 00002ac7: REVERT 00002ac8: JUMPDEST 00002ac9: PUSH0 00002aca: DUP1 00002acb: JUMPDEST 00002acc: PUSH1 0x22 00002ace: DUP1 00002acf: SLOAD 00002ad0: SWAP1 00002ad1: POP 00002ad2: DUP2 00002ad3: PUSH2 0xffff 00002ad6: AND 00002ad7: LT 00002ad8: ISZERO 00002ad9: PUSH2 0x2d9b 00002adc: JUMPI 00002add: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45 00002afe: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002b13: AND 00002b14: PUSH4 0x5023b4df 00002b19: PUSH1 0x40 00002b1b: MLOAD 00002b1c: DUP1 00002b1d: PUSH1 0xe0 00002b1f: ADD 00002b20: PUSH1 0x40 00002b22: MSTORE 00002b23: DUP1 00002b24: PUSH0 00002b25: DUP1 00002b26: SLOAD 00002b27: SWAP1 00002b28: PUSH2 0x0100 00002b2b: EXP 00002b2c: SWAP1 00002b2d: DIV 00002b2e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002b43: AND 00002b44: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002b59: AND 00002b5a: DUP2 00002b5b: MSTORE 00002b5c: PUSH1 0x20 00002b5e: ADD 00002b5f: PUSH1 0x19 00002b61: PUSH1 0x01 00002b63: ADD 00002b64: PUSH0 00002b65: SWAP1 00002b66: SLOAD 00002b67: SWAP1 00002b68: PUSH2 0x0100 00002b6b: EXP 00002b6c: SWAP1 00002b6d: DIV 00002b6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002b83: AND 00002b84: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002b99: AND 00002b9a: DUP2 00002b9b: MSTORE 00002b9c: PUSH1 0x20 00002b9e: ADD 00002b9f: PUSH1 0x22 00002ba1: DUP6 00002ba2: PUSH2 0xffff 00002ba5: AND 00002ba6: DUP2 00002ba7: SLOAD 00002ba8: DUP2 00002ba9: LT 00002baa: PUSH2 0x2bb6 00002bad: JUMPI 00002bae: PUSH2 0x2bb5 00002bb1: PUSH2 0x4226 00002bb4: JUMP 00002bb5: JUMPDEST 00002bb6: JUMPDEST 00002bb7: SWAP1 00002bb8: PUSH0 00002bb9: MSTORE 00002bba: PUSH1 0x20 00002bbc: PUSH0 00002bbd: KECCAK256 00002bbe: SWAP1 00002bbf: PUSH1 0x10 00002bc1: SWAP2 00002bc2: DUP3 00002bc3: DUP3 00002bc4: DIV 00002bc5: ADD 00002bc6: SWAP2 00002bc7: SWAP1 00002bc8: MOD 00002bc9: PUSH1 0x02 00002bcb: MUL 00002bcc: SWAP1 00002bcd: SLOAD 00002bce: SWAP1 00002bcf: PUSH2 0x0100 00002bd2: EXP 00002bd3: SWAP1 00002bd4: DIV 00002bd5: PUSH2 0xffff 00002bd8: AND 00002bd9: PUSH2 0xffff 00002bdc: AND 00002bdd: PUSH3 0xffffff 00002be1: AND 00002be2: DUP2 00002be3: MSTORE 00002be4: PUSH1 0x20 00002be6: ADD 00002be7: PUSH1 0x19 00002be9: PUSH0 00002bea: ADD 00002beb: PUSH0 00002bec: DUP2 00002bed: SLOAD 00002bee: DUP2 00002bef: LT 00002bf0: PUSH2 0x2bfc 00002bf3: JUMPI 00002bf4: PUSH2 0x2bfb 00002bf7: PUSH2 0x4226 00002bfa: JUMP 00002bfb: JUMPDEST 00002bfc: JUMPDEST 00002bfd: SWAP1 00002bfe: PUSH0 00002bff: MSTORE 00002c00: PUSH1 0x20 00002c02: PUSH0 00002c03: KECCAK256 00002c04: ADD 00002c05: PUSH0 00002c06: SWAP1 00002c07: SLOAD 00002c08: SWAP1 00002c09: PUSH2 0x0100 00002c0c: EXP 00002c0d: SWAP1 00002c0e: DIV 00002c0f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c24: AND 00002c25: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c3a: AND 00002c3b: DUP2 00002c3c: MSTORE 00002c3d: PUSH1 0x20 00002c3f: ADD 00002c40: PUSH1 0x19 00002c42: PUSH1 0x03 00002c44: ADD 00002c45: SLOAD 00002c46: DUP2 00002c47: MSTORE 00002c48: PUSH1 0x20 00002c4a: ADD 00002c4b: PUSH1 0x19 00002c4d: PUSH1 0x02 00002c4f: ADD 00002c50: SLOAD 00002c51: DUP2 00002c52: MSTORE 00002c53: PUSH1 0x20 00002c55: ADD 00002c56: PUSH0 00002c57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002c6c: AND 00002c6d: DUP2 00002c6e: MSTORE 00002c6f: POP 00002c70: PUSH1 0x40 00002c72: MLOAD 00002c73: DUP3 00002c74: PUSH4 0xffffffff 00002c79: AND 00002c7a: PUSH1 0xe0 00002c7c: SHL 00002c7d: DUP2 00002c7e: MSTORE 00002c7f: PUSH1 0x04 00002c81: ADD 00002c82: PUSH2 0x2c8b 00002c85: SWAP2 00002c86: SWAP1 00002c87: PUSH2 0x4987 00002c8a: JUMP 00002c8b: JUMPDEST 00002c8c: PUSH1 0x20 00002c8e: PUSH1 0x40 00002c90: MLOAD 00002c91: DUP1 00002c92: DUP4 00002c93: SUB 00002c94: DUP2 00002c95: PUSH0 00002c96: DUP8 00002c97: GAS 00002c98: CALL 00002c99: SWAP3 00002c9a: POP 00002c9b: POP 00002c9c: POP 00002c9d: DUP1 00002c9e: ISZERO 00002c9f: PUSH2 0x2cc6 00002ca2: JUMPI 00002ca3: POP 00002ca4: PUSH1 0x40 00002ca6: MLOAD 00002ca7: RETURNDATASIZE 00002ca8: PUSH1 0x1f 00002caa: NOT 00002cab: PUSH1 0x1f 00002cad: DUP3 00002cae: ADD 00002caf: AND 00002cb0: DUP3 00002cb1: ADD 00002cb2: DUP1 00002cb3: PUSH1 0x40 00002cb5: MSTORE 00002cb6: POP 00002cb7: DUP2 00002cb8: ADD 00002cb9: SWAP1 00002cba: PUSH2 0x2cc3 00002cbd: SWAP2 00002cbe: SWAP1 00002cbf: PUSH2 0x43b3 00002cc2: JUMP 00002cc3: JUMPDEST 00002cc4: PUSH1 0x01 00002cc6: JUMPDEST 00002cc7: ISZERO 00002cc8: PUSH2 0x2d88 00002ccb: JUMPI 00002ccc: POP 00002ccd: PUSH1 0x22 00002ccf: DUP2 00002cd0: PUSH2 0xffff 00002cd3: AND 00002cd4: DUP2 00002cd5: SLOAD 00002cd6: DUP2 00002cd7: LT 00002cd8: PUSH2 0x2ce4 00002cdb: JUMPI 00002cdc: PUSH2 0x2ce3 00002cdf: PUSH2 0x4226 00002ce2: JUMP 00002ce3: JUMPDEST 00002ce4: JUMPDEST 00002ce5: SWAP1 00002ce6: PUSH0 00002ce7: MSTORE 00002ce8: PUSH1 0x20 00002cea: PUSH0 00002ceb: KECCAK256 00002cec: SWAP1 00002ced: PUSH1 0x10 00002cef: SWAP2 00002cf0: DUP3 00002cf1: DUP3 00002cf2: DIV 00002cf3: ADD 00002cf4: SWAP2 00002cf5: SWAP1 00002cf6: MOD 00002cf7: PUSH1 0x02 00002cf9: MUL 00002cfa: SWAP1 00002cfb: SLOAD 00002cfc: SWAP1 00002cfd: PUSH2 0x0100 00002d00: EXP 00002d01: SWAP1 00002d02: DIV 00002d03: PUSH2 0xffff 00002d06: AND 00002d07: SWAP2 00002d08: POP 00002d09: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45 00002d2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002d3f: AND 00002d40: PUSH4 0x12210e8a 00002d45: PUSH1 0x40 00002d47: MLOAD 00002d48: DUP2 00002d49: PUSH4 0xffffffff 00002d4e: AND 00002d4f: PUSH1 0xe0 00002d51: SHL 00002d52: DUP2 00002d53: MSTORE 00002d54: PUSH1 0x04 00002d56: ADD 00002d57: PUSH0 00002d58: PUSH1 0x40 00002d5a: MLOAD 00002d5b: DUP1 00002d5c: DUP4 00002d5d: SUB 00002d5e: DUP2 00002d5f: PUSH0 00002d60: DUP8 00002d61: DUP1 00002d62: EXTCODESIZE 00002d63: ISZERO 00002d64: DUP1 00002d65: ISZERO 00002d66: PUSH2 0x2d6d 00002d69: JUMPI 00002d6a: PUSH0 00002d6b: DUP1 00002d6c: REVERT 00002d6d: JUMPDEST 00002d6e: POP 00002d6f: GAS 00002d70: CALL 00002d71: ISZERO 00002d72: DUP1 00002d73: ISZERO 00002d74: PUSH2 0x2d7f 00002d77: JUMPI 00002d78: RETURNDATASIZE 00002d79: PUSH0 00002d7a: DUP1 00002d7b: RETURNDATACOPY 00002d7c: RETURNDATASIZE 00002d7d: PUSH0 00002d7e: REVERT 00002d7f: JUMPDEST 00002d80: POP 00002d81: POP 00002d82: POP 00002d83: POP 00002d84: PUSH2 0x2d9b 00002d87: JUMP 00002d88: JUMPDEST 00002d89: DUP1 00002d8a: DUP1 00002d8b: PUSH2 0x2d93 00002d8e: SWAP1 00002d8f: PUSH2 0x48d2 00002d92: JUMP 00002d93: JUMPDEST 00002d94: SWAP2 00002d95: POP 00002d96: POP 00002d97: PUSH2 0x2acb 00002d9a: JUMP 00002d9b: JUMPDEST 00002d9c: POP 00002d9d: PUSH0 00002d9e: DUP2 00002d9f: PUSH2 0xffff 00002da2: AND 00002da3: SUB 00002da4: PUSH2 0x2dab 00002da7: JUMPI 00002da8: PUSH0 00002da9: DUP1 00002daa: REVERT 00002dab: JUMPDEST 00002dac: PUSH0 00002dad: PUSH1 0x01 00002daf: SWAP1 00002db0: POP 00002db1: JUMPDEST 00002db2: PUSH1 0x19 00002db4: PUSH0 00002db5: ADD 00002db6: DUP1 00002db7: SLOAD 00002db8: SWAP1 00002db9: POP 00002dba: DUP2 00002dbb: LT 00002dbc: ISZERO 00002dbd: PUSH2 0x2fff 00002dc0: JUMPI 00002dc1: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45 00002de2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002df7: AND 00002df8: PUSH4 0x5023b4df 00002dfd: PUSH1 0x40 00002dff: MLOAD 00002e00: DUP1 00002e01: PUSH1 0xe0 00002e03: ADD 00002e04: PUSH1 0x40 00002e06: MSTORE 00002e07: DUP1 00002e08: PUSH0 00002e09: DUP1 00002e0a: SLOAD 00002e0b: SWAP1 00002e0c: PUSH2 0x0100 00002e0f: EXP 00002e10: SWAP1 00002e11: DIV 00002e12: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002e27: AND 00002e28: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002e3d: AND 00002e3e: DUP2 00002e3f: MSTORE 00002e40: PUSH1 0x20 00002e42: ADD 00002e43: PUSH1 0x19 00002e45: PUSH1 0x01 00002e47: ADD 00002e48: PUSH0 00002e49: SWAP1 00002e4a: SLOAD 00002e4b: SWAP1 00002e4c: PUSH2 0x0100 00002e4f: EXP 00002e50: SWAP1 00002e51: DIV 00002e52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002e67: AND 00002e68: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002e7d: AND 00002e7e: DUP2 00002e7f: MSTORE 00002e80: PUSH1 0x20 00002e82: ADD 00002e83: DUP6 00002e84: PUSH2 0xffff 00002e87: AND 00002e88: PUSH3 0xffffff 00002e8c: AND 00002e8d: DUP2 00002e8e: MSTORE 00002e8f: PUSH1 0x20 00002e91: ADD 00002e92: PUSH1 0x19 00002e94: PUSH0 00002e95: ADD 00002e96: DUP6 00002e97: DUP2 00002e98: SLOAD 00002e99: DUP2 00002e9a: LT 00002e9b: PUSH2 0x2ea7 00002e9e: JUMPI 00002e9f: PUSH2 0x2ea6 00002ea2: PUSH2 0x4226 00002ea5: JUMP 00002ea6: JUMPDEST 00002ea7: JUMPDEST 00002ea8: SWAP1 00002ea9: PUSH0 00002eaa: MSTORE 00002eab: PUSH1 0x20 00002ead: PUSH0 00002eae: KECCAK256 00002eaf: ADD 00002eb0: PUSH0 00002eb1: SWAP1 00002eb2: SLOAD 00002eb3: SWAP1 00002eb4: PUSH2 0x0100 00002eb7: EXP 00002eb8: SWAP1 00002eb9: DIV 00002eba: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ecf: AND 00002ed0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002ee5: AND 00002ee6: DUP2 00002ee7: MSTORE 00002ee8: PUSH1 0x20 00002eea: ADD 00002eeb: PUSH1 0x19 00002eed: PUSH1 0x03 00002eef: ADD 00002ef0: SLOAD 00002ef1: DUP2 00002ef2: MSTORE 00002ef3: PUSH1 0x20 00002ef5: ADD 00002ef6: PUSH1 0x19 00002ef8: PUSH1 0x02 00002efa: ADD 00002efb: SLOAD 00002efc: DUP2 00002efd: MSTORE 00002efe: PUSH1 0x20 00002f00: ADD 00002f01: PUSH0 00002f02: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002f17: AND 00002f18: DUP2 00002f19: MSTORE 00002f1a: POP 00002f1b: PUSH1 0x40 00002f1d: MLOAD 00002f1e: DUP3 00002f1f: PUSH4 0xffffffff 00002f24: AND 00002f25: PUSH1 0xe0 00002f27: SHL 00002f28: DUP2 00002f29: MSTORE 00002f2a: PUSH1 0x04 00002f2c: ADD 00002f2d: PUSH2 0x2f36 00002f30: SWAP2 00002f31: SWAP1 00002f32: PUSH2 0x4987 00002f35: JUMP 00002f36: JUMPDEST 00002f37: PUSH1 0x20 00002f39: PUSH1 0x40 00002f3b: MLOAD 00002f3c: DUP1 00002f3d: DUP4 00002f3e: SUB 00002f3f: DUP2 00002f40: PUSH0 00002f41: DUP8 00002f42: GAS 00002f43: CALL 00002f44: SWAP3 00002f45: POP 00002f46: POP 00002f47: POP 00002f48: DUP1 00002f49: ISZERO 00002f4a: PUSH2 0x2f71 00002f4d: JUMPI 00002f4e: POP 00002f4f: PUSH1 0x40 00002f51: MLOAD 00002f52: RETURNDATASIZE 00002f53: PUSH1 0x1f 00002f55: NOT 00002f56: PUSH1 0x1f 00002f58: DUP3 00002f59: ADD 00002f5a: AND 00002f5b: DUP3 00002f5c: ADD 00002f5d: DUP1 00002f5e: PUSH1 0x40 00002f60: MSTORE 00002f61: POP 00002f62: DUP2 00002f63: ADD 00002f64: SWAP1 00002f65: PUSH2 0x2f6e 00002f68: SWAP2 00002f69: SWAP1 00002f6a: PUSH2 0x43b3 00002f6d: JUMP 00002f6e: JUMPDEST 00002f6f: PUSH1 0x01 00002f71: JUMPDEST 00002f72: ISZERO 00002f73: PUSH2 0x2fff 00002f76: JUMPI 00002f77: POP 00002f78: PUSH32 0x00000000000000000000000068b3465833fb72a70ecdf485e0e4c7bd8665fc45 00002f99: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002fae: AND 00002faf: PUSH4 0x12210e8a 00002fb4: PUSH1 0x40 00002fb6: MLOAD 00002fb7: DUP2 00002fb8: PUSH4 0xffffffff 00002fbd: AND 00002fbe: PUSH1 0xe0 00002fc0: SHL 00002fc1: DUP2 00002fc2: MSTORE 00002fc3: PUSH1 0x04 00002fc5: ADD 00002fc6: PUSH0 00002fc7: PUSH1 0x40 00002fc9: MLOAD 00002fca: DUP1 00002fcb: DUP4 00002fcc: SUB 00002fcd: DUP2 00002fce: PUSH0 00002fcf: DUP8 00002fd0: DUP1 00002fd1: EXTCODESIZE 00002fd2: ISZERO 00002fd3: DUP1 00002fd4: ISZERO 00002fd5: PUSH2 0x2fdc 00002fd8: JUMPI 00002fd9: PUSH0 00002fda: DUP1 00002fdb: REVERT 00002fdc: JUMPDEST 00002fdd: POP 00002fde: GAS 00002fdf: CALL 00002fe0: ISZERO 00002fe1: DUP1 00002fe2: ISZERO 00002fe3: PUSH2 0x2fee 00002fe6: JUMPI 00002fe7: RETURNDATASIZE 00002fe8: PUSH0 00002fe9: DUP1 00002fea: RETURNDATACOPY 00002feb: RETURNDATASIZE 00002fec: PUSH0 00002fed: REVERT 00002fee: JUMPDEST 00002fef: POP 00002ff0: POP 00002ff1: POP 00002ff2: POP 00002ff3: DUP1 00002ff4: DUP1 00002ff5: PUSH1 0x01 00002ff7: ADD 00002ff8: SWAP2 00002ff9: POP 00002ffa: POP 00002ffb: PUSH2 0x2db1 00002ffe: JUMP 00002fff: JUMPDEST 00003000: PUSH1 0x19 00003002: PUSH1 0x06 00003004: ADD 00003005: SLOAD 00003006: DUP2 00003007: LT 00003008: ISZERO 00003009: PUSH2 0x3047 0000300c: JUMPI 0000300d: PUSH1 0x40 0000300f: MLOAD 00003010: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003031: DUP2 00003032: MSTORE 00003033: PUSH1 0x04 00003035: ADD 00003036: PUSH2 0x303e 00003039: SWAP1 0000303a: PUSH2 0x476e 0000303d: JUMP 0000303e: JUMPDEST 0000303f: PUSH1 0x40 00003041: MLOAD 00003042: DUP1 00003043: SWAP2 00003044: SUB 00003045: SWAP1 00003046: REVERT 00003047: JUMPDEST 00003048: PUSH0 00003049: PUSH1 0x19 0000304b: PUSH1 0x04 0000304d: ADD 0000304e: SLOAD 0000304f: GT 00003050: ISZERO 00003051: PUSH2 0x310e 00003054: JUMPI 00003055: COINBASE 00003056: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000306b: AND 0000306c: PUSH1 0x19 0000306e: PUSH1 0x04 00003070: ADD 00003071: SLOAD 00003072: PUSH0 00003073: PUSH8 0xffffffffffffffff 0000307c: DUP2 0000307d: GT 0000307e: ISZERO 0000307f: PUSH2 0x308b 00003082: JUMPI 00003083: PUSH2 0x308a 00003086: PUSH2 0x42cb 00003089: JUMP 0000308a: JUMPDEST 0000308b: JUMPDEST 0000308c: PUSH1 0x40 0000308e: MLOAD 0000308f: SWAP1 00003090: DUP1 00003091: DUP3 00003092: MSTORE 00003093: DUP1 00003094: PUSH1 0x1f 00003096: ADD 00003097: PUSH1 0x1f 00003099: NOT 0000309a: AND 0000309b: PUSH1 0x20 0000309d: ADD 0000309e: DUP3 0000309f: ADD 000030a0: PUSH1 0x40 000030a2: MSTORE 000030a3: DUP1 000030a4: ISZERO 000030a5: PUSH2 0x30bd 000030a8: JUMPI 000030a9: DUP2 000030aa: PUSH1 0x20 000030ac: ADD 000030ad: PUSH1 0x01 000030af: DUP3 000030b0: MUL 000030b1: DUP1 000030b2: CALLDATASIZE 000030b3: DUP4 000030b4: CALLDATACOPY 000030b5: DUP1 000030b6: DUP3 000030b7: ADD 000030b8: SWAP2 000030b9: POP 000030ba: POP 000030bb: SWAP1 000030bc: POP 000030bd: JUMPDEST 000030be: POP 000030bf: PUSH1 0x40 000030c1: MLOAD 000030c2: PUSH2 0x30cb 000030c5: SWAP2 000030c6: SWAP1 000030c7: PUSH2 0x47de 000030ca: JUMP 000030cb: JUMPDEST 000030cc: PUSH0 000030cd: PUSH1 0x40 000030cf: MLOAD 000030d0: DUP1 000030d1: DUP4 000030d2: SUB 000030d3: DUP2 000030d4: DUP6 000030d5: DUP8 000030d6: GAS 000030d7: CALL 000030d8: SWAP3 000030d9: POP 000030da: POP 000030db: POP 000030dc: RETURNDATASIZE 000030dd: DUP1 000030de: PUSH0 000030df: DUP2 000030e0: EQ 000030e1: PUSH2 0x3105 000030e4: JUMPI 000030e5: PUSH1 0x40 000030e7: MLOAD 000030e8: SWAP2 000030e9: POP 000030ea: PUSH1 0x1f 000030ec: NOT 000030ed: PUSH1 0x3f 000030ef: RETURNDATASIZE 000030f0: ADD 000030f1: AND 000030f2: DUP3 000030f3: ADD 000030f4: PUSH1 0x40 000030f6: MSTORE 000030f7: RETURNDATASIZE 000030f8: DUP3 000030f9: MSTORE 000030fa: RETURNDATASIZE 000030fb: PUSH0 000030fc: PUSH1 0x20 000030fe: DUP5 000030ff: ADD 00003100: RETURNDATACOPY 00003101: PUSH2 0x310a 00003104: JUMP 00003105: JUMPDEST 00003106: PUSH1 0x60 00003108: SWAP2 00003109: POP 0000310a: JUMPDEST 0000310b: POP 0000310c: POP 0000310d: POP 0000310e: JUMPDEST 0000310f: PUSH1 0x60 00003111: PUSH1 0x40 00003113: MLOAD 00003114: DUP1 00003115: PUSH1 0xe0 00003117: ADD 00003118: PUSH1 0x40 0000311a: MSTORE 0000311b: DUP1 0000311c: DUP3 0000311d: DUP2 0000311e: MSTORE 0000311f: PUSH1 0x20 00003121: ADD 00003122: PUSH0 00003123: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003138: AND 00003139: DUP2 0000313a: MSTORE 0000313b: PUSH1 0x20 0000313d: ADD 0000313e: PUSH0 0000313f: DUP2 00003140: MSTORE 00003141: PUSH1 0x20 00003143: ADD 00003144: PUSH0 00003145: DUP2 00003146: MSTORE 00003147: PUSH1 0x20 00003149: ADD 0000314a: PUSH0 0000314b: DUP2 0000314c: MSTORE 0000314d: PUSH1 0x20 0000314f: ADD 00003150: DUP3 00003151: DUP2 00003152: MSTORE 00003153: PUSH1 0x20 00003155: ADD 00003156: PUSH1 0x01 00003158: DUP2 00003159: MSTORE 0000315a: POP 0000315b: PUSH1 0x19 0000315d: PUSH0 0000315e: DUP3 0000315f: ADD 00003160: MLOAD 00003161: DUP2 00003162: PUSH0 00003163: ADD 00003164: SWAP1 00003165: DUP1 00003166: MLOAD 00003167: SWAP1 00003168: PUSH1 0x20 0000316a: ADD 0000316b: SWAP1 0000316c: PUSH2 0x3176 0000316f: SWAP3 00003170: SWAP2 00003171: SWAP1 00003172: PUSH2 0x39eb 00003175: JUMP 00003176: JUMPDEST 00003177: POP 00003178: PUSH1 0x20 0000317a: DUP3 0000317b: ADD 0000317c: MLOAD 0000317d: DUP2 0000317e: PUSH1 0x01 00003180: ADD 00003181: PUSH0 00003182: PUSH2 0x0100 00003185: EXP 00003186: DUP2 00003187: SLOAD 00003188: DUP2 00003189: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000319e: MUL 0000319f: NOT 000031a0: AND 000031a1: SWAP1 000031a2: DUP4 000031a3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000031b8: AND 000031b9: MUL 000031ba: OR 000031bb: SWAP1 000031bc: SSTORE 000031bd: POP 000031be: PUSH1 0x40 000031c0: DUP3 000031c1: ADD 000031c2: MLOAD 000031c3: DUP2 000031c4: PUSH1 0x02 000031c6: ADD 000031c7: SSTORE 000031c8: PUSH1 0x60 000031ca: DUP3 000031cb: ADD 000031cc: MLOAD 000031cd: DUP2 000031ce: PUSH1 0x03 000031d0: ADD 000031d1: SSTORE 000031d2: PUSH1 0x80 000031d4: DUP3 000031d5: ADD 000031d6: MLOAD 000031d7: DUP2 000031d8: PUSH1 0x04 000031da: ADD 000031db: SSTORE 000031dc: PUSH1 0xa0 000031de: DUP3 000031df: ADD 000031e0: MLOAD 000031e1: DUP2 000031e2: PUSH1 0x05 000031e4: ADD 000031e5: SWAP1 000031e6: DUP1 000031e7: MLOAD 000031e8: SWAP1 000031e9: PUSH1 0x20 000031eb: ADD 000031ec: SWAP1 000031ed: PUSH2 0x31f7 000031f0: SWAP3 000031f1: SWAP2 000031f2: SWAP1 000031f3: PUSH2 0x39eb 000031f6: JUMP 000031f7: JUMPDEST 000031f8: POP 000031f9: PUSH1 0xc0 000031fb: DUP3 000031fc: ADD 000031fd: MLOAD 000031fe: DUP2 000031ff: PUSH1 0x06 00003201: ADD 00003202: SSTORE 00003203: SWAP1 00003204: POP 00003205: POP 00003206: POP 00003207: POP 00003208: POP 00003209: POP 0000320a: JUMP 0000320b: JUMPDEST 0000320c: PUSH2 0x3213 0000320f: PUSH2 0x3b5c 00003212: JUMP 00003213: JUMPDEST 00003214: PUSH0 00003215: DUP1 00003216: JUMPDEST 00003217: PUSH1 0x20 00003219: DUP1 0000321a: SLOAD 0000321b: SWAP1 0000321c: POP 0000321d: DUP2 0000321e: LT 0000321f: ISZERO 00003220: PUSH2 0x32a7 00003223: JUMPI 00003224: CALLER 00003225: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000323a: AND 0000323b: PUSH1 0x20 0000323d: DUP3 0000323e: DUP2 0000323f: SLOAD 00003240: DUP2 00003241: LT 00003242: PUSH2 0x324e 00003245: JUMPI 00003246: PUSH2 0x324d 00003249: PUSH2 0x4226 0000324c: JUMP 0000324d: JUMPDEST 0000324e: JUMPDEST 0000324f: SWAP1 00003250: PUSH0 00003251: MSTORE 00003252: PUSH1 0x20 00003254: PUSH0 00003255: KECCAK256 00003256: ADD 00003257: PUSH0 00003258: SWAP1 00003259: SLOAD 0000325a: SWAP1 0000325b: PUSH2 0x0100 0000325e: EXP 0000325f: SWAP1 00003260: DIV 00003261: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003276: AND 00003277: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000328c: AND 0000328d: SUB 0000328e: PUSH2 0x329a 00003291: JUMPI 00003292: PUSH1 0x01 00003294: SWAP2 00003295: POP 00003296: PUSH2 0x32a7 00003299: JUMP 0000329a: JUMPDEST 0000329b: DUP1 0000329c: DUP1 0000329d: PUSH1 0x01 0000329f: ADD 000032a0: SWAP2 000032a1: POP 000032a2: POP 000032a3: PUSH2 0x3216 000032a6: JUMP 000032a7: JUMPDEST 000032a8: POP 000032a9: DUP1 000032aa: PUSH2 0x32e8 000032ad: JUMPI 000032ae: PUSH1 0x40 000032b0: MLOAD 000032b1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000032d2: DUP2 000032d3: MSTORE 000032d4: PUSH1 0x04 000032d6: ADD 000032d7: PUSH2 0x32df 000032da: SWAP1 000032db: PUSH2 0x42ad 000032de: JUMP 000032df: JUMPDEST 000032e0: PUSH1 0x40 000032e2: MLOAD 000032e3: DUP1 000032e4: SWAP2 000032e5: SUB 000032e6: SWAP1 000032e7: REVERT 000032e8: JUMPDEST 000032e9: PUSH1 0x12 000032eb: PUSH1 0x40 000032ed: MLOAD 000032ee: DUP1 000032ef: PUSH1 0xe0 000032f1: ADD 000032f2: PUSH1 0x40 000032f4: MSTORE 000032f5: SWAP1 000032f6: DUP2 000032f7: PUSH0 000032f8: DUP3 000032f9: ADD 000032fa: DUP1 000032fb: SLOAD 000032fc: DUP1 000032fd: PUSH1 0x20 000032ff: MUL 00003300: PUSH1 0x20 00003302: ADD 00003303: PUSH1 0x40 00003305: MLOAD 00003306: SWAP1 00003307: DUP2 00003308: ADD 00003309: PUSH1 0x40 0000330b: MSTORE 0000330c: DUP1 0000330d: SWAP3 0000330e: SWAP2 0000330f: SWAP1 00003310: DUP2 00003311: DUP2 00003312: MSTORE 00003313: PUSH1 0x20 00003315: ADD 00003316: DUP3 00003317: DUP1 00003318: SLOAD 00003319: DUP1 0000331a: ISZERO 0000331b: PUSH2 0x3376 0000331e: JUMPI 0000331f: PUSH1 0x20 00003321: MUL 00003322: DUP3 00003323: ADD 00003324: SWAP2 00003325: SWAP1 00003326: PUSH0 00003327: MSTORE 00003328: PUSH1 0x20 0000332a: PUSH0 0000332b: KECCAK256 0000332c: SWAP1 0000332d: JUMPDEST 0000332e: DUP2 0000332f: PUSH0 00003330: SWAP1 00003331: SLOAD 00003332: SWAP1 00003333: PUSH2 0x0100 00003336: EXP 00003337: SWAP1 00003338: DIV 00003339: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000334e: AND 0000334f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003364: AND 00003365: DUP2 00003366: MSTORE 00003367: PUSH1 0x20 00003369: ADD 0000336a: SWAP1 0000336b: PUSH1 0x01 0000336d: ADD 0000336e: SWAP1 0000336f: DUP1 00003370: DUP4 00003371: GT 00003372: PUSH2 0x332d 00003375: JUMPI 00003376: JUMPDEST 00003377: POP 00003378: POP 00003379: POP 0000337a: POP 0000337b: POP 0000337c: DUP2 0000337d: MSTORE 0000337e: PUSH1 0x20 00003380: ADD 00003381: PUSH1 0x01 00003383: DUP3 00003384: ADD 00003385: PUSH0 00003386: SWAP1 00003387: SLOAD 00003388: SWAP1 00003389: PUSH2 0x0100 0000338c: EXP 0000338d: SWAP1 0000338e: DIV 0000338f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000033a4: AND 000033a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000033ba: AND 000033bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000033d0: AND 000033d1: DUP2 000033d2: MSTORE 000033d3: PUSH1 0x20 000033d5: ADD 000033d6: PUSH1 0x02 000033d8: DUP3 000033d9: ADD 000033da: SLOAD 000033db: DUP2 000033dc: MSTORE 000033dd: PUSH1 0x20 000033df: ADD 000033e0: PUSH1 0x03 000033e2: DUP3 000033e3: ADD 000033e4: SLOAD 000033e5: DUP2 000033e6: MSTORE 000033e7: PUSH1 0x20 000033e9: ADD 000033ea: PUSH1 0x04 000033ec: DUP3 000033ed: ADD 000033ee: SLOAD 000033ef: DUP2 000033f0: MSTORE 000033f1: PUSH1 0x20 000033f3: ADD 000033f4: PUSH1 0x05 000033f6: DUP3 000033f7: ADD 000033f8: DUP1 000033f9: SLOAD 000033fa: DUP1 000033fb: PUSH1 0x20 000033fd: MUL 000033fe: PUSH1 0x20 00003400: ADD 00003401: PUSH1 0x40 00003403: MLOAD 00003404: SWAP1 00003405: DUP2 00003406: ADD 00003407: PUSH1 0x40 00003409: MSTORE 0000340a: DUP1 0000340b: SWAP3 0000340c: SWAP2 0000340d: SWAP1 0000340e: DUP2 0000340f: DUP2 00003410: MSTORE 00003411: PUSH1 0x20 00003413: ADD 00003414: DUP3 00003415: DUP1 00003416: SLOAD 00003417: DUP1 00003418: ISZERO 00003419: PUSH2 0x3474 0000341c: JUMPI 0000341d: PUSH1 0x20 0000341f: MUL 00003420: DUP3 00003421: ADD 00003422: SWAP2 00003423: SWAP1 00003424: PUSH0 00003425: MSTORE 00003426: PUSH1 0x20 00003428: PUSH0 00003429: KECCAK256 0000342a: SWAP1 0000342b: JUMPDEST 0000342c: DUP2 0000342d: PUSH0 0000342e: SWAP1 0000342f: SLOAD 00003430: SWAP1 00003431: PUSH2 0x0100 00003434: EXP 00003435: SWAP1 00003436: DIV 00003437: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000344c: AND 0000344d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003462: AND 00003463: DUP2 00003464: MSTORE 00003465: PUSH1 0x20 00003467: ADD 00003468: SWAP1 00003469: PUSH1 0x01 0000346b: ADD 0000346c: SWAP1 0000346d: DUP1 0000346e: DUP4 0000346f: GT 00003470: PUSH2 0x342b 00003473: JUMPI 00003474: JUMPDEST 00003475: POP 00003476: POP 00003477: POP 00003478: POP 00003479: POP 0000347a: DUP2 0000347b: MSTORE 0000347c: PUSH1 0x20 0000347e: ADD 0000347f: PUSH1 0x06 00003481: DUP3 00003482: ADD 00003483: SLOAD 00003484: DUP2 00003485: MSTORE 00003486: POP 00003487: POP 00003488: SWAP2 00003489: POP 0000348a: POP 0000348b: SWAP1 0000348c: JUMP 0000348d: JUMPDEST 0000348e: CALLER 0000348f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000034a4: AND 000034a5: PUSH1 0x21 000034a7: PUSH0 000034a8: SWAP1 000034a9: SLOAD 000034aa: SWAP1 000034ab: PUSH2 0x0100 000034ae: EXP 000034af: SWAP1 000034b0: DIV 000034b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000034c6: AND 000034c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000034dc: AND 000034dd: EQ 000034de: PUSH2 0x351c 000034e1: JUMPI 000034e2: PUSH1 0x40 000034e4: MLOAD 000034e5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00003506: DUP2 00003507: MSTORE 00003508: PUSH1 0x04 0000350a: ADD 0000350b: PUSH2 0x3513 0000350e: SWAP1 0000350f: PUSH2 0x4381 00003512: JUMP 00003513: JUMPDEST 00003514: PUSH1 0x40 00003516: MLOAD 00003517: DUP1 00003518: SWAP2 00003519: SUB 0000351a: SWAP1 0000351b: REVERT 0000351c: JUMPDEST 0000351d: PUSH1 0x20 0000351f: DUP2 00003520: SWAP1 00003521: DUP1 00003522: PUSH1 0x01 00003524: DUP2 00003525: SLOAD 00003526: ADD 00003527: DUP1 00003528: DUP3 00003529: SSTORE 0000352a: DUP1 0000352b: SWAP2 0000352c: POP 0000352d: POP 0000352e: PUSH1 0x01 00003530: SWAP1 00003531: SUB 00003532: SWAP1 00003533: PUSH0 00003534: MSTORE 00003535: PUSH1 0x20 00003537: PUSH0 00003538: KECCAK256 00003539: ADD 0000353a: PUSH0 0000353b: SWAP1 0000353c: SWAP2 0000353d: SWAP1 0000353e: SWAP2 0000353f: SWAP1 00003540: SWAP2 00003541: PUSH2 0x0100 00003544: EXP 00003545: DUP2 00003546: SLOAD 00003547: DUP2 00003548: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000355d: MUL 0000355e: NOT 0000355f: AND 00003560: SWAP1 00003561: DUP4 00003562: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003577: AND 00003578: MUL 00003579: OR 0000357a: SWAP1 0000357b: SSTORE 0000357c: POP 0000357d: POP 0000357e: JUMP 0000357f: JUMPDEST 00003580: PUSH0 00003581: DUP1 00003582: JUMPDEST 00003583: PUSH1 0x20 00003585: DUP1 00003586: SLOAD 00003587: SWAP1 00003588: POP 00003589: DUP2 0000358a: LT 0000358b: ISZERO 0000358c: PUSH2 0x3613 0000358f: JUMPI 00003590: CALLER 00003591: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000035a6: AND 000035a7: PUSH1 0x20 000035a9: DUP3 000035aa: DUP2 000035ab: SLOAD 000035ac: DUP2 000035ad: LT 000035ae: PUSH2 0x35ba 000035b1: JUMPI 000035b2: PUSH2 0x35b9 000035b5: PUSH2 0x4226 000035b8: JUMP 000035b9: JUMPDEST 000035ba: JUMPDEST 000035bb: SWAP1 000035bc: PUSH0 000035bd: MSTORE 000035be: PUSH1 0x20 000035c0: PUSH0 000035c1: KECCAK256 000035c2: ADD 000035c3: PUSH0 000035c4: SWAP1 000035c5: SLOAD 000035c6: SWAP1 000035c7: PUSH2 0x0100 000035ca: EXP 000035cb: SWAP1 000035cc: DIV 000035cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000035e2: AND 000035e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000035f8: AND 000035f9: SUB 000035fa: PUSH2 0x3606 000035fd: JUMPI 000035fe: PUSH1 0x01 00003600: SWAP2 00003601: POP 00003602: PUSH2 0x3613 00003605: JUMP 00003606: JUMPDEST 00003607: DUP1 00003608: DUP1 00003609: PUSH1 0x01 0000360b: ADD 0000360c: SWAP2 0000360d: POP 0000360e: POP 0000360f: PUSH2 0x3582 00003612: JUMP 00003613: JUMPDEST 00003614: POP 00003615: DUP1 00003616: PUSH2 0x3654 00003619: JUMPI 0000361a: PUSH1 0x40 0000361c: MLOAD 0000361d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000363e: DUP2 0000363f: MSTORE 00003640: PUSH1 0x04 00003642: ADD 00003643: PUSH2 0x364b 00003646: SWAP1 00003647: PUSH2 0x42ad 0000364a: JUMP 0000364b: JUMPDEST 0000364c: PUSH1 0x40 0000364e: MLOAD 0000364f: DUP1 00003650: SWAP2 00003651: SUB 00003652: SWAP1 00003653: REVERT 00003654: JUMPDEST 00003655: PUSH0 00003656: PUSH1 0x02 00003658: PUSH8 0xffffffffffffffff 00003661: DUP2 00003662: GT 00003663: ISZERO 00003664: PUSH2 0x3670 00003667: JUMPI 00003668: PUSH2 0x366f 0000366b: PUSH2 0x42cb 0000366e: JUMP 0000366f: JUMPDEST 00003670: JUMPDEST 00003671: PUSH1 0x40 00003673: MLOAD 00003674: SWAP1 00003675: DUP1 00003676: DUP3 00003677: MSTORE 00003678: DUP1 00003679: PUSH1 0x20 0000367b: MUL 0000367c: PUSH1 0x20 0000367e: ADD 0000367f: DUP3 00003680: ADD 00003681: PUSH1 0x40 00003683: MSTORE 00003684: DUP1 00003685: ISZERO 00003686: PUSH2 0x369e 00003689: JUMPI 0000368a: DUP2 0000368b: PUSH1 0x20 0000368d: ADD 0000368e: PUSH1 0x20 00003690: DUP3 00003691: MUL 00003692: DUP1 00003693: CALLDATASIZE 00003694: DUP4 00003695: CALLDATACOPY 00003696: DUP1 00003697: DUP3 00003698: ADD 00003699: SWAP2 0000369a: POP 0000369b: POP 0000369c: SWAP1 0000369d: POP 0000369e: JUMPDEST 0000369f: POP 000036a0: SWAP1 000036a1: POP 000036a2: PUSH0 000036a3: DUP1 000036a4: SLOAD 000036a5: SWAP1 000036a6: PUSH2 0x0100 000036a9: EXP 000036aa: SWAP1 000036ab: DIV 000036ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000036c1: AND 000036c2: DUP2 000036c3: PUSH0 000036c4: DUP2 000036c5: MLOAD 000036c6: DUP2 000036c7: LT 000036c8: PUSH2 0x36d4 000036cb: JUMPI 000036cc: PUSH2 0x36d3 000036cf: PUSH2 0x4226 000036d2: JUMP 000036d3: JUMPDEST 000036d4: JUMPDEST 000036d5: PUSH1 0x20 000036d7: MUL 000036d8: PUSH1 0x20 000036da: ADD 000036db: ADD 000036dc: SWAP1 000036dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000036f2: AND 000036f3: SWAP1 000036f4: DUP2 000036f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000370a: AND 0000370b: DUP2 0000370c: MSTORE 0000370d: POP 0000370e: POP 0000370f: DUP7 00003710: DUP2 00003711: PUSH1 0x01 00003713: DUP2 00003714: MLOAD 00003715: DUP2 00003716: LT 00003717: PUSH2 0x3723 0000371a: JUMPI 0000371b: PUSH2 0x3722 0000371e: PUSH2 0x4226 00003721: JUMP 00003722: JUMPDEST 00003723: JUMPDEST 00003724: PUSH1 0x20 00003726: MUL 00003727: PUSH1 0x20 00003729: ADD 0000372a: ADD 0000372b: SWAP1 0000372c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003741: AND 00003742: SWAP1 00003743: DUP2 00003744: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003759: AND 0000375a: DUP2 0000375b: MSTORE 0000375c: POP 0000375d: POP 0000375e: PUSH1 0x40 00003760: MLOAD 00003761: DUP1 00003762: PUSH1 0xe0 00003764: ADD 00003765: PUSH1 0x40 00003767: MSTORE 00003768: DUP1 00003769: DUP11 0000376a: DUP11 0000376b: DUP1 0000376c: DUP1 0000376d: PUSH1 0x20 0000376f: MUL 00003770: PUSH1 0x20 00003772: ADD 00003773: PUSH1 0x40 00003775: MLOAD 00003776: SWAP1 00003777: DUP2 00003778: ADD 00003779: PUSH1 0x40 0000377b: MSTORE 0000377c: DUP1 0000377d: SWAP4 0000377e: SWAP3 0000377f: SWAP2 00003780: SWAP1 00003781: DUP2 00003782: DUP2 00003783: MSTORE 00003784: PUSH1 0x20 00003786: ADD 00003787: DUP4 00003788: DUP4 00003789: PUSH1 0x20 0000378b: MUL 0000378c: DUP1 0000378d: DUP3 0000378e: DUP5 0000378f: CALLDATACOPY 00003790: PUSH0 00003791: DUP2 00003792: DUP5 00003793: ADD 00003794: MSTORE 00003795: PUSH1 0x1f 00003797: NOT 00003798: PUSH1 0x1f 0000379a: DUP3 0000379b: ADD 0000379c: AND 0000379d: SWAP1 0000379e: POP 0000379f: DUP1 000037a0: DUP4 000037a1: ADD 000037a2: SWAP3 000037a3: POP 000037a4: POP 000037a5: POP 000037a6: POP 000037a7: POP 000037a8: POP 000037a9: POP 000037aa: DUP2 000037ab: MSTORE 000037ac: PUSH1 0x20 000037ae: ADD 000037af: DUP9 000037b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000037c5: AND 000037c6: DUP2 000037c7: MSTORE 000037c8: PUSH1 0x20 000037ca: ADD 000037cb: DUP8 000037cc: DUP2 000037cd: MSTORE 000037ce: PUSH1 0x20 000037d0: ADD 000037d1: DUP7 000037d2: DUP2 000037d3: MSTORE 000037d4: PUSH1 0x20 000037d6: ADD 000037d7: DUP6 000037d8: DUP2 000037d9: MSTORE 000037da: PUSH1 0x20 000037dc: ADD 000037dd: DUP3 000037de: DUP2 000037df: MSTORE 000037e0: PUSH1 0x20 000037e2: ADD 000037e3: DUP5 000037e4: DUP2 000037e5: MSTORE 000037e6: POP 000037e7: PUSH1 0x19 000037e9: PUSH0 000037ea: DUP3 000037eb: ADD 000037ec: MLOAD 000037ed: DUP2 000037ee: PUSH0 000037ef: ADD 000037f0: SWAP1 000037f1: DUP1 000037f2: MLOAD 000037f3: SWAP1 000037f4: PUSH1 0x20 000037f6: ADD 000037f7: SWAP1 000037f8: PUSH2 0x3802 000037fb: SWAP3 000037fc: SWAP2 000037fd: SWAP1 000037fe: PUSH2 0x39eb 00003801: JUMP 00003802: JUMPDEST 00003803: POP 00003804: PUSH1 0x20 00003806: DUP3 00003807: ADD 00003808: MLOAD 00003809: DUP2 0000380a: PUSH1 0x01 0000380c: ADD 0000380d: PUSH0 0000380e: PUSH2 0x0100 00003811: EXP 00003812: DUP2 00003813: SLOAD 00003814: DUP2 00003815: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000382a: MUL 0000382b: NOT 0000382c: AND 0000382d: SWAP1 0000382e: DUP4 0000382f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003844: AND 00003845: MUL 00003846: OR 00003847: SWAP1 00003848: SSTORE 00003849: POP 0000384a: PUSH1 0x40 0000384c: DUP3 0000384d: ADD 0000384e: MLOAD 0000384f: DUP2 00003850: PUSH1 0x02 00003852: ADD 00003853: SSTORE 00003854: PUSH1 0x60 00003856: DUP3 00003857: ADD 00003858: MLOAD 00003859: DUP2 0000385a: PUSH1 0x03 0000385c: ADD 0000385d: SSTORE 0000385e: PUSH1 0x80 00003860: DUP3 00003861: ADD 00003862: MLOAD 00003863: DUP2 00003864: PUSH1 0x04 00003866: ADD 00003867: SSTORE 00003868: PUSH1 0xa0 0000386a: DUP3 0000386b: ADD 0000386c: MLOAD 0000386d: DUP2 0000386e: PUSH1 0x05 00003870: ADD 00003871: SWAP1 00003872: DUP1 00003873: MLOAD 00003874: SWAP1 00003875: PUSH1 0x20 00003877: ADD 00003878: SWAP1 00003879: PUSH2 0x3883 0000387c: SWAP3 0000387d: SWAP2 0000387e: SWAP1 0000387f: PUSH2 0x39eb 00003882: JUMP 00003883: JUMPDEST 00003884: POP 00003885: PUSH1 0xc0 00003887: DUP3 00003888: ADD 00003889: MLOAD 0000388a: DUP2 0000388b: PUSH1 0x06 0000388d: ADD 0000388e: SSTORE 0000388f: SWAP1 00003890: POP 00003891: POP 00003892: POP 00003893: POP 00003894: POP 00003895: POP 00003896: POP 00003897: POP 00003898: POP 00003899: POP 0000389a: POP 0000389b: JUMP 0000389c: JUMPDEST 0000389d: PUSH0 0000389e: DUP1 0000389f: DUP5 000038a0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000038b5: AND 000038b6: PUSH4 0xa9059cbb 000038bb: PUSH1 0xe0 000038bd: SHL 000038be: DUP6 000038bf: DUP6 000038c0: PUSH1 0x40 000038c2: MLOAD 000038c3: PUSH1 0x24 000038c5: ADD 000038c6: PUSH2 0x38d0 000038c9: SWAP3 000038ca: SWAP2 000038cb: SWAP1 000038cc: PUSH2 0x49a0 000038cf: JUMP 000038d0: JUMPDEST 000038d1: PUSH1 0x40 000038d3: MLOAD 000038d4: PUSH1 0x20 000038d6: DUP2 000038d7: DUP4 000038d8: SUB 000038d9: SUB 000038da: DUP2 000038db: MSTORE 000038dc: SWAP1 000038dd: PUSH1 0x40 000038df: MSTORE 000038e0: SWAP1 000038e1: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000038fe: NOT 000038ff: AND 00003900: PUSH1 0x20 00003902: DUP3 00003903: ADD 00003904: DUP1 00003905: MLOAD 00003906: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003923: DUP4 00003924: DUP2 00003925: DUP4 00003926: AND 00003927: OR 00003928: DUP4 00003929: MSTORE 0000392a: POP 0000392b: POP 0000392c: POP 0000392d: POP 0000392e: PUSH1 0x40 00003930: MLOAD 00003931: PUSH2 0x393a 00003934: SWAP2 00003935: SWAP1 00003936: PUSH2 0x47de 00003939: JUMP 0000393a: JUMPDEST 0000393b: PUSH0 0000393c: PUSH1 0x40 0000393e: MLOAD 0000393f: DUP1 00003940: DUP4 00003941: SUB 00003942: DUP2 00003943: PUSH0 00003944: DUP7 00003945: GAS 00003946: CALL 00003947: SWAP2 00003948: POP 00003949: POP 0000394a: RETURNDATASIZE 0000394b: DUP1 0000394c: PUSH0 0000394d: DUP2 0000394e: EQ 0000394f: PUSH2 0x3973 00003952: JUMPI 00003953: PUSH1 0x40 00003955: MLOAD 00003956: SWAP2 00003957: POP 00003958: PUSH1 0x1f 0000395a: NOT 0000395b: PUSH1 0x3f 0000395d: RETURNDATASIZE 0000395e: ADD 0000395f: AND 00003960: DUP3 00003961: ADD 00003962: PUSH1 0x40 00003964: MSTORE 00003965: RETURNDATASIZE 00003966: DUP3 00003967: MSTORE 00003968: RETURNDATASIZE 00003969: PUSH0 0000396a: PUSH1 0x20 0000396c: DUP5 0000396d: ADD 0000396e: RETURNDATACOPY 0000396f: PUSH2 0x3978 00003972: JUMP 00003973: JUMPDEST 00003974: PUSH1 0x60 00003976: SWAP2 00003977: POP 00003978: JUMPDEST 00003979: POP 0000397a: SWAP2 0000397b: POP 0000397c: SWAP2 0000397d: POP 0000397e: DUP2 0000397f: DUP1 00003980: ISZERO 00003981: PUSH2 0x39a5 00003984: JUMPI 00003985: POP 00003986: PUSH0 00003987: DUP2 00003988: MLOAD 00003989: EQ 0000398a: DUP1 0000398b: PUSH2 0x39a4 0000398e: JUMPI 0000398f: POP 00003990: DUP1 00003991: DUP1 00003992: PUSH1 0x20 00003994: ADD 00003995: SWAP1 00003996: MLOAD 00003997: DUP2 00003998: ADD 00003999: SWAP1 0000399a: PUSH2 0x39a3 0000399d: SWAP2 0000399e: SWAP1 0000399f: PUSH2 0x49fc 000039a2: JUMP 000039a3: JUMPDEST 000039a4: JUMPDEST 000039a5: JUMPDEST 000039a6: PUSH2 0x39e4 000039a9: JUMPI 000039aa: PUSH1 0x40 000039ac: MLOAD 000039ad: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000039ce: DUP2 000039cf: MSTORE 000039d0: PUSH1 0x04 000039d2: ADD 000039d3: PUSH2 0x39db 000039d6: SWAP1 000039d7: PUSH2 0x4a71 000039da: JUMP 000039db: JUMPDEST 000039dc: PUSH1 0x40 000039de: MLOAD 000039df: DUP1 000039e0: SWAP2 000039e1: SUB 000039e2: SWAP1 000039e3: REVERT 000039e4: JUMPDEST 000039e5: POP 000039e6: POP 000039e7: POP 000039e8: POP 000039e9: POP 000039ea: JUMP 000039eb: JUMPDEST 000039ec: DUP3 000039ed: DUP1 000039ee: SLOAD 000039ef: DUP3 000039f0: DUP3 000039f1: SSTORE 000039f2: SWAP1 000039f3: PUSH0 000039f4: MSTORE 000039f5: PUSH1 0x20 000039f7: PUSH0 000039f8: KECCAK256 000039f9: SWAP1 000039fa: DUP2 000039fb: ADD 000039fc: SWAP3 000039fd: DUP3 000039fe: ISZERO 000039ff: PUSH2 0x3a61 00003a02: JUMPI 00003a03: SWAP2 00003a04: PUSH1 0x20 00003a06: MUL 00003a07: DUP3 00003a08: ADD 00003a09: JUMPDEST 00003a0a: DUP3 00003a0b: DUP2 00003a0c: GT 00003a0d: ISZERO 00003a0e: PUSH2 0x3a60 00003a11: JUMPI 00003a12: DUP3 00003a13: MLOAD 00003a14: DUP3 00003a15: PUSH0 00003a16: PUSH2 0x0100 00003a19: EXP 00003a1a: DUP2 00003a1b: SLOAD 00003a1c: DUP2 00003a1d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003a32: MUL 00003a33: NOT 00003a34: AND 00003a35: SWAP1 00003a36: DUP4 00003a37: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003a4c: AND 00003a4d: MUL 00003a4e: OR 00003a4f: SWAP1 00003a50: SSTORE 00003a51: POP 00003a52: SWAP2 00003a53: PUSH1 0x20 00003a55: ADD 00003a56: SWAP2 00003a57: SWAP1 00003a58: PUSH1 0x01 00003a5a: ADD 00003a5b: SWAP1 00003a5c: PUSH2 0x3a09 00003a5f: JUMP 00003a60: JUMPDEST 00003a61: JUMPDEST 00003a62: POP 00003a63: SWAP1 00003a64: POP 00003a65: PUSH2 0x3a6e 00003a68: SWAP2 00003a69: SWAP1 00003a6a: PUSH2 0x3baa 00003a6d: JUMP 00003a6e: JUMPDEST 00003a6f: POP 00003a70: SWAP1 00003a71: JUMP 00003a72: JUMPDEST 00003a73: PUSH1 0x40 00003a75: MLOAD 00003a76: DUP1 00003a77: PUSH1 0xe0 00003a79: ADD 00003a7a: PUSH1 0x40 00003a7c: MSTORE 00003a7d: DUP1 00003a7e: PUSH1 0x60 00003a80: DUP2 00003a81: MSTORE 00003a82: PUSH1 0x20 00003a84: ADD 00003a85: PUSH0 00003a86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003a9b: AND 00003a9c: DUP2 00003a9d: MSTORE 00003a9e: PUSH1 0x20 00003aa0: ADD 00003aa1: PUSH0 00003aa2: DUP2 00003aa3: MSTORE 00003aa4: PUSH1 0x20 00003aa6: ADD 00003aa7: PUSH0 00003aa8: DUP2 00003aa9: MSTORE 00003aaa: PUSH1 0x20 00003aac: ADD 00003aad: PUSH0 00003aae: DUP2 00003aaf: MSTORE 00003ab0: PUSH1 0x20 00003ab2: ADD 00003ab3: PUSH1 0x60 00003ab5: DUP2 00003ab6: MSTORE 00003ab7: PUSH1 0x20 00003ab9: ADD 00003aba: PUSH0 00003abb: DUP2 00003abc: MSTORE 00003abd: POP 00003abe: SWAP1 00003abf: JUMP 00003ac0: JUMPDEST 00003ac1: PUSH1 0x40 00003ac3: MLOAD 00003ac4: DUP1 00003ac5: PUSH1 0xe0 00003ac7: ADD 00003ac8: PUSH1 0x40 00003aca: MSTORE 00003acb: DUP1 00003acc: PUSH1 0x60 00003ace: DUP2 00003acf: MSTORE 00003ad0: PUSH1 0x20 00003ad2: ADD 00003ad3: PUSH0 00003ad4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003ae9: AND 00003aea: DUP2 00003aeb: MSTORE 00003aec: PUSH1 0x20 00003aee: ADD 00003aef: PUSH0 00003af0: DUP2 00003af1: MSTORE 00003af2: PUSH1 0x20 00003af4: ADD 00003af5: PUSH0 00003af6: DUP2 00003af7: MSTORE 00003af8: PUSH1 0x20 00003afa: ADD 00003afb: PUSH0 00003afc: DUP2 00003afd: MSTORE 00003afe: PUSH1 0x20 00003b00: ADD 00003b01: PUSH1 0x60 00003b03: DUP2 00003b04: MSTORE 00003b05: PUSH1 0x20 00003b07: ADD 00003b08: PUSH0 00003b09: DUP2 00003b0a: MSTORE 00003b0b: POP 00003b0c: SWAP1 00003b0d: JUMP 00003b0e: JUMPDEST 00003b0f: PUSH1 0x40 00003b11: MLOAD 00003b12: DUP1 00003b13: PUSH1 0xe0 00003b15: ADD 00003b16: PUSH1 0x40 00003b18: MSTORE 00003b19: DUP1 00003b1a: PUSH1 0x60 00003b1c: DUP2 00003b1d: MSTORE 00003b1e: PUSH1 0x20 00003b20: ADD 00003b21: PUSH0 00003b22: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003b37: AND 00003b38: DUP2 00003b39: MSTORE 00003b3a: PUSH1 0x20 00003b3c: ADD 00003b3d: PUSH0 00003b3e: DUP2 00003b3f: MSTORE 00003b40: PUSH1 0x20 00003b42: ADD 00003b43: PUSH0 00003b44: DUP2 00003b45: MSTORE 00003b46: PUSH1 0x20 00003b48: ADD 00003b49: PUSH0 00003b4a: DUP2 00003b4b: MSTORE 00003b4c: PUSH1 0x20 00003b4e: ADD 00003b4f: PUSH1 0x60 00003b51: DUP2 00003b52: MSTORE 00003b53: PUSH1 0x20 00003b55: ADD 00003b56: PUSH0 00003b57: DUP2 00003b58: MSTORE 00003b59: POP 00003b5a: SWAP1 00003b5b: JUMP 00003b5c: JUMPDEST 00003b5d: PUSH1 0x40 00003b5f: MLOAD 00003b60: DUP1 00003b61: PUSH1 0xe0 00003b63: ADD 00003b64: PUSH1 0x40 00003b66: MSTORE 00003b67: DUP1 00003b68: PUSH1 0x60 00003b6a: DUP2 00003b6b: MSTORE 00003b6c: PUSH1 0x20 00003b6e: ADD 00003b6f: PUSH0 00003b70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003b85: AND 00003b86: DUP2 00003b87: MSTORE 00003b88: PUSH1 0x20 00003b8a: ADD 00003b8b: PUSH0 00003b8c: DUP2 00003b8d: MSTORE 00003b8e: PUSH1 0x20 00003b90: ADD 00003b91: PUSH0 00003b92: DUP2 00003b93: MSTORE 00003b94: PUSH1 0x20 00003b96: ADD 00003b97: PUSH0 00003b98: DUP2 00003b99: MSTORE 00003b9a: PUSH1 0x20 00003b9c: ADD 00003b9d: PUSH1 0x60 00003b9f: DUP2 00003ba0: MSTORE 00003ba1: PUSH1 0x20 00003ba3: ADD 00003ba4: PUSH0 00003ba5: DUP2 00003ba6: MSTORE 00003ba7: POP 00003ba8: SWAP1 00003ba9: JUMP 00003baa: JUMPDEST 00003bab: JUMPDEST 00003bac: DUP1 00003bad: DUP3 00003bae: GT 00003baf: ISZERO 00003bb0: PUSH2 0x3bc1 00003bb3: JUMPI 00003bb4: PUSH0 00003bb5: DUP2 00003bb6: PUSH0 00003bb7: SWAP1 00003bb8: SSTORE 00003bb9: POP 00003bba: PUSH1 0x01 00003bbc: ADD 00003bbd: PUSH2 0x3bab 00003bc0: JUMP 00003bc1: JUMPDEST 00003bc2: POP 00003bc3: SWAP1 00003bc4: JUMP 00003bc5: JUMPDEST 00003bc6: PUSH0 00003bc7: PUSH1 0x40 00003bc9: MLOAD 00003bca: SWAP1 00003bcb: POP 00003bcc: SWAP1 00003bcd: JUMP 00003bce: JUMPDEST 00003bcf: PUSH0 00003bd0: DUP1 00003bd1: REVERT 00003bd2: JUMPDEST 00003bd3: PUSH0 00003bd4: DUP1 00003bd5: REVERT 00003bd6: JUMPDEST 00003bd7: PUSH0 00003bd8: DUP1 00003bd9: REVERT 00003bda: JUMPDEST 00003bdb: PUSH0 00003bdc: DUP1 00003bdd: REVERT 00003bde: JUMPDEST 00003bdf: PUSH0 00003be0: DUP1 00003be1: REVERT 00003be2: JUMPDEST 00003be3: PUSH0 00003be4: DUP1 00003be5: DUP4 00003be6: PUSH1 0x1f 00003be8: DUP5 00003be9: ADD 00003bea: SLT 00003beb: PUSH2 0x3bf7 00003bee: JUMPI 00003bef: PUSH2 0x3bf6 00003bf2: PUSH2 0x3bd6 00003bf5: JUMP 00003bf6: JUMPDEST 00003bf7: JUMPDEST 00003bf8: DUP3 00003bf9: CALLDATALOAD 00003bfa: SWAP1 00003bfb: POP 00003bfc: PUSH8 0xffffffffffffffff 00003c05: DUP2 00003c06: GT 00003c07: ISZERO 00003c08: PUSH2 0x3c14 00003c0b: JUMPI 00003c0c: PUSH2 0x3c13 00003c0f: PUSH2 0x3bda 00003c12: JUMP 00003c13: JUMPDEST 00003c14: JUMPDEST 00003c15: PUSH1 0x20 00003c17: DUP4 00003c18: ADD 00003c19: SWAP2 00003c1a: POP 00003c1b: DUP4 00003c1c: PUSH1 0x20 00003c1e: DUP3 00003c1f: MUL 00003c20: DUP4 00003c21: ADD 00003c22: GT 00003c23: ISZERO 00003c24: PUSH2 0x3c30 00003c27: JUMPI 00003c28: PUSH2 0x3c2f 00003c2b: PUSH2 0x3bde 00003c2e: JUMP 00003c2f: JUMPDEST 00003c30: JUMPDEST 00003c31: SWAP3 00003c32: POP 00003c33: SWAP3 00003c34: SWAP1 00003c35: POP 00003c36: JUMP 00003c37: JUMPDEST 00003c38: PUSH0 00003c39: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003c4e: DUP3 00003c4f: AND 00003c50: SWAP1 00003c51: POP 00003c52: SWAP2 00003c53: SWAP1 00003c54: POP 00003c55: JUMP 00003c56: JUMPDEST 00003c57: PUSH0 00003c58: PUSH2 0x3c60 00003c5b: DUP3 00003c5c: PUSH2 0x3c37 00003c5f: JUMP 00003c60: JUMPDEST 00003c61: SWAP1 00003c62: POP 00003c63: SWAP2 00003c64: SWAP1 00003c65: POP 00003c66: JUMP 00003c67: JUMPDEST 00003c68: PUSH2 0x3c70 00003c6b: DUP2 00003c6c: PUSH2 0x3c56 00003c6f: JUMP 00003c70: JUMPDEST 00003c71: DUP2 00003c72: EQ 00003c73: PUSH2 0x3c7a 00003c76: JUMPI 00003c77: PUSH0 00003c78: DUP1 00003c79: REVERT 00003c7a: JUMPDEST 00003c7b: POP 00003c7c: JUMP 00003c7d: JUMPDEST 00003c7e: PUSH0 00003c7f: DUP2 00003c80: CALLDATALOAD 00003c81: SWAP1 00003c82: POP 00003c83: PUSH2 0x3c8b 00003c86: DUP2 00003c87: PUSH2 0x3c67 00003c8a: JUMP 00003c8b: JUMPDEST 00003c8c: SWAP3 00003c8d: SWAP2 00003c8e: POP 00003c8f: POP 00003c90: JUMP 00003c91: JUMPDEST 00003c92: PUSH0 00003c93: DUP2 00003c94: SWAP1 00003c95: POP 00003c96: SWAP2 00003c97: SWAP1 00003c98: POP 00003c99: JUMP 00003c9a: JUMPDEST 00003c9b: PUSH2 0x3ca3 00003c9e: DUP2 00003c9f: PUSH2 0x3c91 00003ca2: JUMP 00003ca3: JUMPDEST 00003ca4: DUP2 00003ca5: EQ 00003ca6: PUSH2 0x3cad 00003ca9: JUMPI 00003caa: PUSH0 00003cab: DUP1 00003cac: REVERT 00003cad: JUMPDEST 00003cae: POP 00003caf: JUMP 00003cb0: JUMPDEST 00003cb1: PUSH0 00003cb2: DUP2 00003cb3: CALLDATALOAD 00003cb4: SWAP1 00003cb5: POP 00003cb6: PUSH2 0x3cbe 00003cb9: DUP2 00003cba: PUSH2 0x3c9a 00003cbd: JUMP 00003cbe: JUMPDEST 00003cbf: SWAP3 00003cc0: SWAP2 00003cc1: POP 00003cc2: POP 00003cc3: JUMP 00003cc4: JUMPDEST 00003cc5: PUSH0 00003cc6: DUP1 00003cc7: PUSH0 00003cc8: DUP1 00003cc9: PUSH0 00003cca: DUP1 00003ccb: PUSH0 00003ccc: PUSH1 0xc0 00003cce: DUP9 00003ccf: DUP11 00003cd0: SUB 00003cd1: SLT 00003cd2: ISZERO 00003cd3: PUSH2 0x3cdf 00003cd6: JUMPI 00003cd7: PUSH2 0x3cde 00003cda: PUSH2 0x3bce 00003cdd: JUMP 00003cde: JUMPDEST 00003cdf: JUMPDEST 00003ce0: PUSH0 00003ce1: DUP9 00003ce2: ADD 00003ce3: CALLDATALOAD 00003ce4: PUSH8 0xffffffffffffffff 00003ced: DUP2 00003cee: GT 00003cef: ISZERO 00003cf0: PUSH2 0x3cfc 00003cf3: JUMPI 00003cf4: PUSH2 0x3cfb 00003cf7: PUSH2 0x3bd2 00003cfa: JUMP 00003cfb: JUMPDEST 00003cfc: JUMPDEST 00003cfd: PUSH2 0x3d08 00003d00: DUP11 00003d01: DUP3 00003d02: DUP12 00003d03: ADD 00003d04: PUSH2 0x3be2 00003d07: JUMP 00003d08: JUMPDEST 00003d09: SWAP8 00003d0a: POP 00003d0b: SWAP8 00003d0c: POP 00003d0d: POP 00003d0e: PUSH1 0x20 00003d10: PUSH2 0x3d1b 00003d13: DUP11 00003d14: DUP3 00003d15: DUP12 00003d16: ADD 00003d17: PUSH2 0x3c7d 00003d1a: JUMP 00003d1b: JUMPDEST 00003d1c: SWAP6 00003d1d: POP 00003d1e: POP 00003d1f: PUSH1 0x40 00003d21: PUSH2 0x3d2c 00003d24: DUP11 00003d25: DUP3 00003d26: DUP12 00003d27: ADD 00003d28: PUSH2 0x3cb0 00003d2b: JUMP 00003d2c: JUMPDEST 00003d2d: SWAP5 00003d2e: POP 00003d2f: POP 00003d30: PUSH1 0x60 00003d32: PUSH2 0x3d3d 00003d35: DUP11 00003d36: DUP3 00003d37: DUP12 00003d38: ADD 00003d39: PUSH2 0x3cb0 00003d3c: JUMP 00003d3d: JUMPDEST 00003d3e: SWAP4 00003d3f: POP 00003d40: POP 00003d41: PUSH1 0x80 00003d43: PUSH2 0x3d4e 00003d46: DUP11 00003d47: DUP3 00003d48: DUP12 00003d49: ADD 00003d4a: PUSH2 0x3cb0 00003d4d: JUMP 00003d4e: JUMPDEST 00003d4f: SWAP3 00003d50: POP 00003d51: POP 00003d52: PUSH1 0xa0 00003d54: PUSH2 0x3d5f 00003d57: DUP11 00003d58: DUP3 00003d59: DUP12 00003d5a: ADD 00003d5b: PUSH2 0x3cb0 00003d5e: JUMP 00003d5f: JUMPDEST 00003d60: SWAP2 00003d61: POP 00003d62: POP 00003d63: SWAP3 00003d64: SWAP6 00003d65: SWAP9 00003d66: SWAP2 00003d67: SWAP5 00003d68: SWAP8 00003d69: POP 00003d6a: SWAP3 00003d6b: SWAP6 00003d6c: POP 00003d6d: JUMP 00003d6e: JUMPDEST 00003d6f: PUSH0 00003d70: DUP2 00003d71: MLOAD 00003d72: SWAP1 00003d73: POP 00003d74: SWAP2 00003d75: SWAP1 00003d76: POP 00003d77: JUMP 00003d78: JUMPDEST 00003d79: PUSH0 00003d7a: DUP3 00003d7b: DUP3 00003d7c: MSTORE 00003d7d: PUSH1 0x20 00003d7f: DUP3 00003d80: ADD 00003d81: SWAP1 00003d82: POP 00003d83: SWAP3 00003d84: SWAP2 00003d85: POP 00003d86: POP 00003d87: JUMP 00003d88: JUMPDEST 00003d89: PUSH0 00003d8a: DUP2 00003d8b: SWAP1 00003d8c: POP 00003d8d: PUSH1 0x20 00003d8f: DUP3 00003d90: ADD 00003d91: SWAP1 00003d92: POP 00003d93: SWAP2 00003d94: SWAP1 00003d95: POP 00003d96: JUMP 00003d97: JUMPDEST 00003d98: PUSH2 0x3da0 00003d9b: DUP2 00003d9c: PUSH2 0x3c56 00003d9f: JUMP 00003da0: JUMPDEST 00003da1: DUP3 00003da2: MSTORE 00003da3: POP 00003da4: POP 00003da5: JUMP 00003da6: JUMPDEST 00003da7: PUSH0 00003da8: PUSH2 0x3db1 00003dab: DUP4 00003dac: DUP4 00003dad: PUSH2 0x3d97 00003db0: JUMP 00003db1: JUMPDEST 00003db2: PUSH1 0x20 00003db4: DUP4 00003db5: ADD 00003db6: SWAP1 00003db7: POP 00003db8: SWAP3 00003db9: SWAP2 00003dba: POP 00003dbb: POP 00003dbc: JUMP 00003dbd: JUMPDEST 00003dbe: PUSH0 00003dbf: PUSH1 0x20 00003dc1: DUP3 00003dc2: ADD 00003dc3: SWAP1 00003dc4: POP 00003dc5: SWAP2 00003dc6: SWAP1 00003dc7: POP 00003dc8: JUMP 00003dc9: JUMPDEST 00003dca: PUSH0 00003dcb: PUSH2 0x3dd3 00003dce: DUP3 00003dcf: PUSH2 0x3d6e 00003dd2: JUMP 00003dd3: JUMPDEST 00003dd4: PUSH2 0x3ddd 00003dd7: DUP2 00003dd8: DUP6 00003dd9: PUSH2 0x3d78 00003ddc: JUMP 00003ddd: JUMPDEST 00003dde: SWAP4 00003ddf: POP 00003de0: PUSH2 0x3de8 00003de3: DUP4 00003de4: PUSH2 0x3d88 00003de7: JUMP 00003de8: JUMPDEST 00003de9: DUP1 00003dea: PUSH0 00003deb: JUMPDEST 00003dec: DUP4 00003ded: DUP2 00003dee: LT 00003def: ISZERO 00003df0: PUSH2 0x3e18 00003df3: JUMPI 00003df4: DUP2 00003df5: MLOAD 00003df6: PUSH2 0x3dff 00003df9: DUP9 00003dfa: DUP3 00003dfb: PUSH2 0x3da6 00003dfe: JUMP 00003dff: JUMPDEST 00003e00: SWAP8 00003e01: POP 00003e02: PUSH2 0x3e0a 00003e05: DUP4 00003e06: PUSH2 0x3dbd 00003e09: JUMP 00003e0a: JUMPDEST 00003e0b: SWAP3 00003e0c: POP 00003e0d: POP 00003e0e: PUSH1 0x01 00003e10: DUP2 00003e11: ADD 00003e12: SWAP1 00003e13: POP 00003e14: PUSH2 0x3deb 00003e17: JUMP 00003e18: JUMPDEST 00003e19: POP 00003e1a: DUP6 00003e1b: SWAP4 00003e1c: POP 00003e1d: POP 00003e1e: POP 00003e1f: POP 00003e20: SWAP3 00003e21: SWAP2 00003e22: POP 00003e23: POP 00003e24: JUMP 00003e25: JUMPDEST 00003e26: PUSH2 0x3e2e 00003e29: DUP2 00003e2a: PUSH2 0x3c91 00003e2d: JUMP 00003e2e: JUMPDEST 00003e2f: DUP3 00003e30: MSTORE 00003e31: POP 00003e32: POP 00003e33: JUMP 00003e34: JUMPDEST 00003e35: PUSH0 00003e36: PUSH1 0xe0 00003e38: DUP4 00003e39: ADD 00003e3a: PUSH0 00003e3b: DUP4 00003e3c: ADD 00003e3d: MLOAD 00003e3e: DUP5 00003e3f: DUP3 00003e40: SUB 00003e41: PUSH0 00003e42: DUP7 00003e43: ADD 00003e44: MSTORE 00003e45: PUSH2 0x3e4e 00003e48: DUP3 00003e49: DUP3 00003e4a: PUSH2 0x3dc9 00003e4d: JUMP 00003e4e: JUMPDEST 00003e4f: SWAP2 00003e50: POP 00003e51: POP 00003e52: PUSH1 0x20 00003e54: DUP4 00003e55: ADD 00003e56: MLOAD 00003e57: PUSH2 0x3e63 00003e5a: PUSH1 0x20 00003e5c: DUP7 00003e5d: ADD 00003e5e: DUP3 00003e5f: PUSH2 0x3d97 00003e62: JUMP 00003e63: JUMPDEST 00003e64: POP 00003e65: PUSH1 0x40 00003e67: DUP4 00003e68: ADD 00003e69: MLOAD 00003e6a: PUSH2 0x3e76 00003e6d: PUSH1 0x40 00003e6f: DUP7 00003e70: ADD 00003e71: DUP3 00003e72: PUSH2 0x3e25 00003e75: JUMP 00003e76: JUMPDEST 00003e77: POP 00003e78: PUSH1 0x60 00003e7a: DUP4 00003e7b: ADD 00003e7c: MLOAD 00003e7d: PUSH2 0x3e89 00003e80: PUSH1 0x60 00003e82: DUP7 00003e83: ADD 00003e84: DUP3 00003e85: PUSH2 0x3e25 00003e88: JUMP 00003e89: JUMPDEST 00003e8a: POP 00003e8b: PUSH1 0x80 00003e8d: DUP4 00003e8e: ADD 00003e8f: MLOAD 00003e90: PUSH2 0x3e9c 00003e93: PUSH1 0x80 00003e95: DUP7 00003e96: ADD 00003e97: DUP3 00003e98: PUSH2 0x3e25 00003e9b: JUMP 00003e9c: JUMPDEST 00003e9d: POP 00003e9e: PUSH1 0xa0 00003ea0: DUP4 00003ea1: ADD 00003ea2: MLOAD 00003ea3: DUP5 00003ea4: DUP3 00003ea5: SUB 00003ea6: PUSH1 0xa0 00003ea8: DUP7 00003ea9: ADD 00003eaa: MSTORE 00003eab: PUSH2 0x3eb4 00003eae: DUP3 00003eaf: DUP3 00003eb0: PUSH2 0x3dc9 00003eb3: JUMP 00003eb4: JUMPDEST 00003eb5: SWAP2 00003eb6: POP 00003eb7: POP 00003eb8: PUSH1 0xc0 00003eba: DUP4 00003ebb: ADD 00003ebc: MLOAD 00003ebd: PUSH2 0x3ec9 00003ec0: PUSH1 0xc0 00003ec2: DUP7 00003ec3: ADD 00003ec4: DUP3 00003ec5: PUSH2 0x3e25 00003ec8: JUMP 00003ec9: JUMPDEST 00003eca: POP 00003ecb: DUP1 00003ecc: SWAP2 00003ecd: POP 00003ece: POP 00003ecf: SWAP3 00003ed0: SWAP2 00003ed1: POP 00003ed2: POP 00003ed3: JUMP 00003ed4: JUMPDEST 00003ed5: PUSH0 00003ed6: PUSH1 0x20 00003ed8: DUP3 00003ed9: ADD 00003eda: SWAP1 00003edb: POP 00003edc: DUP2 00003edd: DUP2 00003ede: SUB 00003edf: PUSH0 00003ee0: DUP4 00003ee1: ADD 00003ee2: MSTORE 00003ee3: PUSH2 0x3eec 00003ee6: DUP2 00003ee7: DUP5 00003ee8: PUSH2 0x3e34 00003eeb: JUMP 00003eec: JUMPDEST 00003eed: SWAP1 00003eee: POP 00003eef: SWAP3 00003ef0: SWAP2 00003ef1: POP 00003ef2: POP 00003ef3: JUMP 00003ef4: JUMPDEST 00003ef5: PUSH0 00003ef6: PUSH1 0x20 00003ef8: DUP3 00003ef9: DUP5 00003efa: SUB 00003efb: SLT 00003efc: ISZERO 00003efd: PUSH2 0x3f09 00003f00: JUMPI 00003f01: PUSH2 0x3f08 00003f04: PUSH2 0x3bce 00003f07: JUMP 00003f08: JUMPDEST 00003f09: JUMPDEST 00003f0a: PUSH0 00003f0b: PUSH2 0x3f16 00003f0e: DUP5 00003f0f: DUP3 00003f10: DUP6 00003f11: ADD 00003f12: PUSH2 0x3cb0 00003f15: JUMP 00003f16: JUMPDEST 00003f17: SWAP2 00003f18: POP 00003f19: POP 00003f1a: SWAP3 00003f1b: SWAP2 00003f1c: POP 00003f1d: POP 00003f1e: JUMP 00003f1f: JUMPDEST 00003f20: PUSH2 0x3f28 00003f23: DUP2 00003f24: PUSH2 0x3c56 00003f27: JUMP 00003f28: JUMPDEST 00003f29: DUP3 00003f2a: MSTORE 00003f2b: POP 00003f2c: POP 00003f2d: JUMP 00003f2e: JUMPDEST 00003f2f: PUSH0 00003f30: PUSH1 0x20 00003f32: DUP3 00003f33: ADD 00003f34: SWAP1 00003f35: POP 00003f36: PUSH2 0x3f41 00003f39: PUSH0 00003f3a: DUP4 00003f3b: ADD 00003f3c: DUP5 00003f3d: PUSH2 0x3f1f 00003f40: JUMP 00003f41: JUMPDEST 00003f42: SWAP3 00003f43: SWAP2 00003f44: POP 00003f45: POP 00003f46: JUMP 00003f47: JUMPDEST 00003f48: PUSH0 00003f49: PUSH1 0xe0 00003f4b: DUP4 00003f4c: ADD 00003f4d: PUSH0 00003f4e: DUP4 00003f4f: ADD 00003f50: MLOAD 00003f51: DUP5 00003f52: DUP3 00003f53: SUB 00003f54: PUSH0 00003f55: DUP7 00003f56: ADD 00003f57: MSTORE 00003f58: PUSH2 0x3f61 00003f5b: DUP3 00003f5c: DUP3 00003f5d: PUSH2 0x3dc9 00003f60: JUMP 00003f61: JUMPDEST 00003f62: SWAP2 00003f63: POP 00003f64: POP 00003f65: PUSH1 0x20 00003f67: DUP4 00003f68: ADD 00003f69: MLOAD 00003f6a: PUSH2 0x3f76 00003f6d: PUSH1 0x20 00003f6f: DUP7 00003f70: ADD 00003f71: DUP3 00003f72: PUSH2 0x3d97 00003f75: JUMP 00003f76: JUMPDEST 00003f77: POP 00003f78: PUSH1 0x40 00003f7a: DUP4 00003f7b: ADD 00003f7c: MLOAD 00003f7d: PUSH2 0x3f89 00003f80: PUSH1 0x40 00003f82: DUP7 00003f83: ADD 00003f84: DUP3 00003f85: PUSH2 0x3e25 00003f88: JUMP 00003f89: JUMPDEST 00003f8a: POP 00003f8b: PUSH1 0x60 00003f8d: DUP4 00003f8e: ADD 00003f8f: MLOAD 00003f90: PUSH2 0x3f9c 00003f93: PUSH1 0x60 00003f95: DUP7 00003f96: ADD 00003f97: DUP3 00003f98: PUSH2 0x3e25 00003f9b: JUMP 00003f9c: JUMPDEST 00003f9d: POP 00003f9e: PUSH1 0x80 00003fa0: DUP4 00003fa1: ADD 00003fa2: MLOAD 00003fa3: PUSH2 0x3faf 00003fa6: PUSH1 0x80 00003fa8: DUP7 00003fa9: ADD 00003faa: DUP3 00003fab: PUSH2 0x3e25 00003fae: JUMP 00003faf: JUMPDEST 00003fb0: POP 00003fb1: PUSH1 0xa0 00003fb3: DUP4 00003fb4: ADD 00003fb5: MLOAD 00003fb6: DUP5 00003fb7: DUP3 00003fb8: SUB 00003fb9: PUSH1 0xa0 00003fbb: DUP7 00003fbc: ADD 00003fbd: MSTORE 00003fbe: PUSH2 0x3fc7 00003fc1: DUP3 00003fc2: DUP3 00003fc3: PUSH2 0x3dc9 00003fc6: JUMP 00003fc7: JUMPDEST 00003fc8: SWAP2 00003fc9: POP 00003fca: POP 00003fcb: PUSH1 0xc0 00003fcd: DUP4 00003fce: ADD 00003fcf: MLOAD 00003fd0: PUSH2 0x3fdc 00003fd3: PUSH1 0xc0 00003fd5: DUP7 00003fd6: ADD 00003fd7: DUP3 00003fd8: PUSH2 0x3e25 00003fdb: JUMP 00003fdc: JUMPDEST 00003fdd: POP 00003fde: DUP1 00003fdf: SWAP2 00003fe0: POP 00003fe1: POP 00003fe2: SWAP3 00003fe3: SWAP2 00003fe4: POP 00003fe5: POP 00003fe6: JUMP 00003fe7: JUMPDEST 00003fe8: PUSH0 00003fe9: PUSH1 0x20 00003feb: DUP3 00003fec: ADD 00003fed: SWAP1 00003fee: POP 00003fef: DUP2 00003ff0: DUP2 00003ff1: SUB 00003ff2: PUSH0 00003ff3: DUP4 00003ff4: ADD 00003ff5: MSTORE 00003ff6: PUSH2 0x3fff 00003ff9: DUP2 00003ffa: DUP5 00003ffb: PUSH2 0x3f47 00003ffe: JUMP 00003fff: JUMPDEST 00004000: SWAP1 00004001: POP 00004002: SWAP3 00004003: SWAP2 00004004: POP 00004005: POP 00004006: JUMP 00004007: JUMPDEST 00004008: PUSH0 00004009: PUSH1 0x20 0000400b: DUP3 0000400c: DUP5 0000400d: SUB 0000400e: SLT 0000400f: ISZERO 00004010: PUSH2 0x401c 00004013: JUMPI 00004014: PUSH2 0x401b 00004017: PUSH2 0x3bce 0000401a: JUMP 0000401b: JUMPDEST 0000401c: JUMPDEST 0000401d: PUSH0 0000401e: PUSH2 0x4029 00004021: DUP5 00004022: DUP3 00004023: DUP6 00004024: ADD 00004025: PUSH2 0x3c7d 00004028: JUMP 00004029: JUMPDEST 0000402a: SWAP2 0000402b: POP 0000402c: POP 0000402d: SWAP3 0000402e: SWAP2 0000402f: POP 00004030: POP 00004031: JUMP 00004032: JUMPDEST 00004033: PUSH0 00004034: PUSH1 0xe0 00004036: DUP4 00004037: ADD 00004038: PUSH0 00004039: DUP4 0000403a: ADD 0000403b: MLOAD 0000403c: DUP5 0000403d: DUP3 0000403e: SUB 0000403f: PUSH0 00004040: DUP7 00004041: ADD 00004042: MSTORE 00004043: PUSH2 0x404c 00004046: DUP3 00004047: DUP3 00004048: PUSH2 0x3dc9 0000404b: JUMP 0000404c: JUMPDEST 0000404d: SWAP2 0000404e: POP 0000404f: POP 00004050: PUSH1 0x20 00004052: DUP4 00004053: ADD 00004054: MLOAD 00004055: PUSH2 0x4061 00004058: PUSH1 0x20 0000405a: DUP7 0000405b: ADD 0000405c: DUP3 0000405d: PUSH2 0x3d97 00004060: JUMP 00004061: JUMPDEST 00004062: POP 00004063: PUSH1 0x40 00004065: DUP4 00004066: ADD 00004067: MLOAD 00004068: PUSH2 0x4074 0000406b: PUSH1 0x40 0000406d: DUP7 0000406e: ADD 0000406f: DUP3 00004070: PUSH2 0x3e25 00004073: JUMP 00004074: JUMPDEST 00004075: POP 00004076: PUSH1 0x60 00004078: DUP4 00004079: ADD 0000407a: MLOAD 0000407b: PUSH2 0x4087 0000407e: PUSH1 0x60 00004080: DUP7 00004081: ADD 00004082: DUP3 00004083: PUSH2 0x3e25 00004086: JUMP 00004087: JUMPDEST 00004088: POP 00004089: PUSH1 0x80 0000408b: DUP4 0000408c: ADD 0000408d: MLOAD 0000408e: PUSH2 0x409a 00004091: PUSH1 0x80 00004093: DUP7 00004094: ADD 00004095: DUP3 00004096: PUSH2 0x3e25 00004099: JUMP 0000409a: JUMPDEST 0000409b: POP 0000409c: PUSH1 0xa0 0000409e: DUP4 0000409f: ADD 000040a0: MLOAD 000040a1: DUP5 000040a2: DUP3 000040a3: SUB 000040a4: PUSH1 0xa0 000040a6: DUP7 000040a7: ADD 000040a8: MSTORE 000040a9: PUSH2 0x40b2 000040ac: DUP3 000040ad: DUP3 000040ae: PUSH2 0x3dc9 000040b1: JUMP 000040b2: JUMPDEST 000040b3: SWAP2 000040b4: POP 000040b5: POP 000040b6: PUSH1 0xc0 000040b8: DUP4 000040b9: ADD 000040ba: MLOAD 000040bb: PUSH2 0x40c7 000040be: PUSH1 0xc0 000040c0: DUP7 000040c1: ADD 000040c2: DUP3 000040c3: PUSH2 0x3e25 000040c6: JUMP 000040c7: JUMPDEST 000040c8: POP 000040c9: DUP1 000040ca: SWAP2 000040cb: POP 000040cc: POP 000040cd: SWAP3 000040ce: SWAP2 000040cf: POP 000040d0: POP 000040d1: JUMP 000040d2: JUMPDEST 000040d3: PUSH0 000040d4: PUSH1 0x20 000040d6: DUP3 000040d7: ADD 000040d8: SWAP1 000040d9: POP 000040da: DUP2 000040db: DUP2 000040dc: SUB 000040dd: PUSH0 000040de: DUP4 000040df: ADD 000040e0: MSTORE 000040e1: PUSH2 0x40ea 000040e4: DUP2 000040e5: DUP5 000040e6: PUSH2 0x4032 000040e9: JUMP 000040ea: JUMPDEST 000040eb: SWAP1 000040ec: POP 000040ed: SWAP3 000040ee: SWAP2 000040ef: POP 000040f0: POP 000040f1: JUMP 000040f2: JUMPDEST 000040f3: PUSH0 000040f4: DUP2 000040f5: SWAP1 000040f6: POP 000040f7: SWAP2 000040f8: SWAP1 000040f9: POP 000040fa: JUMP 000040fb: JUMPDEST 000040fc: PUSH0 000040fd: PUSH2 0x4115 00004100: PUSH2 0x4110 00004103: PUSH2 0x410b 00004106: DUP5 00004107: PUSH2 0x3c37 0000410a: JUMP 0000410b: JUMPDEST 0000410c: PUSH2 0x40f2 0000410f: JUMP 00004110: JUMPDEST 00004111: PUSH2 0x3c37 00004114: JUMP 00004115: JUMPDEST 00004116: SWAP1 00004117: POP 00004118: SWAP2 00004119: SWAP1 0000411a: POP 0000411b: JUMP 0000411c: JUMPDEST 0000411d: PUSH0 0000411e: PUSH2 0x4126 00004121: DUP3 00004122: PUSH2 0x40fb 00004125: JUMP 00004126: JUMPDEST 00004127: SWAP1 00004128: POP 00004129: SWAP2 0000412a: SWAP1 0000412b: POP 0000412c: JUMP 0000412d: JUMPDEST 0000412e: PUSH0 0000412f: PUSH2 0x4137 00004132: DUP3 00004133: PUSH2 0x411c 00004136: JUMP 00004137: JUMPDEST 00004138: SWAP1 00004139: POP 0000413a: SWAP2 0000413b: SWAP1 0000413c: POP 0000413d: JUMP 0000413e: JUMPDEST 0000413f: PUSH2 0x4147 00004142: DUP2 00004143: PUSH2 0x412d 00004146: JUMP 00004147: JUMPDEST 00004148: DUP3 00004149: MSTORE 0000414a: POP 0000414b: POP 0000414c: JUMP 0000414d: JUMPDEST 0000414e: PUSH0 0000414f: PUSH1 0x20 00004151: DUP3 00004152: ADD 00004153: SWAP1 00004154: POP 00004155: PUSH2 0x4160 00004158: PUSH0 00004159: DUP4 0000415a: ADD 0000415b: DUP5 0000415c: PUSH2 0x413e 0000415f: JUMP 00004160: JUMPDEST 00004161: SWAP3 00004162: SWAP2 00004163: POP 00004164: POP 00004165: JUMP 00004166: JUMPDEST 00004167: PUSH0 00004168: PUSH1 0xe0 0000416a: DUP4 0000416b: ADD 0000416c: PUSH0 0000416d: DUP4 0000416e: ADD 0000416f: MLOAD 00004170: DUP5 00004171: DUP3 00004172: SUB 00004173: PUSH0 00004174: DUP7 00004175: ADD 00004176: MSTORE 00004177: PUSH2 0x4180 0000417a: DUP3 0000417b: DUP3 0000417c: PUSH2 0x3dc9 0000417f: JUMP 00004180: JUMPDEST 00004181: SWAP2 00004182: POP 00004183: POP 00004184: PUSH1 0x20 00004186: DUP4 00004187: ADD 00004188: MLOAD 00004189: PUSH2 0x4195 0000418c: PUSH1 0x20 0000418e: DUP7 0000418f: ADD 00004190: DUP3 00004191: PUSH2 0x3d97 00004194: JUMP 00004195: JUMPDEST 00004196: POP 00004197: PUSH1 0x40 00004199: DUP4 0000419a: ADD 0000419b: MLOAD 0000419c: PUSH2 0x41a8 0000419f: PUSH1 0x40 000041a1: DUP7 000041a2: ADD 000041a3: DUP3 000041a4: PUSH2 0x3e25 000041a7: JUMP 000041a8: JUMPDEST 000041a9: POP 000041aa: PUSH1 0x60 000041ac: DUP4 000041ad: ADD 000041ae: MLOAD 000041af: PUSH2 0x41bb 000041b2: PUSH1 0x60 000041b4: DUP7 000041b5: ADD 000041b6: DUP3 000041b7: PUSH2 0x3e25 000041ba: JUMP 000041bb: JUMPDEST 000041bc: POP 000041bd: PUSH1 0x80 000041bf: DUP4 000041c0: ADD 000041c1: MLOAD 000041c2: PUSH2 0x41ce 000041c5: PUSH1 0x80 000041c7: DUP7 000041c8: ADD 000041c9: DUP3 000041ca: PUSH2 0x3e25 000041cd: JUMP 000041ce: JUMPDEST 000041cf: POP 000041d0: PUSH1 0xa0 000041d2: DUP4 000041d3: ADD 000041d4: MLOAD 000041d5: DUP5 000041d6: DUP3 000041d7: SUB 000041d8: PUSH1 0xa0 000041da: DUP7 000041db: ADD 000041dc: MSTORE 000041dd: PUSH2 0x41e6 000041e0: DUP3 000041e1: DUP3 000041e2: PUSH2 0x3dc9 000041e5: JUMP 000041e6: JUMPDEST 000041e7: SWAP2 000041e8: POP 000041e9: POP 000041ea: PUSH1 0xc0 000041ec: DUP4 000041ed: ADD 000041ee: MLOAD 000041ef: PUSH2 0x41fb 000041f2: PUSH1 0xc0 000041f4: DUP7 000041f5: ADD 000041f6: DUP3 000041f7: PUSH2 0x3e25 000041fa: JUMP 000041fb: JUMPDEST 000041fc: POP 000041fd: DUP1 000041fe: SWAP2 000041ff: POP 00004200: POP 00004201: SWAP3 00004202: SWAP2 00004203: POP 00004204: POP 00004205: JUMP 00004206: JUMPDEST 00004207: PUSH0 00004208: PUSH1 0x20 0000420a: DUP3 0000420b: ADD 0000420c: SWAP1 0000420d: POP 0000420e: DUP2 0000420f: DUP2 00004210: SUB 00004211: PUSH0 00004212: DUP4 00004213: ADD 00004214: MSTORE 00004215: PUSH2 0x421e 00004218: DUP2 00004219: DUP5 0000421a: PUSH2 0x4166 0000421d: JUMP 0000421e: JUMPDEST 0000421f: SWAP1 00004220: POP 00004221: SWAP3 00004222: SWAP2 00004223: POP 00004224: POP 00004225: JUMP 00004226: JUMPDEST 00004227: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004248: PUSH0 00004249: MSTORE 0000424a: PUSH1 0x32 0000424c: PUSH1 0x04 0000424e: MSTORE 0000424f: PUSH1 0x24 00004251: PUSH0 00004252: REVERT 00004253: JUMPDEST 00004254: PUSH0 00004255: DUP3 00004256: DUP3 00004257: MSTORE 00004258: PUSH1 0x20 0000425a: DUP3 0000425b: ADD 0000425c: SWAP1 0000425d: POP 0000425e: SWAP3 0000425f: SWAP2 00004260: POP 00004261: POP 00004262: JUMP 00004263: JUMPDEST 00004264: PUSH32 0x53656e646572206973206e6f742077686974656c697374656400000000000000 00004285: PUSH0 00004286: DUP3 00004287: ADD 00004288: MSTORE 00004289: POP 0000428a: JUMP 0000428b: JUMPDEST 0000428c: PUSH0 0000428d: PUSH2 0x4297 00004290: PUSH1 0x19 00004292: DUP4 00004293: PUSH2 0x4253 00004296: JUMP 00004297: JUMPDEST 00004298: SWAP2 00004299: POP 0000429a: PUSH2 0x42a2 0000429d: DUP3 0000429e: PUSH2 0x4263 000042a1: JUMP 000042a2: JUMPDEST 000042a3: PUSH1 0x20 000042a5: DUP3 000042a6: ADD 000042a7: SWAP1 000042a8: POP 000042a9: SWAP2 000042aa: SWAP1 000042ab: POP 000042ac: JUMP 000042ad: JUMPDEST 000042ae: PUSH0 000042af: PUSH1 0x20 000042b1: DUP3 000042b2: ADD 000042b3: SWAP1 000042b4: POP 000042b5: DUP2 000042b6: DUP2 000042b7: SUB 000042b8: PUSH0 000042b9: DUP4 000042ba: ADD 000042bb: MSTORE 000042bc: PUSH2 0x42c4 000042bf: DUP2 000042c0: PUSH2 0x428b 000042c3: JUMP 000042c4: JUMPDEST 000042c5: SWAP1 000042c6: POP 000042c7: SWAP2 000042c8: SWAP1 000042c9: POP 000042ca: JUMP 000042cb: JUMPDEST 000042cc: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000042ed: PUSH0 000042ee: MSTORE 000042ef: PUSH1 0x41 000042f1: PUSH1 0x04 000042f3: MSTORE 000042f4: PUSH1 0x24 000042f6: PUSH0 000042f7: REVERT 000042f8: JUMPDEST 000042f9: PUSH0 000042fa: DUP2 000042fb: MLOAD 000042fc: SWAP1 000042fd: POP 000042fe: PUSH2 0x4306 00004301: DUP2 00004302: PUSH2 0x3c67 00004305: JUMP 00004306: JUMPDEST 00004307: SWAP3 00004308: SWAP2 00004309: POP 0000430a: POP 0000430b: JUMP 0000430c: JUMPDEST 0000430d: PUSH0 0000430e: PUSH1 0x20 00004310: DUP3 00004311: DUP5 00004312: SUB 00004313: SLT 00004314: ISZERO 00004315: PUSH2 0x4321 00004318: JUMPI 00004319: PUSH2 0x4320 0000431c: PUSH2 0x3bce 0000431f: JUMP 00004320: JUMPDEST 00004321: JUMPDEST 00004322: PUSH0 00004323: PUSH2 0x432e 00004326: DUP5 00004327: DUP3 00004328: DUP6 00004329: ADD 0000432a: PUSH2 0x42f8 0000432d: JUMP 0000432e: JUMPDEST 0000432f: SWAP2 00004330: POP 00004331: POP 00004332: SWAP3 00004333: SWAP2 00004334: POP 00004335: POP 00004336: JUMP 00004337: JUMPDEST 00004338: PUSH32 0x53656e646572206973206e6f74206f776e657200000000000000000000000000 00004359: PUSH0 0000435a: DUP3 0000435b: ADD 0000435c: MSTORE 0000435d: POP 0000435e: JUMP 0000435f: JUMPDEST 00004360: PUSH0 00004361: PUSH2 0x436b 00004364: PUSH1 0x13 00004366: DUP4 00004367: PUSH2 0x4253 0000436a: JUMP 0000436b: JUMPDEST 0000436c: SWAP2 0000436d: POP 0000436e: PUSH2 0x4376 00004371: DUP3 00004372: PUSH2 0x4337 00004375: JUMP 00004376: JUMPDEST 00004377: PUSH1 0x20 00004379: DUP3 0000437a: ADD 0000437b: SWAP1 0000437c: POP 0000437d: SWAP2 0000437e: SWAP1 0000437f: POP 00004380: JUMP 00004381: JUMPDEST 00004382: PUSH0 00004383: PUSH1 0x20 00004385: DUP3 00004386: ADD 00004387: SWAP1 00004388: POP 00004389: DUP2 0000438a: DUP2 0000438b: SUB 0000438c: PUSH0 0000438d: DUP4 0000438e: ADD 0000438f: MSTORE 00004390: PUSH2 0x4398 00004393: DUP2 00004394: PUSH2 0x435f 00004397: JUMP 00004398: JUMPDEST 00004399: SWAP1 0000439a: POP 0000439b: SWAP2 0000439c: SWAP1 0000439d: POP 0000439e: JUMP 0000439f: JUMPDEST 000043a0: PUSH0 000043a1: DUP2 000043a2: MLOAD 000043a3: SWAP1 000043a4: POP 000043a5: PUSH2 0x43ad 000043a8: DUP2 000043a9: PUSH2 0x3c9a 000043ac: JUMP 000043ad: JUMPDEST 000043ae: SWAP3 000043af: SWAP2 000043b0: POP 000043b1: POP 000043b2: JUMP 000043b3: JUMPDEST 000043b4: PUSH0 000043b5: PUSH1 0x20 000043b7: DUP3 000043b8: DUP5 000043b9: SUB 000043ba: SLT 000043bb: ISZERO 000043bc: PUSH2 0x43c8 000043bf: JUMPI 000043c0: PUSH2 0x43c7 000043c3: PUSH2 0x3bce 000043c6: JUMP 000043c7: JUMPDEST 000043c8: JUMPDEST 000043c9: PUSH0 000043ca: PUSH2 0x43d5 000043cd: DUP5 000043ce: DUP3 000043cf: DUP6 000043d0: ADD 000043d1: PUSH2 0x439f 000043d4: JUMP 000043d5: JUMPDEST 000043d6: SWAP2 000043d7: POP 000043d8: POP 000043d9: SWAP3 000043da: SWAP2 000043db: POP 000043dc: POP 000043dd: JUMP 000043de: JUMPDEST 000043df: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004400: PUSH0 00004401: MSTORE 00004402: PUSH1 0x11 00004404: PUSH1 0x04 00004406: MSTORE 00004407: PUSH1 0x24 00004409: PUSH0 0000440a: REVERT 0000440b: JUMPDEST 0000440c: PUSH0 0000440d: PUSH2 0x4415 00004410: DUP3 00004411: PUSH2 0x3c91 00004414: JUMP 00004415: JUMPDEST 00004416: SWAP2 00004417: POP 00004418: PUSH2 0x4420 0000441b: DUP4 0000441c: PUSH2 0x3c91 0000441f: JUMP 00004420: JUMPDEST 00004421: SWAP3 00004422: POP 00004423: DUP3 00004424: DUP3 00004425: SUB 00004426: SWAP1 00004427: POP 00004428: DUP2 00004429: DUP2 0000442a: GT 0000442b: ISZERO 0000442c: PUSH2 0x4438 0000442f: JUMPI 00004430: PUSH2 0x4437 00004433: PUSH2 0x43de 00004436: JUMP 00004437: JUMPDEST 00004438: JUMPDEST 00004439: SWAP3 0000443a: SWAP2 0000443b: POP 0000443c: POP 0000443d: JUMP 0000443e: JUMPDEST 0000443f: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004460: PUSH0 00004461: MSTORE 00004462: PUSH1 0x31 00004464: PUSH1 0x04 00004466: MSTORE 00004467: PUSH1 0x24 00004469: PUSH0 0000446a: REVERT 0000446b: JUMPDEST 0000446c: PUSH2 0x4474 0000446f: DUP2 00004470: PUSH2 0x3c91 00004473: JUMP 00004474: JUMPDEST 00004475: DUP3 00004476: MSTORE 00004477: POP 00004478: POP 00004479: JUMP 0000447a: JUMPDEST 0000447b: PUSH0 0000447c: DUP2 0000447d: SLOAD 0000447e: SWAP1 0000447f: POP 00004480: SWAP2 00004481: SWAP1 00004482: POP 00004483: JUMP 00004484: JUMPDEST 00004485: PUSH0 00004486: DUP3 00004487: DUP3 00004488: MSTORE 00004489: PUSH1 0x20 0000448b: DUP3 0000448c: ADD 0000448d: SWAP1 0000448e: POP 0000448f: SWAP3 00004490: SWAP2 00004491: POP 00004492: POP 00004493: JUMP 00004494: JUMPDEST 00004495: PUSH0 00004496: DUP2 00004497: SWAP1 00004498: POP 00004499: DUP2 0000449a: PUSH0 0000449b: MSTORE 0000449c: PUSH1 0x20 0000449e: PUSH0 0000449f: KECCAK256 000044a0: SWAP1 000044a1: POP 000044a2: SWAP2 000044a3: SWAP1 000044a4: POP 000044a5: JUMP 000044a6: JUMPDEST 000044a7: PUSH0 000044a8: DUP2 000044a9: PUSH0 000044aa: SHR 000044ab: SWAP1 000044ac: POP 000044ad: SWAP2 000044ae: SWAP1 000044af: POP 000044b0: JUMP 000044b1: JUMPDEST 000044b2: PUSH0 000044b3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000044c8: DUP3 000044c9: AND 000044ca: SWAP1 000044cb: POP 000044cc: SWAP2 000044cd: SWAP1 000044ce: POP 000044cf: JUMP 000044d0: JUMPDEST 000044d1: PUSH0 000044d2: PUSH2 0x44e2 000044d5: PUSH2 0x44dd 000044d8: DUP4 000044d9: PUSH2 0x44a6 000044dc: JUMP 000044dd: JUMPDEST 000044de: PUSH2 0x44b1 000044e1: JUMP 000044e2: JUMPDEST 000044e3: SWAP1 000044e4: POP 000044e5: SWAP2 000044e6: SWAP1 000044e7: POP 000044e8: JUMP 000044e9: JUMPDEST 000044ea: PUSH0 000044eb: PUSH2 0x44f4 000044ee: DUP3 000044ef: SLOAD 000044f0: PUSH2 0x44d0 000044f3: JUMP 000044f4: JUMPDEST 000044f5: SWAP1 000044f6: POP 000044f7: SWAP2 000044f8: SWAP1 000044f9: POP 000044fa: JUMP 000044fb: JUMPDEST 000044fc: PUSH0 000044fd: PUSH1 0x01 000044ff: DUP3 00004500: ADD 00004501: SWAP1 00004502: POP 00004503: SWAP2 00004504: SWAP1 00004505: POP 00004506: JUMP 00004507: JUMPDEST 00004508: PUSH0 00004509: PUSH2 0x4511 0000450c: DUP3 0000450d: PUSH2 0x447a 00004510: JUMP 00004511: JUMPDEST 00004512: PUSH2 0x451b 00004515: DUP2 00004516: DUP6 00004517: PUSH2 0x4484 0000451a: JUMP 0000451b: JUMPDEST 0000451c: SWAP4 0000451d: POP 0000451e: PUSH2 0x4526 00004521: DUP4 00004522: PUSH2 0x4494 00004525: JUMP 00004526: JUMPDEST 00004527: DUP1 00004528: PUSH0 00004529: JUMPDEST 0000452a: DUP4 0000452b: DUP2 0000452c: LT 0000452d: ISZERO 0000452e: PUSH2 0x455d 00004531: JUMPI 00004532: PUSH2 0x453a 00004535: DUP3 00004536: PUSH2 0x44e9 00004539: JUMP 0000453a: JUMPDEST 0000453b: PUSH2 0x4544 0000453e: DUP9 0000453f: DUP3 00004540: PUSH2 0x3da6 00004543: JUMP 00004544: JUMPDEST 00004545: SWAP8 00004546: POP 00004547: PUSH2 0x454f 0000454a: DUP4 0000454b: PUSH2 0x44fb 0000454e: JUMP 0000454f: JUMPDEST 00004550: SWAP3 00004551: POP 00004552: POP 00004553: PUSH1 0x01 00004555: DUP2 00004556: ADD 00004557: SWAP1 00004558: POP 00004559: PUSH2 0x4529 0000455c: JUMP 0000455d: JUMPDEST 0000455e: POP 0000455f: DUP6 00004560: SWAP4 00004561: POP 00004562: POP 00004563: POP 00004564: POP 00004565: SWAP3 00004566: SWAP2 00004567: POP 00004568: POP 00004569: JUMP 0000456a: JUMPDEST 0000456b: PUSH0 0000456c: PUSH1 0xa0 0000456e: DUP3 0000456f: ADD 00004570: SWAP1 00004571: POP 00004572: PUSH2 0x457d 00004575: PUSH0 00004576: DUP4 00004577: ADD 00004578: DUP9 00004579: PUSH2 0x446b 0000457c: JUMP 0000457d: JUMPDEST 0000457e: PUSH2 0x458a 00004581: PUSH1 0x20 00004583: DUP4 00004584: ADD 00004585: DUP8 00004586: PUSH2 0x446b 00004589: JUMP 0000458a: JUMPDEST 0000458b: DUP2 0000458c: DUP2 0000458d: SUB 0000458e: PUSH1 0x40 00004590: DUP4 00004591: ADD 00004592: MSTORE 00004593: PUSH2 0x459c 00004596: DUP2 00004597: DUP7 00004598: PUSH2 0x4507 0000459b: JUMP 0000459c: JUMPDEST 0000459d: SWAP1 0000459e: POP 0000459f: PUSH2 0x45ab 000045a2: PUSH1 0x60 000045a4: DUP4 000045a5: ADD 000045a6: DUP6 000045a7: PUSH2 0x3f1f 000045aa: JUMP 000045ab: JUMPDEST 000045ac: PUSH2 0x45b8 000045af: PUSH1 0x80 000045b1: DUP4 000045b2: ADD 000045b3: DUP5 000045b4: PUSH2 0x446b 000045b7: JUMP 000045b8: JUMPDEST 000045b9: SWAP7 000045ba: SWAP6 000045bb: POP 000045bc: POP 000045bd: POP 000045be: POP 000045bf: POP 000045c0: POP 000045c1: JUMP 000045c2: JUMPDEST 000045c3: PUSH0 000045c4: PUSH1 0x1f 000045c6: NOT 000045c7: PUSH1 0x1f 000045c9: DUP4 000045ca: ADD 000045cb: AND 000045cc: SWAP1 000045cd: POP 000045ce: SWAP2 000045cf: SWAP1 000045d0: POP 000045d1: JUMP 000045d2: JUMPDEST 000045d3: PUSH2 0x45db 000045d6: DUP3 000045d7: PUSH2 0x45c2 000045da: JUMP 000045db: JUMPDEST 000045dc: DUP2 000045dd: ADD 000045de: DUP2 000045df: DUP2 000045e0: LT 000045e1: PUSH8 0xffffffffffffffff 000045ea: DUP3 000045eb: GT 000045ec: OR 000045ed: ISZERO 000045ee: PUSH2 0x45fa 000045f1: JUMPI 000045f2: PUSH2 0x45f9 000045f5: PUSH2 0x42cb 000045f8: JUMP 000045f9: JUMPDEST 000045fa: JUMPDEST 000045fb: DUP1 000045fc: PUSH1 0x40 000045fe: MSTORE 000045ff: POP 00004600: POP 00004601: POP 00004602: JUMP 00004603: JUMPDEST 00004604: PUSH0 00004605: PUSH2 0x460c 00004608: PUSH2 0x3bc5 0000460b: JUMP 0000460c: JUMPDEST 0000460d: SWAP1 0000460e: POP 0000460f: PUSH2 0x4618 00004612: DUP3 00004613: DUP3 00004614: PUSH2 0x45d2 00004617: JUMP 00004618: JUMPDEST 00004619: SWAP2 0000461a: SWAP1 0000461b: POP 0000461c: JUMP 0000461d: JUMPDEST 0000461e: PUSH0 0000461f: PUSH8 0xffffffffffffffff 00004628: DUP3 00004629: GT 0000462a: ISZERO 0000462b: PUSH2 0x4637 0000462e: JUMPI 0000462f: PUSH2 0x4636 00004632: PUSH2 0x42cb 00004635: JUMP 00004636: JUMPDEST 00004637: JUMPDEST 00004638: PUSH1 0x20 0000463a: DUP3 0000463b: MUL 0000463c: SWAP1 0000463d: POP 0000463e: PUSH1 0x20 00004640: DUP2 00004641: ADD 00004642: SWAP1 00004643: POP 00004644: SWAP2 00004645: SWAP1 00004646: POP 00004647: JUMP 00004648: JUMPDEST 00004649: PUSH0 0000464a: PUSH2 0x465a 0000464d: PUSH2 0x4655 00004650: DUP5 00004651: PUSH2 0x461d 00004654: JUMP 00004655: JUMPDEST 00004656: PUSH2 0x4603 00004659: JUMP 0000465a: JUMPDEST 0000465b: SWAP1 0000465c: POP 0000465d: DUP1 0000465e: DUP4 0000465f: DUP3 00004660: MSTORE 00004661: PUSH1 0x20 00004663: DUP3 00004664: ADD 00004665: SWAP1 00004666: POP 00004667: PUSH1 0x20 00004669: DUP5 0000466a: MUL 0000466b: DUP4 0000466c: ADD 0000466d: DUP6 0000466e: DUP2 0000466f: GT 00004670: ISZERO 00004671: PUSH2 0x467d 00004674: JUMPI 00004675: PUSH2 0x467c 00004678: PUSH2 0x3bde 0000467b: JUMP 0000467c: JUMPDEST 0000467d: JUMPDEST 0000467e: DUP4 0000467f: JUMPDEST 00004680: DUP2 00004681: DUP2 00004682: LT 00004683: ISZERO 00004684: PUSH2 0x46a6 00004687: JUMPI 00004688: DUP1 00004689: PUSH2 0x4692 0000468c: DUP9 0000468d: DUP3 0000468e: PUSH2 0x439f 00004691: JUMP 00004692: JUMPDEST 00004693: DUP5 00004694: MSTORE 00004695: PUSH1 0x20 00004697: DUP5 00004698: ADD 00004699: SWAP4 0000469a: POP 0000469b: POP 0000469c: PUSH1 0x20 0000469e: DUP2 0000469f: ADD 000046a0: SWAP1 000046a1: POP 000046a2: PUSH2 0x467f 000046a5: JUMP 000046a6: JUMPDEST 000046a7: POP 000046a8: POP 000046a9: POP 000046aa: SWAP4 000046ab: SWAP3 000046ac: POP 000046ad: POP 000046ae: POP 000046af: JUMP 000046b0: JUMPDEST 000046b1: PUSH0 000046b2: DUP3 000046b3: PUSH1 0x1f 000046b5: DUP4 000046b6: ADD 000046b7: SLT 000046b8: PUSH2 0x46c4 000046bb: JUMPI 000046bc: PUSH2 0x46c3 000046bf: PUSH2 0x3bd6 000046c2: JUMP 000046c3: JUMPDEST 000046c4: JUMPDEST 000046c5: DUP2 000046c6: MLOAD 000046c7: PUSH2 0x46d4 000046ca: DUP5 000046cb: DUP3 000046cc: PUSH1 0x20 000046ce: DUP7 000046cf: ADD 000046d0: PUSH2 0x4648 000046d3: JUMP 000046d4: JUMPDEST 000046d5: SWAP2 000046d6: POP 000046d7: POP 000046d8: SWAP3 000046d9: SWAP2 000046da: POP 000046db: POP 000046dc: JUMP 000046dd: JUMPDEST 000046de: PUSH0 000046df: PUSH1 0x20 000046e1: DUP3 000046e2: DUP5 000046e3: SUB 000046e4: SLT 000046e5: ISZERO 000046e6: PUSH2 0x46f2 000046e9: JUMPI 000046ea: PUSH2 0x46f1 000046ed: PUSH2 0x3bce 000046f0: JUMP 000046f1: JUMPDEST 000046f2: JUMPDEST 000046f3: PUSH0 000046f4: DUP3 000046f5: ADD 000046f6: MLOAD 000046f7: PUSH8 0xffffffffffffffff 00004700: DUP2 00004701: GT 00004702: ISZERO 00004703: PUSH2 0x470f 00004706: JUMPI 00004707: PUSH2 0x470e 0000470a: PUSH2 0x3bd2 0000470d: JUMP 0000470e: JUMPDEST 0000470f: JUMPDEST 00004710: PUSH2 0x471b 00004713: DUP5 00004714: DUP3 00004715: DUP6 00004716: ADD 00004717: PUSH2 0x46b0 0000471a: JUMP 0000471b: JUMPDEST 0000471c: SWAP2 0000471d: POP 0000471e: POP 0000471f: SWAP3 00004720: SWAP2 00004721: POP 00004722: POP 00004723: JUMP 00004724: JUMPDEST 00004725: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 00004746: PUSH0 00004747: DUP3 00004748: ADD 00004749: MSTORE 0000474a: POP 0000474b: JUMP 0000474c: JUMPDEST 0000474d: PUSH0 0000474e: PUSH2 0x4758 00004751: PUSH1 0x01 00004753: DUP4 00004754: PUSH2 0x4253 00004757: JUMP 00004758: JUMPDEST 00004759: SWAP2 0000475a: POP 0000475b: PUSH2 0x4763 0000475e: DUP3 0000475f: PUSH2 0x4724 00004762: JUMP 00004763: JUMPDEST 00004764: PUSH1 0x20 00004766: DUP3 00004767: ADD 00004768: SWAP1 00004769: POP 0000476a: SWAP2 0000476b: SWAP1 0000476c: POP 0000476d: JUMP 0000476e: JUMPDEST 0000476f: PUSH0 00004770: PUSH1 0x20 00004772: DUP3 00004773: ADD 00004774: SWAP1 00004775: POP 00004776: DUP2 00004777: DUP2 00004778: SUB 00004779: PUSH0 0000477a: DUP4 0000477b: ADD 0000477c: MSTORE 0000477d: PUSH2 0x4785 00004780: DUP2 00004781: PUSH2 0x474c 00004784: JUMP 00004785: JUMPDEST 00004786: SWAP1 00004787: POP 00004788: SWAP2 00004789: SWAP1 0000478a: POP 0000478b: JUMP 0000478c: JUMPDEST 0000478d: PUSH0 0000478e: DUP2 0000478f: MLOAD 00004790: SWAP1 00004791: POP 00004792: SWAP2 00004793: SWAP1 00004794: POP 00004795: JUMP 00004796: JUMPDEST 00004797: PUSH0 00004798: DUP2 00004799: SWAP1 0000479a: POP 0000479b: SWAP3 0000479c: SWAP2 0000479d: POP 0000479e: POP 0000479f: JUMP 000047a0: JUMPDEST 000047a1: DUP3 000047a2: DUP2 000047a3: DUP4 000047a4: MCOPY 000047a5: PUSH0 000047a6: DUP4 000047a7: DUP4 000047a8: ADD 000047a9: MSTORE 000047aa: POP 000047ab: POP 000047ac: POP 000047ad: JUMP 000047ae: JUMPDEST 000047af: PUSH0 000047b0: PUSH2 0x47b8 000047b3: DUP3 000047b4: PUSH2 0x478c 000047b7: JUMP 000047b8: JUMPDEST 000047b9: PUSH2 0x47c2 000047bc: DUP2 000047bd: DUP6 000047be: PUSH2 0x4796 000047c1: JUMP 000047c2: JUMPDEST 000047c3: SWAP4 000047c4: POP 000047c5: PUSH2 0x47d2 000047c8: DUP2 000047c9: DUP6 000047ca: PUSH1 0x20 000047cc: DUP7 000047cd: ADD 000047ce: PUSH2 0x47a0 000047d1: JUMP 000047d2: JUMPDEST 000047d3: DUP1 000047d4: DUP5 000047d5: ADD 000047d6: SWAP2 000047d7: POP 000047d8: POP 000047d9: SWAP3 000047da: SWAP2 000047db: POP 000047dc: POP 000047dd: JUMP 000047de: JUMPDEST 000047df: PUSH0 000047e0: PUSH2 0x47e9 000047e3: DUP3 000047e4: DUP5 000047e5: PUSH2 0x47ae 000047e8: JUMP 000047e9: JUMPDEST 000047ea: SWAP2 000047eb: POP 000047ec: DUP2 000047ed: SWAP1 000047ee: POP 000047ef: SWAP3 000047f0: SWAP2 000047f1: POP 000047f2: POP 000047f3: JUMP 000047f4: JUMPDEST 000047f5: PUSH0 000047f6: PUSH3 0xffffff 000047fa: DUP3 000047fb: AND 000047fc: SWAP1 000047fd: POP 000047fe: SWAP2 000047ff: SWAP1 00004800: POP 00004801: JUMP 00004802: JUMPDEST 00004803: PUSH2 0x480b 00004806: DUP2 00004807: PUSH2 0x47f4 0000480a: JUMP 0000480b: JUMPDEST 0000480c: DUP3 0000480d: MSTORE 0000480e: POP 0000480f: POP 00004810: JUMP 00004811: JUMPDEST 00004812: PUSH2 0x481a 00004815: DUP2 00004816: PUSH2 0x3c37 00004819: JUMP 0000481a: JUMPDEST 0000481b: DUP3 0000481c: MSTORE 0000481d: POP 0000481e: POP 0000481f: JUMP 00004820: JUMPDEST 00004821: PUSH1 0xe0 00004823: DUP3 00004824: ADD 00004825: PUSH0 00004826: DUP3 00004827: ADD 00004828: MLOAD 00004829: PUSH2 0x4834 0000482c: PUSH0 0000482d: DUP6 0000482e: ADD 0000482f: DUP3 00004830: PUSH2 0x3d97 00004833: JUMP 00004834: JUMPDEST 00004835: POP 00004836: PUSH1 0x20 00004838: DUP3 00004839: ADD 0000483a: MLOAD 0000483b: PUSH2 0x4847 0000483e: PUSH1 0x20 00004840: DUP6 00004841: ADD 00004842: DUP3 00004843: PUSH2 0x3d97 00004846: JUMP 00004847: JUMPDEST 00004848: POP 00004849: PUSH1 0x40 0000484b: DUP3 0000484c: ADD 0000484d: MLOAD 0000484e: PUSH2 0x485a 00004851: PUSH1 0x40 00004853: DUP6 00004854: ADD 00004855: DUP3 00004856: PUSH2 0x4802 00004859: JUMP 0000485a: JUMPDEST 0000485b: POP 0000485c: PUSH1 0x60 0000485e: DUP3 0000485f: ADD 00004860: MLOAD 00004861: PUSH2 0x486d 00004864: PUSH1 0x60 00004866: DUP6 00004867: ADD 00004868: DUP3 00004869: PUSH2 0x3d97 0000486c: JUMP 0000486d: JUMPDEST 0000486e: POP 0000486f: PUSH1 0x80 00004871: DUP3 00004872: ADD 00004873: MLOAD 00004874: PUSH2 0x4880 00004877: PUSH1 0x80 00004879: DUP6 0000487a: ADD 0000487b: DUP3 0000487c: PUSH2 0x3e25 0000487f: JUMP 00004880: JUMPDEST 00004881: POP 00004882: PUSH1 0xa0 00004884: DUP3 00004885: ADD 00004886: MLOAD 00004887: PUSH2 0x4893 0000488a: PUSH1 0xa0 0000488c: DUP6 0000488d: ADD 0000488e: DUP3 0000488f: PUSH2 0x3e25 00004892: JUMP 00004893: JUMPDEST 00004894: POP 00004895: PUSH1 0xc0 00004897: DUP3 00004898: ADD 00004899: MLOAD 0000489a: PUSH2 0x48a6 0000489d: PUSH1 0xc0 0000489f: DUP6 000048a0: ADD 000048a1: DUP3 000048a2: PUSH2 0x4811 000048a5: JUMP 000048a6: JUMPDEST 000048a7: POP 000048a8: POP 000048a9: POP 000048aa: POP 000048ab: JUMP 000048ac: JUMPDEST 000048ad: PUSH0 000048ae: PUSH1 0xe0 000048b0: DUP3 000048b1: ADD 000048b2: SWAP1 000048b3: POP 000048b4: PUSH2 0x48bf 000048b7: PUSH0 000048b8: DUP4 000048b9: ADD 000048ba: DUP5 000048bb: PUSH2 0x4820 000048be: JUMP 000048bf: JUMPDEST 000048c0: SWAP3 000048c1: SWAP2 000048c2: POP 000048c3: POP 000048c4: JUMP 000048c5: JUMPDEST 000048c6: PUSH0 000048c7: PUSH2 0xffff 000048ca: DUP3 000048cb: AND 000048cc: SWAP1 000048cd: POP 000048ce: SWAP2 000048cf: SWAP1 000048d0: POP 000048d1: JUMP 000048d2: JUMPDEST 000048d3: PUSH0 000048d4: PUSH2 0x48dc 000048d7: DUP3 000048d8: PUSH2 0x48c5 000048db: JUMP 000048dc: JUMPDEST 000048dd: SWAP2 000048de: POP 000048df: PUSH2 0xffff 000048e2: DUP3 000048e3: SUB 000048e4: PUSH2 0x48f0 000048e7: JUMPI 000048e8: PUSH2 0x48ef 000048eb: PUSH2 0x43de 000048ee: JUMP 000048ef: JUMPDEST 000048f0: JUMPDEST 000048f1: PUSH1 0x01 000048f3: DUP3 000048f4: ADD 000048f5: SWAP1 000048f6: POP 000048f7: SWAP2 000048f8: SWAP1 000048f9: POP 000048fa: JUMP 000048fb: JUMPDEST 000048fc: PUSH1 0xe0 000048fe: DUP3 000048ff: ADD 00004900: PUSH0 00004901: DUP3 00004902: ADD 00004903: MLOAD 00004904: PUSH2 0x490f 00004907: PUSH0 00004908: DUP6 00004909: ADD 0000490a: DUP3 0000490b: PUSH2 0x3d97 0000490e: JUMP 0000490f: JUMPDEST 00004910: POP 00004911: PUSH1 0x20 00004913: DUP3 00004914: ADD 00004915: MLOAD 00004916: PUSH2 0x4922 00004919: PUSH1 0x20 0000491b: DUP6 0000491c: ADD 0000491d: DUP3 0000491e: PUSH2 0x3d97 00004921: JUMP 00004922: JUMPDEST 00004923: POP 00004924: PUSH1 0x40 00004926: DUP3 00004927: ADD 00004928: MLOAD 00004929: PUSH2 0x4935 0000492c: PUSH1 0x40 0000492e: DUP6 0000492f: ADD 00004930: DUP3 00004931: PUSH2 0x4802 00004934: JUMP 00004935: JUMPDEST 00004936: POP 00004937: PUSH1 0x60 00004939: DUP3 0000493a: ADD 0000493b: MLOAD 0000493c: PUSH2 0x4948 0000493f: PUSH1 0x60 00004941: DUP6 00004942: ADD 00004943: DUP3 00004944: PUSH2 0x3d97 00004947: JUMP 00004948: JUMPDEST 00004949: POP 0000494a: PUSH1 0x80 0000494c: DUP3 0000494d: ADD 0000494e: MLOAD 0000494f: PUSH2 0x495b 00004952: PUSH1 0x80 00004954: DUP6 00004955: ADD 00004956: DUP3 00004957: PUSH2 0x3e25 0000495a: JUMP 0000495b: JUMPDEST 0000495c: POP 0000495d: PUSH1 0xa0 0000495f: DUP3 00004960: ADD 00004961: MLOAD 00004962: PUSH2 0x496e 00004965: PUSH1 0xa0 00004967: DUP6 00004968: ADD 00004969: DUP3 0000496a: PUSH2 0x3e25 0000496d: JUMP 0000496e: JUMPDEST 0000496f: POP 00004970: PUSH1 0xc0 00004972: DUP3 00004973: ADD 00004974: MLOAD 00004975: PUSH2 0x4981 00004978: PUSH1 0xc0 0000497a: DUP6 0000497b: ADD 0000497c: DUP3 0000497d: PUSH2 0x4811 00004980: JUMP 00004981: JUMPDEST 00004982: POP 00004983: POP 00004984: POP 00004985: POP 00004986: JUMP 00004987: JUMPDEST 00004988: PUSH0 00004989: PUSH1 0xe0 0000498b: DUP3 0000498c: ADD 0000498d: SWAP1 0000498e: POP 0000498f: PUSH2 0x499a 00004992: PUSH0 00004993: DUP4 00004994: ADD 00004995: DUP5 00004996: PUSH2 0x48fb 00004999: JUMP 0000499a: JUMPDEST 0000499b: SWAP3 0000499c: SWAP2 0000499d: POP 0000499e: POP 0000499f: JUMP 000049a0: JUMPDEST 000049a1: PUSH0 000049a2: PUSH1 0x40 000049a4: DUP3 000049a5: ADD 000049a6: SWAP1 000049a7: POP 000049a8: PUSH2 0x49b3 000049ab: PUSH0 000049ac: DUP4 000049ad: ADD 000049ae: DUP6 000049af: PUSH2 0x3f1f 000049b2: JUMP 000049b3: JUMPDEST 000049b4: PUSH2 0x49c0 000049b7: PUSH1 0x20 000049b9: DUP4 000049ba: ADD 000049bb: DUP5 000049bc: PUSH2 0x446b 000049bf: JUMP 000049c0: JUMPDEST 000049c1: SWAP4 000049c2: SWAP3 000049c3: POP 000049c4: POP 000049c5: POP 000049c6: JUMP 000049c7: JUMPDEST 000049c8: PUSH0 000049c9: DUP2 000049ca: ISZERO 000049cb: ISZERO 000049cc: SWAP1 000049cd: POP 000049ce: SWAP2 000049cf: SWAP1 000049d0: POP 000049d1: JUMP 000049d2: JUMPDEST 000049d3: PUSH2 0x49db 000049d6: DUP2 000049d7: PUSH2 0x49c7 000049da: JUMP 000049db: JUMPDEST 000049dc: DUP2 000049dd: EQ 000049de: PUSH2 0x49e5 000049e1: JUMPI 000049e2: PUSH0 000049e3: DUP1 000049e4: REVERT 000049e5: JUMPDEST 000049e6: POP 000049e7: JUMP 000049e8: JUMPDEST 000049e9: PUSH0 000049ea: DUP2 000049eb: MLOAD 000049ec: SWAP1 000049ed: POP 000049ee: PUSH2 0x49f6 000049f1: DUP2 000049f2: PUSH2 0x49d2 000049f5: JUMP 000049f6: JUMPDEST 000049f7: SWAP3 000049f8: SWAP2 000049f9: POP 000049fa: POP 000049fb: JUMP 000049fc: JUMPDEST 000049fd: PUSH0 000049fe: PUSH1 0x20 00004a00: DUP3 00004a01: DUP5 00004a02: SUB 00004a03: SLT 00004a04: ISZERO 00004a05: PUSH2 0x4a11 00004a08: JUMPI 00004a09: PUSH2 0x4a10 00004a0c: PUSH2 0x3bce 00004a0f: JUMP 00004a10: JUMPDEST 00004a11: JUMPDEST 00004a12: PUSH0 00004a13: PUSH2 0x4a1e 00004a16: DUP5 00004a17: DUP3 00004a18: DUP6 00004a19: ADD 00004a1a: PUSH2 0x49e8 00004a1d: JUMP 00004a1e: JUMPDEST 00004a1f: SWAP2 00004a20: POP 00004a21: POP 00004a22: SWAP3 00004a23: SWAP2 00004a24: POP 00004a25: POP 00004a26: JUMP 00004a27: JUMPDEST 00004a28: PUSH32 0x5354000000000000000000000000000000000000000000000000000000000000 00004a49: PUSH0 00004a4a: DUP3 00004a4b: ADD 00004a4c: MSTORE 00004a4d: POP 00004a4e: JUMP 00004a4f: JUMPDEST 00004a50: PUSH0 00004a51: PUSH2 0x4a5b 00004a54: PUSH1 0x02 00004a56: DUP4 00004a57: PUSH2 0x4253 00004a5a: JUMP 00004a5b: JUMPDEST 00004a5c: SWAP2 00004a5d: POP 00004a5e: PUSH2 0x4a66 00004a61: DUP3 00004a62: PUSH2 0x4a27 00004a65: JUMP 00004a66: JUMPDEST 00004a67: PUSH1 0x20 00004a69: DUP3 00004a6a: ADD 00004a6b: SWAP1 00004a6c: POP 00004a6d: SWAP2 00004a6e: SWAP1 00004a6f: POP 00004a70: JUMP 00004a71: JUMPDEST 00004a72: PUSH0 00004a73: PUSH1 0x20 00004a75: DUP3 00004a76: ADD 00004a77: SWAP1 00004a78: POP 00004a79: DUP2 00004a7a: DUP2 00004a7b: SUB 00004a7c: PUSH0 00004a7d: DUP4 00004a7e: ADD 00004a7f: MSTORE 00004a80: PUSH2 0x4a88 00004a83: DUP2 00004a84: PUSH2 0x4a4f 00004a87: JUMP 00004a88: JUMPDEST 00004a89: SWAP1 00004a8a: POP 00004a8b: SWAP2 00004a8c: SWAP1 00004a8d: POP 00004a8e: JUMP 00004a8f: INVALID 00004a90: LOG2 00004a91: PUSH5 0x6970667358 00004a97: UNKNOWN(0x22) 00004a98: SLT 00004a99: KECCAK256 00004a9a: UNKNOWN(0x2D) 00004a9b: JUMPDEST 00004a9c: UNKNOWN(0xC0) 00004a9d: UNKNOWN(0xDE) 00004a9e: UNKNOWN(0xC9) 00004a9f: PUSH24 0x2608598d690bb4461643dfd72e59423f7efeef2cdb8aa21c 00004ab8: GT 00004ab9: CODECOPY 00004aba: PUSH5 0x736f6c6343 00004ac0: STOP 00004ac1: ADDMOD 00004ac2: NOT 00004ac3: STOP 00004ac4: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x9ad04d2443a11099efcf44b9dd7efb1d90648ca92d7b9719cbabe318ebb31fbe
call_targets:
0x705ec547b17ff8c4a2996f47fdfc399604163606
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x9ad04d2443a11099efcf44b9dd7efb1d90648ca92d7b9719cbabe318ebb31fbe",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x705ec547b17ff8c4a2996f47fdfc399604163606"
],
"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": "0xc5675be4",
"selector": "0xc5675be4",
"calldata_variants": [
"0xc5675be4",
"0xc5675be40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd382d503",
"selector": "0xd382d503",
"calldata_variants": [
"0xd382d503",
"0xd382d5030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe35426a4",
"selector": "0xe35426a4",
"calldata_variants": [
"0xe35426a4",
"0xe35426a40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe43252d7",
"selector": "0xe43252d7",
"calldata_variants": [
"0xe43252d7",
"0xe43252d70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe7ca87c4",
"selector": "0xe7ca87c4",
"calldata_variants": [
"0xe7ca87c4",
"0xe7ca87c40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb631e80b",
"selector": "0xb631e80b",
"calldata_variants": [
"0xb631e80b",
"0xb631e80b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb6c2cec0",
"selector": "0xb6c2cec0",
"calldata_variants": [
"0xb6c2cec0",
"0xb6c2cec00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbadcfe24",
"selector": "0xbadcfe24",
"calldata_variants": [
"0xbadcfe24",
"0xbadcfe240000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2028,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6162,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6447,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 16,
"guards_detected": [],
"untrusted_call_count": 16
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x9ad04d2443a11099efcf44b9dd7efb1d90648ca92d7b9719cbabe318ebb31fbe
call_targets:
0x705ec547b17ff8c4a2996f47fdfc399604163606
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x9ad04d2443a11099efcf44b9dd7efb1d90648ca92d7b9719cbabe318ebb31fbe",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x705ec547b17ff8c4a2996f47fdfc399604163606"
],
"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": "0xc5675be4",
"selector": "0xc5675be4",
"calldata_variants": [
"0xc5675be4",
"0xc5675be40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd382d503",
"selector": "0xd382d503",
"calldata_variants": [
"0xd382d503",
"0xd382d5030000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe35426a4",
"selector": "0xe35426a4",
"calldata_variants": [
"0xe35426a4",
"0xe35426a40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe43252d7",
"selector": "0xe43252d7",
"calldata_variants": [
"0xe43252d7",
"0xe43252d70000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe7ca87c4",
"selector": "0xe7ca87c4",
"calldata_variants": [
"0xe7ca87c4",
"0xe7ca87c40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb631e80b",
"selector": "0xb631e80b",
"calldata_variants": [
"0xb631e80b",
"0xb631e80b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb6c2cec0",
"selector": "0xb6c2cec0",
"calldata_variants": [
"0xb6c2cec0",
"0xb6c2cec00000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbadcfe24",
"selector": "0xbadcfe24",
"calldata_variants": [
"0xbadcfe24",
"0xbadcfe240000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2028,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6162,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6447,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 16,
"guards_detected": []
}
|
| medium | other | codex | Computed CALL targets/values may allow arbitrary external calls and ETH transfers if user-controlled | 75 | no | — |
viewevidence_json{
"evidence": "Capability graph callsites show 16 CALLs with target_expression_category/value_expression_category marked as computed and guards_detected empty. Detector findings report \u201cUntrusted CALL target/value reachable\u201d and \u201cETH value transfer possible\u201d with 16 examples and no guards detected.",
"locations": [
"pc:0x7ec",
"pc:0x1812",
"pc:0x192f",
"pc:0x1d07",
"pc:0x1da3",
"pc:0x1fb3",
"pc:0x204f",
"pc:0x2147",
"pc:0x241a",
"pc:0x2535",
"pc:0x2c98",
"pc:0x2d70",
"pc:0x2f43",
"pc:0x2fdf",
"pc:0x30d7",
"pc:0x3946"
],
"recommendation": "Ensure all functions that reach these CALL sites are protected by strict access control or enforce an allowlist of approved targets; validate or cap the ETH value forwarded; consider a reentrancy guard around stateful flows that perform external calls.",
"exploit_scenario": "If any public entrypoint lets an attacker influence the CALL target or value (via calldata or storage they can modify), they can trigger external calls to attacker-controlled contracts, potentially draining ETH or abusing reentrancy during those calls."
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 19
}
|