019ba9bc-ec62-71d0-9456-9e12b5762364
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 |
|---|---|---|---|---|
| 37769 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 37770 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 37771 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 37772 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 37773 | capability.graph | complete | 1 / 3 | 3 months ago |
| 37774 | detector.run | complete | 1 / 3 | 3 months ago |
| 37775 | validation.fork | complete | 1 / 3 | 3 months ago |
| 37909 | 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 (including ETH transfer capability). No proxy/delegatecall patterns detected; access-control on these call paths is unclear from artifacts.","findings":[{"severity":"medium","category":"access_control","title":"Computed CALL targets/values enable arbitrary external calls if reachable without auth","exploit_scenario":"If any externally reachable function allows user-controlled target/value to reach these CALL sites, an attacker could direct the contract to call arbitrary addresses (including with ETH), potentially draining any ETH held or leveraging reentrancy in downstream contracts. Guard detection is heuristic, and while CALLER is used elsewhere, there is no confirmed access-control gate on these call paths in the artifacts.","recommendation":"Restrict any CALL entrypoints to trusted callers, validate/whitelist target addresses and cap ETH values. Add explicit access-control checks on call paths and consider reentrancy protections if stateful logic surrounds these external calls.","evidence":"Detector flagged 19 CALL sites with computed target/value and no guards detected; examples at pcs 661, 801, 1203. Validation trace observed a constant target in one run (not confirmed), so dynamic target control remains uncertain.","locations":["pc:0x295","pc:0x321","pc:0x4b3","pc:0x7b8","pc:0x928","pc:0x17ad","pc:0x1c67","pc:0x2430"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-0ucg7e4g
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: xhigh
reasoning summaries: auto
session id: 019ba9df-3086-7022-8330-c7f8ebf14efc
--------
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.json**
exec
/bin/bash -lc ls in /tmp/codex-0ucg7e4g succeeded in 7ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-0ucg7e4g succeeded in 13ms:
{
"analysis_artifact": {
"address": "0xd4d96f9f45248fc8b25efaff4cccf1df05697257",
"artifact_hash": "0xf7a0d51edbd6eb9f1847092e7c283103fae15e5053928d2af3e3035007bb67b5",
"artifact_json": {
"auth": {
"guards": []
},
"basic_blocks": [
{
"end_pc": 12,
"hash": "0x254219d1c54291c09f942c4c6695ff01bf33776f812fbe5cd683fe2ff3a8a7f1",
"opcodes": [
"PUSH1",
"PUSH1",
"MSTORE",
"PUSH1",
"CALLDATASIZE",
"LT",
"PUSH2",
thinking
**Analyzing evidence in bytecode summary**
exec
/bin/bash -lc 'rg -n "storage|slot|delegatecall|proxy|eip-1967|beacon|implementation|upgrade|owner|admin|auth|guard|reentr" BYTECODE_BUNDLE.json' in /tmp/codex-0ucg7e4g succeeded in 8ms:
6: "auth": {
7: "guards": []
17355: "auth": {
17356: "guards": []
17362: "delegatecall": 0,
17366: "storage": {
17368: "slots": [
17372: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
17377: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
17382: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
17387: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
17392: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
17397: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
17402: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
17407: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
17412: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
17417: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
17422: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
17427: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
17432: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
thinking
**Analyzing evidence bundles with scripts**
exec
/bin/bash -lc "python - <<'PY'
import json, pprint
path='BYTECODE_BUNDLE.json'
with open(path) as f:
data=json.load(f)
print('keys', data.keys())
print('detector_findings count', len(data.get('detector_findings', [])))
for i, d in enumerate(data.get('detector_findings', [])):
print(i, d.get('title'), 'sev', d.get('severity'), 'conf', d.get('confidence'))
print('normalized', d.get('normalized_json'))
# show evidence summary
ev=d.get('evidence_json', {})
print('evidence keys', list(ev.keys()))
print('guards_detected', ev.get('guards_detected'))
print('examples', ev.get('examples')[:2])
print('validation', d.get('validation_json', {}))
print('---')
artifact=data.get('analysis_artifact', {})
print('analysis_artifact keys', artifact.keys())
print('heuristics', data.get('heuristics_summary'))
# Show top-level summary maybe
PY" in /tmp/codex-0ucg7e4g succeeded in 67ms:
keys dict_keys(['analysis_artifact', 'analysis_run', 'artifact', 'capability_graph', 'detector_findings', 'heuristics_summary'])
detector_findings count 2
0 Untrusted CALL target/value reachable sev high conf 60
normalized {'sink': 'CALL'}
evidence keys ['call_count', 'examples', 'guards_detected', 'untrusted_call_count']
guards_detected []
examples [{'opcode': 'CALL', 'pc': 661, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'CALL', 'pc': 801, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}]
validation {'attempts': 1, 'call_targets': ['0xd4d96f9f45248fc8b25efaff4cccf1df05697257'], 'classification': 'constant_target', 'confirmed': False, 'errors': 0, 'matched_probe': None, 'sink': 'CALL', 'status': 'sink_reached', 'target_varies': False, 'trace_id': '0xeb37f9c4f2458f1c68d3ffaef3799fc5d5e7ec7d74924622075bf30e531fc4b4', 'trace_mode': 'callTracer'}
---
1 ETH value transfer possible sev high conf 55
normalized {'sink': 'CALL', 'value': 'nonzero'}
evidence keys ['eth_value_calls', 'examples', 'guards_detected']
guards_detected []
examples [{'opcode': 'CALL', 'pc': 661, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'CALL', 'pc': 801, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}]
validation {'attempts': 1, 'call_targets': ['0xd4d96f9f45248fc8b25efaff4cccf1df05697257'], 'classification': 'constant_target', 'confirmed': False, 'errors': 0, 'matched_probe': None, 'sink': 'CALL', 'status': 'sink_reached', 'target_varies': False, 'trace_id': '0xeb37f9c4f2458f1c68d3ffaef3799fc5d5e7ec7d74924622075bf30e531fc4b4', 'trace_mode': 'callTracer'}
---
analysis_artifact keys dict_keys(['address', 'artifact_hash', 'artifact_json', 'block_number', 'chain_id', 'codehash', 'created_at', 'id', 'updated_at', 'version'])
heuristics {'create2_count': 0, 'delegatecall_count': 0, 'flags': ['heavy_ext_balance_usage', 'call_family_heavy'], 'selfdestruct_count': 0}
thinking
**Inspecting capability graph for call analysis**
I’m digging into the capability_graph and artifact_json to understand callsites, functions, storage slots, and external calls. I want to see if there’s any reentrancy guard or if untrusted calls introduce risks. The hex selectors look like familiar functions like withdraw and owner, but I’ll rely on the graphs and data to confirm call paths and storage interactions, using Python to parse the info.
exec
/bin/bash -lc "python - <<'PY'
import json
from collections import Counter
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
cap=data.get('capability_graph')
print('capability_graph keys', cap.keys() if isinstance(cap, dict) else type(cap))
# maybe list functions in capability_graph
if isinstance(cap, dict):
nodes=cap.get('nodes') or cap.get('graph', {}).get('nodes')
print('nodes type', type(nodes), 'len', len(nodes) if nodes else None)
# show first 5 nodes types
if nodes:
print('node types', Counter(n.get('type') for n in nodes).most_common()[:10])
# show function nodes
fn=[n for n in nodes if n.get('type')=='function']
print('fn count', len(fn))
for n in fn[:10]:
print(n)
PY" in /tmp/codex-0ucg7e4g succeeded in 57ms:
capability_graph keys dict_keys(['address', 'block_number', 'chain_id', 'codehash', 'created_at', 'graph_hash', 'graph_json', 'id', 'updated_at', 'version'])
nodes type <class 'NoneType'> len None
thinking
**Inspecting graph_json structure**
exec
/bin/bash -lc "python - <<'PY'
import json
from collections import Counter
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
cap=data.get('capability_graph')
if cap:
graph=cap.get('graph_json')
print('graph_json keys', graph.keys())
nodes=graph.get('nodes')
edges=graph.get('edges')
print('nodes', len(nodes), 'edges', len(edges))
print('node types', Counter(n.get('type') for n in nodes).most_common()[:10])
# show function nodes summary
fns=[n for n in nodes if n.get('type')=='function']
print('function nodes', len(fns))
for n in fns:
print({k:n.get(k) for k in ('id','selector','entry_pc','type')})
# show sink nodes
sinks=[n for n in nodes if n.get('type')=='sink']
print('sinks', sinks)
PY" in /tmp/codex-0ucg7e4g succeeded in 86ms:
graph_json keys dict_keys(['edges', 'nodes', 'version'])
nodes 822 edges 805
node types [('basic_block', 784), ('callsite', 27), ('function', 9), ('sink', 2)]
function nodes 9
{'id': 'fn:0x9066e7c3', 'selector': '0x9066e7c3', 'entry_pc': 2422663107, 'type': 'function'}
{'id': 'fn:0xb4a46ba1', 'selector': '0xb4a46ba1', 'entry_pc': 3295359164, 'type': 'function'}
{'id': 'fn:0xc46b30bc', 'selector': '0xc46b30bc', 'entry_pc': 3558846602, 'type': 'function'}
{'id': 'fn:0xd41fb08a', 'selector': '0xd41fb08a', 'entry_pc': 3996792659, 'type': 'function'}
{'id': 'fn:0xee3a3753', 'selector': '0xee3a3753', 'entry_pc': None, 'type': 'function'}
{'id': 'fn:0x1f6a1eb9', 'selector': '0x1f6a1eb9', 'entry_pc': 773487949, 'type': 'function'}
{'id': 'fn:0x2e1a7d4d', 'selector': '0x2e1a7d4d', 'entry_pc': 807017823, 'type': 'function'}
{'id': 'fn:0x301a1d5f', 'selector': '0x301a1d5f', 'entry_pc': 2376452955, 'type': 'function'}
{'id': 'fn:0x8da5cb5b', 'selector': '0x8da5cb5b', 'entry_pc': None, 'type': 'function'}
sinks [{'id': 'sink:call', 'type': 'sink'}, {'id': 'sink:staticcall', 'type': 'sink'}]
thinking
**Analyzing call graph edges**
exec
/bin/bash -lc "python - <<'PY'
import json
from collections import defaultdict
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
cap=data['capability_graph']['graph_json']
edges=cap['edges']
# check edge keys
print('edge sample', edges[:5])
# Build adjacency
adj=defaultdict(list)
for e in edges:
adj[e['source']].append(e['target'])
# Find nodes to sinks from functions by simple BFS
nodes=cap['nodes']
fn_ids=[n['id'] for n in nodes if n.get('type')=='function']
# BFS for each function to sink
sinks=set(n['id'] for n in nodes if n.get('type')=='sink')
from collections import deque
for fn in fn_ids:
q=deque([fn])
seen=set([fn])
reached=set()
while q:
u=q.popleft()
for v in adj.get(u, []):
if v in seen: continue
seen.add(v)
if v in sinks:
reached.add(v)
else:
q.append(v)
if reached:
print(fn, 'reaches', reached)
PY" in /tmp/codex-0ucg7e4g exited 1 in 35ms:
edge sample [{'from': 'bb:0', 'to': 'bb:137', 'type': 'control_flow'}, {'from': 'bb:0', 'to': 'bb:13', 'type': 'control_flow_fallthrough'}, {'from': 'bb:13', 'to': 'bb:88', 'type': 'control_flow'}, {'from': 'bb:13', 'to': 'bb:29', 'type': 'control_flow_fallthrough'}, {'from': 'bb:29', 'to': 'bb:278', 'type': 'control_flow'}]
Traceback (most recent call last):
File "<stdin>", line 12, in <module>
KeyError: 'source'
thinking
**Correcting edge key terminology**
exec
/bin/bash -lc "python - <<'PY'
import json
from collections import defaultdict, deque
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
cap=data['capability_graph']['graph_json']
edges=cap['edges']
adj=defaultdict(list)
for e in edges:
adj[e['from']].append(e['to'])
nodes=cap['nodes']
fn_ids=[n['id'] for n in nodes if n.get('type')=='function']
sinks=set(n['id'] for n in nodes if n.get('type')=='sink')
# BFS
for fn in fn_ids:
q=deque([fn])
seen=set([fn])
reached=set()
while q:
u=q.popleft()
for v in adj.get(u, []):
if v in seen:
continue
seen.add(v)
if v in sinks:
reached.add(v)
else:
q.append(v)
if reached:
print(fn, 'reaches', reached)
PY" in /tmp/codex-0ucg7e4g succeeded in 32ms:
thinking
**Inspecting function node edges**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
cap=data['capability_graph']['graph_json']
edges=cap['edges']
fn_edges=[e for e in edges if str(e.get('from','')).startswith('fn:')]
print('fn_edges', len(fn_edges))
print(fn_edges[:20])
PY" in /tmp/codex-0ucg7e4g succeeded in 32ms:
fn_edges 7
[{'from': 'fn:0x9066e7c3', 'to': 'bb:2422663107', 'type': 'entry'}, {'from': 'fn:0xb4a46ba1', 'to': 'bb:3295359164', 'type': 'entry'}, {'from': 'fn:0xc46b30bc', 'to': 'bb:3558846602', 'type': 'entry'}, {'from': 'fn:0xd41fb08a', 'to': 'bb:3996792659', 'type': 'entry'}, {'from': 'fn:0x1f6a1eb9', 'to': 'bb:773487949', 'type': 'entry'}, {'from': 'fn:0x2e1a7d4d', 'to': 'bb:807017823', 'type': 'entry'}, {'from': 'fn:0x301a1d5f', 'to': 'bb:2376452955', 'type': 'entry'}]
thinking
**Investigating graph entry points and artifact data**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
artifact_json=data['analysis_artifact']['artifact_json']
print('artifact_json keys', artifact_json.keys())
PY" in /tmp/codex-0ucg7e4g succeeded in 28ms:
artifact_json keys dict_keys(['auth', 'basic_blocks', 'callsites', 'cfg_edges', 'cfg_hash', 'dispatcher_type', 'function_entries', 'functions', 'selectors', 'sinks', 'storage', 'version'])
thinking
**Inspecting artifact_json structure**
exec
/bin/bash -lc "python - <<'PY'
import json
from collections import Counter
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
art=data['analysis_artifact']['artifact_json']
print('dispatcher_type', art.get('dispatcher_type'))
print('auth guards', art.get('auth'))
print('callsites', len(art.get('callsites', [])))
print('sinks', art.get('sinks'))
print('selectors', art.get('selectors')[:10])
print('function_entries', art.get('function_entries'))
print('functions count', len(art.get('functions', [])))
print('storage slots', len(art.get('storage', {}).get('slots', [])))
# show some callsite details
print('sample callsites')
for c in art.get('callsites', [])[:5]:
print(c)
PY" in /tmp/codex-0ucg7e4g succeeded in 30ms:
dispatcher_type selector_jump_table
auth guards {'guards': []}
callsites 27
sinks {'call': 19, 'create': 0, 'create2': 0, 'delegatecall': 0, 'selfdestruct': 0, 'staticcall': 8, 'upgrade_slot_write_suspected': False}
selectors ['0x9066e7c3', '0xb4a46ba1', '0xc46b30bc', '0xd41fb08a', '0xee3a3753', '0x1f6a1eb9', '0x2e1a7d4d', '0x301a1d5f', '0x8da5cb5b']
function_entries [{'entry_pc': 2422663107, 'selector': '0x9066e7c3'}, {'entry_pc': 3295359164, 'selector': '0xb4a46ba1'}, {'entry_pc': 3558846602, 'selector': '0xc46b30bc'}, {'entry_pc': 3996792659, 'selector': '0xd41fb08a'}, {'entry_pc': None, 'selector': '0xee3a3753'}, {'entry_pc': 773487949, 'selector': '0x1f6a1eb9'}, {'entry_pc': 807017823, 'selector': '0x2e1a7d4d'}, {'entry_pc': 2376452955, 'selector': '0x301a1d5f'}, {'entry_pc': None, 'selector': '0x8da5cb5b'}]
functions count 9
storage slots 25
sample callsites
{'opcode': 'CALL', 'pc': 661, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'CALL', 'pc': 801, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'STATICCALL', 'pc': 1078, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'n/a'}
{'opcode': 'CALL', 'pc': 1203, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}
{'opcode': 'STATICCALL', 'pc': 1369, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'n/a'}
thinking
**Inspecting storage slots**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
slots=data['analysis_artifact']['artifact_json']['storage']['slots']
print('slots len', len(slots))
# show unique slots
uniq=sorted(set(s['slot'] for s in slots))
print('unique slots', uniq)
# show sample slot entries
print('sample slots', slots[:5])
PY" in /tmp/codex-0ucg7e4g succeeded in 29ms:
slots len 25
unique slots ['0x0000000000000000000000000000000000000000000000000000000000000000']
sample slots [{'op': 'SLOAD', 'pc': 850, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 1265, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 2272, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 2922, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 3333, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}]
thinking
**Analyzing storage slot usage**
exec
/bin/bash -lc "python - <<'PY'
import json
from collections import Counter
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
slots=data['analysis_artifact']['artifact_json']['storage']['slots']
ops=Counter(s['op'] for s in slots)
print('storage ops', ops)
# list SSTOREs
stores=[s for s in slots if s['op']=='SSTORE']
print('SSTORE count', len(stores))
print('SSTORE sample', stores[:5])
PY" in /tmp/codex-0ucg7e4g succeeded in 29ms:
storage ops Counter({'SLOAD': 25})
SSTORE count 0
SSTORE sample []
thinking
**Analyzing stateless contract behavior with unsafe external calls**
I'm exploring this contract's bytecode, noting it only reads storage (SLOAD) but never modifies it (no SSTORE), which hints at a stateless design. Despite no storage updates, it makes external calls with value transfers to computed addresses, suggesting possible ETH forwarding or routing roles. I want to see if it risks reentrancy due to external calls without storage guards and if it uses balance queries like SELFBALANCE. I'll dig into callsite details to clarify how targets and values are computed and check for any subtle patterns or vulnerabilities.
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
for c in data['analysis_artifact']['artifact_json']['callsites']:
pprint(c)
PY" in /tmp/codex-0ucg7e4g succeeded in 41ms:
{'opcode': 'CALL',
'pc': 661,
'returndata_checked': None,
'target_expression_category': 'computed',
'value_expression_category': 'computed'}
{'opcode': 'CALL',
'pc': 801,
'returndata_checked': None,
'target_expression_category': 'computed',
'value_expression_category': 'computed'}
{'opcode': 'STATICCALL',
'pc': 1078,
'returndata_checked': None,
'target_expression_category': 'computed',
'value_expression_category': 'n/a'}
{'opcode': 'CALL',
'pc': 1203,
'returndata_checked': None,
'target_expression_category': 'computed',
'value_expression_category': 'computed'}
thinking
**Analyzing contract upgradeability and call targets**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
print('analysis_run keys', data['analysis_run'].keys())
# maybe include traces
print('analysis_run', data['analysis_run'])
PY" in /tmp/codex-0ucg7e4g succeeded in 29ms:
analysis_run keys dict_keys(['address', 'block_number', 'chain_id', 'child_links', 'created_at', 'id', 'parent_links', 'status', 'updated_at'])
analysis_run {'address': '0xd4d96f9f45248fc8b25efaff4cccf1df05697257', 'block_number': None, 'chain_id': 1, 'child_links': [], 'created_at': '2026-01-10T21:08:09.000000Z', 'id': '019ba9bc-ec62-71d0-9456-9e12b5762364', 'parent_links': [], 'status': 'running', 'updated_at': '2026-01-10T21:08:22.000000Z'}
thinking
**Analyzing untrusted external calls risks**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
print('artifact keys', data['artifact'].keys())
# maybe includes proxy evidence or analysis of features
print('artifact', {k:data['artifact'].get(k) for k in ['address','code_hash','proxy','implementation','proxy_evidence'] if k in data['artifact']})
PY" in /tmp/codex-0ucg7e4g succeeded in 77ms:
artifact keys dict_keys(['codehash', 'compiler_json', 'implementation_address', 'is_proxy', 'runtime_bytecode', 'verified_source'])
artifact {}
thinking
**Preparing JSON report structure**
exec
/bin/bash -lc "python - <<'PY'
pcs=[661,801,1203,1976,2344,3050,3461,3932,4053,6061,6198,6888,7271,7392,8028,8288,8745,9143,9264]
print([hex(p) for p in pcs])
PY" in /tmp/codex-0ucg7e4g succeeded in 45ms:
['0x295', '0x321', '0x4b3', '0x7b8', '0x928', '0xbea', '0xd85', '0xf5c', '0xfd5', '0x17ad', '0x1836', '0x1ae8', '0x1c67', '0x1ce0', '0x1f5c', '0x2060', '0x2229', '0x23b7', '0x2430']
thinking
**Evaluating external call risks**
exec
/bin/bash -lc 'rg -n "ORIGIN|CALLER" BYTECODE_BUNDLE.json' in /tmp/codex-0ucg7e4g succeeded in 8ms:
4627: "CALLER",
5660: "CALLER",
7440: "CALLER",
13395: "CALLER"
thinking
**Formulating detailed vulnerability findings**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
blocks=data['analysis_artifact']['artifact_json']['basic_blocks']
# find block containing a given pc
pcs=[661,801,1203,1976]
for pc in pcs:
blk=next((b for b in blocks if b['start_pc']<=pc<=b['end_pc']), None)
print('pc', pc, 'block', blk['start_pc'], blk['end_pc'])
print(blk['opcodes'])
print('---')
PY" in /tmp/codex-0ucg7e4g succeeded in 38ms:
pc 661 block 615 673
['OP_80', 'PUSH20', 'AND', 'PUSH2', 'SELFBALANCE', 'OP_90', 'OP_81', 'ISZERO', 'MUL', 'OP_90', 'PUSH1', 'MLOAD', 'PUSH0', 'PUSH1', 'MLOAD', 'OP_80', 'OP_83', 'SUB', 'OP_81', 'OP_85', 'OP_88', 'OP_88', 'CALL', 'OP_93', 'POP', 'POP', 'POP', 'POP', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
---
pc 801 block 754 813
['JUMPDEST', 'OP_80', 'PUSH20', 'AND', 'PUSH2', 'OP_83', 'OP_90', 'OP_81', 'ISZERO', 'MUL', 'OP_90', 'PUSH1', 'MLOAD', 'PUSH0', 'PUSH1', 'MLOAD', 'OP_80', 'OP_83', 'SUB', 'OP_81', 'OP_85', 'OP_88', 'OP_88', 'CALL', 'OP_93', 'POP', 'POP', 'POP', 'POP', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
---
pc 1203 block 1190 1210
['JUMPDEST', 'PUSH1', 'PUSH1', 'MLOAD', 'OP_80', 'OP_83', 'SUB', 'OP_81', 'PUSH0', 'OP_87', 'GAS', 'CALL', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
---
pc 1976 block 1963 1986
['JUMPDEST', 'PUSH1', 'PUSH1', 'MLOAD', 'OP_80', 'OP_83', 'SUB', 'OP_81', 'PUSH0', 'OP_87', 'GAS', 'CALL', 'OP_92', 'POP', 'POP', 'POP', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI']
---
thinking
**Analyzing call success checks and access control**
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
blocks=data['analysis_artifact']['artifact_json']['basic_blocks']
caller_blocks=[b for b in blocks if 'CALLER' in b['opcodes']]
print('caller blocks', len(caller_blocks))
for b in caller_blocks[:10]:
print(b['start_pc'], b['end_pc'], b['opcodes'])
PY" in /tmp/codex-0ucg7e4g succeeded in 60ms:
caller blocks 4
5008 5014 ['JUMPDEST', 'PUSH0', 'CALLER', 'OP_90', 'POP', 'OP_90', 'JUMP']
6091 6184 ['JUMPDEST', 'OP_84', 'PUSH20', 'AND', 'PUSH4', 'CALLER', 'PUSH1', 'PUSH0', 'OP_90', 'SLOAD', 'OP_90', 'PUSH2', 'EXP', 'OP_90', 'DIV', 'PUSH20', 'AND', 'OP_86', 'PUSH1', 'MLOAD', 'OP_84', 'PUSH4', 'AND', 'PUSH1', 'SHL', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH2', 'OP_93', 'OP_92', 'OP_91', 'OP_90', 'PUSH2', 'JUMP']
8181 8274 ['JUMPDEST', 'OP_80', 'PUSH20', 'AND', 'PUSH4', 'CALLER', 'PUSH1', 'PUSH0', 'OP_90', 'SLOAD', 'OP_90', 'PUSH2', 'EXP', 'OP_90', 'DIV', 'PUSH20', 'AND', 'OP_89', 'PUSH1', 'MLOAD', 'OP_84', 'PUSH4', 'AND', 'PUSH1', 'SHL', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH2', 'OP_93', 'OP_92', 'OP_91', 'OP_90', 'PUSH2', 'JUMP']
13346 13346 ['CALLER']
thinking
**Analyzing computed CALL sites and access control risks**
codex
{"no_findings":false,"summary":"Bytecode analysis shows multiple CALL sites with computed targets/values (including ETH transfer capability). No proxy/delegatecall patterns detected; access-control on these call paths is unclear from artifacts.","findings":[{"severity":"medium","category":"access_control","title":"Computed CALL targets/values enable arbitrary external calls if reachable without auth","exploit_scenario":"If any externally reachable function allows user-controlled target/value to reach these CALL sites, an attacker could direct the contract to call arbitrary addresses (including with ETH), potentially draining any ETH held or leveraging reentrancy in downstream contracts. Guard detection is heuristic, and while CALLER is used elsewhere, there is no confirmed access-control gate on these call paths in the artifacts.","recommendation":"Restrict any CALL entrypoints to trusted callers, validate/whitelist target addresses and cap ETH values. Add explicit access-control checks on call paths and consider reentrancy protections if stateful logic surrounds these external calls.","evidence":"Detector flagged 19 CALL sites with computed target/value and no guards detected; examples at pcs 661, 801, 1203. Validation trace observed a constant target in one run (not confirmed), so dynamic target control remains uncertain.","locations":["pc:0x295","pc:0x321","pc:0x4b3","pc:0x7b8","pc:0x928","pc:0x17ad","pc:0x1c67","pc:0x2430"]}]}
tokens used
50,878
{
"codex": {
"ran_at": "2026-01-10T21:48:56.503504+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 26696,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode analysis shows multiple CALL sites with computed targets/values (including ETH transfer capability). No proxy/delegatecall patterns detected; access-control on these call paths is unclear from artifacts.",
"raw_final": {
"summary": "Bytecode analysis shows multiple CALL sites with computed targets/values (including ETH transfer capability). No proxy/delegatecall patterns detected; access-control on these call paths is unclear from artifacts.",
"findings": [
{
"title": "Computed CALL targets/values enable arbitrary external calls if reachable without auth",
"category": "access_control",
"evidence": "Detector flagged 19 CALL sites with computed target/value and no guards detected; examples at pcs 661, 801, 1203. Validation trace observed a constant target in one run (not confirmed), so dynamic target control remains uncertain.",
"severity": "medium",
"locations": [
"pc:0x295",
"pc:0x321",
"pc:0x4b3",
"pc:0x7b8",
"pc:0x928",
"pc:0x17ad",
"pc:0x1c67",
"pc:0x2430"
],
"recommendation": "Restrict any CALL entrypoints to trusted callers, validate/whitelist target addresses and cap ETH values. Add explicit access-control checks on call paths and consider reentrancy protections if stateful logic surrounds these external calls.",
"exploit_scenario": "If any externally reachable function allows user-controlled target/value to reach these CALL sites, an attacker could direct the contract to call arbitrary addresses (including with ETH), potentially draining any ETH held or leveraging reentrancy in downstream contracts. Guard detection is heuristic, and while CALLER is used elsewhere, there is no confirmed access-control gate on these call paths in the artifacts."
}
],
"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 0x0089 0000000c: JUMPI 0000000d: PUSH0 0000000e: CALLDATALOAD 0000000f: PUSH1 0xe0 00000011: SHR 00000012: DUP1 00000013: PUSH4 0x9066e7c3 00000018: GT 00000019: PUSH2 0x0058 0000001c: JUMPI 0000001d: DUP1 0000001e: PUSH4 0x9066e7c3 00000023: EQ 00000024: PUSH2 0x0116 00000027: JUMPI 00000028: DUP1 00000029: PUSH4 0xb4a46ba1 0000002e: EQ 0000002f: PUSH2 0x013e 00000032: JUMPI 00000033: DUP1 00000034: PUSH4 0xc46b30bc 00000039: EQ 0000003a: PUSH2 0x0166 0000003d: JUMPI 0000003e: DUP1 0000003f: PUSH4 0xd41fb08a 00000044: EQ 00000045: PUSH2 0x0182 00000048: JUMPI 00000049: DUP1 0000004a: PUSH4 0xee3a3753 0000004f: EQ 00000050: PUSH2 0x019e 00000053: JUMPI 00000054: PUSH2 0x008a 00000057: JUMP 00000058: JUMPDEST 00000059: DUP1 0000005a: PUSH4 0x1f6a1eb9 0000005f: EQ 00000060: PUSH2 0x008c 00000063: JUMPI 00000064: DUP1 00000065: PUSH4 0x2e1a7d4d 0000006a: EQ 0000006b: PUSH2 0x00a8 0000006e: JUMPI 0000006f: DUP1 00000070: PUSH4 0x301a1d5f 00000075: EQ 00000076: PUSH2 0x00d0 00000079: JUMPI 0000007a: DUP1 0000007b: PUSH4 0x8da5cb5b 00000080: EQ 00000081: PUSH2 0x00ec 00000084: JUMPI 00000085: PUSH2 0x008a 00000088: JUMP 00000089: JUMPDEST 0000008a: JUMPDEST 0000008b: STOP 0000008c: JUMPDEST 0000008d: PUSH2 0x00a6 00000090: PUSH1 0x04 00000092: DUP1 00000093: CALLDATASIZE 00000094: SUB 00000095: DUP2 00000096: ADD 00000097: SWAP1 00000098: PUSH2 0x00a1 0000009b: SWAP2 0000009c: SWAP1 0000009d: PUSH2 0x256c 000000a0: JUMP 000000a1: JUMPDEST 000000a2: PUSH2 0x01c6 000000a5: JUMP 000000a6: JUMPDEST 000000a7: STOP 000000a8: JUMPDEST 000000a9: CALLVALUE 000000aa: DUP1 000000ab: ISZERO 000000ac: PUSH2 0x00b3 000000af: JUMPI 000000b0: PUSH0 000000b1: PUSH0 000000b2: REVERT 000000b3: JUMPDEST 000000b4: POP 000000b5: PUSH2 0x00ce 000000b8: PUSH1 0x04 000000ba: DUP1 000000bb: CALLDATASIZE 000000bc: SUB 000000bd: DUP2 000000be: ADD 000000bf: SWAP1 000000c0: PUSH2 0x00c9 000000c3: SWAP2 000000c4: SWAP1 000000c5: PUSH2 0x261d 000000c8: JUMP 000000c9: JUMPDEST 000000ca: PUSH2 0x01d8 000000cd: JUMP 000000ce: JUMPDEST 000000cf: STOP 000000d0: JUMPDEST 000000d1: PUSH2 0x00ea 000000d4: PUSH1 0x04 000000d6: DUP1 000000d7: CALLDATASIZE 000000d8: SUB 000000d9: DUP2 000000da: ADD 000000db: SWAP1 000000dc: PUSH2 0x00e5 000000df: SWAP2 000000e0: SWAP1 000000e1: PUSH2 0x256c 000000e4: JUMP 000000e5: JUMPDEST 000000e6: PUSH2 0x033b 000000e9: JUMP 000000ea: JUMPDEST 000000eb: STOP 000000ec: JUMPDEST 000000ed: CALLVALUE 000000ee: DUP1 000000ef: ISZERO 000000f0: PUSH2 0x00f7 000000f3: JUMPI 000000f4: PUSH0 000000f5: PUSH0 000000f6: REVERT 000000f7: JUMPDEST 000000f8: POP 000000f9: PUSH2 0x0100 000000fc: PUSH2 0x034d 000000ff: JUMP 00000100: JUMPDEST 00000101: PUSH1 0x40 00000103: MLOAD 00000104: PUSH2 0x010d 00000107: SWAP2 00000108: SWAP1 00000109: PUSH2 0x2687 0000010c: JUMP 0000010d: JUMPDEST 0000010e: PUSH1 0x40 00000110: MLOAD 00000111: DUP1 00000112: SWAP2 00000113: SUB 00000114: SWAP1 00000115: RETURN 00000116: JUMPDEST 00000117: CALLVALUE 00000118: DUP1 00000119: ISZERO 0000011a: PUSH2 0x0121 0000011d: JUMPI 0000011e: PUSH0 0000011f: PUSH0 00000120: REVERT 00000121: JUMPDEST 00000122: POP 00000123: PUSH2 0x013c 00000126: PUSH1 0x04 00000128: DUP1 00000129: CALLDATASIZE 0000012a: SUB 0000012b: DUP2 0000012c: ADD 0000012d: SWAP1 0000012e: PUSH2 0x0137 00000131: SWAP2 00000132: SWAP1 00000133: PUSH2 0x26ca 00000136: JUMP 00000137: JUMPDEST 00000138: PUSH2 0x0374 0000013b: JUMP 0000013c: JUMPDEST 0000013d: STOP 0000013e: JUMPDEST 0000013f: CALLVALUE 00000140: DUP1 00000141: ISZERO 00000142: PUSH2 0x0149 00000145: JUMPI 00000146: PUSH0 00000147: PUSH0 00000148: REVERT 00000149: JUMPDEST 0000014a: POP 0000014b: PUSH2 0x0164 0000014e: PUSH1 0x04 00000150: DUP1 00000151: CALLDATASIZE 00000152: SUB 00000153: DUP2 00000154: ADD 00000155: SWAP1 00000156: PUSH2 0x015f 00000159: SWAP2 0000015a: SWAP1 0000015b: PUSH2 0x275d 0000015e: JUMP 0000015f: JUMPDEST 00000160: PUSH2 0x04ec 00000163: JUMP 00000164: JUMPDEST 00000165: STOP 00000166: JUMPDEST 00000167: PUSH2 0x0180 0000016a: PUSH1 0x04 0000016c: DUP1 0000016d: CALLDATASIZE 0000016e: SUB 0000016f: DUP2 00000170: ADD 00000171: SWAP1 00000172: PUSH2 0x017b 00000175: SWAP2 00000176: SWAP1 00000177: PUSH2 0x256c 0000017a: JUMP 0000017b: JUMPDEST 0000017c: PUSH2 0x0fff 0000017f: JUMP 00000180: JUMPDEST 00000181: STOP 00000182: JUMPDEST 00000183: PUSH2 0x019c 00000186: PUSH1 0x04 00000188: DUP1 00000189: CALLDATASIZE 0000018a: SUB 0000018b: DUP2 0000018c: ADD 0000018d: SWAP1 0000018e: PUSH2 0x0197 00000191: SWAP2 00000192: SWAP1 00000193: PUSH2 0x256c 00000196: JUMP 00000197: JUMPDEST 00000198: PUSH2 0x1011 0000019b: JUMP 0000019c: JUMPDEST 0000019d: STOP 0000019e: JUMPDEST 0000019f: CALLVALUE 000001a0: DUP1 000001a1: ISZERO 000001a2: PUSH2 0x01a9 000001a5: JUMPI 000001a6: PUSH0 000001a7: PUSH0 000001a8: REVERT 000001a9: JUMPDEST 000001aa: POP 000001ab: PUSH2 0x01c4 000001ae: PUSH1 0x04 000001b0: DUP1 000001b1: CALLDATASIZE 000001b2: SUB 000001b3: DUP2 000001b4: ADD 000001b5: SWAP1 000001b6: PUSH2 0x01bf 000001b9: SWAP2 000001ba: SWAP1 000001bb: PUSH2 0x2842 000001be: JUMP 000001bf: JUMPDEST 000001c0: PUSH2 0x1023 000001c3: JUMP 000001c4: JUMPDEST 000001c5: STOP 000001c6: JUMPDEST 000001c7: PUSH2 0x01d2 000001ca: DUP5 000001cb: DUP5 000001cc: DUP5 000001cd: DUP5 000001ce: PUSH2 0x10f7 000001d1: JUMP 000001d2: JUMPDEST 000001d3: POP 000001d4: POP 000001d5: POP 000001d6: POP 000001d7: JUMP 000001d8: JUMPDEST 000001d9: PUSH2 0x01e0 000001dc: PUSH2 0x1390 000001df: JUMP 000001e0: JUMPDEST 000001e1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000001f6: AND 000001f7: PUSH2 0x01fe 000001fa: PUSH2 0x034d 000001fd: JUMP 000001fe: JUMPDEST 000001ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000214: AND 00000215: EQ 00000216: PUSH2 0x0254 00000219: JUMPI 0000021a: PUSH1 0x40 0000021c: MLOAD 0000021d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000023e: DUP2 0000023f: MSTORE 00000240: PUSH1 0x04 00000242: ADD 00000243: PUSH2 0x024b 00000246: SWAP1 00000247: PUSH2 0x28da 0000024a: JUMP 0000024b: JUMPDEST 0000024c: PUSH1 0x40 0000024e: MLOAD 0000024f: DUP1 00000250: SWAP2 00000251: SUB 00000252: SWAP1 00000253: REVERT 00000254: JUMPDEST 00000255: PUSH0 00000256: PUSH2 0x025d 00000259: PUSH2 0x034d 0000025c: JUMP 0000025d: JUMPDEST 0000025e: SWAP1 0000025f: POP 00000260: PUSH0 00000261: DUP3 00000262: SUB 00000263: PUSH2 0x02af 00000266: JUMPI 00000267: DUP1 00000268: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000027d: AND 0000027e: PUSH2 0x08fc 00000281: SELFBALANCE 00000282: SWAP1 00000283: DUP2 00000284: ISZERO 00000285: MUL 00000286: SWAP1 00000287: PUSH1 0x40 00000289: MLOAD 0000028a: PUSH0 0000028b: PUSH1 0x40 0000028d: MLOAD 0000028e: DUP1 0000028f: DUP4 00000290: SUB 00000291: DUP2 00000292: DUP6 00000293: DUP9 00000294: DUP9 00000295: CALL 00000296: SWAP4 00000297: POP 00000298: POP 00000299: POP 0000029a: POP 0000029b: ISZERO 0000029c: DUP1 0000029d: ISZERO 0000029e: PUSH2 0x02a9 000002a1: JUMPI 000002a2: RETURNDATASIZE 000002a3: PUSH0 000002a4: PUSH0 000002a5: RETURNDATACOPY 000002a6: RETURNDATASIZE 000002a7: PUSH0 000002a8: REVERT 000002a9: JUMPDEST 000002aa: POP 000002ab: PUSH2 0x0337 000002ae: JUMP 000002af: JUMPDEST 000002b0: DUP2 000002b1: SELFBALANCE 000002b2: LT 000002b3: ISZERO 000002b4: PUSH2 0x02f2 000002b7: JUMPI 000002b8: PUSH1 0x40 000002ba: MLOAD 000002bb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000002dc: DUP2 000002dd: MSTORE 000002de: PUSH1 0x04 000002e0: ADD 000002e1: PUSH2 0x02e9 000002e4: SWAP1 000002e5: PUSH2 0x2942 000002e8: JUMP 000002e9: JUMPDEST 000002ea: PUSH1 0x40 000002ec: MLOAD 000002ed: DUP1 000002ee: SWAP2 000002ef: SUB 000002f0: SWAP1 000002f1: REVERT 000002f2: JUMPDEST 000002f3: DUP1 000002f4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000309: AND 0000030a: PUSH2 0x08fc 0000030d: DUP4 0000030e: SWAP1 0000030f: DUP2 00000310: ISZERO 00000311: MUL 00000312: SWAP1 00000313: PUSH1 0x40 00000315: MLOAD 00000316: PUSH0 00000317: PUSH1 0x40 00000319: MLOAD 0000031a: DUP1 0000031b: DUP4 0000031c: SUB 0000031d: DUP2 0000031e: DUP6 0000031f: DUP9 00000320: DUP9 00000321: CALL 00000322: SWAP4 00000323: POP 00000324: POP 00000325: POP 00000326: POP 00000327: ISZERO 00000328: DUP1 00000329: ISZERO 0000032a: PUSH2 0x0335 0000032d: JUMPI 0000032e: RETURNDATASIZE 0000032f: PUSH0 00000330: PUSH0 00000331: RETURNDATACOPY 00000332: RETURNDATASIZE 00000333: PUSH0 00000334: REVERT 00000335: JUMPDEST 00000336: POP 00000337: JUMPDEST 00000338: POP 00000339: POP 0000033a: JUMP 0000033b: JUMPDEST 0000033c: PUSH2 0x0347 0000033f: DUP5 00000340: DUP5 00000341: DUP5 00000342: DUP5 00000343: PUSH2 0x10f7 00000346: JUMP 00000347: JUMPDEST 00000348: POP 00000349: POP 0000034a: POP 0000034b: POP 0000034c: JUMP 0000034d: JUMPDEST 0000034e: PUSH0 0000034f: PUSH0 00000350: PUSH0 00000351: SWAP1 00000352: SLOAD 00000353: SWAP1 00000354: PUSH2 0x0100 00000357: EXP 00000358: SWAP1 00000359: DIV 0000035a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000036f: AND 00000370: SWAP1 00000371: POP 00000372: SWAP1 00000373: JUMP 00000374: JUMPDEST 00000375: PUSH2 0x037c 00000378: PUSH2 0x1390 0000037b: JUMP 0000037c: JUMPDEST 0000037d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000392: AND 00000393: PUSH2 0x039a 00000396: PUSH2 0x034d 00000399: JUMP 0000039a: JUMPDEST 0000039b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000003b0: AND 000003b1: EQ 000003b2: PUSH2 0x03f0 000003b5: JUMPI 000003b6: PUSH1 0x40 000003b8: MLOAD 000003b9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000003da: DUP2 000003db: MSTORE 000003dc: PUSH1 0x04 000003de: ADD 000003df: PUSH2 0x03e7 000003e2: SWAP1 000003e3: PUSH2 0x28da 000003e6: JUMP 000003e7: JUMPDEST 000003e8: PUSH1 0x40 000003ea: MLOAD 000003eb: DUP1 000003ec: SWAP2 000003ed: SUB 000003ee: SWAP1 000003ef: REVERT 000003f0: JUMPDEST 000003f1: PUSH0 000003f2: DUP3 000003f3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000408: AND 00000409: PUSH4 0x70a08231 0000040e: ADDRESS 0000040f: PUSH1 0x40 00000411: MLOAD 00000412: DUP3 00000413: PUSH4 0xffffffff 00000418: AND 00000419: PUSH1 0xe0 0000041b: SHL 0000041c: DUP2 0000041d: MSTORE 0000041e: PUSH1 0x04 00000420: ADD 00000421: PUSH2 0x042a 00000424: SWAP2 00000425: SWAP1 00000426: PUSH2 0x2687 00000429: JUMP 0000042a: JUMPDEST 0000042b: PUSH1 0x20 0000042d: PUSH1 0x40 0000042f: MLOAD 00000430: DUP1 00000431: DUP4 00000432: SUB 00000433: DUP2 00000434: DUP7 00000435: GAS 00000436: STATICCALL 00000437: ISZERO 00000438: DUP1 00000439: ISZERO 0000043a: PUSH2 0x0445 0000043d: JUMPI 0000043e: RETURNDATASIZE 0000043f: PUSH0 00000440: PUSH0 00000441: RETURNDATACOPY 00000442: RETURNDATASIZE 00000443: PUSH0 00000444: REVERT 00000445: JUMPDEST 00000446: POP 00000447: POP 00000448: POP 00000449: POP 0000044a: PUSH1 0x40 0000044c: MLOAD 0000044d: RETURNDATASIZE 0000044e: PUSH1 0x1f 00000450: NOT 00000451: PUSH1 0x1f 00000453: DUP3 00000454: ADD 00000455: AND 00000456: DUP3 00000457: ADD 00000458: DUP1 00000459: PUSH1 0x40 0000045b: MSTORE 0000045c: POP 0000045d: DUP2 0000045e: ADD 0000045f: SWAP1 00000460: PUSH2 0x0469 00000463: SWAP2 00000464: SWAP1 00000465: PUSH2 0x2974 00000468: JUMP 00000469: JUMPDEST 0000046a: SWAP1 0000046b: POP 0000046c: DUP3 0000046d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000482: AND 00000483: PUSH4 0xa9059cbb 00000488: DUP4 00000489: DUP4 0000048a: PUSH1 0x40 0000048c: MLOAD 0000048d: DUP4 0000048e: PUSH4 0xffffffff 00000493: AND 00000494: PUSH1 0xe0 00000496: SHL 00000497: DUP2 00000498: MSTORE 00000499: PUSH1 0x04 0000049b: ADD 0000049c: PUSH2 0x04a6 0000049f: SWAP3 000004a0: SWAP2 000004a1: SWAP1 000004a2: PUSH2 0x29ae 000004a5: JUMP 000004a6: JUMPDEST 000004a7: PUSH1 0x20 000004a9: PUSH1 0x40 000004ab: MLOAD 000004ac: DUP1 000004ad: DUP4 000004ae: SUB 000004af: DUP2 000004b0: PUSH0 000004b1: DUP8 000004b2: GAS 000004b3: CALL 000004b4: ISZERO 000004b5: DUP1 000004b6: ISZERO 000004b7: PUSH2 0x04c2 000004ba: JUMPI 000004bb: RETURNDATASIZE 000004bc: PUSH0 000004bd: PUSH0 000004be: RETURNDATACOPY 000004bf: RETURNDATASIZE 000004c0: PUSH0 000004c1: REVERT 000004c2: JUMPDEST 000004c3: POP 000004c4: POP 000004c5: POP 000004c6: POP 000004c7: PUSH1 0x40 000004c9: MLOAD 000004ca: RETURNDATASIZE 000004cb: PUSH1 0x1f 000004cd: NOT 000004ce: PUSH1 0x1f 000004d0: DUP3 000004d1: ADD 000004d2: AND 000004d3: DUP3 000004d4: ADD 000004d5: DUP1 000004d6: PUSH1 0x40 000004d8: MSTORE 000004d9: POP 000004da: DUP2 000004db: ADD 000004dc: SWAP1 000004dd: PUSH2 0x04e6 000004e0: SWAP2 000004e1: SWAP1 000004e2: PUSH2 0x29e9 000004e5: JUMP 000004e6: JUMPDEST 000004e7: POP 000004e8: POP 000004e9: POP 000004ea: POP 000004eb: JUMP 000004ec: JUMPDEST 000004ed: PUSH1 0x01 000004ef: PUSH0 000004f0: SWAP1 000004f1: SLOAD 000004f2: SWAP1 000004f3: PUSH2 0x0100 000004f6: EXP 000004f7: SWAP1 000004f8: DIV 000004f9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000050e: AND 0000050f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000524: AND 00000525: PUSH4 0x16bad319 0000052a: PUSH2 0x0531 0000052d: PUSH2 0x1390 00000530: JUMP 00000531: JUMPDEST 00000532: PUSH1 0x40 00000534: MLOAD 00000535: DUP3 00000536: PUSH4 0xffffffff 0000053b: AND 0000053c: PUSH1 0xe0 0000053e: SHL 0000053f: DUP2 00000540: MSTORE 00000541: PUSH1 0x04 00000543: ADD 00000544: PUSH2 0x054d 00000547: SWAP2 00000548: SWAP1 00000549: PUSH2 0x2687 0000054c: JUMP 0000054d: JUMPDEST 0000054e: PUSH1 0x20 00000550: PUSH1 0x40 00000552: MLOAD 00000553: DUP1 00000554: DUP4 00000555: SUB 00000556: DUP2 00000557: DUP7 00000558: GAS 00000559: STATICCALL 0000055a: ISZERO 0000055b: DUP1 0000055c: ISZERO 0000055d: PUSH2 0x0568 00000560: JUMPI 00000561: RETURNDATASIZE 00000562: PUSH0 00000563: PUSH0 00000564: RETURNDATACOPY 00000565: RETURNDATASIZE 00000566: PUSH0 00000567: REVERT 00000568: JUMPDEST 00000569: POP 0000056a: POP 0000056b: POP 0000056c: POP 0000056d: PUSH1 0x40 0000056f: MLOAD 00000570: RETURNDATASIZE 00000571: PUSH1 0x1f 00000573: NOT 00000574: PUSH1 0x1f 00000576: DUP3 00000577: ADD 00000578: AND 00000579: DUP3 0000057a: ADD 0000057b: DUP1 0000057c: PUSH1 0x40 0000057e: MSTORE 0000057f: POP 00000580: DUP2 00000581: ADD 00000582: SWAP1 00000583: PUSH2 0x058c 00000586: SWAP2 00000587: SWAP1 00000588: PUSH2 0x29e9 0000058b: JUMP 0000058c: JUMPDEST 0000058d: PUSH2 0x05cb 00000590: JUMPI 00000591: PUSH1 0x40 00000593: MLOAD 00000594: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000005b5: DUP2 000005b6: MSTORE 000005b7: PUSH1 0x04 000005b9: ADD 000005ba: PUSH2 0x05c2 000005bd: SWAP1 000005be: PUSH2 0x2a5e 000005c1: JUMP 000005c2: JUMPDEST 000005c3: PUSH1 0x40 000005c5: MLOAD 000005c6: DUP1 000005c7: SWAP2 000005c8: SUB 000005c9: SWAP1 000005ca: REVERT 000005cb: JUMPDEST 000005cc: PUSH0 000005cd: DUP3 000005ce: DUP3 000005cf: SWAP1 000005d0: POP 000005d1: GT 000005d2: PUSH2 0x0610 000005d5: JUMPI 000005d6: PUSH1 0x40 000005d8: MLOAD 000005d9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000005fa: DUP2 000005fb: MSTORE 000005fc: PUSH1 0x04 000005fe: ADD 000005ff: PUSH2 0x0607 00000602: SWAP1 00000603: PUSH2 0x2ac6 00000606: JUMP 00000607: JUMPDEST 00000608: PUSH1 0x40 0000060a: MLOAD 0000060b: DUP1 0000060c: SWAP2 0000060d: SUB 0000060e: SWAP1 0000060f: REVERT 00000610: JUMPDEST 00000611: PUSH0 00000612: PUSH1 0x3f 00000614: PUSH1 0xf8 00000616: SHL 00000617: DUP8 00000618: DUP8 00000619: PUSH0 0000061a: DUP2 0000061b: DUP2 0000061c: LT 0000061d: PUSH2 0x0629 00000620: JUMPI 00000621: PUSH2 0x0628 00000624: PUSH2 0x2ae4 00000627: JUMP 00000628: JUMPDEST 00000629: JUMPDEST 0000062a: SWAP1 0000062b: POP 0000062c: ADD 0000062d: CALLDATALOAD 0000062e: PUSH1 0xf8 00000630: SHR 00000631: PUSH1 0xf8 00000633: SHL 00000634: AND 00000635: PUSH1 0xf8 00000637: SHR 00000638: PUSH1 0xff 0000063a: AND 0000063b: SWAP1 0000063c: POP 0000063d: PUSH0 0000063e: PUSH0 0000063f: PUSH0 00000640: PUSH1 0x08 00000642: DUP5 00000643: SUB 00000644: PUSH2 0x065e 00000647: JUMPI 00000648: DUP8 00000649: CALLDATALOAD 0000064a: SWAP3 0000064b: POP 0000064c: PUSH1 0x20 0000064e: DUP9 0000064f: ADD 00000650: CALLDATALOAD 00000651: SWAP2 00000652: POP 00000653: PUSH1 0x40 00000655: DUP9 00000656: ADD 00000657: CALLDATALOAD 00000658: SWAP1 00000659: POP 0000065a: PUSH2 0x0683 0000065d: JUMP 0000065e: JUMPDEST 0000065f: DUP8 00000660: CALLDATALOAD 00000661: SWAP3 00000662: POP 00000663: CALLDATASIZE 00000664: PUSH0 00000665: PUSH2 0x0670 00000668: DUP11 00000669: DUP11 0000066a: PUSH1 0x01 0000066c: PUSH2 0x1397 0000066f: JUMP 00000670: JUMPDEST 00000671: SWAP2 00000672: POP 00000673: SWAP2 00000674: POP 00000675: PUSH2 0x067e 00000678: DUP3 00000679: DUP3 0000067a: PUSH2 0x13ba 0000067d: JUMP 0000067e: JUMPDEST 0000067f: SWAP4 00000680: POP 00000681: POP 00000682: POP 00000683: JUMPDEST 00000684: PUSH0 00000685: DUP3 00000686: SWAP1 00000687: POP 00000688: PUSH0 00000689: PUSH0 0000068a: SWAP1 0000068b: POP 0000068c: JUMPDEST 0000068d: DUP8 0000068e: DUP8 0000068f: SWAP1 00000690: POP 00000691: DUP2 00000692: LT 00000693: ISZERO 00000694: PUSH2 0x0801 00000697: JUMPI 00000698: PUSH0 00000699: PUSH0 0000069a: CALLDATASIZE 0000069b: PUSH0 0000069c: DUP12 0000069d: DUP12 0000069e: DUP7 0000069f: DUP2 000006a0: DUP2 000006a1: LT 000006a2: PUSH2 0x06ae 000006a5: JUMPI 000006a6: PUSH2 0x06ad 000006a9: PUSH2 0x2ae4 000006ac: JUMP 000006ad: JUMPDEST 000006ae: JUMPDEST 000006af: SWAP1 000006b0: POP 000006b1: PUSH1 0x20 000006b3: MUL 000006b4: DUP2 000006b5: ADD 000006b6: SWAP1 000006b7: PUSH2 0x06c0 000006ba: SWAP2 000006bb: SWAP1 000006bc: PUSH2 0x2b1d 000006bf: JUMP 000006c0: JUMPDEST 000006c1: SWAP2 000006c2: POP 000006c3: SWAP2 000006c4: POP 000006c5: DUP2 000006c6: CALLDATALOAD 000006c7: SWAP4 000006c8: POP 000006c9: PUSH1 0x20 000006cb: DUP3 000006cc: ADD 000006cd: CALLDATALOAD 000006ce: SWAP3 000006cf: POP 000006d0: PUSH0 000006d1: DUP7 000006d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006e7: AND 000006e8: PUSH4 0x70a08231 000006ed: DUP7 000006ee: PUSH1 0x40 000006f0: MLOAD 000006f1: DUP3 000006f2: PUSH4 0xffffffff 000006f7: AND 000006f8: PUSH1 0xe0 000006fa: SHL 000006fb: DUP2 000006fc: MSTORE 000006fd: PUSH1 0x04 000006ff: ADD 00000700: PUSH2 0x0709 00000703: SWAP2 00000704: SWAP1 00000705: PUSH2 0x2687 00000708: JUMP 00000709: JUMPDEST 0000070a: PUSH1 0x20 0000070c: PUSH1 0x40 0000070e: MLOAD 0000070f: DUP1 00000710: DUP4 00000711: SUB 00000712: DUP2 00000713: DUP7 00000714: GAS 00000715: STATICCALL 00000716: ISZERO 00000717: DUP1 00000718: ISZERO 00000719: PUSH2 0x0724 0000071c: JUMPI 0000071d: RETURNDATASIZE 0000071e: PUSH0 0000071f: PUSH0 00000720: RETURNDATACOPY 00000721: RETURNDATASIZE 00000722: PUSH0 00000723: REVERT 00000724: JUMPDEST 00000725: POP 00000726: POP 00000727: POP 00000728: POP 00000729: PUSH1 0x40 0000072b: MLOAD 0000072c: RETURNDATASIZE 0000072d: PUSH1 0x1f 0000072f: NOT 00000730: PUSH1 0x1f 00000732: DUP3 00000733: ADD 00000734: AND 00000735: DUP3 00000736: ADD 00000737: DUP1 00000738: PUSH1 0x40 0000073a: MSTORE 0000073b: POP 0000073c: DUP2 0000073d: ADD 0000073e: SWAP1 0000073f: PUSH2 0x0748 00000742: SWAP2 00000743: SWAP1 00000744: PUSH2 0x2974 00000747: JUMP 00000748: JUMPDEST 00000749: SWAP1 0000074a: POP 0000074b: PUSH0 0000074c: DUP2 0000074d: GT 0000074e: ISZERO 0000074f: PUSH2 0x07ef 00000752: JUMPI 00000753: PUSH0 00000754: PUSH2 0x03e8 00000757: DUP6 00000758: DUP4 00000759: PUSH2 0x0762 0000075c: SWAP2 0000075d: SWAP1 0000075e: PUSH2 0x2bac 00000761: JUMP 00000762: JUMPDEST 00000763: PUSH2 0x076c 00000766: SWAP2 00000767: SWAP1 00000768: PUSH2 0x2c1a 0000076b: JUMP 0000076c: JUMPDEST 0000076d: SWAP1 0000076e: POP 0000076f: DUP8 00000770: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000785: AND 00000786: PUSH4 0x23b872dd 0000078b: DUP8 0000078c: ADDRESS 0000078d: DUP5 0000078e: PUSH1 0x40 00000790: MLOAD 00000791: DUP5 00000792: PUSH4 0xffffffff 00000797: AND 00000798: PUSH1 0xe0 0000079a: SHL 0000079b: DUP2 0000079c: MSTORE 0000079d: PUSH1 0x04 0000079f: ADD 000007a0: PUSH2 0x07ab 000007a3: SWAP4 000007a4: SWAP3 000007a5: SWAP2 000007a6: SWAP1 000007a7: PUSH2 0x2c4a 000007aa: JUMP 000007ab: JUMPDEST 000007ac: PUSH1 0x20 000007ae: PUSH1 0x40 000007b0: MLOAD 000007b1: DUP1 000007b2: DUP4 000007b3: SUB 000007b4: DUP2 000007b5: PUSH0 000007b6: DUP8 000007b7: GAS 000007b8: CALL 000007b9: SWAP3 000007ba: POP 000007bb: POP 000007bc: POP 000007bd: DUP1 000007be: ISZERO 000007bf: PUSH2 0x07e6 000007c2: JUMPI 000007c3: POP 000007c4: PUSH1 0x40 000007c6: MLOAD 000007c7: RETURNDATASIZE 000007c8: PUSH1 0x1f 000007ca: NOT 000007cb: PUSH1 0x1f 000007cd: DUP3 000007ce: ADD 000007cf: AND 000007d0: DUP3 000007d1: ADD 000007d2: DUP1 000007d3: PUSH1 0x40 000007d5: MSTORE 000007d6: POP 000007d7: DUP2 000007d8: ADD 000007d9: SWAP1 000007da: PUSH2 0x07e3 000007dd: SWAP2 000007de: SWAP1 000007df: PUSH2 0x29e9 000007e2: JUMP 000007e3: JUMPDEST 000007e4: PUSH1 0x01 000007e6: JUMPDEST 000007e7: ISZERO 000007e8: PUSH2 0x07ed 000007eb: JUMPI 000007ec: POP 000007ed: JUMPDEST 000007ee: POP 000007ef: JUMPDEST 000007f0: POP 000007f1: POP 000007f2: POP 000007f3: POP 000007f4: POP 000007f5: DUP1 000007f6: DUP1 000007f7: PUSH1 0x01 000007f9: ADD 000007fa: SWAP2 000007fb: POP 000007fc: POP 000007fd: PUSH2 0x068c 00000800: JUMP 00000801: JUMPDEST 00000802: POP 00000803: PUSH0 00000804: DUP2 00000805: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000081a: AND 0000081b: PUSH4 0x70a08231 00000820: ADDRESS 00000821: PUSH1 0x40 00000823: MLOAD 00000824: DUP3 00000825: PUSH4 0xffffffff 0000082a: AND 0000082b: PUSH1 0xe0 0000082d: SHL 0000082e: DUP2 0000082f: MSTORE 00000830: PUSH1 0x04 00000832: ADD 00000833: PUSH2 0x083c 00000836: SWAP2 00000837: SWAP1 00000838: PUSH2 0x2687 0000083b: JUMP 0000083c: JUMPDEST 0000083d: PUSH1 0x20 0000083f: PUSH1 0x40 00000841: MLOAD 00000842: DUP1 00000843: DUP4 00000844: SUB 00000845: DUP2 00000846: DUP7 00000847: GAS 00000848: STATICCALL 00000849: ISZERO 0000084a: DUP1 0000084b: ISZERO 0000084c: PUSH2 0x0857 0000084f: JUMPI 00000850: RETURNDATASIZE 00000851: PUSH0 00000852: PUSH0 00000853: RETURNDATACOPY 00000854: RETURNDATASIZE 00000855: PUSH0 00000856: REVERT 00000857: JUMPDEST 00000858: POP 00000859: POP 0000085a: POP 0000085b: POP 0000085c: PUSH1 0x40 0000085e: MLOAD 0000085f: RETURNDATASIZE 00000860: PUSH1 0x1f 00000862: NOT 00000863: PUSH1 0x1f 00000865: DUP3 00000866: ADD 00000867: AND 00000868: DUP3 00000869: ADD 0000086a: DUP1 0000086b: PUSH1 0x40 0000086d: MSTORE 0000086e: POP 0000086f: DUP2 00000870: ADD 00000871: SWAP1 00000872: PUSH2 0x087b 00000875: SWAP2 00000876: SWAP1 00000877: PUSH2 0x2974 0000087a: JUMP 0000087b: JUMPDEST 0000087c: SWAP1 0000087d: POP 0000087e: PUSH0 0000087f: DUP2 00000880: GT 00000881: PUSH2 0x08bf 00000884: JUMPI 00000885: PUSH1 0x40 00000887: MLOAD 00000888: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000008a9: DUP2 000008aa: MSTORE 000008ab: PUSH1 0x04 000008ad: ADD 000008ae: PUSH2 0x08b6 000008b1: SWAP1 000008b2: PUSH2 0x2cc9 000008b5: JUMP 000008b6: JUMPDEST 000008b7: PUSH1 0x40 000008b9: MLOAD 000008ba: DUP1 000008bb: SWAP2 000008bc: SUB 000008bd: SWAP1 000008be: REVERT 000008bf: JUMPDEST 000008c0: DUP2 000008c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008d6: AND 000008d7: PUSH4 0xa9059cbb 000008dc: PUSH1 0x03 000008de: PUSH0 000008df: SWAP1 000008e0: SLOAD 000008e1: SWAP1 000008e2: PUSH2 0x0100 000008e5: EXP 000008e6: SWAP1 000008e7: DIV 000008e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000008fd: AND 000008fe: DUP4 000008ff: PUSH1 0x40 00000901: MLOAD 00000902: DUP4 00000903: PUSH4 0xffffffff 00000908: AND 00000909: PUSH1 0xe0 0000090b: SHL 0000090c: DUP2 0000090d: MSTORE 0000090e: PUSH1 0x04 00000910: ADD 00000911: PUSH2 0x091b 00000914: SWAP3 00000915: SWAP2 00000916: SWAP1 00000917: PUSH2 0x29ae 0000091a: JUMP 0000091b: JUMPDEST 0000091c: PUSH1 0x20 0000091e: PUSH1 0x40 00000920: MLOAD 00000921: DUP1 00000922: DUP4 00000923: SUB 00000924: DUP2 00000925: PUSH0 00000926: DUP8 00000927: GAS 00000928: CALL 00000929: ISZERO 0000092a: DUP1 0000092b: ISZERO 0000092c: PUSH2 0x0937 0000092f: JUMPI 00000930: RETURNDATASIZE 00000931: PUSH0 00000932: PUSH0 00000933: RETURNDATACOPY 00000934: RETURNDATASIZE 00000935: PUSH0 00000936: REVERT 00000937: JUMPDEST 00000938: POP 00000939: POP 0000093a: POP 0000093b: POP 0000093c: PUSH1 0x40 0000093e: MLOAD 0000093f: RETURNDATASIZE 00000940: PUSH1 0x1f 00000942: NOT 00000943: PUSH1 0x1f 00000945: DUP3 00000946: ADD 00000947: AND 00000948: DUP3 00000949: ADD 0000094a: DUP1 0000094b: PUSH1 0x40 0000094d: MSTORE 0000094e: POP 0000094f: DUP2 00000950: ADD 00000951: SWAP1 00000952: PUSH2 0x095b 00000955: SWAP2 00000956: SWAP1 00000957: PUSH2 0x29e9 0000095a: JUMP 0000095b: JUMPDEST 0000095c: POP 0000095d: PUSH0 0000095e: PUSH1 0x04 00000960: PUSH1 0xf8 00000962: SHL 00000963: SWAP1 00000964: POP 00000965: PUSH0 00000966: DUP6 00000967: PUSH2 0x096e 0000096a: PUSH2 0x1390 0000096d: JUMP 0000096e: JUMPDEST 0000096f: PUSH0 00000970: PUSH1 0x40 00000972: MLOAD 00000973: PUSH1 0x20 00000975: ADD 00000976: PUSH2 0x0981 00000979: SWAP4 0000097a: SWAP3 0000097b: SWAP2 0000097c: SWAP1 0000097d: PUSH2 0x2d35 00000980: JUMP 00000981: JUMPDEST 00000982: PUSH1 0x40 00000984: MLOAD 00000985: PUSH1 0x20 00000987: DUP2 00000988: DUP4 00000989: SUB 0000098a: SUB 0000098b: DUP2 0000098c: MSTORE 0000098d: SWAP1 0000098e: PUSH1 0x40 00000990: MSTORE 00000991: SWAP1 00000992: POP 00000993: PUSH1 0x08 00000995: DUP9 00000996: SUB 00000997: PUSH2 0x0c05 0000099a: JUMPI 0000099b: PUSH0 0000099c: PUSH1 0x02 0000099e: PUSH8 0xffffffffffffffff 000009a7: DUP2 000009a8: GT 000009a9: ISZERO 000009aa: PUSH2 0x09b6 000009ad: JUMPI 000009ae: PUSH2 0x09b5 000009b1: PUSH2 0x2d6a 000009b4: JUMP 000009b5: JUMPDEST 000009b6: JUMPDEST 000009b7: PUSH1 0x40 000009b9: MLOAD 000009ba: SWAP1 000009bb: DUP1 000009bc: DUP3 000009bd: MSTORE 000009be: DUP1 000009bf: PUSH1 0x20 000009c1: MUL 000009c2: PUSH1 0x20 000009c4: ADD 000009c5: DUP3 000009c6: ADD 000009c7: PUSH1 0x40 000009c9: MSTORE 000009ca: DUP1 000009cb: ISZERO 000009cc: PUSH2 0x09e4 000009cf: JUMPI 000009d0: DUP2 000009d1: PUSH1 0x20 000009d3: ADD 000009d4: PUSH1 0x20 000009d6: DUP3 000009d7: MUL 000009d8: DUP1 000009d9: CALLDATASIZE 000009da: DUP4 000009db: CALLDATACOPY 000009dc: DUP1 000009dd: DUP3 000009de: ADD 000009df: SWAP2 000009e0: POP 000009e1: POP 000009e2: SWAP1 000009e3: POP 000009e4: JUMPDEST 000009e5: POP 000009e6: SWAP1 000009e7: POP 000009e8: DUP7 000009e9: DUP2 000009ea: PUSH0 000009eb: DUP2 000009ec: MLOAD 000009ed: DUP2 000009ee: LT 000009ef: PUSH2 0x09fb 000009f2: JUMPI 000009f3: PUSH2 0x09fa 000009f6: PUSH2 0x2ae4 000009f9: JUMP 000009fa: JUMPDEST 000009fb: JUMPDEST 000009fc: PUSH1 0x20 000009fe: MUL 000009ff: PUSH1 0x20 00000a01: ADD 00000a02: ADD 00000a03: SWAP1 00000a04: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a19: AND 00000a1a: SWAP1 00000a1b: DUP2 00000a1c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a31: AND 00000a32: DUP2 00000a33: MSTORE 00000a34: POP 00000a35: POP 00000a36: DUP6 00000a37: DUP2 00000a38: PUSH1 0x01 00000a3a: DUP2 00000a3b: MLOAD 00000a3c: DUP2 00000a3d: LT 00000a3e: PUSH2 0x0a4a 00000a41: JUMPI 00000a42: PUSH2 0x0a49 00000a45: PUSH2 0x2ae4 00000a48: JUMP 00000a49: JUMPDEST 00000a4a: JUMPDEST 00000a4b: PUSH1 0x20 00000a4d: MUL 00000a4e: PUSH1 0x20 00000a50: ADD 00000a51: ADD 00000a52: SWAP1 00000a53: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a68: AND 00000a69: SWAP1 00000a6a: DUP2 00000a6b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000a80: AND 00000a81: DUP2 00000a82: MSTORE 00000a83: POP 00000a84: POP 00000a85: PUSH0 00000a86: PUSH1 0x08 00000a88: PUSH1 0xf8 00000a8a: SHL 00000a8b: DUP5 00000a8c: PUSH1 0x40 00000a8e: MLOAD 00000a8f: PUSH1 0x20 00000a91: ADD 00000a92: PUSH2 0x0a9c 00000a95: SWAP3 00000a96: SWAP2 00000a97: SWAP1 00000a98: PUSH2 0x2de2 00000a9b: JUMP 00000a9c: JUMPDEST 00000a9d: PUSH1 0x40 00000a9f: MLOAD 00000aa0: PUSH1 0x20 00000aa2: DUP2 00000aa3: DUP4 00000aa4: SUB 00000aa5: SUB 00000aa6: DUP2 00000aa7: MSTORE 00000aa8: SWAP1 00000aa9: PUSH1 0x40 00000aab: MSTORE 00000aac: SWAP1 00000aad: POP 00000aae: PUSH0 00000aaf: PUSH1 0x02 00000ab1: PUSH8 0xffffffffffffffff 00000aba: DUP2 00000abb: GT 00000abc: ISZERO 00000abd: PUSH2 0x0ac9 00000ac0: JUMPI 00000ac1: PUSH2 0x0ac8 00000ac4: PUSH2 0x2d6a 00000ac7: JUMP 00000ac8: JUMPDEST 00000ac9: JUMPDEST 00000aca: PUSH1 0x40 00000acc: MLOAD 00000acd: SWAP1 00000ace: DUP1 00000acf: DUP3 00000ad0: MSTORE 00000ad1: DUP1 00000ad2: PUSH1 0x20 00000ad4: MUL 00000ad5: PUSH1 0x20 00000ad7: ADD 00000ad8: DUP3 00000ad9: ADD 00000ada: PUSH1 0x40 00000adc: MSTORE 00000add: DUP1 00000ade: ISZERO 00000adf: PUSH2 0x0afc 00000ae2: JUMPI 00000ae3: DUP2 00000ae4: PUSH1 0x20 00000ae6: ADD 00000ae7: JUMPDEST 00000ae8: PUSH1 0x60 00000aea: DUP2 00000aeb: MSTORE 00000aec: PUSH1 0x20 00000aee: ADD 00000aef: SWAP1 00000af0: PUSH1 0x01 00000af2: SWAP1 00000af3: SUB 00000af4: SWAP1 00000af5: DUP2 00000af6: PUSH2 0x0ae7 00000af9: JUMPI 00000afa: SWAP1 00000afb: POP 00000afc: JUMPDEST 00000afd: POP 00000afe: SWAP1 00000aff: POP 00000b00: ADDRESS 00000b01: DUP7 00000b02: PUSH0 00000b03: DUP6 00000b04: PUSH0 00000b05: PUSH1 0x40 00000b07: MLOAD 00000b08: PUSH1 0x20 00000b0a: ADD 00000b0b: PUSH2 0x0b18 00000b0e: SWAP6 00000b0f: SWAP5 00000b10: SWAP4 00000b11: SWAP3 00000b12: SWAP2 00000b13: SWAP1 00000b14: PUSH2 0x2ed3 00000b17: JUMP 00000b18: JUMPDEST 00000b19: PUSH1 0x40 00000b1b: MLOAD 00000b1c: PUSH1 0x20 00000b1e: DUP2 00000b1f: DUP4 00000b20: SUB 00000b21: SUB 00000b22: DUP2 00000b23: MSTORE 00000b24: SWAP1 00000b25: PUSH1 0x40 00000b27: MSTORE 00000b28: DUP2 00000b29: PUSH0 00000b2a: DUP2 00000b2b: MLOAD 00000b2c: DUP2 00000b2d: LT 00000b2e: PUSH2 0x0b3a 00000b31: JUMPI 00000b32: PUSH2 0x0b39 00000b35: PUSH2 0x2ae4 00000b38: JUMP 00000b39: JUMPDEST 00000b3a: JUMPDEST 00000b3b: PUSH1 0x20 00000b3d: MUL 00000b3e: PUSH1 0x20 00000b40: ADD 00000b41: ADD 00000b42: DUP2 00000b43: SWAP1 00000b44: MSTORE 00000b45: POP 00000b46: DUP4 00000b47: DUP2 00000b48: PUSH1 0x01 00000b4a: DUP2 00000b4b: MLOAD 00000b4c: DUP2 00000b4d: LT 00000b4e: PUSH2 0x0b5a 00000b51: JUMPI 00000b52: PUSH2 0x0b59 00000b55: PUSH2 0x2ae4 00000b58: JUMP 00000b59: JUMPDEST 00000b5a: JUMPDEST 00000b5b: PUSH1 0x20 00000b5d: MUL 00000b5e: PUSH1 0x20 00000b60: ADD 00000b61: ADD 00000b62: DUP2 00000b63: SWAP1 00000b64: MSTORE 00000b65: POP 00000b66: PUSH1 0x03 00000b68: PUSH0 00000b69: SWAP1 00000b6a: SLOAD 00000b6b: SWAP1 00000b6c: PUSH2 0x0100 00000b6f: EXP 00000b70: SWAP1 00000b71: DIV 00000b72: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b87: AND 00000b88: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b9d: AND 00000b9e: PUSH4 0x3593564c 00000ba3: DUP4 00000ba4: DUP4 00000ba5: PUSH2 0x0384 00000ba8: TIMESTAMP 00000ba9: PUSH2 0x0bb2 00000bac: SWAP2 00000bad: SWAP1 00000bae: PUSH2 0x2f2b 00000bb1: JUMP 00000bb2: JUMPDEST 00000bb3: PUSH1 0x40 00000bb5: MLOAD 00000bb6: DUP5 00000bb7: PUSH4 0xffffffff 00000bbc: AND 00000bbd: PUSH1 0xe0 00000bbf: SHL 00000bc0: DUP2 00000bc1: MSTORE 00000bc2: PUSH1 0x04 00000bc4: ADD 00000bc5: PUSH2 0x0bd0 00000bc8: SWAP4 00000bc9: SWAP3 00000bca: SWAP2 00000bcb: SWAP1 00000bcc: PUSH2 0x30d1 00000bcf: JUMP 00000bd0: JUMPDEST 00000bd1: PUSH0 00000bd2: PUSH1 0x40 00000bd4: MLOAD 00000bd5: DUP1 00000bd6: DUP4 00000bd7: SUB 00000bd8: DUP2 00000bd9: PUSH0 00000bda: DUP8 00000bdb: DUP1 00000bdc: EXTCODESIZE 00000bdd: ISZERO 00000bde: DUP1 00000bdf: ISZERO 00000be0: PUSH2 0x0be7 00000be3: JUMPI 00000be4: PUSH0 00000be5: PUSH0 00000be6: REVERT 00000be7: JUMPDEST 00000be8: POP 00000be9: GAS 00000bea: CALL 00000beb: ISZERO 00000bec: DUP1 00000bed: ISZERO 00000bee: PUSH2 0x0bf9 00000bf1: JUMPI 00000bf2: RETURNDATASIZE 00000bf3: PUSH0 00000bf4: PUSH0 00000bf5: RETURNDATACOPY 00000bf6: RETURNDATASIZE 00000bf7: PUSH0 00000bf8: REVERT 00000bf9: JUMPDEST 00000bfa: POP 00000bfb: POP 00000bfc: POP 00000bfd: POP 00000bfe: POP 00000bff: POP 00000c00: POP 00000c01: PUSH2 0x0df0 00000c04: JUMP 00000c05: JUMPDEST 00000c06: PUSH0 00000c07: DUP9 00000c08: SUB 00000c09: PUSH2 0x0db4 00000c0c: JUMPI 00000c0d: PUSH0 00000c0e: PUSH0 00000c0f: PUSH1 0xf8 00000c11: SHL 00000c12: DUP4 00000c13: PUSH1 0x40 00000c15: MLOAD 00000c16: PUSH1 0x20 00000c18: ADD 00000c19: PUSH2 0x0c23 00000c1c: SWAP3 00000c1d: SWAP2 00000c1e: SWAP1 00000c1f: PUSH2 0x2de2 00000c22: JUMP 00000c23: JUMPDEST 00000c24: PUSH1 0x40 00000c26: MLOAD 00000c27: PUSH1 0x20 00000c29: DUP2 00000c2a: DUP4 00000c2b: SUB 00000c2c: SUB 00000c2d: DUP2 00000c2e: MSTORE 00000c2f: SWAP1 00000c30: PUSH1 0x40 00000c32: MSTORE 00000c33: SWAP1 00000c34: POP 00000c35: CALLDATASIZE 00000c36: PUSH0 00000c37: PUSH2 0x0c42 00000c3a: DUP16 00000c3b: DUP16 00000c3c: PUSH1 0x01 00000c3e: PUSH2 0x1397 00000c41: JUMP 00000c42: JUMPDEST 00000c43: SWAP2 00000c44: POP 00000c45: SWAP2 00000c46: POP 00000c47: PUSH0 00000c48: PUSH1 0x02 00000c4a: PUSH8 0xffffffffffffffff 00000c53: DUP2 00000c54: GT 00000c55: ISZERO 00000c56: PUSH2 0x0c62 00000c59: JUMPI 00000c5a: PUSH2 0x0c61 00000c5d: PUSH2 0x2d6a 00000c60: JUMP 00000c61: JUMPDEST 00000c62: JUMPDEST 00000c63: PUSH1 0x40 00000c65: MLOAD 00000c66: SWAP1 00000c67: DUP1 00000c68: DUP3 00000c69: MSTORE 00000c6a: DUP1 00000c6b: PUSH1 0x20 00000c6d: MUL 00000c6e: PUSH1 0x20 00000c70: ADD 00000c71: DUP3 00000c72: ADD 00000c73: PUSH1 0x40 00000c75: MSTORE 00000c76: DUP1 00000c77: ISZERO 00000c78: PUSH2 0x0c95 00000c7b: JUMPI 00000c7c: DUP2 00000c7d: PUSH1 0x20 00000c7f: ADD 00000c80: JUMPDEST 00000c81: PUSH1 0x60 00000c83: DUP2 00000c84: MSTORE 00000c85: PUSH1 0x20 00000c87: ADD 00000c88: SWAP1 00000c89: PUSH1 0x01 00000c8b: SWAP1 00000c8c: SUB 00000c8d: SWAP1 00000c8e: DUP2 00000c8f: PUSH2 0x0c80 00000c92: JUMPI 00000c93: SWAP1 00000c94: POP 00000c95: JUMPDEST 00000c96: POP 00000c97: SWAP1 00000c98: POP 00000c99: ADDRESS 00000c9a: DUP8 00000c9b: PUSH0 00000c9c: DUP6 00000c9d: DUP6 00000c9e: PUSH0 00000c9f: PUSH1 0x40 00000ca1: MLOAD 00000ca2: PUSH1 0x20 00000ca4: ADD 00000ca5: PUSH2 0x0cb3 00000ca8: SWAP7 00000ca9: SWAP6 00000caa: SWAP5 00000cab: SWAP4 00000cac: SWAP3 00000cad: SWAP2 00000cae: SWAP1 00000caf: PUSH2 0x314e 00000cb2: JUMP 00000cb3: JUMPDEST 00000cb4: PUSH1 0x40 00000cb6: MLOAD 00000cb7: PUSH1 0x20 00000cb9: DUP2 00000cba: DUP4 00000cbb: SUB 00000cbc: SUB 00000cbd: DUP2 00000cbe: MSTORE 00000cbf: SWAP1 00000cc0: PUSH1 0x40 00000cc2: MSTORE 00000cc3: DUP2 00000cc4: PUSH0 00000cc5: DUP2 00000cc6: MLOAD 00000cc7: DUP2 00000cc8: LT 00000cc9: PUSH2 0x0cd5 00000ccc: JUMPI 00000ccd: PUSH2 0x0cd4 00000cd0: PUSH2 0x2ae4 00000cd3: JUMP 00000cd4: JUMPDEST 00000cd5: JUMPDEST 00000cd6: PUSH1 0x20 00000cd8: MUL 00000cd9: PUSH1 0x20 00000cdb: ADD 00000cdc: ADD 00000cdd: DUP2 00000cde: SWAP1 00000cdf: MSTORE 00000ce0: POP 00000ce1: DUP5 00000ce2: DUP2 00000ce3: PUSH1 0x01 00000ce5: DUP2 00000ce6: MLOAD 00000ce7: DUP2 00000ce8: LT 00000ce9: PUSH2 0x0cf5 00000cec: JUMPI 00000ced: PUSH2 0x0cf4 00000cf0: PUSH2 0x2ae4 00000cf3: JUMP 00000cf4: JUMPDEST 00000cf5: JUMPDEST 00000cf6: PUSH1 0x20 00000cf8: MUL 00000cf9: PUSH1 0x20 00000cfb: ADD 00000cfc: ADD 00000cfd: DUP2 00000cfe: SWAP1 00000cff: MSTORE 00000d00: POP 00000d01: PUSH1 0x03 00000d03: PUSH0 00000d04: SWAP1 00000d05: SLOAD 00000d06: SWAP1 00000d07: PUSH2 0x0100 00000d0a: EXP 00000d0b: SWAP1 00000d0c: DIV 00000d0d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d22: AND 00000d23: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d38: AND 00000d39: PUSH4 0x3593564c 00000d3e: DUP6 00000d3f: DUP4 00000d40: PUSH2 0x0384 00000d43: TIMESTAMP 00000d44: PUSH2 0x0d4d 00000d47: SWAP2 00000d48: SWAP1 00000d49: PUSH2 0x2f2b 00000d4c: JUMP 00000d4d: JUMPDEST 00000d4e: PUSH1 0x40 00000d50: MLOAD 00000d51: DUP5 00000d52: PUSH4 0xffffffff 00000d57: AND 00000d58: PUSH1 0xe0 00000d5a: SHL 00000d5b: DUP2 00000d5c: MSTORE 00000d5d: PUSH1 0x04 00000d5f: ADD 00000d60: PUSH2 0x0d6b 00000d63: SWAP4 00000d64: SWAP3 00000d65: SWAP2 00000d66: SWAP1 00000d67: PUSH2 0x30d1 00000d6a: JUMP 00000d6b: JUMPDEST 00000d6c: PUSH0 00000d6d: PUSH1 0x40 00000d6f: MLOAD 00000d70: DUP1 00000d71: DUP4 00000d72: SUB 00000d73: DUP2 00000d74: PUSH0 00000d75: DUP8 00000d76: DUP1 00000d77: EXTCODESIZE 00000d78: ISZERO 00000d79: DUP1 00000d7a: ISZERO 00000d7b: PUSH2 0x0d82 00000d7e: JUMPI 00000d7f: PUSH0 00000d80: PUSH0 00000d81: REVERT 00000d82: JUMPDEST 00000d83: POP 00000d84: GAS 00000d85: CALL 00000d86: ISZERO 00000d87: DUP1 00000d88: ISZERO 00000d89: PUSH2 0x0d94 00000d8c: JUMPI 00000d8d: RETURNDATASIZE 00000d8e: PUSH0 00000d8f: PUSH0 00000d90: RETURNDATACOPY 00000d91: RETURNDATASIZE 00000d92: PUSH0 00000d93: REVERT 00000d94: JUMPDEST 00000d95: POP 00000d96: POP 00000d97: POP 00000d98: POP 00000d99: PUSH0 00000d9a: PUSH2 0x0da3 00000d9d: DUP5 00000d9e: DUP5 00000d9f: PUSH2 0x1406 00000da2: JUMP 00000da3: JUMPDEST 00000da4: SWAP3 00000da5: POP 00000da6: POP 00000da7: POP 00000da8: DUP1 00000da9: SWAP10 00000daa: POP 00000dab: POP 00000dac: POP 00000dad: POP 00000dae: POP 00000daf: POP 00000db0: PUSH2 0x0def 00000db3: JUMP 00000db4: JUMPDEST 00000db5: PUSH1 0x40 00000db7: MLOAD 00000db8: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000dd9: DUP2 00000dda: MSTORE 00000ddb: PUSH1 0x04 00000ddd: ADD 00000dde: PUSH2 0x0de6 00000de1: SWAP1 00000de2: PUSH2 0x31f2 00000de5: JUMP 00000de6: JUMPDEST 00000de7: PUSH1 0x40 00000de9: MLOAD 00000dea: DUP1 00000deb: SWAP2 00000dec: SUB 00000ded: SWAP1 00000dee: REVERT 00000def: JUMPDEST 00000df0: JUMPDEST 00000df1: PUSH1 0x02 00000df3: PUSH0 00000df4: SWAP1 00000df5: SLOAD 00000df6: SWAP1 00000df7: PUSH2 0x0100 00000dfa: EXP 00000dfb: SWAP1 00000dfc: DIV 00000dfd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e12: AND 00000e13: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e28: AND 00000e29: DUP6 00000e2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e3f: AND 00000e40: SUB 00000e41: PUSH2 0x0fef 00000e44: JUMPI 00000e45: PUSH0 00000e46: PUSH1 0x02 00000e48: PUSH0 00000e49: SWAP1 00000e4a: SLOAD 00000e4b: SWAP1 00000e4c: PUSH2 0x0100 00000e4f: EXP 00000e50: SWAP1 00000e51: DIV 00000e52: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e67: AND 00000e68: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000e7d: AND 00000e7e: PUSH4 0x70a08231 00000e83: ADDRESS 00000e84: PUSH1 0x40 00000e86: MLOAD 00000e87: DUP3 00000e88: PUSH4 0xffffffff 00000e8d: AND 00000e8e: PUSH1 0xe0 00000e90: SHL 00000e91: DUP2 00000e92: MSTORE 00000e93: PUSH1 0x04 00000e95: ADD 00000e96: PUSH2 0x0e9f 00000e99: SWAP2 00000e9a: SWAP1 00000e9b: PUSH2 0x2687 00000e9e: JUMP 00000e9f: JUMPDEST 00000ea0: PUSH1 0x20 00000ea2: PUSH1 0x40 00000ea4: MLOAD 00000ea5: DUP1 00000ea6: DUP4 00000ea7: SUB 00000ea8: DUP2 00000ea9: DUP7 00000eaa: GAS 00000eab: STATICCALL 00000eac: ISZERO 00000ead: DUP1 00000eae: ISZERO 00000eaf: PUSH2 0x0eba 00000eb2: JUMPI 00000eb3: RETURNDATASIZE 00000eb4: PUSH0 00000eb5: PUSH0 00000eb6: RETURNDATACOPY 00000eb7: RETURNDATASIZE 00000eb8: PUSH0 00000eb9: REVERT 00000eba: JUMPDEST 00000ebb: POP 00000ebc: POP 00000ebd: POP 00000ebe: POP 00000ebf: PUSH1 0x40 00000ec1: MLOAD 00000ec2: RETURNDATASIZE 00000ec3: PUSH1 0x1f 00000ec5: NOT 00000ec6: PUSH1 0x1f 00000ec8: DUP3 00000ec9: ADD 00000eca: AND 00000ecb: DUP3 00000ecc: ADD 00000ecd: DUP1 00000ece: PUSH1 0x40 00000ed0: MSTORE 00000ed1: POP 00000ed2: DUP2 00000ed3: ADD 00000ed4: SWAP1 00000ed5: PUSH2 0x0ede 00000ed8: SWAP2 00000ed9: SWAP1 00000eda: PUSH2 0x2974 00000edd: JUMP 00000ede: JUMPDEST 00000edf: SWAP1 00000ee0: POP 00000ee1: PUSH0 00000ee2: DUP2 00000ee3: GT 00000ee4: ISZERO 00000ee5: PUSH2 0x0fed 00000ee8: JUMPI 00000ee9: PUSH1 0x02 00000eeb: PUSH0 00000eec: SWAP1 00000eed: SLOAD 00000eee: SWAP1 00000eef: PUSH2 0x0100 00000ef2: EXP 00000ef3: SWAP1 00000ef4: DIV 00000ef5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f0a: AND 00000f0b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f20: AND 00000f21: PUSH4 0x2e1a7d4d 00000f26: DUP3 00000f27: PUSH1 0x40 00000f29: MLOAD 00000f2a: DUP3 00000f2b: PUSH4 0xffffffff 00000f30: AND 00000f31: PUSH1 0xe0 00000f33: SHL 00000f34: DUP2 00000f35: MSTORE 00000f36: PUSH1 0x04 00000f38: ADD 00000f39: PUSH2 0x0f42 00000f3c: SWAP2 00000f3d: SWAP1 00000f3e: PUSH2 0x3210 00000f41: JUMP 00000f42: JUMPDEST 00000f43: PUSH0 00000f44: PUSH1 0x40 00000f46: MLOAD 00000f47: DUP1 00000f48: DUP4 00000f49: SUB 00000f4a: DUP2 00000f4b: PUSH0 00000f4c: DUP8 00000f4d: DUP1 00000f4e: EXTCODESIZE 00000f4f: ISZERO 00000f50: DUP1 00000f51: ISZERO 00000f52: PUSH2 0x0f59 00000f55: JUMPI 00000f56: PUSH0 00000f57: PUSH0 00000f58: REVERT 00000f59: JUMPDEST 00000f5a: POP 00000f5b: GAS 00000f5c: CALL 00000f5d: ISZERO 00000f5e: DUP1 00000f5f: ISZERO 00000f60: PUSH2 0x0f6b 00000f63: JUMPI 00000f64: RETURNDATASIZE 00000f65: PUSH0 00000f66: PUSH0 00000f67: RETURNDATACOPY 00000f68: RETURNDATASIZE 00000f69: PUSH0 00000f6a: REVERT 00000f6b: JUMPDEST 00000f6c: POP 00000f6d: POP 00000f6e: POP 00000f6f: POP 00000f70: ADDRESS 00000f71: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f86: AND 00000f87: DUP9 00000f88: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f9d: AND 00000f9e: EQ 00000f9f: PUSH2 0x0fec 00000fa2: JUMPI 00000fa3: PUSH0 00000fa4: DUP9 00000fa5: SWAP1 00000fa6: POP 00000fa7: DUP1 00000fa8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fbd: AND 00000fbe: PUSH2 0x08fc 00000fc1: DUP4 00000fc2: SWAP1 00000fc3: DUP2 00000fc4: ISZERO 00000fc5: MUL 00000fc6: SWAP1 00000fc7: PUSH1 0x40 00000fc9: MLOAD 00000fca: PUSH0 00000fcb: PUSH1 0x40 00000fcd: MLOAD 00000fce: DUP1 00000fcf: DUP4 00000fd0: SUB 00000fd1: DUP2 00000fd2: DUP6 00000fd3: DUP9 00000fd4: DUP9 00000fd5: CALL 00000fd6: SWAP4 00000fd7: POP 00000fd8: POP 00000fd9: POP 00000fda: POP 00000fdb: ISZERO 00000fdc: DUP1 00000fdd: ISZERO 00000fde: PUSH2 0x0fe9 00000fe1: JUMPI 00000fe2: RETURNDATASIZE 00000fe3: PUSH0 00000fe4: PUSH0 00000fe5: RETURNDATACOPY 00000fe6: RETURNDATASIZE 00000fe7: PUSH0 00000fe8: REVERT 00000fe9: JUMPDEST 00000fea: POP 00000feb: POP 00000fec: JUMPDEST 00000fed: JUMPDEST 00000fee: POP 00000fef: JUMPDEST 00000ff0: POP 00000ff1: POP 00000ff2: POP 00000ff3: POP 00000ff4: POP 00000ff5: POP 00000ff6: POP 00000ff7: POP 00000ff8: POP 00000ff9: POP 00000ffa: POP 00000ffb: POP 00000ffc: POP 00000ffd: POP 00000ffe: JUMP 00000fff: JUMPDEST 00001000: PUSH2 0x100b 00001003: DUP5 00001004: DUP5 00001005: DUP5 00001006: DUP5 00001007: PUSH2 0x10f7 0000100a: JUMP 0000100b: JUMPDEST 0000100c: POP 0000100d: POP 0000100e: POP 0000100f: POP 00001010: JUMP 00001011: JUMPDEST 00001012: PUSH2 0x101d 00001015: DUP5 00001016: DUP5 00001017: DUP5 00001018: DUP5 00001019: PUSH2 0x10f7 0000101c: JUMP 0000101d: JUMPDEST 0000101e: POP 0000101f: POP 00001020: POP 00001021: POP 00001022: JUMP 00001023: JUMPDEST 00001024: PUSH2 0x102b 00001027: PUSH2 0x1390 0000102a: JUMP 0000102b: JUMPDEST 0000102c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001041: AND 00001042: PUSH2 0x1049 00001045: PUSH2 0x034d 00001048: JUMP 00001049: JUMPDEST 0000104a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000105f: AND 00001060: EQ 00001061: PUSH2 0x109f 00001064: JUMPI 00001065: PUSH1 0x40 00001067: MLOAD 00001068: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001089: DUP2 0000108a: MSTORE 0000108b: PUSH1 0x04 0000108d: ADD 0000108e: PUSH2 0x1096 00001091: SWAP1 00001092: PUSH2 0x28da 00001095: JUMP 00001096: JUMPDEST 00001097: PUSH1 0x40 00001099: MLOAD 0000109a: DUP1 0000109b: SWAP2 0000109c: SUB 0000109d: SWAP1 0000109e: REVERT 0000109f: JUMPDEST 000010a0: DUP1 000010a1: PUSH1 0x04 000010a3: PUSH0 000010a4: DUP5 000010a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010ba: AND 000010bb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010d0: AND 000010d1: DUP2 000010d2: MSTORE 000010d3: PUSH1 0x20 000010d5: ADD 000010d6: SWAP1 000010d7: DUP2 000010d8: MSTORE 000010d9: PUSH1 0x20 000010db: ADD 000010dc: PUSH0 000010dd: KECCAK256 000010de: PUSH0 000010df: PUSH2 0x0100 000010e2: EXP 000010e3: DUP2 000010e4: SLOAD 000010e5: DUP2 000010e6: PUSH1 0xff 000010e8: MUL 000010e9: NOT 000010ea: AND 000010eb: SWAP1 000010ec: DUP4 000010ed: ISZERO 000010ee: ISZERO 000010ef: MUL 000010f0: OR 000010f1: SWAP1 000010f2: SSTORE 000010f3: POP 000010f4: POP 000010f5: POP 000010f6: JUMP 000010f7: JUMPDEST 000010f8: PUSH1 0x01 000010fa: PUSH0 000010fb: SWAP1 000010fc: SLOAD 000010fd: SWAP1 000010fe: PUSH2 0x0100 00001101: EXP 00001102: SWAP1 00001103: DIV 00001104: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001119: AND 0000111a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000112f: AND 00001130: PUSH4 0x16bad319 00001135: PUSH2 0x113c 00001138: PUSH2 0x1390 0000113b: JUMP 0000113c: JUMPDEST 0000113d: PUSH1 0x40 0000113f: MLOAD 00001140: DUP3 00001141: PUSH4 0xffffffff 00001146: AND 00001147: PUSH1 0xe0 00001149: SHL 0000114a: DUP2 0000114b: MSTORE 0000114c: PUSH1 0x04 0000114e: ADD 0000114f: PUSH2 0x1158 00001152: SWAP2 00001153: SWAP1 00001154: PUSH2 0x2687 00001157: JUMP 00001158: JUMPDEST 00001159: PUSH1 0x20 0000115b: PUSH1 0x40 0000115d: MLOAD 0000115e: DUP1 0000115f: DUP4 00001160: SUB 00001161: DUP2 00001162: DUP7 00001163: GAS 00001164: STATICCALL 00001165: ISZERO 00001166: DUP1 00001167: ISZERO 00001168: PUSH2 0x1173 0000116b: JUMPI 0000116c: RETURNDATASIZE 0000116d: PUSH0 0000116e: PUSH0 0000116f: RETURNDATACOPY 00001170: RETURNDATASIZE 00001171: PUSH0 00001172: REVERT 00001173: JUMPDEST 00001174: POP 00001175: POP 00001176: POP 00001177: POP 00001178: PUSH1 0x40 0000117a: MLOAD 0000117b: RETURNDATASIZE 0000117c: PUSH1 0x1f 0000117e: NOT 0000117f: PUSH1 0x1f 00001181: DUP3 00001182: ADD 00001183: AND 00001184: DUP3 00001185: ADD 00001186: DUP1 00001187: PUSH1 0x40 00001189: MSTORE 0000118a: POP 0000118b: DUP2 0000118c: ADD 0000118d: SWAP1 0000118e: PUSH2 0x1197 00001191: SWAP2 00001192: SWAP1 00001193: PUSH2 0x29e9 00001196: JUMP 00001197: JUMPDEST 00001198: PUSH2 0x11d6 0000119b: JUMPI 0000119c: PUSH1 0x40 0000119e: MLOAD 0000119f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000011c0: DUP2 000011c1: MSTORE 000011c2: PUSH1 0x04 000011c4: ADD 000011c5: PUSH2 0x11cd 000011c8: SWAP1 000011c9: PUSH2 0x2a5e 000011cc: JUMP 000011cd: JUMPDEST 000011ce: PUSH1 0x40 000011d0: MLOAD 000011d1: DUP1 000011d2: SWAP2 000011d3: SUB 000011d4: SWAP1 000011d5: REVERT 000011d6: JUMPDEST 000011d7: PUSH0 000011d8: PUSH1 0x3f 000011da: PUSH1 0xf8 000011dc: SHL 000011dd: DUP6 000011de: DUP6 000011df: PUSH0 000011e0: DUP2 000011e1: DUP2 000011e2: LT 000011e3: PUSH2 0x11ef 000011e6: JUMPI 000011e7: PUSH2 0x11ee 000011ea: PUSH2 0x2ae4 000011ed: JUMP 000011ee: JUMPDEST 000011ef: JUMPDEST 000011f0: SWAP1 000011f1: POP 000011f2: ADD 000011f3: CALLDATALOAD 000011f4: PUSH1 0xf8 000011f6: SHR 000011f7: PUSH1 0xf8 000011f9: SHL 000011fa: AND 000011fb: PUSH1 0xf8 000011fd: SHR 000011fe: PUSH1 0xff 00001200: AND 00001201: SWAP1 00001202: POP 00001203: PUSH1 0x08 00001205: DUP2 00001206: SUB 00001207: PUSH2 0x12a1 0000120a: JUMPI 0000120b: PUSH0 0000120c: PUSH0 0000120d: PUSH0 0000120e: PUSH0 0000120f: PUSH0 00001210: PUSH2 0x1219 00001213: DUP9 00001214: DUP9 00001215: PUSH2 0x147d 00001218: JUMP 00001219: JUMPDEST 0000121a: SWAP5 0000121b: POP 0000121c: SWAP5 0000121d: POP 0000121e: SWAP5 0000121f: POP 00001220: SWAP5 00001221: POP 00001222: SWAP5 00001223: POP 00001224: PUSH1 0x02 00001226: PUSH0 00001227: SWAP1 00001228: SLOAD 00001229: SWAP1 0000122a: PUSH2 0x0100 0000122d: EXP 0000122e: SWAP1 0000122f: DIV 00001230: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001245: AND 00001246: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000125b: AND 0000125c: DUP3 0000125d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001272: AND 00001273: SUB 00001274: PUSH2 0x1289 00001277: JUMPI 00001278: PUSH2 0x1284 0000127b: DUP3 0000127c: DUP3 0000127d: DUP7 0000127e: DUP7 0000127f: DUP10 00001280: PUSH2 0x14ac 00001283: JUMP 00001284: JUMPDEST 00001285: PUSH2 0x1297 00001288: JUMP 00001289: JUMPDEST 0000128a: PUSH2 0x1296 0000128d: DUP3 0000128e: DUP3 0000128f: DUP7 00001290: DUP7 00001291: DUP10 00001292: PUSH2 0x17cb 00001295: JUMP 00001296: JUMPDEST 00001297: JUMPDEST 00001298: POP 00001299: POP 0000129a: POP 0000129b: POP 0000129c: POP 0000129d: PUSH2 0x1389 000012a0: JUMP 000012a1: JUMPDEST 000012a2: PUSH0 000012a3: DUP2 000012a4: SUB 000012a5: PUSH2 0x134d 000012a8: JUMPI 000012a9: PUSH0 000012aa: PUSH0 000012ab: PUSH0 000012ac: CALLDATASIZE 000012ad: PUSH0 000012ae: PUSH2 0x12b7 000012b1: DUP9 000012b2: DUP9 000012b3: PUSH2 0x1d04 000012b6: JUMP 000012b7: JUMPDEST 000012b8: SWAP5 000012b9: POP 000012ba: SWAP5 000012bb: POP 000012bc: SWAP5 000012bd: POP 000012be: SWAP5 000012bf: POP 000012c0: SWAP5 000012c1: POP 000012c2: PUSH0 000012c3: PUSH2 0x12cc 000012c6: DUP4 000012c7: DUP4 000012c8: PUSH2 0x13ba 000012cb: JUMP 000012cc: JUMPDEST 000012cd: SWAP1 000012ce: POP 000012cf: PUSH1 0x02 000012d1: PUSH0 000012d2: SWAP1 000012d3: SLOAD 000012d4: SWAP1 000012d5: PUSH2 0x0100 000012d8: EXP 000012d9: SWAP1 000012da: DIV 000012db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012f0: AND 000012f1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001306: AND 00001307: DUP2 00001308: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000131d: AND 0000131e: SUB 0000131f: PUSH2 0x1334 00001322: JUMPI 00001323: PUSH2 0x132f 00001326: DUP6 00001327: DUP6 00001328: DUP9 00001329: DUP7 0000132a: DUP7 0000132b: PUSH2 0x1d35 0000132e: JUMP 0000132f: JUMPDEST 00001330: PUSH2 0x1342 00001333: JUMP 00001334: JUMPDEST 00001335: PUSH2 0x1341 00001338: DUP6 00001339: DUP6 0000133a: DUP9 0000133b: DUP7 0000133c: DUP7 0000133d: PUSH2 0x1f7a 00001340: JUMP 00001341: JUMPDEST 00001342: JUMPDEST 00001343: POP 00001344: POP 00001345: POP 00001346: POP 00001347: POP 00001348: POP 00001349: PUSH2 0x1388 0000134c: JUMP 0000134d: JUMPDEST 0000134e: PUSH1 0x40 00001350: MLOAD 00001351: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001372: DUP2 00001373: MSTORE 00001374: PUSH1 0x04 00001376: ADD 00001377: PUSH2 0x137f 0000137a: SWAP1 0000137b: PUSH2 0x31f2 0000137e: JUMP 0000137f: JUMPDEST 00001380: PUSH1 0x40 00001382: MLOAD 00001383: DUP1 00001384: SWAP2 00001385: SUB 00001386: SWAP1 00001387: REVERT 00001388: JUMPDEST 00001389: JUMPDEST 0000138a: POP 0000138b: POP 0000138c: POP 0000138d: POP 0000138e: POP 0000138f: JUMP 00001390: JUMPDEST 00001391: PUSH0 00001392: CALLER 00001393: SWAP1 00001394: POP 00001395: SWAP1 00001396: JUMP 00001397: JUMPDEST 00001398: CALLDATASIZE 00001399: PUSH0 0000139a: PUSH0 0000139b: PUSH0 0000139c: PUSH2 0x13a6 0000139f: DUP8 000013a0: DUP8 000013a1: DUP8 000013a2: PUSH2 0x2455 000013a5: JUMP 000013a6: JUMPDEST 000013a7: SWAP2 000013a8: POP 000013a9: SWAP2 000013aa: POP 000013ab: DUP2 000013ac: SWAP3 000013ad: POP 000013ae: DUP1 000013af: SWAP4 000013b0: POP 000013b1: POP 000013b2: POP 000013b3: SWAP4 000013b4: POP 000013b5: SWAP4 000013b6: SWAP2 000013b7: POP 000013b8: POP 000013b9: JUMP 000013ba: JUMPDEST 000013bb: PUSH0 000013bc: PUSH1 0x14 000013be: DUP4 000013bf: DUP4 000013c0: SWAP1 000013c1: POP 000013c2: LT 000013c3: ISZERO 000013c4: PUSH2 0x13f9 000013c7: JUMPI 000013c8: PUSH1 0x40 000013ca: MLOAD 000013cb: PUSH32 0x3b99b53d00000000000000000000000000000000000000000000000000000000 000013ec: DUP2 000013ed: MSTORE 000013ee: PUSH1 0x04 000013f0: ADD 000013f1: PUSH1 0x40 000013f3: MLOAD 000013f4: DUP1 000013f5: SWAP2 000013f6: SUB 000013f7: SWAP1 000013f8: REVERT 000013f9: JUMPDEST 000013fa: DUP3 000013fb: CALLDATALOAD 000013fc: PUSH1 0x60 000013fe: SHR 000013ff: SWAP1 00001400: POP 00001401: SWAP3 00001402: SWAP2 00001403: POP 00001404: POP 00001405: JUMP 00001406: JUMPDEST 00001407: PUSH0 00001408: PUSH0 00001409: PUSH0 0000140a: JUMPDEST 0000140b: PUSH1 0x01 0000140d: ISZERO 0000140e: PUSH2 0x1476 00001411: JUMPI 00001412: PUSH0 00001413: PUSH2 0x141c 00001416: DUP7 00001417: DUP7 00001418: PUSH2 0x24c2 0000141b: JUMP 0000141c: JUMPDEST 0000141d: SWAP1 0000141e: POP 0000141f: DUP6 00001420: CALLDATALOAD 00001421: DUP1 00001422: PUSH1 0x60 00001424: SHR 00001425: SWAP5 00001426: POP 00001427: PUSH3 0xffffff 0000142b: DUP2 0000142c: PUSH1 0x48 0000142e: SHR 0000142f: AND 00001430: SWAP4 00001431: POP 00001432: PUSH1 0x17 00001434: DUP8 00001435: ADD 00001436: CALLDATALOAD 00001437: PUSH1 0x60 00001439: SHR 0000143a: SWAP3 0000143b: POP 0000143c: POP 0000143d: DUP1 0000143e: ISZERO 0000143f: PUSH2 0x146a 00001442: JUMPI 00001443: DUP6 00001444: DUP6 00001445: PUSH1 0x03 00001447: PUSH1 0x14 00001449: PUSH2 0x1452 0000144c: SWAP2 0000144d: SWAP1 0000144e: PUSH2 0x2f2b 00001451: JUMP 00001452: JUMPDEST 00001453: SWAP1 00001454: DUP1 00001455: SWAP3 00001456: PUSH2 0x1461 00001459: SWAP4 0000145a: SWAP3 0000145b: SWAP2 0000145c: SWAP1 0000145d: PUSH2 0x3231 00001460: JUMP 00001461: JUMPDEST 00001462: SWAP6 00001463: POP 00001464: SWAP6 00001465: POP 00001466: PUSH2 0x1470 00001469: JUMP 0000146a: JUMPDEST 0000146b: POP 0000146c: PUSH2 0x1476 0000146f: JUMP 00001470: JUMPDEST 00001471: POP 00001472: PUSH2 0x140a 00001475: JUMP 00001476: JUMPDEST 00001477: SWAP3 00001478: POP 00001479: SWAP3 0000147a: POP 0000147b: SWAP3 0000147c: JUMP 0000147d: JUMPDEST 0000147e: PUSH0 0000147f: PUSH0 00001480: PUSH0 00001481: PUSH0 00001482: PUSH0 00001483: DUP7 00001484: CALLDATALOAD 00001485: SWAP5 00001486: POP 00001487: PUSH1 0x20 00001489: DUP8 0000148a: ADD 0000148b: CALLDATALOAD 0000148c: SWAP4 0000148d: POP 0000148e: PUSH1 0x40 00001490: DUP8 00001491: ADD 00001492: CALLDATALOAD 00001493: SWAP3 00001494: POP 00001495: PUSH1 0x60 00001497: DUP8 00001498: ADD 00001499: CALLDATALOAD 0000149a: SWAP2 0000149b: POP 0000149c: PUSH1 0x80 0000149e: DUP8 0000149f: ADD 000014a0: CALLDATALOAD 000014a1: SWAP1 000014a2: POP 000014a3: SWAP3 000014a4: SWAP6 000014a5: POP 000014a6: SWAP3 000014a7: SWAP6 000014a8: SWAP1 000014a9: SWAP4 000014aa: POP 000014ab: JUMP 000014ac: JUMPDEST 000014ad: PUSH1 0x04 000014af: PUSH0 000014b0: DUP6 000014b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014c6: AND 000014c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014dc: AND 000014dd: DUP2 000014de: MSTORE 000014df: PUSH1 0x20 000014e1: ADD 000014e2: SWAP1 000014e3: DUP2 000014e4: MSTORE 000014e5: PUSH1 0x20 000014e7: ADD 000014e8: PUSH0 000014e9: KECCAK256 000014ea: PUSH0 000014eb: SWAP1 000014ec: SLOAD 000014ed: SWAP1 000014ee: PUSH2 0x0100 000014f1: EXP 000014f2: SWAP1 000014f3: DIV 000014f4: PUSH1 0xff 000014f6: AND 000014f7: ISZERO 000014f8: PUSH2 0x1536 000014fb: JUMPI 000014fc: PUSH1 0x40 000014fe: MLOAD 000014ff: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001520: DUP2 00001521: MSTORE 00001522: PUSH1 0x04 00001524: ADD 00001525: PUSH2 0x152d 00001528: SWAP1 00001529: PUSH2 0x32b5 0000152c: JUMP 0000152d: JUMPDEST 0000152e: PUSH1 0x40 00001530: MLOAD 00001531: DUP1 00001532: SWAP2 00001533: SUB 00001534: SWAP1 00001535: REVERT 00001536: JUMPDEST 00001537: PUSH0 00001538: PUSH1 0x0b 0000153a: PUSH1 0xf8 0000153c: SHL 0000153d: PUSH1 0x08 0000153f: PUSH1 0xf8 00001541: SHL 00001542: PUSH1 0x40 00001544: MLOAD 00001545: PUSH1 0x20 00001547: ADD 00001548: PUSH2 0x1552 0000154b: SWAP3 0000154c: SWAP2 0000154d: SWAP1 0000154e: PUSH2 0x2de2 00001551: JUMP 00001552: JUMPDEST 00001553: PUSH1 0x40 00001555: MLOAD 00001556: PUSH1 0x20 00001558: DUP2 00001559: DUP4 0000155a: SUB 0000155b: SUB 0000155c: DUP2 0000155d: MSTORE 0000155e: SWAP1 0000155f: PUSH1 0x40 00001561: MSTORE 00001562: SWAP1 00001563: POP 00001564: PUSH0 00001565: PUSH1 0x02 00001567: PUSH8 0xffffffffffffffff 00001570: DUP2 00001571: GT 00001572: ISZERO 00001573: PUSH2 0x157f 00001576: JUMPI 00001577: PUSH2 0x157e 0000157a: PUSH2 0x2d6a 0000157d: JUMP 0000157e: JUMPDEST 0000157f: JUMPDEST 00001580: PUSH1 0x40 00001582: MLOAD 00001583: SWAP1 00001584: DUP1 00001585: DUP3 00001586: MSTORE 00001587: DUP1 00001588: PUSH1 0x20 0000158a: MUL 0000158b: PUSH1 0x20 0000158d: ADD 0000158e: DUP3 0000158f: ADD 00001590: PUSH1 0x40 00001592: MSTORE 00001593: DUP1 00001594: ISZERO 00001595: PUSH2 0x15ad 00001598: JUMPI 00001599: DUP2 0000159a: PUSH1 0x20 0000159c: ADD 0000159d: PUSH1 0x20 0000159f: DUP3 000015a0: MUL 000015a1: DUP1 000015a2: CALLDATASIZE 000015a3: DUP4 000015a4: CALLDATACOPY 000015a5: DUP1 000015a6: DUP3 000015a7: ADD 000015a8: SWAP2 000015a9: POP 000015aa: POP 000015ab: SWAP1 000015ac: POP 000015ad: JUMPDEST 000015ae: POP 000015af: SWAP1 000015b0: POP 000015b1: DUP7 000015b2: DUP2 000015b3: PUSH0 000015b4: DUP2 000015b5: MLOAD 000015b6: DUP2 000015b7: LT 000015b8: PUSH2 0x15c4 000015bb: JUMPI 000015bc: PUSH2 0x15c3 000015bf: PUSH2 0x2ae4 000015c2: JUMP 000015c3: JUMPDEST 000015c4: JUMPDEST 000015c5: PUSH1 0x20 000015c7: MUL 000015c8: PUSH1 0x20 000015ca: ADD 000015cb: ADD 000015cc: SWAP1 000015cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015e2: AND 000015e3: SWAP1 000015e4: DUP2 000015e5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015fa: AND 000015fb: DUP2 000015fc: MSTORE 000015fd: POP 000015fe: POP 000015ff: DUP6 00001600: DUP2 00001601: PUSH1 0x01 00001603: DUP2 00001604: MLOAD 00001605: DUP2 00001606: LT 00001607: PUSH2 0x1613 0000160a: JUMPI 0000160b: PUSH2 0x1612 0000160e: PUSH2 0x2ae4 00001611: JUMP 00001612: JUMPDEST 00001613: JUMPDEST 00001614: PUSH1 0x20 00001616: MUL 00001617: PUSH1 0x20 00001619: ADD 0000161a: ADD 0000161b: SWAP1 0000161c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001631: AND 00001632: SWAP1 00001633: DUP2 00001634: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001649: AND 0000164a: DUP2 0000164b: MSTORE 0000164c: POP 0000164d: POP 0000164e: PUSH0 0000164f: PUSH1 0x02 00001651: PUSH8 0xffffffffffffffff 0000165a: DUP2 0000165b: GT 0000165c: ISZERO 0000165d: PUSH2 0x1669 00001660: JUMPI 00001661: PUSH2 0x1668 00001664: PUSH2 0x2d6a 00001667: JUMP 00001668: JUMPDEST 00001669: JUMPDEST 0000166a: PUSH1 0x40 0000166c: MLOAD 0000166d: SWAP1 0000166e: DUP1 0000166f: DUP3 00001670: MSTORE 00001671: DUP1 00001672: PUSH1 0x20 00001674: MUL 00001675: PUSH1 0x20 00001677: ADD 00001678: DUP3 00001679: ADD 0000167a: PUSH1 0x40 0000167c: MSTORE 0000167d: DUP1 0000167e: ISZERO 0000167f: PUSH2 0x169c 00001682: JUMPI 00001683: DUP2 00001684: PUSH1 0x20 00001686: ADD 00001687: JUMPDEST 00001688: PUSH1 0x60 0000168a: DUP2 0000168b: MSTORE 0000168c: PUSH1 0x20 0000168e: ADD 0000168f: SWAP1 00001690: PUSH1 0x01 00001692: SWAP1 00001693: SUB 00001694: SWAP1 00001695: DUP2 00001696: PUSH2 0x1687 00001699: JUMPI 0000169a: SWAP1 0000169b: POP 0000169c: JUMPDEST 0000169d: POP 0000169e: SWAP1 0000169f: POP 000016a0: PUSH1 0x02 000016a2: DUP7 000016a3: PUSH1 0x40 000016a5: MLOAD 000016a6: PUSH1 0x20 000016a8: ADD 000016a9: PUSH2 0x16b3 000016ac: SWAP3 000016ad: SWAP2 000016ae: SWAP1 000016af: PUSH2 0x29ae 000016b2: JUMP 000016b3: JUMPDEST 000016b4: PUSH1 0x40 000016b6: MLOAD 000016b7: PUSH1 0x20 000016b9: DUP2 000016ba: DUP4 000016bb: SUB 000016bc: SUB 000016bd: DUP2 000016be: MSTORE 000016bf: SWAP1 000016c0: PUSH1 0x40 000016c2: MSTORE 000016c3: DUP2 000016c4: PUSH0 000016c5: DUP2 000016c6: MLOAD 000016c7: DUP2 000016c8: LT 000016c9: PUSH2 0x16d5 000016cc: JUMPI 000016cd: PUSH2 0x16d4 000016d0: PUSH2 0x2ae4 000016d3: JUMP 000016d4: JUMPDEST 000016d5: JUMPDEST 000016d6: PUSH1 0x20 000016d8: MUL 000016d9: PUSH1 0x20 000016db: ADD 000016dc: ADD 000016dd: DUP2 000016de: SWAP1 000016df: MSTORE 000016e0: POP 000016e1: DUP4 000016e2: DUP7 000016e3: DUP7 000016e4: DUP5 000016e5: PUSH0 000016e6: PUSH1 0x40 000016e8: MLOAD 000016e9: PUSH1 0x20 000016eb: ADD 000016ec: PUSH2 0x16f9 000016ef: SWAP6 000016f0: SWAP5 000016f1: SWAP4 000016f2: SWAP3 000016f3: SWAP2 000016f4: SWAP1 000016f5: PUSH2 0x32d3 000016f8: JUMP 000016f9: JUMPDEST 000016fa: PUSH1 0x40 000016fc: MLOAD 000016fd: PUSH1 0x20 000016ff: DUP2 00001700: DUP4 00001701: SUB 00001702: SUB 00001703: DUP2 00001704: MSTORE 00001705: SWAP1 00001706: PUSH1 0x40 00001708: MSTORE 00001709: DUP2 0000170a: PUSH1 0x01 0000170c: DUP2 0000170d: MLOAD 0000170e: DUP2 0000170f: LT 00001710: PUSH2 0x171c 00001713: JUMPI 00001714: PUSH2 0x171b 00001717: PUSH2 0x2ae4 0000171a: JUMP 0000171b: JUMPDEST 0000171c: JUMPDEST 0000171d: PUSH1 0x20 0000171f: MUL 00001720: PUSH1 0x20 00001722: ADD 00001723: ADD 00001724: DUP2 00001725: SWAP1 00001726: MSTORE 00001727: POP 00001728: PUSH1 0x03 0000172a: PUSH0 0000172b: SWAP1 0000172c: SLOAD 0000172d: SWAP1 0000172e: PUSH2 0x0100 00001731: EXP 00001732: SWAP1 00001733: DIV 00001734: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001749: AND 0000174a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000175f: AND 00001760: PUSH4 0x3593564c 00001765: DUP8 00001766: DUP6 00001767: DUP5 00001768: PUSH2 0x0384 0000176b: TIMESTAMP 0000176c: PUSH2 0x1775 0000176f: SWAP2 00001770: SWAP1 00001771: PUSH2 0x2f2b 00001774: JUMP 00001775: JUMPDEST 00001776: PUSH1 0x40 00001778: MLOAD 00001779: DUP6 0000177a: PUSH4 0xffffffff 0000177f: AND 00001780: PUSH1 0xe0 00001782: SHL 00001783: DUP2 00001784: MSTORE 00001785: PUSH1 0x04 00001787: ADD 00001788: PUSH2 0x1793 0000178b: SWAP4 0000178c: SWAP3 0000178d: SWAP2 0000178e: SWAP1 0000178f: PUSH2 0x30d1 00001792: JUMP 00001793: JUMPDEST 00001794: PUSH0 00001795: PUSH1 0x40 00001797: MLOAD 00001798: DUP1 00001799: DUP4 0000179a: SUB 0000179b: DUP2 0000179c: DUP6 0000179d: DUP9 0000179e: DUP1 0000179f: EXTCODESIZE 000017a0: ISZERO 000017a1: DUP1 000017a2: ISZERO 000017a3: PUSH2 0x17aa 000017a6: JUMPI 000017a7: PUSH0 000017a8: PUSH0 000017a9: REVERT 000017aa: JUMPDEST 000017ab: POP 000017ac: GAS 000017ad: CALL 000017ae: ISZERO 000017af: DUP1 000017b0: ISZERO 000017b1: PUSH2 0x17bc 000017b4: JUMPI 000017b5: RETURNDATASIZE 000017b6: PUSH0 000017b7: PUSH0 000017b8: RETURNDATACOPY 000017b9: RETURNDATASIZE 000017ba: PUSH0 000017bb: REVERT 000017bc: JUMPDEST 000017bd: POP 000017be: POP 000017bf: POP 000017c0: POP 000017c1: POP 000017c2: POP 000017c3: POP 000017c4: POP 000017c5: POP 000017c6: POP 000017c7: POP 000017c8: POP 000017c9: POP 000017ca: JUMP 000017cb: JUMPDEST 000017cc: DUP5 000017cd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017e2: AND 000017e3: PUSH4 0x23b872dd 000017e8: CALLER 000017e9: PUSH1 0x03 000017eb: PUSH0 000017ec: SWAP1 000017ed: SLOAD 000017ee: SWAP1 000017ef: PUSH2 0x0100 000017f2: EXP 000017f3: SWAP1 000017f4: DIV 000017f5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000180a: AND 0000180b: DUP7 0000180c: PUSH1 0x40 0000180e: MLOAD 0000180f: DUP5 00001810: PUSH4 0xffffffff 00001815: AND 00001816: PUSH1 0xe0 00001818: SHL 00001819: DUP2 0000181a: MSTORE 0000181b: PUSH1 0x04 0000181d: ADD 0000181e: PUSH2 0x1829 00001821: SWAP4 00001822: SWAP3 00001823: SWAP2 00001824: SWAP1 00001825: PUSH2 0x2c4a 00001828: JUMP 00001829: JUMPDEST 0000182a: PUSH1 0x20 0000182c: PUSH1 0x40 0000182e: MLOAD 0000182f: DUP1 00001830: DUP4 00001831: SUB 00001832: DUP2 00001833: PUSH0 00001834: DUP8 00001835: GAS 00001836: CALL 00001837: ISZERO 00001838: DUP1 00001839: ISZERO 0000183a: PUSH2 0x1845 0000183d: JUMPI 0000183e: RETURNDATASIZE 0000183f: PUSH0 00001840: PUSH0 00001841: RETURNDATACOPY 00001842: RETURNDATASIZE 00001843: PUSH0 00001844: REVERT 00001845: JUMPDEST 00001846: POP 00001847: POP 00001848: POP 00001849: POP 0000184a: PUSH1 0x40 0000184c: MLOAD 0000184d: RETURNDATASIZE 0000184e: PUSH1 0x1f 00001850: NOT 00001851: PUSH1 0x1f 00001853: DUP3 00001854: ADD 00001855: AND 00001856: DUP3 00001857: ADD 00001858: DUP1 00001859: PUSH1 0x40 0000185b: MSTORE 0000185c: POP 0000185d: DUP2 0000185e: ADD 0000185f: SWAP1 00001860: PUSH2 0x1869 00001863: SWAP2 00001864: SWAP1 00001865: PUSH2 0x29e9 00001868: JUMP 00001869: JUMPDEST 0000186a: POP 0000186b: PUSH0 0000186c: PUSH1 0x02 0000186e: PUSH8 0xffffffffffffffff 00001877: DUP2 00001878: GT 00001879: ISZERO 0000187a: PUSH2 0x1886 0000187d: JUMPI 0000187e: PUSH2 0x1885 00001881: PUSH2 0x2d6a 00001884: JUMP 00001885: JUMPDEST 00001886: JUMPDEST 00001887: PUSH1 0x40 00001889: MLOAD 0000188a: SWAP1 0000188b: DUP1 0000188c: DUP3 0000188d: MSTORE 0000188e: DUP1 0000188f: PUSH1 0x20 00001891: MUL 00001892: PUSH1 0x20 00001894: ADD 00001895: DUP3 00001896: ADD 00001897: PUSH1 0x40 00001899: MSTORE 0000189a: DUP1 0000189b: ISZERO 0000189c: PUSH2 0x18b4 0000189f: JUMPI 000018a0: DUP2 000018a1: PUSH1 0x20 000018a3: ADD 000018a4: PUSH1 0x20 000018a6: DUP3 000018a7: MUL 000018a8: DUP1 000018a9: CALLDATASIZE 000018aa: DUP4 000018ab: CALLDATACOPY 000018ac: DUP1 000018ad: DUP3 000018ae: ADD 000018af: SWAP2 000018b0: POP 000018b1: POP 000018b2: SWAP1 000018b3: POP 000018b4: JUMPDEST 000018b5: POP 000018b6: SWAP1 000018b7: POP 000018b8: DUP6 000018b9: DUP2 000018ba: PUSH0 000018bb: DUP2 000018bc: MLOAD 000018bd: DUP2 000018be: LT 000018bf: PUSH2 0x18cb 000018c2: JUMPI 000018c3: PUSH2 0x18ca 000018c6: PUSH2 0x2ae4 000018c9: JUMP 000018ca: JUMPDEST 000018cb: JUMPDEST 000018cc: PUSH1 0x20 000018ce: MUL 000018cf: PUSH1 0x20 000018d1: ADD 000018d2: ADD 000018d3: SWAP1 000018d4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018e9: AND 000018ea: SWAP1 000018eb: DUP2 000018ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001901: AND 00001902: DUP2 00001903: MSTORE 00001904: POP 00001905: POP 00001906: DUP5 00001907: DUP2 00001908: PUSH1 0x01 0000190a: DUP2 0000190b: MLOAD 0000190c: DUP2 0000190d: LT 0000190e: PUSH2 0x191a 00001911: JUMPI 00001912: PUSH2 0x1919 00001915: PUSH2 0x2ae4 00001918: JUMP 00001919: JUMPDEST 0000191a: JUMPDEST 0000191b: PUSH1 0x20 0000191d: MUL 0000191e: PUSH1 0x20 00001920: ADD 00001921: ADD 00001922: SWAP1 00001923: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001938: AND 00001939: SWAP1 0000193a: DUP2 0000193b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001950: AND 00001951: DUP2 00001952: MSTORE 00001953: POP 00001954: POP 00001955: PUSH0 00001956: PUSH1 0x08 00001958: PUSH1 0xf8 0000195a: SHL 0000195b: PUSH1 0x04 0000195d: PUSH1 0xf8 0000195f: SHL 00001960: PUSH1 0x40 00001962: MLOAD 00001963: PUSH1 0x20 00001965: ADD 00001966: PUSH2 0x1970 00001969: SWAP3 0000196a: SWAP2 0000196b: SWAP1 0000196c: PUSH2 0x2de2 0000196f: JUMP 00001970: JUMPDEST 00001971: PUSH1 0x40 00001973: MLOAD 00001974: PUSH1 0x20 00001976: DUP2 00001977: DUP4 00001978: SUB 00001979: SUB 0000197a: DUP2 0000197b: MSTORE 0000197c: SWAP1 0000197d: PUSH1 0x40 0000197f: MSTORE 00001980: SWAP1 00001981: POP 00001982: PUSH0 00001983: PUSH1 0x02 00001985: PUSH8 0xffffffffffffffff 0000198e: DUP2 0000198f: GT 00001990: ISZERO 00001991: PUSH2 0x199d 00001994: JUMPI 00001995: PUSH2 0x199c 00001998: PUSH2 0x2d6a 0000199b: JUMP 0000199c: JUMPDEST 0000199d: JUMPDEST 0000199e: PUSH1 0x40 000019a0: MLOAD 000019a1: SWAP1 000019a2: DUP1 000019a3: DUP3 000019a4: MSTORE 000019a5: DUP1 000019a6: PUSH1 0x20 000019a8: MUL 000019a9: PUSH1 0x20 000019ab: ADD 000019ac: DUP3 000019ad: ADD 000019ae: PUSH1 0x40 000019b0: MSTORE 000019b1: DUP1 000019b2: ISZERO 000019b3: PUSH2 0x19d0 000019b6: JUMPI 000019b7: DUP2 000019b8: PUSH1 0x20 000019ba: ADD 000019bb: JUMPDEST 000019bc: PUSH1 0x60 000019be: DUP2 000019bf: MSTORE 000019c0: PUSH1 0x20 000019c2: ADD 000019c3: SWAP1 000019c4: PUSH1 0x01 000019c6: SWAP1 000019c7: SUB 000019c8: SWAP1 000019c9: DUP2 000019ca: PUSH2 0x19bb 000019cd: JUMPI 000019ce: SWAP1 000019cf: POP 000019d0: JUMPDEST 000019d1: POP 000019d2: SWAP1 000019d3: POP 000019d4: ADDRESS 000019d5: DUP7 000019d6: DUP7 000019d7: DUP6 000019d8: PUSH0 000019d9: PUSH1 0x40 000019db: MLOAD 000019dc: PUSH1 0x20 000019de: ADD 000019df: PUSH2 0x19ec 000019e2: SWAP6 000019e3: SWAP5 000019e4: SWAP4 000019e5: SWAP3 000019e6: SWAP2 000019e7: SWAP1 000019e8: PUSH2 0x32d3 000019eb: JUMP 000019ec: JUMPDEST 000019ed: PUSH1 0x40 000019ef: MLOAD 000019f0: PUSH1 0x20 000019f2: DUP2 000019f3: DUP4 000019f4: SUB 000019f5: SUB 000019f6: DUP2 000019f7: MSTORE 000019f8: SWAP1 000019f9: PUSH1 0x40 000019fb: MSTORE 000019fc: DUP2 000019fd: PUSH0 000019fe: DUP2 000019ff: MLOAD 00001a00: DUP2 00001a01: LT 00001a02: PUSH2 0x1a0e 00001a05: JUMPI 00001a06: PUSH2 0x1a0d 00001a09: PUSH2 0x2ae4 00001a0c: JUMP 00001a0d: JUMPDEST 00001a0e: JUMPDEST 00001a0f: PUSH1 0x20 00001a11: MUL 00001a12: PUSH1 0x20 00001a14: ADD 00001a15: ADD 00001a16: DUP2 00001a17: SWAP1 00001a18: MSTORE 00001a19: POP 00001a1a: DUP8 00001a1b: PUSH2 0x1a22 00001a1e: PUSH2 0x1390 00001a21: JUMP 00001a22: JUMPDEST 00001a23: PUSH0 00001a24: PUSH1 0x40 00001a26: MLOAD 00001a27: PUSH1 0x20 00001a29: ADD 00001a2a: PUSH2 0x1a35 00001a2d: SWAP4 00001a2e: SWAP3 00001a2f: SWAP2 00001a30: SWAP1 00001a31: PUSH2 0x2d35 00001a34: JUMP 00001a35: JUMPDEST 00001a36: PUSH1 0x40 00001a38: MLOAD 00001a39: PUSH1 0x20 00001a3b: DUP2 00001a3c: DUP4 00001a3d: SUB 00001a3e: SUB 00001a3f: DUP2 00001a40: MSTORE 00001a41: SWAP1 00001a42: PUSH1 0x40 00001a44: MSTORE 00001a45: DUP2 00001a46: PUSH1 0x01 00001a48: DUP2 00001a49: MLOAD 00001a4a: DUP2 00001a4b: LT 00001a4c: PUSH2 0x1a58 00001a4f: JUMPI 00001a50: PUSH2 0x1a57 00001a53: PUSH2 0x2ae4 00001a56: JUMP 00001a57: JUMPDEST 00001a58: JUMPDEST 00001a59: PUSH1 0x20 00001a5b: MUL 00001a5c: PUSH1 0x20 00001a5e: ADD 00001a5f: ADD 00001a60: DUP2 00001a61: SWAP1 00001a62: MSTORE 00001a63: POP 00001a64: PUSH1 0x03 00001a66: PUSH0 00001a67: SWAP1 00001a68: SLOAD 00001a69: SWAP1 00001a6a: PUSH2 0x0100 00001a6d: EXP 00001a6e: SWAP1 00001a6f: DIV 00001a70: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a85: AND 00001a86: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a9b: AND 00001a9c: PUSH4 0x3593564c 00001aa1: DUP4 00001aa2: DUP4 00001aa3: PUSH2 0x0384 00001aa6: TIMESTAMP 00001aa7: PUSH2 0x1ab0 00001aaa: SWAP2 00001aab: SWAP1 00001aac: PUSH2 0x2f2b 00001aaf: JUMP 00001ab0: JUMPDEST 00001ab1: PUSH1 0x40 00001ab3: MLOAD 00001ab4: DUP5 00001ab5: PUSH4 0xffffffff 00001aba: AND 00001abb: PUSH1 0xe0 00001abd: SHL 00001abe: DUP2 00001abf: MSTORE 00001ac0: PUSH1 0x04 00001ac2: ADD 00001ac3: PUSH2 0x1ace 00001ac6: SWAP4 00001ac7: SWAP3 00001ac8: SWAP2 00001ac9: SWAP1 00001aca: PUSH2 0x30d1 00001acd: JUMP 00001ace: JUMPDEST 00001acf: PUSH0 00001ad0: PUSH1 0x40 00001ad2: MLOAD 00001ad3: DUP1 00001ad4: DUP4 00001ad5: SUB 00001ad6: DUP2 00001ad7: PUSH0 00001ad8: DUP8 00001ad9: DUP1 00001ada: EXTCODESIZE 00001adb: ISZERO 00001adc: DUP1 00001add: ISZERO 00001ade: PUSH2 0x1ae5 00001ae1: JUMPI 00001ae2: PUSH0 00001ae3: PUSH0 00001ae4: REVERT 00001ae5: JUMPDEST 00001ae6: POP 00001ae7: GAS 00001ae8: CALL 00001ae9: ISZERO 00001aea: DUP1 00001aeb: ISZERO 00001aec: PUSH2 0x1af7 00001aef: JUMPI 00001af0: RETURNDATASIZE 00001af1: PUSH0 00001af2: PUSH0 00001af3: RETURNDATACOPY 00001af4: RETURNDATASIZE 00001af5: PUSH0 00001af6: REVERT 00001af7: JUMPDEST 00001af8: POP 00001af9: POP 00001afa: POP 00001afb: POP 00001afc: PUSH1 0x02 00001afe: PUSH0 00001aff: SWAP1 00001b00: SLOAD 00001b01: SWAP1 00001b02: PUSH2 0x0100 00001b05: EXP 00001b06: SWAP1 00001b07: DIV 00001b08: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b1d: AND 00001b1e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b33: AND 00001b34: DUP8 00001b35: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b4a: AND 00001b4b: SUB 00001b4c: PUSH2 0x1cfa 00001b4f: JUMPI 00001b50: PUSH0 00001b51: PUSH1 0x02 00001b53: PUSH0 00001b54: SWAP1 00001b55: SLOAD 00001b56: SWAP1 00001b57: PUSH2 0x0100 00001b5a: EXP 00001b5b: SWAP1 00001b5c: DIV 00001b5d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b72: AND 00001b73: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b88: AND 00001b89: PUSH4 0x70a08231 00001b8e: ADDRESS 00001b8f: PUSH1 0x40 00001b91: MLOAD 00001b92: DUP3 00001b93: PUSH4 0xffffffff 00001b98: AND 00001b99: PUSH1 0xe0 00001b9b: SHL 00001b9c: DUP2 00001b9d: MSTORE 00001b9e: PUSH1 0x04 00001ba0: ADD 00001ba1: PUSH2 0x1baa 00001ba4: SWAP2 00001ba5: SWAP1 00001ba6: PUSH2 0x2687 00001ba9: JUMP 00001baa: JUMPDEST 00001bab: PUSH1 0x20 00001bad: PUSH1 0x40 00001baf: MLOAD 00001bb0: DUP1 00001bb1: DUP4 00001bb2: SUB 00001bb3: DUP2 00001bb4: DUP7 00001bb5: GAS 00001bb6: STATICCALL 00001bb7: ISZERO 00001bb8: DUP1 00001bb9: ISZERO 00001bba: PUSH2 0x1bc5 00001bbd: JUMPI 00001bbe: RETURNDATASIZE 00001bbf: PUSH0 00001bc0: PUSH0 00001bc1: RETURNDATACOPY 00001bc2: RETURNDATASIZE 00001bc3: PUSH0 00001bc4: REVERT 00001bc5: JUMPDEST 00001bc6: POP 00001bc7: POP 00001bc8: POP 00001bc9: POP 00001bca: PUSH1 0x40 00001bcc: MLOAD 00001bcd: RETURNDATASIZE 00001bce: PUSH1 0x1f 00001bd0: NOT 00001bd1: PUSH1 0x1f 00001bd3: DUP3 00001bd4: ADD 00001bd5: AND 00001bd6: DUP3 00001bd7: ADD 00001bd8: DUP1 00001bd9: PUSH1 0x40 00001bdb: MSTORE 00001bdc: POP 00001bdd: DUP2 00001bde: ADD 00001bdf: SWAP1 00001be0: PUSH2 0x1be9 00001be3: SWAP2 00001be4: SWAP1 00001be5: PUSH2 0x2974 00001be8: JUMP 00001be9: JUMPDEST 00001bea: SWAP1 00001beb: POP 00001bec: PUSH0 00001bed: DUP2 00001bee: GT 00001bef: ISZERO 00001bf0: PUSH2 0x1cf8 00001bf3: JUMPI 00001bf4: PUSH1 0x02 00001bf6: PUSH0 00001bf7: SWAP1 00001bf8: SLOAD 00001bf9: SWAP1 00001bfa: PUSH2 0x0100 00001bfd: EXP 00001bfe: SWAP1 00001bff: DIV 00001c00: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c15: AND 00001c16: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c2b: AND 00001c2c: PUSH4 0x2e1a7d4d 00001c31: DUP3 00001c32: PUSH1 0x40 00001c34: MLOAD 00001c35: DUP3 00001c36: PUSH4 0xffffffff 00001c3b: AND 00001c3c: PUSH1 0xe0 00001c3e: SHL 00001c3f: DUP2 00001c40: MSTORE 00001c41: PUSH1 0x04 00001c43: ADD 00001c44: PUSH2 0x1c4d 00001c47: SWAP2 00001c48: SWAP1 00001c49: PUSH2 0x3210 00001c4c: JUMP 00001c4d: JUMPDEST 00001c4e: PUSH0 00001c4f: PUSH1 0x40 00001c51: MLOAD 00001c52: DUP1 00001c53: DUP4 00001c54: SUB 00001c55: DUP2 00001c56: PUSH0 00001c57: DUP8 00001c58: DUP1 00001c59: EXTCODESIZE 00001c5a: ISZERO 00001c5b: DUP1 00001c5c: ISZERO 00001c5d: PUSH2 0x1c64 00001c60: JUMPI 00001c61: PUSH0 00001c62: PUSH0 00001c63: REVERT 00001c64: JUMPDEST 00001c65: POP 00001c66: GAS 00001c67: CALL 00001c68: ISZERO 00001c69: DUP1 00001c6a: ISZERO 00001c6b: PUSH2 0x1c76 00001c6e: JUMPI 00001c6f: RETURNDATASIZE 00001c70: PUSH0 00001c71: PUSH0 00001c72: RETURNDATACOPY 00001c73: RETURNDATASIZE 00001c74: PUSH0 00001c75: REVERT 00001c76: JUMPDEST 00001c77: POP 00001c78: POP 00001c79: POP 00001c7a: POP 00001c7b: ADDRESS 00001c7c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c91: AND 00001c92: DUP6 00001c93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ca8: AND 00001ca9: EQ 00001caa: PUSH2 0x1cf7 00001cad: JUMPI 00001cae: PUSH0 00001caf: DUP6 00001cb0: SWAP1 00001cb1: POP 00001cb2: DUP1 00001cb3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cc8: AND 00001cc9: PUSH2 0x08fc 00001ccc: DUP4 00001ccd: SWAP1 00001cce: DUP2 00001ccf: ISZERO 00001cd0: MUL 00001cd1: SWAP1 00001cd2: PUSH1 0x40 00001cd4: MLOAD 00001cd5: PUSH0 00001cd6: PUSH1 0x40 00001cd8: MLOAD 00001cd9: DUP1 00001cda: DUP4 00001cdb: SUB 00001cdc: DUP2 00001cdd: DUP6 00001cde: DUP9 00001cdf: DUP9 00001ce0: CALL 00001ce1: SWAP4 00001ce2: POP 00001ce3: POP 00001ce4: POP 00001ce5: POP 00001ce6: ISZERO 00001ce7: DUP1 00001ce8: ISZERO 00001ce9: PUSH2 0x1cf4 00001cec: JUMPI 00001ced: RETURNDATASIZE 00001cee: PUSH0 00001cef: PUSH0 00001cf0: RETURNDATACOPY 00001cf1: RETURNDATASIZE 00001cf2: PUSH0 00001cf3: REVERT 00001cf4: JUMPDEST 00001cf5: POP 00001cf6: POP 00001cf7: JUMPDEST 00001cf8: JUMPDEST 00001cf9: POP 00001cfa: JUMPDEST 00001cfb: POP 00001cfc: POP 00001cfd: POP 00001cfe: POP 00001cff: POP 00001d00: POP 00001d01: POP 00001d02: POP 00001d03: JUMP 00001d04: JUMPDEST 00001d05: PUSH0 00001d06: PUSH0 00001d07: PUSH0 00001d08: CALLDATASIZE 00001d09: PUSH0 00001d0a: DUP7 00001d0b: CALLDATALOAD 00001d0c: SWAP5 00001d0d: POP 00001d0e: PUSH1 0x20 00001d10: DUP8 00001d11: ADD 00001d12: CALLDATALOAD 00001d13: SWAP4 00001d14: POP 00001d15: PUSH1 0x40 00001d17: DUP8 00001d18: ADD 00001d19: CALLDATALOAD 00001d1a: SWAP3 00001d1b: POP 00001d1c: PUSH2 0x1d27 00001d1f: DUP8 00001d20: DUP8 00001d21: PUSH1 0x03 00001d23: PUSH2 0x1397 00001d26: JUMP 00001d27: JUMPDEST 00001d28: SWAP2 00001d29: POP 00001d2a: SWAP2 00001d2b: POP 00001d2c: SWAP3 00001d2d: SWAP6 00001d2e: POP 00001d2f: SWAP3 00001d30: SWAP6 00001d31: SWAP1 00001d32: SWAP4 00001d33: POP 00001d34: JUMP 00001d35: JUMPDEST 00001d36: PUSH0 00001d37: PUSH2 0x1d40 00001d3a: DUP4 00001d3b: DUP4 00001d3c: PUSH2 0x1406 00001d3f: JUMP 00001d40: JUMPDEST 00001d41: SWAP3 00001d42: POP 00001d43: POP 00001d44: POP 00001d45: PUSH1 0x04 00001d47: PUSH0 00001d48: DUP3 00001d49: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d5e: AND 00001d5f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d74: AND 00001d75: DUP2 00001d76: MSTORE 00001d77: PUSH1 0x20 00001d79: ADD 00001d7a: SWAP1 00001d7b: DUP2 00001d7c: MSTORE 00001d7d: PUSH1 0x20 00001d7f: ADD 00001d80: PUSH0 00001d81: KECCAK256 00001d82: PUSH0 00001d83: SWAP1 00001d84: SLOAD 00001d85: SWAP1 00001d86: PUSH2 0x0100 00001d89: EXP 00001d8a: SWAP1 00001d8b: DIV 00001d8c: PUSH1 0xff 00001d8e: AND 00001d8f: ISZERO 00001d90: PUSH2 0x1dce 00001d93: JUMPI 00001d94: PUSH1 0x40 00001d96: MLOAD 00001d97: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001db8: DUP2 00001db9: MSTORE 00001dba: PUSH1 0x04 00001dbc: ADD 00001dbd: PUSH2 0x1dc5 00001dc0: SWAP1 00001dc1: PUSH2 0x32b5 00001dc4: JUMP 00001dc5: JUMPDEST 00001dc6: PUSH1 0x40 00001dc8: MLOAD 00001dc9: DUP1 00001dca: SWAP2 00001dcb: SUB 00001dcc: SWAP1 00001dcd: REVERT 00001dce: JUMPDEST 00001dcf: PUSH0 00001dd0: PUSH1 0x0b 00001dd2: PUSH1 0xf8 00001dd4: SHL 00001dd5: PUSH0 00001dd6: PUSH1 0xf8 00001dd8: SHL 00001dd9: PUSH1 0x40 00001ddb: MLOAD 00001ddc: PUSH1 0x20 00001dde: ADD 00001ddf: PUSH2 0x1de9 00001de2: SWAP3 00001de3: SWAP2 00001de4: SWAP1 00001de5: PUSH2 0x2de2 00001de8: JUMP 00001de9: JUMPDEST 00001dea: PUSH1 0x40 00001dec: MLOAD 00001ded: PUSH1 0x20 00001def: DUP2 00001df0: DUP4 00001df1: SUB 00001df2: SUB 00001df3: DUP2 00001df4: MSTORE 00001df5: SWAP1 00001df6: PUSH1 0x40 00001df8: MSTORE 00001df9: SWAP1 00001dfa: POP 00001dfb: PUSH0 00001dfc: PUSH1 0x02 00001dfe: PUSH8 0xffffffffffffffff 00001e07: DUP2 00001e08: GT 00001e09: ISZERO 00001e0a: PUSH2 0x1e16 00001e0d: JUMPI 00001e0e: PUSH2 0x1e15 00001e11: PUSH2 0x2d6a 00001e14: JUMP 00001e15: JUMPDEST 00001e16: JUMPDEST 00001e17: PUSH1 0x40 00001e19: MLOAD 00001e1a: SWAP1 00001e1b: DUP1 00001e1c: DUP3 00001e1d: MSTORE 00001e1e: DUP1 00001e1f: PUSH1 0x20 00001e21: MUL 00001e22: PUSH1 0x20 00001e24: ADD 00001e25: DUP3 00001e26: ADD 00001e27: PUSH1 0x40 00001e29: MSTORE 00001e2a: DUP1 00001e2b: ISZERO 00001e2c: PUSH2 0x1e49 00001e2f: JUMPI 00001e30: DUP2 00001e31: PUSH1 0x20 00001e33: ADD 00001e34: JUMPDEST 00001e35: PUSH1 0x60 00001e37: DUP2 00001e38: MSTORE 00001e39: PUSH1 0x20 00001e3b: ADD 00001e3c: SWAP1 00001e3d: PUSH1 0x01 00001e3f: SWAP1 00001e40: SUB 00001e41: SWAP1 00001e42: DUP2 00001e43: PUSH2 0x1e34 00001e46: JUMPI 00001e47: SWAP1 00001e48: POP 00001e49: JUMPDEST 00001e4a: POP 00001e4b: SWAP1 00001e4c: POP 00001e4d: PUSH1 0x02 00001e4f: DUP9 00001e50: PUSH1 0x40 00001e52: MLOAD 00001e53: PUSH1 0x20 00001e55: ADD 00001e56: PUSH2 0x1e60 00001e59: SWAP3 00001e5a: SWAP2 00001e5b: SWAP1 00001e5c: PUSH2 0x29ae 00001e5f: JUMP 00001e60: JUMPDEST 00001e61: PUSH1 0x40 00001e63: MLOAD 00001e64: PUSH1 0x20 00001e66: DUP2 00001e67: DUP4 00001e68: SUB 00001e69: SUB 00001e6a: DUP2 00001e6b: MSTORE 00001e6c: SWAP1 00001e6d: PUSH1 0x40 00001e6f: MSTORE 00001e70: DUP2 00001e71: PUSH0 00001e72: DUP2 00001e73: MLOAD 00001e74: DUP2 00001e75: LT 00001e76: PUSH2 0x1e82 00001e79: JUMPI 00001e7a: PUSH2 0x1e81 00001e7d: PUSH2 0x2ae4 00001e80: JUMP 00001e81: JUMPDEST 00001e82: JUMPDEST 00001e83: PUSH1 0x20 00001e85: MUL 00001e86: PUSH1 0x20 00001e88: ADD 00001e89: ADD 00001e8a: DUP2 00001e8b: SWAP1 00001e8c: MSTORE 00001e8d: POP 00001e8e: DUP6 00001e8f: DUP9 00001e90: DUP9 00001e91: DUP8 00001e92: DUP8 00001e93: PUSH0 00001e94: PUSH1 0x40 00001e96: MLOAD 00001e97: PUSH1 0x20 00001e99: ADD 00001e9a: PUSH2 0x1ea8 00001e9d: SWAP7 00001e9e: SWAP6 00001e9f: SWAP5 00001ea0: SWAP4 00001ea1: SWAP3 00001ea2: SWAP2 00001ea3: SWAP1 00001ea4: PUSH2 0x332b 00001ea7: JUMP 00001ea8: JUMPDEST 00001ea9: PUSH1 0x40 00001eab: MLOAD 00001eac: PUSH1 0x20 00001eae: DUP2 00001eaf: DUP4 00001eb0: SUB 00001eb1: SUB 00001eb2: DUP2 00001eb3: MSTORE 00001eb4: SWAP1 00001eb5: PUSH1 0x40 00001eb7: MSTORE 00001eb8: DUP2 00001eb9: PUSH1 0x01 00001ebb: DUP2 00001ebc: MLOAD 00001ebd: DUP2 00001ebe: LT 00001ebf: PUSH2 0x1ecb 00001ec2: JUMPI 00001ec3: PUSH2 0x1eca 00001ec6: PUSH2 0x2ae4 00001ec9: JUMP 00001eca: JUMPDEST 00001ecb: JUMPDEST 00001ecc: PUSH1 0x20 00001ece: MUL 00001ecf: PUSH1 0x20 00001ed1: ADD 00001ed2: ADD 00001ed3: DUP2 00001ed4: SWAP1 00001ed5: MSTORE 00001ed6: POP 00001ed7: PUSH1 0x03 00001ed9: PUSH0 00001eda: SWAP1 00001edb: SLOAD 00001edc: SWAP1 00001edd: PUSH2 0x0100 00001ee0: EXP 00001ee1: SWAP1 00001ee2: DIV 00001ee3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ef8: AND 00001ef9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f0e: AND 00001f0f: PUSH4 0x3593564c 00001f14: DUP10 00001f15: DUP5 00001f16: DUP5 00001f17: PUSH2 0x0384 00001f1a: TIMESTAMP 00001f1b: PUSH2 0x1f24 00001f1e: SWAP2 00001f1f: SWAP1 00001f20: PUSH2 0x2f2b 00001f23: JUMP 00001f24: JUMPDEST 00001f25: PUSH1 0x40 00001f27: MLOAD 00001f28: DUP6 00001f29: PUSH4 0xffffffff 00001f2e: AND 00001f2f: PUSH1 0xe0 00001f31: SHL 00001f32: DUP2 00001f33: MSTORE 00001f34: PUSH1 0x04 00001f36: ADD 00001f37: PUSH2 0x1f42 00001f3a: SWAP4 00001f3b: SWAP3 00001f3c: SWAP2 00001f3d: SWAP1 00001f3e: PUSH2 0x30d1 00001f41: JUMP 00001f42: JUMPDEST 00001f43: PUSH0 00001f44: PUSH1 0x40 00001f46: MLOAD 00001f47: DUP1 00001f48: DUP4 00001f49: SUB 00001f4a: DUP2 00001f4b: DUP6 00001f4c: DUP9 00001f4d: DUP1 00001f4e: EXTCODESIZE 00001f4f: ISZERO 00001f50: DUP1 00001f51: ISZERO 00001f52: PUSH2 0x1f59 00001f55: JUMPI 00001f56: PUSH0 00001f57: PUSH0 00001f58: REVERT 00001f59: JUMPDEST 00001f5a: POP 00001f5b: GAS 00001f5c: CALL 00001f5d: ISZERO 00001f5e: DUP1 00001f5f: ISZERO 00001f60: PUSH2 0x1f6b 00001f63: JUMPI 00001f64: RETURNDATASIZE 00001f65: PUSH0 00001f66: PUSH0 00001f67: RETURNDATACOPY 00001f68: RETURNDATASIZE 00001f69: PUSH0 00001f6a: REVERT 00001f6b: JUMPDEST 00001f6c: POP 00001f6d: POP 00001f6e: POP 00001f6f: POP 00001f70: POP 00001f71: POP 00001f72: POP 00001f73: POP 00001f74: POP 00001f75: POP 00001f76: POP 00001f77: POP 00001f78: POP 00001f79: JUMP 00001f7a: JUMPDEST 00001f7b: PUSH0 00001f7c: PUSH2 0x1f85 00001f7f: DUP4 00001f80: DUP4 00001f81: PUSH2 0x13ba 00001f84: JUMP 00001f85: JUMPDEST 00001f86: SWAP1 00001f87: POP 00001f88: PUSH0 00001f89: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f9e: AND 00001f9f: DUP2 00001fa0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fb5: AND 00001fb6: SUB 00001fb7: PUSH2 0x1ff5 00001fba: JUMPI 00001fbb: PUSH1 0x40 00001fbd: MLOAD 00001fbe: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001fdf: DUP2 00001fe0: MSTORE 00001fe1: PUSH1 0x04 00001fe3: ADD 00001fe4: PUSH2 0x1fec 00001fe7: SWAP1 00001fe8: PUSH2 0x33cf 00001feb: JUMP 00001fec: JUMPDEST 00001fed: PUSH1 0x40 00001fef: MLOAD 00001ff0: DUP1 00001ff1: SWAP2 00001ff2: SUB 00001ff3: SWAP1 00001ff4: REVERT 00001ff5: JUMPDEST 00001ff6: DUP1 00001ff7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000200c: AND 0000200d: PUSH4 0x23b872dd 00002012: CALLER 00002013: PUSH1 0x03 00002015: PUSH0 00002016: SWAP1 00002017: SLOAD 00002018: SWAP1 00002019: PUSH2 0x0100 0000201c: EXP 0000201d: SWAP1 0000201e: DIV 0000201f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002034: AND 00002035: DUP10 00002036: PUSH1 0x40 00002038: MLOAD 00002039: DUP5 0000203a: PUSH4 0xffffffff 0000203f: AND 00002040: PUSH1 0xe0 00002042: SHL 00002043: DUP2 00002044: MSTORE 00002045: PUSH1 0x04 00002047: ADD 00002048: PUSH2 0x2053 0000204b: SWAP4 0000204c: SWAP3 0000204d: SWAP2 0000204e: SWAP1 0000204f: PUSH2 0x2c4a 00002052: JUMP 00002053: JUMPDEST 00002054: PUSH1 0x20 00002056: PUSH1 0x40 00002058: MLOAD 00002059: DUP1 0000205a: DUP4 0000205b: SUB 0000205c: DUP2 0000205d: PUSH0 0000205e: DUP8 0000205f: GAS 00002060: CALL 00002061: ISZERO 00002062: DUP1 00002063: ISZERO 00002064: PUSH2 0x206f 00002067: JUMPI 00002068: RETURNDATASIZE 00002069: PUSH0 0000206a: PUSH0 0000206b: RETURNDATACOPY 0000206c: RETURNDATASIZE 0000206d: PUSH0 0000206e: REVERT 0000206f: JUMPDEST 00002070: POP 00002071: POP 00002072: POP 00002073: POP 00002074: PUSH1 0x40 00002076: MLOAD 00002077: RETURNDATASIZE 00002078: PUSH1 0x1f 0000207a: NOT 0000207b: PUSH1 0x1f 0000207d: DUP3 0000207e: ADD 0000207f: AND 00002080: DUP3 00002081: ADD 00002082: DUP1 00002083: PUSH1 0x40 00002085: MSTORE 00002086: POP 00002087: DUP2 00002088: ADD 00002089: SWAP1 0000208a: PUSH2 0x2093 0000208d: SWAP2 0000208e: SWAP1 0000208f: PUSH2 0x29e9 00002092: JUMP 00002093: JUMPDEST 00002094: POP 00002095: PUSH0 00002096: PUSH0 00002097: PUSH1 0xf8 00002099: SHL 0000209a: PUSH1 0x04 0000209c: PUSH1 0xf8 0000209e: SHL 0000209f: PUSH1 0x40 000020a1: MLOAD 000020a2: PUSH1 0x20 000020a4: ADD 000020a5: PUSH2 0x20af 000020a8: SWAP3 000020a9: SWAP2 000020aa: SWAP1 000020ab: PUSH2 0x2de2 000020ae: JUMP 000020af: JUMPDEST 000020b0: PUSH1 0x40 000020b2: MLOAD 000020b3: PUSH1 0x20 000020b5: DUP2 000020b6: DUP4 000020b7: SUB 000020b8: SUB 000020b9: DUP2 000020ba: MSTORE 000020bb: SWAP1 000020bc: PUSH1 0x40 000020be: MSTORE 000020bf: SWAP1 000020c0: POP 000020c1: PUSH0 000020c2: PUSH1 0x02 000020c4: PUSH8 0xffffffffffffffff 000020cd: DUP2 000020ce: GT 000020cf: ISZERO 000020d0: PUSH2 0x20dc 000020d3: JUMPI 000020d4: PUSH2 0x20db 000020d7: PUSH2 0x2d6a 000020da: JUMP 000020db: JUMPDEST 000020dc: JUMPDEST 000020dd: PUSH1 0x40 000020df: MLOAD 000020e0: SWAP1 000020e1: DUP1 000020e2: DUP3 000020e3: MSTORE 000020e4: DUP1 000020e5: PUSH1 0x20 000020e7: MUL 000020e8: PUSH1 0x20 000020ea: ADD 000020eb: DUP3 000020ec: ADD 000020ed: PUSH1 0x40 000020ef: MSTORE 000020f0: DUP1 000020f1: ISZERO 000020f2: PUSH2 0x210f 000020f5: JUMPI 000020f6: DUP2 000020f7: PUSH1 0x20 000020f9: ADD 000020fa: JUMPDEST 000020fb: PUSH1 0x60 000020fd: DUP2 000020fe: MSTORE 000020ff: PUSH1 0x20 00002101: ADD 00002102: SWAP1 00002103: PUSH1 0x01 00002105: SWAP1 00002106: SUB 00002107: SWAP1 00002108: DUP2 00002109: PUSH2 0x20fa 0000210c: JUMPI 0000210d: SWAP1 0000210e: POP 0000210f: JUMPDEST 00002110: POP 00002111: SWAP1 00002112: POP 00002113: ADDRESS 00002114: DUP9 00002115: DUP9 00002116: DUP8 00002117: DUP8 00002118: PUSH0 00002119: PUSH1 0x40 0000211b: MLOAD 0000211c: PUSH1 0x20 0000211e: ADD 0000211f: PUSH2 0x212d 00002122: SWAP7 00002123: SWAP6 00002124: SWAP5 00002125: SWAP4 00002126: SWAP3 00002127: SWAP2 00002128: SWAP1 00002129: PUSH2 0x332b 0000212c: JUMP 0000212d: JUMPDEST 0000212e: PUSH1 0x40 00002130: MLOAD 00002131: PUSH1 0x20 00002133: DUP2 00002134: DUP4 00002135: SUB 00002136: SUB 00002137: DUP2 00002138: MSTORE 00002139: SWAP1 0000213a: PUSH1 0x40 0000213c: MSTORE 0000213d: DUP2 0000213e: PUSH0 0000213f: DUP2 00002140: MLOAD 00002141: DUP2 00002142: LT 00002143: PUSH2 0x214f 00002146: JUMPI 00002147: PUSH2 0x214e 0000214a: PUSH2 0x2ae4 0000214d: JUMP 0000214e: JUMPDEST 0000214f: JUMPDEST 00002150: PUSH1 0x20 00002152: MUL 00002153: PUSH1 0x20 00002155: ADD 00002156: ADD 00002157: DUP2 00002158: SWAP1 00002159: MSTORE 0000215a: POP 0000215b: DUP3 0000215c: PUSH2 0x2163 0000215f: PUSH2 0x1390 00002162: JUMP 00002163: JUMPDEST 00002164: PUSH0 00002165: PUSH1 0x40 00002167: MLOAD 00002168: PUSH1 0x20 0000216a: ADD 0000216b: PUSH2 0x2176 0000216e: SWAP4 0000216f: SWAP3 00002170: SWAP2 00002171: SWAP1 00002172: PUSH2 0x2d35 00002175: JUMP 00002176: JUMPDEST 00002177: PUSH1 0x40 00002179: MLOAD 0000217a: PUSH1 0x20 0000217c: DUP2 0000217d: DUP4 0000217e: SUB 0000217f: SUB 00002180: DUP2 00002181: MSTORE 00002182: SWAP1 00002183: PUSH1 0x40 00002185: MSTORE 00002186: DUP2 00002187: PUSH1 0x01 00002189: DUP2 0000218a: MLOAD 0000218b: DUP2 0000218c: LT 0000218d: PUSH2 0x2199 00002190: JUMPI 00002191: PUSH2 0x2198 00002194: PUSH2 0x2ae4 00002197: JUMP 00002198: JUMPDEST 00002199: JUMPDEST 0000219a: PUSH1 0x20 0000219c: MUL 0000219d: PUSH1 0x20 0000219f: ADD 000021a0: ADD 000021a1: DUP2 000021a2: SWAP1 000021a3: MSTORE 000021a4: POP 000021a5: PUSH1 0x03 000021a7: PUSH0 000021a8: SWAP1 000021a9: SLOAD 000021aa: SWAP1 000021ab: PUSH2 0x0100 000021ae: EXP 000021af: SWAP1 000021b0: DIV 000021b1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021c6: AND 000021c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000021dc: AND 000021dd: PUSH4 0x3593564c 000021e2: DUP4 000021e3: DUP4 000021e4: PUSH2 0x0384 000021e7: TIMESTAMP 000021e8: PUSH2 0x21f1 000021eb: SWAP2 000021ec: SWAP1 000021ed: PUSH2 0x2f2b 000021f0: JUMP 000021f1: JUMPDEST 000021f2: PUSH1 0x40 000021f4: MLOAD 000021f5: DUP5 000021f6: PUSH4 0xffffffff 000021fb: AND 000021fc: PUSH1 0xe0 000021fe: SHL 000021ff: DUP2 00002200: MSTORE 00002201: PUSH1 0x04 00002203: ADD 00002204: PUSH2 0x220f 00002207: SWAP4 00002208: SWAP3 00002209: SWAP2 0000220a: SWAP1 0000220b: PUSH2 0x30d1 0000220e: JUMP 0000220f: JUMPDEST 00002210: PUSH0 00002211: PUSH1 0x40 00002213: MLOAD 00002214: DUP1 00002215: DUP4 00002216: SUB 00002217: DUP2 00002218: PUSH0 00002219: DUP8 0000221a: DUP1 0000221b: EXTCODESIZE 0000221c: ISZERO 0000221d: DUP1 0000221e: ISZERO 0000221f: PUSH2 0x2226 00002222: JUMPI 00002223: PUSH0 00002224: PUSH0 00002225: REVERT 00002226: JUMPDEST 00002227: POP 00002228: GAS 00002229: CALL 0000222a: ISZERO 0000222b: DUP1 0000222c: ISZERO 0000222d: PUSH2 0x2238 00002230: JUMPI 00002231: RETURNDATASIZE 00002232: PUSH0 00002233: PUSH0 00002234: RETURNDATACOPY 00002235: RETURNDATASIZE 00002236: PUSH0 00002237: REVERT 00002238: JUMPDEST 00002239: POP 0000223a: POP 0000223b: POP 0000223c: POP 0000223d: PUSH0 0000223e: PUSH2 0x2247 00002241: DUP7 00002242: DUP7 00002243: PUSH2 0x1406 00002246: JUMP 00002247: JUMPDEST 00002248: SWAP3 00002249: POP 0000224a: POP 0000224b: POP 0000224c: PUSH1 0x02 0000224e: PUSH0 0000224f: SWAP1 00002250: SLOAD 00002251: SWAP1 00002252: PUSH2 0x0100 00002255: EXP 00002256: SWAP1 00002257: DIV 00002258: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000226d: AND 0000226e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002283: AND 00002284: DUP2 00002285: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000229a: AND 0000229b: SUB 0000229c: PUSH2 0x244a 0000229f: JUMPI 000022a0: PUSH0 000022a1: PUSH1 0x02 000022a3: PUSH0 000022a4: SWAP1 000022a5: SLOAD 000022a6: SWAP1 000022a7: PUSH2 0x0100 000022aa: EXP 000022ab: SWAP1 000022ac: DIV 000022ad: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022c2: AND 000022c3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022d8: AND 000022d9: PUSH4 0x70a08231 000022de: ADDRESS 000022df: PUSH1 0x40 000022e1: MLOAD 000022e2: DUP3 000022e3: PUSH4 0xffffffff 000022e8: AND 000022e9: PUSH1 0xe0 000022eb: SHL 000022ec: DUP2 000022ed: MSTORE 000022ee: PUSH1 0x04 000022f0: ADD 000022f1: PUSH2 0x22fa 000022f4: SWAP2 000022f5: SWAP1 000022f6: PUSH2 0x2687 000022f9: JUMP 000022fa: JUMPDEST 000022fb: PUSH1 0x20 000022fd: PUSH1 0x40 000022ff: MLOAD 00002300: DUP1 00002301: DUP4 00002302: SUB 00002303: DUP2 00002304: DUP7 00002305: GAS 00002306: STATICCALL 00002307: ISZERO 00002308: DUP1 00002309: ISZERO 0000230a: PUSH2 0x2315 0000230d: JUMPI 0000230e: RETURNDATASIZE 0000230f: PUSH0 00002310: PUSH0 00002311: RETURNDATACOPY 00002312: RETURNDATASIZE 00002313: PUSH0 00002314: REVERT 00002315: JUMPDEST 00002316: POP 00002317: POP 00002318: POP 00002319: POP 0000231a: PUSH1 0x40 0000231c: MLOAD 0000231d: RETURNDATASIZE 0000231e: PUSH1 0x1f 00002320: NOT 00002321: PUSH1 0x1f 00002323: DUP3 00002324: ADD 00002325: AND 00002326: DUP3 00002327: ADD 00002328: DUP1 00002329: PUSH1 0x40 0000232b: MSTORE 0000232c: POP 0000232d: DUP2 0000232e: ADD 0000232f: SWAP1 00002330: PUSH2 0x2339 00002333: SWAP2 00002334: SWAP1 00002335: PUSH2 0x2974 00002338: JUMP 00002339: JUMPDEST 0000233a: SWAP1 0000233b: POP 0000233c: PUSH0 0000233d: DUP2 0000233e: GT 0000233f: ISZERO 00002340: PUSH2 0x2448 00002343: JUMPI 00002344: PUSH1 0x02 00002346: PUSH0 00002347: SWAP1 00002348: SLOAD 00002349: SWAP1 0000234a: PUSH2 0x0100 0000234d: EXP 0000234e: SWAP1 0000234f: DIV 00002350: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002365: AND 00002366: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000237b: AND 0000237c: PUSH4 0x2e1a7d4d 00002381: DUP3 00002382: PUSH1 0x40 00002384: MLOAD 00002385: DUP3 00002386: PUSH4 0xffffffff 0000238b: AND 0000238c: PUSH1 0xe0 0000238e: SHL 0000238f: DUP2 00002390: MSTORE 00002391: PUSH1 0x04 00002393: ADD 00002394: PUSH2 0x239d 00002397: SWAP2 00002398: SWAP1 00002399: PUSH2 0x3210 0000239c: JUMP 0000239d: JUMPDEST 0000239e: PUSH0 0000239f: PUSH1 0x40 000023a1: MLOAD 000023a2: DUP1 000023a3: DUP4 000023a4: SUB 000023a5: DUP2 000023a6: PUSH0 000023a7: DUP8 000023a8: DUP1 000023a9: EXTCODESIZE 000023aa: ISZERO 000023ab: DUP1 000023ac: ISZERO 000023ad: PUSH2 0x23b4 000023b0: JUMPI 000023b1: PUSH0 000023b2: PUSH0 000023b3: REVERT 000023b4: JUMPDEST 000023b5: POP 000023b6: GAS 000023b7: CALL 000023b8: ISZERO 000023b9: DUP1 000023ba: ISZERO 000023bb: PUSH2 0x23c6 000023be: JUMPI 000023bf: RETURNDATASIZE 000023c0: PUSH0 000023c1: PUSH0 000023c2: RETURNDATACOPY 000023c3: RETURNDATASIZE 000023c4: PUSH0 000023c5: REVERT 000023c6: JUMPDEST 000023c7: POP 000023c8: POP 000023c9: POP 000023ca: POP 000023cb: ADDRESS 000023cc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000023e1: AND 000023e2: DUP9 000023e3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000023f8: AND 000023f9: EQ 000023fa: PUSH2 0x2447 000023fd: JUMPI 000023fe: PUSH0 000023ff: DUP9 00002400: SWAP1 00002401: POP 00002402: DUP1 00002403: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002418: AND 00002419: PUSH2 0x08fc 0000241c: DUP4 0000241d: SWAP1 0000241e: DUP2 0000241f: ISZERO 00002420: MUL 00002421: SWAP1 00002422: PUSH1 0x40 00002424: MLOAD 00002425: PUSH0 00002426: PUSH1 0x40 00002428: MLOAD 00002429: DUP1 0000242a: DUP4 0000242b: SUB 0000242c: DUP2 0000242d: DUP6 0000242e: DUP9 0000242f: DUP9 00002430: CALL 00002431: SWAP4 00002432: POP 00002433: POP 00002434: POP 00002435: POP 00002436: ISZERO 00002437: DUP1 00002438: ISZERO 00002439: PUSH2 0x2444 0000243c: JUMPI 0000243d: RETURNDATASIZE 0000243e: PUSH0 0000243f: PUSH0 00002440: RETURNDATACOPY 00002441: RETURNDATASIZE 00002442: PUSH0 00002443: REVERT 00002444: JUMPDEST 00002445: POP 00002446: POP 00002447: JUMPDEST 00002448: JUMPDEST 00002449: POP 0000244a: JUMPDEST 0000244b: POP 0000244c: POP 0000244d: POP 0000244e: POP 0000244f: POP 00002450: POP 00002451: POP 00002452: POP 00002453: POP 00002454: JUMP 00002455: JUMPDEST 00002456: PUSH0 00002457: PUSH0 00002458: PUSH0 00002459: DUP4 0000245a: PUSH1 0x05 0000245c: SHL 0000245d: DUP7 0000245e: ADD 0000245f: CALLDATALOAD 00002460: DUP7 00002461: ADD 00002462: DUP1 00002463: CALLDATALOAD 00002464: SWAP4 00002465: POP 00002466: PUSH1 0x20 00002468: DUP2 00002469: ADD 0000246a: SWAP3 0000246b: POP 0000246c: DUP7 0000246d: DUP4 0000246e: SUB 0000246f: SWAP2 00002470: POP 00002471: POP 00002472: DUP1 00002473: DUP4 00002474: PUSH2 0x247d 00002477: SWAP2 00002478: SWAP1 00002479: PUSH2 0x2f2b 0000247c: JUMP 0000247d: JUMPDEST 0000247e: DUP7 0000247f: DUP7 00002480: SWAP1 00002481: POP 00002482: LT 00002483: ISZERO 00002484: PUSH2 0x24b9 00002487: JUMPI 00002488: PUSH1 0x40 0000248a: MLOAD 0000248b: PUSH32 0x3b99b53d00000000000000000000000000000000000000000000000000000000 000024ac: DUP2 000024ad: MSTORE 000024ae: PUSH1 0x04 000024b0: ADD 000024b1: PUSH1 0x40 000024b3: MLOAD 000024b4: DUP1 000024b5: SWAP2 000024b6: SUB 000024b7: SWAP1 000024b8: REVERT 000024b9: JUMPDEST 000024ba: POP 000024bb: SWAP4 000024bc: POP 000024bd: SWAP4 000024be: SWAP2 000024bf: POP 000024c0: POP 000024c1: JUMP 000024c2: JUMPDEST 000024c3: PUSH0 000024c4: PUSH1 0x03 000024c6: PUSH1 0x14 000024c8: PUSH2 0x24d1 000024cb: SWAP2 000024cc: SWAP1 000024cd: PUSH2 0x2f2b 000024d0: JUMP 000024d1: JUMPDEST 000024d2: PUSH1 0x14 000024d4: PUSH1 0x03 000024d6: PUSH1 0x14 000024d8: PUSH2 0x24e1 000024db: SWAP2 000024dc: SWAP1 000024dd: PUSH2 0x2f2b 000024e0: JUMP 000024e1: JUMPDEST 000024e2: PUSH2 0x24eb 000024e5: SWAP2 000024e6: SWAP1 000024e7: PUSH2 0x2f2b 000024ea: JUMP 000024eb: JUMPDEST 000024ec: PUSH2 0x24f5 000024ef: SWAP2 000024f0: SWAP1 000024f1: PUSH2 0x2f2b 000024f4: JUMP 000024f5: JUMPDEST 000024f6: DUP4 000024f7: DUP4 000024f8: SWAP1 000024f9: POP 000024fa: LT 000024fb: ISZERO 000024fc: SWAP1 000024fd: POP 000024fe: SWAP3 000024ff: SWAP2 00002500: POP 00002501: POP 00002502: JUMP 00002503: JUMPDEST 00002504: PUSH0 00002505: PUSH0 00002506: REVERT 00002507: JUMPDEST 00002508: PUSH0 00002509: PUSH0 0000250a: REVERT 0000250b: JUMPDEST 0000250c: PUSH0 0000250d: PUSH0 0000250e: REVERT 0000250f: JUMPDEST 00002510: PUSH0 00002511: PUSH0 00002512: REVERT 00002513: JUMPDEST 00002514: PUSH0 00002515: PUSH0 00002516: REVERT 00002517: JUMPDEST 00002518: PUSH0 00002519: PUSH0 0000251a: DUP4 0000251b: PUSH1 0x1f 0000251d: DUP5 0000251e: ADD 0000251f: SLT 00002520: PUSH2 0x252c 00002523: JUMPI 00002524: PUSH2 0x252b 00002527: PUSH2 0x250b 0000252a: JUMP 0000252b: JUMPDEST 0000252c: JUMPDEST 0000252d: DUP3 0000252e: CALLDATALOAD 0000252f: SWAP1 00002530: POP 00002531: PUSH8 0xffffffffffffffff 0000253a: DUP2 0000253b: GT 0000253c: ISZERO 0000253d: PUSH2 0x2549 00002540: JUMPI 00002541: PUSH2 0x2548 00002544: PUSH2 0x250f 00002547: JUMP 00002548: JUMPDEST 00002549: JUMPDEST 0000254a: PUSH1 0x20 0000254c: DUP4 0000254d: ADD 0000254e: SWAP2 0000254f: POP 00002550: DUP4 00002551: PUSH1 0x01 00002553: DUP3 00002554: MUL 00002555: DUP4 00002556: ADD 00002557: GT 00002558: ISZERO 00002559: PUSH2 0x2565 0000255c: JUMPI 0000255d: PUSH2 0x2564 00002560: PUSH2 0x2513 00002563: JUMP 00002564: JUMPDEST 00002565: JUMPDEST 00002566: SWAP3 00002567: POP 00002568: SWAP3 00002569: SWAP1 0000256a: POP 0000256b: JUMP 0000256c: JUMPDEST 0000256d: PUSH0 0000256e: PUSH0 0000256f: PUSH0 00002570: PUSH0 00002571: PUSH1 0x40 00002573: DUP6 00002574: DUP8 00002575: SUB 00002576: SLT 00002577: ISZERO 00002578: PUSH2 0x2584 0000257b: JUMPI 0000257c: PUSH2 0x2583 0000257f: PUSH2 0x2503 00002582: JUMP 00002583: JUMPDEST 00002584: JUMPDEST 00002585: PUSH0 00002586: DUP6 00002587: ADD 00002588: CALLDATALOAD 00002589: PUSH8 0xffffffffffffffff 00002592: DUP2 00002593: GT 00002594: ISZERO 00002595: PUSH2 0x25a1 00002598: JUMPI 00002599: PUSH2 0x25a0 0000259c: PUSH2 0x2507 0000259f: JUMP 000025a0: JUMPDEST 000025a1: JUMPDEST 000025a2: PUSH2 0x25ad 000025a5: DUP8 000025a6: DUP3 000025a7: DUP9 000025a8: ADD 000025a9: PUSH2 0x2517 000025ac: JUMP 000025ad: JUMPDEST 000025ae: SWAP5 000025af: POP 000025b0: SWAP5 000025b1: POP 000025b2: POP 000025b3: PUSH1 0x20 000025b5: DUP6 000025b6: ADD 000025b7: CALLDATALOAD 000025b8: PUSH8 0xffffffffffffffff 000025c1: DUP2 000025c2: GT 000025c3: ISZERO 000025c4: PUSH2 0x25d0 000025c7: JUMPI 000025c8: PUSH2 0x25cf 000025cb: PUSH2 0x2507 000025ce: JUMP 000025cf: JUMPDEST 000025d0: JUMPDEST 000025d1: PUSH2 0x25dc 000025d4: DUP8 000025d5: DUP3 000025d6: DUP9 000025d7: ADD 000025d8: PUSH2 0x2517 000025db: JUMP 000025dc: JUMPDEST 000025dd: SWAP3 000025de: POP 000025df: SWAP3 000025e0: POP 000025e1: POP 000025e2: SWAP3 000025e3: SWAP6 000025e4: SWAP2 000025e5: SWAP5 000025e6: POP 000025e7: SWAP3 000025e8: POP 000025e9: JUMP 000025ea: JUMPDEST 000025eb: PUSH0 000025ec: DUP2 000025ed: SWAP1 000025ee: POP 000025ef: SWAP2 000025f0: SWAP1 000025f1: POP 000025f2: JUMP 000025f3: JUMPDEST 000025f4: PUSH2 0x25fc 000025f7: DUP2 000025f8: PUSH2 0x25ea 000025fb: JUMP 000025fc: JUMPDEST 000025fd: DUP2 000025fe: EQ 000025ff: PUSH2 0x2606 00002602: JUMPI 00002603: PUSH0 00002604: PUSH0 00002605: REVERT 00002606: JUMPDEST 00002607: POP 00002608: JUMP 00002609: JUMPDEST 0000260a: PUSH0 0000260b: DUP2 0000260c: CALLDATALOAD 0000260d: SWAP1 0000260e: POP 0000260f: PUSH2 0x2617 00002612: DUP2 00002613: PUSH2 0x25f3 00002616: JUMP 00002617: JUMPDEST 00002618: SWAP3 00002619: SWAP2 0000261a: POP 0000261b: POP 0000261c: JUMP 0000261d: JUMPDEST 0000261e: PUSH0 0000261f: PUSH1 0x20 00002621: DUP3 00002622: DUP5 00002623: SUB 00002624: SLT 00002625: ISZERO 00002626: PUSH2 0x2632 00002629: JUMPI 0000262a: PUSH2 0x2631 0000262d: PUSH2 0x2503 00002630: JUMP 00002631: JUMPDEST 00002632: JUMPDEST 00002633: PUSH0 00002634: PUSH2 0x263f 00002637: DUP5 00002638: DUP3 00002639: DUP6 0000263a: ADD 0000263b: PUSH2 0x2609 0000263e: JUMP 0000263f: JUMPDEST 00002640: SWAP2 00002641: POP 00002642: POP 00002643: SWAP3 00002644: SWAP2 00002645: POP 00002646: POP 00002647: JUMP 00002648: JUMPDEST 00002649: PUSH0 0000264a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000265f: DUP3 00002660: AND 00002661: SWAP1 00002662: POP 00002663: SWAP2 00002664: SWAP1 00002665: POP 00002666: JUMP 00002667: JUMPDEST 00002668: PUSH0 00002669: PUSH2 0x2671 0000266c: DUP3 0000266d: PUSH2 0x2648 00002670: JUMP 00002671: JUMPDEST 00002672: SWAP1 00002673: POP 00002674: SWAP2 00002675: SWAP1 00002676: POP 00002677: JUMP 00002678: JUMPDEST 00002679: PUSH2 0x2681 0000267c: DUP2 0000267d: PUSH2 0x2667 00002680: JUMP 00002681: JUMPDEST 00002682: DUP3 00002683: MSTORE 00002684: POP 00002685: POP 00002686: JUMP 00002687: JUMPDEST 00002688: PUSH0 00002689: PUSH1 0x20 0000268b: DUP3 0000268c: ADD 0000268d: SWAP1 0000268e: POP 0000268f: PUSH2 0x269a 00002692: PUSH0 00002693: DUP4 00002694: ADD 00002695: DUP5 00002696: PUSH2 0x2678 00002699: JUMP 0000269a: JUMPDEST 0000269b: SWAP3 0000269c: SWAP2 0000269d: POP 0000269e: POP 0000269f: JUMP 000026a0: JUMPDEST 000026a1: PUSH2 0x26a9 000026a4: DUP2 000026a5: PUSH2 0x2667 000026a8: JUMP 000026a9: JUMPDEST 000026aa: DUP2 000026ab: EQ 000026ac: PUSH2 0x26b3 000026af: JUMPI 000026b0: PUSH0 000026b1: PUSH0 000026b2: REVERT 000026b3: JUMPDEST 000026b4: POP 000026b5: JUMP 000026b6: JUMPDEST 000026b7: PUSH0 000026b8: DUP2 000026b9: CALLDATALOAD 000026ba: SWAP1 000026bb: POP 000026bc: PUSH2 0x26c4 000026bf: DUP2 000026c0: PUSH2 0x26a0 000026c3: JUMP 000026c4: JUMPDEST 000026c5: SWAP3 000026c6: SWAP2 000026c7: POP 000026c8: POP 000026c9: JUMP 000026ca: JUMPDEST 000026cb: PUSH0 000026cc: PUSH0 000026cd: PUSH1 0x40 000026cf: DUP4 000026d0: DUP6 000026d1: SUB 000026d2: SLT 000026d3: ISZERO 000026d4: PUSH2 0x26e0 000026d7: JUMPI 000026d8: PUSH2 0x26df 000026db: PUSH2 0x2503 000026de: JUMP 000026df: JUMPDEST 000026e0: JUMPDEST 000026e1: PUSH0 000026e2: PUSH2 0x26ed 000026e5: DUP6 000026e6: DUP3 000026e7: DUP7 000026e8: ADD 000026e9: PUSH2 0x26b6 000026ec: JUMP 000026ed: JUMPDEST 000026ee: SWAP3 000026ef: POP 000026f0: POP 000026f1: PUSH1 0x20 000026f3: PUSH2 0x26fe 000026f6: DUP6 000026f7: DUP3 000026f8: DUP7 000026f9: ADD 000026fa: PUSH2 0x26b6 000026fd: JUMP 000026fe: JUMPDEST 000026ff: SWAP2 00002700: POP 00002701: POP 00002702: SWAP3 00002703: POP 00002704: SWAP3 00002705: SWAP1 00002706: POP 00002707: JUMP 00002708: JUMPDEST 00002709: PUSH0 0000270a: PUSH0 0000270b: DUP4 0000270c: PUSH1 0x1f 0000270e: DUP5 0000270f: ADD 00002710: SLT 00002711: PUSH2 0x271d 00002714: JUMPI 00002715: PUSH2 0x271c 00002718: PUSH2 0x250b 0000271b: JUMP 0000271c: JUMPDEST 0000271d: JUMPDEST 0000271e: DUP3 0000271f: CALLDATALOAD 00002720: SWAP1 00002721: POP 00002722: PUSH8 0xffffffffffffffff 0000272b: DUP2 0000272c: GT 0000272d: ISZERO 0000272e: PUSH2 0x273a 00002731: JUMPI 00002732: PUSH2 0x2739 00002735: PUSH2 0x250f 00002738: JUMP 00002739: JUMPDEST 0000273a: JUMPDEST 0000273b: PUSH1 0x20 0000273d: DUP4 0000273e: ADD 0000273f: SWAP2 00002740: POP 00002741: DUP4 00002742: PUSH1 0x20 00002744: DUP3 00002745: MUL 00002746: DUP4 00002747: ADD 00002748: GT 00002749: ISZERO 0000274a: PUSH2 0x2756 0000274d: JUMPI 0000274e: PUSH2 0x2755 00002751: PUSH2 0x2513 00002754: JUMP 00002755: JUMPDEST 00002756: JUMPDEST 00002757: SWAP3 00002758: POP 00002759: SWAP3 0000275a: SWAP1 0000275b: POP 0000275c: JUMP 0000275d: JUMPDEST 0000275e: PUSH0 0000275f: PUSH0 00002760: PUSH0 00002761: PUSH0 00002762: PUSH0 00002763: PUSH0 00002764: PUSH1 0x60 00002766: DUP8 00002767: DUP10 00002768: SUB 00002769: SLT 0000276a: ISZERO 0000276b: PUSH2 0x2777 0000276e: JUMPI 0000276f: PUSH2 0x2776 00002772: PUSH2 0x2503 00002775: JUMP 00002776: JUMPDEST 00002777: JUMPDEST 00002778: PUSH0 00002779: DUP8 0000277a: ADD 0000277b: CALLDATALOAD 0000277c: PUSH8 0xffffffffffffffff 00002785: DUP2 00002786: GT 00002787: ISZERO 00002788: PUSH2 0x2794 0000278b: JUMPI 0000278c: PUSH2 0x2793 0000278f: PUSH2 0x2507 00002792: JUMP 00002793: JUMPDEST 00002794: JUMPDEST 00002795: PUSH2 0x27a0 00002798: DUP10 00002799: DUP3 0000279a: DUP11 0000279b: ADD 0000279c: PUSH2 0x2517 0000279f: JUMP 000027a0: JUMPDEST 000027a1: SWAP7 000027a2: POP 000027a3: SWAP7 000027a4: POP 000027a5: POP 000027a6: PUSH1 0x20 000027a8: DUP8 000027a9: ADD 000027aa: CALLDATALOAD 000027ab: PUSH8 0xffffffffffffffff 000027b4: DUP2 000027b5: GT 000027b6: ISZERO 000027b7: PUSH2 0x27c3 000027ba: JUMPI 000027bb: PUSH2 0x27c2 000027be: PUSH2 0x2507 000027c1: JUMP 000027c2: JUMPDEST 000027c3: JUMPDEST 000027c4: PUSH2 0x27cf 000027c7: DUP10 000027c8: DUP3 000027c9: DUP11 000027ca: ADD 000027cb: PUSH2 0x2517 000027ce: JUMP 000027cf: JUMPDEST 000027d0: SWAP5 000027d1: POP 000027d2: SWAP5 000027d3: POP 000027d4: POP 000027d5: PUSH1 0x40 000027d7: DUP8 000027d8: ADD 000027d9: CALLDATALOAD 000027da: PUSH8 0xffffffffffffffff 000027e3: DUP2 000027e4: GT 000027e5: ISZERO 000027e6: PUSH2 0x27f2 000027e9: JUMPI 000027ea: PUSH2 0x27f1 000027ed: PUSH2 0x2507 000027f0: JUMP 000027f1: JUMPDEST 000027f2: JUMPDEST 000027f3: PUSH2 0x27fe 000027f6: DUP10 000027f7: DUP3 000027f8: DUP11 000027f9: ADD 000027fa: PUSH2 0x2708 000027fd: JUMP 000027fe: JUMPDEST 000027ff: SWAP3 00002800: POP 00002801: SWAP3 00002802: POP 00002803: POP 00002804: SWAP3 00002805: SWAP6 00002806: POP 00002807: SWAP3 00002808: SWAP6 00002809: POP 0000280a: SWAP3 0000280b: SWAP6 0000280c: JUMP 0000280d: JUMPDEST 0000280e: PUSH0 0000280f: DUP2 00002810: ISZERO 00002811: ISZERO 00002812: SWAP1 00002813: POP 00002814: SWAP2 00002815: SWAP1 00002816: POP 00002817: JUMP 00002818: JUMPDEST 00002819: PUSH2 0x2821 0000281c: DUP2 0000281d: PUSH2 0x280d 00002820: JUMP 00002821: JUMPDEST 00002822: DUP2 00002823: EQ 00002824: PUSH2 0x282b 00002827: JUMPI 00002828: PUSH0 00002829: PUSH0 0000282a: REVERT 0000282b: JUMPDEST 0000282c: POP 0000282d: JUMP 0000282e: JUMPDEST 0000282f: PUSH0 00002830: DUP2 00002831: CALLDATALOAD 00002832: SWAP1 00002833: POP 00002834: PUSH2 0x283c 00002837: DUP2 00002838: PUSH2 0x2818 0000283b: JUMP 0000283c: JUMPDEST 0000283d: SWAP3 0000283e: SWAP2 0000283f: POP 00002840: POP 00002841: JUMP 00002842: JUMPDEST 00002843: PUSH0 00002844: PUSH0 00002845: PUSH1 0x40 00002847: DUP4 00002848: DUP6 00002849: SUB 0000284a: SLT 0000284b: ISZERO 0000284c: PUSH2 0x2858 0000284f: JUMPI 00002850: PUSH2 0x2857 00002853: PUSH2 0x2503 00002856: JUMP 00002857: JUMPDEST 00002858: JUMPDEST 00002859: PUSH0 0000285a: PUSH2 0x2865 0000285d: DUP6 0000285e: DUP3 0000285f: DUP7 00002860: ADD 00002861: PUSH2 0x26b6 00002864: JUMP 00002865: JUMPDEST 00002866: SWAP3 00002867: POP 00002868: POP 00002869: PUSH1 0x20 0000286b: PUSH2 0x2876 0000286e: DUP6 0000286f: DUP3 00002870: DUP7 00002871: ADD 00002872: PUSH2 0x282e 00002875: JUMP 00002876: JUMPDEST 00002877: SWAP2 00002878: POP 00002879: POP 0000287a: SWAP3 0000287b: POP 0000287c: SWAP3 0000287d: SWAP1 0000287e: POP 0000287f: JUMP 00002880: JUMPDEST 00002881: PUSH0 00002882: DUP3 00002883: DUP3 00002884: MSTORE 00002885: PUSH1 0x20 00002887: DUP3 00002888: ADD 00002889: SWAP1 0000288a: POP 0000288b: SWAP3 0000288c: SWAP2 0000288d: POP 0000288e: POP 0000288f: JUMP 00002890: JUMPDEST 00002891: PUSH32 0x4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572 000028b2: PUSH0 000028b3: DUP3 000028b4: ADD 000028b5: MSTORE 000028b6: POP 000028b7: JUMP 000028b8: JUMPDEST 000028b9: PUSH0 000028ba: PUSH2 0x28c4 000028bd: PUSH1 0x20 000028bf: DUP4 000028c0: PUSH2 0x2880 000028c3: JUMP 000028c4: JUMPDEST 000028c5: SWAP2 000028c6: POP 000028c7: PUSH2 0x28cf 000028ca: DUP3 000028cb: PUSH2 0x2890 000028ce: JUMP 000028cf: JUMPDEST 000028d0: PUSH1 0x20 000028d2: DUP3 000028d3: ADD 000028d4: SWAP1 000028d5: POP 000028d6: SWAP2 000028d7: SWAP1 000028d8: POP 000028d9: JUMP 000028da: JUMPDEST 000028db: PUSH0 000028dc: PUSH1 0x20 000028de: DUP3 000028df: ADD 000028e0: SWAP1 000028e1: POP 000028e2: DUP2 000028e3: DUP2 000028e4: SUB 000028e5: PUSH0 000028e6: DUP4 000028e7: ADD 000028e8: MSTORE 000028e9: PUSH2 0x28f1 000028ec: DUP2 000028ed: PUSH2 0x28b8 000028f0: JUMP 000028f1: JUMPDEST 000028f2: SWAP1 000028f3: POP 000028f4: SWAP2 000028f5: SWAP1 000028f6: POP 000028f7: JUMP 000028f8: JUMPDEST 000028f9: PUSH32 0x696e73756666696369656e74206574682062616c616e63650000000000000000 0000291a: PUSH0 0000291b: DUP3 0000291c: ADD 0000291d: MSTORE 0000291e: POP 0000291f: JUMP 00002920: JUMPDEST 00002921: PUSH0 00002922: PUSH2 0x292c 00002925: PUSH1 0x18 00002927: DUP4 00002928: PUSH2 0x2880 0000292b: JUMP 0000292c: JUMPDEST 0000292d: SWAP2 0000292e: POP 0000292f: PUSH2 0x2937 00002932: DUP3 00002933: PUSH2 0x28f8 00002936: JUMP 00002937: JUMPDEST 00002938: PUSH1 0x20 0000293a: DUP3 0000293b: ADD 0000293c: SWAP1 0000293d: POP 0000293e: SWAP2 0000293f: SWAP1 00002940: POP 00002941: JUMP 00002942: JUMPDEST 00002943: PUSH0 00002944: PUSH1 0x20 00002946: DUP3 00002947: ADD 00002948: SWAP1 00002949: POP 0000294a: DUP2 0000294b: DUP2 0000294c: SUB 0000294d: PUSH0 0000294e: DUP4 0000294f: ADD 00002950: MSTORE 00002951: PUSH2 0x2959 00002954: DUP2 00002955: PUSH2 0x2920 00002958: JUMP 00002959: JUMPDEST 0000295a: SWAP1 0000295b: POP 0000295c: SWAP2 0000295d: SWAP1 0000295e: POP 0000295f: JUMP 00002960: JUMPDEST 00002961: PUSH0 00002962: DUP2 00002963: MLOAD 00002964: SWAP1 00002965: POP 00002966: PUSH2 0x296e 00002969: DUP2 0000296a: PUSH2 0x25f3 0000296d: JUMP 0000296e: JUMPDEST 0000296f: SWAP3 00002970: SWAP2 00002971: POP 00002972: POP 00002973: JUMP 00002974: JUMPDEST 00002975: PUSH0 00002976: PUSH1 0x20 00002978: DUP3 00002979: DUP5 0000297a: SUB 0000297b: SLT 0000297c: ISZERO 0000297d: PUSH2 0x2989 00002980: JUMPI 00002981: PUSH2 0x2988 00002984: PUSH2 0x2503 00002987: JUMP 00002988: JUMPDEST 00002989: JUMPDEST 0000298a: PUSH0 0000298b: PUSH2 0x2996 0000298e: DUP5 0000298f: DUP3 00002990: DUP6 00002991: ADD 00002992: PUSH2 0x2960 00002995: JUMP 00002996: JUMPDEST 00002997: SWAP2 00002998: POP 00002999: POP 0000299a: SWAP3 0000299b: SWAP2 0000299c: POP 0000299d: POP 0000299e: JUMP 0000299f: JUMPDEST 000029a0: PUSH2 0x29a8 000029a3: DUP2 000029a4: PUSH2 0x25ea 000029a7: JUMP 000029a8: JUMPDEST 000029a9: DUP3 000029aa: MSTORE 000029ab: POP 000029ac: POP 000029ad: JUMP 000029ae: JUMPDEST 000029af: PUSH0 000029b0: PUSH1 0x40 000029b2: DUP3 000029b3: ADD 000029b4: SWAP1 000029b5: POP 000029b6: PUSH2 0x29c1 000029b9: PUSH0 000029ba: DUP4 000029bb: ADD 000029bc: DUP6 000029bd: PUSH2 0x2678 000029c0: JUMP 000029c1: JUMPDEST 000029c2: PUSH2 0x29ce 000029c5: PUSH1 0x20 000029c7: DUP4 000029c8: ADD 000029c9: DUP5 000029ca: PUSH2 0x299f 000029cd: JUMP 000029ce: JUMPDEST 000029cf: SWAP4 000029d0: SWAP3 000029d1: POP 000029d2: POP 000029d3: POP 000029d4: JUMP 000029d5: JUMPDEST 000029d6: PUSH0 000029d7: DUP2 000029d8: MLOAD 000029d9: SWAP1 000029da: POP 000029db: PUSH2 0x29e3 000029de: DUP2 000029df: PUSH2 0x2818 000029e2: JUMP 000029e3: JUMPDEST 000029e4: SWAP3 000029e5: SWAP2 000029e6: POP 000029e7: POP 000029e8: JUMP 000029e9: JUMPDEST 000029ea: PUSH0 000029eb: PUSH1 0x20 000029ed: DUP3 000029ee: DUP5 000029ef: SUB 000029f0: SLT 000029f1: ISZERO 000029f2: PUSH2 0x29fe 000029f5: JUMPI 000029f6: PUSH2 0x29fd 000029f9: PUSH2 0x2503 000029fc: JUMP 000029fd: JUMPDEST 000029fe: JUMPDEST 000029ff: PUSH0 00002a00: PUSH2 0x2a0b 00002a03: DUP5 00002a04: DUP3 00002a05: DUP6 00002a06: ADD 00002a07: PUSH2 0x29d5 00002a0a: JUMP 00002a0b: JUMPDEST 00002a0c: SWAP2 00002a0d: POP 00002a0e: POP 00002a0f: SWAP3 00002a10: SWAP2 00002a11: POP 00002a12: POP 00002a13: JUMP 00002a14: JUMPDEST 00002a15: PUSH32 0x63616e206e6f7400000000000000000000000000000000000000000000000000 00002a36: PUSH0 00002a37: DUP3 00002a38: ADD 00002a39: MSTORE 00002a3a: POP 00002a3b: JUMP 00002a3c: JUMPDEST 00002a3d: PUSH0 00002a3e: PUSH2 0x2a48 00002a41: PUSH1 0x07 00002a43: DUP4 00002a44: PUSH2 0x2880 00002a47: JUMP 00002a48: JUMPDEST 00002a49: SWAP2 00002a4a: POP 00002a4b: PUSH2 0x2a53 00002a4e: DUP3 00002a4f: PUSH2 0x2a14 00002a52: JUMP 00002a53: JUMPDEST 00002a54: PUSH1 0x20 00002a56: DUP3 00002a57: ADD 00002a58: SWAP1 00002a59: POP 00002a5a: SWAP2 00002a5b: SWAP1 00002a5c: POP 00002a5d: JUMP 00002a5e: JUMPDEST 00002a5f: PUSH0 00002a60: PUSH1 0x20 00002a62: DUP3 00002a63: ADD 00002a64: SWAP1 00002a65: POP 00002a66: DUP2 00002a67: DUP2 00002a68: SUB 00002a69: PUSH0 00002a6a: DUP4 00002a6b: ADD 00002a6c: MSTORE 00002a6d: PUSH2 0x2a75 00002a70: DUP2 00002a71: PUSH2 0x2a3c 00002a74: JUMP 00002a75: JUMPDEST 00002a76: SWAP1 00002a77: POP 00002a78: SWAP2 00002a79: SWAP1 00002a7a: POP 00002a7b: JUMP 00002a7c: JUMPDEST 00002a7d: PUSH32 0x535446206572726f720000000000000000000000000000000000000000000000 00002a9e: PUSH0 00002a9f: DUP3 00002aa0: ADD 00002aa1: MSTORE 00002aa2: POP 00002aa3: JUMP 00002aa4: JUMPDEST 00002aa5: PUSH0 00002aa6: PUSH2 0x2ab0 00002aa9: PUSH1 0x09 00002aab: DUP4 00002aac: PUSH2 0x2880 00002aaf: JUMP 00002ab0: JUMPDEST 00002ab1: SWAP2 00002ab2: POP 00002ab3: PUSH2 0x2abb 00002ab6: DUP3 00002ab7: PUSH2 0x2a7c 00002aba: JUMP 00002abb: JUMPDEST 00002abc: PUSH1 0x20 00002abe: DUP3 00002abf: ADD 00002ac0: SWAP1 00002ac1: POP 00002ac2: SWAP2 00002ac3: SWAP1 00002ac4: POP 00002ac5: JUMP 00002ac6: JUMPDEST 00002ac7: PUSH0 00002ac8: PUSH1 0x20 00002aca: DUP3 00002acb: ADD 00002acc: SWAP1 00002acd: POP 00002ace: DUP2 00002acf: DUP2 00002ad0: SUB 00002ad1: PUSH0 00002ad2: DUP4 00002ad3: ADD 00002ad4: MSTORE 00002ad5: PUSH2 0x2add 00002ad8: DUP2 00002ad9: PUSH2 0x2aa4 00002adc: JUMP 00002add: JUMPDEST 00002ade: SWAP1 00002adf: POP 00002ae0: SWAP2 00002ae1: SWAP1 00002ae2: POP 00002ae3: JUMP 00002ae4: JUMPDEST 00002ae5: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00002b06: PUSH0 00002b07: MSTORE 00002b08: PUSH1 0x32 00002b0a: PUSH1 0x04 00002b0c: MSTORE 00002b0d: PUSH1 0x24 00002b0f: PUSH0 00002b10: REVERT 00002b11: JUMPDEST 00002b12: PUSH0 00002b13: PUSH0 00002b14: REVERT 00002b15: JUMPDEST 00002b16: PUSH0 00002b17: PUSH0 00002b18: REVERT 00002b19: JUMPDEST 00002b1a: PUSH0 00002b1b: PUSH0 00002b1c: REVERT 00002b1d: JUMPDEST 00002b1e: PUSH0 00002b1f: PUSH0 00002b20: DUP4 00002b21: CALLDATALOAD 00002b22: PUSH1 0x01 00002b24: PUSH1 0x20 00002b26: SUB 00002b27: DUP5 00002b28: CALLDATASIZE 00002b29: SUB 00002b2a: SUB 00002b2b: DUP2 00002b2c: SLT 00002b2d: PUSH2 0x2b39 00002b30: JUMPI 00002b31: PUSH2 0x2b38 00002b34: PUSH2 0x2b11 00002b37: JUMP 00002b38: JUMPDEST 00002b39: JUMPDEST 00002b3a: DUP1 00002b3b: DUP5 00002b3c: ADD 00002b3d: SWAP3 00002b3e: POP 00002b3f: DUP3 00002b40: CALLDATALOAD 00002b41: SWAP2 00002b42: POP 00002b43: PUSH8 0xffffffffffffffff 00002b4c: DUP3 00002b4d: GT 00002b4e: ISZERO 00002b4f: PUSH2 0x2b5b 00002b52: JUMPI 00002b53: PUSH2 0x2b5a 00002b56: PUSH2 0x2b15 00002b59: JUMP 00002b5a: JUMPDEST 00002b5b: JUMPDEST 00002b5c: PUSH1 0x20 00002b5e: DUP4 00002b5f: ADD 00002b60: SWAP3 00002b61: POP 00002b62: PUSH1 0x01 00002b64: DUP3 00002b65: MUL 00002b66: CALLDATASIZE 00002b67: SUB 00002b68: DUP4 00002b69: SGT 00002b6a: ISZERO 00002b6b: PUSH2 0x2b77 00002b6e: JUMPI 00002b6f: PUSH2 0x2b76 00002b72: PUSH2 0x2b19 00002b75: JUMP 00002b76: JUMPDEST 00002b77: JUMPDEST 00002b78: POP 00002b79: SWAP3 00002b7a: POP 00002b7b: SWAP3 00002b7c: SWAP1 00002b7d: POP 00002b7e: JUMP 00002b7f: JUMPDEST 00002b80: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00002ba1: PUSH0 00002ba2: MSTORE 00002ba3: PUSH1 0x11 00002ba5: PUSH1 0x04 00002ba7: MSTORE 00002ba8: PUSH1 0x24 00002baa: PUSH0 00002bab: REVERT 00002bac: JUMPDEST 00002bad: PUSH0 00002bae: PUSH2 0x2bb6 00002bb1: DUP3 00002bb2: PUSH2 0x25ea 00002bb5: JUMP 00002bb6: JUMPDEST 00002bb7: SWAP2 00002bb8: POP 00002bb9: PUSH2 0x2bc1 00002bbc: DUP4 00002bbd: PUSH2 0x25ea 00002bc0: JUMP 00002bc1: JUMPDEST 00002bc2: SWAP3 00002bc3: POP 00002bc4: DUP3 00002bc5: DUP3 00002bc6: MUL 00002bc7: PUSH2 0x2bcf 00002bca: DUP2 00002bcb: PUSH2 0x25ea 00002bce: JUMP 00002bcf: JUMPDEST 00002bd0: SWAP2 00002bd1: POP 00002bd2: DUP3 00002bd3: DUP3 00002bd4: DIV 00002bd5: DUP5 00002bd6: EQ 00002bd7: DUP4 00002bd8: ISZERO 00002bd9: OR 00002bda: PUSH2 0x2be6 00002bdd: JUMPI 00002bde: PUSH2 0x2be5 00002be1: PUSH2 0x2b7f 00002be4: JUMP 00002be5: JUMPDEST 00002be6: JUMPDEST 00002be7: POP 00002be8: SWAP3 00002be9: SWAP2 00002bea: POP 00002beb: POP 00002bec: JUMP 00002bed: JUMPDEST 00002bee: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00002c0f: PUSH0 00002c10: MSTORE 00002c11: PUSH1 0x12 00002c13: PUSH1 0x04 00002c15: MSTORE 00002c16: PUSH1 0x24 00002c18: PUSH0 00002c19: REVERT 00002c1a: JUMPDEST 00002c1b: PUSH0 00002c1c: PUSH2 0x2c24 00002c1f: DUP3 00002c20: PUSH2 0x25ea 00002c23: JUMP 00002c24: JUMPDEST 00002c25: SWAP2 00002c26: POP 00002c27: PUSH2 0x2c2f 00002c2a: DUP4 00002c2b: PUSH2 0x25ea 00002c2e: JUMP 00002c2f: JUMPDEST 00002c30: SWAP3 00002c31: POP 00002c32: DUP3 00002c33: PUSH2 0x2c3f 00002c36: JUMPI 00002c37: PUSH2 0x2c3e 00002c3a: PUSH2 0x2bed 00002c3d: JUMP 00002c3e: JUMPDEST 00002c3f: JUMPDEST 00002c40: DUP3 00002c41: DUP3 00002c42: DIV 00002c43: SWAP1 00002c44: POP 00002c45: SWAP3 00002c46: SWAP2 00002c47: POP 00002c48: POP 00002c49: JUMP 00002c4a: JUMPDEST 00002c4b: PUSH0 00002c4c: PUSH1 0x60 00002c4e: DUP3 00002c4f: ADD 00002c50: SWAP1 00002c51: POP 00002c52: PUSH2 0x2c5d 00002c55: PUSH0 00002c56: DUP4 00002c57: ADD 00002c58: DUP7 00002c59: PUSH2 0x2678 00002c5c: JUMP 00002c5d: JUMPDEST 00002c5e: PUSH2 0x2c6a 00002c61: PUSH1 0x20 00002c63: DUP4 00002c64: ADD 00002c65: DUP6 00002c66: PUSH2 0x2678 00002c69: JUMP 00002c6a: JUMPDEST 00002c6b: PUSH2 0x2c77 00002c6e: PUSH1 0x40 00002c70: DUP4 00002c71: ADD 00002c72: DUP5 00002c73: PUSH2 0x299f 00002c76: JUMP 00002c77: JUMPDEST 00002c78: SWAP5 00002c79: SWAP4 00002c7a: POP 00002c7b: POP 00002c7c: POP 00002c7d: POP 00002c7e: JUMP 00002c7f: JUMPDEST 00002c80: PUSH32 0x696e73756666696369656e7420746f6b656e2062616c616e6365000000000000 00002ca1: PUSH0 00002ca2: DUP3 00002ca3: ADD 00002ca4: MSTORE 00002ca5: POP 00002ca6: JUMP 00002ca7: JUMPDEST 00002ca8: PUSH0 00002ca9: PUSH2 0x2cb3 00002cac: PUSH1 0x1a 00002cae: DUP4 00002caf: PUSH2 0x2880 00002cb2: JUMP 00002cb3: JUMPDEST 00002cb4: SWAP2 00002cb5: POP 00002cb6: PUSH2 0x2cbe 00002cb9: DUP3 00002cba: PUSH2 0x2c7f 00002cbd: JUMP 00002cbe: JUMPDEST 00002cbf: PUSH1 0x20 00002cc1: DUP3 00002cc2: ADD 00002cc3: SWAP1 00002cc4: POP 00002cc5: SWAP2 00002cc6: SWAP1 00002cc7: POP 00002cc8: JUMP 00002cc9: JUMPDEST 00002cca: PUSH0 00002ccb: PUSH1 0x20 00002ccd: DUP3 00002cce: ADD 00002ccf: SWAP1 00002cd0: POP 00002cd1: DUP2 00002cd2: DUP2 00002cd3: SUB 00002cd4: PUSH0 00002cd5: DUP4 00002cd6: ADD 00002cd7: MSTORE 00002cd8: PUSH2 0x2ce0 00002cdb: DUP2 00002cdc: PUSH2 0x2ca7 00002cdf: JUMP 00002ce0: JUMPDEST 00002ce1: SWAP1 00002ce2: POP 00002ce3: SWAP2 00002ce4: SWAP1 00002ce5: POP 00002ce6: JUMP 00002ce7: JUMPDEST 00002ce8: PUSH0 00002ce9: DUP2 00002cea: SWAP1 00002ceb: POP 00002cec: SWAP2 00002ced: SWAP1 00002cee: POP 00002cef: JUMP 00002cf0: JUMPDEST 00002cf1: PUSH0 00002cf2: PUSH1 0xff 00002cf4: DUP3 00002cf5: AND 00002cf6: SWAP1 00002cf7: POP 00002cf8: SWAP2 00002cf9: SWAP1 00002cfa: POP 00002cfb: JUMP 00002cfc: JUMPDEST 00002cfd: PUSH0 00002cfe: DUP2 00002cff: SWAP1 00002d00: POP 00002d01: SWAP2 00002d02: SWAP1 00002d03: POP 00002d04: JUMP 00002d05: JUMPDEST 00002d06: PUSH0 00002d07: PUSH2 0x2d1f 00002d0a: PUSH2 0x2d1a 00002d0d: PUSH2 0x2d15 00002d10: DUP5 00002d11: PUSH2 0x2ce7 00002d14: JUMP 00002d15: JUMPDEST 00002d16: PUSH2 0x2cfc 00002d19: JUMP 00002d1a: JUMPDEST 00002d1b: PUSH2 0x2cf0 00002d1e: JUMP 00002d1f: JUMPDEST 00002d20: SWAP1 00002d21: POP 00002d22: SWAP2 00002d23: SWAP1 00002d24: POP 00002d25: JUMP 00002d26: JUMPDEST 00002d27: PUSH2 0x2d2f 00002d2a: DUP2 00002d2b: PUSH2 0x2d05 00002d2e: JUMP 00002d2f: JUMPDEST 00002d30: DUP3 00002d31: MSTORE 00002d32: POP 00002d33: POP 00002d34: JUMP 00002d35: JUMPDEST 00002d36: PUSH0 00002d37: PUSH1 0x60 00002d39: DUP3 00002d3a: ADD 00002d3b: SWAP1 00002d3c: POP 00002d3d: PUSH2 0x2d48 00002d40: PUSH0 00002d41: DUP4 00002d42: ADD 00002d43: DUP7 00002d44: PUSH2 0x2678 00002d47: JUMP 00002d48: JUMPDEST 00002d49: PUSH2 0x2d55 00002d4c: PUSH1 0x20 00002d4e: DUP4 00002d4f: ADD 00002d50: DUP6 00002d51: PUSH2 0x2678 00002d54: JUMP 00002d55: JUMPDEST 00002d56: PUSH2 0x2d62 00002d59: PUSH1 0x40 00002d5b: DUP4 00002d5c: ADD 00002d5d: DUP5 00002d5e: PUSH2 0x2d26 00002d61: JUMP 00002d62: JUMPDEST 00002d63: SWAP5 00002d64: SWAP4 00002d65: POP 00002d66: POP 00002d67: POP 00002d68: POP 00002d69: JUMP 00002d6a: JUMPDEST 00002d6b: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00002d8c: PUSH0 00002d8d: MSTORE 00002d8e: PUSH1 0x41 00002d90: PUSH1 0x04 00002d92: MSTORE 00002d93: PUSH1 0x24 00002d95: PUSH0 00002d96: REVERT 00002d97: JUMPDEST 00002d98: PUSH0 00002d99: PUSH32 0xff00000000000000000000000000000000000000000000000000000000000000 00002dba: DUP3 00002dbb: AND 00002dbc: SWAP1 00002dbd: POP 00002dbe: SWAP2 00002dbf: SWAP1 00002dc0: POP 00002dc1: JUMP 00002dc2: JUMPDEST 00002dc3: PUSH0 00002dc4: DUP2 00002dc5: SWAP1 00002dc6: POP 00002dc7: SWAP2 00002dc8: SWAP1 00002dc9: POP 00002dca: JUMP 00002dcb: JUMPDEST 00002dcc: PUSH2 0x2ddc 00002dcf: PUSH2 0x2dd7 00002dd2: DUP3 00002dd3: PUSH2 0x2d97 00002dd6: JUMP 00002dd7: JUMPDEST 00002dd8: PUSH2 0x2dc2 00002ddb: JUMP 00002ddc: JUMPDEST 00002ddd: DUP3 00002dde: MSTORE 00002ddf: POP 00002de0: POP 00002de1: JUMP 00002de2: JUMPDEST 00002de3: PUSH0 00002de4: PUSH2 0x2ded 00002de7: DUP3 00002de8: DUP6 00002de9: PUSH2 0x2dcb 00002dec: JUMP 00002ded: JUMPDEST 00002dee: PUSH1 0x01 00002df0: DUP3 00002df1: ADD 00002df2: SWAP2 00002df3: POP 00002df4: PUSH2 0x2dfd 00002df7: DUP3 00002df8: DUP5 00002df9: PUSH2 0x2dcb 00002dfc: JUMP 00002dfd: JUMPDEST 00002dfe: PUSH1 0x01 00002e00: DUP3 00002e01: ADD 00002e02: SWAP2 00002e03: POP 00002e04: DUP2 00002e05: SWAP1 00002e06: POP 00002e07: SWAP4 00002e08: SWAP3 00002e09: POP 00002e0a: POP 00002e0b: POP 00002e0c: JUMP 00002e0d: JUMPDEST 00002e0e: PUSH0 00002e0f: DUP2 00002e10: MLOAD 00002e11: SWAP1 00002e12: POP 00002e13: SWAP2 00002e14: SWAP1 00002e15: POP 00002e16: JUMP 00002e17: JUMPDEST 00002e18: PUSH0 00002e19: DUP3 00002e1a: DUP3 00002e1b: MSTORE 00002e1c: PUSH1 0x20 00002e1e: DUP3 00002e1f: ADD 00002e20: SWAP1 00002e21: POP 00002e22: SWAP3 00002e23: SWAP2 00002e24: POP 00002e25: POP 00002e26: JUMP 00002e27: JUMPDEST 00002e28: PUSH0 00002e29: DUP2 00002e2a: SWAP1 00002e2b: POP 00002e2c: PUSH1 0x20 00002e2e: DUP3 00002e2f: ADD 00002e30: SWAP1 00002e31: POP 00002e32: SWAP2 00002e33: SWAP1 00002e34: POP 00002e35: JUMP 00002e36: JUMPDEST 00002e37: PUSH2 0x2e3f 00002e3a: DUP2 00002e3b: PUSH2 0x2667 00002e3e: JUMP 00002e3f: JUMPDEST 00002e40: DUP3 00002e41: MSTORE 00002e42: POP 00002e43: POP 00002e44: JUMP 00002e45: JUMPDEST 00002e46: PUSH0 00002e47: PUSH2 0x2e50 00002e4a: DUP4 00002e4b: DUP4 00002e4c: PUSH2 0x2e36 00002e4f: JUMP 00002e50: JUMPDEST 00002e51: PUSH1 0x20 00002e53: DUP4 00002e54: ADD 00002e55: SWAP1 00002e56: POP 00002e57: SWAP3 00002e58: SWAP2 00002e59: POP 00002e5a: POP 00002e5b: JUMP 00002e5c: JUMPDEST 00002e5d: PUSH0 00002e5e: PUSH1 0x20 00002e60: DUP3 00002e61: ADD 00002e62: SWAP1 00002e63: POP 00002e64: SWAP2 00002e65: SWAP1 00002e66: POP 00002e67: JUMP 00002e68: JUMPDEST 00002e69: PUSH0 00002e6a: PUSH2 0x2e72 00002e6d: DUP3 00002e6e: PUSH2 0x2e0d 00002e71: JUMP 00002e72: JUMPDEST 00002e73: PUSH2 0x2e7c 00002e76: DUP2 00002e77: DUP6 00002e78: PUSH2 0x2e17 00002e7b: JUMP 00002e7c: JUMPDEST 00002e7d: SWAP4 00002e7e: POP 00002e7f: PUSH2 0x2e87 00002e82: DUP4 00002e83: PUSH2 0x2e27 00002e86: JUMP 00002e87: JUMPDEST 00002e88: DUP1 00002e89: PUSH0 00002e8a: JUMPDEST 00002e8b: DUP4 00002e8c: DUP2 00002e8d: LT 00002e8e: ISZERO 00002e8f: PUSH2 0x2eb7 00002e92: JUMPI 00002e93: DUP2 00002e94: MLOAD 00002e95: PUSH2 0x2e9e 00002e98: DUP9 00002e99: DUP3 00002e9a: PUSH2 0x2e45 00002e9d: JUMP 00002e9e: JUMPDEST 00002e9f: SWAP8 00002ea0: POP 00002ea1: PUSH2 0x2ea9 00002ea4: DUP4 00002ea5: PUSH2 0x2e5c 00002ea8: JUMP 00002ea9: JUMPDEST 00002eaa: SWAP3 00002eab: POP 00002eac: POP 00002ead: PUSH1 0x01 00002eaf: DUP2 00002eb0: ADD 00002eb1: SWAP1 00002eb2: POP 00002eb3: PUSH2 0x2e8a 00002eb6: JUMP 00002eb7: JUMPDEST 00002eb8: POP 00002eb9: DUP6 00002eba: SWAP4 00002ebb: POP 00002ebc: POP 00002ebd: POP 00002ebe: POP 00002ebf: SWAP3 00002ec0: SWAP2 00002ec1: POP 00002ec2: POP 00002ec3: JUMP 00002ec4: JUMPDEST 00002ec5: PUSH2 0x2ecd 00002ec8: DUP2 00002ec9: PUSH2 0x280d 00002ecc: JUMP 00002ecd: JUMPDEST 00002ece: DUP3 00002ecf: MSTORE 00002ed0: POP 00002ed1: POP 00002ed2: JUMP 00002ed3: JUMPDEST 00002ed4: PUSH0 00002ed5: PUSH1 0xa0 00002ed7: DUP3 00002ed8: ADD 00002ed9: SWAP1 00002eda: POP 00002edb: PUSH2 0x2ee6 00002ede: PUSH0 00002edf: DUP4 00002ee0: ADD 00002ee1: DUP9 00002ee2: PUSH2 0x2678 00002ee5: JUMP 00002ee6: JUMPDEST 00002ee7: PUSH2 0x2ef3 00002eea: PUSH1 0x20 00002eec: DUP4 00002eed: ADD 00002eee: DUP8 00002eef: PUSH2 0x299f 00002ef2: JUMP 00002ef3: JUMPDEST 00002ef4: PUSH2 0x2f00 00002ef7: PUSH1 0x40 00002ef9: DUP4 00002efa: ADD 00002efb: DUP7 00002efc: PUSH2 0x2d26 00002eff: JUMP 00002f00: JUMPDEST 00002f01: DUP2 00002f02: DUP2 00002f03: SUB 00002f04: PUSH1 0x60 00002f06: DUP4 00002f07: ADD 00002f08: MSTORE 00002f09: PUSH2 0x2f12 00002f0c: DUP2 00002f0d: DUP6 00002f0e: PUSH2 0x2e68 00002f11: JUMP 00002f12: JUMPDEST 00002f13: SWAP1 00002f14: POP 00002f15: PUSH2 0x2f21 00002f18: PUSH1 0x80 00002f1a: DUP4 00002f1b: ADD 00002f1c: DUP5 00002f1d: PUSH2 0x2ec4 00002f20: JUMP 00002f21: JUMPDEST 00002f22: SWAP7 00002f23: SWAP6 00002f24: POP 00002f25: POP 00002f26: POP 00002f27: POP 00002f28: POP 00002f29: POP 00002f2a: JUMP 00002f2b: JUMPDEST 00002f2c: PUSH0 00002f2d: PUSH2 0x2f35 00002f30: DUP3 00002f31: PUSH2 0x25ea 00002f34: JUMP 00002f35: JUMPDEST 00002f36: SWAP2 00002f37: POP 00002f38: PUSH2 0x2f40 00002f3b: DUP4 00002f3c: PUSH2 0x25ea 00002f3f: JUMP 00002f40: JUMPDEST 00002f41: SWAP3 00002f42: POP 00002f43: DUP3 00002f44: DUP3 00002f45: ADD 00002f46: SWAP1 00002f47: POP 00002f48: DUP1 00002f49: DUP3 00002f4a: GT 00002f4b: ISZERO 00002f4c: PUSH2 0x2f58 00002f4f: JUMPI 00002f50: PUSH2 0x2f57 00002f53: PUSH2 0x2b7f 00002f56: JUMP 00002f57: JUMPDEST 00002f58: JUMPDEST 00002f59: SWAP3 00002f5a: SWAP2 00002f5b: POP 00002f5c: POP 00002f5d: JUMP 00002f5e: JUMPDEST 00002f5f: PUSH0 00002f60: DUP2 00002f61: MLOAD 00002f62: SWAP1 00002f63: POP 00002f64: SWAP2 00002f65: SWAP1 00002f66: POP 00002f67: JUMP 00002f68: JUMPDEST 00002f69: PUSH0 00002f6a: DUP3 00002f6b: DUP3 00002f6c: MSTORE 00002f6d: PUSH1 0x20 00002f6f: DUP3 00002f70: ADD 00002f71: SWAP1 00002f72: POP 00002f73: SWAP3 00002f74: SWAP2 00002f75: POP 00002f76: POP 00002f77: JUMP 00002f78: JUMPDEST 00002f79: DUP3 00002f7a: DUP2 00002f7b: DUP4 00002f7c: MCOPY 00002f7d: PUSH0 00002f7e: DUP4 00002f7f: DUP4 00002f80: ADD 00002f81: MSTORE 00002f82: POP 00002f83: POP 00002f84: POP 00002f85: JUMP 00002f86: JUMPDEST 00002f87: PUSH0 00002f88: PUSH1 0x1f 00002f8a: NOT 00002f8b: PUSH1 0x1f 00002f8d: DUP4 00002f8e: ADD 00002f8f: AND 00002f90: SWAP1 00002f91: POP 00002f92: SWAP2 00002f93: SWAP1 00002f94: POP 00002f95: JUMP 00002f96: JUMPDEST 00002f97: PUSH0 00002f98: PUSH2 0x2fa0 00002f9b: DUP3 00002f9c: PUSH2 0x2f5e 00002f9f: JUMP 00002fa0: JUMPDEST 00002fa1: PUSH2 0x2faa 00002fa4: DUP2 00002fa5: DUP6 00002fa6: PUSH2 0x2f68 00002fa9: JUMP 00002faa: JUMPDEST 00002fab: SWAP4 00002fac: POP 00002fad: PUSH2 0x2fba 00002fb0: DUP2 00002fb1: DUP6 00002fb2: PUSH1 0x20 00002fb4: DUP7 00002fb5: ADD 00002fb6: PUSH2 0x2f78 00002fb9: JUMP 00002fba: JUMPDEST 00002fbb: PUSH2 0x2fc3 00002fbe: DUP2 00002fbf: PUSH2 0x2f86 00002fc2: JUMP 00002fc3: JUMPDEST 00002fc4: DUP5 00002fc5: ADD 00002fc6: SWAP2 00002fc7: POP 00002fc8: POP 00002fc9: SWAP3 00002fca: SWAP2 00002fcb: POP 00002fcc: POP 00002fcd: JUMP 00002fce: JUMPDEST 00002fcf: PUSH0 00002fd0: DUP2 00002fd1: MLOAD 00002fd2: SWAP1 00002fd3: POP 00002fd4: SWAP2 00002fd5: SWAP1 00002fd6: POP 00002fd7: JUMP 00002fd8: JUMPDEST 00002fd9: PUSH0 00002fda: DUP3 00002fdb: DUP3 00002fdc: MSTORE 00002fdd: PUSH1 0x20 00002fdf: DUP3 00002fe0: ADD 00002fe1: SWAP1 00002fe2: POP 00002fe3: SWAP3 00002fe4: SWAP2 00002fe5: POP 00002fe6: POP 00002fe7: JUMP 00002fe8: JUMPDEST 00002fe9: PUSH0 00002fea: DUP2 00002feb: SWAP1 00002fec: POP 00002fed: PUSH1 0x20 00002fef: DUP3 00002ff0: ADD 00002ff1: SWAP1 00002ff2: POP 00002ff3: SWAP2 00002ff4: SWAP1 00002ff5: POP 00002ff6: JUMP 00002ff7: JUMPDEST 00002ff8: PUSH0 00002ff9: DUP3 00002ffa: DUP3 00002ffb: MSTORE 00002ffc: PUSH1 0x20 00002ffe: DUP3 00002fff: ADD 00003000: SWAP1 00003001: POP 00003002: SWAP3 00003003: SWAP2 00003004: POP 00003005: POP 00003006: JUMP 00003007: JUMPDEST 00003008: PUSH0 00003009: PUSH2 0x3011 0000300c: DUP3 0000300d: PUSH2 0x2f5e 00003010: JUMP 00003011: JUMPDEST 00003012: PUSH2 0x301b 00003015: DUP2 00003016: DUP6 00003017: PUSH2 0x2ff7 0000301a: JUMP 0000301b: JUMPDEST 0000301c: SWAP4 0000301d: POP 0000301e: PUSH2 0x302b 00003021: DUP2 00003022: DUP6 00003023: PUSH1 0x20 00003025: DUP7 00003026: ADD 00003027: PUSH2 0x2f78 0000302a: JUMP 0000302b: JUMPDEST 0000302c: PUSH2 0x3034 0000302f: DUP2 00003030: PUSH2 0x2f86 00003033: JUMP 00003034: JUMPDEST 00003035: DUP5 00003036: ADD 00003037: SWAP2 00003038: POP 00003039: POP 0000303a: SWAP3 0000303b: SWAP2 0000303c: POP 0000303d: POP 0000303e: JUMP 0000303f: JUMPDEST 00003040: PUSH0 00003041: PUSH2 0x304a 00003044: DUP4 00003045: DUP4 00003046: PUSH2 0x3007 00003049: JUMP 0000304a: JUMPDEST 0000304b: SWAP1 0000304c: POP 0000304d: SWAP3 0000304e: SWAP2 0000304f: POP 00003050: POP 00003051: JUMP 00003052: JUMPDEST 00003053: PUSH0 00003054: PUSH1 0x20 00003056: DUP3 00003057: ADD 00003058: SWAP1 00003059: POP 0000305a: SWAP2 0000305b: SWAP1 0000305c: POP 0000305d: JUMP 0000305e: JUMPDEST 0000305f: PUSH0 00003060: PUSH2 0x3068 00003063: DUP3 00003064: PUSH2 0x2fce 00003067: JUMP 00003068: JUMPDEST 00003069: PUSH2 0x3072 0000306c: DUP2 0000306d: DUP6 0000306e: PUSH2 0x2fd8 00003071: JUMP 00003072: JUMPDEST 00003073: SWAP4 00003074: POP 00003075: DUP4 00003076: PUSH1 0x20 00003078: DUP3 00003079: MUL 0000307a: DUP6 0000307b: ADD 0000307c: PUSH2 0x3084 0000307f: DUP6 00003080: PUSH2 0x2fe8 00003083: JUMP 00003084: JUMPDEST 00003085: DUP1 00003086: PUSH0 00003087: JUMPDEST 00003088: DUP6 00003089: DUP2 0000308a: LT 0000308b: ISZERO 0000308c: PUSH2 0x30bf 0000308f: JUMPI 00003090: DUP5 00003091: DUP5 00003092: SUB 00003093: DUP10 00003094: MSTORE 00003095: DUP2 00003096: MLOAD 00003097: PUSH2 0x30a0 0000309a: DUP6 0000309b: DUP3 0000309c: PUSH2 0x303f 0000309f: JUMP 000030a0: JUMPDEST 000030a1: SWAP5 000030a2: POP 000030a3: PUSH2 0x30ab 000030a6: DUP4 000030a7: PUSH2 0x3052 000030aa: JUMP 000030ab: JUMPDEST 000030ac: SWAP3 000030ad: POP 000030ae: PUSH1 0x20 000030b0: DUP11 000030b1: ADD 000030b2: SWAP10 000030b3: POP 000030b4: POP 000030b5: PUSH1 0x01 000030b7: DUP2 000030b8: ADD 000030b9: SWAP1 000030ba: POP 000030bb: PUSH2 0x3087 000030be: JUMP 000030bf: JUMPDEST 000030c0: POP 000030c1: DUP3 000030c2: SWAP8 000030c3: POP 000030c4: DUP8 000030c5: SWAP6 000030c6: POP 000030c7: POP 000030c8: POP 000030c9: POP 000030ca: POP 000030cb: POP 000030cc: SWAP3 000030cd: SWAP2 000030ce: POP 000030cf: POP 000030d0: JUMP 000030d1: JUMPDEST 000030d2: PUSH0 000030d3: PUSH1 0x60 000030d5: DUP3 000030d6: ADD 000030d7: SWAP1 000030d8: POP 000030d9: DUP2 000030da: DUP2 000030db: SUB 000030dc: PUSH0 000030dd: DUP4 000030de: ADD 000030df: MSTORE 000030e0: PUSH2 0x30e9 000030e3: DUP2 000030e4: DUP7 000030e5: PUSH2 0x2f96 000030e8: JUMP 000030e9: JUMPDEST 000030ea: SWAP1 000030eb: POP 000030ec: DUP2 000030ed: DUP2 000030ee: SUB 000030ef: PUSH1 0x20 000030f1: DUP4 000030f2: ADD 000030f3: MSTORE 000030f4: PUSH2 0x30fd 000030f7: DUP2 000030f8: DUP6 000030f9: PUSH2 0x305e 000030fc: JUMP 000030fd: JUMPDEST 000030fe: SWAP1 000030ff: POP 00003100: PUSH2 0x310c 00003103: PUSH1 0x40 00003105: DUP4 00003106: ADD 00003107: DUP5 00003108: PUSH2 0x299f 0000310b: JUMP 0000310c: JUMPDEST 0000310d: SWAP5 0000310e: SWAP4 0000310f: POP 00003110: POP 00003111: POP 00003112: POP 00003113: JUMP 00003114: JUMPDEST 00003115: DUP3 00003116: DUP2 00003117: DUP4 00003118: CALLDATACOPY 00003119: PUSH0 0000311a: DUP4 0000311b: DUP4 0000311c: ADD 0000311d: MSTORE 0000311e: POP 0000311f: POP 00003120: POP 00003121: JUMP 00003122: JUMPDEST 00003123: PUSH0 00003124: PUSH2 0x312d 00003127: DUP4 00003128: DUP6 00003129: PUSH2 0x2f68 0000312c: JUMP 0000312d: JUMPDEST 0000312e: SWAP4 0000312f: POP 00003130: PUSH2 0x313a 00003133: DUP4 00003134: DUP6 00003135: DUP5 00003136: PUSH2 0x3114 00003139: JUMP 0000313a: JUMPDEST 0000313b: PUSH2 0x3143 0000313e: DUP4 0000313f: PUSH2 0x2f86 00003142: JUMP 00003143: JUMPDEST 00003144: DUP5 00003145: ADD 00003146: SWAP1 00003147: POP 00003148: SWAP4 00003149: SWAP3 0000314a: POP 0000314b: POP 0000314c: POP 0000314d: JUMP 0000314e: JUMPDEST 0000314f: PUSH0 00003150: PUSH1 0xa0 00003152: DUP3 00003153: ADD 00003154: SWAP1 00003155: POP 00003156: PUSH2 0x3161 00003159: PUSH0 0000315a: DUP4 0000315b: ADD 0000315c: DUP10 0000315d: PUSH2 0x2678 00003160: JUMP 00003161: JUMPDEST 00003162: PUSH2 0x316e 00003165: PUSH1 0x20 00003167: DUP4 00003168: ADD 00003169: DUP9 0000316a: PUSH2 0x299f 0000316d: JUMP 0000316e: JUMPDEST 0000316f: PUSH2 0x317b 00003172: PUSH1 0x40 00003174: DUP4 00003175: ADD 00003176: DUP8 00003177: PUSH2 0x2d26 0000317a: JUMP 0000317b: JUMPDEST 0000317c: DUP2 0000317d: DUP2 0000317e: SUB 0000317f: PUSH1 0x60 00003181: DUP4 00003182: ADD 00003183: MSTORE 00003184: PUSH2 0x318e 00003187: DUP2 00003188: DUP6 00003189: DUP8 0000318a: PUSH2 0x3122 0000318d: JUMP 0000318e: JUMPDEST 0000318f: SWAP1 00003190: POP 00003191: PUSH2 0x319d 00003194: PUSH1 0x80 00003196: DUP4 00003197: ADD 00003198: DUP5 00003199: PUSH2 0x2ec4 0000319c: JUMP 0000319d: JUMPDEST 0000319e: SWAP8 0000319f: SWAP7 000031a0: POP 000031a1: POP 000031a2: POP 000031a3: POP 000031a4: POP 000031a5: POP 000031a6: POP 000031a7: JUMP 000031a8: JUMPDEST 000031a9: PUSH32 0x636f6d6d616e64206572726f7200000000000000000000000000000000000000 000031ca: PUSH0 000031cb: DUP3 000031cc: ADD 000031cd: MSTORE 000031ce: POP 000031cf: JUMP 000031d0: JUMPDEST 000031d1: PUSH0 000031d2: PUSH2 0x31dc 000031d5: PUSH1 0x0d 000031d7: DUP4 000031d8: PUSH2 0x2880 000031db: JUMP 000031dc: JUMPDEST 000031dd: SWAP2 000031de: POP 000031df: PUSH2 0x31e7 000031e2: DUP3 000031e3: PUSH2 0x31a8 000031e6: JUMP 000031e7: JUMPDEST 000031e8: PUSH1 0x20 000031ea: DUP3 000031eb: ADD 000031ec: SWAP1 000031ed: POP 000031ee: SWAP2 000031ef: SWAP1 000031f0: POP 000031f1: JUMP 000031f2: JUMPDEST 000031f3: PUSH0 000031f4: PUSH1 0x20 000031f6: DUP3 000031f7: ADD 000031f8: SWAP1 000031f9: POP 000031fa: DUP2 000031fb: DUP2 000031fc: SUB 000031fd: PUSH0 000031fe: DUP4 000031ff: ADD 00003200: MSTORE 00003201: PUSH2 0x3209 00003204: DUP2 00003205: PUSH2 0x31d0 00003208: JUMP 00003209: JUMPDEST 0000320a: SWAP1 0000320b: POP 0000320c: SWAP2 0000320d: SWAP1 0000320e: POP 0000320f: JUMP 00003210: JUMPDEST 00003211: PUSH0 00003212: PUSH1 0x20 00003214: DUP3 00003215: ADD 00003216: SWAP1 00003217: POP 00003218: PUSH2 0x3223 0000321b: PUSH0 0000321c: DUP4 0000321d: ADD 0000321e: DUP5 0000321f: PUSH2 0x299f 00003222: JUMP 00003223: JUMPDEST 00003224: SWAP3 00003225: SWAP2 00003226: POP 00003227: POP 00003228: JUMP 00003229: JUMPDEST 0000322a: PUSH0 0000322b: PUSH0 0000322c: REVERT 0000322d: JUMPDEST 0000322e: PUSH0 0000322f: PUSH0 00003230: REVERT 00003231: JUMPDEST 00003232: PUSH0 00003233: PUSH0 00003234: DUP6 00003235: DUP6 00003236: GT 00003237: ISZERO 00003238: PUSH2 0x3244 0000323b: JUMPI 0000323c: PUSH2 0x3243 0000323f: PUSH2 0x3229 00003242: JUMP 00003243: JUMPDEST 00003244: JUMPDEST 00003245: DUP4 00003246: DUP7 00003247: GT 00003248: ISZERO 00003249: PUSH2 0x3255 0000324c: JUMPI 0000324d: PUSH2 0x3254 00003250: PUSH2 0x322d 00003253: JUMP 00003254: JUMPDEST 00003255: JUMPDEST 00003256: PUSH1 0x01 00003258: DUP6 00003259: MUL 0000325a: DUP4 0000325b: ADD 0000325c: SWAP2 0000325d: POP 0000325e: DUP5 0000325f: DUP7 00003260: SUB 00003261: SWAP1 00003262: POP 00003263: SWAP5 00003264: POP 00003265: SWAP5 00003266: SWAP3 00003267: POP 00003268: POP 00003269: POP 0000326a: JUMP 0000326b: JUMPDEST 0000326c: PUSH32 0x626c61636b6c6973740000000000000000000000000000000000000000000000 0000328d: PUSH0 0000328e: DUP3 0000328f: ADD 00003290: MSTORE 00003291: POP 00003292: JUMP 00003293: JUMPDEST 00003294: PUSH0 00003295: PUSH2 0x329f 00003298: PUSH1 0x09 0000329a: DUP4 0000329b: PUSH2 0x2880 0000329e: JUMP 0000329f: JUMPDEST 000032a0: SWAP2 000032a1: POP 000032a2: PUSH2 0x32aa 000032a5: DUP3 000032a6: PUSH2 0x326b 000032a9: JUMP 000032aa: JUMPDEST 000032ab: PUSH1 0x20 000032ad: DUP3 000032ae: ADD 000032af: SWAP1 000032b0: POP 000032b1: SWAP2 000032b2: SWAP1 000032b3: POP 000032b4: JUMP 000032b5: JUMPDEST 000032b6: PUSH0 000032b7: PUSH1 0x20 000032b9: DUP3 000032ba: ADD 000032bb: SWAP1 000032bc: POP 000032bd: DUP2 000032be: DUP2 000032bf: SUB 000032c0: PUSH0 000032c1: DUP4 000032c2: ADD 000032c3: MSTORE 000032c4: PUSH2 0x32cc 000032c7: DUP2 000032c8: PUSH2 0x3293 000032cb: JUMP 000032cc: JUMPDEST 000032cd: SWAP1 000032ce: POP 000032cf: SWAP2 000032d0: SWAP1 000032d1: POP 000032d2: JUMP 000032d3: JUMPDEST 000032d4: PUSH0 000032d5: PUSH1 0xa0 000032d7: DUP3 000032d8: ADD 000032d9: SWAP1 000032da: POP 000032db: PUSH2 0x32e6 000032de: PUSH0 000032df: DUP4 000032e0: ADD 000032e1: DUP9 000032e2: PUSH2 0x2678 000032e5: JUMP 000032e6: JUMPDEST 000032e7: PUSH2 0x32f3 000032ea: PUSH1 0x20 000032ec: DUP4 000032ed: ADD 000032ee: DUP8 000032ef: PUSH2 0x299f 000032f2: JUMP 000032f3: JUMPDEST 000032f4: PUSH2 0x3300 000032f7: PUSH1 0x40 000032f9: DUP4 000032fa: ADD 000032fb: DUP7 000032fc: PUSH2 0x299f 000032ff: JUMP 00003300: JUMPDEST 00003301: DUP2 00003302: DUP2 00003303: SUB 00003304: PUSH1 0x60 00003306: DUP4 00003307: ADD 00003308: MSTORE 00003309: PUSH2 0x3312 0000330c: DUP2 0000330d: DUP6 0000330e: PUSH2 0x2e68 00003311: JUMP 00003312: JUMPDEST 00003313: SWAP1 00003314: POP 00003315: PUSH2 0x3321 00003318: PUSH1 0x80 0000331a: DUP4 0000331b: ADD 0000331c: DUP5 0000331d: PUSH2 0x2ec4 00003320: JUMP 00003321: JUMPDEST 00003322: SWAP7 00003323: SWAP6 00003324: POP 00003325: POP 00003326: POP 00003327: POP 00003328: POP 00003329: POP 0000332a: JUMP 0000332b: JUMPDEST 0000332c: PUSH0 0000332d: PUSH1 0xa0 0000332f: DUP3 00003330: ADD 00003331: SWAP1 00003332: POP 00003333: PUSH2 0x333e 00003336: PUSH0 00003337: DUP4 00003338: ADD 00003339: DUP10 0000333a: PUSH2 0x2678 0000333d: JUMP 0000333e: JUMPDEST 0000333f: PUSH2 0x334b 00003342: PUSH1 0x20 00003344: DUP4 00003345: ADD 00003346: DUP9 00003347: PUSH2 0x299f 0000334a: JUMP 0000334b: JUMPDEST 0000334c: PUSH2 0x3358 0000334f: PUSH1 0x40 00003351: DUP4 00003352: ADD 00003353: DUP8 00003354: PUSH2 0x299f 00003357: JUMP 00003358: JUMPDEST 00003359: DUP2 0000335a: DUP2 0000335b: SUB 0000335c: PUSH1 0x60 0000335e: DUP4 0000335f: ADD 00003360: MSTORE 00003361: PUSH2 0x336b 00003364: DUP2 00003365: DUP6 00003366: DUP8 00003367: PUSH2 0x3122 0000336a: JUMP 0000336b: JUMPDEST 0000336c: SWAP1 0000336d: POP 0000336e: PUSH2 0x337a 00003371: PUSH1 0x80 00003373: DUP4 00003374: ADD 00003375: DUP5 00003376: PUSH2 0x2ec4 00003379: JUMP 0000337a: JUMPDEST 0000337b: SWAP8 0000337c: SWAP7 0000337d: POP 0000337e: POP 0000337f: POP 00003380: POP 00003381: POP 00003382: POP 00003383: POP 00003384: JUMP 00003385: JUMPDEST 00003386: PUSH32 0x746f6b656e3020696e76616c6964000000000000000000000000000000000000 000033a7: PUSH0 000033a8: DUP3 000033a9: ADD 000033aa: MSTORE 000033ab: POP 000033ac: JUMP 000033ad: JUMPDEST 000033ae: PUSH0 000033af: PUSH2 0x33b9 000033b2: PUSH1 0x0e 000033b4: DUP4 000033b5: PUSH2 0x2880 000033b8: JUMP 000033b9: JUMPDEST 000033ba: SWAP2 000033bb: POP 000033bc: PUSH2 0x33c4 000033bf: DUP3 000033c0: PUSH2 0x3385 000033c3: JUMP 000033c4: JUMPDEST 000033c5: PUSH1 0x20 000033c7: DUP3 000033c8: ADD 000033c9: SWAP1 000033ca: POP 000033cb: SWAP2 000033cc: SWAP1 000033cd: POP 000033ce: JUMP 000033cf: JUMPDEST 000033d0: PUSH0 000033d1: PUSH1 0x20 000033d3: DUP3 000033d4: ADD 000033d5: SWAP1 000033d6: POP 000033d7: DUP2 000033d8: DUP2 000033d9: SUB 000033da: PUSH0 000033db: DUP4 000033dc: ADD 000033dd: MSTORE 000033de: PUSH2 0x33e6 000033e1: DUP2 000033e2: PUSH2 0x33ad 000033e5: JUMP 000033e6: JUMPDEST 000033e7: SWAP1 000033e8: POP 000033e9: SWAP2 000033ea: SWAP1 000033eb: POP 000033ec: JUMP 000033ed: INVALID 000033ee: LOG2 000033ef: PUSH5 0x6970667358 000033f5: UNKNOWN(0x22) 000033f6: SLT 000033f7: KECCAK256 000033f8: UNKNOWN(0x26) 000033f9: UNKNOWN(0x4B) 000033fa: PUSH8 0x6b95e8ceb9299efc 00003403: PUSH10 0x900af36fd0a107573879 0000340e: UNKNOWN(0xCC) 0000340f: SMOD 00003410: UNKNOWN(0xB9) 00003411: PC 00003412: BLOBBASEFEE 00003413: UNKNOWN(0xB1) 00003414: UNKNOWN(0xD5) 00003415: UNKNOWN(0xD1) 00003416: DUP11 00003417: UNKNOWN(0xC3) 00003418: PUSH5 0x736f6c6343 0000341e: STOP 0000341f: ADDMOD 00003420: SHL 00003421: STOP 00003422: CALLER
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xeb37f9c4f2458f1c68d3ffaef3799fc5d5e7ec7d74924622075bf30e531fc4b4
call_targets:
0xd4d96f9f45248fc8b25efaff4cccf1df05697257
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xeb37f9c4f2458f1c68d3ffaef3799fc5d5e7ec7d74924622075bf30e531fc4b4",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xd4d96f9f45248fc8b25efaff4cccf1df05697257"
],
"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": "0x9066e7c3",
"selector": "0x9066e7c3",
"calldata_variants": [
"0x9066e7c3",
"0x9066e7c30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb4a46ba1",
"selector": "0xb4a46ba1",
"calldata_variants": [
"0xb4a46ba1",
"0xb4a46ba10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc46b30bc",
"selector": "0xc46b30bc",
"calldata_variants": [
"0xc46b30bc",
"0xc46b30bc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd41fb08a",
"selector": "0xd41fb08a",
"calldata_variants": [
"0xd41fb08a",
"0xd41fb08a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee3a3753",
"selector": "0xee3a3753",
"calldata_variants": [
"0xee3a3753",
"0xee3a37530000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1f6a1eb9",
"selector": "0x1f6a1eb9",
"calldata_variants": [
"0x1f6a1eb9",
"0x1f6a1eb90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x301a1d5f",
"selector": "0x301a1d5f",
"calldata_variants": [
"0x301a1d5f",
"0x301a1d5f0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 661,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 801,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1203,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 19,
"guards_detected": [],
"untrusted_call_count": 19
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xeb37f9c4f2458f1c68d3ffaef3799fc5d5e7ec7d74924622075bf30e531fc4b4
call_targets:
0xd4d96f9f45248fc8b25efaff4cccf1df05697257
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xeb37f9c4f2458f1c68d3ffaef3799fc5d5e7ec7d74924622075bf30e531fc4b4",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xd4d96f9f45248fc8b25efaff4cccf1df05697257"
],
"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": "0x9066e7c3",
"selector": "0x9066e7c3",
"calldata_variants": [
"0x9066e7c3",
"0x9066e7c30000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xb4a46ba1",
"selector": "0xb4a46ba1",
"calldata_variants": [
"0xb4a46ba1",
"0xb4a46ba10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc46b30bc",
"selector": "0xc46b30bc",
"calldata_variants": [
"0xc46b30bc",
"0xc46b30bc0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd41fb08a",
"selector": "0xd41fb08a",
"calldata_variants": [
"0xd41fb08a",
"0xd41fb08a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xee3a3753",
"selector": "0xee3a3753",
"calldata_variants": [
"0xee3a3753",
"0xee3a37530000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1f6a1eb9",
"selector": "0x1f6a1eb9",
"calldata_variants": [
"0x1f6a1eb9",
"0x1f6a1eb90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2e1a7d4d",
"selector": "0x2e1a7d4d",
"calldata_variants": [
"0x2e1a7d4d",
"0x2e1a7d4d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x301a1d5f",
"selector": "0x301a1d5f",
"calldata_variants": [
"0x301a1d5f",
"0x301a1d5f0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 661,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 801,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1203,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 19,
"guards_detected": []
}
|
| medium | access_control | codex | Computed CALL targets/values enable arbitrary external calls if reachable without auth | 75 | no | — |
viewevidence_json{
"evidence": "Detector flagged 19 CALL sites with computed target/value and no guards detected; examples at pcs 661, 801, 1203. Validation trace observed a constant target in one run (not confirmed), so dynamic target control remains uncertain.",
"locations": [
"pc:0x295",
"pc:0x321",
"pc:0x4b3",
"pc:0x7b8",
"pc:0x928",
"pc:0x17ad",
"pc:0x1c67",
"pc:0x2430"
],
"recommendation": "Restrict any CALL entrypoints to trusted callers, validate/whitelist target addresses and cap ETH values. Add explicit access-control checks on call paths and consider reentrancy protections if stateful logic surrounds these external calls.",
"exploit_scenario": "If any externally reachable function allows user-controlled target/value to reach these CALL sites, an attacker could direct the contract to call arbitrary addresses (including with ETH), potentially draining any ETH held or leveraging reentrancy in downstream contracts. Guard detection is heuristic, and while CALLER is used elsewhere, there is no confirmed access-control gate on these call paths in the artifacts."
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 9
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 27
}
|