TW
Tripwire
Find contracts. Test them. Review real vulns.

Analysis Run

019ba9bc-ec62-71d0-9456-9e12b5762364

complete
Chain ID
1
Address
Block Number
Created
Sat, Jan 10, 2026 9:08 PM
Review Summary

What survived the funnel

Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?

Confirmed
0
Validated
0
Source
Bytecode only
Review Backing
Present
Best current signal
Untrusted CALL target/value reachable
crit 0 high 0 direct contract
Review Checklist
1. Read the findings table first. Ignore raw jobs until the result looks real.
2. Confirm attacker control, not just the existence of a sink.
3. Confirm money or privilege impact.
4. Keep it if the behavior is real. Kill it if this is normal proxy, admin, or upgrade plumbing.

Processing Jobs

Status & attempts
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

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no not_proxy
Implementation:
Verified Source: no
Proxy evidence
{
    "status": "not_proxy"
}

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 6
Findings
1
No findings?
no
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.
View stdout
{"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"]}]}
View stderr
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
Metadata
{
    "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
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
27
EXT*/BALANCE
9
Total opcodes
7901
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
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

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high other detector Untrusted CALL target/value reachable 60 no no
view
trace_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
view
trace_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
view
evidence_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
view
evidence_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
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 27
}