019bb50b-e146-7046-b442-d004a2f4b5a8
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 40359 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 40360 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 40361 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 40362 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 40363 | capability.graph | complete | 1 / 3 | 3 months ago |
| 40364 | detector.run | complete | 1 / 3 | 3 months ago |
| 40365 | validation.fork | complete | 1 / 3 | 3 months ago |
| 40487 | report.consolidate | complete | 1 / 6 | 3 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode-only analysis flags a SELFDESTRUCT opcode and multiple CALL sites with computed target/value; proxy/delegatecall patterns are not detected. The external-call risks are uncertain because validation suggests constant targets in at least one trace and returndata checks are unknown in artifacts.","findings":[{"severity":"medium","category":"other","title":"Potentially reachable SELFDESTRUCT kill-switch","exploit_scenario":"If an externally reachable path can jump into the SELFDESTRUCT opcode (e.g., via a privileged or insufficiently guarded function), a caller could permanently destroy the contract and redirect any remaining ETH to a beneficiary address. Because this is bytecode-only and validation was inconclusive, the reachability is uncertain.","recommendation":"Remove SELFDESTRUCT from production deployments or gate it behind strict, auditable access control (e.g., immutable admin + timelock) and add explicit event logging for any destruction path.","evidence":"Detector flagged SELFDESTRUCT reachable (confidence 45) with selfdestruct_count=1; a basic block contains SELFDESTRUCT in the opcode stream, but validation status is unknown.","locations":["pc:18351"]},{"severity":"low","category":"other","title":"CALL sites with computed target/value; untrusted external call/ETH transfer not ruled out","exploit_scenario":"If any of these CALLs use user-influenced target/value and are reachable without strict access control, an attacker could trigger arbitrary external calls, potentially enabling reentrancy or unintended ETH transfers. Validation suggests constant targets in one trace, so untrusted targets are not confirmed for all paths.","recommendation":"Ensure CALL targets are trusted/whitelisted, restrict or zero ETH value unless intended, and enforce success checks plus reentrancy protections around state updates.","evidence":"Detector reports CALL targets/values are computed and returndata checks are unknown; callsites at pc 5347, 6695, 9845, 10332, 11107. Validation shows constant target to the contract address in one trace, so risk is uncertain.","locations":["pc:5347","pc:6695","pc:9845","pc:10332","pc:11107"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-46xpes5c
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019bb522-da5d-7eb0-9070-9a56e2a15788
--------
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-46xpes5c succeeded in 8ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-46xpes5c succeeded in 35ms:
{
"analysis_artifact": {
"address": "0x19d683cea643a8e5f2384bd48716b5399baa3616",
"artifact_hash": "0x2f064b13e5e4a12b7e83a7ea88fb76c7bddcffd57602e6ef2a63e577086fa978",
"artifact_json": {
"auth": {
"guards": [
{
"pc": 2388,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2938,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3181,
"type": "msg_sender_eq_const",
thinking
**Planning heuristic searches**
exec
/bin/bash -lc 'rg -n "proxy|eip1967|beacon|minimal|delegatecall" BYTECODE_BUNDLE.json' in /tmp/codex-46xpes5c succeeded in 28ms:
21367: "delegatecall": 0,
21637: "delegatecall": 0,
21907: "delegatecall": 0,
22177: "delegatecall": 0,
22447: "delegatecall": 0,
22717: "delegatecall": 0,
22987: "delegatecall": 0,
23257: "delegatecall": 0,
23527: "delegatecall": 0,
23797: "delegatecall": 0,
24067: "delegatecall": 0,
24337: "delegatecall": 0,
24607: "delegatecall": 0,
24877: "delegatecall": 0,
25147: "delegatecall": 0,
25417: "delegatecall": 0,
25687: "delegatecall": 0,
25957: "delegatecall": 0,
26227: "delegatecall": 0,
26497: "delegatecall": 0,
thinking
**Analyzing BYTECODE_BUNDLE for suspicious guards and selfdestruct**
exec
/bin/bash -lc 'rg -n "SELFDESTRUCT|selfdestruct" BYTECODE_BUNDLE.json' in /tmp/codex-46xpes5c succeeded in 32ms:
16657: "SELFDESTRUCT"
21368: "selfdestruct": 1,
21638: "selfdestruct": 1,
21908: "selfdestruct": 1,
22178: "selfdestruct": 1,
22448: "selfdestruct": 1,
22718: "selfdestruct": 1,
22988: "selfdestruct": 1,
23258: "selfdestruct": 1,
23528: "selfdestruct": 1,
23798: "selfdestruct": 1,
24068: "selfdestruct": 1,
24338: "selfdestruct": 1,
24608: "selfdestruct": 1,
24878: "selfdestruct": 1,
25148: "selfdestruct": 1,
25418: "selfdestruct": 1,
25688: "selfdestruct": 1,
25958: "selfdestruct": 1,
26228: "selfdestruct": 1,
thinking
**Searching for SELFDESTRUCT opcode location**
exec
/bin/bash -lc "sed -n '16640,16675p' BYTECODE_BUNDLE.json" in /tmp/codex-46xpes5c succeeded in 7ms:
"start_pc": 18350
},
{
"end_pc": 18367,
"hash": "0x13a67fef5cc484b2cc601e3e61298683f5cde04edbcb7b84c0afaaa6487dc2c3",
"opcodes": [
"OP_A2",
"PUSH5",
"OP_22",
"SLT",
"SHA3",
"OP_EA",
"OP_CF",
"OP_83",
"OP_28",
"OP_4E",
"MULMOD",
"SELFDESTRUCT"
],
"start_pc": 18351
thinking
**Analyzing self-call and callsite risks**
exec
/bin/bash -lc 'rg -n "storage|slot|mapping|keccak" BYTECODE_BUNDLE.json | head -n 20' in /tmp/codex-46xpes5c succeeded in 9ms:
21371: "storage": {
21373: "slots": [
21377: "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
21382: "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
21387: "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
21392: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21397: "slot": "0x00000000000000000000000000000000000000000000000000000000000003f3"
21402: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21407: "slot": "0x00000000000000000000000000000000000000000000000000000000000003f3"
21412: "slot": "0x0000000000000000000000000000000000000000000000000000000000000002"
21417: "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
21422: "slot": "0x00000000000000000000000000000000000000000000000000000000000003f4"
21427: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21432: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21437: "slot": "0x00000000000000000000000000000000000000000000000000000000000003f2"
21442: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21447: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
21452: "slot": "0x0000000000000000000000000000000000000000000000000000000000000006"
21457: "slot": "0x0000000000000000000000000000000000000000000000000000000000000100"
21462: "slot": "0x00000000000000000000000000000000000000000000000000000000000003f3"
thinking
**Planning callsites and selfdestruct analysis**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
p=Path('BYTECODE_BUNDLE.json')
obj=json.loads(p.read_text())
print(obj.keys())
print('detector_findings',len(obj.get('detector_findings',[])))
print('heuristics_summary',obj.get('heuristics_summary'))
# find callsites list from analysis_artifact artifact_json maybe?
artifact=obj['analysis_artifact']['artifact_json']
# callsites in basic_blocks? Actually graph nodes include callsite entries.
# gather callsites from artifact_json['basic_blocks'] or maybe separate list of nodes at end? We'll search for dicts with type 'callsite'
callsites=[]
for bb in artifact.get('basic_blocks',[]):
if isinstance(bb, dict) and bb.get('type')=='callsite':
callsites.append(bb)
print('callsites',callsites)
# find callsites in some other key maybe 'capability_graph' or 'nodes'
for key in artifact:
if isinstance(artifact[key], list):
if any(isinstance(x, dict) and x.get('type')=='callsite' for x in artifact[key]):
print('callsites in', key)
print([x for x in artifact[key] if isinstance(x, dict) and x.get('type')=='callsite'][:10])
PY" in /tmp/codex-46xpes5c succeeded in 43ms:
dict_keys(['analysis_artifact', 'analysis_run', 'artifact', 'capability_graph', 'detector_findings', 'heuristics_summary'])
detector_findings 3
heuristics_summary {'create2_count': 0, 'delegatecall_count': 0, 'flags': ['selfdestruct_present', 'heavy_ext_balance_usage'], 'selfdestruct_count': 1}
callsites []
thinking
**Inspecting capability_graph entries**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
cap=obj.get('capability_graph',{})
print(cap.keys())
for key in cap:
if isinstance(cap[key], list):
if any(isinstance(x, dict) and x.get('type')=='callsite' for x in cap[key]):
print('callsites in', key)
print([x for x in cap[key] if isinstance(x, dict) and x.get('type')=='callsite'])
PY" in /tmp/codex-46xpes5c succeeded in 36ms:
dict_keys(['address', 'block_number', 'chain_id', 'codehash', 'created_at', 'graph_hash', 'graph_json', 'id', 'updated_at', 'version'])
thinking
**Inspecting cap graph_json**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
cap=obj['capability_graph']['graph_json']
print(cap.keys())
# find callsites
callsites=[]
for key,val in cap.items():
if isinstance(val, list):
for x in val:
if isinstance(x, dict) and x.get('type')=='callsite':
callsites.append(x)
if any(isinstance(x, dict) and x.get('type')=='callsite' for x in val):
print('callsites in', key)
print('num callsites',len(callsites))
print(callsites[:10])
PY" in /tmp/codex-46xpes5c succeeded in 53ms:
dict_keys(['edges', 'nodes', 'version'])
callsites in nodes
num callsites 6
[{'id': 'call:5347', 'opcode': 'CALL', 'pc': 5347, 'type': 'callsite'}, {'id': 'call:5694', 'opcode': 'STATICCALL', 'pc': 5694, 'type': 'callsite'}, {'id': 'call:6695', 'opcode': 'CALL', 'pc': 6695, 'type': 'callsite'}, {'id': 'call:9845', 'opcode': 'CALL', 'pc': 9845, 'type': 'callsite'}, {'id': 'call:10332', 'opcode': 'CALL', 'pc': 10332, 'type': 'callsite'}, {'id': 'call:11107', 'opcode': 'CALL', 'pc': 11107, 'type': 'callsite'}]
thinking
**Examining potential external call points**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
artifact=obj.get('artifact',{})
print(artifact.keys())
# maybe has storage slots or selector list
for key in ['storage','storage_slots','slots','functions','selectors','proxy','proxy_evidence']:
if key in artifact:
print('artifact', key, artifact[key])
PY" in /tmp/codex-46xpes5c succeeded in 56ms:
dict_keys(['codehash', 'compiler_json', 'implementation_address', 'is_proxy', 'runtime_bytecode', 'verified_source'])
thinking
**Checking for is_proxy in artifact**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
print(obj['artifact'])
PY" in /tmp/codex-46xpes5c succeeded in 51ms:
{'codehash': '0x6672af9c05fde3c7e55a0c698a0fdb96608542e7dc1058d37ed882f20acd93bb', 'compiler_json': {'compiler_version': None, 'etherscan': {'contract_name': None, 'implementation': None, 'license': 'Unknown', 'proxy': '0', 'swarm_source': None}, 'optimizer_enabled': False, 'optimizer_runs': 0, 'proxy_evidence': {'status': 'not_proxy'}}, 'implementation_address': None, 'is_proxy': False, 'runtime_bytecode': {'full': '0x6080604052600436106101ba5760003560e01c806350c86de5116100ec578063bd85b0391161008a578063eec12f9711610064578063eec12f9714610630578063eed007cd1461064c578063f242432a14610675578063f2aa82181461069e576101c1565b8063bd85b0391461058b578063d72d79d9146105c8578063e985e9c5146105f3576101c1565b806389a89002116100c657806389a89002146104e15780638d5b87b61461050c57806395d89b4114610537578063a22cb46514610562576101c1565b806350c86de514610460578063512bb91c1461048b57806381881527146104b6576101c1565b80632eb2c2d6116101595780633a6521e8116101335780633a6521e8146103905780634dd8bd89146103bb5780634e1273f4146103e65780634f558e7914610423576101c1565b80632eb2c2d61461031557806332cec96d1461033e5780633760911b14610367576101c1565b806306fdde031161019557806306fdde031461026b57806308fdf78b146102965780630e89341c146102ad57806313d36c5c146102ea576101c1565b8062fdd58e146101c657806301ffc9a714610203578063053f14da14610240576101c1565b366101c157005b600080fd5b3480156101d257600080fd5b506101ed60048036038101906101e891906130ab565b6106db565b6040516101fa9190613b4c565b60405180910390f35b34801561020f57600080fd5b5061022a6004803603810190610225919061317c565b6107a4565b604051610237919061384f565b60405180910390f35b34801561024c57600080fd5b50610255610886565b6040516102629190613b4c565b60405180910390f35b34801561027757600080fd5b5061028061088c565b60405161028d919061386a565b60405180910390f35b3480156102a257600080fd5b506102ab61091a565b005b3480156102b957600080fd5b506102d460048036038101906102cf91906131ce565b610a04565b6040516102e1919061386a565b60405180910390f35b3480156102f657600080fd5b506102ff610a98565b60405161030c9190613b4c565b60405180910390f35b34801561032157600080fd5b5061033c60048036038101906103379190612f21565b610a9f565b005b34801561034a57600080fd5b50610365600480360381019061036091906131ce565b610b40565b005b34801561037357600080fd5b5061038e60048036038101906103899190612e80565b610c33565b005b34801561039c57600080fd5b506103a5610d77565b6040516103b29190613b4c565b60405180910390f35b3480156103c757600080fd5b506103d0610d7c565b6040516103dd9190613b4c565b60405180910390f35b3480156103f257600080fd5b5061040d600480360381019061040891906130e7565b610d83565b60405161041a91906137f6565b60405180910390f35b34801561042f57600080fd5b5061044a600480360381019061044591906131ce565b610f34565b604051610457919061384f565b60405180910390f35b34801561046c57600080fd5b50610475610f48565b6040516104829190613b4c565b60405180910390f35b34801561049757600080fd5b506104a0610f4d565b6040516104ad91906136d5565b60405180910390f35b3480156104c257600080fd5b506104cb610f73565b6040516104d89190613b4c565b60405180910390f35b3480156104ed57600080fd5b506104f6610f78565b6040516105039190613b4c565b60405180910390f35b34801561051857600080fd5b50610521610f7d565b60405161052e91906136f0565b60405180910390f35b34801561054357600080fd5b5061054c610fa3565b604051610559919061386a565b60405180910390f35b34801561056e57600080fd5b506105896004803603810190610584919061306f565b611031565b005b34801561059757600080fd5b506105b260048036038101906105ad91906131ce565b6111b2565b6040516105bf9190613b4c565b60405180910390f35b3480156105d457600080fd5b506105dd6111cf565b6040516105ea9190613b4c565b60405180910390f35b3480156105ff57600080fd5b5061061a60048036038101906106159190612ee5565b6111d6565b604051610627919061384f565b60405180910390f35b61064a60048036038101906106459190612ea9565b6111e2565b005b34801561065857600080fd5b50610673600480360381019061066e9190612e57565b611558565b005b34801561068157600080fd5b5061069c60048036038101906106979190612fe0565b6116c6565b005b3480156106aa57600080fd5b506106c560048036038101906106c091906131ce565b611767565b6040516106d291906136f0565b60405180910390f35b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561074c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610743906138cc565b60405180910390fd5b60008083815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60007fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061086f57507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061087f575061087e82611947565b5b9050919050565b60075481565b6005805461089990613e97565b80601f01602080910402602001604051908101604052809291908181526020018280546108c590613e97565b80156109125780601f106108e757610100808354040283529160200191610912565b820191906000526020600020905b8154815290600101906020018083116108f557829003601f168201915b505050505081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a190613a2c565b60405180910390fd5b600047905060006103f354826109c09190613d9b565b1115610a0157610a00600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166103f354836109fb9190613d9b565b6119b1565b5b50565b606060028054610a1390613e97565b80601f0160208091040260200160405190810160405280929190818152602001828054610a3f90613e97565b8015610a8c5780601f10610a6157610100808354040283529160200191610a8c565b820191906000526020600020905b815481529060010190602001808311610a6f57829003601f168201915b50505050509050919050565b6103f45481565b610aa7611aa5565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480610aed5750610aec85610ae7611aa5565b6111d6565b5b610b2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b23906139ac565b60405180910390fd5b610b398585858585611aad565b5050505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610bd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc790613a2c565b60405180910390fd5b600081118015610be95750610be560016111b2565b8111155b610c28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1f906139cc565b60405180910390fd5b806103f48190555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cba90613a2c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2a90613a4c565b60405180910390fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b602881565b6103f25481565b60608151835114610dc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc090613acc565b60405180910390fd5b6000835167ffffffffffffffff811115610e0c577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015610e3a5781602001602082028036833780820191505090505b50905060005b8451811015610f2957610ed3858281518110610e85577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020026020010151858381518110610ec6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101516106db565b828281518110610f0c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505080610f2290613efa565b9050610e40565b508091505092915050565b600080610f40836111b2565b119050919050565b603281565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a81565b600181565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60068054610fb090613e97565b80601f0160208091040260200160405190810160405280929190818152602001828054610fdc90613e97565b80156110295780601f10610ffe57610100808354040283529160200191611029565b820191906000526020600020905b81548152906001019060200180831161100c57829003601f168201915b505050505081565b8173ffffffffffffffffffffffffffffffffffffffff16611050611aa5565b73ffffffffffffffffffffffffffffffffffffffff1614156110a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109e90613a8c565b60405180910390fd5b80600160006110b4611aa5565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16611161611aa5565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516111a6919061384f565b60405180910390a35050565b600060036000838152602001908152602001600020549050919050565b6103f35481565b60006001905092915050565b60026004541415611228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121f90613b2c565b60405180910390fd5b60026004819055506103f454811115611276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126d90613a0c565b60405180910390fd5b61127f81611e0d565b60005b818110156113fa57600061129660016111b2565b6103f2546112a49190613f43565b905060008073ffffffffffffffffffffffffffffffffffffffff16600a836103e881106112fa577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461139957600a826103e88110611372577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166113bd565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b90506113dc8186600180604051806020016040528060008152506116c6565b6113e585611f3d565b505080806113f290613efa565b915050611282565b5060006103e860323461140d9190613d41565b6114179190613d10565b905060006103e8600a3461142b9190613d41565b6114359190613d10565b9050600082111561146d5761146c600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836119b1565b5b60008111156114fa57600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637079fb67826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156114e057600080fd5b505af11580156114f4573d6000803e3d6000fd5b50505050505b8373ffffffffffffffffffffffffffffffffffffffff167f31d8410029cba7bb8656f8b8c43961cfe8e425907121c3b2f979e4328db051f38434604051611542929190613b67565b60405180910390a2505060016004819055505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115df90613a2c565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161162391906136d5565b60206040518083038186803b15801561163b57600080fd5b505afa15801561164f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167391906131f7565b90506116c2600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff1661221d9092919063ffffffff16565b5050565b6116ce611aa5565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061171457506117138561170e611aa5565b6111d6565b5b611753576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174a906138ec565b60405180910390fd5b61176085858585856122a3565b5050505050565b600a816103e8811061177857600080fd5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561180e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180590613b0c565b60405180910390fd5b6000611818611aa5565b90506118398160008761182a88612525565b61183388612525565b876125eb565b8260008086815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118989190613cba565b925050819055508473ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628787604051611916929190613b67565b60405180910390a461192d816000878787876125f3565b5050505050565b600080823b905060008111915050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b804710156119f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119eb9061394c565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff1682604051611a1a906136c0565b60006040518083038185875af1925050503d8060008114611a57576040519150601f19603f3d011682016040523d82523d6000602084013e611a5c565b606091505b5050905080611aa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a979061392c565b60405180910390fd5b505050565b600033905090565b8151835114611af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae890613aec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611b61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b589061398c565b60405180910390fd5b6000611b6b611aa5565b9050611b7b8187878787876125eb565b60005b8451811015611d78576000858281518110611bc2577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015190506000858381518110611c07577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101519050600080600084815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611ca8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9f906139ec565b60405180910390fd5b81810360008085815260200190815260200160002060008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160008085815260200190815260200160002060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d5d9190613cba565b9250508190555050505080611d7190613efa565b9050611b7e565b508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611def929190613818565b60405180910390a4611e058187878787876127da565b505050505050565b6000611e1960016111b2565b90506000816103f254611e2c9190613f43565b82611e379190613d9b565b905082811115611ea157826002600754611e519190613d41565b611e5b9190613d41565b3414611e9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e939061390c565b60405180910390fd5b611f38565b600081905060008185611eb49190613d9b565b9050806004600754611ec69190613d41565b611ed09190613d41565b826002600754611ee09190613d41565b611eea9190613d41565b611ef49190613cba565b3414611f35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2c9061390c565b60405180910390fd5b50505b505050565b60006002600754611f4e9190613d41565b90506000611f5c60016111b2565b90506000816103f254611f6f9190613f43565b905060008073ffffffffffffffffffffffffffffffffffffffff16600a836103e88110611fc5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461206457600a826103e8811061203d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612088565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff165b905084600a836103e881106120c6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001836121129190613d9b565b82141561212157836007819055505b60006103e86032866121339190613d41565b61213d9190613d10565b905060006103e86028876121519190613d41565b61215b9190613d10565b905060006103e8600a8861216f9190613d41565b6121799190613d10565b90506000866103f2541061219b57866103f3546121969190613d10565b61219e565b60005b905082816103f3546121b09190613d9b565b6121ba9190613cba565b6103f38190555060016103f260008282546121d59190613cba565b9250508190555061221285828486888d6121ef9190613d9b565b6121f99190613d9b565b6122039190613d9b565b61220d9190613cba565b6119b1565b505050505050505050565b61229e8363a9059cbb60e01b848460405160240161223c9291906137cd565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506129c1565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612313576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230a9061398c565b60405180910390fd5b600061231d611aa5565b905061233d81878761232e88612525565b61233788612525565b876125eb565b600080600086815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156123d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123cb906139ec565b60405180910390fd5b83810360008087815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508360008087815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546124899190613cba565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628888604051612506929190613b67565b60405180910390a461251c8288888888886125f3565b50505050505050565b60606000600167ffffffffffffffff81111561256a577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280602002602001820160405280156125985781602001602082028036833780820191505090505b50905082816000815181106125d6577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200260200101818152505080915050919050565b505050505050565b6126128473ffffffffffffffffffffffffffffffffffffffff16611934565b156127d2578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b8152600401612658959493929190613773565b602060405180830381600087803b15801561267257600080fd5b505af19250505080156126a357506040513d601f19601f820116820180604052508101906126a091906131a5565b60015b612749576126af614030565b806308c379a0141561270c57506126c46146a5565b806126cf575061270e565b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612703919061386a565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127409061388c565b60405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146127d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127c7906138ac565b60405180910390fd5b505b505050505050565b6127f98473ffffffffffffffffffffffffffffffffffffffff16611934565b156129b9578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b815260040161283f95949392919061370b565b602060405180830381600087803b15801561285957600080fd5b505af192505050801561288a57506040513d601f19601f8201168201806040525081019061288791906131a5565b60015b61293057612896614030565b806308c379a014156128f357506128ab6146a5565b806128b657506128f5565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ea919061386a565b60405180910390fd5b505b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129279061388c565b60405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146129b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ae906138ac565b60405180910390fd5b505b505050505050565b6000612a23826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612a889092919063ffffffff16565b9050600081511115612a835780806020019051810190612a439190613153565b612a82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a7990613aac565b60405180910390fd5b5b505050565b6060612a978484600085612aa0565b90509392505050565b606082471015612ae5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612adc9061396c565b60405180910390fd5b612aee85611934565b612b2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b2490613a6c565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612b5691906136a9565b60006040518083038185875af1925050503d8060008114612b93576040519150601f19603f3d011682016040523d82523d6000602084013e612b98565b606091505b5091509150612ba8828286612bb4565b92505050949350505050565b60608315612bc457829050612c14565b600083511115612bd75782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c0b919061386a565b60405180910390fd5b9392505050565b6000612c2e612c2984613bb5565b613b90565b90508083825260208201905082856020860282011115612c4d57600080fd5b60005b85811015612c7d5781612c638882612d31565b845260208401935060208301925050600181019050612c50565b5050509392505050565b6000612c9a612c9584613be1565b613b90565b90508083825260208201905082856020860282011115612cb957600080fd5b60005b85811015612ce95781612ccf8882612e2d565b845260208401935060208301925050600181019050612cbc565b5050509392505050565b6000612d06612d0184613c0d565b613b90565b905082815260208101848484011115612d1e57600080fd5b612d29848285613e55565b509392505050565b600081359050612d408161473b565b92915050565b600081359050612d5581614752565b92915050565b600082601f830112612d6c57600080fd5b8135612d7c848260208601612c1b565b91505092915050565b600082601f830112612d9657600080fd5b8135612da6848260208601612c87565b91505092915050565b600081359050612dbe81614769565b92915050565b600081519050612dd381614769565b92915050565b600081359050612de881614780565b92915050565b600081519050612dfd81614780565b92915050565b600082601f830112612e1457600080fd5b8135612e24848260208601612cf3565b91505092915050565b600081359050612e3c81614797565b92915050565b600081519050612e5181614797565b92915050565b600060208284031215612e6957600080fd5b6000612e7784828501612d31565b91505092915050565b600060208284031215612e9257600080fd5b6000612ea084828501612d46565b91505092915050565b60008060408385031215612ebc57600080fd5b6000612eca85828601612d46565b9250506020612edb85828601612e2d565b9150509250929050565b60008060408385031215612ef857600080fd5b6000612f0685828601612d31565b9250506020612f1785828601612d31565b9150509250929050565b600080600080600060a08688031215612f3957600080fd5b6000612f4788828901612d31565b9550506020612f5888828901612d31565b945050604086013567ffffffffffffffff811115612f7557600080fd5b612f8188828901612d85565b935050606086013567ffffffffffffffff811115612f9e57600080fd5b612faa88828901612d85565b925050608086013567ffffffffffffffff811115612fc757600080fd5b612fd388828901612e03565b9150509295509295909350565b600080600080600060a08688031215612ff857600080fd5b600061300688828901612d31565b955050602061301788828901612d31565b945050604061302888828901612e2d565b935050606061303988828901612e2d565b925050608086013567ffffffffffffffff81111561305657600080fd5b61306288828901612e03565b9150509295509295909350565b6000806040838503121561308257600080fd5b600061309085828601612d31565b92505060206130a185828601612daf565b9150509250929050565b600080604083850312156130be57600080fd5b60006130cc85828601612d31565b92505060206130dd85828601612e2d565b9150509250929050565b600080604083850312156130fa57600080fd5b600083013567ffffffffffffffff81111561311457600080fd5b61312085828601612d5b565b925050602083013567ffffffffffffffff81111561313d57600080fd5b61314985828601612d85565b9150509250929050565b60006020828403121561316557600080fd5b600061317384828501612dc4565b91505092915050565b60006020828403121561318e57600080fd5b600061319c84828501612dd9565b91505092915050565b6000602082840312156131b757600080fd5b60006131c584828501612dee565b91505092915050565b6000602082840312156131e057600080fd5b60006131ee84828501612e2d565b91505092915050565b60006020828403121561320957600080fd5b600061321784828501612e42565b91505092915050565b600061322c838361368b565b60208301905092915050565b61324181613de1565b82525050565b61325081613dcf565b82525050565b600061326182613c4e565b61326b8185613c7c565b935061327683613c3e565b8060005b838110156132a757815161328e8882613220565b975061329983613c6f565b92505060018101905061327a565b5085935050505092915050565b6132bd81613df3565b82525050565b60006132ce82613c59565b6132d88185613c8d565b93506132e8818560208601613e64565b6132f181614052565b840191505092915050565b600061330782613c59565b6133118185613c9e565b9350613321818560208601613e64565b80840191505092915050565b600061333882613c64565b6133428185613ca9565b9350613352818560208601613e64565b61335b81614052565b840191505092915050565b6000613373603483613ca9565b915061337e82614070565b604082019050919050565b6000613396602883613ca9565b91506133a1826140bf565b604082019050919050565b60006133b9602b83613ca9565b91506133c48261410e565b604082019050919050565b60006133dc602983613ca9565b91506133e78261415d565b604082019050919050565b60006133ff603383613ca9565b915061340a826141ac565b604082019050919050565b6000613422603a83613ca9565b915061342d826141fb565b604082019050919050565b6000613445601d83613ca9565b91506134508261424a565b602082019050919050565b6000613468602683613ca9565b915061347382614273565b604082019050919050565b600061348b602583613ca9565b9150613496826142c2565b604082019050919050565b60006134ae603283613ca9565b91506134b982614311565b604082019050919050565b60006134d1603283613ca9565b91506134dc82614360565b604082019050919050565b60006134f4602a83613ca9565b91506134ff826143af565b604082019050919050565b6000613517602683613ca9565b9150613522826143fe565b604082019050919050565b600061353a602c83613ca9565b91506135458261444d565b604082019050919050565b600061355d601d83613ca9565b91506135688261449c565b602082019050919050565b6000613580600083613c9e565b915061358b826144c5565b600082019050919050565b60006135a3601d83613ca9565b91506135ae826144c8565b602082019050919050565b60006135c6602983613ca9565b91506135d1826144f1565b604082019050919050565b60006135e9602a83613ca9565b91506135f482614540565b604082019050919050565b600061360c602983613ca9565b91506136178261458f565b604082019050919050565b600061362f602883613ca9565b915061363a826145de565b604082019050919050565b6000613652602183613ca9565b915061365d8261462d565b604082019050919050565b6000613675601f83613ca9565b91506136808261467c565b602082019050919050565b61369481613e4b565b82525050565b6136a381613e4b565b82525050565b60006136b582846132fc565b915081905092915050565b60006136cb82613573565b9150819050919050565b60006020820190506136ea6000830184613247565b92915050565b60006020820190506137056000830184613238565b92915050565b600060a0820190506137206000830188613247565b61372d6020830187613247565b818103604083015261373f8186613256565b905081810360608301526137538185613256565b9050818103608083015261376781846132c3565b90509695505050505050565b600060a0820190506137886000830188613247565b6137956020830187613247565b6137a2604083018661369a565b6137af606083018561369a565b81810360808301526137c181846132c3565b90509695505050505050565b60006040820190506137e26000830185613247565b6137ef602083018461369a565b9392505050565b600060208201905081810360008301526138108184613256565b905092915050565b600060408201905081810360008301526138328185613256565b905081810360208301526138468184613256565b90509392505050565b600060208201905061386460008301846132b4565b92915050565b60006020820190508181036000830152613884818461332d565b905092915050565b600060208201905081810360008301526138a581613366565b9050919050565b600060208201905081810360008301526138c581613389565b9050919050565b600060208201905081810360008301526138e5816133ac565b9050919050565b60006020820190508181036000830152613905816133cf565b9050919050565b60006020820190508181036000830152613925816133f2565b9050919050565b6000602082019050818103600083015261394581613415565b9050919050565b6000602082019050818103600083015261396581613438565b9050919050565b600060208201905081810360008301526139858161345b565b9050919050565b600060208201905081810360008301526139a58161347e565b9050919050565b600060208201905081810360008301526139c5816134a1565b9050919050565b600060208201905081810360008301526139e5816134c4565b9050919050565b60006020820190508181036000830152613a05816134e7565b9050919050565b60006020820190508181036000830152613a258161350a565b9050919050565b60006020820190508181036000830152613a458161352d565b9050919050565b60006020820190508181036000830152613a6581613550565b9050919050565b60006020820190508181036000830152613a8581613596565b9050919050565b60006020820190508181036000830152613aa5816135b9565b9050919050565b60006020820190508181036000830152613ac5816135dc565b9050919050565b60006020820190508181036000830152613ae5816135ff565b9050919050565b60006020820190508181036000830152613b0581613622565b9050919050565b60006020820190508181036000830152613b2581613645565b9050919050565b60006020820190508181036000830152613b4581613668565b9050919050565b6000602082019050613b61600083018461369a565b92915050565b6000604082019050613b7c600083018561369a565b613b89602083018461369a565b9392505050565b6000613b9a613bab565b9050613ba68282613ec9565b919050565b6000604051905090565b600067ffffffffffffffff821115613bd057613bcf614001565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613bfc57613bfb614001565b5b602082029050602081019050919050565b600067ffffffffffffffff821115613c2857613c27614001565b5b613c3182614052565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b6000613cc582613e4b565b9150613cd083613e4b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613d0557613d04613f74565b5b828201905092915050565b6000613d1b82613e4b565b9150613d2683613e4b565b925082613d3657613d35613fa3565b5b828204905092915050565b6000613d4c82613e4b565b9150613d5783613e4b565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613d9057613d8f613f74565b5b828202905092915050565b6000613da682613e4b565b9150613db183613e4b565b925082821015613dc457613dc3613f74565b5b828203905092915050565b6000613dda82613e2b565b9050919050565b6000613dec82613e2b565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015613e82578082015181840152602081019050613e67565b83811115613e91576000848401525b50505050565b60006002820490506001821680613eaf57607f821691505b60208210811415613ec357613ec2613fd2565b5b50919050565b613ed282614052565b810181811067ffffffffffffffff82111715613ef157613ef0614001565b5b80604052505050565b6000613f0582613e4b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613f3857613f37613f74565b5b600182019050919050565b6000613f4e82613e4b565b9150613f5983613e4b565b925082613f6957613f68613fa3565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600060033d111561404f5760046000803e61404c600051614063565b90505b90565b6000601f19601f8301169050919050565b60008160e01c9050919050565b7f455243313135353a207472616e7366657220746f206e6f6e204552433131353560008201527f526563656976657220696d706c656d656e746572000000000000000000000000602082015250565b7f455243313135353a204552433131353552656365697665722072656a6563746560008201527f6420746f6b656e73000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a2062616c616e636520717565727920666f7220746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b7f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260008201527f20617070726f7665640000000000000000000000000000000000000000000000602082015250565b7f596f75206e65656420746f2073656e642074776963652074686520616d6f756e60008201527f74206f662070726576696f757320707269636500000000000000000000000000602082015250565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a207472616e7366657220746f20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a207472616e736665722063616c6c6572206973206e6f742060008201527f6f776e6572206e6f7220617070726f7665640000000000000000000000000000602082015250565b7f4d61782062757973206d7573742062652061626f7665207a65726f20616e642060008201527f62656c6f7720746f74616c20737570706c790000000000000000000000000000602082015250565b7f455243313135353a20696e73756666696369656e742062616c616e636520666f60008201527f72207472616e7366657200000000000000000000000000000000000000000000602082015250565b7f547279696e6720746f20627579206d6f7265207468616e20616c6c6f7765642060008201527f616d6f756e740000000000000000000000000000000000000000000000000000602082015250565b7f4f6e6c79207365727669636520616464726573732063616e2063616c6c20746860008201527f69732066756e6374696f6e2e0000000000000000000000000000000000000000602082015250565b7f5365727669636520616464726573732063616e2774206265207a65726f000000600082015250565b50565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b7f455243313135353a2073657474696e6720617070726f76616c2073746174757360008201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b7f455243313135353a206163636f756e747320616e6420696473206c656e67746860008201527f206d69736d617463680000000000000000000000000000000000000000000000602082015250565b7f455243313135353a2069647320616e6420616d6f756e7473206c656e6774682060008201527f6d69736d61746368000000000000000000000000000000000000000000000000602082015250565b7f455243313135353a206d696e7420746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b600060443d10156146b557614738565b6146bd613bab565b60043d036004823e80513d602482011167ffffffffffffffff821117156146e5575050614738565b808201805167ffffffffffffffff8111156147035750505050614738565b80602083010160043d038501811115614720575050505050614738565b61472f82602001850186613ec9565b82955050505050505b90565b61474481613dcf565b811461474f57600080fd5b50565b61475b81613de1565b811461476657600080fd5b50565b61477281613df3565b811461477d57600080fd5b50565b61478981613dff565b811461479457600080fd5b50565b6147a081613e4b565b81146147ab57600080fd5b5056fea2646970667358221220eacf83284e09ff0b94d25fa6465cb147db459eecf6ae7ef9bc5ceb8e98add5e864736f6c63430008040033', 'head': None, 'length': 36810, 'tail': None, 'truncated': False}, 'verified_source': False}
thinking
**Analyzing potential contract vulnerabilities**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
cap=obj['capability_graph']['graph_json']
edges=cap['edges']
# edges might be tuples? Let's inspect a few
print('edge sample', edges[:5])
# find edges that mention call:5347 etc
call_ids={'call:5347','call:5694','call:6695','call:9845','call:10332','call:11107'}
related=[e for e in edges if any(isinstance(x,str) and x in call_ids for x in e.values())]
print('related edges', related[:20])
PY" in /tmp/codex-46xpes5c succeeded in 44ms:
edge sample [{'from': 'bb:0', 'to': 'bb:442', 'type': 'control_flow'}, {'from': 'bb:0', 'to': 'bb:13', 'type': 'control_flow_fallthrough'}, {'from': 'bb:13', 'to': 'bb:236', 'type': 'control_flow'}, {'from': 'bb:13', 'to': 'bb:30', 'type': 'control_flow_fallthrough'}, {'from': 'bb:30', 'to': 'bb:138', 'type': 'control_flow'}]
related edges [{'from': 'bb:5344', 'to': 'call:5347', 'type': 'contains'}, {'from': 'call:5347', 'to': 'sink:call', 'type': 'capability'}, {'from': 'bb:5691', 'to': 'call:5694', 'type': 'contains'}, {'from': 'call:5694', 'to': 'sink:staticcall', 'type': 'capability'}, {'from': 'bb:6682', 'to': 'call:6695', 'type': 'contains'}, {'from': 'call:6695', 'to': 'sink:call', 'type': 'capability'}, {'from': 'bb:9842', 'to': 'call:9845', 'type': 'contains'}, {'from': 'call:9845', 'to': 'sink:call', 'type': 'capability'}, {'from': 'bb:10329', 'to': 'call:10332', 'type': 'contains'}, {'from': 'call:10332', 'to': 'sink:call', 'type': 'capability'}, {'from': 'bb:11094', 'to': 'call:11107', 'type': 'contains'}, {'from': 'call:11107', 'to': 'sink:call', 'type': 'capability'}]
thinking
**Inspecting function-to-basic-block edges**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
cap=obj['capability_graph']['graph_json']
edges=cap['edges']
# map bb to function id if direct edges exist
bb_to_fn={}
for e in edges:
if e.get('type') in ('contains','entry'):
fr=e.get('from'); to=e.get('to')
if isinstance(fr,str) and fr.startswith('fn:') and isinstance(to,str) and to.startswith('bb:'):
bb_to_fn[to]=fr
# for each callsite bb
call_bbs=['bb:5344','bb:5691','bb:6682','bb:9842','bb:10329','bb:11094']
for bb in call_bbs:
print(bb,'fn',bb_to_fn.get(bb))
# maybe there are edges function->bb for start blocks only. Let's try to find any function path to call bb using BFS.
from collections import deque, defaultdict
# build adjacency
adj=defaultdict(list)
for e in edges:
adj[e['from']].append(e['to'])
# BFS from functions to call bb
call_bbs=set(call_bbs)
fn_nodes=[n['id'] for n in cap['nodes'] if n.get('type')=='function']
for fn in fn_nodes:
# BFS limited depth
q=deque([fn])
seen=set([fn])
found=False
while q and not found:
cur=q.popleft()
for nxt in adj.get(cur,[]):
if nxt in seen: continue
seen.add(nxt)
if nxt in call_bbs:
print('fn',fn,'reaches',nxt)
found=True
break
# limit BFS to avoid huge search? We'll break if size large
if len(seen)>5000: break
q.append(nxt)
# if large break? continue
PY" in /tmp/codex-46xpes5c succeeded in 92ms:
bb:5344 fn None
bb:5691 fn None
bb:6682 fn None
bb:9842 fn None
bb:10329 fn None
bb:11094 fn None
thinking
**Inspecting graph edges from functions**
exec
/bin/bash -lc "python - <<'PY'
import json
from pathlib import Path
obj=json.loads(Path('BYTECODE_BUNDLE.json').read_text())
cap=obj['capability_graph']['graph_json']
edges=cap['edges']
# show some edges with from fn
fn_edges=[e for e in edges if isinstance(e.get('from'),str) and e['from'].startswith('fn:')]
print('fn_edges',len(fn_edges))
print(fn_edges[:10])
PY" in /tmp/codex-46xpes5c succeeded in 36ms:
fn_edges 19
[{'from': 'fn:0xeec12f97', 'to': 'bb:4005638039', 'type': 'entry'}, {'from': 'fn:0xeed007cd', 'to': 'bb:4064428842', 'type': 'entry'}, {'from': 'fn:0xf242432a', 'to': 'bb:4071260696', 'type': 'entry'}, {'from': 'fn:0xbd85b039', 'to': 'bb:3610081753', 'type': 'entry'}, {'from': 'fn:0xd72d79d9', 'to': 'bb:3917867461', 'type': 'entry'}, {'from': 'fn:0x89a89002', 'to': 'bb:2309525506', 'type': 'entry'}, {'from': 'fn:0x8d5b87b6', 'to': 'bb:2514000705', 'type': 'entry'}, {'from': 'fn:0x95d89b41', 'to': 'bb:2720838757', 'type': 'entry'}, {'from': 'fn:0x50c86de5', 'to': 'bb:1361819932', 'type': 'entry'}, {'from': 'fn:0x512bb91c', 'to': 'bb:2173179175', 'type': 'entry'}]
thinking
**Summarizing bytecode security findings**
I’m putting together a JSON summary reporting an ERC1155-like contract bytecode with detected SELFDESTRUCT opcode (medium severity, other category) and external CALLs with computed targets and values (low severity). The findings will cautiously mention uncertain validation around access control and return data checks, grounding exploit scenarios and recommendations in the limited evidence available.
codex
{"no_findings":false,"summary":"Bytecode-only analysis flags a SELFDESTRUCT opcode and multiple CALL sites with computed target/value; proxy/delegatecall patterns are not detected. The external-call risks are uncertain because validation suggests constant targets in at least one trace and returndata checks are unknown in artifacts.","findings":[{"severity":"medium","category":"other","title":"Potentially reachable SELFDESTRUCT kill-switch","exploit_scenario":"If an externally reachable path can jump into the SELFDESTRUCT opcode (e.g., via a privileged or insufficiently guarded function), a caller could permanently destroy the contract and redirect any remaining ETH to a beneficiary address. Because this is bytecode-only and validation was inconclusive, the reachability is uncertain.","recommendation":"Remove SELFDESTRUCT from production deployments or gate it behind strict, auditable access control (e.g., immutable admin + timelock) and add explicit event logging for any destruction path.","evidence":"Detector flagged SELFDESTRUCT reachable (confidence 45) with selfdestruct_count=1; a basic block contains SELFDESTRUCT in the opcode stream, but validation status is unknown.","locations":["pc:18351"]},{"severity":"low","category":"other","title":"CALL sites with computed target/value; untrusted external call/ETH transfer not ruled out","exploit_scenario":"If any of these CALLs use user-influenced target/value and are reachable without strict access control, an attacker could trigger arbitrary external calls, potentially enabling reentrancy or unintended ETH transfers. Validation suggests constant targets in one trace, so untrusted targets are not confirmed for all paths.","recommendation":"Ensure CALL targets are trusted/whitelisted, restrict or zero ETH value unless intended, and enforce success checks plus reentrancy protections around state updates.","evidence":"Detector reports CALL targets/values are computed and returndata checks are unknown; callsites at pc 5347, 6695, 9845, 10332, 11107. Validation shows constant target to the contract address in one trace, so risk is uncertain.","locations":["pc:5347","pc:6695","pc:9845","pc:10332","pc:11107"]}]}
tokens used
70,619
{
"codex": {
"ran_at": "2026-01-13T02:17:54.159064+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 36810,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode-only analysis flags a SELFDESTRUCT opcode and multiple CALL sites with computed target/value; proxy/delegatecall patterns are not detected. The external-call risks are uncertain because validation suggests constant targets in at least one trace and returndata checks are unknown in artifacts.",
"raw_final": {
"summary": "Bytecode-only analysis flags a SELFDESTRUCT opcode and multiple CALL sites with computed target/value; proxy/delegatecall patterns are not detected. The external-call risks are uncertain because validation suggests constant targets in at least one trace and returndata checks are unknown in artifacts.",
"findings": [
{
"title": "Potentially reachable SELFDESTRUCT kill-switch",
"category": "other",
"evidence": "Detector flagged SELFDESTRUCT reachable (confidence 45) with selfdestruct_count=1; a basic block contains SELFDESTRUCT in the opcode stream, but validation status is unknown.",
"severity": "medium",
"locations": [
"pc:18351"
],
"recommendation": "Remove SELFDESTRUCT from production deployments or gate it behind strict, auditable access control (e.g., immutable admin + timelock) and add explicit event logging for any destruction path.",
"exploit_scenario": "If an externally reachable path can jump into the SELFDESTRUCT opcode (e.g., via a privileged or insufficiently guarded function), a caller could permanently destroy the contract and redirect any remaining ETH to a beneficiary address. Because this is bytecode-only and validation was inconclusive, the reachability is uncertain."
},
{
"title": "CALL sites with computed target/value; untrusted external call/ETH transfer not ruled out",
"category": "other",
"evidence": "Detector reports CALL targets/values are computed and returndata checks are unknown; callsites at pc 5347, 6695, 9845, 10332, 11107. Validation shows constant target to the contract address in one trace, so risk is uncertain.",
"severity": "low",
"locations": [
"pc:5347",
"pc:6695",
"pc:9845",
"pc:10332",
"pc:11107"
],
"recommendation": "Ensure CALL targets are trusted/whitelisted, restrict or zero ETH value unless intended, and enforce success checks plus reentrancy protections around state updates.",
"exploit_scenario": "If any of these CALLs use user-influenced target/value and are reachable without strict access control, an attacker could trigger arbitrary external calls, potentially enabling reentrancy or unintended ETH transfers. Validation suggests constant targets in one trace, so untrusted targets are not confirmed for all paths."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x01ba 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH1 0xe0 00000012: SHR 00000013: DUP1 00000014: PUSH4 0x50c86de5 00000019: GT 0000001a: PUSH2 0x00ec 0000001d: JUMPI 0000001e: DUP1 0000001f: PUSH4 0xbd85b039 00000024: GT 00000025: PUSH2 0x008a 00000028: JUMPI 00000029: DUP1 0000002a: PUSH4 0xeec12f97 0000002f: GT 00000030: PUSH2 0x0064 00000033: JUMPI 00000034: DUP1 00000035: PUSH4 0xeec12f97 0000003a: EQ 0000003b: PUSH2 0x0630 0000003e: JUMPI 0000003f: DUP1 00000040: PUSH4 0xeed007cd 00000045: EQ 00000046: PUSH2 0x064c 00000049: JUMPI 0000004a: DUP1 0000004b: PUSH4 0xf242432a 00000050: EQ 00000051: PUSH2 0x0675 00000054: JUMPI 00000055: DUP1 00000056: PUSH4 0xf2aa8218 0000005b: EQ 0000005c: PUSH2 0x069e 0000005f: JUMPI 00000060: PUSH2 0x01c1 00000063: JUMP 00000064: JUMPDEST 00000065: DUP1 00000066: PUSH4 0xbd85b039 0000006b: EQ 0000006c: PUSH2 0x058b 0000006f: JUMPI 00000070: DUP1 00000071: PUSH4 0xd72d79d9 00000076: EQ 00000077: PUSH2 0x05c8 0000007a: JUMPI 0000007b: DUP1 0000007c: PUSH4 0xe985e9c5 00000081: EQ 00000082: PUSH2 0x05f3 00000085: JUMPI 00000086: PUSH2 0x01c1 00000089: JUMP 0000008a: JUMPDEST 0000008b: DUP1 0000008c: PUSH4 0x89a89002 00000091: GT 00000092: PUSH2 0x00c6 00000095: JUMPI 00000096: DUP1 00000097: PUSH4 0x89a89002 0000009c: EQ 0000009d: PUSH2 0x04e1 000000a0: JUMPI 000000a1: DUP1 000000a2: PUSH4 0x8d5b87b6 000000a7: EQ 000000a8: PUSH2 0x050c 000000ab: JUMPI 000000ac: DUP1 000000ad: PUSH4 0x95d89b41 000000b2: EQ 000000b3: PUSH2 0x0537 000000b6: JUMPI 000000b7: DUP1 000000b8: PUSH4 0xa22cb465 000000bd: EQ 000000be: PUSH2 0x0562 000000c1: JUMPI 000000c2: PUSH2 0x01c1 000000c5: JUMP 000000c6: JUMPDEST 000000c7: DUP1 000000c8: PUSH4 0x50c86de5 000000cd: EQ 000000ce: PUSH2 0x0460 000000d1: JUMPI 000000d2: DUP1 000000d3: PUSH4 0x512bb91c 000000d8: EQ 000000d9: PUSH2 0x048b 000000dc: JUMPI 000000dd: DUP1 000000de: PUSH4 0x81881527 000000e3: EQ 000000e4: PUSH2 0x04b6 000000e7: JUMPI 000000e8: PUSH2 0x01c1 000000eb: JUMP 000000ec: JUMPDEST 000000ed: DUP1 000000ee: PUSH4 0x2eb2c2d6 000000f3: GT 000000f4: PUSH2 0x0159 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0x3a6521e8 000000fe: GT 000000ff: PUSH2 0x0133 00000102: JUMPI 00000103: DUP1 00000104: PUSH4 0x3a6521e8 00000109: EQ 0000010a: PUSH2 0x0390 0000010d: JUMPI 0000010e: DUP1 0000010f: PUSH4 0x4dd8bd89 00000114: EQ 00000115: PUSH2 0x03bb 00000118: JUMPI 00000119: DUP1 0000011a: PUSH4 0x4e1273f4 0000011f: EQ 00000120: PUSH2 0x03e6 00000123: JUMPI 00000124: DUP1 00000125: PUSH4 0x4f558e79 0000012a: EQ 0000012b: PUSH2 0x0423 0000012e: JUMPI 0000012f: PUSH2 0x01c1 00000132: JUMP 00000133: JUMPDEST 00000134: DUP1 00000135: PUSH4 0x2eb2c2d6 0000013a: EQ 0000013b: PUSH2 0x0315 0000013e: JUMPI 0000013f: DUP1 00000140: PUSH4 0x32cec96d 00000145: EQ 00000146: PUSH2 0x033e 00000149: JUMPI 0000014a: DUP1 0000014b: PUSH4 0x3760911b 00000150: EQ 00000151: PUSH2 0x0367 00000154: JUMPI 00000155: PUSH2 0x01c1 00000158: JUMP 00000159: JUMPDEST 0000015a: DUP1 0000015b: PUSH4 0x06fdde03 00000160: GT 00000161: PUSH2 0x0195 00000164: JUMPI 00000165: DUP1 00000166: PUSH4 0x06fdde03 0000016b: EQ 0000016c: PUSH2 0x026b 0000016f: JUMPI 00000170: DUP1 00000171: PUSH4 0x08fdf78b 00000176: EQ 00000177: PUSH2 0x0296 0000017a: JUMPI 0000017b: DUP1 0000017c: PUSH4 0x0e89341c 00000181: EQ 00000182: PUSH2 0x02ad 00000185: JUMPI 00000186: DUP1 00000187: PUSH4 0x13d36c5c 0000018c: EQ 0000018d: PUSH2 0x02ea 00000190: JUMPI 00000191: PUSH2 0x01c1 00000194: JUMP 00000195: JUMPDEST 00000196: DUP1 00000197: PUSH3 0xfdd58e 0000019b: EQ 0000019c: PUSH2 0x01c6 0000019f: JUMPI 000001a0: DUP1 000001a1: PUSH4 0x01ffc9a7 000001a6: EQ 000001a7: PUSH2 0x0203 000001aa: JUMPI 000001ab: DUP1 000001ac: PUSH4 0x053f14da 000001b1: EQ 000001b2: PUSH2 0x0240 000001b5: JUMPI 000001b6: PUSH2 0x01c1 000001b9: JUMP 000001ba: JUMPDEST 000001bb: CALLDATASIZE 000001bc: PUSH2 0x01c1 000001bf: JUMPI 000001c0: STOP 000001c1: JUMPDEST 000001c2: PUSH1 0x00 000001c4: DUP1 000001c5: REVERT 000001c6: JUMPDEST 000001c7: CALLVALUE 000001c8: DUP1 000001c9: ISZERO 000001ca: PUSH2 0x01d2 000001cd: JUMPI 000001ce: PUSH1 0x00 000001d0: DUP1 000001d1: REVERT 000001d2: JUMPDEST 000001d3: POP 000001d4: PUSH2 0x01ed 000001d7: PUSH1 0x04 000001d9: DUP1 000001da: CALLDATASIZE 000001db: SUB 000001dc: DUP2 000001dd: ADD 000001de: SWAP1 000001df: PUSH2 0x01e8 000001e2: SWAP2 000001e3: SWAP1 000001e4: PUSH2 0x30ab 000001e7: JUMP 000001e8: JUMPDEST 000001e9: PUSH2 0x06db 000001ec: JUMP 000001ed: JUMPDEST 000001ee: PUSH1 0x40 000001f0: MLOAD 000001f1: PUSH2 0x01fa 000001f4: SWAP2 000001f5: SWAP1 000001f6: PUSH2 0x3b4c 000001f9: JUMP 000001fa: JUMPDEST 000001fb: PUSH1 0x40 000001fd: MLOAD 000001fe: DUP1 000001ff: SWAP2 00000200: SUB 00000201: SWAP1 00000202: RETURN 00000203: JUMPDEST 00000204: CALLVALUE 00000205: DUP1 00000206: ISZERO 00000207: PUSH2 0x020f 0000020a: JUMPI 0000020b: PUSH1 0x00 0000020d: DUP1 0000020e: REVERT 0000020f: JUMPDEST 00000210: POP 00000211: PUSH2 0x022a 00000214: PUSH1 0x04 00000216: DUP1 00000217: CALLDATASIZE 00000218: SUB 00000219: DUP2 0000021a: ADD 0000021b: SWAP1 0000021c: PUSH2 0x0225 0000021f: SWAP2 00000220: SWAP1 00000221: PUSH2 0x317c 00000224: JUMP 00000225: JUMPDEST 00000226: PUSH2 0x07a4 00000229: JUMP 0000022a: JUMPDEST 0000022b: PUSH1 0x40 0000022d: MLOAD 0000022e: PUSH2 0x0237 00000231: SWAP2 00000232: SWAP1 00000233: PUSH2 0x384f 00000236: JUMP 00000237: JUMPDEST 00000238: PUSH1 0x40 0000023a: MLOAD 0000023b: DUP1 0000023c: SWAP2 0000023d: SUB 0000023e: SWAP1 0000023f: RETURN 00000240: JUMPDEST 00000241: CALLVALUE 00000242: DUP1 00000243: ISZERO 00000244: PUSH2 0x024c 00000247: JUMPI 00000248: PUSH1 0x00 0000024a: DUP1 0000024b: REVERT 0000024c: JUMPDEST 0000024d: POP 0000024e: PUSH2 0x0255 00000251: PUSH2 0x0886 00000254: JUMP 00000255: JUMPDEST 00000256: PUSH1 0x40 00000258: MLOAD 00000259: PUSH2 0x0262 0000025c: SWAP2 0000025d: SWAP1 0000025e: PUSH2 0x3b4c 00000261: JUMP 00000262: JUMPDEST 00000263: PUSH1 0x40 00000265: MLOAD 00000266: DUP1 00000267: SWAP2 00000268: SUB 00000269: SWAP1 0000026a: RETURN 0000026b: JUMPDEST 0000026c: CALLVALUE 0000026d: DUP1 0000026e: ISZERO 0000026f: PUSH2 0x0277 00000272: JUMPI 00000273: PUSH1 0x00 00000275: DUP1 00000276: REVERT 00000277: JUMPDEST 00000278: POP 00000279: PUSH2 0x0280 0000027c: PUSH2 0x088c 0000027f: JUMP 00000280: JUMPDEST 00000281: PUSH1 0x40 00000283: MLOAD 00000284: PUSH2 0x028d 00000287: SWAP2 00000288: SWAP1 00000289: PUSH2 0x386a 0000028c: JUMP 0000028d: JUMPDEST 0000028e: PUSH1 0x40 00000290: MLOAD 00000291: DUP1 00000292: SWAP2 00000293: SUB 00000294: SWAP1 00000295: RETURN 00000296: JUMPDEST 00000297: CALLVALUE 00000298: DUP1 00000299: ISZERO 0000029a: PUSH2 0x02a2 0000029d: JUMPI 0000029e: PUSH1 0x00 000002a0: DUP1 000002a1: REVERT 000002a2: JUMPDEST 000002a3: POP 000002a4: PUSH2 0x02ab 000002a7: PUSH2 0x091a 000002aa: JUMP 000002ab: JUMPDEST 000002ac: STOP 000002ad: JUMPDEST 000002ae: CALLVALUE 000002af: DUP1 000002b0: ISZERO 000002b1: PUSH2 0x02b9 000002b4: JUMPI 000002b5: PUSH1 0x00 000002b7: DUP1 000002b8: REVERT 000002b9: JUMPDEST 000002ba: POP 000002bb: PUSH2 0x02d4 000002be: PUSH1 0x04 000002c0: DUP1 000002c1: CALLDATASIZE 000002c2: SUB 000002c3: DUP2 000002c4: ADD 000002c5: SWAP1 000002c6: PUSH2 0x02cf 000002c9: SWAP2 000002ca: SWAP1 000002cb: PUSH2 0x31ce 000002ce: JUMP 000002cf: JUMPDEST 000002d0: PUSH2 0x0a04 000002d3: JUMP 000002d4: JUMPDEST 000002d5: PUSH1 0x40 000002d7: MLOAD 000002d8: PUSH2 0x02e1 000002db: SWAP2 000002dc: SWAP1 000002dd: PUSH2 0x386a 000002e0: JUMP 000002e1: JUMPDEST 000002e2: PUSH1 0x40 000002e4: MLOAD 000002e5: DUP1 000002e6: SWAP2 000002e7: SUB 000002e8: SWAP1 000002e9: RETURN 000002ea: JUMPDEST 000002eb: CALLVALUE 000002ec: DUP1 000002ed: ISZERO 000002ee: PUSH2 0x02f6 000002f1: JUMPI 000002f2: PUSH1 0x00 000002f4: DUP1 000002f5: REVERT 000002f6: JUMPDEST 000002f7: POP 000002f8: PUSH2 0x02ff 000002fb: PUSH2 0x0a98 000002fe: JUMP 000002ff: JUMPDEST 00000300: PUSH1 0x40 00000302: MLOAD 00000303: PUSH2 0x030c 00000306: SWAP2 00000307: SWAP1 00000308: PUSH2 0x3b4c 0000030b: JUMP 0000030c: JUMPDEST 0000030d: PUSH1 0x40 0000030f: MLOAD 00000310: DUP1 00000311: SWAP2 00000312: SUB 00000313: SWAP1 00000314: RETURN 00000315: JUMPDEST 00000316: CALLVALUE 00000317: DUP1 00000318: ISZERO 00000319: PUSH2 0x0321 0000031c: JUMPI 0000031d: PUSH1 0x00 0000031f: DUP1 00000320: REVERT 00000321: JUMPDEST 00000322: POP 00000323: PUSH2 0x033c 00000326: PUSH1 0x04 00000328: DUP1 00000329: CALLDATASIZE 0000032a: SUB 0000032b: DUP2 0000032c: ADD 0000032d: SWAP1 0000032e: PUSH2 0x0337 00000331: SWAP2 00000332: SWAP1 00000333: PUSH2 0x2f21 00000336: JUMP 00000337: JUMPDEST 00000338: PUSH2 0x0a9f 0000033b: JUMP 0000033c: JUMPDEST 0000033d: STOP 0000033e: JUMPDEST 0000033f: CALLVALUE 00000340: DUP1 00000341: ISZERO 00000342: PUSH2 0x034a 00000345: JUMPI 00000346: PUSH1 0x00 00000348: DUP1 00000349: REVERT 0000034a: JUMPDEST 0000034b: POP 0000034c: PUSH2 0x0365 0000034f: PUSH1 0x04 00000351: DUP1 00000352: CALLDATASIZE 00000353: SUB 00000354: DUP2 00000355: ADD 00000356: SWAP1 00000357: PUSH2 0x0360 0000035a: SWAP2 0000035b: SWAP1 0000035c: PUSH2 0x31ce 0000035f: JUMP 00000360: JUMPDEST 00000361: PUSH2 0x0b40 00000364: JUMP 00000365: JUMPDEST 00000366: STOP 00000367: JUMPDEST 00000368: CALLVALUE 00000369: DUP1 0000036a: ISZERO 0000036b: PUSH2 0x0373 0000036e: JUMPI 0000036f: PUSH1 0x00 00000371: DUP1 00000372: REVERT 00000373: JUMPDEST 00000374: POP 00000375: PUSH2 0x038e 00000378: PUSH1 0x04 0000037a: DUP1 0000037b: CALLDATASIZE 0000037c: SUB 0000037d: DUP2 0000037e: ADD 0000037f: SWAP1 00000380: PUSH2 0x0389 00000383: SWAP2 00000384: SWAP1 00000385: PUSH2 0x2e80 00000388: JUMP 00000389: JUMPDEST 0000038a: PUSH2 0x0c33 0000038d: JUMP 0000038e: JUMPDEST 0000038f: STOP 00000390: JUMPDEST 00000391: CALLVALUE 00000392: DUP1 00000393: ISZERO 00000394: PUSH2 0x039c 00000397: JUMPI 00000398: PUSH1 0x00 0000039a: DUP1 0000039b: REVERT 0000039c: JUMPDEST 0000039d: POP 0000039e: PUSH2 0x03a5 000003a1: PUSH2 0x0d77 000003a4: JUMP 000003a5: JUMPDEST 000003a6: PUSH1 0x40 000003a8: MLOAD 000003a9: PUSH2 0x03b2 000003ac: SWAP2 000003ad: SWAP1 000003ae: PUSH2 0x3b4c 000003b1: JUMP 000003b2: JUMPDEST 000003b3: PUSH1 0x40 000003b5: MLOAD 000003b6: DUP1 000003b7: SWAP2 000003b8: SUB 000003b9: SWAP1 000003ba: RETURN 000003bb: JUMPDEST 000003bc: CALLVALUE 000003bd: DUP1 000003be: ISZERO 000003bf: PUSH2 0x03c7 000003c2: JUMPI 000003c3: PUSH1 0x00 000003c5: DUP1 000003c6: REVERT 000003c7: JUMPDEST 000003c8: POP 000003c9: PUSH2 0x03d0 000003cc: PUSH2 0x0d7c 000003cf: JUMP 000003d0: JUMPDEST 000003d1: PUSH1 0x40 000003d3: MLOAD 000003d4: PUSH2 0x03dd 000003d7: SWAP2 000003d8: SWAP1 000003d9: PUSH2 0x3b4c 000003dc: JUMP 000003dd: JUMPDEST 000003de: PUSH1 0x40 000003e0: MLOAD 000003e1: DUP1 000003e2: SWAP2 000003e3: SUB 000003e4: SWAP1 000003e5: RETURN 000003e6: JUMPDEST 000003e7: CALLVALUE 000003e8: DUP1 000003e9: ISZERO 000003ea: PUSH2 0x03f2 000003ed: JUMPI 000003ee: PUSH1 0x00 000003f0: DUP1 000003f1: REVERT 000003f2: JUMPDEST 000003f3: POP 000003f4: PUSH2 0x040d 000003f7: PUSH1 0x04 000003f9: DUP1 000003fa: CALLDATASIZE 000003fb: SUB 000003fc: DUP2 000003fd: ADD 000003fe: SWAP1 000003ff: PUSH2 0x0408 00000402: SWAP2 00000403: SWAP1 00000404: PUSH2 0x30e7 00000407: JUMP 00000408: JUMPDEST 00000409: PUSH2 0x0d83 0000040c: JUMP 0000040d: JUMPDEST 0000040e: PUSH1 0x40 00000410: MLOAD 00000411: PUSH2 0x041a 00000414: SWAP2 00000415: SWAP1 00000416: PUSH2 0x37f6 00000419: JUMP 0000041a: JUMPDEST 0000041b: PUSH1 0x40 0000041d: MLOAD 0000041e: DUP1 0000041f: SWAP2 00000420: SUB 00000421: SWAP1 00000422: RETURN 00000423: JUMPDEST 00000424: CALLVALUE 00000425: DUP1 00000426: ISZERO 00000427: PUSH2 0x042f 0000042a: JUMPI 0000042b: PUSH1 0x00 0000042d: DUP1 0000042e: REVERT 0000042f: JUMPDEST 00000430: POP 00000431: PUSH2 0x044a 00000434: PUSH1 0x04 00000436: DUP1 00000437: CALLDATASIZE 00000438: SUB 00000439: DUP2 0000043a: ADD 0000043b: SWAP1 0000043c: PUSH2 0x0445 0000043f: SWAP2 00000440: SWAP1 00000441: PUSH2 0x31ce 00000444: JUMP 00000445: JUMPDEST 00000446: PUSH2 0x0f34 00000449: JUMP 0000044a: JUMPDEST 0000044b: PUSH1 0x40 0000044d: MLOAD 0000044e: PUSH2 0x0457 00000451: SWAP2 00000452: SWAP1 00000453: PUSH2 0x384f 00000456: JUMP 00000457: JUMPDEST 00000458: PUSH1 0x40 0000045a: MLOAD 0000045b: DUP1 0000045c: SWAP2 0000045d: SUB 0000045e: SWAP1 0000045f: RETURN 00000460: JUMPDEST 00000461: CALLVALUE 00000462: DUP1 00000463: ISZERO 00000464: PUSH2 0x046c 00000467: JUMPI 00000468: PUSH1 0x00 0000046a: DUP1 0000046b: REVERT 0000046c: JUMPDEST 0000046d: POP 0000046e: PUSH2 0x0475 00000471: PUSH2 0x0f48 00000474: JUMP 00000475: JUMPDEST 00000476: PUSH1 0x40 00000478: MLOAD 00000479: PUSH2 0x0482 0000047c: SWAP2 0000047d: SWAP1 0000047e: PUSH2 0x3b4c 00000481: JUMP 00000482: JUMPDEST 00000483: PUSH1 0x40 00000485: MLOAD 00000486: DUP1 00000487: SWAP2 00000488: SUB 00000489: SWAP1 0000048a: RETURN 0000048b: JUMPDEST 0000048c: CALLVALUE 0000048d: DUP1 0000048e: ISZERO 0000048f: PUSH2 0x0497 00000492: JUMPI 00000493: PUSH1 0x00 00000495: DUP1 00000496: REVERT 00000497: JUMPDEST 00000498: POP 00000499: PUSH2 0x04a0 0000049c: PUSH2 0x0f4d 0000049f: JUMP 000004a0: JUMPDEST 000004a1: PUSH1 0x40 000004a3: MLOAD 000004a4: PUSH2 0x04ad 000004a7: SWAP2 000004a8: SWAP1 000004a9: PUSH2 0x36d5 000004ac: JUMP 000004ad: JUMPDEST 000004ae: PUSH1 0x40 000004b0: MLOAD 000004b1: DUP1 000004b2: SWAP2 000004b3: SUB 000004b4: SWAP1 000004b5: RETURN 000004b6: JUMPDEST 000004b7: CALLVALUE 000004b8: DUP1 000004b9: ISZERO 000004ba: PUSH2 0x04c2 000004bd: JUMPI 000004be: PUSH1 0x00 000004c0: DUP1 000004c1: REVERT 000004c2: JUMPDEST 000004c3: POP 000004c4: PUSH2 0x04cb 000004c7: PUSH2 0x0f73 000004ca: JUMP 000004cb: JUMPDEST 000004cc: PUSH1 0x40 000004ce: MLOAD 000004cf: PUSH2 0x04d8 000004d2: SWAP2 000004d3: SWAP1 000004d4: PUSH2 0x3b4c 000004d7: JUMP 000004d8: JUMPDEST 000004d9: PUSH1 0x40 000004db: MLOAD 000004dc: DUP1 000004dd: SWAP2 000004de: SUB 000004df: SWAP1 000004e0: RETURN 000004e1: JUMPDEST 000004e2: CALLVALUE 000004e3: DUP1 000004e4: ISZERO 000004e5: PUSH2 0x04ed 000004e8: JUMPI 000004e9: PUSH1 0x00 000004eb: DUP1 000004ec: REVERT 000004ed: JUMPDEST 000004ee: POP 000004ef: PUSH2 0x04f6 000004f2: PUSH2 0x0f78 000004f5: JUMP 000004f6: JUMPDEST 000004f7: PUSH1 0x40 000004f9: MLOAD 000004fa: PUSH2 0x0503 000004fd: SWAP2 000004fe: SWAP1 000004ff: PUSH2 0x3b4c 00000502: JUMP 00000503: JUMPDEST 00000504: PUSH1 0x40 00000506: MLOAD 00000507: DUP1 00000508: SWAP2 00000509: SUB 0000050a: SWAP1 0000050b: RETURN 0000050c: JUMPDEST 0000050d: CALLVALUE 0000050e: DUP1 0000050f: ISZERO 00000510: PUSH2 0x0518 00000513: JUMPI 00000514: PUSH1 0x00 00000516: DUP1 00000517: REVERT 00000518: JUMPDEST 00000519: POP 0000051a: PUSH2 0x0521 0000051d: PUSH2 0x0f7d 00000520: JUMP 00000521: JUMPDEST 00000522: PUSH1 0x40 00000524: MLOAD 00000525: PUSH2 0x052e 00000528: SWAP2 00000529: SWAP1 0000052a: PUSH2 0x36f0 0000052d: JUMP 0000052e: JUMPDEST 0000052f: PUSH1 0x40 00000531: MLOAD 00000532: DUP1 00000533: SWAP2 00000534: SUB 00000535: SWAP1 00000536: RETURN 00000537: JUMPDEST 00000538: CALLVALUE 00000539: DUP1 0000053a: ISZERO 0000053b: PUSH2 0x0543 0000053e: JUMPI 0000053f: PUSH1 0x00 00000541: DUP1 00000542: REVERT 00000543: JUMPDEST 00000544: POP 00000545: PUSH2 0x054c 00000548: PUSH2 0x0fa3 0000054b: JUMP 0000054c: JUMPDEST 0000054d: PUSH1 0x40 0000054f: MLOAD 00000550: PUSH2 0x0559 00000553: SWAP2 00000554: SWAP1 00000555: PUSH2 0x386a 00000558: JUMP 00000559: JUMPDEST 0000055a: PUSH1 0x40 0000055c: MLOAD 0000055d: DUP1 0000055e: SWAP2 0000055f: SUB 00000560: SWAP1 00000561: RETURN 00000562: JUMPDEST 00000563: CALLVALUE 00000564: DUP1 00000565: ISZERO 00000566: PUSH2 0x056e 00000569: JUMPI 0000056a: PUSH1 0x00 0000056c: DUP1 0000056d: REVERT 0000056e: JUMPDEST 0000056f: POP 00000570: PUSH2 0x0589 00000573: PUSH1 0x04 00000575: DUP1 00000576: CALLDATASIZE 00000577: SUB 00000578: DUP2 00000579: ADD 0000057a: SWAP1 0000057b: PUSH2 0x0584 0000057e: SWAP2 0000057f: SWAP1 00000580: PUSH2 0x306f 00000583: JUMP 00000584: JUMPDEST 00000585: PUSH2 0x1031 00000588: JUMP 00000589: JUMPDEST 0000058a: STOP 0000058b: JUMPDEST 0000058c: CALLVALUE 0000058d: DUP1 0000058e: ISZERO 0000058f: PUSH2 0x0597 00000592: JUMPI 00000593: PUSH1 0x00 00000595: DUP1 00000596: REVERT 00000597: JUMPDEST 00000598: POP 00000599: PUSH2 0x05b2 0000059c: PUSH1 0x04 0000059e: DUP1 0000059f: CALLDATASIZE 000005a0: SUB 000005a1: DUP2 000005a2: ADD 000005a3: SWAP1 000005a4: PUSH2 0x05ad 000005a7: SWAP2 000005a8: SWAP1 000005a9: PUSH2 0x31ce 000005ac: JUMP 000005ad: JUMPDEST 000005ae: PUSH2 0x11b2 000005b1: JUMP 000005b2: JUMPDEST 000005b3: PUSH1 0x40 000005b5: MLOAD 000005b6: PUSH2 0x05bf 000005b9: SWAP2 000005ba: SWAP1 000005bb: PUSH2 0x3b4c 000005be: JUMP 000005bf: JUMPDEST 000005c0: PUSH1 0x40 000005c2: MLOAD 000005c3: DUP1 000005c4: SWAP2 000005c5: SUB 000005c6: SWAP1 000005c7: RETURN 000005c8: JUMPDEST 000005c9: CALLVALUE 000005ca: DUP1 000005cb: ISZERO 000005cc: PUSH2 0x05d4 000005cf: JUMPI 000005d0: PUSH1 0x00 000005d2: DUP1 000005d3: REVERT 000005d4: JUMPDEST 000005d5: POP 000005d6: PUSH2 0x05dd 000005d9: PUSH2 0x11cf 000005dc: JUMP 000005dd: JUMPDEST 000005de: PUSH1 0x40 000005e0: MLOAD 000005e1: PUSH2 0x05ea 000005e4: SWAP2 000005e5: SWAP1 000005e6: PUSH2 0x3b4c 000005e9: JUMP 000005ea: JUMPDEST 000005eb: PUSH1 0x40 000005ed: MLOAD 000005ee: DUP1 000005ef: SWAP2 000005f0: SUB 000005f1: SWAP1 000005f2: RETURN 000005f3: JUMPDEST 000005f4: CALLVALUE 000005f5: DUP1 000005f6: ISZERO 000005f7: PUSH2 0x05ff 000005fa: JUMPI 000005fb: PUSH1 0x00 000005fd: DUP1 000005fe: REVERT 000005ff: JUMPDEST 00000600: POP 00000601: PUSH2 0x061a 00000604: PUSH1 0x04 00000606: DUP1 00000607: CALLDATASIZE 00000608: SUB 00000609: DUP2 0000060a: ADD 0000060b: SWAP1 0000060c: PUSH2 0x0615 0000060f: SWAP2 00000610: SWAP1 00000611: PUSH2 0x2ee5 00000614: JUMP 00000615: JUMPDEST 00000616: PUSH2 0x11d6 00000619: JUMP 0000061a: JUMPDEST 0000061b: PUSH1 0x40 0000061d: MLOAD 0000061e: PUSH2 0x0627 00000621: SWAP2 00000622: SWAP1 00000623: PUSH2 0x384f 00000626: JUMP 00000627: JUMPDEST 00000628: PUSH1 0x40 0000062a: MLOAD 0000062b: DUP1 0000062c: SWAP2 0000062d: SUB 0000062e: SWAP1 0000062f: RETURN 00000630: JUMPDEST 00000631: PUSH2 0x064a 00000634: PUSH1 0x04 00000636: DUP1 00000637: CALLDATASIZE 00000638: SUB 00000639: DUP2 0000063a: ADD 0000063b: SWAP1 0000063c: PUSH2 0x0645 0000063f: SWAP2 00000640: SWAP1 00000641: PUSH2 0x2ea9 00000644: JUMP 00000645: JUMPDEST 00000646: PUSH2 0x11e2 00000649: JUMP 0000064a: JUMPDEST 0000064b: STOP 0000064c: JUMPDEST 0000064d: CALLVALUE 0000064e: DUP1 0000064f: ISZERO 00000650: PUSH2 0x0658 00000653: JUMPI 00000654: PUSH1 0x00 00000656: DUP1 00000657: REVERT 00000658: JUMPDEST 00000659: POP 0000065a: PUSH2 0x0673 0000065d: PUSH1 0x04 0000065f: DUP1 00000660: CALLDATASIZE 00000661: SUB 00000662: DUP2 00000663: ADD 00000664: SWAP1 00000665: PUSH2 0x066e 00000668: SWAP2 00000669: SWAP1 0000066a: PUSH2 0x2e57 0000066d: JUMP 0000066e: JUMPDEST 0000066f: PUSH2 0x1558 00000672: JUMP 00000673: JUMPDEST 00000674: STOP 00000675: JUMPDEST 00000676: CALLVALUE 00000677: DUP1 00000678: ISZERO 00000679: PUSH2 0x0681 0000067c: JUMPI 0000067d: PUSH1 0x00 0000067f: DUP1 00000680: REVERT 00000681: JUMPDEST 00000682: POP 00000683: PUSH2 0x069c 00000686: PUSH1 0x04 00000688: DUP1 00000689: CALLDATASIZE 0000068a: SUB 0000068b: DUP2 0000068c: ADD 0000068d: SWAP1 0000068e: PUSH2 0x0697 00000691: SWAP2 00000692: SWAP1 00000693: PUSH2 0x2fe0 00000696: JUMP 00000697: JUMPDEST 00000698: PUSH2 0x16c6 0000069b: JUMP 0000069c: JUMPDEST 0000069d: STOP 0000069e: JUMPDEST 0000069f: CALLVALUE 000006a0: DUP1 000006a1: ISZERO 000006a2: PUSH2 0x06aa 000006a5: JUMPI 000006a6: PUSH1 0x00 000006a8: DUP1 000006a9: REVERT 000006aa: JUMPDEST 000006ab: POP 000006ac: PUSH2 0x06c5 000006af: PUSH1 0x04 000006b1: DUP1 000006b2: CALLDATASIZE 000006b3: SUB 000006b4: DUP2 000006b5: ADD 000006b6: SWAP1 000006b7: PUSH2 0x06c0 000006ba: SWAP2 000006bb: SWAP1 000006bc: PUSH2 0x31ce 000006bf: JUMP 000006c0: JUMPDEST 000006c1: PUSH2 0x1767 000006c4: JUMP 000006c5: JUMPDEST 000006c6: PUSH1 0x40 000006c8: MLOAD 000006c9: PUSH2 0x06d2 000006cc: SWAP2 000006cd: SWAP1 000006ce: PUSH2 0x36f0 000006d1: JUMP 000006d2: JUMPDEST 000006d3: PUSH1 0x40 000006d5: MLOAD 000006d6: DUP1 000006d7: SWAP2 000006d8: SUB 000006d9: SWAP1 000006da: RETURN 000006db: JUMPDEST 000006dc: PUSH1 0x00 000006de: DUP1 000006df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000006f4: AND 000006f5: DUP4 000006f6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000070b: AND 0000070c: EQ 0000070d: ISZERO 0000070e: PUSH2 0x074c 00000711: JUMPI 00000712: PUSH1 0x40 00000714: MLOAD 00000715: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000736: DUP2 00000737: MSTORE 00000738: PUSH1 0x04 0000073a: ADD 0000073b: PUSH2 0x0743 0000073e: SWAP1 0000073f: PUSH2 0x38cc 00000742: JUMP 00000743: JUMPDEST 00000744: PUSH1 0x40 00000746: MLOAD 00000747: DUP1 00000748: SWAP2 00000749: SUB 0000074a: SWAP1 0000074b: REVERT 0000074c: JUMPDEST 0000074d: PUSH1 0x00 0000074f: DUP1 00000750: DUP4 00000751: DUP2 00000752: MSTORE 00000753: PUSH1 0x20 00000755: ADD 00000756: SWAP1 00000757: DUP2 00000758: MSTORE 00000759: PUSH1 0x20 0000075b: ADD 0000075c: PUSH1 0x00 0000075e: KECCAK256 0000075f: PUSH1 0x00 00000761: DUP5 00000762: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000777: AND 00000778: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000078d: AND 0000078e: DUP2 0000078f: MSTORE 00000790: PUSH1 0x20 00000792: ADD 00000793: SWAP1 00000794: DUP2 00000795: MSTORE 00000796: PUSH1 0x20 00000798: ADD 00000799: PUSH1 0x00 0000079b: KECCAK256 0000079c: SLOAD 0000079d: SWAP1 0000079e: POP 0000079f: SWAP3 000007a0: SWAP2 000007a1: POP 000007a2: POP 000007a3: JUMP 000007a4: JUMPDEST 000007a5: PUSH1 0x00 000007a7: PUSH32 0xd9b67a2600000000000000000000000000000000000000000000000000000000 000007c8: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000007e5: NOT 000007e6: AND 000007e7: DUP3 000007e8: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00000805: NOT 00000806: AND 00000807: EQ 00000808: DUP1 00000809: PUSH2 0x086f 0000080c: JUMPI 0000080d: POP 0000080e: PUSH32 0x0e89341c00000000000000000000000000000000000000000000000000000000 0000082f: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000084c: NOT 0000084d: AND 0000084e: DUP3 0000084f: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000086c: NOT 0000086d: AND 0000086e: EQ 0000086f: JUMPDEST 00000870: DUP1 00000871: PUSH2 0x087f 00000874: JUMPI 00000875: POP 00000876: PUSH2 0x087e 00000879: DUP3 0000087a: PUSH2 0x1947 0000087d: JUMP 0000087e: JUMPDEST 0000087f: JUMPDEST 00000880: SWAP1 00000881: POP 00000882: SWAP2 00000883: SWAP1 00000884: POP 00000885: JUMP 00000886: JUMPDEST 00000887: PUSH1 0x07 00000889: SLOAD 0000088a: DUP2 0000088b: JUMP 0000088c: JUMPDEST 0000088d: PUSH1 0x05 0000088f: DUP1 00000890: SLOAD 00000891: PUSH2 0x0899 00000894: SWAP1 00000895: PUSH2 0x3e97 00000898: JUMP 00000899: JUMPDEST 0000089a: DUP1 0000089b: PUSH1 0x1f 0000089d: ADD 0000089e: PUSH1 0x20 000008a0: DUP1 000008a1: SWAP2 000008a2: DIV 000008a3: MUL 000008a4: PUSH1 0x20 000008a6: ADD 000008a7: PUSH1 0x40 000008a9: MLOAD 000008aa: SWAP1 000008ab: DUP2 000008ac: ADD 000008ad: PUSH1 0x40 000008af: MSTORE 000008b0: DUP1 000008b1: SWAP3 000008b2: SWAP2 000008b3: SWAP1 000008b4: DUP2 000008b5: DUP2 000008b6: MSTORE 000008b7: PUSH1 0x20 000008b9: ADD 000008ba: DUP3 000008bb: DUP1 000008bc: SLOAD 000008bd: PUSH2 0x08c5 000008c0: SWAP1 000008c1: PUSH2 0x3e97 000008c4: JUMP 000008c5: JUMPDEST 000008c6: DUP1 000008c7: ISZERO 000008c8: PUSH2 0x0912 000008cb: JUMPI 000008cc: DUP1 000008cd: PUSH1 0x1f 000008cf: LT 000008d0: PUSH2 0x08e7 000008d3: JUMPI 000008d4: PUSH2 0x0100 000008d7: DUP1 000008d8: DUP4 000008d9: SLOAD 000008da: DIV 000008db: MUL 000008dc: DUP4 000008dd: MSTORE 000008de: SWAP2 000008df: PUSH1 0x20 000008e1: ADD 000008e2: SWAP2 000008e3: PUSH2 0x0912 000008e6: JUMP 000008e7: JUMPDEST 000008e8: DUP3 000008e9: ADD 000008ea: SWAP2 000008eb: SWAP1 000008ec: PUSH1 0x00 000008ee: MSTORE 000008ef: PUSH1 0x20 000008f1: PUSH1 0x00 000008f3: KECCAK256 000008f4: SWAP1 000008f5: JUMPDEST 000008f6: DUP2 000008f7: SLOAD 000008f8: DUP2 000008f9: MSTORE 000008fa: SWAP1 000008fb: PUSH1 0x01 000008fd: ADD 000008fe: SWAP1 000008ff: PUSH1 0x20 00000901: ADD 00000902: DUP1 00000903: DUP4 00000904: GT 00000905: PUSH2 0x08f5 00000908: JUMPI 00000909: DUP3 0000090a: SWAP1 0000090b: SUB 0000090c: PUSH1 0x1f 0000090e: AND 0000090f: DUP3 00000910: ADD 00000911: SWAP2 00000912: JUMPDEST 00000913: POP 00000914: POP 00000915: POP 00000916: POP 00000917: POP 00000918: DUP2 00000919: JUMP 0000091a: JUMPDEST 0000091b: PUSH1 0x08 0000091d: PUSH1 0x00 0000091f: SWAP1 00000920: SLOAD 00000921: SWAP1 00000922: PUSH2 0x0100 00000925: EXP 00000926: SWAP1 00000927: DIV 00000928: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000093d: AND 0000093e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000953: AND 00000954: CALLER 00000955: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000096a: AND 0000096b: EQ 0000096c: PUSH2 0x09aa 0000096f: JUMPI 00000970: PUSH1 0x40 00000972: MLOAD 00000973: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000994: DUP2 00000995: MSTORE 00000996: PUSH1 0x04 00000998: ADD 00000999: PUSH2 0x09a1 0000099c: SWAP1 0000099d: PUSH2 0x3a2c 000009a0: JUMP 000009a1: JUMPDEST 000009a2: PUSH1 0x40 000009a4: MLOAD 000009a5: DUP1 000009a6: SWAP2 000009a7: SUB 000009a8: SWAP1 000009a9: REVERT 000009aa: JUMPDEST 000009ab: PUSH1 0x00 000009ad: SELFBALANCE 000009ae: SWAP1 000009af: POP 000009b0: PUSH1 0x00 000009b2: PUSH2 0x03f3 000009b5: SLOAD 000009b6: DUP3 000009b7: PUSH2 0x09c0 000009ba: SWAP2 000009bb: SWAP1 000009bc: PUSH2 0x3d9b 000009bf: JUMP 000009c0: JUMPDEST 000009c1: GT 000009c2: ISZERO 000009c3: PUSH2 0x0a01 000009c6: JUMPI 000009c7: PUSH2 0x0a00 000009ca: PUSH1 0x08 000009cc: PUSH1 0x00 000009ce: SWAP1 000009cf: SLOAD 000009d0: SWAP1 000009d1: PUSH2 0x0100 000009d4: EXP 000009d5: SWAP1 000009d6: DIV 000009d7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000009ec: AND 000009ed: PUSH2 0x03f3 000009f0: SLOAD 000009f1: DUP4 000009f2: PUSH2 0x09fb 000009f5: SWAP2 000009f6: SWAP1 000009f7: PUSH2 0x3d9b 000009fa: JUMP 000009fb: JUMPDEST 000009fc: PUSH2 0x19b1 000009ff: JUMP 00000a00: JUMPDEST 00000a01: JUMPDEST 00000a02: POP 00000a03: JUMP 00000a04: JUMPDEST 00000a05: PUSH1 0x60 00000a07: PUSH1 0x02 00000a09: DUP1 00000a0a: SLOAD 00000a0b: PUSH2 0x0a13 00000a0e: SWAP1 00000a0f: PUSH2 0x3e97 00000a12: JUMP 00000a13: JUMPDEST 00000a14: DUP1 00000a15: PUSH1 0x1f 00000a17: ADD 00000a18: PUSH1 0x20 00000a1a: DUP1 00000a1b: SWAP2 00000a1c: DIV 00000a1d: MUL 00000a1e: PUSH1 0x20 00000a20: ADD 00000a21: PUSH1 0x40 00000a23: MLOAD 00000a24: SWAP1 00000a25: DUP2 00000a26: ADD 00000a27: PUSH1 0x40 00000a29: MSTORE 00000a2a: DUP1 00000a2b: SWAP3 00000a2c: SWAP2 00000a2d: SWAP1 00000a2e: DUP2 00000a2f: DUP2 00000a30: MSTORE 00000a31: PUSH1 0x20 00000a33: ADD 00000a34: DUP3 00000a35: DUP1 00000a36: SLOAD 00000a37: PUSH2 0x0a3f 00000a3a: SWAP1 00000a3b: PUSH2 0x3e97 00000a3e: JUMP 00000a3f: JUMPDEST 00000a40: DUP1 00000a41: ISZERO 00000a42: PUSH2 0x0a8c 00000a45: JUMPI 00000a46: DUP1 00000a47: PUSH1 0x1f 00000a49: LT 00000a4a: PUSH2 0x0a61 00000a4d: JUMPI 00000a4e: PUSH2 0x0100 00000a51: DUP1 00000a52: DUP4 00000a53: SLOAD 00000a54: DIV 00000a55: MUL 00000a56: DUP4 00000a57: MSTORE 00000a58: SWAP2 00000a59: PUSH1 0x20 00000a5b: ADD 00000a5c: SWAP2 00000a5d: PUSH2 0x0a8c 00000a60: JUMP 00000a61: JUMPDEST 00000a62: DUP3 00000a63: ADD 00000a64: SWAP2 00000a65: SWAP1 00000a66: PUSH1 0x00 00000a68: MSTORE 00000a69: PUSH1 0x20 00000a6b: PUSH1 0x00 00000a6d: KECCAK256 00000a6e: SWAP1 00000a6f: JUMPDEST 00000a70: DUP2 00000a71: SLOAD 00000a72: DUP2 00000a73: MSTORE 00000a74: SWAP1 00000a75: PUSH1 0x01 00000a77: ADD 00000a78: SWAP1 00000a79: PUSH1 0x20 00000a7b: ADD 00000a7c: DUP1 00000a7d: DUP4 00000a7e: GT 00000a7f: PUSH2 0x0a6f 00000a82: JUMPI 00000a83: DUP3 00000a84: SWAP1 00000a85: SUB 00000a86: PUSH1 0x1f 00000a88: AND 00000a89: DUP3 00000a8a: ADD 00000a8b: SWAP2 00000a8c: JUMPDEST 00000a8d: POP 00000a8e: POP 00000a8f: POP 00000a90: POP 00000a91: POP 00000a92: SWAP1 00000a93: POP 00000a94: SWAP2 00000a95: SWAP1 00000a96: POP 00000a97: JUMP 00000a98: JUMPDEST 00000a99: PUSH2 0x03f4 00000a9c: SLOAD 00000a9d: DUP2 00000a9e: JUMP 00000a9f: JUMPDEST 00000aa0: PUSH2 0x0aa7 00000aa3: PUSH2 0x1aa5 00000aa6: JUMP 00000aa7: JUMPDEST 00000aa8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000abd: AND 00000abe: DUP6 00000abf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000ad4: AND 00000ad5: EQ 00000ad6: DUP1 00000ad7: PUSH2 0x0aed 00000ada: JUMPI 00000adb: POP 00000adc: PUSH2 0x0aec 00000adf: DUP6 00000ae0: PUSH2 0x0ae7 00000ae3: PUSH2 0x1aa5 00000ae6: JUMP 00000ae7: JUMPDEST 00000ae8: PUSH2 0x11d6 00000aeb: JUMP 00000aec: JUMPDEST 00000aed: JUMPDEST 00000aee: PUSH2 0x0b2c 00000af1: JUMPI 00000af2: PUSH1 0x40 00000af4: MLOAD 00000af5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000b16: DUP2 00000b17: MSTORE 00000b18: PUSH1 0x04 00000b1a: ADD 00000b1b: PUSH2 0x0b23 00000b1e: SWAP1 00000b1f: PUSH2 0x39ac 00000b22: JUMP 00000b23: JUMPDEST 00000b24: PUSH1 0x40 00000b26: MLOAD 00000b27: DUP1 00000b28: SWAP2 00000b29: SUB 00000b2a: SWAP1 00000b2b: REVERT 00000b2c: JUMPDEST 00000b2d: PUSH2 0x0b39 00000b30: DUP6 00000b31: DUP6 00000b32: DUP6 00000b33: DUP6 00000b34: DUP6 00000b35: PUSH2 0x1aad 00000b38: JUMP 00000b39: JUMPDEST 00000b3a: POP 00000b3b: POP 00000b3c: POP 00000b3d: POP 00000b3e: POP 00000b3f: JUMP 00000b40: JUMPDEST 00000b41: PUSH1 0x08 00000b43: PUSH1 0x00 00000b45: SWAP1 00000b46: SLOAD 00000b47: SWAP1 00000b48: PUSH2 0x0100 00000b4b: EXP 00000b4c: SWAP1 00000b4d: DIV 00000b4e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b63: AND 00000b64: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b79: AND 00000b7a: CALLER 00000b7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000b90: AND 00000b91: EQ 00000b92: PUSH2 0x0bd0 00000b95: JUMPI 00000b96: PUSH1 0x40 00000b98: MLOAD 00000b99: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000bba: DUP2 00000bbb: MSTORE 00000bbc: PUSH1 0x04 00000bbe: ADD 00000bbf: PUSH2 0x0bc7 00000bc2: SWAP1 00000bc3: PUSH2 0x3a2c 00000bc6: JUMP 00000bc7: JUMPDEST 00000bc8: PUSH1 0x40 00000bca: MLOAD 00000bcb: DUP1 00000bcc: SWAP2 00000bcd: SUB 00000bce: SWAP1 00000bcf: REVERT 00000bd0: JUMPDEST 00000bd1: PUSH1 0x00 00000bd3: DUP2 00000bd4: GT 00000bd5: DUP1 00000bd6: ISZERO 00000bd7: PUSH2 0x0be9 00000bda: JUMPI 00000bdb: POP 00000bdc: PUSH2 0x0be5 00000bdf: PUSH1 0x01 00000be1: PUSH2 0x11b2 00000be4: JUMP 00000be5: JUMPDEST 00000be6: DUP2 00000be7: GT 00000be8: ISZERO 00000be9: JUMPDEST 00000bea: PUSH2 0x0c28 00000bed: JUMPI 00000bee: PUSH1 0x40 00000bf0: MLOAD 00000bf1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000c12: DUP2 00000c13: MSTORE 00000c14: PUSH1 0x04 00000c16: ADD 00000c17: PUSH2 0x0c1f 00000c1a: SWAP1 00000c1b: PUSH2 0x39cc 00000c1e: JUMP 00000c1f: JUMPDEST 00000c20: PUSH1 0x40 00000c22: MLOAD 00000c23: DUP1 00000c24: SWAP2 00000c25: SUB 00000c26: SWAP1 00000c27: REVERT 00000c28: JUMPDEST 00000c29: DUP1 00000c2a: PUSH2 0x03f4 00000c2d: DUP2 00000c2e: SWAP1 00000c2f: SSTORE 00000c30: POP 00000c31: POP 00000c32: JUMP 00000c33: JUMPDEST 00000c34: PUSH1 0x08 00000c36: PUSH1 0x00 00000c38: SWAP1 00000c39: SLOAD 00000c3a: SWAP1 00000c3b: PUSH2 0x0100 00000c3e: EXP 00000c3f: SWAP1 00000c40: DIV 00000c41: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c56: AND 00000c57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c6c: AND 00000c6d: CALLER 00000c6e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000c83: AND 00000c84: EQ 00000c85: PUSH2 0x0cc3 00000c88: JUMPI 00000c89: PUSH1 0x40 00000c8b: MLOAD 00000c8c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000cad: DUP2 00000cae: MSTORE 00000caf: PUSH1 0x04 00000cb1: ADD 00000cb2: PUSH2 0x0cba 00000cb5: SWAP1 00000cb6: PUSH2 0x3a2c 00000cb9: JUMP 00000cba: JUMPDEST 00000cbb: PUSH1 0x40 00000cbd: MLOAD 00000cbe: DUP1 00000cbf: SWAP2 00000cc0: SUB 00000cc1: SWAP1 00000cc2: REVERT 00000cc3: JUMPDEST 00000cc4: PUSH1 0x00 00000cc6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cdb: AND 00000cdc: DUP2 00000cdd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000cf2: AND 00000cf3: EQ 00000cf4: ISZERO 00000cf5: PUSH2 0x0d33 00000cf8: JUMPI 00000cf9: PUSH1 0x40 00000cfb: MLOAD 00000cfc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000d1d: DUP2 00000d1e: MSTORE 00000d1f: PUSH1 0x04 00000d21: ADD 00000d22: PUSH2 0x0d2a 00000d25: SWAP1 00000d26: PUSH2 0x3a4c 00000d29: JUMP 00000d2a: JUMPDEST 00000d2b: PUSH1 0x40 00000d2d: MLOAD 00000d2e: DUP1 00000d2f: SWAP2 00000d30: SUB 00000d31: SWAP1 00000d32: REVERT 00000d33: JUMPDEST 00000d34: DUP1 00000d35: PUSH1 0x08 00000d37: PUSH1 0x00 00000d39: PUSH2 0x0100 00000d3c: EXP 00000d3d: DUP2 00000d3e: SLOAD 00000d3f: DUP2 00000d40: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d55: MUL 00000d56: NOT 00000d57: AND 00000d58: SWAP1 00000d59: DUP4 00000d5a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000d6f: AND 00000d70: MUL 00000d71: OR 00000d72: SWAP1 00000d73: SSTORE 00000d74: POP 00000d75: POP 00000d76: JUMP 00000d77: JUMPDEST 00000d78: PUSH1 0x28 00000d7a: DUP2 00000d7b: JUMP 00000d7c: JUMPDEST 00000d7d: PUSH2 0x03f2 00000d80: SLOAD 00000d81: DUP2 00000d82: JUMP 00000d83: JUMPDEST 00000d84: PUSH1 0x60 00000d86: DUP2 00000d87: MLOAD 00000d88: DUP4 00000d89: MLOAD 00000d8a: EQ 00000d8b: PUSH2 0x0dc9 00000d8e: JUMPI 00000d8f: PUSH1 0x40 00000d91: MLOAD 00000d92: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00000db3: DUP2 00000db4: MSTORE 00000db5: PUSH1 0x04 00000db7: ADD 00000db8: PUSH2 0x0dc0 00000dbb: SWAP1 00000dbc: PUSH2 0x3acc 00000dbf: JUMP 00000dc0: JUMPDEST 00000dc1: PUSH1 0x40 00000dc3: MLOAD 00000dc4: DUP1 00000dc5: SWAP2 00000dc6: SUB 00000dc7: SWAP1 00000dc8: REVERT 00000dc9: JUMPDEST 00000dca: PUSH1 0x00 00000dcc: DUP4 00000dcd: MLOAD 00000dce: PUSH8 0xffffffffffffffff 00000dd7: DUP2 00000dd8: GT 00000dd9: ISZERO 00000dda: PUSH2 0x0e0c 00000ddd: JUMPI 00000dde: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00000dff: PUSH1 0x00 00000e01: MSTORE 00000e02: PUSH1 0x41 00000e04: PUSH1 0x04 00000e06: MSTORE 00000e07: PUSH1 0x24 00000e09: PUSH1 0x00 00000e0b: REVERT 00000e0c: JUMPDEST 00000e0d: PUSH1 0x40 00000e0f: MLOAD 00000e10: SWAP1 00000e11: DUP1 00000e12: DUP3 00000e13: MSTORE 00000e14: DUP1 00000e15: PUSH1 0x20 00000e17: MUL 00000e18: PUSH1 0x20 00000e1a: ADD 00000e1b: DUP3 00000e1c: ADD 00000e1d: PUSH1 0x40 00000e1f: MSTORE 00000e20: DUP1 00000e21: ISZERO 00000e22: PUSH2 0x0e3a 00000e25: JUMPI 00000e26: DUP2 00000e27: PUSH1 0x20 00000e29: ADD 00000e2a: PUSH1 0x20 00000e2c: DUP3 00000e2d: MUL 00000e2e: DUP1 00000e2f: CALLDATASIZE 00000e30: DUP4 00000e31: CALLDATACOPY 00000e32: DUP1 00000e33: DUP3 00000e34: ADD 00000e35: SWAP2 00000e36: POP 00000e37: POP 00000e38: SWAP1 00000e39: POP 00000e3a: JUMPDEST 00000e3b: POP 00000e3c: SWAP1 00000e3d: POP 00000e3e: PUSH1 0x00 00000e40: JUMPDEST 00000e41: DUP5 00000e42: MLOAD 00000e43: DUP2 00000e44: LT 00000e45: ISZERO 00000e46: PUSH2 0x0f29 00000e49: JUMPI 00000e4a: PUSH2 0x0ed3 00000e4d: DUP6 00000e4e: DUP3 00000e4f: DUP2 00000e50: MLOAD 00000e51: DUP2 00000e52: LT 00000e53: PUSH2 0x0e85 00000e56: JUMPI 00000e57: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00000e78: PUSH1 0x00 00000e7a: MSTORE 00000e7b: PUSH1 0x32 00000e7d: PUSH1 0x04 00000e7f: MSTORE 00000e80: PUSH1 0x24 00000e82: PUSH1 0x00 00000e84: REVERT 00000e85: JUMPDEST 00000e86: PUSH1 0x20 00000e88: MUL 00000e89: PUSH1 0x20 00000e8b: ADD 00000e8c: ADD 00000e8d: MLOAD 00000e8e: DUP6 00000e8f: DUP4 00000e90: DUP2 00000e91: MLOAD 00000e92: DUP2 00000e93: LT 00000e94: PUSH2 0x0ec6 00000e97: JUMPI 00000e98: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00000eb9: PUSH1 0x00 00000ebb: MSTORE 00000ebc: PUSH1 0x32 00000ebe: PUSH1 0x04 00000ec0: MSTORE 00000ec1: PUSH1 0x24 00000ec3: PUSH1 0x00 00000ec5: REVERT 00000ec6: JUMPDEST 00000ec7: PUSH1 0x20 00000ec9: MUL 00000eca: PUSH1 0x20 00000ecc: ADD 00000ecd: ADD 00000ece: MLOAD 00000ecf: PUSH2 0x06db 00000ed2: JUMP 00000ed3: JUMPDEST 00000ed4: DUP3 00000ed5: DUP3 00000ed6: DUP2 00000ed7: MLOAD 00000ed8: DUP2 00000ed9: LT 00000eda: PUSH2 0x0f0c 00000edd: JUMPI 00000ede: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00000eff: PUSH1 0x00 00000f01: MSTORE 00000f02: PUSH1 0x32 00000f04: PUSH1 0x04 00000f06: MSTORE 00000f07: PUSH1 0x24 00000f09: PUSH1 0x00 00000f0b: REVERT 00000f0c: JUMPDEST 00000f0d: PUSH1 0x20 00000f0f: MUL 00000f10: PUSH1 0x20 00000f12: ADD 00000f13: ADD 00000f14: DUP2 00000f15: DUP2 00000f16: MSTORE 00000f17: POP 00000f18: POP 00000f19: DUP1 00000f1a: PUSH2 0x0f22 00000f1d: SWAP1 00000f1e: PUSH2 0x3efa 00000f21: JUMP 00000f22: JUMPDEST 00000f23: SWAP1 00000f24: POP 00000f25: PUSH2 0x0e40 00000f28: JUMP 00000f29: JUMPDEST 00000f2a: POP 00000f2b: DUP1 00000f2c: SWAP2 00000f2d: POP 00000f2e: POP 00000f2f: SWAP3 00000f30: SWAP2 00000f31: POP 00000f32: POP 00000f33: JUMP 00000f34: JUMPDEST 00000f35: PUSH1 0x00 00000f37: DUP1 00000f38: PUSH2 0x0f40 00000f3b: DUP4 00000f3c: PUSH2 0x11b2 00000f3f: JUMP 00000f40: JUMPDEST 00000f41: GT 00000f42: SWAP1 00000f43: POP 00000f44: SWAP2 00000f45: SWAP1 00000f46: POP 00000f47: JUMP 00000f48: JUMPDEST 00000f49: PUSH1 0x32 00000f4b: DUP2 00000f4c: JUMP 00000f4d: JUMPDEST 00000f4e: PUSH1 0x09 00000f50: PUSH1 0x00 00000f52: SWAP1 00000f53: SLOAD 00000f54: SWAP1 00000f55: PUSH2 0x0100 00000f58: EXP 00000f59: SWAP1 00000f5a: DIV 00000f5b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f70: AND 00000f71: DUP2 00000f72: JUMP 00000f73: JUMPDEST 00000f74: PUSH1 0x0a 00000f76: DUP2 00000f77: JUMP 00000f78: JUMPDEST 00000f79: PUSH1 0x01 00000f7b: DUP2 00000f7c: JUMP 00000f7d: JUMPDEST 00000f7e: PUSH1 0x08 00000f80: PUSH1 0x00 00000f82: SWAP1 00000f83: SLOAD 00000f84: SWAP1 00000f85: PUSH2 0x0100 00000f88: EXP 00000f89: SWAP1 00000f8a: DIV 00000f8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000fa0: AND 00000fa1: DUP2 00000fa2: JUMP 00000fa3: JUMPDEST 00000fa4: PUSH1 0x06 00000fa6: DUP1 00000fa7: SLOAD 00000fa8: PUSH2 0x0fb0 00000fab: SWAP1 00000fac: PUSH2 0x3e97 00000faf: JUMP 00000fb0: JUMPDEST 00000fb1: DUP1 00000fb2: PUSH1 0x1f 00000fb4: ADD 00000fb5: PUSH1 0x20 00000fb7: DUP1 00000fb8: SWAP2 00000fb9: DIV 00000fba: MUL 00000fbb: PUSH1 0x20 00000fbd: ADD 00000fbe: PUSH1 0x40 00000fc0: MLOAD 00000fc1: SWAP1 00000fc2: DUP2 00000fc3: ADD 00000fc4: PUSH1 0x40 00000fc6: MSTORE 00000fc7: DUP1 00000fc8: SWAP3 00000fc9: SWAP2 00000fca: SWAP1 00000fcb: DUP2 00000fcc: DUP2 00000fcd: MSTORE 00000fce: PUSH1 0x20 00000fd0: ADD 00000fd1: DUP3 00000fd2: DUP1 00000fd3: SLOAD 00000fd4: PUSH2 0x0fdc 00000fd7: SWAP1 00000fd8: PUSH2 0x3e97 00000fdb: JUMP 00000fdc: JUMPDEST 00000fdd: DUP1 00000fde: ISZERO 00000fdf: PUSH2 0x1029 00000fe2: JUMPI 00000fe3: DUP1 00000fe4: PUSH1 0x1f 00000fe6: LT 00000fe7: PUSH2 0x0ffe 00000fea: JUMPI 00000feb: PUSH2 0x0100 00000fee: DUP1 00000fef: DUP4 00000ff0: SLOAD 00000ff1: DIV 00000ff2: MUL 00000ff3: DUP4 00000ff4: MSTORE 00000ff5: SWAP2 00000ff6: PUSH1 0x20 00000ff8: ADD 00000ff9: SWAP2 00000ffa: PUSH2 0x1029 00000ffd: JUMP 00000ffe: JUMPDEST 00000fff: DUP3 00001000: ADD 00001001: SWAP2 00001002: SWAP1 00001003: PUSH1 0x00 00001005: MSTORE 00001006: PUSH1 0x20 00001008: PUSH1 0x00 0000100a: KECCAK256 0000100b: SWAP1 0000100c: JUMPDEST 0000100d: DUP2 0000100e: SLOAD 0000100f: DUP2 00001010: MSTORE 00001011: SWAP1 00001012: PUSH1 0x01 00001014: ADD 00001015: SWAP1 00001016: PUSH1 0x20 00001018: ADD 00001019: DUP1 0000101a: DUP4 0000101b: GT 0000101c: PUSH2 0x100c 0000101f: JUMPI 00001020: DUP3 00001021: SWAP1 00001022: SUB 00001023: PUSH1 0x1f 00001025: AND 00001026: DUP3 00001027: ADD 00001028: SWAP2 00001029: JUMPDEST 0000102a: POP 0000102b: POP 0000102c: POP 0000102d: POP 0000102e: POP 0000102f: DUP2 00001030: JUMP 00001031: JUMPDEST 00001032: DUP2 00001033: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001048: AND 00001049: PUSH2 0x1050 0000104c: PUSH2 0x1aa5 0000104f: JUMP 00001050: JUMPDEST 00001051: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001066: AND 00001067: EQ 00001068: ISZERO 00001069: PUSH2 0x10a7 0000106c: JUMPI 0000106d: PUSH1 0x40 0000106f: MLOAD 00001070: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001091: DUP2 00001092: MSTORE 00001093: PUSH1 0x04 00001095: ADD 00001096: PUSH2 0x109e 00001099: SWAP1 0000109a: PUSH2 0x3a8c 0000109d: JUMP 0000109e: JUMPDEST 0000109f: PUSH1 0x40 000010a1: MLOAD 000010a2: DUP1 000010a3: SWAP2 000010a4: SUB 000010a5: SWAP1 000010a6: REVERT 000010a7: JUMPDEST 000010a8: DUP1 000010a9: PUSH1 0x01 000010ab: PUSH1 0x00 000010ad: PUSH2 0x10b4 000010b0: PUSH2 0x1aa5 000010b3: JUMP 000010b4: JUMPDEST 000010b5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010ca: AND 000010cb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000010e0: AND 000010e1: DUP2 000010e2: MSTORE 000010e3: PUSH1 0x20 000010e5: ADD 000010e6: SWAP1 000010e7: DUP2 000010e8: MSTORE 000010e9: PUSH1 0x20 000010eb: ADD 000010ec: PUSH1 0x00 000010ee: KECCAK256 000010ef: PUSH1 0x00 000010f1: DUP5 000010f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001107: AND 00001108: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000111d: AND 0000111e: DUP2 0000111f: MSTORE 00001120: PUSH1 0x20 00001122: ADD 00001123: SWAP1 00001124: DUP2 00001125: MSTORE 00001126: PUSH1 0x20 00001128: ADD 00001129: PUSH1 0x00 0000112b: KECCAK256 0000112c: PUSH1 0x00 0000112e: PUSH2 0x0100 00001131: EXP 00001132: DUP2 00001133: SLOAD 00001134: DUP2 00001135: PUSH1 0xff 00001137: MUL 00001138: NOT 00001139: AND 0000113a: SWAP1 0000113b: DUP4 0000113c: ISZERO 0000113d: ISZERO 0000113e: MUL 0000113f: OR 00001140: SWAP1 00001141: SSTORE 00001142: POP 00001143: DUP2 00001144: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001159: AND 0000115a: PUSH2 0x1161 0000115d: PUSH2 0x1aa5 00001160: JUMP 00001161: JUMPDEST 00001162: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001177: AND 00001178: PUSH32 0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31 00001199: DUP4 0000119a: PUSH1 0x40 0000119c: MLOAD 0000119d: PUSH2 0x11a6 000011a0: SWAP2 000011a1: SWAP1 000011a2: PUSH2 0x384f 000011a5: JUMP 000011a6: JUMPDEST 000011a7: PUSH1 0x40 000011a9: MLOAD 000011aa: DUP1 000011ab: SWAP2 000011ac: SUB 000011ad: SWAP1 000011ae: LOG3 000011af: POP 000011b0: POP 000011b1: JUMP 000011b2: JUMPDEST 000011b3: PUSH1 0x00 000011b5: PUSH1 0x03 000011b7: PUSH1 0x00 000011b9: DUP4 000011ba: DUP2 000011bb: MSTORE 000011bc: PUSH1 0x20 000011be: ADD 000011bf: SWAP1 000011c0: DUP2 000011c1: MSTORE 000011c2: PUSH1 0x20 000011c4: ADD 000011c5: PUSH1 0x00 000011c7: KECCAK256 000011c8: SLOAD 000011c9: SWAP1 000011ca: POP 000011cb: SWAP2 000011cc: SWAP1 000011cd: POP 000011ce: JUMP 000011cf: JUMPDEST 000011d0: PUSH2 0x03f3 000011d3: SLOAD 000011d4: DUP2 000011d5: JUMP 000011d6: JUMPDEST 000011d7: PUSH1 0x00 000011d9: PUSH1 0x01 000011db: SWAP1 000011dc: POP 000011dd: SWAP3 000011de: SWAP2 000011df: POP 000011e0: POP 000011e1: JUMP 000011e2: JUMPDEST 000011e3: PUSH1 0x02 000011e5: PUSH1 0x04 000011e7: SLOAD 000011e8: EQ 000011e9: ISZERO 000011ea: PUSH2 0x1228 000011ed: JUMPI 000011ee: PUSH1 0x40 000011f0: MLOAD 000011f1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001212: DUP2 00001213: MSTORE 00001214: PUSH1 0x04 00001216: ADD 00001217: PUSH2 0x121f 0000121a: SWAP1 0000121b: PUSH2 0x3b2c 0000121e: JUMP 0000121f: JUMPDEST 00001220: PUSH1 0x40 00001222: MLOAD 00001223: DUP1 00001224: SWAP2 00001225: SUB 00001226: SWAP1 00001227: REVERT 00001228: JUMPDEST 00001229: PUSH1 0x02 0000122b: PUSH1 0x04 0000122d: DUP2 0000122e: SWAP1 0000122f: SSTORE 00001230: POP 00001231: PUSH2 0x03f4 00001234: SLOAD 00001235: DUP2 00001236: GT 00001237: ISZERO 00001238: PUSH2 0x1276 0000123b: JUMPI 0000123c: PUSH1 0x40 0000123e: MLOAD 0000123f: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001260: DUP2 00001261: MSTORE 00001262: PUSH1 0x04 00001264: ADD 00001265: PUSH2 0x126d 00001268: SWAP1 00001269: PUSH2 0x3a0c 0000126c: JUMP 0000126d: JUMPDEST 0000126e: PUSH1 0x40 00001270: MLOAD 00001271: DUP1 00001272: SWAP2 00001273: SUB 00001274: SWAP1 00001275: REVERT 00001276: JUMPDEST 00001277: PUSH2 0x127f 0000127a: DUP2 0000127b: PUSH2 0x1e0d 0000127e: JUMP 0000127f: JUMPDEST 00001280: PUSH1 0x00 00001282: JUMPDEST 00001283: DUP2 00001284: DUP2 00001285: LT 00001286: ISZERO 00001287: PUSH2 0x13fa 0000128a: JUMPI 0000128b: PUSH1 0x00 0000128d: PUSH2 0x1296 00001290: PUSH1 0x01 00001292: PUSH2 0x11b2 00001295: JUMP 00001296: JUMPDEST 00001297: PUSH2 0x03f2 0000129a: SLOAD 0000129b: PUSH2 0x12a4 0000129e: SWAP2 0000129f: SWAP1 000012a0: PUSH2 0x3f43 000012a3: JUMP 000012a4: JUMPDEST 000012a5: SWAP1 000012a6: POP 000012a7: PUSH1 0x00 000012a9: DUP1 000012aa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000012bf: AND 000012c0: PUSH1 0x0a 000012c2: DUP4 000012c3: PUSH2 0x03e8 000012c6: DUP2 000012c7: LT 000012c8: PUSH2 0x12fa 000012cb: JUMPI 000012cc: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000012ed: PUSH1 0x00 000012ef: MSTORE 000012f0: PUSH1 0x32 000012f2: PUSH1 0x04 000012f4: MSTORE 000012f5: PUSH1 0x24 000012f7: PUSH1 0x00 000012f9: REVERT 000012fa: JUMPDEST 000012fb: ADD 000012fc: PUSH1 0x00 000012fe: SWAP1 000012ff: SLOAD 00001300: SWAP1 00001301: PUSH2 0x0100 00001304: EXP 00001305: SWAP1 00001306: DIV 00001307: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000131c: AND 0000131d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001332: AND 00001333: EQ 00001334: PUSH2 0x1399 00001337: JUMPI 00001338: PUSH1 0x0a 0000133a: DUP3 0000133b: PUSH2 0x03e8 0000133e: DUP2 0000133f: LT 00001340: PUSH2 0x1372 00001343: JUMPI 00001344: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001365: PUSH1 0x00 00001367: MSTORE 00001368: PUSH1 0x32 0000136a: PUSH1 0x04 0000136c: MSTORE 0000136d: PUSH1 0x24 0000136f: PUSH1 0x00 00001371: REVERT 00001372: JUMPDEST 00001373: ADD 00001374: PUSH1 0x00 00001376: SWAP1 00001377: SLOAD 00001378: SWAP1 00001379: PUSH2 0x0100 0000137c: EXP 0000137d: SWAP1 0000137e: DIV 0000137f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001394: AND 00001395: PUSH2 0x13bd 00001398: JUMP 00001399: JUMPDEST 0000139a: PUSH1 0x08 0000139c: PUSH1 0x00 0000139e: SWAP1 0000139f: SLOAD 000013a0: SWAP1 000013a1: PUSH2 0x0100 000013a4: EXP 000013a5: SWAP1 000013a6: DIV 000013a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000013bc: AND 000013bd: JUMPDEST 000013be: SWAP1 000013bf: POP 000013c0: PUSH2 0x13dc 000013c3: DUP2 000013c4: DUP7 000013c5: PUSH1 0x01 000013c7: DUP1 000013c8: PUSH1 0x40 000013ca: MLOAD 000013cb: DUP1 000013cc: PUSH1 0x20 000013ce: ADD 000013cf: PUSH1 0x40 000013d1: MSTORE 000013d2: DUP1 000013d3: PUSH1 0x00 000013d5: DUP2 000013d6: MSTORE 000013d7: POP 000013d8: PUSH2 0x16c6 000013db: JUMP 000013dc: JUMPDEST 000013dd: PUSH2 0x13e5 000013e0: DUP6 000013e1: PUSH2 0x1f3d 000013e4: JUMP 000013e5: JUMPDEST 000013e6: POP 000013e7: POP 000013e8: DUP1 000013e9: DUP1 000013ea: PUSH2 0x13f2 000013ed: SWAP1 000013ee: PUSH2 0x3efa 000013f1: JUMP 000013f2: JUMPDEST 000013f3: SWAP2 000013f4: POP 000013f5: POP 000013f6: PUSH2 0x1282 000013f9: JUMP 000013fa: JUMPDEST 000013fb: POP 000013fc: PUSH1 0x00 000013fe: PUSH2 0x03e8 00001401: PUSH1 0x32 00001403: CALLVALUE 00001404: PUSH2 0x140d 00001407: SWAP2 00001408: SWAP1 00001409: PUSH2 0x3d41 0000140c: JUMP 0000140d: JUMPDEST 0000140e: PUSH2 0x1417 00001411: SWAP2 00001412: SWAP1 00001413: PUSH2 0x3d10 00001416: JUMP 00001417: JUMPDEST 00001418: SWAP1 00001419: POP 0000141a: PUSH1 0x00 0000141c: PUSH2 0x03e8 0000141f: PUSH1 0x0a 00001421: CALLVALUE 00001422: PUSH2 0x142b 00001425: SWAP2 00001426: SWAP1 00001427: PUSH2 0x3d41 0000142a: JUMP 0000142b: JUMPDEST 0000142c: PUSH2 0x1435 0000142f: SWAP2 00001430: SWAP1 00001431: PUSH2 0x3d10 00001434: JUMP 00001435: JUMPDEST 00001436: SWAP1 00001437: POP 00001438: PUSH1 0x00 0000143a: DUP3 0000143b: GT 0000143c: ISZERO 0000143d: PUSH2 0x146d 00001440: JUMPI 00001441: PUSH2 0x146c 00001444: PUSH1 0x08 00001446: PUSH1 0x00 00001448: SWAP1 00001449: SLOAD 0000144a: SWAP1 0000144b: PUSH2 0x0100 0000144e: EXP 0000144f: SWAP1 00001450: DIV 00001451: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001466: AND 00001467: DUP4 00001468: PUSH2 0x19b1 0000146b: JUMP 0000146c: JUMPDEST 0000146d: JUMPDEST 0000146e: PUSH1 0x00 00001470: DUP2 00001471: GT 00001472: ISZERO 00001473: PUSH2 0x14fa 00001476: JUMPI 00001477: PUSH1 0x09 00001479: PUSH1 0x00 0000147b: SWAP1 0000147c: SLOAD 0000147d: SWAP1 0000147e: PUSH2 0x0100 00001481: EXP 00001482: SWAP1 00001483: DIV 00001484: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001499: AND 0000149a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000014af: AND 000014b0: PUSH4 0x7079fb67 000014b5: DUP3 000014b6: PUSH1 0x40 000014b8: MLOAD 000014b9: DUP3 000014ba: PUSH4 0xffffffff 000014bf: AND 000014c0: PUSH1 0xe0 000014c2: SHL 000014c3: DUP2 000014c4: MSTORE 000014c5: PUSH1 0x04 000014c7: ADD 000014c8: PUSH1 0x00 000014ca: PUSH1 0x40 000014cc: MLOAD 000014cd: DUP1 000014ce: DUP4 000014cf: SUB 000014d0: DUP2 000014d1: DUP6 000014d2: DUP9 000014d3: DUP1 000014d4: EXTCODESIZE 000014d5: ISZERO 000014d6: DUP1 000014d7: ISZERO 000014d8: PUSH2 0x14e0 000014db: JUMPI 000014dc: PUSH1 0x00 000014de: DUP1 000014df: REVERT 000014e0: JUMPDEST 000014e1: POP 000014e2: GAS 000014e3: CALL 000014e4: ISZERO 000014e5: DUP1 000014e6: ISZERO 000014e7: PUSH2 0x14f4 000014ea: JUMPI 000014eb: RETURNDATASIZE 000014ec: PUSH1 0x00 000014ee: DUP1 000014ef: RETURNDATACOPY 000014f0: RETURNDATASIZE 000014f1: PUSH1 0x00 000014f3: REVERT 000014f4: JUMPDEST 000014f5: POP 000014f6: POP 000014f7: POP 000014f8: POP 000014f9: POP 000014fa: JUMPDEST 000014fb: DUP4 000014fc: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001511: AND 00001512: PUSH32 0x31d8410029cba7bb8656f8b8c43961cfe8e425907121c3b2f979e4328db051f3 00001533: DUP5 00001534: CALLVALUE 00001535: PUSH1 0x40 00001537: MLOAD 00001538: PUSH2 0x1542 0000153b: SWAP3 0000153c: SWAP2 0000153d: SWAP1 0000153e: PUSH2 0x3b67 00001541: JUMP 00001542: JUMPDEST 00001543: PUSH1 0x40 00001545: MLOAD 00001546: DUP1 00001547: SWAP2 00001548: SUB 00001549: SWAP1 0000154a: LOG2 0000154b: POP 0000154c: POP 0000154d: PUSH1 0x01 0000154f: PUSH1 0x04 00001551: DUP2 00001552: SWAP1 00001553: SSTORE 00001554: POP 00001555: POP 00001556: POP 00001557: JUMP 00001558: JUMPDEST 00001559: PUSH1 0x08 0000155b: PUSH1 0x00 0000155d: SWAP1 0000155e: SLOAD 0000155f: SWAP1 00001560: PUSH2 0x0100 00001563: EXP 00001564: SWAP1 00001565: DIV 00001566: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000157b: AND 0000157c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001591: AND 00001592: CALLER 00001593: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000015a8: AND 000015a9: EQ 000015aa: PUSH2 0x15e8 000015ad: JUMPI 000015ae: PUSH1 0x40 000015b0: MLOAD 000015b1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000015d2: DUP2 000015d3: MSTORE 000015d4: PUSH1 0x04 000015d6: ADD 000015d7: PUSH2 0x15df 000015da: SWAP1 000015db: PUSH2 0x3a2c 000015de: JUMP 000015df: JUMPDEST 000015e0: PUSH1 0x40 000015e2: MLOAD 000015e3: DUP1 000015e4: SWAP2 000015e5: SUB 000015e6: SWAP1 000015e7: REVERT 000015e8: JUMPDEST 000015e9: PUSH1 0x00 000015eb: DUP2 000015ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001601: AND 00001602: PUSH4 0x70a08231 00001607: ADDRESS 00001608: PUSH1 0x40 0000160a: MLOAD 0000160b: DUP3 0000160c: PUSH4 0xffffffff 00001611: AND 00001612: PUSH1 0xe0 00001614: SHL 00001615: DUP2 00001616: MSTORE 00001617: PUSH1 0x04 00001619: ADD 0000161a: PUSH2 0x1623 0000161d: SWAP2 0000161e: SWAP1 0000161f: PUSH2 0x36d5 00001622: JUMP 00001623: JUMPDEST 00001624: PUSH1 0x20 00001626: PUSH1 0x40 00001628: MLOAD 00001629: DUP1 0000162a: DUP4 0000162b: SUB 0000162c: DUP2 0000162d: DUP7 0000162e: DUP1 0000162f: EXTCODESIZE 00001630: ISZERO 00001631: DUP1 00001632: ISZERO 00001633: PUSH2 0x163b 00001636: JUMPI 00001637: PUSH1 0x00 00001639: DUP1 0000163a: REVERT 0000163b: JUMPDEST 0000163c: POP 0000163d: GAS 0000163e: STATICCALL 0000163f: ISZERO 00001640: DUP1 00001641: ISZERO 00001642: PUSH2 0x164f 00001645: JUMPI 00001646: RETURNDATASIZE 00001647: PUSH1 0x00 00001649: DUP1 0000164a: RETURNDATACOPY 0000164b: RETURNDATASIZE 0000164c: PUSH1 0x00 0000164e: REVERT 0000164f: JUMPDEST 00001650: POP 00001651: POP 00001652: POP 00001653: POP 00001654: PUSH1 0x40 00001656: MLOAD 00001657: RETURNDATASIZE 00001658: PUSH1 0x1f 0000165a: NOT 0000165b: PUSH1 0x1f 0000165d: DUP3 0000165e: ADD 0000165f: AND 00001660: DUP3 00001661: ADD 00001662: DUP1 00001663: PUSH1 0x40 00001665: MSTORE 00001666: POP 00001667: DUP2 00001668: ADD 00001669: SWAP1 0000166a: PUSH2 0x1673 0000166d: SWAP2 0000166e: SWAP1 0000166f: PUSH2 0x31f7 00001672: JUMP 00001673: JUMPDEST 00001674: SWAP1 00001675: POP 00001676: PUSH2 0x16c2 00001679: PUSH1 0x08 0000167b: PUSH1 0x00 0000167d: SWAP1 0000167e: SLOAD 0000167f: SWAP1 00001680: PUSH2 0x0100 00001683: EXP 00001684: SWAP1 00001685: DIV 00001686: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000169b: AND 0000169c: DUP3 0000169d: DUP5 0000169e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016b3: AND 000016b4: PUSH2 0x221d 000016b7: SWAP1 000016b8: SWAP3 000016b9: SWAP2 000016ba: SWAP1 000016bb: PUSH4 0xffffffff 000016c0: AND 000016c1: JUMP 000016c2: JUMPDEST 000016c3: POP 000016c4: POP 000016c5: JUMP 000016c6: JUMPDEST 000016c7: PUSH2 0x16ce 000016ca: PUSH2 0x1aa5 000016cd: JUMP 000016ce: JUMPDEST 000016cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016e4: AND 000016e5: DUP6 000016e6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000016fb: AND 000016fc: EQ 000016fd: DUP1 000016fe: PUSH2 0x1714 00001701: JUMPI 00001702: POP 00001703: PUSH2 0x1713 00001706: DUP6 00001707: PUSH2 0x170e 0000170a: PUSH2 0x1aa5 0000170d: JUMP 0000170e: JUMPDEST 0000170f: PUSH2 0x11d6 00001712: JUMP 00001713: JUMPDEST 00001714: JUMPDEST 00001715: PUSH2 0x1753 00001718: JUMPI 00001719: PUSH1 0x40 0000171b: MLOAD 0000171c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000173d: DUP2 0000173e: MSTORE 0000173f: PUSH1 0x04 00001741: ADD 00001742: PUSH2 0x174a 00001745: SWAP1 00001746: PUSH2 0x38ec 00001749: JUMP 0000174a: JUMPDEST 0000174b: PUSH1 0x40 0000174d: MLOAD 0000174e: DUP1 0000174f: SWAP2 00001750: SUB 00001751: SWAP1 00001752: REVERT 00001753: JUMPDEST 00001754: PUSH2 0x1760 00001757: DUP6 00001758: DUP6 00001759: DUP6 0000175a: DUP6 0000175b: DUP6 0000175c: PUSH2 0x22a3 0000175f: JUMP 00001760: JUMPDEST 00001761: POP 00001762: POP 00001763: POP 00001764: POP 00001765: POP 00001766: JUMP 00001767: JUMPDEST 00001768: PUSH1 0x0a 0000176a: DUP2 0000176b: PUSH2 0x03e8 0000176e: DUP2 0000176f: LT 00001770: PUSH2 0x1778 00001773: JUMPI 00001774: PUSH1 0x00 00001776: DUP1 00001777: REVERT 00001778: JUMPDEST 00001779: ADD 0000177a: PUSH1 0x00 0000177c: SWAP2 0000177d: POP 0000177e: SLOAD 0000177f: SWAP1 00001780: PUSH2 0x0100 00001783: EXP 00001784: SWAP1 00001785: DIV 00001786: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000179b: AND 0000179c: DUP2 0000179d: JUMP 0000179e: JUMPDEST 0000179f: PUSH1 0x00 000017a1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017b6: AND 000017b7: DUP5 000017b8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000017cd: AND 000017ce: EQ 000017cf: ISZERO 000017d0: PUSH2 0x180e 000017d3: JUMPI 000017d4: PUSH1 0x40 000017d6: MLOAD 000017d7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000017f8: DUP2 000017f9: MSTORE 000017fa: PUSH1 0x04 000017fc: ADD 000017fd: PUSH2 0x1805 00001800: SWAP1 00001801: PUSH2 0x3b0c 00001804: JUMP 00001805: JUMPDEST 00001806: PUSH1 0x40 00001808: MLOAD 00001809: DUP1 0000180a: SWAP2 0000180b: SUB 0000180c: SWAP1 0000180d: REVERT 0000180e: JUMPDEST 0000180f: PUSH1 0x00 00001811: PUSH2 0x1818 00001814: PUSH2 0x1aa5 00001817: JUMP 00001818: JUMPDEST 00001819: SWAP1 0000181a: POP 0000181b: PUSH2 0x1839 0000181e: DUP2 0000181f: PUSH1 0x00 00001821: DUP8 00001822: PUSH2 0x182a 00001825: DUP9 00001826: PUSH2 0x2525 00001829: JUMP 0000182a: JUMPDEST 0000182b: PUSH2 0x1833 0000182e: DUP9 0000182f: PUSH2 0x2525 00001832: JUMP 00001833: JUMPDEST 00001834: DUP8 00001835: PUSH2 0x25eb 00001838: JUMP 00001839: JUMPDEST 0000183a: DUP3 0000183b: PUSH1 0x00 0000183d: DUP1 0000183e: DUP7 0000183f: DUP2 00001840: MSTORE 00001841: PUSH1 0x20 00001843: ADD 00001844: SWAP1 00001845: DUP2 00001846: MSTORE 00001847: PUSH1 0x20 00001849: ADD 0000184a: PUSH1 0x00 0000184c: KECCAK256 0000184d: PUSH1 0x00 0000184f: DUP8 00001850: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001865: AND 00001866: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000187b: AND 0000187c: DUP2 0000187d: MSTORE 0000187e: PUSH1 0x20 00001880: ADD 00001881: SWAP1 00001882: DUP2 00001883: MSTORE 00001884: PUSH1 0x20 00001886: ADD 00001887: PUSH1 0x00 00001889: KECCAK256 0000188a: PUSH1 0x00 0000188c: DUP3 0000188d: DUP3 0000188e: SLOAD 0000188f: PUSH2 0x1898 00001892: SWAP2 00001893: SWAP1 00001894: PUSH2 0x3cba 00001897: JUMP 00001898: JUMPDEST 00001899: SWAP3 0000189a: POP 0000189b: POP 0000189c: DUP2 0000189d: SWAP1 0000189e: SSTORE 0000189f: POP 000018a0: DUP5 000018a1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018b6: AND 000018b7: PUSH1 0x00 000018b9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018ce: AND 000018cf: DUP3 000018d0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000018e5: AND 000018e6: PUSH32 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62 00001907: DUP8 00001908: DUP8 00001909: PUSH1 0x40 0000190b: MLOAD 0000190c: PUSH2 0x1916 0000190f: SWAP3 00001910: SWAP2 00001911: SWAP1 00001912: PUSH2 0x3b67 00001915: JUMP 00001916: JUMPDEST 00001917: PUSH1 0x40 00001919: MLOAD 0000191a: DUP1 0000191b: SWAP2 0000191c: SUB 0000191d: SWAP1 0000191e: LOG4 0000191f: PUSH2 0x192d 00001922: DUP2 00001923: PUSH1 0x00 00001925: DUP8 00001926: DUP8 00001927: DUP8 00001928: DUP8 00001929: PUSH2 0x25f3 0000192c: JUMP 0000192d: JUMPDEST 0000192e: POP 0000192f: POP 00001930: POP 00001931: POP 00001932: POP 00001933: JUMP 00001934: JUMPDEST 00001935: PUSH1 0x00 00001937: DUP1 00001938: DUP3 00001939: EXTCODESIZE 0000193a: SWAP1 0000193b: POP 0000193c: PUSH1 0x00 0000193e: DUP2 0000193f: GT 00001940: SWAP2 00001941: POP 00001942: POP 00001943: SWAP2 00001944: SWAP1 00001945: POP 00001946: JUMP 00001947: JUMPDEST 00001948: PUSH1 0x00 0000194a: PUSH32 0x01ffc9a700000000000000000000000000000000000000000000000000000000 0000196b: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00001988: NOT 00001989: AND 0000198a: DUP3 0000198b: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000019a8: NOT 000019a9: AND 000019aa: EQ 000019ab: SWAP1 000019ac: POP 000019ad: SWAP2 000019ae: SWAP1 000019af: POP 000019b0: JUMP 000019b1: JUMPDEST 000019b2: DUP1 000019b3: SELFBALANCE 000019b4: LT 000019b5: ISZERO 000019b6: PUSH2 0x19f4 000019b9: JUMPI 000019ba: PUSH1 0x40 000019bc: MLOAD 000019bd: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000019de: DUP2 000019df: MSTORE 000019e0: PUSH1 0x04 000019e2: ADD 000019e3: PUSH2 0x19eb 000019e6: SWAP1 000019e7: PUSH2 0x394c 000019ea: JUMP 000019eb: JUMPDEST 000019ec: PUSH1 0x40 000019ee: MLOAD 000019ef: DUP1 000019f0: SWAP2 000019f1: SUB 000019f2: SWAP1 000019f3: REVERT 000019f4: JUMPDEST 000019f5: PUSH1 0x00 000019f7: DUP3 000019f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001a0d: AND 00001a0e: DUP3 00001a0f: PUSH1 0x40 00001a11: MLOAD 00001a12: PUSH2 0x1a1a 00001a15: SWAP1 00001a16: PUSH2 0x36c0 00001a19: JUMP 00001a1a: JUMPDEST 00001a1b: PUSH1 0x00 00001a1d: PUSH1 0x40 00001a1f: MLOAD 00001a20: DUP1 00001a21: DUP4 00001a22: SUB 00001a23: DUP2 00001a24: DUP6 00001a25: DUP8 00001a26: GAS 00001a27: CALL 00001a28: SWAP3 00001a29: POP 00001a2a: POP 00001a2b: POP 00001a2c: RETURNDATASIZE 00001a2d: DUP1 00001a2e: PUSH1 0x00 00001a30: DUP2 00001a31: EQ 00001a32: PUSH2 0x1a57 00001a35: JUMPI 00001a36: PUSH1 0x40 00001a38: MLOAD 00001a39: SWAP2 00001a3a: POP 00001a3b: PUSH1 0x1f 00001a3d: NOT 00001a3e: PUSH1 0x3f 00001a40: RETURNDATASIZE 00001a41: ADD 00001a42: AND 00001a43: DUP3 00001a44: ADD 00001a45: PUSH1 0x40 00001a47: MSTORE 00001a48: RETURNDATASIZE 00001a49: DUP3 00001a4a: MSTORE 00001a4b: RETURNDATASIZE 00001a4c: PUSH1 0x00 00001a4e: PUSH1 0x20 00001a50: DUP5 00001a51: ADD 00001a52: RETURNDATACOPY 00001a53: PUSH2 0x1a5c 00001a56: JUMP 00001a57: JUMPDEST 00001a58: PUSH1 0x60 00001a5a: SWAP2 00001a5b: POP 00001a5c: JUMPDEST 00001a5d: POP 00001a5e: POP 00001a5f: SWAP1 00001a60: POP 00001a61: DUP1 00001a62: PUSH2 0x1aa0 00001a65: JUMPI 00001a66: PUSH1 0x40 00001a68: MLOAD 00001a69: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001a8a: DUP2 00001a8b: MSTORE 00001a8c: PUSH1 0x04 00001a8e: ADD 00001a8f: PUSH2 0x1a97 00001a92: SWAP1 00001a93: PUSH2 0x392c 00001a96: JUMP 00001a97: JUMPDEST 00001a98: PUSH1 0x40 00001a9a: MLOAD 00001a9b: DUP1 00001a9c: SWAP2 00001a9d: SUB 00001a9e: SWAP1 00001a9f: REVERT 00001aa0: JUMPDEST 00001aa1: POP 00001aa2: POP 00001aa3: POP 00001aa4: JUMP 00001aa5: JUMPDEST 00001aa6: PUSH1 0x00 00001aa8: CALLER 00001aa9: SWAP1 00001aaa: POP 00001aab: SWAP1 00001aac: JUMP 00001aad: JUMPDEST 00001aae: DUP2 00001aaf: MLOAD 00001ab0: DUP4 00001ab1: MLOAD 00001ab2: EQ 00001ab3: PUSH2 0x1af1 00001ab6: JUMPI 00001ab7: PUSH1 0x40 00001ab9: MLOAD 00001aba: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001adb: DUP2 00001adc: MSTORE 00001add: PUSH1 0x04 00001adf: ADD 00001ae0: PUSH2 0x1ae8 00001ae3: SWAP1 00001ae4: PUSH2 0x3aec 00001ae7: JUMP 00001ae8: JUMPDEST 00001ae9: PUSH1 0x40 00001aeb: MLOAD 00001aec: DUP1 00001aed: SWAP2 00001aee: SUB 00001aef: SWAP1 00001af0: REVERT 00001af1: JUMPDEST 00001af2: PUSH1 0x00 00001af4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b09: AND 00001b0a: DUP5 00001b0b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001b20: AND 00001b21: EQ 00001b22: ISZERO 00001b23: PUSH2 0x1b61 00001b26: JUMPI 00001b27: PUSH1 0x40 00001b29: MLOAD 00001b2a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001b4b: DUP2 00001b4c: MSTORE 00001b4d: PUSH1 0x04 00001b4f: ADD 00001b50: PUSH2 0x1b58 00001b53: SWAP1 00001b54: PUSH2 0x398c 00001b57: JUMP 00001b58: JUMPDEST 00001b59: PUSH1 0x40 00001b5b: MLOAD 00001b5c: DUP1 00001b5d: SWAP2 00001b5e: SUB 00001b5f: SWAP1 00001b60: REVERT 00001b61: JUMPDEST 00001b62: PUSH1 0x00 00001b64: PUSH2 0x1b6b 00001b67: PUSH2 0x1aa5 00001b6a: JUMP 00001b6b: JUMPDEST 00001b6c: SWAP1 00001b6d: POP 00001b6e: PUSH2 0x1b7b 00001b71: DUP2 00001b72: DUP8 00001b73: DUP8 00001b74: DUP8 00001b75: DUP8 00001b76: DUP8 00001b77: PUSH2 0x25eb 00001b7a: JUMP 00001b7b: JUMPDEST 00001b7c: PUSH1 0x00 00001b7e: JUMPDEST 00001b7f: DUP5 00001b80: MLOAD 00001b81: DUP2 00001b82: LT 00001b83: ISZERO 00001b84: PUSH2 0x1d78 00001b87: JUMPI 00001b88: PUSH1 0x00 00001b8a: DUP6 00001b8b: DUP3 00001b8c: DUP2 00001b8d: MLOAD 00001b8e: DUP2 00001b8f: LT 00001b90: PUSH2 0x1bc2 00001b93: JUMPI 00001b94: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001bb5: PUSH1 0x00 00001bb7: MSTORE 00001bb8: PUSH1 0x32 00001bba: PUSH1 0x04 00001bbc: MSTORE 00001bbd: PUSH1 0x24 00001bbf: PUSH1 0x00 00001bc1: REVERT 00001bc2: JUMPDEST 00001bc3: PUSH1 0x20 00001bc5: MUL 00001bc6: PUSH1 0x20 00001bc8: ADD 00001bc9: ADD 00001bca: MLOAD 00001bcb: SWAP1 00001bcc: POP 00001bcd: PUSH1 0x00 00001bcf: DUP6 00001bd0: DUP4 00001bd1: DUP2 00001bd2: MLOAD 00001bd3: DUP2 00001bd4: LT 00001bd5: PUSH2 0x1c07 00001bd8: JUMPI 00001bd9: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001bfa: PUSH1 0x00 00001bfc: MSTORE 00001bfd: PUSH1 0x32 00001bff: PUSH1 0x04 00001c01: MSTORE 00001c02: PUSH1 0x24 00001c04: PUSH1 0x00 00001c06: REVERT 00001c07: JUMPDEST 00001c08: PUSH1 0x20 00001c0a: MUL 00001c0b: PUSH1 0x20 00001c0d: ADD 00001c0e: ADD 00001c0f: MLOAD 00001c10: SWAP1 00001c11: POP 00001c12: PUSH1 0x00 00001c14: DUP1 00001c15: PUSH1 0x00 00001c17: DUP5 00001c18: DUP2 00001c19: MSTORE 00001c1a: PUSH1 0x20 00001c1c: ADD 00001c1d: SWAP1 00001c1e: DUP2 00001c1f: MSTORE 00001c20: PUSH1 0x20 00001c22: ADD 00001c23: PUSH1 0x00 00001c25: KECCAK256 00001c26: PUSH1 0x00 00001c28: DUP12 00001c29: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c3e: AND 00001c3f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001c54: AND 00001c55: DUP2 00001c56: MSTORE 00001c57: PUSH1 0x20 00001c59: ADD 00001c5a: SWAP1 00001c5b: DUP2 00001c5c: MSTORE 00001c5d: PUSH1 0x20 00001c5f: ADD 00001c60: PUSH1 0x00 00001c62: KECCAK256 00001c63: SLOAD 00001c64: SWAP1 00001c65: POP 00001c66: DUP2 00001c67: DUP2 00001c68: LT 00001c69: ISZERO 00001c6a: PUSH2 0x1ca8 00001c6d: JUMPI 00001c6e: PUSH1 0x40 00001c70: MLOAD 00001c71: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001c92: DUP2 00001c93: MSTORE 00001c94: PUSH1 0x04 00001c96: ADD 00001c97: PUSH2 0x1c9f 00001c9a: SWAP1 00001c9b: PUSH2 0x39ec 00001c9e: JUMP 00001c9f: JUMPDEST 00001ca0: PUSH1 0x40 00001ca2: MLOAD 00001ca3: DUP1 00001ca4: SWAP2 00001ca5: SUB 00001ca6: SWAP1 00001ca7: REVERT 00001ca8: JUMPDEST 00001ca9: DUP2 00001caa: DUP2 00001cab: SUB 00001cac: PUSH1 0x00 00001cae: DUP1 00001caf: DUP6 00001cb0: DUP2 00001cb1: MSTORE 00001cb2: PUSH1 0x20 00001cb4: ADD 00001cb5: SWAP1 00001cb6: DUP2 00001cb7: MSTORE 00001cb8: PUSH1 0x20 00001cba: ADD 00001cbb: PUSH1 0x00 00001cbd: KECCAK256 00001cbe: PUSH1 0x00 00001cc0: DUP13 00001cc1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cd6: AND 00001cd7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001cec: AND 00001ced: DUP2 00001cee: MSTORE 00001cef: PUSH1 0x20 00001cf1: ADD 00001cf2: SWAP1 00001cf3: DUP2 00001cf4: MSTORE 00001cf5: PUSH1 0x20 00001cf7: ADD 00001cf8: PUSH1 0x00 00001cfa: KECCAK256 00001cfb: DUP2 00001cfc: SWAP1 00001cfd: SSTORE 00001cfe: POP 00001cff: DUP2 00001d00: PUSH1 0x00 00001d02: DUP1 00001d03: DUP6 00001d04: DUP2 00001d05: MSTORE 00001d06: PUSH1 0x20 00001d08: ADD 00001d09: SWAP1 00001d0a: DUP2 00001d0b: MSTORE 00001d0c: PUSH1 0x20 00001d0e: ADD 00001d0f: PUSH1 0x00 00001d11: KECCAK256 00001d12: PUSH1 0x00 00001d14: DUP12 00001d15: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d2a: AND 00001d2b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d40: AND 00001d41: DUP2 00001d42: MSTORE 00001d43: PUSH1 0x20 00001d45: ADD 00001d46: SWAP1 00001d47: DUP2 00001d48: MSTORE 00001d49: PUSH1 0x20 00001d4b: ADD 00001d4c: PUSH1 0x00 00001d4e: KECCAK256 00001d4f: PUSH1 0x00 00001d51: DUP3 00001d52: DUP3 00001d53: SLOAD 00001d54: PUSH2 0x1d5d 00001d57: SWAP2 00001d58: SWAP1 00001d59: PUSH2 0x3cba 00001d5c: JUMP 00001d5d: JUMPDEST 00001d5e: SWAP3 00001d5f: POP 00001d60: POP 00001d61: DUP2 00001d62: SWAP1 00001d63: SSTORE 00001d64: POP 00001d65: POP 00001d66: POP 00001d67: POP 00001d68: DUP1 00001d69: PUSH2 0x1d71 00001d6c: SWAP1 00001d6d: PUSH2 0x3efa 00001d70: JUMP 00001d71: JUMPDEST 00001d72: SWAP1 00001d73: POP 00001d74: PUSH2 0x1b7e 00001d77: JUMP 00001d78: JUMPDEST 00001d79: POP 00001d7a: DUP5 00001d7b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001d90: AND 00001d91: DUP7 00001d92: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001da7: AND 00001da8: DUP3 00001da9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001dbe: AND 00001dbf: PUSH32 0x4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb 00001de0: DUP8 00001de1: DUP8 00001de2: PUSH1 0x40 00001de4: MLOAD 00001de5: PUSH2 0x1def 00001de8: SWAP3 00001de9: SWAP2 00001dea: SWAP1 00001deb: PUSH2 0x3818 00001dee: JUMP 00001def: JUMPDEST 00001df0: PUSH1 0x40 00001df2: MLOAD 00001df3: DUP1 00001df4: SWAP2 00001df5: SUB 00001df6: SWAP1 00001df7: LOG4 00001df8: PUSH2 0x1e05 00001dfb: DUP2 00001dfc: DUP8 00001dfd: DUP8 00001dfe: DUP8 00001dff: DUP8 00001e00: DUP8 00001e01: PUSH2 0x27da 00001e04: JUMP 00001e05: JUMPDEST 00001e06: POP 00001e07: POP 00001e08: POP 00001e09: POP 00001e0a: POP 00001e0b: POP 00001e0c: JUMP 00001e0d: JUMPDEST 00001e0e: PUSH1 0x00 00001e10: PUSH2 0x1e19 00001e13: PUSH1 0x01 00001e15: PUSH2 0x11b2 00001e18: JUMP 00001e19: JUMPDEST 00001e1a: SWAP1 00001e1b: POP 00001e1c: PUSH1 0x00 00001e1e: DUP2 00001e1f: PUSH2 0x03f2 00001e22: SLOAD 00001e23: PUSH2 0x1e2c 00001e26: SWAP2 00001e27: SWAP1 00001e28: PUSH2 0x3f43 00001e2b: JUMP 00001e2c: JUMPDEST 00001e2d: DUP3 00001e2e: PUSH2 0x1e37 00001e31: SWAP2 00001e32: SWAP1 00001e33: PUSH2 0x3d9b 00001e36: JUMP 00001e37: JUMPDEST 00001e38: SWAP1 00001e39: POP 00001e3a: DUP3 00001e3b: DUP2 00001e3c: GT 00001e3d: ISZERO 00001e3e: PUSH2 0x1ea1 00001e41: JUMPI 00001e42: DUP3 00001e43: PUSH1 0x02 00001e45: PUSH1 0x07 00001e47: SLOAD 00001e48: PUSH2 0x1e51 00001e4b: SWAP2 00001e4c: SWAP1 00001e4d: PUSH2 0x3d41 00001e50: JUMP 00001e51: JUMPDEST 00001e52: PUSH2 0x1e5b 00001e55: SWAP2 00001e56: SWAP1 00001e57: PUSH2 0x3d41 00001e5a: JUMP 00001e5b: JUMPDEST 00001e5c: CALLVALUE 00001e5d: EQ 00001e5e: PUSH2 0x1e9c 00001e61: JUMPI 00001e62: PUSH1 0x40 00001e64: MLOAD 00001e65: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001e86: DUP2 00001e87: MSTORE 00001e88: PUSH1 0x04 00001e8a: ADD 00001e8b: PUSH2 0x1e93 00001e8e: SWAP1 00001e8f: PUSH2 0x390c 00001e92: JUMP 00001e93: JUMPDEST 00001e94: PUSH1 0x40 00001e96: MLOAD 00001e97: DUP1 00001e98: SWAP2 00001e99: SUB 00001e9a: SWAP1 00001e9b: REVERT 00001e9c: JUMPDEST 00001e9d: PUSH2 0x1f38 00001ea0: JUMP 00001ea1: JUMPDEST 00001ea2: PUSH1 0x00 00001ea4: DUP2 00001ea5: SWAP1 00001ea6: POP 00001ea7: PUSH1 0x00 00001ea9: DUP2 00001eaa: DUP6 00001eab: PUSH2 0x1eb4 00001eae: SWAP2 00001eaf: SWAP1 00001eb0: PUSH2 0x3d9b 00001eb3: JUMP 00001eb4: JUMPDEST 00001eb5: SWAP1 00001eb6: POP 00001eb7: DUP1 00001eb8: PUSH1 0x04 00001eba: PUSH1 0x07 00001ebc: SLOAD 00001ebd: PUSH2 0x1ec6 00001ec0: SWAP2 00001ec1: SWAP1 00001ec2: PUSH2 0x3d41 00001ec5: JUMP 00001ec6: JUMPDEST 00001ec7: PUSH2 0x1ed0 00001eca: SWAP2 00001ecb: SWAP1 00001ecc: PUSH2 0x3d41 00001ecf: JUMP 00001ed0: JUMPDEST 00001ed1: DUP3 00001ed2: PUSH1 0x02 00001ed4: PUSH1 0x07 00001ed6: SLOAD 00001ed7: PUSH2 0x1ee0 00001eda: SWAP2 00001edb: SWAP1 00001edc: PUSH2 0x3d41 00001edf: JUMP 00001ee0: JUMPDEST 00001ee1: PUSH2 0x1eea 00001ee4: SWAP2 00001ee5: SWAP1 00001ee6: PUSH2 0x3d41 00001ee9: JUMP 00001eea: JUMPDEST 00001eeb: PUSH2 0x1ef4 00001eee: SWAP2 00001eef: SWAP1 00001ef0: PUSH2 0x3cba 00001ef3: JUMP 00001ef4: JUMPDEST 00001ef5: CALLVALUE 00001ef6: EQ 00001ef7: PUSH2 0x1f35 00001efa: JUMPI 00001efb: PUSH1 0x40 00001efd: MLOAD 00001efe: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00001f1f: DUP2 00001f20: MSTORE 00001f21: PUSH1 0x04 00001f23: ADD 00001f24: PUSH2 0x1f2c 00001f27: SWAP1 00001f28: PUSH2 0x390c 00001f2b: JUMP 00001f2c: JUMPDEST 00001f2d: PUSH1 0x40 00001f2f: MLOAD 00001f30: DUP1 00001f31: SWAP2 00001f32: SUB 00001f33: SWAP1 00001f34: REVERT 00001f35: JUMPDEST 00001f36: POP 00001f37: POP 00001f38: JUMPDEST 00001f39: POP 00001f3a: POP 00001f3b: POP 00001f3c: JUMP 00001f3d: JUMPDEST 00001f3e: PUSH1 0x00 00001f40: PUSH1 0x02 00001f42: PUSH1 0x07 00001f44: SLOAD 00001f45: PUSH2 0x1f4e 00001f48: SWAP2 00001f49: SWAP1 00001f4a: PUSH2 0x3d41 00001f4d: JUMP 00001f4e: JUMPDEST 00001f4f: SWAP1 00001f50: POP 00001f51: PUSH1 0x00 00001f53: PUSH2 0x1f5c 00001f56: PUSH1 0x01 00001f58: PUSH2 0x11b2 00001f5b: JUMP 00001f5c: JUMPDEST 00001f5d: SWAP1 00001f5e: POP 00001f5f: PUSH1 0x00 00001f61: DUP2 00001f62: PUSH2 0x03f2 00001f65: SLOAD 00001f66: PUSH2 0x1f6f 00001f69: SWAP2 00001f6a: SWAP1 00001f6b: PUSH2 0x3f43 00001f6e: JUMP 00001f6f: JUMPDEST 00001f70: SWAP1 00001f71: POP 00001f72: PUSH1 0x00 00001f74: DUP1 00001f75: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001f8a: AND 00001f8b: PUSH1 0x0a 00001f8d: DUP4 00001f8e: PUSH2 0x03e8 00001f91: DUP2 00001f92: LT 00001f93: PUSH2 0x1fc5 00001f96: JUMPI 00001f97: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00001fb8: PUSH1 0x00 00001fba: MSTORE 00001fbb: PUSH1 0x32 00001fbd: PUSH1 0x04 00001fbf: MSTORE 00001fc0: PUSH1 0x24 00001fc2: PUSH1 0x00 00001fc4: REVERT 00001fc5: JUMPDEST 00001fc6: ADD 00001fc7: PUSH1 0x00 00001fc9: SWAP1 00001fca: SLOAD 00001fcb: SWAP1 00001fcc: PUSH2 0x0100 00001fcf: EXP 00001fd0: SWAP1 00001fd1: DIV 00001fd2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001fe7: AND 00001fe8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00001ffd: AND 00001ffe: EQ 00001fff: PUSH2 0x2064 00002002: JUMPI 00002003: PUSH1 0x0a 00002005: DUP3 00002006: PUSH2 0x03e8 00002009: DUP2 0000200a: LT 0000200b: PUSH2 0x203d 0000200e: JUMPI 0000200f: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00002030: PUSH1 0x00 00002032: MSTORE 00002033: PUSH1 0x32 00002035: PUSH1 0x04 00002037: MSTORE 00002038: PUSH1 0x24 0000203a: PUSH1 0x00 0000203c: REVERT 0000203d: JUMPDEST 0000203e: ADD 0000203f: PUSH1 0x00 00002041: SWAP1 00002042: SLOAD 00002043: SWAP1 00002044: PUSH2 0x0100 00002047: EXP 00002048: SWAP1 00002049: DIV 0000204a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000205f: AND 00002060: PUSH2 0x2088 00002063: JUMP 00002064: JUMPDEST 00002065: PUSH1 0x08 00002067: PUSH1 0x00 00002069: SWAP1 0000206a: SLOAD 0000206b: SWAP1 0000206c: PUSH2 0x0100 0000206f: EXP 00002070: SWAP1 00002071: DIV 00002072: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002087: AND 00002088: JUMPDEST 00002089: SWAP1 0000208a: POP 0000208b: DUP5 0000208c: PUSH1 0x0a 0000208e: DUP4 0000208f: PUSH2 0x03e8 00002092: DUP2 00002093: LT 00002094: PUSH2 0x20c6 00002097: JUMPI 00002098: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000020b9: PUSH1 0x00 000020bb: MSTORE 000020bc: PUSH1 0x32 000020be: PUSH1 0x04 000020c0: MSTORE 000020c1: PUSH1 0x24 000020c3: PUSH1 0x00 000020c5: REVERT 000020c6: JUMPDEST 000020c7: ADD 000020c8: PUSH1 0x00 000020ca: PUSH2 0x0100 000020cd: EXP 000020ce: DUP2 000020cf: SLOAD 000020d0: DUP2 000020d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000020e6: MUL 000020e7: NOT 000020e8: AND 000020e9: SWAP1 000020ea: DUP4 000020eb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002100: AND 00002101: MUL 00002102: OR 00002103: SWAP1 00002104: SSTORE 00002105: POP 00002106: PUSH1 0x01 00002108: DUP4 00002109: PUSH2 0x2112 0000210c: SWAP2 0000210d: SWAP1 0000210e: PUSH2 0x3d9b 00002111: JUMP 00002112: JUMPDEST 00002113: DUP3 00002114: EQ 00002115: ISZERO 00002116: PUSH2 0x2121 00002119: JUMPI 0000211a: DUP4 0000211b: PUSH1 0x07 0000211d: DUP2 0000211e: SWAP1 0000211f: SSTORE 00002120: POP 00002121: JUMPDEST 00002122: PUSH1 0x00 00002124: PUSH2 0x03e8 00002127: PUSH1 0x32 00002129: DUP7 0000212a: PUSH2 0x2133 0000212d: SWAP2 0000212e: SWAP1 0000212f: PUSH2 0x3d41 00002132: JUMP 00002133: JUMPDEST 00002134: PUSH2 0x213d 00002137: SWAP2 00002138: SWAP1 00002139: PUSH2 0x3d10 0000213c: JUMP 0000213d: JUMPDEST 0000213e: SWAP1 0000213f: POP 00002140: PUSH1 0x00 00002142: PUSH2 0x03e8 00002145: PUSH1 0x28 00002147: DUP8 00002148: PUSH2 0x2151 0000214b: SWAP2 0000214c: SWAP1 0000214d: PUSH2 0x3d41 00002150: JUMP 00002151: JUMPDEST 00002152: PUSH2 0x215b 00002155: SWAP2 00002156: SWAP1 00002157: PUSH2 0x3d10 0000215a: JUMP 0000215b: JUMPDEST 0000215c: SWAP1 0000215d: POP 0000215e: PUSH1 0x00 00002160: PUSH2 0x03e8 00002163: PUSH1 0x0a 00002165: DUP9 00002166: PUSH2 0x216f 00002169: SWAP2 0000216a: SWAP1 0000216b: PUSH2 0x3d41 0000216e: JUMP 0000216f: JUMPDEST 00002170: PUSH2 0x2179 00002173: SWAP2 00002174: SWAP1 00002175: PUSH2 0x3d10 00002178: JUMP 00002179: JUMPDEST 0000217a: SWAP1 0000217b: POP 0000217c: PUSH1 0x00 0000217e: DUP7 0000217f: PUSH2 0x03f2 00002182: SLOAD 00002183: LT 00002184: PUSH2 0x219b 00002187: JUMPI 00002188: DUP7 00002189: PUSH2 0x03f3 0000218c: SLOAD 0000218d: PUSH2 0x2196 00002190: SWAP2 00002191: SWAP1 00002192: PUSH2 0x3d10 00002195: JUMP 00002196: JUMPDEST 00002197: PUSH2 0x219e 0000219a: JUMP 0000219b: JUMPDEST 0000219c: PUSH1 0x00 0000219e: JUMPDEST 0000219f: SWAP1 000021a0: POP 000021a1: DUP3 000021a2: DUP2 000021a3: PUSH2 0x03f3 000021a6: SLOAD 000021a7: PUSH2 0x21b0 000021aa: SWAP2 000021ab: SWAP1 000021ac: PUSH2 0x3d9b 000021af: JUMP 000021b0: JUMPDEST 000021b1: PUSH2 0x21ba 000021b4: SWAP2 000021b5: SWAP1 000021b6: PUSH2 0x3cba 000021b9: JUMP 000021ba: JUMPDEST 000021bb: PUSH2 0x03f3 000021be: DUP2 000021bf: SWAP1 000021c0: SSTORE 000021c1: POP 000021c2: PUSH1 0x01 000021c4: PUSH2 0x03f2 000021c7: PUSH1 0x00 000021c9: DUP3 000021ca: DUP3 000021cb: SLOAD 000021cc: PUSH2 0x21d5 000021cf: SWAP2 000021d0: SWAP1 000021d1: PUSH2 0x3cba 000021d4: JUMP 000021d5: JUMPDEST 000021d6: SWAP3 000021d7: POP 000021d8: POP 000021d9: DUP2 000021da: SWAP1 000021db: SSTORE 000021dc: POP 000021dd: PUSH2 0x2212 000021e0: DUP6 000021e1: DUP3 000021e2: DUP5 000021e3: DUP7 000021e4: DUP9 000021e5: DUP14 000021e6: PUSH2 0x21ef 000021e9: SWAP2 000021ea: SWAP1 000021eb: PUSH2 0x3d9b 000021ee: JUMP 000021ef: JUMPDEST 000021f0: PUSH2 0x21f9 000021f3: SWAP2 000021f4: SWAP1 000021f5: PUSH2 0x3d9b 000021f8: JUMP 000021f9: JUMPDEST 000021fa: PUSH2 0x2203 000021fd: SWAP2 000021fe: SWAP1 000021ff: PUSH2 0x3d9b 00002202: JUMP 00002203: JUMPDEST 00002204: PUSH2 0x220d 00002207: SWAP2 00002208: SWAP1 00002209: PUSH2 0x3cba 0000220c: JUMP 0000220d: JUMPDEST 0000220e: PUSH2 0x19b1 00002211: JUMP 00002212: JUMPDEST 00002213: POP 00002214: POP 00002215: POP 00002216: POP 00002217: POP 00002218: POP 00002219: POP 0000221a: POP 0000221b: POP 0000221c: JUMP 0000221d: JUMPDEST 0000221e: PUSH2 0x229e 00002221: DUP4 00002222: PUSH4 0xa9059cbb 00002227: PUSH1 0xe0 00002229: SHL 0000222a: DUP5 0000222b: DUP5 0000222c: PUSH1 0x40 0000222e: MLOAD 0000222f: PUSH1 0x24 00002231: ADD 00002232: PUSH2 0x223c 00002235: SWAP3 00002236: SWAP2 00002237: SWAP1 00002238: PUSH2 0x37cd 0000223b: JUMP 0000223c: JUMPDEST 0000223d: PUSH1 0x40 0000223f: MLOAD 00002240: PUSH1 0x20 00002242: DUP2 00002243: DUP4 00002244: SUB 00002245: SUB 00002246: DUP2 00002247: MSTORE 00002248: SWAP1 00002249: PUSH1 0x40 0000224b: MSTORE 0000224c: SWAP1 0000224d: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000226a: NOT 0000226b: AND 0000226c: PUSH1 0x20 0000226e: DUP3 0000226f: ADD 00002270: DUP1 00002271: MLOAD 00002272: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000228f: DUP4 00002290: DUP2 00002291: DUP4 00002292: AND 00002293: OR 00002294: DUP4 00002295: MSTORE 00002296: POP 00002297: POP 00002298: POP 00002299: POP 0000229a: PUSH2 0x29c1 0000229d: JUMP 0000229e: JUMPDEST 0000229f: POP 000022a0: POP 000022a1: POP 000022a2: JUMP 000022a3: JUMPDEST 000022a4: PUSH1 0x00 000022a6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022bb: AND 000022bc: DUP5 000022bd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022d2: AND 000022d3: EQ 000022d4: ISZERO 000022d5: PUSH2 0x2313 000022d8: JUMPI 000022d9: PUSH1 0x40 000022db: MLOAD 000022dc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000022fd: DUP2 000022fe: MSTORE 000022ff: PUSH1 0x04 00002301: ADD 00002302: PUSH2 0x230a 00002305: SWAP1 00002306: PUSH2 0x398c 00002309: JUMP 0000230a: JUMPDEST 0000230b: PUSH1 0x40 0000230d: MLOAD 0000230e: DUP1 0000230f: SWAP2 00002310: SUB 00002311: SWAP1 00002312: REVERT 00002313: JUMPDEST 00002314: PUSH1 0x00 00002316: PUSH2 0x231d 00002319: PUSH2 0x1aa5 0000231c: JUMP 0000231d: JUMPDEST 0000231e: SWAP1 0000231f: POP 00002320: PUSH2 0x233d 00002323: DUP2 00002324: DUP8 00002325: DUP8 00002326: PUSH2 0x232e 00002329: DUP9 0000232a: PUSH2 0x2525 0000232d: JUMP 0000232e: JUMPDEST 0000232f: PUSH2 0x2337 00002332: DUP9 00002333: PUSH2 0x2525 00002336: JUMP 00002337: JUMPDEST 00002338: DUP8 00002339: PUSH2 0x25eb 0000233c: JUMP 0000233d: JUMPDEST 0000233e: PUSH1 0x00 00002340: DUP1 00002341: PUSH1 0x00 00002343: DUP7 00002344: DUP2 00002345: MSTORE 00002346: PUSH1 0x20 00002348: ADD 00002349: SWAP1 0000234a: DUP2 0000234b: MSTORE 0000234c: PUSH1 0x20 0000234e: ADD 0000234f: PUSH1 0x00 00002351: KECCAK256 00002352: PUSH1 0x00 00002354: DUP9 00002355: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000236a: AND 0000236b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002380: AND 00002381: DUP2 00002382: MSTORE 00002383: PUSH1 0x20 00002385: ADD 00002386: SWAP1 00002387: DUP2 00002388: MSTORE 00002389: PUSH1 0x20 0000238b: ADD 0000238c: PUSH1 0x00 0000238e: KECCAK256 0000238f: SLOAD 00002390: SWAP1 00002391: POP 00002392: DUP4 00002393: DUP2 00002394: LT 00002395: ISZERO 00002396: PUSH2 0x23d4 00002399: JUMPI 0000239a: PUSH1 0x40 0000239c: MLOAD 0000239d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000023be: DUP2 000023bf: MSTORE 000023c0: PUSH1 0x04 000023c2: ADD 000023c3: PUSH2 0x23cb 000023c6: SWAP1 000023c7: PUSH2 0x39ec 000023ca: JUMP 000023cb: JUMPDEST 000023cc: PUSH1 0x40 000023ce: MLOAD 000023cf: DUP1 000023d0: SWAP2 000023d1: SUB 000023d2: SWAP1 000023d3: REVERT 000023d4: JUMPDEST 000023d5: DUP4 000023d6: DUP2 000023d7: SUB 000023d8: PUSH1 0x00 000023da: DUP1 000023db: DUP8 000023dc: DUP2 000023dd: MSTORE 000023de: PUSH1 0x20 000023e0: ADD 000023e1: SWAP1 000023e2: DUP2 000023e3: MSTORE 000023e4: PUSH1 0x20 000023e6: ADD 000023e7: PUSH1 0x00 000023e9: KECCAK256 000023ea: PUSH1 0x00 000023ec: DUP10 000023ed: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002402: AND 00002403: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002418: AND 00002419: DUP2 0000241a: MSTORE 0000241b: PUSH1 0x20 0000241d: ADD 0000241e: SWAP1 0000241f: DUP2 00002420: MSTORE 00002421: PUSH1 0x20 00002423: ADD 00002424: PUSH1 0x00 00002426: KECCAK256 00002427: DUP2 00002428: SWAP1 00002429: SSTORE 0000242a: POP 0000242b: DUP4 0000242c: PUSH1 0x00 0000242e: DUP1 0000242f: DUP8 00002430: DUP2 00002431: MSTORE 00002432: PUSH1 0x20 00002434: ADD 00002435: SWAP1 00002436: DUP2 00002437: MSTORE 00002438: PUSH1 0x20 0000243a: ADD 0000243b: PUSH1 0x00 0000243d: KECCAK256 0000243e: PUSH1 0x00 00002440: DUP9 00002441: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002456: AND 00002457: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000246c: AND 0000246d: DUP2 0000246e: MSTORE 0000246f: PUSH1 0x20 00002471: ADD 00002472: SWAP1 00002473: DUP2 00002474: MSTORE 00002475: PUSH1 0x20 00002477: ADD 00002478: PUSH1 0x00 0000247a: KECCAK256 0000247b: PUSH1 0x00 0000247d: DUP3 0000247e: DUP3 0000247f: SLOAD 00002480: PUSH2 0x2489 00002483: SWAP2 00002484: SWAP1 00002485: PUSH2 0x3cba 00002488: JUMP 00002489: JUMPDEST 0000248a: SWAP3 0000248b: POP 0000248c: POP 0000248d: DUP2 0000248e: SWAP1 0000248f: SSTORE 00002490: POP 00002491: DUP6 00002492: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024a7: AND 000024a8: DUP8 000024a9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024be: AND 000024bf: DUP4 000024c0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000024d5: AND 000024d6: PUSH32 0xc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62 000024f7: DUP9 000024f8: DUP9 000024f9: PUSH1 0x40 000024fb: MLOAD 000024fc: PUSH2 0x2506 000024ff: SWAP3 00002500: SWAP2 00002501: SWAP1 00002502: PUSH2 0x3b67 00002505: JUMP 00002506: JUMPDEST 00002507: PUSH1 0x40 00002509: MLOAD 0000250a: DUP1 0000250b: SWAP2 0000250c: SUB 0000250d: SWAP1 0000250e: LOG4 0000250f: PUSH2 0x251c 00002512: DUP3 00002513: DUP9 00002514: DUP9 00002515: DUP9 00002516: DUP9 00002517: DUP9 00002518: PUSH2 0x25f3 0000251b: JUMP 0000251c: JUMPDEST 0000251d: POP 0000251e: POP 0000251f: POP 00002520: POP 00002521: POP 00002522: POP 00002523: POP 00002524: JUMP 00002525: JUMPDEST 00002526: PUSH1 0x60 00002528: PUSH1 0x00 0000252a: PUSH1 0x01 0000252c: PUSH8 0xffffffffffffffff 00002535: DUP2 00002536: GT 00002537: ISZERO 00002538: PUSH2 0x256a 0000253b: JUMPI 0000253c: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 0000255d: PUSH1 0x00 0000255f: MSTORE 00002560: PUSH1 0x41 00002562: PUSH1 0x04 00002564: MSTORE 00002565: PUSH1 0x24 00002567: PUSH1 0x00 00002569: REVERT 0000256a: JUMPDEST 0000256b: PUSH1 0x40 0000256d: MLOAD 0000256e: SWAP1 0000256f: DUP1 00002570: DUP3 00002571: MSTORE 00002572: DUP1 00002573: PUSH1 0x20 00002575: MUL 00002576: PUSH1 0x20 00002578: ADD 00002579: DUP3 0000257a: ADD 0000257b: PUSH1 0x40 0000257d: MSTORE 0000257e: DUP1 0000257f: ISZERO 00002580: PUSH2 0x2598 00002583: JUMPI 00002584: DUP2 00002585: PUSH1 0x20 00002587: ADD 00002588: PUSH1 0x20 0000258a: DUP3 0000258b: MUL 0000258c: DUP1 0000258d: CALLDATASIZE 0000258e: DUP4 0000258f: CALLDATACOPY 00002590: DUP1 00002591: DUP3 00002592: ADD 00002593: SWAP2 00002594: POP 00002595: POP 00002596: SWAP1 00002597: POP 00002598: JUMPDEST 00002599: POP 0000259a: SWAP1 0000259b: POP 0000259c: DUP3 0000259d: DUP2 0000259e: PUSH1 0x00 000025a0: DUP2 000025a1: MLOAD 000025a2: DUP2 000025a3: LT 000025a4: PUSH2 0x25d6 000025a7: JUMPI 000025a8: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 000025c9: PUSH1 0x00 000025cb: MSTORE 000025cc: PUSH1 0x32 000025ce: PUSH1 0x04 000025d0: MSTORE 000025d1: PUSH1 0x24 000025d3: PUSH1 0x00 000025d5: REVERT 000025d6: JUMPDEST 000025d7: PUSH1 0x20 000025d9: MUL 000025da: PUSH1 0x20 000025dc: ADD 000025dd: ADD 000025de: DUP2 000025df: DUP2 000025e0: MSTORE 000025e1: POP 000025e2: POP 000025e3: DUP1 000025e4: SWAP2 000025e5: POP 000025e6: POP 000025e7: SWAP2 000025e8: SWAP1 000025e9: POP 000025ea: JUMP 000025eb: JUMPDEST 000025ec: POP 000025ed: POP 000025ee: POP 000025ef: POP 000025f0: POP 000025f1: POP 000025f2: JUMP 000025f3: JUMPDEST 000025f4: PUSH2 0x2612 000025f7: DUP5 000025f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000260d: AND 0000260e: PUSH2 0x1934 00002611: JUMP 00002612: JUMPDEST 00002613: ISZERO 00002614: PUSH2 0x27d2 00002617: JUMPI 00002618: DUP4 00002619: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 0000262e: AND 0000262f: PUSH4 0xf23a6e61 00002634: DUP8 00002635: DUP8 00002636: DUP7 00002637: DUP7 00002638: DUP7 00002639: PUSH1 0x40 0000263b: MLOAD 0000263c: DUP7 0000263d: PUSH4 0xffffffff 00002642: AND 00002643: PUSH1 0xe0 00002645: SHL 00002646: DUP2 00002647: MSTORE 00002648: PUSH1 0x04 0000264a: ADD 0000264b: PUSH2 0x2658 0000264e: SWAP6 0000264f: SWAP5 00002650: SWAP4 00002651: SWAP3 00002652: SWAP2 00002653: SWAP1 00002654: PUSH2 0x3773 00002657: JUMP 00002658: JUMPDEST 00002659: PUSH1 0x20 0000265b: PUSH1 0x40 0000265d: MLOAD 0000265e: DUP1 0000265f: DUP4 00002660: SUB 00002661: DUP2 00002662: PUSH1 0x00 00002664: DUP8 00002665: DUP1 00002666: EXTCODESIZE 00002667: ISZERO 00002668: DUP1 00002669: ISZERO 0000266a: PUSH2 0x2672 0000266d: JUMPI 0000266e: PUSH1 0x00 00002670: DUP1 00002671: REVERT 00002672: JUMPDEST 00002673: POP 00002674: GAS 00002675: CALL 00002676: SWAP3 00002677: POP 00002678: POP 00002679: POP 0000267a: DUP1 0000267b: ISZERO 0000267c: PUSH2 0x26a3 0000267f: JUMPI 00002680: POP 00002681: PUSH1 0x40 00002683: MLOAD 00002684: RETURNDATASIZE 00002685: PUSH1 0x1f 00002687: NOT 00002688: PUSH1 0x1f 0000268a: DUP3 0000268b: ADD 0000268c: AND 0000268d: DUP3 0000268e: ADD 0000268f: DUP1 00002690: PUSH1 0x40 00002692: MSTORE 00002693: POP 00002694: DUP2 00002695: ADD 00002696: SWAP1 00002697: PUSH2 0x26a0 0000269a: SWAP2 0000269b: SWAP1 0000269c: PUSH2 0x31a5 0000269f: JUMP 000026a0: JUMPDEST 000026a1: PUSH1 0x01 000026a3: JUMPDEST 000026a4: PUSH2 0x2749 000026a7: JUMPI 000026a8: PUSH2 0x26af 000026ab: PUSH2 0x4030 000026ae: JUMP 000026af: JUMPDEST 000026b0: DUP1 000026b1: PUSH4 0x08c379a0 000026b6: EQ 000026b7: ISZERO 000026b8: PUSH2 0x270c 000026bb: JUMPI 000026bc: POP 000026bd: PUSH2 0x26c4 000026c0: PUSH2 0x46a5 000026c3: JUMP 000026c4: JUMPDEST 000026c5: DUP1 000026c6: PUSH2 0x26cf 000026c9: JUMPI 000026ca: POP 000026cb: PUSH2 0x270e 000026ce: JUMP 000026cf: JUMPDEST 000026d0: DUP1 000026d1: PUSH1 0x40 000026d3: MLOAD 000026d4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000026f5: DUP2 000026f6: MSTORE 000026f7: PUSH1 0x04 000026f9: ADD 000026fa: PUSH2 0x2703 000026fd: SWAP2 000026fe: SWAP1 000026ff: PUSH2 0x386a 00002702: JUMP 00002703: JUMPDEST 00002704: PUSH1 0x40 00002706: MLOAD 00002707: DUP1 00002708: SWAP2 00002709: SUB 0000270a: SWAP1 0000270b: REVERT 0000270c: JUMPDEST 0000270d: POP 0000270e: JUMPDEST 0000270f: PUSH1 0x40 00002711: MLOAD 00002712: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002733: DUP2 00002734: MSTORE 00002735: PUSH1 0x04 00002737: ADD 00002738: PUSH2 0x2740 0000273b: SWAP1 0000273c: PUSH2 0x388c 0000273f: JUMP 00002740: JUMPDEST 00002741: PUSH1 0x40 00002743: MLOAD 00002744: DUP1 00002745: SWAP2 00002746: SUB 00002747: SWAP1 00002748: REVERT 00002749: JUMPDEST 0000274a: PUSH4 0xf23a6e61 0000274f: PUSH1 0xe0 00002751: SHL 00002752: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000276f: NOT 00002770: AND 00002771: DUP2 00002772: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 0000278f: NOT 00002790: AND 00002791: EQ 00002792: PUSH2 0x27d0 00002795: JUMPI 00002796: PUSH1 0x40 00002798: MLOAD 00002799: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000027ba: DUP2 000027bb: MSTORE 000027bc: PUSH1 0x04 000027be: ADD 000027bf: PUSH2 0x27c7 000027c2: SWAP1 000027c3: PUSH2 0x38ac 000027c6: JUMP 000027c7: JUMPDEST 000027c8: PUSH1 0x40 000027ca: MLOAD 000027cb: DUP1 000027cc: SWAP2 000027cd: SUB 000027ce: SWAP1 000027cf: REVERT 000027d0: JUMPDEST 000027d1: POP 000027d2: JUMPDEST 000027d3: POP 000027d4: POP 000027d5: POP 000027d6: POP 000027d7: POP 000027d8: POP 000027d9: JUMP 000027da: JUMPDEST 000027db: PUSH2 0x27f9 000027de: DUP5 000027df: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000027f4: AND 000027f5: PUSH2 0x1934 000027f8: JUMP 000027f9: JUMPDEST 000027fa: ISZERO 000027fb: PUSH2 0x29b9 000027fe: JUMPI 000027ff: DUP4 00002800: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002815: AND 00002816: PUSH4 0xbc197c81 0000281b: DUP8 0000281c: DUP8 0000281d: DUP7 0000281e: DUP7 0000281f: DUP7 00002820: PUSH1 0x40 00002822: MLOAD 00002823: DUP7 00002824: PUSH4 0xffffffff 00002829: AND 0000282a: PUSH1 0xe0 0000282c: SHL 0000282d: DUP2 0000282e: MSTORE 0000282f: PUSH1 0x04 00002831: ADD 00002832: PUSH2 0x283f 00002835: SWAP6 00002836: SWAP5 00002837: SWAP4 00002838: SWAP3 00002839: SWAP2 0000283a: SWAP1 0000283b: PUSH2 0x370b 0000283e: JUMP 0000283f: JUMPDEST 00002840: PUSH1 0x20 00002842: PUSH1 0x40 00002844: MLOAD 00002845: DUP1 00002846: DUP4 00002847: SUB 00002848: DUP2 00002849: PUSH1 0x00 0000284b: DUP8 0000284c: DUP1 0000284d: EXTCODESIZE 0000284e: ISZERO 0000284f: DUP1 00002850: ISZERO 00002851: PUSH2 0x2859 00002854: JUMPI 00002855: PUSH1 0x00 00002857: DUP1 00002858: REVERT 00002859: JUMPDEST 0000285a: POP 0000285b: GAS 0000285c: CALL 0000285d: SWAP3 0000285e: POP 0000285f: POP 00002860: POP 00002861: DUP1 00002862: ISZERO 00002863: PUSH2 0x288a 00002866: JUMPI 00002867: POP 00002868: PUSH1 0x40 0000286a: MLOAD 0000286b: RETURNDATASIZE 0000286c: PUSH1 0x1f 0000286e: NOT 0000286f: PUSH1 0x1f 00002871: DUP3 00002872: ADD 00002873: AND 00002874: DUP3 00002875: ADD 00002876: DUP1 00002877: PUSH1 0x40 00002879: MSTORE 0000287a: POP 0000287b: DUP2 0000287c: ADD 0000287d: SWAP1 0000287e: PUSH2 0x2887 00002881: SWAP2 00002882: SWAP1 00002883: PUSH2 0x31a5 00002886: JUMP 00002887: JUMPDEST 00002888: PUSH1 0x01 0000288a: JUMPDEST 0000288b: PUSH2 0x2930 0000288e: JUMPI 0000288f: PUSH2 0x2896 00002892: PUSH2 0x4030 00002895: JUMP 00002896: JUMPDEST 00002897: DUP1 00002898: PUSH4 0x08c379a0 0000289d: EQ 0000289e: ISZERO 0000289f: PUSH2 0x28f3 000028a2: JUMPI 000028a3: POP 000028a4: PUSH2 0x28ab 000028a7: PUSH2 0x46a5 000028aa: JUMP 000028ab: JUMPDEST 000028ac: DUP1 000028ad: PUSH2 0x28b6 000028b0: JUMPI 000028b1: POP 000028b2: PUSH2 0x28f5 000028b5: JUMP 000028b6: JUMPDEST 000028b7: DUP1 000028b8: PUSH1 0x40 000028ba: MLOAD 000028bb: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000028dc: DUP2 000028dd: MSTORE 000028de: PUSH1 0x04 000028e0: ADD 000028e1: PUSH2 0x28ea 000028e4: SWAP2 000028e5: SWAP1 000028e6: PUSH2 0x386a 000028e9: JUMP 000028ea: JUMPDEST 000028eb: PUSH1 0x40 000028ed: MLOAD 000028ee: DUP1 000028ef: SWAP2 000028f0: SUB 000028f1: SWAP1 000028f2: REVERT 000028f3: JUMPDEST 000028f4: POP 000028f5: JUMPDEST 000028f6: PUSH1 0x40 000028f8: MLOAD 000028f9: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 0000291a: DUP2 0000291b: MSTORE 0000291c: PUSH1 0x04 0000291e: ADD 0000291f: PUSH2 0x2927 00002922: SWAP1 00002923: PUSH2 0x388c 00002926: JUMP 00002927: JUMPDEST 00002928: PUSH1 0x40 0000292a: MLOAD 0000292b: DUP1 0000292c: SWAP2 0000292d: SUB 0000292e: SWAP1 0000292f: REVERT 00002930: JUMPDEST 00002931: PUSH4 0xbc197c81 00002936: PUSH1 0xe0 00002938: SHL 00002939: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002956: NOT 00002957: AND 00002958: DUP2 00002959: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00002976: NOT 00002977: AND 00002978: EQ 00002979: PUSH2 0x29b7 0000297c: JUMPI 0000297d: PUSH1 0x40 0000297f: MLOAD 00002980: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 000029a1: DUP2 000029a2: MSTORE 000029a3: PUSH1 0x04 000029a5: ADD 000029a6: PUSH2 0x29ae 000029a9: SWAP1 000029aa: PUSH2 0x38ac 000029ad: JUMP 000029ae: JUMPDEST 000029af: PUSH1 0x40 000029b1: MLOAD 000029b2: DUP1 000029b3: SWAP2 000029b4: SUB 000029b5: SWAP1 000029b6: REVERT 000029b7: JUMPDEST 000029b8: POP 000029b9: JUMPDEST 000029ba: POP 000029bb: POP 000029bc: POP 000029bd: POP 000029be: POP 000029bf: POP 000029c0: JUMP 000029c1: JUMPDEST 000029c2: PUSH1 0x00 000029c4: PUSH2 0x2a23 000029c7: DUP3 000029c8: PUSH1 0x40 000029ca: MLOAD 000029cb: DUP1 000029cc: PUSH1 0x40 000029ce: ADD 000029cf: PUSH1 0x40 000029d1: MSTORE 000029d2: DUP1 000029d3: PUSH1 0x20 000029d5: DUP2 000029d6: MSTORE 000029d7: PUSH1 0x20 000029d9: ADD 000029da: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564 000029fb: DUP2 000029fc: MSTORE 000029fd: POP 000029fe: DUP6 000029ff: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002a14: AND 00002a15: PUSH2 0x2a88 00002a18: SWAP1 00002a19: SWAP3 00002a1a: SWAP2 00002a1b: SWAP1 00002a1c: PUSH4 0xffffffff 00002a21: AND 00002a22: JUMP 00002a23: JUMPDEST 00002a24: SWAP1 00002a25: POP 00002a26: PUSH1 0x00 00002a28: DUP2 00002a29: MLOAD 00002a2a: GT 00002a2b: ISZERO 00002a2c: PUSH2 0x2a83 00002a2f: JUMPI 00002a30: DUP1 00002a31: DUP1 00002a32: PUSH1 0x20 00002a34: ADD 00002a35: SWAP1 00002a36: MLOAD 00002a37: DUP2 00002a38: ADD 00002a39: SWAP1 00002a3a: PUSH2 0x2a43 00002a3d: SWAP2 00002a3e: SWAP1 00002a3f: PUSH2 0x3153 00002a42: JUMP 00002a43: JUMPDEST 00002a44: PUSH2 0x2a82 00002a47: JUMPI 00002a48: PUSH1 0x40 00002a4a: MLOAD 00002a4b: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002a6c: DUP2 00002a6d: MSTORE 00002a6e: PUSH1 0x04 00002a70: ADD 00002a71: PUSH2 0x2a79 00002a74: SWAP1 00002a75: PUSH2 0x3aac 00002a78: JUMP 00002a79: JUMPDEST 00002a7a: PUSH1 0x40 00002a7c: MLOAD 00002a7d: DUP1 00002a7e: SWAP2 00002a7f: SUB 00002a80: SWAP1 00002a81: REVERT 00002a82: JUMPDEST 00002a83: JUMPDEST 00002a84: POP 00002a85: POP 00002a86: POP 00002a87: JUMP 00002a88: JUMPDEST 00002a89: PUSH1 0x60 00002a8b: PUSH2 0x2a97 00002a8e: DUP5 00002a8f: DUP5 00002a90: PUSH1 0x00 00002a92: DUP6 00002a93: PUSH2 0x2aa0 00002a96: JUMP 00002a97: JUMPDEST 00002a98: SWAP1 00002a99: POP 00002a9a: SWAP4 00002a9b: SWAP3 00002a9c: POP 00002a9d: POP 00002a9e: POP 00002a9f: JUMP 00002aa0: JUMPDEST 00002aa1: PUSH1 0x60 00002aa3: DUP3 00002aa4: SELFBALANCE 00002aa5: LT 00002aa6: ISZERO 00002aa7: PUSH2 0x2ae5 00002aaa: JUMPI 00002aab: PUSH1 0x40 00002aad: MLOAD 00002aae: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002acf: DUP2 00002ad0: MSTORE 00002ad1: PUSH1 0x04 00002ad3: ADD 00002ad4: PUSH2 0x2adc 00002ad7: SWAP1 00002ad8: PUSH2 0x396c 00002adb: JUMP 00002adc: JUMPDEST 00002add: PUSH1 0x40 00002adf: MLOAD 00002ae0: DUP1 00002ae1: SWAP2 00002ae2: SUB 00002ae3: SWAP1 00002ae4: REVERT 00002ae5: JUMPDEST 00002ae6: PUSH2 0x2aee 00002ae9: DUP6 00002aea: PUSH2 0x1934 00002aed: JUMP 00002aee: JUMPDEST 00002aef: PUSH2 0x2b2d 00002af2: JUMPI 00002af3: PUSH1 0x40 00002af5: MLOAD 00002af6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002b17: DUP2 00002b18: MSTORE 00002b19: PUSH1 0x04 00002b1b: ADD 00002b1c: PUSH2 0x2b24 00002b1f: SWAP1 00002b20: PUSH2 0x3a6c 00002b23: JUMP 00002b24: JUMPDEST 00002b25: PUSH1 0x40 00002b27: MLOAD 00002b28: DUP1 00002b29: SWAP2 00002b2a: SUB 00002b2b: SWAP1 00002b2c: REVERT 00002b2d: JUMPDEST 00002b2e: PUSH1 0x00 00002b30: DUP1 00002b31: DUP7 00002b32: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00002b47: AND 00002b48: DUP6 00002b49: DUP8 00002b4a: PUSH1 0x40 00002b4c: MLOAD 00002b4d: PUSH2 0x2b56 00002b50: SWAP2 00002b51: SWAP1 00002b52: PUSH2 0x36a9 00002b55: JUMP 00002b56: JUMPDEST 00002b57: PUSH1 0x00 00002b59: PUSH1 0x40 00002b5b: MLOAD 00002b5c: DUP1 00002b5d: DUP4 00002b5e: SUB 00002b5f: DUP2 00002b60: DUP6 00002b61: DUP8 00002b62: GAS 00002b63: CALL 00002b64: SWAP3 00002b65: POP 00002b66: POP 00002b67: POP 00002b68: RETURNDATASIZE 00002b69: DUP1 00002b6a: PUSH1 0x00 00002b6c: DUP2 00002b6d: EQ 00002b6e: PUSH2 0x2b93 00002b71: JUMPI 00002b72: PUSH1 0x40 00002b74: MLOAD 00002b75: SWAP2 00002b76: POP 00002b77: PUSH1 0x1f 00002b79: NOT 00002b7a: PUSH1 0x3f 00002b7c: RETURNDATASIZE 00002b7d: ADD 00002b7e: AND 00002b7f: DUP3 00002b80: ADD 00002b81: PUSH1 0x40 00002b83: MSTORE 00002b84: RETURNDATASIZE 00002b85: DUP3 00002b86: MSTORE 00002b87: RETURNDATASIZE 00002b88: PUSH1 0x00 00002b8a: PUSH1 0x20 00002b8c: DUP5 00002b8d: ADD 00002b8e: RETURNDATACOPY 00002b8f: PUSH2 0x2b98 00002b92: JUMP 00002b93: JUMPDEST 00002b94: PUSH1 0x60 00002b96: SWAP2 00002b97: POP 00002b98: JUMPDEST 00002b99: POP 00002b9a: SWAP2 00002b9b: POP 00002b9c: SWAP2 00002b9d: POP 00002b9e: PUSH2 0x2ba8 00002ba1: DUP3 00002ba2: DUP3 00002ba3: DUP7 00002ba4: PUSH2 0x2bb4 00002ba7: JUMP 00002ba8: JUMPDEST 00002ba9: SWAP3 00002baa: POP 00002bab: POP 00002bac: POP 00002bad: SWAP5 00002bae: SWAP4 00002baf: POP 00002bb0: POP 00002bb1: POP 00002bb2: POP 00002bb3: JUMP 00002bb4: JUMPDEST 00002bb5: PUSH1 0x60 00002bb7: DUP4 00002bb8: ISZERO 00002bb9: PUSH2 0x2bc4 00002bbc: JUMPI 00002bbd: DUP3 00002bbe: SWAP1 00002bbf: POP 00002bc0: PUSH2 0x2c14 00002bc3: JUMP 00002bc4: JUMPDEST 00002bc5: PUSH1 0x00 00002bc7: DUP4 00002bc8: MLOAD 00002bc9: GT 00002bca: ISZERO 00002bcb: PUSH2 0x2bd7 00002bce: JUMPI 00002bcf: DUP3 00002bd0: MLOAD 00002bd1: DUP1 00002bd2: DUP5 00002bd3: PUSH1 0x20 00002bd5: ADD 00002bd6: REVERT 00002bd7: JUMPDEST 00002bd8: DUP2 00002bd9: PUSH1 0x40 00002bdb: MLOAD 00002bdc: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 00002bfd: DUP2 00002bfe: MSTORE 00002bff: PUSH1 0x04 00002c01: ADD 00002c02: PUSH2 0x2c0b 00002c05: SWAP2 00002c06: SWAP1 00002c07: PUSH2 0x386a 00002c0a: JUMP 00002c0b: JUMPDEST 00002c0c: PUSH1 0x40 00002c0e: MLOAD 00002c0f: DUP1 00002c10: SWAP2 00002c11: SUB 00002c12: SWAP1 00002c13: REVERT 00002c14: JUMPDEST 00002c15: SWAP4 00002c16: SWAP3 00002c17: POP 00002c18: POP 00002c19: POP 00002c1a: JUMP 00002c1b: JUMPDEST 00002c1c: PUSH1 0x00 00002c1e: PUSH2 0x2c2e 00002c21: PUSH2 0x2c29 00002c24: DUP5 00002c25: PUSH2 0x3bb5 00002c28: JUMP 00002c29: JUMPDEST 00002c2a: PUSH2 0x3b90 00002c2d: JUMP 00002c2e: JUMPDEST 00002c2f: SWAP1 00002c30: POP 00002c31: DUP1 00002c32: DUP4 00002c33: DUP3 00002c34: MSTORE 00002c35: PUSH1 0x20 00002c37: DUP3 00002c38: ADD 00002c39: SWAP1 00002c3a: POP 00002c3b: DUP3 00002c3c: DUP6 00002c3d: PUSH1 0x20 00002c3f: DUP7 00002c40: MUL 00002c41: DUP3 00002c42: ADD 00002c43: GT 00002c44: ISZERO 00002c45: PUSH2 0x2c4d 00002c48: JUMPI 00002c49: PUSH1 0x00 00002c4b: DUP1 00002c4c: REVERT 00002c4d: JUMPDEST 00002c4e: PUSH1 0x00 00002c50: JUMPDEST 00002c51: DUP6 00002c52: DUP2 00002c53: LT 00002c54: ISZERO 00002c55: PUSH2 0x2c7d 00002c58: JUMPI 00002c59: DUP2 00002c5a: PUSH2 0x2c63 00002c5d: DUP9 00002c5e: DUP3 00002c5f: PUSH2 0x2d31 00002c62: JUMP 00002c63: JUMPDEST 00002c64: DUP5 00002c65: MSTORE 00002c66: PUSH1 0x20 00002c68: DUP5 00002c69: ADD 00002c6a: SWAP4 00002c6b: POP 00002c6c: PUSH1 0x20 00002c6e: DUP4 00002c6f: ADD 00002c70: SWAP3 00002c71: POP 00002c72: POP 00002c73: PUSH1 0x01 00002c75: DUP2 00002c76: ADD 00002c77: SWAP1 00002c78: POP 00002c79: PUSH2 0x2c50 00002c7c: JUMP 00002c7d: JUMPDEST 00002c7e: POP 00002c7f: POP 00002c80: POP 00002c81: SWAP4 00002c82: SWAP3 00002c83: POP 00002c84: POP 00002c85: POP 00002c86: JUMP 00002c87: JUMPDEST 00002c88: PUSH1 0x00 00002c8a: PUSH2 0x2c9a 00002c8d: PUSH2 0x2c95 00002c90: DUP5 00002c91: PUSH2 0x3be1 00002c94: JUMP 00002c95: JUMPDEST 00002c96: PUSH2 0x3b90 00002c99: JUMP 00002c9a: JUMPDEST 00002c9b: SWAP1 00002c9c: POP 00002c9d: DUP1 00002c9e: DUP4 00002c9f: DUP3 00002ca0: MSTORE 00002ca1: PUSH1 0x20 00002ca3: DUP3 00002ca4: ADD 00002ca5: SWAP1 00002ca6: POP 00002ca7: DUP3 00002ca8: DUP6 00002ca9: PUSH1 0x20 00002cab: DUP7 00002cac: MUL 00002cad: DUP3 00002cae: ADD 00002caf: GT 00002cb0: ISZERO 00002cb1: PUSH2 0x2cb9 00002cb4: JUMPI 00002cb5: PUSH1 0x00 00002cb7: DUP1 00002cb8: REVERT 00002cb9: JUMPDEST 00002cba: PUSH1 0x00 00002cbc: JUMPDEST 00002cbd: DUP6 00002cbe: DUP2 00002cbf: LT 00002cc0: ISZERO 00002cc1: PUSH2 0x2ce9 00002cc4: JUMPI 00002cc5: DUP2 00002cc6: PUSH2 0x2ccf 00002cc9: DUP9 00002cca: DUP3 00002ccb: PUSH2 0x2e2d 00002cce: JUMP 00002ccf: JUMPDEST 00002cd0: DUP5 00002cd1: MSTORE 00002cd2: PUSH1 0x20 00002cd4: DUP5 00002cd5: ADD 00002cd6: SWAP4 00002cd7: POP 00002cd8: PUSH1 0x20 00002cda: DUP4 00002cdb: ADD 00002cdc: SWAP3 00002cdd: POP 00002cde: POP 00002cdf: PUSH1 0x01 00002ce1: DUP2 00002ce2: ADD 00002ce3: SWAP1 00002ce4: POP 00002ce5: PUSH2 0x2cbc 00002ce8: JUMP 00002ce9: JUMPDEST 00002cea: POP 00002ceb: POP 00002cec: POP 00002ced: SWAP4 00002cee: SWAP3 00002cef: POP 00002cf0: POP 00002cf1: POP 00002cf2: JUMP 00002cf3: JUMPDEST 00002cf4: PUSH1 0x00 00002cf6: PUSH2 0x2d06 00002cf9: PUSH2 0x2d01 00002cfc: DUP5 00002cfd: PUSH2 0x3c0d 00002d00: JUMP 00002d01: JUMPDEST 00002d02: PUSH2 0x3b90 00002d05: JUMP 00002d06: JUMPDEST 00002d07: SWAP1 00002d08: POP 00002d09: DUP3 00002d0a: DUP2 00002d0b: MSTORE 00002d0c: PUSH1 0x20 00002d0e: DUP2 00002d0f: ADD 00002d10: DUP5 00002d11: DUP5 00002d12: DUP5 00002d13: ADD 00002d14: GT 00002d15: ISZERO 00002d16: PUSH2 0x2d1e 00002d19: JUMPI 00002d1a: PUSH1 0x00 00002d1c: DUP1 00002d1d: REVERT 00002d1e: JUMPDEST 00002d1f: PUSH2 0x2d29 00002d22: DUP5 00002d23: DUP3 00002d24: DUP6 00002d25: PUSH2 0x3e55 00002d28: JUMP 00002d29: JUMPDEST 00002d2a: POP 00002d2b: SWAP4 00002d2c: SWAP3 00002d2d: POP 00002d2e: POP 00002d2f: POP 00002d30: JUMP 00002d31: JUMPDEST 00002d32: PUSH1 0x00 00002d34: DUP2 00002d35: CALLDATALOAD 00002d36: SWAP1 00002d37: POP 00002d38: PUSH2 0x2d40 00002d3b: DUP2 00002d3c: PUSH2 0x473b 00002d3f: JUMP 00002d40: JUMPDEST 00002d41: SWAP3 00002d42: SWAP2 00002d43: POP 00002d44: POP 00002d45: JUMP 00002d46: JUMPDEST 00002d47: PUSH1 0x00 00002d49: DUP2 00002d4a: CALLDATALOAD 00002d4b: SWAP1 00002d4c: POP 00002d4d: PUSH2 0x2d55 00002d50: DUP2 00002d51: PUSH2 0x4752 00002d54: JUMP 00002d55: JUMPDEST 00002d56: SWAP3 00002d57: SWAP2 00002d58: POP 00002d59: POP 00002d5a: JUMP 00002d5b: JUMPDEST 00002d5c: PUSH1 0x00 00002d5e: DUP3 00002d5f: PUSH1 0x1f 00002d61: DUP4 00002d62: ADD 00002d63: SLT 00002d64: PUSH2 0x2d6c 00002d67: JUMPI 00002d68: PUSH1 0x00 00002d6a: DUP1 00002d6b: REVERT 00002d6c: JUMPDEST 00002d6d: DUP2 00002d6e: CALLDATALOAD 00002d6f: PUSH2 0x2d7c 00002d72: DUP5 00002d73: DUP3 00002d74: PUSH1 0x20 00002d76: DUP7 00002d77: ADD 00002d78: PUSH2 0x2c1b 00002d7b: JUMP 00002d7c: JUMPDEST 00002d7d: SWAP2 00002d7e: POP 00002d7f: POP 00002d80: SWAP3 00002d81: SWAP2 00002d82: POP 00002d83: POP 00002d84: JUMP 00002d85: JUMPDEST 00002d86: PUSH1 0x00 00002d88: DUP3 00002d89: PUSH1 0x1f 00002d8b: DUP4 00002d8c: ADD 00002d8d: SLT 00002d8e: PUSH2 0x2d96 00002d91: JUMPI 00002d92: PUSH1 0x00 00002d94: DUP1 00002d95: REVERT 00002d96: JUMPDEST 00002d97: DUP2 00002d98: CALLDATALOAD 00002d99: PUSH2 0x2da6 00002d9c: DUP5 00002d9d: DUP3 00002d9e: PUSH1 0x20 00002da0: DUP7 00002da1: ADD 00002da2: PUSH2 0x2c87 00002da5: JUMP 00002da6: JUMPDEST 00002da7: SWAP2 00002da8: POP 00002da9: POP 00002daa: SWAP3 00002dab: SWAP2 00002dac: POP 00002dad: POP 00002dae: JUMP 00002daf: JUMPDEST 00002db0: PUSH1 0x00 00002db2: DUP2 00002db3: CALLDATALOAD 00002db4: SWAP1 00002db5: POP 00002db6: PUSH2 0x2dbe 00002db9: DUP2 00002dba: PUSH2 0x4769 00002dbd: JUMP 00002dbe: JUMPDEST 00002dbf: SWAP3 00002dc0: SWAP2 00002dc1: POP 00002dc2: POP 00002dc3: JUMP 00002dc4: JUMPDEST 00002dc5: PUSH1 0x00 00002dc7: DUP2 00002dc8: MLOAD 00002dc9: SWAP1 00002dca: POP 00002dcb: PUSH2 0x2dd3 00002dce: DUP2 00002dcf: PUSH2 0x4769 00002dd2: JUMP 00002dd3: JUMPDEST 00002dd4: SWAP3 00002dd5: SWAP2 00002dd6: POP 00002dd7: POP 00002dd8: JUMP 00002dd9: JUMPDEST 00002dda: PUSH1 0x00 00002ddc: DUP2 00002ddd: CALLDATALOAD 00002dde: SWAP1 00002ddf: POP 00002de0: PUSH2 0x2de8 00002de3: DUP2 00002de4: PUSH2 0x4780 00002de7: JUMP 00002de8: JUMPDEST 00002de9: SWAP3 00002dea: SWAP2 00002deb: POP 00002dec: POP 00002ded: JUMP 00002dee: JUMPDEST 00002def: PUSH1 0x00 00002df1: DUP2 00002df2: MLOAD 00002df3: SWAP1 00002df4: POP 00002df5: PUSH2 0x2dfd 00002df8: DUP2 00002df9: PUSH2 0x4780 00002dfc: JUMP 00002dfd: JUMPDEST 00002dfe: SWAP3 00002dff: SWAP2 00002e00: POP 00002e01: POP 00002e02: JUMP 00002e03: JUMPDEST 00002e04: PUSH1 0x00 00002e06: DUP3 00002e07: PUSH1 0x1f 00002e09: DUP4 00002e0a: ADD 00002e0b: SLT 00002e0c: PUSH2 0x2e14 00002e0f: JUMPI 00002e10: PUSH1 0x00 00002e12: DUP1 00002e13: REVERT 00002e14: JUMPDEST 00002e15: DUP2 00002e16: CALLDATALOAD 00002e17: PUSH2 0x2e24 00002e1a: DUP5 00002e1b: DUP3 00002e1c: PUSH1 0x20 00002e1e: DUP7 00002e1f: ADD 00002e20: PUSH2 0x2cf3 00002e23: JUMP 00002e24: JUMPDEST 00002e25: SWAP2 00002e26: POP 00002e27: POP 00002e28: SWAP3 00002e29: SWAP2 00002e2a: POP 00002e2b: POP 00002e2c: JUMP 00002e2d: JUMPDEST 00002e2e: PUSH1 0x00 00002e30: DUP2 00002e31: CALLDATALOAD 00002e32: SWAP1 00002e33: POP 00002e34: PUSH2 0x2e3c 00002e37: DUP2 00002e38: PUSH2 0x4797 00002e3b: JUMP 00002e3c: JUMPDEST 00002e3d: SWAP3 00002e3e: SWAP2 00002e3f: POP 00002e40: POP 00002e41: JUMP 00002e42: JUMPDEST 00002e43: PUSH1 0x00 00002e45: DUP2 00002e46: MLOAD 00002e47: SWAP1 00002e48: POP 00002e49: PUSH2 0x2e51 00002e4c: DUP2 00002e4d: PUSH2 0x4797 00002e50: JUMP 00002e51: JUMPDEST 00002e52: SWAP3 00002e53: SWAP2 00002e54: POP 00002e55: POP 00002e56: JUMP 00002e57: JUMPDEST 00002e58: PUSH1 0x00 00002e5a: PUSH1 0x20 00002e5c: DUP3 00002e5d: DUP5 00002e5e: SUB 00002e5f: SLT 00002e60: ISZERO 00002e61: PUSH2 0x2e69 00002e64: JUMPI 00002e65: PUSH1 0x00 00002e67: DUP1 00002e68: REVERT 00002e69: JUMPDEST 00002e6a: PUSH1 0x00 00002e6c: PUSH2 0x2e77 00002e6f: DUP5 00002e70: DUP3 00002e71: DUP6 00002e72: ADD 00002e73: PUSH2 0x2d31 00002e76: JUMP 00002e77: JUMPDEST 00002e78: SWAP2 00002e79: POP 00002e7a: POP 00002e7b: SWAP3 00002e7c: SWAP2 00002e7d: POP 00002e7e: POP 00002e7f: JUMP 00002e80: JUMPDEST 00002e81: PUSH1 0x00 00002e83: PUSH1 0x20 00002e85: DUP3 00002e86: DUP5 00002e87: SUB 00002e88: SLT 00002e89: ISZERO 00002e8a: PUSH2 0x2e92 00002e8d: JUMPI 00002e8e: PUSH1 0x00 00002e90: DUP1 00002e91: REVERT 00002e92: JUMPDEST 00002e93: PUSH1 0x00 00002e95: PUSH2 0x2ea0 00002e98: DUP5 00002e99: DUP3 00002e9a: DUP6 00002e9b: ADD 00002e9c: PUSH2 0x2d46 00002e9f: JUMP 00002ea0: JUMPDEST 00002ea1: SWAP2 00002ea2: POP 00002ea3: POP 00002ea4: SWAP3 00002ea5: SWAP2 00002ea6: POP 00002ea7: POP 00002ea8: JUMP 00002ea9: JUMPDEST 00002eaa: PUSH1 0x00 00002eac: DUP1 00002ead: PUSH1 0x40 00002eaf: DUP4 00002eb0: DUP6 00002eb1: SUB 00002eb2: SLT 00002eb3: ISZERO 00002eb4: PUSH2 0x2ebc 00002eb7: JUMPI 00002eb8: PUSH1 0x00 00002eba: DUP1 00002ebb: REVERT 00002ebc: JUMPDEST 00002ebd: PUSH1 0x00 00002ebf: PUSH2 0x2eca 00002ec2: DUP6 00002ec3: DUP3 00002ec4: DUP7 00002ec5: ADD 00002ec6: PUSH2 0x2d46 00002ec9: JUMP 00002eca: JUMPDEST 00002ecb: SWAP3 00002ecc: POP 00002ecd: POP 00002ece: PUSH1 0x20 00002ed0: PUSH2 0x2edb 00002ed3: DUP6 00002ed4: DUP3 00002ed5: DUP7 00002ed6: ADD 00002ed7: PUSH2 0x2e2d 00002eda: JUMP 00002edb: JUMPDEST 00002edc: SWAP2 00002edd: POP 00002ede: POP 00002edf: SWAP3 00002ee0: POP 00002ee1: SWAP3 00002ee2: SWAP1 00002ee3: POP 00002ee4: JUMP 00002ee5: JUMPDEST 00002ee6: PUSH1 0x00 00002ee8: DUP1 00002ee9: PUSH1 0x40 00002eeb: DUP4 00002eec: DUP6 00002eed: SUB 00002eee: SLT 00002eef: ISZERO 00002ef0: PUSH2 0x2ef8 00002ef3: JUMPI 00002ef4: PUSH1 0x00 00002ef6: DUP1 00002ef7: REVERT 00002ef8: JUMPDEST 00002ef9: PUSH1 0x00 00002efb: PUSH2 0x2f06 00002efe: DUP6 00002eff: DUP3 00002f00: DUP7 00002f01: ADD 00002f02: PUSH2 0x2d31 00002f05: JUMP 00002f06: JUMPDEST 00002f07: SWAP3 00002f08: POP 00002f09: POP 00002f0a: PUSH1 0x20 00002f0c: PUSH2 0x2f17 00002f0f: DUP6 00002f10: DUP3 00002f11: DUP7 00002f12: ADD 00002f13: PUSH2 0x2d31 00002f16: JUMP 00002f17: JUMPDEST 00002f18: SWAP2 00002f19: POP 00002f1a: POP 00002f1b: SWAP3 00002f1c: POP 00002f1d: SWAP3 00002f1e: SWAP1 00002f1f: POP 00002f20: JUMP 00002f21: JUMPDEST 00002f22: PUSH1 0x00 00002f24: DUP1 00002f25: PUSH1 0x00 00002f27: DUP1 00002f28: PUSH1 0x00 00002f2a: PUSH1 0xa0 00002f2c: DUP7 00002f2d: DUP9 00002f2e: SUB 00002f2f: SLT 00002f30: ISZERO 00002f31: PUSH2 0x2f39 00002f34: JUMPI 00002f35: PUSH1 0x00 00002f37: DUP1 00002f38: REVERT 00002f39: JUMPDEST 00002f3a: PUSH1 0x00 00002f3c: PUSH2 0x2f47 00002f3f: DUP9 00002f40: DUP3 00002f41: DUP10 00002f42: ADD 00002f43: PUSH2 0x2d31 00002f46: JUMP 00002f47: JUMPDEST 00002f48: SWAP6 00002f49: POP 00002f4a: POP 00002f4b: PUSH1 0x20 00002f4d: PUSH2 0x2f58 00002f50: DUP9 00002f51: DUP3 00002f52: DUP10 00002f53: ADD 00002f54: PUSH2 0x2d31 00002f57: JUMP 00002f58: JUMPDEST 00002f59: SWAP5 00002f5a: POP 00002f5b: POP 00002f5c: PUSH1 0x40 00002f5e: DUP7 00002f5f: ADD 00002f60: CALLDATALOAD 00002f61: PUSH8 0xffffffffffffffff 00002f6a: DUP2 00002f6b: GT 00002f6c: ISZERO 00002f6d: PUSH2 0x2f75 00002f70: JUMPI 00002f71: PUSH1 0x00 00002f73: DUP1 00002f74: REVERT 00002f75: JUMPDEST 00002f76: PUSH2 0x2f81 00002f79: DUP9 00002f7a: DUP3 00002f7b: DUP10 00002f7c: ADD 00002f7d: PUSH2 0x2d85 00002f80: JUMP 00002f81: JUMPDEST 00002f82: SWAP4 00002f83: POP 00002f84: POP 00002f85: PUSH1 0x60 00002f87: DUP7 00002f88: ADD 00002f89: CALLDATALOAD 00002f8a: PUSH8 0xffffffffffffffff 00002f93: DUP2 00002f94: GT 00002f95: ISZERO 00002f96: PUSH2 0x2f9e 00002f99: JUMPI 00002f9a: PUSH1 0x00 00002f9c: DUP1 00002f9d: REVERT 00002f9e: JUMPDEST 00002f9f: PUSH2 0x2faa 00002fa2: DUP9 00002fa3: DUP3 00002fa4: DUP10 00002fa5: ADD 00002fa6: PUSH2 0x2d85 00002fa9: JUMP 00002faa: JUMPDEST 00002fab: SWAP3 00002fac: POP 00002fad: POP 00002fae: PUSH1 0x80 00002fb0: DUP7 00002fb1: ADD 00002fb2: CALLDATALOAD 00002fb3: PUSH8 0xffffffffffffffff 00002fbc: DUP2 00002fbd: GT 00002fbe: ISZERO 00002fbf: PUSH2 0x2fc7 00002fc2: JUMPI 00002fc3: PUSH1 0x00 00002fc5: DUP1 00002fc6: REVERT 00002fc7: JUMPDEST 00002fc8: PUSH2 0x2fd3 00002fcb: DUP9 00002fcc: DUP3 00002fcd: DUP10 00002fce: ADD 00002fcf: PUSH2 0x2e03 00002fd2: JUMP 00002fd3: JUMPDEST 00002fd4: SWAP2 00002fd5: POP 00002fd6: POP 00002fd7: SWAP3 00002fd8: SWAP6 00002fd9: POP 00002fda: SWAP3 00002fdb: SWAP6 00002fdc: SWAP1 00002fdd: SWAP4 00002fde: POP 00002fdf: JUMP 00002fe0: JUMPDEST 00002fe1: PUSH1 0x00 00002fe3: DUP1 00002fe4: PUSH1 0x00 00002fe6: DUP1 00002fe7: PUSH1 0x00 00002fe9: PUSH1 0xa0 00002feb: DUP7 00002fec: DUP9 00002fed: SUB 00002fee: SLT 00002fef: ISZERO 00002ff0: PUSH2 0x2ff8 00002ff3: JUMPI 00002ff4: PUSH1 0x00 00002ff6: DUP1 00002ff7: REVERT 00002ff8: JUMPDEST 00002ff9: PUSH1 0x00 00002ffb: PUSH2 0x3006 00002ffe: DUP9 00002fff: DUP3 00003000: DUP10 00003001: ADD 00003002: PUSH2 0x2d31 00003005: JUMP 00003006: JUMPDEST 00003007: SWAP6 00003008: POP 00003009: POP 0000300a: PUSH1 0x20 0000300c: PUSH2 0x3017 0000300f: DUP9 00003010: DUP3 00003011: DUP10 00003012: ADD 00003013: PUSH2 0x2d31 00003016: JUMP 00003017: JUMPDEST 00003018: SWAP5 00003019: POP 0000301a: POP 0000301b: PUSH1 0x40 0000301d: PUSH2 0x3028 00003020: DUP9 00003021: DUP3 00003022: DUP10 00003023: ADD 00003024: PUSH2 0x2e2d 00003027: JUMP 00003028: JUMPDEST 00003029: SWAP4 0000302a: POP 0000302b: POP 0000302c: PUSH1 0x60 0000302e: PUSH2 0x3039 00003031: DUP9 00003032: DUP3 00003033: DUP10 00003034: ADD 00003035: PUSH2 0x2e2d 00003038: JUMP 00003039: JUMPDEST 0000303a: SWAP3 0000303b: POP 0000303c: POP 0000303d: PUSH1 0x80 0000303f: DUP7 00003040: ADD 00003041: CALLDATALOAD 00003042: PUSH8 0xffffffffffffffff 0000304b: DUP2 0000304c: GT 0000304d: ISZERO 0000304e: PUSH2 0x3056 00003051: JUMPI 00003052: PUSH1 0x00 00003054: DUP1 00003055: REVERT 00003056: JUMPDEST 00003057: PUSH2 0x3062 0000305a: DUP9 0000305b: DUP3 0000305c: DUP10 0000305d: ADD 0000305e: PUSH2 0x2e03 00003061: JUMP 00003062: JUMPDEST 00003063: SWAP2 00003064: POP 00003065: POP 00003066: SWAP3 00003067: SWAP6 00003068: POP 00003069: SWAP3 0000306a: SWAP6 0000306b: SWAP1 0000306c: SWAP4 0000306d: POP 0000306e: JUMP 0000306f: JUMPDEST 00003070: PUSH1 0x00 00003072: DUP1 00003073: PUSH1 0x40 00003075: DUP4 00003076: DUP6 00003077: SUB 00003078: SLT 00003079: ISZERO 0000307a: PUSH2 0x3082 0000307d: JUMPI 0000307e: PUSH1 0x00 00003080: DUP1 00003081: REVERT 00003082: JUMPDEST 00003083: PUSH1 0x00 00003085: PUSH2 0x3090 00003088: DUP6 00003089: DUP3 0000308a: DUP7 0000308b: ADD 0000308c: PUSH2 0x2d31 0000308f: JUMP 00003090: JUMPDEST 00003091: SWAP3 00003092: POP 00003093: POP 00003094: PUSH1 0x20 00003096: PUSH2 0x30a1 00003099: DUP6 0000309a: DUP3 0000309b: DUP7 0000309c: ADD 0000309d: PUSH2 0x2daf 000030a0: JUMP 000030a1: JUMPDEST 000030a2: SWAP2 000030a3: POP 000030a4: POP 000030a5: SWAP3 000030a6: POP 000030a7: SWAP3 000030a8: SWAP1 000030a9: POP 000030aa: JUMP 000030ab: JUMPDEST 000030ac: PUSH1 0x00 000030ae: DUP1 000030af: PUSH1 0x40 000030b1: DUP4 000030b2: DUP6 000030b3: SUB 000030b4: SLT 000030b5: ISZERO 000030b6: PUSH2 0x30be 000030b9: JUMPI 000030ba: PUSH1 0x00 000030bc: DUP1 000030bd: REVERT 000030be: JUMPDEST 000030bf: PUSH1 0x00 000030c1: PUSH2 0x30cc 000030c4: DUP6 000030c5: DUP3 000030c6: DUP7 000030c7: ADD 000030c8: PUSH2 0x2d31 000030cb: JUMP 000030cc: JUMPDEST 000030cd: SWAP3 000030ce: POP 000030cf: POP 000030d0: PUSH1 0x20 000030d2: PUSH2 0x30dd 000030d5: DUP6 000030d6: DUP3 000030d7: DUP7 000030d8: ADD 000030d9: PUSH2 0x2e2d 000030dc: JUMP 000030dd: JUMPDEST 000030de: SWAP2 000030df: POP 000030e0: POP 000030e1: SWAP3 000030e2: POP 000030e3: SWAP3 000030e4: SWAP1 000030e5: POP 000030e6: JUMP 000030e7: JUMPDEST 000030e8: PUSH1 0x00 000030ea: DUP1 000030eb: PUSH1 0x40 000030ed: DUP4 000030ee: DUP6 000030ef: SUB 000030f0: SLT 000030f1: ISZERO 000030f2: PUSH2 0x30fa 000030f5: JUMPI 000030f6: PUSH1 0x00 000030f8: DUP1 000030f9: REVERT 000030fa: JUMPDEST 000030fb: PUSH1 0x00 000030fd: DUP4 000030fe: ADD 000030ff: CALLDATALOAD 00003100: PUSH8 0xffffffffffffffff 00003109: DUP2 0000310a: GT 0000310b: ISZERO 0000310c: PUSH2 0x3114 0000310f: JUMPI 00003110: PUSH1 0x00 00003112: DUP1 00003113: REVERT 00003114: JUMPDEST 00003115: PUSH2 0x3120 00003118: DUP6 00003119: DUP3 0000311a: DUP7 0000311b: ADD 0000311c: PUSH2 0x2d5b 0000311f: JUMP 00003120: JUMPDEST 00003121: SWAP3 00003122: POP 00003123: POP 00003124: PUSH1 0x20 00003126: DUP4 00003127: ADD 00003128: CALLDATALOAD 00003129: PUSH8 0xffffffffffffffff 00003132: DUP2 00003133: GT 00003134: ISZERO 00003135: PUSH2 0x313d 00003138: JUMPI 00003139: PUSH1 0x00 0000313b: DUP1 0000313c: REVERT 0000313d: JUMPDEST 0000313e: PUSH2 0x3149 00003141: DUP6 00003142: DUP3 00003143: DUP7 00003144: ADD 00003145: PUSH2 0x2d85 00003148: JUMP 00003149: JUMPDEST 0000314a: SWAP2 0000314b: POP 0000314c: POP 0000314d: SWAP3 0000314e: POP 0000314f: SWAP3 00003150: SWAP1 00003151: POP 00003152: JUMP 00003153: JUMPDEST 00003154: PUSH1 0x00 00003156: PUSH1 0x20 00003158: DUP3 00003159: DUP5 0000315a: SUB 0000315b: SLT 0000315c: ISZERO 0000315d: PUSH2 0x3165 00003160: JUMPI 00003161: PUSH1 0x00 00003163: DUP1 00003164: REVERT 00003165: JUMPDEST 00003166: PUSH1 0x00 00003168: PUSH2 0x3173 0000316b: DUP5 0000316c: DUP3 0000316d: DUP6 0000316e: ADD 0000316f: PUSH2 0x2dc4 00003172: JUMP 00003173: JUMPDEST 00003174: SWAP2 00003175: POP 00003176: POP 00003177: SWAP3 00003178: SWAP2 00003179: POP 0000317a: POP 0000317b: JUMP 0000317c: JUMPDEST 0000317d: PUSH1 0x00 0000317f: PUSH1 0x20 00003181: DUP3 00003182: DUP5 00003183: SUB 00003184: SLT 00003185: ISZERO 00003186: PUSH2 0x318e 00003189: JUMPI 0000318a: PUSH1 0x00 0000318c: DUP1 0000318d: REVERT 0000318e: JUMPDEST 0000318f: PUSH1 0x00 00003191: PUSH2 0x319c 00003194: DUP5 00003195: DUP3 00003196: DUP6 00003197: ADD 00003198: PUSH2 0x2dd9 0000319b: JUMP 0000319c: JUMPDEST 0000319d: SWAP2 0000319e: POP 0000319f: POP 000031a0: SWAP3 000031a1: SWAP2 000031a2: POP 000031a3: POP 000031a4: JUMP 000031a5: JUMPDEST 000031a6: PUSH1 0x00 000031a8: PUSH1 0x20 000031aa: DUP3 000031ab: DUP5 000031ac: SUB 000031ad: SLT 000031ae: ISZERO 000031af: PUSH2 0x31b7 000031b2: JUMPI 000031b3: PUSH1 0x00 000031b5: DUP1 000031b6: REVERT 000031b7: JUMPDEST 000031b8: PUSH1 0x00 000031ba: PUSH2 0x31c5 000031bd: DUP5 000031be: DUP3 000031bf: DUP6 000031c0: ADD 000031c1: PUSH2 0x2dee 000031c4: JUMP 000031c5: JUMPDEST 000031c6: SWAP2 000031c7: POP 000031c8: POP 000031c9: SWAP3 000031ca: SWAP2 000031cb: POP 000031cc: POP 000031cd: JUMP 000031ce: JUMPDEST 000031cf: PUSH1 0x00 000031d1: PUSH1 0x20 000031d3: DUP3 000031d4: DUP5 000031d5: SUB 000031d6: SLT 000031d7: ISZERO 000031d8: PUSH2 0x31e0 000031db: JUMPI 000031dc: PUSH1 0x00 000031de: DUP1 000031df: REVERT 000031e0: JUMPDEST 000031e1: PUSH1 0x00 000031e3: PUSH2 0x31ee 000031e6: DUP5 000031e7: DUP3 000031e8: DUP6 000031e9: ADD 000031ea: PUSH2 0x2e2d 000031ed: JUMP 000031ee: JUMPDEST 000031ef: SWAP2 000031f0: POP 000031f1: POP 000031f2: SWAP3 000031f3: SWAP2 000031f4: POP 000031f5: POP 000031f6: JUMP 000031f7: JUMPDEST 000031f8: PUSH1 0x00 000031fa: PUSH1 0x20 000031fc: DUP3 000031fd: DUP5 000031fe: SUB 000031ff: SLT 00003200: ISZERO 00003201: PUSH2 0x3209 00003204: JUMPI 00003205: PUSH1 0x00 00003207: DUP1 00003208: REVERT 00003209: JUMPDEST 0000320a: PUSH1 0x00 0000320c: PUSH2 0x3217 0000320f: DUP5 00003210: DUP3 00003211: DUP6 00003212: ADD 00003213: PUSH2 0x2e42 00003216: JUMP 00003217: JUMPDEST 00003218: SWAP2 00003219: POP 0000321a: POP 0000321b: SWAP3 0000321c: SWAP2 0000321d: POP 0000321e: POP 0000321f: JUMP 00003220: JUMPDEST 00003221: PUSH1 0x00 00003223: PUSH2 0x322c 00003226: DUP4 00003227: DUP4 00003228: PUSH2 0x368b 0000322b: JUMP 0000322c: JUMPDEST 0000322d: PUSH1 0x20 0000322f: DUP4 00003230: ADD 00003231: SWAP1 00003232: POP 00003233: SWAP3 00003234: SWAP2 00003235: POP 00003236: POP 00003237: JUMP 00003238: JUMPDEST 00003239: PUSH2 0x3241 0000323c: DUP2 0000323d: PUSH2 0x3de1 00003240: JUMP 00003241: JUMPDEST 00003242: DUP3 00003243: MSTORE 00003244: POP 00003245: POP 00003246: JUMP 00003247: JUMPDEST 00003248: PUSH2 0x3250 0000324b: DUP2 0000324c: PUSH2 0x3dcf 0000324f: JUMP 00003250: JUMPDEST 00003251: DUP3 00003252: MSTORE 00003253: POP 00003254: POP 00003255: JUMP 00003256: JUMPDEST 00003257: PUSH1 0x00 00003259: PUSH2 0x3261 0000325c: DUP3 0000325d: PUSH2 0x3c4e 00003260: JUMP 00003261: JUMPDEST 00003262: PUSH2 0x326b 00003265: DUP2 00003266: DUP6 00003267: PUSH2 0x3c7c 0000326a: JUMP 0000326b: JUMPDEST 0000326c: SWAP4 0000326d: POP 0000326e: PUSH2 0x3276 00003271: DUP4 00003272: PUSH2 0x3c3e 00003275: JUMP 00003276: JUMPDEST 00003277: DUP1 00003278: PUSH1 0x00 0000327a: JUMPDEST 0000327b: DUP4 0000327c: DUP2 0000327d: LT 0000327e: ISZERO 0000327f: PUSH2 0x32a7 00003282: JUMPI 00003283: DUP2 00003284: MLOAD 00003285: PUSH2 0x328e 00003288: DUP9 00003289: DUP3 0000328a: PUSH2 0x3220 0000328d: JUMP 0000328e: JUMPDEST 0000328f: SWAP8 00003290: POP 00003291: PUSH2 0x3299 00003294: DUP4 00003295: PUSH2 0x3c6f 00003298: JUMP 00003299: JUMPDEST 0000329a: SWAP3 0000329b: POP 0000329c: POP 0000329d: PUSH1 0x01 0000329f: DUP2 000032a0: ADD 000032a1: SWAP1 000032a2: POP 000032a3: PUSH2 0x327a 000032a6: JUMP 000032a7: JUMPDEST 000032a8: POP 000032a9: DUP6 000032aa: SWAP4 000032ab: POP 000032ac: POP 000032ad: POP 000032ae: POP 000032af: SWAP3 000032b0: SWAP2 000032b1: POP 000032b2: POP 000032b3: JUMP 000032b4: JUMPDEST 000032b5: PUSH2 0x32bd 000032b8: DUP2 000032b9: PUSH2 0x3df3 000032bc: JUMP 000032bd: JUMPDEST 000032be: DUP3 000032bf: MSTORE 000032c0: POP 000032c1: POP 000032c2: JUMP 000032c3: JUMPDEST 000032c4: PUSH1 0x00 000032c6: PUSH2 0x32ce 000032c9: DUP3 000032ca: PUSH2 0x3c59 000032cd: JUMP 000032ce: JUMPDEST 000032cf: PUSH2 0x32d8 000032d2: DUP2 000032d3: DUP6 000032d4: PUSH2 0x3c8d 000032d7: JUMP 000032d8: JUMPDEST 000032d9: SWAP4 000032da: POP 000032db: PUSH2 0x32e8 000032de: DUP2 000032df: DUP6 000032e0: PUSH1 0x20 000032e2: DUP7 000032e3: ADD 000032e4: PUSH2 0x3e64 000032e7: JUMP 000032e8: JUMPDEST 000032e9: PUSH2 0x32f1 000032ec: DUP2 000032ed: PUSH2 0x4052 000032f0: JUMP 000032f1: JUMPDEST 000032f2: DUP5 000032f3: ADD 000032f4: SWAP2 000032f5: POP 000032f6: POP 000032f7: SWAP3 000032f8: SWAP2 000032f9: POP 000032fa: POP 000032fb: JUMP 000032fc: JUMPDEST 000032fd: PUSH1 0x00 000032ff: PUSH2 0x3307 00003302: DUP3 00003303: PUSH2 0x3c59 00003306: JUMP 00003307: JUMPDEST 00003308: PUSH2 0x3311 0000330b: DUP2 0000330c: DUP6 0000330d: PUSH2 0x3c9e 00003310: JUMP 00003311: JUMPDEST 00003312: SWAP4 00003313: POP 00003314: PUSH2 0x3321 00003317: DUP2 00003318: DUP6 00003319: PUSH1 0x20 0000331b: DUP7 0000331c: ADD 0000331d: PUSH2 0x3e64 00003320: JUMP 00003321: JUMPDEST 00003322: DUP1 00003323: DUP5 00003324: ADD 00003325: SWAP2 00003326: POP 00003327: POP 00003328: SWAP3 00003329: SWAP2 0000332a: POP 0000332b: POP 0000332c: JUMP 0000332d: JUMPDEST 0000332e: PUSH1 0x00 00003330: PUSH2 0x3338 00003333: DUP3 00003334: PUSH2 0x3c64 00003337: JUMP 00003338: JUMPDEST 00003339: PUSH2 0x3342 0000333c: DUP2 0000333d: DUP6 0000333e: PUSH2 0x3ca9 00003341: JUMP 00003342: JUMPDEST 00003343: SWAP4 00003344: POP 00003345: PUSH2 0x3352 00003348: DUP2 00003349: DUP6 0000334a: PUSH1 0x20 0000334c: DUP7 0000334d: ADD 0000334e: PUSH2 0x3e64 00003351: JUMP 00003352: JUMPDEST 00003353: PUSH2 0x335b 00003356: DUP2 00003357: PUSH2 0x4052 0000335a: JUMP 0000335b: JUMPDEST 0000335c: DUP5 0000335d: ADD 0000335e: SWAP2 0000335f: POP 00003360: POP 00003361: SWAP3 00003362: SWAP2 00003363: POP 00003364: POP 00003365: JUMP 00003366: JUMPDEST 00003367: PUSH1 0x00 00003369: PUSH2 0x3373 0000336c: PUSH1 0x34 0000336e: DUP4 0000336f: PUSH2 0x3ca9 00003372: JUMP 00003373: JUMPDEST 00003374: SWAP2 00003375: POP 00003376: PUSH2 0x337e 00003379: DUP3 0000337a: PUSH2 0x4070 0000337d: JUMP 0000337e: JUMPDEST 0000337f: PUSH1 0x40 00003381: DUP3 00003382: ADD 00003383: SWAP1 00003384: POP 00003385: SWAP2 00003386: SWAP1 00003387: POP 00003388: JUMP 00003389: JUMPDEST 0000338a: PUSH1 0x00 0000338c: PUSH2 0x3396 0000338f: PUSH1 0x28 00003391: DUP4 00003392: PUSH2 0x3ca9 00003395: JUMP 00003396: JUMPDEST 00003397: SWAP2 00003398: POP 00003399: PUSH2 0x33a1 0000339c: DUP3 0000339d: PUSH2 0x40bf 000033a0: JUMP 000033a1: JUMPDEST 000033a2: PUSH1 0x40 000033a4: DUP3 000033a5: ADD 000033a6: SWAP1 000033a7: POP 000033a8: SWAP2 000033a9: SWAP1 000033aa: POP 000033ab: JUMP 000033ac: JUMPDEST 000033ad: PUSH1 0x00 000033af: PUSH2 0x33b9 000033b2: PUSH1 0x2b 000033b4: DUP4 000033b5: PUSH2 0x3ca9 000033b8: JUMP 000033b9: JUMPDEST 000033ba: SWAP2 000033bb: POP 000033bc: PUSH2 0x33c4 000033bf: DUP3 000033c0: PUSH2 0x410e 000033c3: JUMP 000033c4: JUMPDEST 000033c5: PUSH1 0x40 000033c7: DUP3 000033c8: ADD 000033c9: SWAP1 000033ca: POP 000033cb: SWAP2 000033cc: SWAP1 000033cd: POP 000033ce: JUMP 000033cf: JUMPDEST 000033d0: PUSH1 0x00 000033d2: PUSH2 0x33dc 000033d5: PUSH1 0x29 000033d7: DUP4 000033d8: PUSH2 0x3ca9 000033db: JUMP 000033dc: JUMPDEST 000033dd: SWAP2 000033de: POP 000033df: PUSH2 0x33e7 000033e2: DUP3 000033e3: PUSH2 0x415d 000033e6: JUMP 000033e7: JUMPDEST 000033e8: PUSH1 0x40 000033ea: DUP3 000033eb: ADD 000033ec: SWAP1 000033ed: POP 000033ee: SWAP2 000033ef: SWAP1 000033f0: POP 000033f1: JUMP 000033f2: JUMPDEST 000033f3: PUSH1 0x00 000033f5: PUSH2 0x33ff 000033f8: PUSH1 0x33 000033fa: DUP4 000033fb: PUSH2 0x3ca9 000033fe: JUMP 000033ff: JUMPDEST 00003400: SWAP2 00003401: POP 00003402: PUSH2 0x340a 00003405: DUP3 00003406: PUSH2 0x41ac 00003409: JUMP 0000340a: JUMPDEST 0000340b: PUSH1 0x40 0000340d: DUP3 0000340e: ADD 0000340f: SWAP1 00003410: POP 00003411: SWAP2 00003412: SWAP1 00003413: POP 00003414: JUMP 00003415: JUMPDEST 00003416: PUSH1 0x00 00003418: PUSH2 0x3422 0000341b: PUSH1 0x3a 0000341d: DUP4 0000341e: PUSH2 0x3ca9 00003421: JUMP 00003422: JUMPDEST 00003423: SWAP2 00003424: POP 00003425: PUSH2 0x342d 00003428: DUP3 00003429: PUSH2 0x41fb 0000342c: JUMP 0000342d: JUMPDEST 0000342e: PUSH1 0x40 00003430: DUP3 00003431: ADD 00003432: SWAP1 00003433: POP 00003434: SWAP2 00003435: SWAP1 00003436: POP 00003437: JUMP 00003438: JUMPDEST 00003439: PUSH1 0x00 0000343b: PUSH2 0x3445 0000343e: PUSH1 0x1d 00003440: DUP4 00003441: PUSH2 0x3ca9 00003444: JUMP 00003445: JUMPDEST 00003446: SWAP2 00003447: POP 00003448: PUSH2 0x3450 0000344b: DUP3 0000344c: PUSH2 0x424a 0000344f: JUMP 00003450: JUMPDEST 00003451: PUSH1 0x20 00003453: DUP3 00003454: ADD 00003455: SWAP1 00003456: POP 00003457: SWAP2 00003458: SWAP1 00003459: POP 0000345a: JUMP 0000345b: JUMPDEST 0000345c: PUSH1 0x00 0000345e: PUSH2 0x3468 00003461: PUSH1 0x26 00003463: DUP4 00003464: PUSH2 0x3ca9 00003467: JUMP 00003468: JUMPDEST 00003469: SWAP2 0000346a: POP 0000346b: PUSH2 0x3473 0000346e: DUP3 0000346f: PUSH2 0x4273 00003472: JUMP 00003473: JUMPDEST 00003474: PUSH1 0x40 00003476: DUP3 00003477: ADD 00003478: SWAP1 00003479: POP 0000347a: SWAP2 0000347b: SWAP1 0000347c: POP 0000347d: JUMP 0000347e: JUMPDEST 0000347f: PUSH1 0x00 00003481: PUSH2 0x348b 00003484: PUSH1 0x25 00003486: DUP4 00003487: PUSH2 0x3ca9 0000348a: JUMP 0000348b: JUMPDEST 0000348c: SWAP2 0000348d: POP 0000348e: PUSH2 0x3496 00003491: DUP3 00003492: PUSH2 0x42c2 00003495: JUMP 00003496: JUMPDEST 00003497: PUSH1 0x40 00003499: DUP3 0000349a: ADD 0000349b: SWAP1 0000349c: POP 0000349d: SWAP2 0000349e: SWAP1 0000349f: POP 000034a0: JUMP 000034a1: JUMPDEST 000034a2: PUSH1 0x00 000034a4: PUSH2 0x34ae 000034a7: PUSH1 0x32 000034a9: DUP4 000034aa: PUSH2 0x3ca9 000034ad: JUMP 000034ae: JUMPDEST 000034af: SWAP2 000034b0: POP 000034b1: PUSH2 0x34b9 000034b4: DUP3 000034b5: PUSH2 0x4311 000034b8: JUMP 000034b9: JUMPDEST 000034ba: PUSH1 0x40 000034bc: DUP3 000034bd: ADD 000034be: SWAP1 000034bf: POP 000034c0: SWAP2 000034c1: SWAP1 000034c2: POP 000034c3: JUMP 000034c4: JUMPDEST 000034c5: PUSH1 0x00 000034c7: PUSH2 0x34d1 000034ca: PUSH1 0x32 000034cc: DUP4 000034cd: PUSH2 0x3ca9 000034d0: JUMP 000034d1: JUMPDEST 000034d2: SWAP2 000034d3: POP 000034d4: PUSH2 0x34dc 000034d7: DUP3 000034d8: PUSH2 0x4360 000034db: JUMP 000034dc: JUMPDEST 000034dd: PUSH1 0x40 000034df: DUP3 000034e0: ADD 000034e1: SWAP1 000034e2: POP 000034e3: SWAP2 000034e4: SWAP1 000034e5: POP 000034e6: JUMP 000034e7: JUMPDEST 000034e8: PUSH1 0x00 000034ea: PUSH2 0x34f4 000034ed: PUSH1 0x2a 000034ef: DUP4 000034f0: PUSH2 0x3ca9 000034f3: JUMP 000034f4: JUMPDEST 000034f5: SWAP2 000034f6: POP 000034f7: PUSH2 0x34ff 000034fa: DUP3 000034fb: PUSH2 0x43af 000034fe: JUMP 000034ff: JUMPDEST 00003500: PUSH1 0x40 00003502: DUP3 00003503: ADD 00003504: SWAP1 00003505: POP 00003506: SWAP2 00003507: SWAP1 00003508: POP 00003509: JUMP 0000350a: JUMPDEST 0000350b: PUSH1 0x00 0000350d: PUSH2 0x3517 00003510: PUSH1 0x26 00003512: DUP4 00003513: PUSH2 0x3ca9 00003516: JUMP 00003517: JUMPDEST 00003518: SWAP2 00003519: POP 0000351a: PUSH2 0x3522 0000351d: DUP3 0000351e: PUSH2 0x43fe 00003521: JUMP 00003522: JUMPDEST 00003523: PUSH1 0x40 00003525: DUP3 00003526: ADD 00003527: SWAP1 00003528: POP 00003529: SWAP2 0000352a: SWAP1 0000352b: POP 0000352c: JUMP 0000352d: JUMPDEST 0000352e: PUSH1 0x00 00003530: PUSH2 0x353a 00003533: PUSH1 0x2c 00003535: DUP4 00003536: PUSH2 0x3ca9 00003539: JUMP 0000353a: JUMPDEST 0000353b: SWAP2 0000353c: POP 0000353d: PUSH2 0x3545 00003540: DUP3 00003541: PUSH2 0x444d 00003544: JUMP 00003545: JUMPDEST 00003546: PUSH1 0x40 00003548: DUP3 00003549: ADD 0000354a: SWAP1 0000354b: POP 0000354c: SWAP2 0000354d: SWAP1 0000354e: POP 0000354f: JUMP 00003550: JUMPDEST 00003551: PUSH1 0x00 00003553: PUSH2 0x355d 00003556: PUSH1 0x1d 00003558: DUP4 00003559: PUSH2 0x3ca9 0000355c: JUMP 0000355d: JUMPDEST 0000355e: SWAP2 0000355f: POP 00003560: PUSH2 0x3568 00003563: DUP3 00003564: PUSH2 0x449c 00003567: JUMP 00003568: JUMPDEST 00003569: PUSH1 0x20 0000356b: DUP3 0000356c: ADD 0000356d: SWAP1 0000356e: POP 0000356f: SWAP2 00003570: SWAP1 00003571: POP 00003572: JUMP 00003573: JUMPDEST 00003574: PUSH1 0x00 00003576: PUSH2 0x3580 00003579: PUSH1 0x00 0000357b: DUP4 0000357c: PUSH2 0x3c9e 0000357f: JUMP 00003580: JUMPDEST 00003581: SWAP2 00003582: POP 00003583: PUSH2 0x358b 00003586: DUP3 00003587: PUSH2 0x44c5 0000358a: JUMP 0000358b: JUMPDEST 0000358c: PUSH1 0x00 0000358e: DUP3 0000358f: ADD 00003590: SWAP1 00003591: POP 00003592: SWAP2 00003593: SWAP1 00003594: POP 00003595: JUMP 00003596: JUMPDEST 00003597: PUSH1 0x00 00003599: PUSH2 0x35a3 0000359c: PUSH1 0x1d 0000359e: DUP4 0000359f: PUSH2 0x3ca9 000035a2: JUMP 000035a3: JUMPDEST 000035a4: SWAP2 000035a5: POP 000035a6: PUSH2 0x35ae 000035a9: DUP3 000035aa: PUSH2 0x44c8 000035ad: JUMP 000035ae: JUMPDEST 000035af: PUSH1 0x20 000035b1: DUP3 000035b2: ADD 000035b3: SWAP1 000035b4: POP 000035b5: SWAP2 000035b6: SWAP1 000035b7: POP 000035b8: JUMP 000035b9: JUMPDEST 000035ba: PUSH1 0x00 000035bc: PUSH2 0x35c6 000035bf: PUSH1 0x29 000035c1: DUP4 000035c2: PUSH2 0x3ca9 000035c5: JUMP 000035c6: JUMPDEST 000035c7: SWAP2 000035c8: POP 000035c9: PUSH2 0x35d1 000035cc: DUP3 000035cd: PUSH2 0x44f1 000035d0: JUMP 000035d1: JUMPDEST 000035d2: PUSH1 0x40 000035d4: DUP3 000035d5: ADD 000035d6: SWAP1 000035d7: POP 000035d8: SWAP2 000035d9: SWAP1 000035da: POP 000035db: JUMP 000035dc: JUMPDEST 000035dd: PUSH1 0x00 000035df: PUSH2 0x35e9 000035e2: PUSH1 0x2a 000035e4: DUP4 000035e5: PUSH2 0x3ca9 000035e8: JUMP 000035e9: JUMPDEST 000035ea: SWAP2 000035eb: POP 000035ec: PUSH2 0x35f4 000035ef: DUP3 000035f0: PUSH2 0x4540 000035f3: JUMP 000035f4: JUMPDEST 000035f5: PUSH1 0x40 000035f7: DUP3 000035f8: ADD 000035f9: SWAP1 000035fa: POP 000035fb: SWAP2 000035fc: SWAP1 000035fd: POP 000035fe: JUMP 000035ff: JUMPDEST 00003600: PUSH1 0x00 00003602: PUSH2 0x360c 00003605: PUSH1 0x29 00003607: DUP4 00003608: PUSH2 0x3ca9 0000360b: JUMP 0000360c: JUMPDEST 0000360d: SWAP2 0000360e: POP 0000360f: PUSH2 0x3617 00003612: DUP3 00003613: PUSH2 0x458f 00003616: JUMP 00003617: JUMPDEST 00003618: PUSH1 0x40 0000361a: DUP3 0000361b: ADD 0000361c: SWAP1 0000361d: POP 0000361e: SWAP2 0000361f: SWAP1 00003620: POP 00003621: JUMP 00003622: JUMPDEST 00003623: PUSH1 0x00 00003625: PUSH2 0x362f 00003628: PUSH1 0x28 0000362a: DUP4 0000362b: PUSH2 0x3ca9 0000362e: JUMP 0000362f: JUMPDEST 00003630: SWAP2 00003631: POP 00003632: PUSH2 0x363a 00003635: DUP3 00003636: PUSH2 0x45de 00003639: JUMP 0000363a: JUMPDEST 0000363b: PUSH1 0x40 0000363d: DUP3 0000363e: ADD 0000363f: SWAP1 00003640: POP 00003641: SWAP2 00003642: SWAP1 00003643: POP 00003644: JUMP 00003645: JUMPDEST 00003646: PUSH1 0x00 00003648: PUSH2 0x3652 0000364b: PUSH1 0x21 0000364d: DUP4 0000364e: PUSH2 0x3ca9 00003651: JUMP 00003652: JUMPDEST 00003653: SWAP2 00003654: POP 00003655: PUSH2 0x365d 00003658: DUP3 00003659: PUSH2 0x462d 0000365c: JUMP 0000365d: JUMPDEST 0000365e: PUSH1 0x40 00003660: DUP3 00003661: ADD 00003662: SWAP1 00003663: POP 00003664: SWAP2 00003665: SWAP1 00003666: POP 00003667: JUMP 00003668: JUMPDEST 00003669: PUSH1 0x00 0000366b: PUSH2 0x3675 0000366e: PUSH1 0x1f 00003670: DUP4 00003671: PUSH2 0x3ca9 00003674: JUMP 00003675: JUMPDEST 00003676: SWAP2 00003677: POP 00003678: PUSH2 0x3680 0000367b: DUP3 0000367c: PUSH2 0x467c 0000367f: JUMP 00003680: JUMPDEST 00003681: PUSH1 0x20 00003683: DUP3 00003684: ADD 00003685: SWAP1 00003686: POP 00003687: SWAP2 00003688: SWAP1 00003689: POP 0000368a: JUMP 0000368b: JUMPDEST 0000368c: PUSH2 0x3694 0000368f: DUP2 00003690: PUSH2 0x3e4b 00003693: JUMP 00003694: JUMPDEST 00003695: DUP3 00003696: MSTORE 00003697: POP 00003698: POP 00003699: JUMP 0000369a: JUMPDEST 0000369b: PUSH2 0x36a3 0000369e: DUP2 0000369f: PUSH2 0x3e4b 000036a2: JUMP 000036a3: JUMPDEST 000036a4: DUP3 000036a5: MSTORE 000036a6: POP 000036a7: POP 000036a8: JUMP 000036a9: JUMPDEST 000036aa: PUSH1 0x00 000036ac: PUSH2 0x36b5 000036af: DUP3 000036b0: DUP5 000036b1: PUSH2 0x32fc 000036b4: JUMP 000036b5: JUMPDEST 000036b6: SWAP2 000036b7: POP 000036b8: DUP2 000036b9: SWAP1 000036ba: POP 000036bb: SWAP3 000036bc: SWAP2 000036bd: POP 000036be: POP 000036bf: JUMP 000036c0: JUMPDEST 000036c1: PUSH1 0x00 000036c3: PUSH2 0x36cb 000036c6: DUP3 000036c7: PUSH2 0x3573 000036ca: JUMP 000036cb: JUMPDEST 000036cc: SWAP2 000036cd: POP 000036ce: DUP2 000036cf: SWAP1 000036d0: POP 000036d1: SWAP2 000036d2: SWAP1 000036d3: POP 000036d4: JUMP 000036d5: JUMPDEST 000036d6: PUSH1 0x00 000036d8: PUSH1 0x20 000036da: DUP3 000036db: ADD 000036dc: SWAP1 000036dd: POP 000036de: PUSH2 0x36ea 000036e1: PUSH1 0x00 000036e3: DUP4 000036e4: ADD 000036e5: DUP5 000036e6: PUSH2 0x3247 000036e9: JUMP 000036ea: JUMPDEST 000036eb: SWAP3 000036ec: SWAP2 000036ed: POP 000036ee: POP 000036ef: JUMP 000036f0: JUMPDEST 000036f1: PUSH1 0x00 000036f3: PUSH1 0x20 000036f5: DUP3 000036f6: ADD 000036f7: SWAP1 000036f8: POP 000036f9: PUSH2 0x3705 000036fc: PUSH1 0x00 000036fe: DUP4 000036ff: ADD 00003700: DUP5 00003701: PUSH2 0x3238 00003704: JUMP 00003705: JUMPDEST 00003706: SWAP3 00003707: SWAP2 00003708: POP 00003709: POP 0000370a: JUMP 0000370b: JUMPDEST 0000370c: PUSH1 0x00 0000370e: PUSH1 0xa0 00003710: DUP3 00003711: ADD 00003712: SWAP1 00003713: POP 00003714: PUSH2 0x3720 00003717: PUSH1 0x00 00003719: DUP4 0000371a: ADD 0000371b: DUP9 0000371c: PUSH2 0x3247 0000371f: JUMP 00003720: JUMPDEST 00003721: PUSH2 0x372d 00003724: PUSH1 0x20 00003726: DUP4 00003727: ADD 00003728: DUP8 00003729: PUSH2 0x3247 0000372c: JUMP 0000372d: JUMPDEST 0000372e: DUP2 0000372f: DUP2 00003730: SUB 00003731: PUSH1 0x40 00003733: DUP4 00003734: ADD 00003735: MSTORE 00003736: PUSH2 0x373f 00003739: DUP2 0000373a: DUP7 0000373b: PUSH2 0x3256 0000373e: JUMP 0000373f: JUMPDEST 00003740: SWAP1 00003741: POP 00003742: DUP2 00003743: DUP2 00003744: SUB 00003745: PUSH1 0x60 00003747: DUP4 00003748: ADD 00003749: MSTORE 0000374a: PUSH2 0x3753 0000374d: DUP2 0000374e: DUP6 0000374f: PUSH2 0x3256 00003752: JUMP 00003753: JUMPDEST 00003754: SWAP1 00003755: POP 00003756: DUP2 00003757: DUP2 00003758: SUB 00003759: PUSH1 0x80 0000375b: DUP4 0000375c: ADD 0000375d: MSTORE 0000375e: PUSH2 0x3767 00003761: DUP2 00003762: DUP5 00003763: PUSH2 0x32c3 00003766: JUMP 00003767: JUMPDEST 00003768: SWAP1 00003769: POP 0000376a: SWAP7 0000376b: SWAP6 0000376c: POP 0000376d: POP 0000376e: POP 0000376f: POP 00003770: POP 00003771: POP 00003772: JUMP 00003773: JUMPDEST 00003774: PUSH1 0x00 00003776: PUSH1 0xa0 00003778: DUP3 00003779: ADD 0000377a: SWAP1 0000377b: POP 0000377c: PUSH2 0x3788 0000377f: PUSH1 0x00 00003781: DUP4 00003782: ADD 00003783: DUP9 00003784: PUSH2 0x3247 00003787: JUMP 00003788: JUMPDEST 00003789: PUSH2 0x3795 0000378c: PUSH1 0x20 0000378e: DUP4 0000378f: ADD 00003790: DUP8 00003791: PUSH2 0x3247 00003794: JUMP 00003795: JUMPDEST 00003796: PUSH2 0x37a2 00003799: PUSH1 0x40 0000379b: DUP4 0000379c: ADD 0000379d: DUP7 0000379e: PUSH2 0x369a 000037a1: JUMP 000037a2: JUMPDEST 000037a3: PUSH2 0x37af 000037a6: PUSH1 0x60 000037a8: DUP4 000037a9: ADD 000037aa: DUP6 000037ab: PUSH2 0x369a 000037ae: JUMP 000037af: JUMPDEST 000037b0: DUP2 000037b1: DUP2 000037b2: SUB 000037b3: PUSH1 0x80 000037b5: DUP4 000037b6: ADD 000037b7: MSTORE 000037b8: PUSH2 0x37c1 000037bb: DUP2 000037bc: DUP5 000037bd: PUSH2 0x32c3 000037c0: JUMP 000037c1: JUMPDEST 000037c2: SWAP1 000037c3: POP 000037c4: SWAP7 000037c5: SWAP6 000037c6: POP 000037c7: POP 000037c8: POP 000037c9: POP 000037ca: POP 000037cb: POP 000037cc: JUMP 000037cd: JUMPDEST 000037ce: PUSH1 0x00 000037d0: PUSH1 0x40 000037d2: DUP3 000037d3: ADD 000037d4: SWAP1 000037d5: POP 000037d6: PUSH2 0x37e2 000037d9: PUSH1 0x00 000037db: DUP4 000037dc: ADD 000037dd: DUP6 000037de: PUSH2 0x3247 000037e1: JUMP 000037e2: JUMPDEST 000037e3: PUSH2 0x37ef 000037e6: PUSH1 0x20 000037e8: DUP4 000037e9: ADD 000037ea: DUP5 000037eb: PUSH2 0x369a 000037ee: JUMP 000037ef: JUMPDEST 000037f0: SWAP4 000037f1: SWAP3 000037f2: POP 000037f3: POP 000037f4: POP 000037f5: JUMP 000037f6: JUMPDEST 000037f7: PUSH1 0x00 000037f9: PUSH1 0x20 000037fb: DUP3 000037fc: ADD 000037fd: SWAP1 000037fe: POP 000037ff: DUP2 00003800: DUP2 00003801: SUB 00003802: PUSH1 0x00 00003804: DUP4 00003805: ADD 00003806: MSTORE 00003807: PUSH2 0x3810 0000380a: DUP2 0000380b: DUP5 0000380c: PUSH2 0x3256 0000380f: JUMP 00003810: JUMPDEST 00003811: SWAP1 00003812: POP 00003813: SWAP3 00003814: SWAP2 00003815: POP 00003816: POP 00003817: JUMP 00003818: JUMPDEST 00003819: PUSH1 0x00 0000381b: PUSH1 0x40 0000381d: DUP3 0000381e: ADD 0000381f: SWAP1 00003820: POP 00003821: DUP2 00003822: DUP2 00003823: SUB 00003824: PUSH1 0x00 00003826: DUP4 00003827: ADD 00003828: MSTORE 00003829: PUSH2 0x3832 0000382c: DUP2 0000382d: DUP6 0000382e: PUSH2 0x3256 00003831: JUMP 00003832: JUMPDEST 00003833: SWAP1 00003834: POP 00003835: DUP2 00003836: DUP2 00003837: SUB 00003838: PUSH1 0x20 0000383a: DUP4 0000383b: ADD 0000383c: MSTORE 0000383d: PUSH2 0x3846 00003840: DUP2 00003841: DUP5 00003842: PUSH2 0x3256 00003845: JUMP 00003846: JUMPDEST 00003847: SWAP1 00003848: POP 00003849: SWAP4 0000384a: SWAP3 0000384b: POP 0000384c: POP 0000384d: POP 0000384e: JUMP 0000384f: JUMPDEST 00003850: PUSH1 0x00 00003852: PUSH1 0x20 00003854: DUP3 00003855: ADD 00003856: SWAP1 00003857: POP 00003858: PUSH2 0x3864 0000385b: PUSH1 0x00 0000385d: DUP4 0000385e: ADD 0000385f: DUP5 00003860: PUSH2 0x32b4 00003863: JUMP 00003864: JUMPDEST 00003865: SWAP3 00003866: SWAP2 00003867: POP 00003868: POP 00003869: JUMP 0000386a: JUMPDEST 0000386b: PUSH1 0x00 0000386d: PUSH1 0x20 0000386f: DUP3 00003870: ADD 00003871: SWAP1 00003872: POP 00003873: DUP2 00003874: DUP2 00003875: SUB 00003876: PUSH1 0x00 00003878: DUP4 00003879: ADD 0000387a: MSTORE 0000387b: PUSH2 0x3884 0000387e: DUP2 0000387f: DUP5 00003880: PUSH2 0x332d 00003883: JUMP 00003884: JUMPDEST 00003885: SWAP1 00003886: POP 00003887: SWAP3 00003888: SWAP2 00003889: POP 0000388a: POP 0000388b: JUMP 0000388c: JUMPDEST 0000388d: PUSH1 0x00 0000388f: PUSH1 0x20 00003891: DUP3 00003892: ADD 00003893: SWAP1 00003894: POP 00003895: DUP2 00003896: DUP2 00003897: SUB 00003898: PUSH1 0x00 0000389a: DUP4 0000389b: ADD 0000389c: MSTORE 0000389d: PUSH2 0x38a5 000038a0: DUP2 000038a1: PUSH2 0x3366 000038a4: JUMP 000038a5: JUMPDEST 000038a6: SWAP1 000038a7: POP 000038a8: SWAP2 000038a9: SWAP1 000038aa: POP 000038ab: JUMP 000038ac: JUMPDEST 000038ad: PUSH1 0x00 000038af: PUSH1 0x20 000038b1: DUP3 000038b2: ADD 000038b3: SWAP1 000038b4: POP 000038b5: DUP2 000038b6: DUP2 000038b7: SUB 000038b8: PUSH1 0x00 000038ba: DUP4 000038bb: ADD 000038bc: MSTORE 000038bd: PUSH2 0x38c5 000038c0: DUP2 000038c1: PUSH2 0x3389 000038c4: JUMP 000038c5: JUMPDEST 000038c6: SWAP1 000038c7: POP 000038c8: SWAP2 000038c9: SWAP1 000038ca: POP 000038cb: JUMP 000038cc: JUMPDEST 000038cd: PUSH1 0x00 000038cf: PUSH1 0x20 000038d1: DUP3 000038d2: ADD 000038d3: SWAP1 000038d4: POP 000038d5: DUP2 000038d6: DUP2 000038d7: SUB 000038d8: PUSH1 0x00 000038da: DUP4 000038db: ADD 000038dc: MSTORE 000038dd: PUSH2 0x38e5 000038e0: DUP2 000038e1: PUSH2 0x33ac 000038e4: JUMP 000038e5: JUMPDEST 000038e6: SWAP1 000038e7: POP 000038e8: SWAP2 000038e9: SWAP1 000038ea: POP 000038eb: JUMP 000038ec: JUMPDEST 000038ed: PUSH1 0x00 000038ef: PUSH1 0x20 000038f1: DUP3 000038f2: ADD 000038f3: SWAP1 000038f4: POP 000038f5: DUP2 000038f6: DUP2 000038f7: SUB 000038f8: PUSH1 0x00 000038fa: DUP4 000038fb: ADD 000038fc: MSTORE 000038fd: PUSH2 0x3905 00003900: DUP2 00003901: PUSH2 0x33cf 00003904: JUMP 00003905: JUMPDEST 00003906: SWAP1 00003907: POP 00003908: SWAP2 00003909: SWAP1 0000390a: POP 0000390b: JUMP 0000390c: JUMPDEST 0000390d: PUSH1 0x00 0000390f: PUSH1 0x20 00003911: DUP3 00003912: ADD 00003913: SWAP1 00003914: POP 00003915: DUP2 00003916: DUP2 00003917: SUB 00003918: PUSH1 0x00 0000391a: DUP4 0000391b: ADD 0000391c: MSTORE 0000391d: PUSH2 0x3925 00003920: DUP2 00003921: PUSH2 0x33f2 00003924: JUMP 00003925: JUMPDEST 00003926: SWAP1 00003927: POP 00003928: SWAP2 00003929: SWAP1 0000392a: POP 0000392b: JUMP 0000392c: JUMPDEST 0000392d: PUSH1 0x00 0000392f: PUSH1 0x20 00003931: DUP3 00003932: ADD 00003933: SWAP1 00003934: POP 00003935: DUP2 00003936: DUP2 00003937: SUB 00003938: PUSH1 0x00 0000393a: DUP4 0000393b: ADD 0000393c: MSTORE 0000393d: PUSH2 0x3945 00003940: DUP2 00003941: PUSH2 0x3415 00003944: JUMP 00003945: JUMPDEST 00003946: SWAP1 00003947: POP 00003948: SWAP2 00003949: SWAP1 0000394a: POP 0000394b: JUMP 0000394c: JUMPDEST 0000394d: PUSH1 0x00 0000394f: PUSH1 0x20 00003951: DUP3 00003952: ADD 00003953: SWAP1 00003954: POP 00003955: DUP2 00003956: DUP2 00003957: SUB 00003958: PUSH1 0x00 0000395a: DUP4 0000395b: ADD 0000395c: MSTORE 0000395d: PUSH2 0x3965 00003960: DUP2 00003961: PUSH2 0x3438 00003964: JUMP 00003965: JUMPDEST 00003966: SWAP1 00003967: POP 00003968: SWAP2 00003969: SWAP1 0000396a: POP 0000396b: JUMP 0000396c: JUMPDEST 0000396d: PUSH1 0x00 0000396f: PUSH1 0x20 00003971: DUP3 00003972: ADD 00003973: SWAP1 00003974: POP 00003975: DUP2 00003976: DUP2 00003977: SUB 00003978: PUSH1 0x00 0000397a: DUP4 0000397b: ADD 0000397c: MSTORE 0000397d: PUSH2 0x3985 00003980: DUP2 00003981: PUSH2 0x345b 00003984: JUMP 00003985: JUMPDEST 00003986: SWAP1 00003987: POP 00003988: SWAP2 00003989: SWAP1 0000398a: POP 0000398b: JUMP 0000398c: JUMPDEST 0000398d: PUSH1 0x00 0000398f: PUSH1 0x20 00003991: DUP3 00003992: ADD 00003993: SWAP1 00003994: POP 00003995: DUP2 00003996: DUP2 00003997: SUB 00003998: PUSH1 0x00 0000399a: DUP4 0000399b: ADD 0000399c: MSTORE 0000399d: PUSH2 0x39a5 000039a0: DUP2 000039a1: PUSH2 0x347e 000039a4: JUMP 000039a5: JUMPDEST 000039a6: SWAP1 000039a7: POP 000039a8: SWAP2 000039a9: SWAP1 000039aa: POP 000039ab: JUMP 000039ac: JUMPDEST 000039ad: PUSH1 0x00 000039af: PUSH1 0x20 000039b1: DUP3 000039b2: ADD 000039b3: SWAP1 000039b4: POP 000039b5: DUP2 000039b6: DUP2 000039b7: SUB 000039b8: PUSH1 0x00 000039ba: DUP4 000039bb: ADD 000039bc: MSTORE 000039bd: PUSH2 0x39c5 000039c0: DUP2 000039c1: PUSH2 0x34a1 000039c4: JUMP 000039c5: JUMPDEST 000039c6: SWAP1 000039c7: POP 000039c8: SWAP2 000039c9: SWAP1 000039ca: POP 000039cb: JUMP 000039cc: JUMPDEST 000039cd: PUSH1 0x00 000039cf: PUSH1 0x20 000039d1: DUP3 000039d2: ADD 000039d3: SWAP1 000039d4: POP 000039d5: DUP2 000039d6: DUP2 000039d7: SUB 000039d8: PUSH1 0x00 000039da: DUP4 000039db: ADD 000039dc: MSTORE 000039dd: PUSH2 0x39e5 000039e0: DUP2 000039e1: PUSH2 0x34c4 000039e4: JUMP 000039e5: JUMPDEST 000039e6: SWAP1 000039e7: POP 000039e8: SWAP2 000039e9: SWAP1 000039ea: POP 000039eb: JUMP 000039ec: JUMPDEST 000039ed: PUSH1 0x00 000039ef: PUSH1 0x20 000039f1: DUP3 000039f2: ADD 000039f3: SWAP1 000039f4: POP 000039f5: DUP2 000039f6: DUP2 000039f7: SUB 000039f8: PUSH1 0x00 000039fa: DUP4 000039fb: ADD 000039fc: MSTORE 000039fd: PUSH2 0x3a05 00003a00: DUP2 00003a01: PUSH2 0x34e7 00003a04: JUMP 00003a05: JUMPDEST 00003a06: SWAP1 00003a07: POP 00003a08: SWAP2 00003a09: SWAP1 00003a0a: POP 00003a0b: JUMP 00003a0c: JUMPDEST 00003a0d: PUSH1 0x00 00003a0f: PUSH1 0x20 00003a11: DUP3 00003a12: ADD 00003a13: SWAP1 00003a14: POP 00003a15: DUP2 00003a16: DUP2 00003a17: SUB 00003a18: PUSH1 0x00 00003a1a: DUP4 00003a1b: ADD 00003a1c: MSTORE 00003a1d: PUSH2 0x3a25 00003a20: DUP2 00003a21: PUSH2 0x350a 00003a24: JUMP 00003a25: JUMPDEST 00003a26: SWAP1 00003a27: POP 00003a28: SWAP2 00003a29: SWAP1 00003a2a: POP 00003a2b: JUMP 00003a2c: JUMPDEST 00003a2d: PUSH1 0x00 00003a2f: PUSH1 0x20 00003a31: DUP3 00003a32: ADD 00003a33: SWAP1 00003a34: POP 00003a35: DUP2 00003a36: DUP2 00003a37: SUB 00003a38: PUSH1 0x00 00003a3a: DUP4 00003a3b: ADD 00003a3c: MSTORE 00003a3d: PUSH2 0x3a45 00003a40: DUP2 00003a41: PUSH2 0x352d 00003a44: JUMP 00003a45: JUMPDEST 00003a46: SWAP1 00003a47: POP 00003a48: SWAP2 00003a49: SWAP1 00003a4a: POP 00003a4b: JUMP 00003a4c: JUMPDEST 00003a4d: PUSH1 0x00 00003a4f: PUSH1 0x20 00003a51: DUP3 00003a52: ADD 00003a53: SWAP1 00003a54: POP 00003a55: DUP2 00003a56: DUP2 00003a57: SUB 00003a58: PUSH1 0x00 00003a5a: DUP4 00003a5b: ADD 00003a5c: MSTORE 00003a5d: PUSH2 0x3a65 00003a60: DUP2 00003a61: PUSH2 0x3550 00003a64: JUMP 00003a65: JUMPDEST 00003a66: SWAP1 00003a67: POP 00003a68: SWAP2 00003a69: SWAP1 00003a6a: POP 00003a6b: JUMP 00003a6c: JUMPDEST 00003a6d: PUSH1 0x00 00003a6f: PUSH1 0x20 00003a71: DUP3 00003a72: ADD 00003a73: SWAP1 00003a74: POP 00003a75: DUP2 00003a76: DUP2 00003a77: SUB 00003a78: PUSH1 0x00 00003a7a: DUP4 00003a7b: ADD 00003a7c: MSTORE 00003a7d: PUSH2 0x3a85 00003a80: DUP2 00003a81: PUSH2 0x3596 00003a84: JUMP 00003a85: JUMPDEST 00003a86: SWAP1 00003a87: POP 00003a88: SWAP2 00003a89: SWAP1 00003a8a: POP 00003a8b: JUMP 00003a8c: JUMPDEST 00003a8d: PUSH1 0x00 00003a8f: PUSH1 0x20 00003a91: DUP3 00003a92: ADD 00003a93: SWAP1 00003a94: POP 00003a95: DUP2 00003a96: DUP2 00003a97: SUB 00003a98: PUSH1 0x00 00003a9a: DUP4 00003a9b: ADD 00003a9c: MSTORE 00003a9d: PUSH2 0x3aa5 00003aa0: DUP2 00003aa1: PUSH2 0x35b9 00003aa4: JUMP 00003aa5: JUMPDEST 00003aa6: SWAP1 00003aa7: POP 00003aa8: SWAP2 00003aa9: SWAP1 00003aaa: POP 00003aab: JUMP 00003aac: JUMPDEST 00003aad: PUSH1 0x00 00003aaf: PUSH1 0x20 00003ab1: DUP3 00003ab2: ADD 00003ab3: SWAP1 00003ab4: POP 00003ab5: DUP2 00003ab6: DUP2 00003ab7: SUB 00003ab8: PUSH1 0x00 00003aba: DUP4 00003abb: ADD 00003abc: MSTORE 00003abd: PUSH2 0x3ac5 00003ac0: DUP2 00003ac1: PUSH2 0x35dc 00003ac4: JUMP 00003ac5: JUMPDEST 00003ac6: SWAP1 00003ac7: POP 00003ac8: SWAP2 00003ac9: SWAP1 00003aca: POP 00003acb: JUMP 00003acc: JUMPDEST 00003acd: PUSH1 0x00 00003acf: PUSH1 0x20 00003ad1: DUP3 00003ad2: ADD 00003ad3: SWAP1 00003ad4: POP 00003ad5: DUP2 00003ad6: DUP2 00003ad7: SUB 00003ad8: PUSH1 0x00 00003ada: DUP4 00003adb: ADD 00003adc: MSTORE 00003add: PUSH2 0x3ae5 00003ae0: DUP2 00003ae1: PUSH2 0x35ff 00003ae4: JUMP 00003ae5: JUMPDEST 00003ae6: SWAP1 00003ae7: POP 00003ae8: SWAP2 00003ae9: SWAP1 00003aea: POP 00003aeb: JUMP 00003aec: JUMPDEST 00003aed: PUSH1 0x00 00003aef: PUSH1 0x20 00003af1: DUP3 00003af2: ADD 00003af3: SWAP1 00003af4: POP 00003af5: DUP2 00003af6: DUP2 00003af7: SUB 00003af8: PUSH1 0x00 00003afa: DUP4 00003afb: ADD 00003afc: MSTORE 00003afd: PUSH2 0x3b05 00003b00: DUP2 00003b01: PUSH2 0x3622 00003b04: JUMP 00003b05: JUMPDEST 00003b06: SWAP1 00003b07: POP 00003b08: SWAP2 00003b09: SWAP1 00003b0a: POP 00003b0b: JUMP 00003b0c: JUMPDEST 00003b0d: PUSH1 0x00 00003b0f: PUSH1 0x20 00003b11: DUP3 00003b12: ADD 00003b13: SWAP1 00003b14: POP 00003b15: DUP2 00003b16: DUP2 00003b17: SUB 00003b18: PUSH1 0x00 00003b1a: DUP4 00003b1b: ADD 00003b1c: MSTORE 00003b1d: PUSH2 0x3b25 00003b20: DUP2 00003b21: PUSH2 0x3645 00003b24: JUMP 00003b25: JUMPDEST 00003b26: SWAP1 00003b27: POP 00003b28: SWAP2 00003b29: SWAP1 00003b2a: POP 00003b2b: JUMP 00003b2c: JUMPDEST 00003b2d: PUSH1 0x00 00003b2f: PUSH1 0x20 00003b31: DUP3 00003b32: ADD 00003b33: SWAP1 00003b34: POP 00003b35: DUP2 00003b36: DUP2 00003b37: SUB 00003b38: PUSH1 0x00 00003b3a: DUP4 00003b3b: ADD 00003b3c: MSTORE 00003b3d: PUSH2 0x3b45 00003b40: DUP2 00003b41: PUSH2 0x3668 00003b44: JUMP 00003b45: JUMPDEST 00003b46: SWAP1 00003b47: POP 00003b48: SWAP2 00003b49: SWAP1 00003b4a: POP 00003b4b: JUMP 00003b4c: JUMPDEST 00003b4d: PUSH1 0x00 00003b4f: PUSH1 0x20 00003b51: DUP3 00003b52: ADD 00003b53: SWAP1 00003b54: POP 00003b55: PUSH2 0x3b61 00003b58: PUSH1 0x00 00003b5a: DUP4 00003b5b: ADD 00003b5c: DUP5 00003b5d: PUSH2 0x369a 00003b60: JUMP 00003b61: JUMPDEST 00003b62: SWAP3 00003b63: SWAP2 00003b64: POP 00003b65: POP 00003b66: JUMP 00003b67: JUMPDEST 00003b68: PUSH1 0x00 00003b6a: PUSH1 0x40 00003b6c: DUP3 00003b6d: ADD 00003b6e: SWAP1 00003b6f: POP 00003b70: PUSH2 0x3b7c 00003b73: PUSH1 0x00 00003b75: DUP4 00003b76: ADD 00003b77: DUP6 00003b78: PUSH2 0x369a 00003b7b: JUMP 00003b7c: JUMPDEST 00003b7d: PUSH2 0x3b89 00003b80: PUSH1 0x20 00003b82: DUP4 00003b83: ADD 00003b84: DUP5 00003b85: PUSH2 0x369a 00003b88: JUMP 00003b89: JUMPDEST 00003b8a: SWAP4 00003b8b: SWAP3 00003b8c: POP 00003b8d: POP 00003b8e: POP 00003b8f: JUMP 00003b90: JUMPDEST 00003b91: PUSH1 0x00 00003b93: PUSH2 0x3b9a 00003b96: PUSH2 0x3bab 00003b99: JUMP 00003b9a: JUMPDEST 00003b9b: SWAP1 00003b9c: POP 00003b9d: PUSH2 0x3ba6 00003ba0: DUP3 00003ba1: DUP3 00003ba2: PUSH2 0x3ec9 00003ba5: JUMP 00003ba6: JUMPDEST 00003ba7: SWAP2 00003ba8: SWAP1 00003ba9: POP 00003baa: JUMP 00003bab: JUMPDEST 00003bac: PUSH1 0x00 00003bae: PUSH1 0x40 00003bb0: MLOAD 00003bb1: SWAP1 00003bb2: POP 00003bb3: SWAP1 00003bb4: JUMP 00003bb5: JUMPDEST 00003bb6: PUSH1 0x00 00003bb8: PUSH8 0xffffffffffffffff 00003bc1: DUP3 00003bc2: GT 00003bc3: ISZERO 00003bc4: PUSH2 0x3bd0 00003bc7: JUMPI 00003bc8: PUSH2 0x3bcf 00003bcb: PUSH2 0x4001 00003bce: JUMP 00003bcf: JUMPDEST 00003bd0: JUMPDEST 00003bd1: PUSH1 0x20 00003bd3: DUP3 00003bd4: MUL 00003bd5: SWAP1 00003bd6: POP 00003bd7: PUSH1 0x20 00003bd9: DUP2 00003bda: ADD 00003bdb: SWAP1 00003bdc: POP 00003bdd: SWAP2 00003bde: SWAP1 00003bdf: POP 00003be0: JUMP 00003be1: JUMPDEST 00003be2: PUSH1 0x00 00003be4: PUSH8 0xffffffffffffffff 00003bed: DUP3 00003bee: GT 00003bef: ISZERO 00003bf0: PUSH2 0x3bfc 00003bf3: JUMPI 00003bf4: PUSH2 0x3bfb 00003bf7: PUSH2 0x4001 00003bfa: JUMP 00003bfb: JUMPDEST 00003bfc: JUMPDEST 00003bfd: PUSH1 0x20 00003bff: DUP3 00003c00: MUL 00003c01: SWAP1 00003c02: POP 00003c03: PUSH1 0x20 00003c05: DUP2 00003c06: ADD 00003c07: SWAP1 00003c08: POP 00003c09: SWAP2 00003c0a: SWAP1 00003c0b: POP 00003c0c: JUMP 00003c0d: JUMPDEST 00003c0e: PUSH1 0x00 00003c10: PUSH8 0xffffffffffffffff 00003c19: DUP3 00003c1a: GT 00003c1b: ISZERO 00003c1c: PUSH2 0x3c28 00003c1f: JUMPI 00003c20: PUSH2 0x3c27 00003c23: PUSH2 0x4001 00003c26: JUMP 00003c27: JUMPDEST 00003c28: JUMPDEST 00003c29: PUSH2 0x3c31 00003c2c: DUP3 00003c2d: PUSH2 0x4052 00003c30: JUMP 00003c31: JUMPDEST 00003c32: SWAP1 00003c33: POP 00003c34: PUSH1 0x20 00003c36: DUP2 00003c37: ADD 00003c38: SWAP1 00003c39: POP 00003c3a: SWAP2 00003c3b: SWAP1 00003c3c: POP 00003c3d: JUMP 00003c3e: JUMPDEST 00003c3f: PUSH1 0x00 00003c41: DUP2 00003c42: SWAP1 00003c43: POP 00003c44: PUSH1 0x20 00003c46: DUP3 00003c47: ADD 00003c48: SWAP1 00003c49: POP 00003c4a: SWAP2 00003c4b: SWAP1 00003c4c: POP 00003c4d: JUMP 00003c4e: JUMPDEST 00003c4f: PUSH1 0x00 00003c51: DUP2 00003c52: MLOAD 00003c53: SWAP1 00003c54: POP 00003c55: SWAP2 00003c56: SWAP1 00003c57: POP 00003c58: JUMP 00003c59: JUMPDEST 00003c5a: PUSH1 0x00 00003c5c: DUP2 00003c5d: MLOAD 00003c5e: SWAP1 00003c5f: POP 00003c60: SWAP2 00003c61: SWAP1 00003c62: POP 00003c63: JUMP 00003c64: JUMPDEST 00003c65: PUSH1 0x00 00003c67: DUP2 00003c68: MLOAD 00003c69: SWAP1 00003c6a: POP 00003c6b: SWAP2 00003c6c: SWAP1 00003c6d: POP 00003c6e: JUMP 00003c6f: JUMPDEST 00003c70: PUSH1 0x00 00003c72: PUSH1 0x20 00003c74: DUP3 00003c75: ADD 00003c76: SWAP1 00003c77: POP 00003c78: SWAP2 00003c79: SWAP1 00003c7a: POP 00003c7b: JUMP 00003c7c: JUMPDEST 00003c7d: PUSH1 0x00 00003c7f: DUP3 00003c80: DUP3 00003c81: MSTORE 00003c82: PUSH1 0x20 00003c84: DUP3 00003c85: ADD 00003c86: SWAP1 00003c87: POP 00003c88: SWAP3 00003c89: SWAP2 00003c8a: POP 00003c8b: POP 00003c8c: JUMP 00003c8d: JUMPDEST 00003c8e: PUSH1 0x00 00003c90: DUP3 00003c91: DUP3 00003c92: MSTORE 00003c93: PUSH1 0x20 00003c95: DUP3 00003c96: ADD 00003c97: SWAP1 00003c98: POP 00003c99: SWAP3 00003c9a: SWAP2 00003c9b: POP 00003c9c: POP 00003c9d: JUMP 00003c9e: JUMPDEST 00003c9f: PUSH1 0x00 00003ca1: DUP2 00003ca2: SWAP1 00003ca3: POP 00003ca4: SWAP3 00003ca5: SWAP2 00003ca6: POP 00003ca7: POP 00003ca8: JUMP 00003ca9: JUMPDEST 00003caa: PUSH1 0x00 00003cac: DUP3 00003cad: DUP3 00003cae: MSTORE 00003caf: PUSH1 0x20 00003cb1: DUP3 00003cb2: ADD 00003cb3: SWAP1 00003cb4: POP 00003cb5: SWAP3 00003cb6: SWAP2 00003cb7: POP 00003cb8: POP 00003cb9: JUMP 00003cba: JUMPDEST 00003cbb: PUSH1 0x00 00003cbd: PUSH2 0x3cc5 00003cc0: DUP3 00003cc1: PUSH2 0x3e4b 00003cc4: JUMP 00003cc5: JUMPDEST 00003cc6: SWAP2 00003cc7: POP 00003cc8: PUSH2 0x3cd0 00003ccb: DUP4 00003ccc: PUSH2 0x3e4b 00003ccf: JUMP 00003cd0: JUMPDEST 00003cd1: SWAP3 00003cd2: POP 00003cd3: DUP3 00003cd4: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003cf5: SUB 00003cf6: DUP3 00003cf7: GT 00003cf8: ISZERO 00003cf9: PUSH2 0x3d05 00003cfc: JUMPI 00003cfd: PUSH2 0x3d04 00003d00: PUSH2 0x3f74 00003d03: JUMP 00003d04: JUMPDEST 00003d05: JUMPDEST 00003d06: DUP3 00003d07: DUP3 00003d08: ADD 00003d09: SWAP1 00003d0a: POP 00003d0b: SWAP3 00003d0c: SWAP2 00003d0d: POP 00003d0e: POP 00003d0f: JUMP 00003d10: JUMPDEST 00003d11: PUSH1 0x00 00003d13: PUSH2 0x3d1b 00003d16: DUP3 00003d17: PUSH2 0x3e4b 00003d1a: JUMP 00003d1b: JUMPDEST 00003d1c: SWAP2 00003d1d: POP 00003d1e: PUSH2 0x3d26 00003d21: DUP4 00003d22: PUSH2 0x3e4b 00003d25: JUMP 00003d26: JUMPDEST 00003d27: SWAP3 00003d28: POP 00003d29: DUP3 00003d2a: PUSH2 0x3d36 00003d2d: JUMPI 00003d2e: PUSH2 0x3d35 00003d31: PUSH2 0x3fa3 00003d34: JUMP 00003d35: JUMPDEST 00003d36: JUMPDEST 00003d37: DUP3 00003d38: DUP3 00003d39: DIV 00003d3a: SWAP1 00003d3b: POP 00003d3c: SWAP3 00003d3d: SWAP2 00003d3e: POP 00003d3f: POP 00003d40: JUMP 00003d41: JUMPDEST 00003d42: PUSH1 0x00 00003d44: PUSH2 0x3d4c 00003d47: DUP3 00003d48: PUSH2 0x3e4b 00003d4b: JUMP 00003d4c: JUMPDEST 00003d4d: SWAP2 00003d4e: POP 00003d4f: PUSH2 0x3d57 00003d52: DUP4 00003d53: PUSH2 0x3e4b 00003d56: JUMP 00003d57: JUMPDEST 00003d58: SWAP3 00003d59: POP 00003d5a: DUP2 00003d5b: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003d7c: DIV 00003d7d: DUP4 00003d7e: GT 00003d7f: DUP3 00003d80: ISZERO 00003d81: ISZERO 00003d82: AND 00003d83: ISZERO 00003d84: PUSH2 0x3d90 00003d87: JUMPI 00003d88: PUSH2 0x3d8f 00003d8b: PUSH2 0x3f74 00003d8e: JUMP 00003d8f: JUMPDEST 00003d90: JUMPDEST 00003d91: DUP3 00003d92: DUP3 00003d93: MUL 00003d94: SWAP1 00003d95: POP 00003d96: SWAP3 00003d97: SWAP2 00003d98: POP 00003d99: POP 00003d9a: JUMP 00003d9b: JUMPDEST 00003d9c: PUSH1 0x00 00003d9e: PUSH2 0x3da6 00003da1: DUP3 00003da2: PUSH2 0x3e4b 00003da5: JUMP 00003da6: JUMPDEST 00003da7: SWAP2 00003da8: POP 00003da9: PUSH2 0x3db1 00003dac: DUP4 00003dad: PUSH2 0x3e4b 00003db0: JUMP 00003db1: JUMPDEST 00003db2: SWAP3 00003db3: POP 00003db4: DUP3 00003db5: DUP3 00003db6: LT 00003db7: ISZERO 00003db8: PUSH2 0x3dc4 00003dbb: JUMPI 00003dbc: PUSH2 0x3dc3 00003dbf: PUSH2 0x3f74 00003dc2: JUMP 00003dc3: JUMPDEST 00003dc4: JUMPDEST 00003dc5: DUP3 00003dc6: DUP3 00003dc7: SUB 00003dc8: SWAP1 00003dc9: POP 00003dca: SWAP3 00003dcb: SWAP2 00003dcc: POP 00003dcd: POP 00003dce: JUMP 00003dcf: JUMPDEST 00003dd0: PUSH1 0x00 00003dd2: PUSH2 0x3dda 00003dd5: DUP3 00003dd6: PUSH2 0x3e2b 00003dd9: JUMP 00003dda: JUMPDEST 00003ddb: SWAP1 00003ddc: POP 00003ddd: SWAP2 00003dde: SWAP1 00003ddf: POP 00003de0: JUMP 00003de1: JUMPDEST 00003de2: PUSH1 0x00 00003de4: PUSH2 0x3dec 00003de7: DUP3 00003de8: PUSH2 0x3e2b 00003deb: JUMP 00003dec: JUMPDEST 00003ded: SWAP1 00003dee: POP 00003def: SWAP2 00003df0: SWAP1 00003df1: POP 00003df2: JUMP 00003df3: JUMPDEST 00003df4: PUSH1 0x00 00003df6: DUP2 00003df7: ISZERO 00003df8: ISZERO 00003df9: SWAP1 00003dfa: POP 00003dfb: SWAP2 00003dfc: SWAP1 00003dfd: POP 00003dfe: JUMP 00003dff: JUMPDEST 00003e00: PUSH1 0x00 00003e02: PUSH32 0xffffffff00000000000000000000000000000000000000000000000000000000 00003e23: DUP3 00003e24: AND 00003e25: SWAP1 00003e26: POP 00003e27: SWAP2 00003e28: SWAP1 00003e29: POP 00003e2a: JUMP 00003e2b: JUMPDEST 00003e2c: PUSH1 0x00 00003e2e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00003e43: DUP3 00003e44: AND 00003e45: SWAP1 00003e46: POP 00003e47: SWAP2 00003e48: SWAP1 00003e49: POP 00003e4a: JUMP 00003e4b: JUMPDEST 00003e4c: PUSH1 0x00 00003e4e: DUP2 00003e4f: SWAP1 00003e50: POP 00003e51: SWAP2 00003e52: SWAP1 00003e53: POP 00003e54: JUMP 00003e55: JUMPDEST 00003e56: DUP3 00003e57: DUP2 00003e58: DUP4 00003e59: CALLDATACOPY 00003e5a: PUSH1 0x00 00003e5c: DUP4 00003e5d: DUP4 00003e5e: ADD 00003e5f: MSTORE 00003e60: POP 00003e61: POP 00003e62: POP 00003e63: JUMP 00003e64: JUMPDEST 00003e65: PUSH1 0x00 00003e67: JUMPDEST 00003e68: DUP4 00003e69: DUP2 00003e6a: LT 00003e6b: ISZERO 00003e6c: PUSH2 0x3e82 00003e6f: JUMPI 00003e70: DUP1 00003e71: DUP3 00003e72: ADD 00003e73: MLOAD 00003e74: DUP2 00003e75: DUP5 00003e76: ADD 00003e77: MSTORE 00003e78: PUSH1 0x20 00003e7a: DUP2 00003e7b: ADD 00003e7c: SWAP1 00003e7d: POP 00003e7e: PUSH2 0x3e67 00003e81: JUMP 00003e82: JUMPDEST 00003e83: DUP4 00003e84: DUP2 00003e85: GT 00003e86: ISZERO 00003e87: PUSH2 0x3e91 00003e8a: JUMPI 00003e8b: PUSH1 0x00 00003e8d: DUP5 00003e8e: DUP5 00003e8f: ADD 00003e90: MSTORE 00003e91: JUMPDEST 00003e92: POP 00003e93: POP 00003e94: POP 00003e95: POP 00003e96: JUMP 00003e97: JUMPDEST 00003e98: PUSH1 0x00 00003e9a: PUSH1 0x02 00003e9c: DUP3 00003e9d: DIV 00003e9e: SWAP1 00003e9f: POP 00003ea0: PUSH1 0x01 00003ea2: DUP3 00003ea3: AND 00003ea4: DUP1 00003ea5: PUSH2 0x3eaf 00003ea8: JUMPI 00003ea9: PUSH1 0x7f 00003eab: DUP3 00003eac: AND 00003ead: SWAP2 00003eae: POP 00003eaf: JUMPDEST 00003eb0: PUSH1 0x20 00003eb2: DUP3 00003eb3: LT 00003eb4: DUP2 00003eb5: EQ 00003eb6: ISZERO 00003eb7: PUSH2 0x3ec3 00003eba: JUMPI 00003ebb: PUSH2 0x3ec2 00003ebe: PUSH2 0x3fd2 00003ec1: JUMP 00003ec2: JUMPDEST 00003ec3: JUMPDEST 00003ec4: POP 00003ec5: SWAP2 00003ec6: SWAP1 00003ec7: POP 00003ec8: JUMP 00003ec9: JUMPDEST 00003eca: PUSH2 0x3ed2 00003ecd: DUP3 00003ece: PUSH2 0x4052 00003ed1: JUMP 00003ed2: JUMPDEST 00003ed3: DUP2 00003ed4: ADD 00003ed5: DUP2 00003ed6: DUP2 00003ed7: LT 00003ed8: PUSH8 0xffffffffffffffff 00003ee1: DUP3 00003ee2: GT 00003ee3: OR 00003ee4: ISZERO 00003ee5: PUSH2 0x3ef1 00003ee8: JUMPI 00003ee9: PUSH2 0x3ef0 00003eec: PUSH2 0x4001 00003eef: JUMP 00003ef0: JUMPDEST 00003ef1: JUMPDEST 00003ef2: DUP1 00003ef3: PUSH1 0x40 00003ef5: MSTORE 00003ef6: POP 00003ef7: POP 00003ef8: POP 00003ef9: JUMP 00003efa: JUMPDEST 00003efb: PUSH1 0x00 00003efd: PUSH2 0x3f05 00003f00: DUP3 00003f01: PUSH2 0x3e4b 00003f04: JUMP 00003f05: JUMPDEST 00003f06: SWAP2 00003f07: POP 00003f08: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00003f29: DUP3 00003f2a: EQ 00003f2b: ISZERO 00003f2c: PUSH2 0x3f38 00003f2f: JUMPI 00003f30: PUSH2 0x3f37 00003f33: PUSH2 0x3f74 00003f36: JUMP 00003f37: JUMPDEST 00003f38: JUMPDEST 00003f39: PUSH1 0x01 00003f3b: DUP3 00003f3c: ADD 00003f3d: SWAP1 00003f3e: POP 00003f3f: SWAP2 00003f40: SWAP1 00003f41: POP 00003f42: JUMP 00003f43: JUMPDEST 00003f44: PUSH1 0x00 00003f46: PUSH2 0x3f4e 00003f49: DUP3 00003f4a: PUSH2 0x3e4b 00003f4d: JUMP 00003f4e: JUMPDEST 00003f4f: SWAP2 00003f50: POP 00003f51: PUSH2 0x3f59 00003f54: DUP4 00003f55: PUSH2 0x3e4b 00003f58: JUMP 00003f59: JUMPDEST 00003f5a: SWAP3 00003f5b: POP 00003f5c: DUP3 00003f5d: PUSH2 0x3f69 00003f60: JUMPI 00003f61: PUSH2 0x3f68 00003f64: PUSH2 0x3fa3 00003f67: JUMP 00003f68: JUMPDEST 00003f69: JUMPDEST 00003f6a: DUP3 00003f6b: DUP3 00003f6c: MOD 00003f6d: SWAP1 00003f6e: POP 00003f6f: SWAP3 00003f70: SWAP2 00003f71: POP 00003f72: POP 00003f73: JUMP 00003f74: JUMPDEST 00003f75: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003f96: PUSH1 0x00 00003f98: MSTORE 00003f99: PUSH1 0x11 00003f9b: PUSH1 0x04 00003f9d: MSTORE 00003f9e: PUSH1 0x24 00003fa0: PUSH1 0x00 00003fa2: REVERT 00003fa3: JUMPDEST 00003fa4: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003fc5: PUSH1 0x00 00003fc7: MSTORE 00003fc8: PUSH1 0x12 00003fca: PUSH1 0x04 00003fcc: MSTORE 00003fcd: PUSH1 0x24 00003fcf: PUSH1 0x00 00003fd1: REVERT 00003fd2: JUMPDEST 00003fd3: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00003ff4: PUSH1 0x00 00003ff6: MSTORE 00003ff7: PUSH1 0x22 00003ff9: PUSH1 0x04 00003ffb: MSTORE 00003ffc: PUSH1 0x24 00003ffe: PUSH1 0x00 00004000: REVERT 00004001: JUMPDEST 00004002: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004023: PUSH1 0x00 00004025: MSTORE 00004026: PUSH1 0x41 00004028: PUSH1 0x04 0000402a: MSTORE 0000402b: PUSH1 0x24 0000402d: PUSH1 0x00 0000402f: REVERT 00004030: JUMPDEST 00004031: PUSH1 0x00 00004033: PUSH1 0x03 00004035: RETURNDATASIZE 00004036: GT 00004037: ISZERO 00004038: PUSH2 0x404f 0000403b: JUMPI 0000403c: PUSH1 0x04 0000403e: PUSH1 0x00 00004040: DUP1 00004041: RETURNDATACOPY 00004042: PUSH2 0x404c 00004045: PUSH1 0x00 00004047: MLOAD 00004048: PUSH2 0x4063 0000404b: JUMP 0000404c: JUMPDEST 0000404d: SWAP1 0000404e: POP 0000404f: JUMPDEST 00004050: SWAP1 00004051: JUMP 00004052: JUMPDEST 00004053: PUSH1 0x00 00004055: PUSH1 0x1f 00004057: NOT 00004058: PUSH1 0x1f 0000405a: DUP4 0000405b: ADD 0000405c: AND 0000405d: SWAP1 0000405e: POP 0000405f: SWAP2 00004060: SWAP1 00004061: POP 00004062: JUMP 00004063: JUMPDEST 00004064: PUSH1 0x00 00004066: DUP2 00004067: PUSH1 0xe0 00004069: SHR 0000406a: SWAP1 0000406b: POP 0000406c: SWAP2 0000406d: SWAP1 0000406e: POP 0000406f: JUMP 00004070: JUMPDEST 00004071: PUSH32 0x455243313135353a207472616e7366657220746f206e6f6e2045524331313535 00004092: PUSH1 0x00 00004094: DUP3 00004095: ADD 00004096: MSTORE 00004097: PUSH32 0x526563656976657220696d706c656d656e746572000000000000000000000000 000040b8: PUSH1 0x20 000040ba: DUP3 000040bb: ADD 000040bc: MSTORE 000040bd: POP 000040be: JUMP 000040bf: JUMPDEST 000040c0: PUSH32 0x455243313135353a204552433131353552656365697665722072656a65637465 000040e1: PUSH1 0x00 000040e3: DUP3 000040e4: ADD 000040e5: MSTORE 000040e6: PUSH32 0x6420746f6b656e73000000000000000000000000000000000000000000000000 00004107: PUSH1 0x20 00004109: DUP3 0000410a: ADD 0000410b: MSTORE 0000410c: POP 0000410d: JUMP 0000410e: JUMPDEST 0000410f: PUSH32 0x455243313135353a2062616c616e636520717565727920666f7220746865207a 00004130: PUSH1 0x00 00004132: DUP3 00004133: ADD 00004134: MSTORE 00004135: PUSH32 0x65726f2061646472657373000000000000000000000000000000000000000000 00004156: PUSH1 0x20 00004158: DUP3 00004159: ADD 0000415a: MSTORE 0000415b: POP 0000415c: JUMP 0000415d: JUMPDEST 0000415e: PUSH32 0x455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f72 0000417f: PUSH1 0x00 00004181: DUP3 00004182: ADD 00004183: MSTORE 00004184: PUSH32 0x20617070726f7665640000000000000000000000000000000000000000000000 000041a5: PUSH1 0x20 000041a7: DUP3 000041a8: ADD 000041a9: MSTORE 000041aa: POP 000041ab: JUMP 000041ac: JUMPDEST 000041ad: PUSH32 0x596f75206e65656420746f2073656e642074776963652074686520616d6f756e 000041ce: PUSH1 0x00 000041d0: DUP3 000041d1: ADD 000041d2: MSTORE 000041d3: PUSH32 0x74206f662070726576696f757320707269636500000000000000000000000000 000041f4: PUSH1 0x20 000041f6: DUP3 000041f7: ADD 000041f8: MSTORE 000041f9: POP 000041fa: JUMP 000041fb: JUMPDEST 000041fc: PUSH32 0x416464726573733a20756e61626c6520746f2073656e642076616c75652c2072 0000421d: PUSH1 0x00 0000421f: DUP3 00004220: ADD 00004221: MSTORE 00004222: PUSH32 0x6563697069656e74206d61792068617665207265766572746564000000000000 00004243: PUSH1 0x20 00004245: DUP3 00004246: ADD 00004247: MSTORE 00004248: POP 00004249: JUMP 0000424a: JUMPDEST 0000424b: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e6365000000 0000426c: PUSH1 0x00 0000426e: DUP3 0000426f: ADD 00004270: MSTORE 00004271: POP 00004272: JUMP 00004273: JUMPDEST 00004274: PUSH32 0x416464726573733a20696e73756666696369656e742062616c616e636520666f 00004295: PUSH1 0x00 00004297: DUP3 00004298: ADD 00004299: MSTORE 0000429a: PUSH32 0x722063616c6c0000000000000000000000000000000000000000000000000000 000042bb: PUSH1 0x20 000042bd: DUP3 000042be: ADD 000042bf: MSTORE 000042c0: POP 000042c1: JUMP 000042c2: JUMPDEST 000042c3: PUSH32 0x455243313135353a207472616e7366657220746f20746865207a65726f206164 000042e4: PUSH1 0x00 000042e6: DUP3 000042e7: ADD 000042e8: MSTORE 000042e9: PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000 0000430a: PUSH1 0x20 0000430c: DUP3 0000430d: ADD 0000430e: MSTORE 0000430f: POP 00004310: JUMP 00004311: JUMPDEST 00004312: PUSH32 0x455243313135353a207472616e736665722063616c6c6572206973206e6f7420 00004333: PUSH1 0x00 00004335: DUP3 00004336: ADD 00004337: MSTORE 00004338: PUSH32 0x6f776e6572206e6f7220617070726f7665640000000000000000000000000000 00004359: PUSH1 0x20 0000435b: DUP3 0000435c: ADD 0000435d: MSTORE 0000435e: POP 0000435f: JUMP 00004360: JUMPDEST 00004361: PUSH32 0x4d61782062757973206d7573742062652061626f7665207a65726f20616e6420 00004382: PUSH1 0x00 00004384: DUP3 00004385: ADD 00004386: MSTORE 00004387: PUSH32 0x62656c6f7720746f74616c20737570706c790000000000000000000000000000 000043a8: PUSH1 0x20 000043aa: DUP3 000043ab: ADD 000043ac: MSTORE 000043ad: POP 000043ae: JUMP 000043af: JUMPDEST 000043b0: PUSH32 0x455243313135353a20696e73756666696369656e742062616c616e636520666f 000043d1: PUSH1 0x00 000043d3: DUP3 000043d4: ADD 000043d5: MSTORE 000043d6: PUSH32 0x72207472616e7366657200000000000000000000000000000000000000000000 000043f7: PUSH1 0x20 000043f9: DUP3 000043fa: ADD 000043fb: MSTORE 000043fc: POP 000043fd: JUMP 000043fe: JUMPDEST 000043ff: PUSH32 0x547279696e6720746f20627579206d6f7265207468616e20616c6c6f77656420 00004420: PUSH1 0x00 00004422: DUP3 00004423: ADD 00004424: MSTORE 00004425: PUSH32 0x616d6f756e740000000000000000000000000000000000000000000000000000 00004446: PUSH1 0x20 00004448: DUP3 00004449: ADD 0000444a: MSTORE 0000444b: POP 0000444c: JUMP 0000444d: JUMPDEST 0000444e: PUSH32 0x4f6e6c79207365727669636520616464726573732063616e2063616c6c207468 0000446f: PUSH1 0x00 00004471: DUP3 00004472: ADD 00004473: MSTORE 00004474: PUSH32 0x69732066756e6374696f6e2e0000000000000000000000000000000000000000 00004495: PUSH1 0x20 00004497: DUP3 00004498: ADD 00004499: MSTORE 0000449a: POP 0000449b: JUMP 0000449c: JUMPDEST 0000449d: PUSH32 0x5365727669636520616464726573732063616e2774206265207a65726f000000 000044be: PUSH1 0x00 000044c0: DUP3 000044c1: ADD 000044c2: MSTORE 000044c3: POP 000044c4: JUMP 000044c5: JUMPDEST 000044c6: POP 000044c7: JUMP 000044c8: JUMPDEST 000044c9: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000 000044ea: PUSH1 0x00 000044ec: DUP3 000044ed: ADD 000044ee: MSTORE 000044ef: POP 000044f0: JUMP 000044f1: JUMPDEST 000044f2: PUSH32 0x455243313135353a2073657474696e6720617070726f76616c20737461747573 00004513: PUSH1 0x00 00004515: DUP3 00004516: ADD 00004517: MSTORE 00004518: PUSH32 0x20666f722073656c660000000000000000000000000000000000000000000000 00004539: PUSH1 0x20 0000453b: DUP3 0000453c: ADD 0000453d: MSTORE 0000453e: POP 0000453f: JUMP 00004540: JUMPDEST 00004541: PUSH32 0x5361666545524332303a204552433230206f7065726174696f6e20646964206e 00004562: PUSH1 0x00 00004564: DUP3 00004565: ADD 00004566: MSTORE 00004567: PUSH32 0x6f74207375636365656400000000000000000000000000000000000000000000 00004588: PUSH1 0x20 0000458a: DUP3 0000458b: ADD 0000458c: MSTORE 0000458d: POP 0000458e: JUMP 0000458f: JUMPDEST 00004590: PUSH32 0x455243313135353a206163636f756e747320616e6420696473206c656e677468 000045b1: PUSH1 0x00 000045b3: DUP3 000045b4: ADD 000045b5: MSTORE 000045b6: PUSH32 0x206d69736d617463680000000000000000000000000000000000000000000000 000045d7: PUSH1 0x20 000045d9: DUP3 000045da: ADD 000045db: MSTORE 000045dc: POP 000045dd: JUMP 000045de: JUMPDEST 000045df: PUSH32 0x455243313135353a2069647320616e6420616d6f756e7473206c656e67746820 00004600: PUSH1 0x00 00004602: DUP3 00004603: ADD 00004604: MSTORE 00004605: PUSH32 0x6d69736d61746368000000000000000000000000000000000000000000000000 00004626: PUSH1 0x20 00004628: DUP3 00004629: ADD 0000462a: MSTORE 0000462b: POP 0000462c: JUMP 0000462d: JUMPDEST 0000462e: PUSH32 0x455243313135353a206d696e7420746f20746865207a65726f20616464726573 0000464f: PUSH1 0x00 00004651: DUP3 00004652: ADD 00004653: MSTORE 00004654: PUSH32 0x7300000000000000000000000000000000000000000000000000000000000000 00004675: PUSH1 0x20 00004677: DUP3 00004678: ADD 00004679: MSTORE 0000467a: POP 0000467b: JUMP 0000467c: JUMPDEST 0000467d: PUSH32 0x5265656e7472616e637947756172643a207265656e7472616e742063616c6c00 0000469e: PUSH1 0x00 000046a0: DUP3 000046a1: ADD 000046a2: MSTORE 000046a3: POP 000046a4: JUMP 000046a5: JUMPDEST 000046a6: PUSH1 0x00 000046a8: PUSH1 0x44 000046aa: RETURNDATASIZE 000046ab: LT 000046ac: ISZERO 000046ad: PUSH2 0x46b5 000046b0: JUMPI 000046b1: PUSH2 0x4738 000046b4: JUMP 000046b5: JUMPDEST 000046b6: PUSH2 0x46bd 000046b9: PUSH2 0x3bab 000046bc: JUMP 000046bd: JUMPDEST 000046be: PUSH1 0x04 000046c0: RETURNDATASIZE 000046c1: SUB 000046c2: PUSH1 0x04 000046c4: DUP3 000046c5: RETURNDATACOPY 000046c6: DUP1 000046c7: MLOAD 000046c8: RETURNDATASIZE 000046c9: PUSH1 0x24 000046cb: DUP3 000046cc: ADD 000046cd: GT 000046ce: PUSH8 0xffffffffffffffff 000046d7: DUP3 000046d8: GT 000046d9: OR 000046da: ISZERO 000046db: PUSH2 0x46e5 000046de: JUMPI 000046df: POP 000046e0: POP 000046e1: PUSH2 0x4738 000046e4: JUMP 000046e5: JUMPDEST 000046e6: DUP1 000046e7: DUP3 000046e8: ADD 000046e9: DUP1 000046ea: MLOAD 000046eb: PUSH8 0xffffffffffffffff 000046f4: DUP2 000046f5: GT 000046f6: ISZERO 000046f7: PUSH2 0x4703 000046fa: JUMPI 000046fb: POP 000046fc: POP 000046fd: POP 000046fe: POP 000046ff: PUSH2 0x4738 00004702: JUMP 00004703: JUMPDEST 00004704: DUP1 00004705: PUSH1 0x20 00004707: DUP4 00004708: ADD 00004709: ADD 0000470a: PUSH1 0x04 0000470c: RETURNDATASIZE 0000470d: SUB 0000470e: DUP6 0000470f: ADD 00004710: DUP2 00004711: GT 00004712: ISZERO 00004713: PUSH2 0x4720 00004716: JUMPI 00004717: POP 00004718: POP 00004719: POP 0000471a: POP 0000471b: POP 0000471c: PUSH2 0x4738 0000471f: JUMP 00004720: JUMPDEST 00004721: PUSH2 0x472f 00004724: DUP3 00004725: PUSH1 0x20 00004727: ADD 00004728: DUP6 00004729: ADD 0000472a: DUP7 0000472b: PUSH2 0x3ec9 0000472e: JUMP 0000472f: JUMPDEST 00004730: DUP3 00004731: SWAP6 00004732: POP 00004733: POP 00004734: POP 00004735: POP 00004736: POP 00004737: POP 00004738: JUMPDEST 00004739: SWAP1 0000473a: JUMP 0000473b: JUMPDEST 0000473c: PUSH2 0x4744 0000473f: DUP2 00004740: PUSH2 0x3dcf 00004743: JUMP 00004744: JUMPDEST 00004745: DUP2 00004746: EQ 00004747: PUSH2 0x474f 0000474a: JUMPI 0000474b: PUSH1 0x00 0000474d: DUP1 0000474e: REVERT 0000474f: JUMPDEST 00004750: POP 00004751: JUMP 00004752: JUMPDEST 00004753: PUSH2 0x475b 00004756: DUP2 00004757: PUSH2 0x3de1 0000475a: JUMP 0000475b: JUMPDEST 0000475c: DUP2 0000475d: EQ 0000475e: PUSH2 0x4766 00004761: JUMPI 00004762: PUSH1 0x00 00004764: DUP1 00004765: REVERT 00004766: JUMPDEST 00004767: POP 00004768: JUMP 00004769: JUMPDEST 0000476a: PUSH2 0x4772 0000476d: DUP2 0000476e: PUSH2 0x3df3 00004771: JUMP 00004772: JUMPDEST 00004773: DUP2 00004774: EQ 00004775: PUSH2 0x477d 00004778: JUMPI 00004779: PUSH1 0x00 0000477b: DUP1 0000477c: REVERT 0000477d: JUMPDEST 0000477e: POP 0000477f: JUMP 00004780: JUMPDEST 00004781: PUSH2 0x4789 00004784: DUP2 00004785: PUSH2 0x3dff 00004788: JUMP 00004789: JUMPDEST 0000478a: DUP2 0000478b: EQ 0000478c: PUSH2 0x4794 0000478f: JUMPI 00004790: PUSH1 0x00 00004792: DUP1 00004793: REVERT 00004794: JUMPDEST 00004795: POP 00004796: JUMP 00004797: JUMPDEST 00004798: PUSH2 0x47a0 0000479b: DUP2 0000479c: PUSH2 0x3e4b 0000479f: JUMP 000047a0: JUMPDEST 000047a1: DUP2 000047a2: EQ 000047a3: PUSH2 0x47ab 000047a6: JUMPI 000047a7: PUSH1 0x00 000047a9: DUP1 000047aa: REVERT 000047ab: JUMPDEST 000047ac: POP 000047ad: JUMP 000047ae: INVALID 000047af: LOG2 000047b0: PUSH5 0x6970667358 000047b6: UNKNOWN(0x22) 000047b7: SLT 000047b8: KECCAK256 000047b9: UNKNOWN(0xEA) 000047ba: UNKNOWN(0xCF) 000047bb: DUP4 000047bc: UNKNOWN(0x28) 000047bd: UNKNOWN(0x4E) 000047be: MULMOD 000047bf: SELFDESTRUCT 000047c0: SIGNEXTEND 000047c1: SWAP5 000047c2: UNKNOWN(0xD2) 000047c3: PUSH0 000047c4: UNKNOWN(0xA6) 000047c5: CHAINID 000047c6: TLOAD 000047c7: UNKNOWN(0xB1) 000047c8: SELFBALANCE 000047c9: UNKNOWN(0xDB) 000047ca: GASLIMIT 000047cb: SWAP15 000047cc: UNKNOWN(0xEC) 000047cd: UNKNOWN(0xF6) 000047ce: UNKNOWN(0xAE) 000047cf: PUSH31
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | cast | SELFDESTRUCT present | 85 | no | — |
viewevidence_json{
"notes": "selfdestruct can remove contract code and send funds; review reachability",
"selfdestruct_count": 1
}
|
| medium | other | detector | Untrusted CALL target/value reachable | 45 | no | no |
viewtrace_id: 0x2881279f4e0439c18d41a13aa9b3384f0c6950f8a7c06af6ef7e9273fefc91b6
call_targets:
0x19d683cea643a8e5f2384bd48716b5399baa3616
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x2881279f4e0439c18d41a13aa9b3384f0c6950f8a7c06af6ef7e9273fefc91b6",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x19d683cea643a8e5f2384bd48716b5399baa3616"
],
"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": "0xeec12f97",
"selector": "0xeec12f97",
"calldata_variants": [
"0xeec12f97",
"0xeec12f970000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeed007cd",
"selector": "0xeed007cd",
"calldata_variants": [
"0xeed007cd",
"0xeed007cd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf242432a",
"selector": "0xf242432a",
"calldata_variants": [
"0xf242432a",
"0xf242432a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2aa8218",
"selector": "0xf2aa8218",
"calldata_variants": [
"0xf2aa8218",
"0xf2aa82180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbd85b039",
"selector": "0xbd85b039",
"calldata_variants": [
"0xbd85b039",
"0xbd85b0390000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd72d79d9",
"selector": "0xd72d79d9",
"calldata_variants": [
"0xd72d79d9",
"0xd72d79d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x89a89002",
"selector": "0x89a89002",
"calldata_variants": [
"0x89a89002",
"0x89a890020000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5347,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6695,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 9845,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 5,
"guards_detected": [
{
"pc": 2388,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2938,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3181,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5522,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"untrusted_call_count": 5
}
|
| medium | other | detector | SELFDESTRUCT reachable | 45 | no | no |
viewtrace_id: 0x14697de99064f87afd4ec4f82c83f1c62db17633bdf44a7daa3ed171cfe06c16
validation_json{
"sink": "SELFDESTRUCT",
"errors": 0,
"status": "unknown",
"attempts": 32,
"trace_id": "0x14697de99064f87afd4ec4f82c83f1c62db17633bdf44a7daa3ed171cfe06c16",
"confirmed": false,
"trace_mode": "structLogs",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xeec12f97",
"selector": "0xeec12f97",
"calldata_variants": [
"0xeec12f97",
"0xeec12f970000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeed007cd",
"selector": "0xeed007cd",
"calldata_variants": [
"0xeed007cd",
"0xeed007cd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf242432a",
"selector": "0xf242432a",
"calldata_variants": [
"0xf242432a",
"0xf242432a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2aa8218",
"selector": "0xf2aa8218",
"calldata_variants": [
"0xf2aa8218",
"0xf2aa82180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbd85b039",
"selector": "0xbd85b039",
"calldata_variants": [
"0xbd85b039",
"0xbd85b0390000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd72d79d9",
"selector": "0xd72d79d9",
"calldata_variants": [
"0xd72d79d9",
"0xd72d79d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x89a89002",
"selector": "0x89a89002",
"calldata_variants": [
"0x89a89002",
"0x89a890020000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"guards_detected": [
{
"pc": 2388,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2938,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3181,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5522,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"selfdestruct_count": 1
}
|
| medium | other | codex | Potentially reachable SELFDESTRUCT kill-switch | 75 | no | — |
viewevidence_json{
"evidence": "Detector flagged SELFDESTRUCT reachable (confidence 45) with selfdestruct_count=1; a basic block contains SELFDESTRUCT in the opcode stream, but validation status is unknown.",
"locations": [
"pc:18351"
],
"recommendation": "Remove SELFDESTRUCT from production deployments or gate it behind strict, auditable access control (e.g., immutable admin + timelock) and add explicit event logging for any destruction path.",
"exploit_scenario": "If an externally reachable path can jump into the SELFDESTRUCT opcode (e.g., via a privileged or insufficiently guarded function), a caller could permanently destroy the contract and redirect any remaining ETH to a beneficiary address. Because this is bytecode-only and validation was inconclusive, the reachability is uncertain."
}
|
| medium | other | detector | ETH value transfer possible | 40 | no | no |
viewtrace_id: 0x2881279f4e0439c18d41a13aa9b3384f0c6950f8a7c06af6ef7e9273fefc91b6
call_targets:
0x19d683cea643a8e5f2384bd48716b5399baa3616
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x2881279f4e0439c18d41a13aa9b3384f0c6950f8a7c06af6ef7e9273fefc91b6",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x19d683cea643a8e5f2384bd48716b5399baa3616"
],
"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": "0xeec12f97",
"selector": "0xeec12f97",
"calldata_variants": [
"0xeec12f97",
"0xeec12f970000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xeed007cd",
"selector": "0xeed007cd",
"calldata_variants": [
"0xeed007cd",
"0xeed007cd0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf242432a",
"selector": "0xf242432a",
"calldata_variants": [
"0xf242432a",
"0xf242432a0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf2aa8218",
"selector": "0xf2aa8218",
"calldata_variants": [
"0xf2aa8218",
"0xf2aa82180000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xbd85b039",
"selector": "0xbd85b039",
"calldata_variants": [
"0xbd85b039",
"0xbd85b0390000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd72d79d9",
"selector": "0xd72d79d9",
"calldata_variants": [
"0xd72d79d9",
"0xd72d79d90000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xe985e9c5",
"selector": "0xe985e9c5",
"calldata_variants": [
"0xe985e9c5",
"0xe985e9c50000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x89a89002",
"selector": "0x89a89002",
"calldata_variants": [
"0x89a89002",
"0x89a890020000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 5347,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 6695,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 9845,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 5,
"guards_detected": [
{
"pc": 2388,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 2938,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 3181,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
},
{
"pc": 5522,
"type": "msg_sender_eq_const",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
]
}
|
| low | other | codex | CALL sites with computed target/value; untrusted external call/ETH transfer not ruled out | 65 | no | — |
viewevidence_json{
"evidence": "Detector reports CALL targets/values are computed and returndata checks are unknown; callsites at pc 5347, 6695, 9845, 10332, 11107. Validation shows constant target to the contract address in one trace, so risk is uncertain.",
"locations": [
"pc:5347",
"pc:6695",
"pc:9845",
"pc:10332",
"pc:11107"
],
"recommendation": "Ensure CALL targets are trusted/whitelisted, restrict or zero ETH value unless intended, and enforce success checks plus reentrancy protections around state updates.",
"exploit_scenario": "If any of these CALLs use user-influenced target/value and are reachable without strict access control, an attacker could trigger arbitrary external calls, potentially enabling reentrancy or unintended ETH transfers. Validation suggests constant targets in one trace, so untrusted targets are not confirmed for all paths."
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 5
}
|