019c0ea9-0984-7238-bcd4-f122b4ccad2e
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 |
|---|---|---|---|---|
| 42096 | artifact.fetch | complete | 1 / 3 | 2 months ago |
| 42097 | proxy.resolve | complete | 1 / 3 | 2 months ago |
| 42098 | tool.cast_disasm | complete | 1 / 3 | 2 months ago |
| 42099 | analysis.bundle | complete | 1 / 3 | 2 months ago |
| 42100 | capability.graph | complete | 1 / 3 | 2 months ago |
| 42101 | detector.run | complete | 1 / 3 | 2 months ago |
| 42102 | validation.fork | complete | 1 / 3 | 2 months ago |
| 42452 | report.consolidate | complete | 1 / 6 | 2 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Bytecode shows a call-heavy contract with multiple computed CALL targets/values and at least one control-flow path where external calls can occur before storage updates; proxy/delegatecall patterns are not detected.","findings":[{"severity":"medium","category":"other","title":"Computed CALL targets/values could enable arbitrary external calls/ETH forwarding (if user-controlled)","exploit_scenario":"If any public entrypoint lets the caller influence the CALL target or value, an attacker could use the contract as a generic call/ETH forwarding primitive to invoke arbitrary contracts or siphon ETH. The detector trace did not confirm variability (target may be constant/self), so this risk depends on how targets/values are sourced at runtime.","recommendation":"Restrict external call targets to a whitelist or owner-controlled configuration; validate call value and calldata; consider emitting events and/or using pull-based withdrawals. If this is intended router behavior, explicitly gate it with access control and document the trust assumptions.","evidence":"Detector reports 24 CALL sites with computed target/value and no guards detected; return-data checking is unknown. Validation trace did not confirm target variability (constant_target), so impact is uncertain.","locations":["pc:0x9ec","pc:0xa95","pc:0xc60","pc:0xdb0","pc:0xdeb"]},{"severity":"low","category":"reentrancy","title":"External calls can occur before storage updates along CFG path","exploit_scenario":"A control-flow path exists where a CALL is reachable before an SSTORE (e.g., callsites at pc 0x9ec/0xa95 reach an SSTORE at pc 0xae0). If the CALL target is an untrusted contract and state updates happen after the call, a reentrant callback could re-enter before state is finalized.","recommendation":"Apply checks-effects-interactions ordering; update critical state before external calls; or add a reentrancy guard. Confirm whether the call targets are trusted/self to scope the risk.","evidence":"CFG indicates a path from basic blocks containing CALL at pc 0x9ec/0xa95 to a storage write block at pc 0xae0. No guard was detected by the heuristic auth analysis.","locations":["pc:0x9ec","pc:0xa95","pc:0xae0"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-n8t3es3h
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019c0f82-efcc-7fd0-a8c9-10e9645854df
--------
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
exec
/bin/bash -lc ls in /tmp/codex-n8t3es3h succeeded in 7ms:
BYTECODE_BUNDLE.json
codex-output-schema.json
exec
/bin/bash -lc 'cat BYTECODE_BUNDLE.json' in /tmp/codex-n8t3es3h succeeded in 10ms:
{
"analysis_artifact": {
"address": "0x2c79e1a51e25fffff54c3becadbf1554841a8fc8",
"artifact_hash": "0xbc710be83dafefcd35b9767907ce96bc7afce9f32a640d998737975a8700c2ee",
"artifact_json": {
"auth": {
"guards": []
},
"basic_blocks": [
{
"end_pc": 12,
"hash": "0x15197bb2acdb6c15e0a4e410caa58df40c017197bd531df62fe765005fc0fb7d",
"opcodes": [
"PUSH1",
"PUSH1",
"MSTORE",
"PUSH1",
"CALLDATASIZE",
"LT",
"PUSH2",
exec
/bin/bash -lc 'rg -n "storage|evidence|callsite|proxy|delegatecall|upgrade|slot|admin" BYTECODE_BUNDLE.json | head -n 50' in /tmp/codex-n8t3es3h succeeded in 9ms:
11040: "callsites": [
14333: "delegatecall": 0,
14337: "storage": {
14339: "slots": [
14343: "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
14348: "slot": "0x000000000000000000000000000000000000000000000000000000000000000b"
14353: "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
14358: "slot": "0x0000000000000000000000000000000000000000000000000000000000000007"
14363: "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
14368: "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
14373: "slot": "0x000000000000000000000000000000000000000000000000000000000000000b"
14378: "slot": "0x0000000000000000000000000000000000000000000000000000000000000000"
14383: "slot": "0x000000000000000000000000000000000000000000000000000000000000000b"
14388: "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
14393: "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
14398: "slot": "0x0000000000000000000000000000000000000000000000000000000000000009"
14403: "slot": "0x0000000000000000000000000000000000000000000000000000000000000005"
14408: "slot": "0x0000000000000000000000000000000000000000000000000000000000000004"
14413: "slot": "0x0000000000000000000000000000000000000000000000000000000000000003"
14418: "slot": "0x0000000000000000000000000000000000000000000000000000000000000008"
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json','r') as f:
data=json.load(f)
print(data.keys())
print('analysis_artifact keys',data['analysis_artifact'].keys())
print('artifact_json keys',data['analysis_artifact']['artifact_json'].keys())
print('detector_findings',len(data.get('detector_findings',[])))
print('heuristics_summary',data.get('heuristics_summary'))
PY" in /tmp/codex-n8t3es3h succeeded in 40ms:
dict_keys(['analysis_artifact', 'analysis_run', 'artifact', 'capability_graph', 'detector_findings', 'heuristics_summary'])
analysis_artifact keys dict_keys(['address', 'artifact_hash', 'artifact_json', 'block_number', 'chain_id', 'codehash', 'created_at', 'id', 'updated_at', 'version'])
artifact_json keys dict_keys(['auth', 'basic_blocks', 'callsites', 'cfg_edges', 'cfg_hash', 'dispatcher_type', 'function_entries', 'functions', 'selectors', 'sinks', 'storage', 'version'])
detector_findings 2
heuristics_summary {'create2_count': 0, 'delegatecall_count': 0, 'flags': ['heavy_ext_balance_usage', 'call_family_heavy'], 'selfdestruct_count': 0}
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json','r') as f:
data=json.load(f)
print('analysis_run keys',data['analysis_run'].keys())
print('artifact keys',data['artifact'].keys())
print('capability_graph keys',data['capability_graph'].keys())
PY" in /tmp/codex-n8t3es3h succeeded in 79ms:
analysis_run keys dict_keys(['address', 'block_number', 'chain_id', 'child_links', 'created_at', 'id', 'parent_links', 'status', 'updated_at'])
artifact keys dict_keys(['codehash', 'compiler_json', 'implementation_address', 'is_proxy', 'runtime_bytecode', 'verified_source'])
capability_graph keys dict_keys(['address', 'block_number', 'chain_id', 'codehash', 'created_at', 'graph_hash', 'graph_json', 'id', 'updated_at', 'version'])
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
print('artifact:')
pp = pprint
pp(data['artifact'])
PY" in /tmp/codex-n8t3es3h succeeded in 59ms:
artifact:
{'codehash': '0x3dc042a2d247e6ae82fa9b8373ab82369ab2c97f2bbaed66813f1cbc8e8baa7b',
'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': '0x6080604052600436106101f5576000357c0100000000000000000000000000000000000000000000000000000000900480637a66a4dc1161011f578063c7e9ba8b116100b2578063ee07242611610081578063ee07242614610765578063f851a44014610798578063f8821efa146107ad578063fb0f97a814610839576101f5565b8063c7e9ba8b146105ef578063d77366a414610638578063dd53d6571461064d578063ed2cdeff14610750576101f5565b8063a888c2cd116100ee578063a888c2cd14610521578063aad3e5cc14610592578063aca85118146105a7578063b63c154d146105bc576101f5565b80637a66a4dc146104ac5780638a87b5c5146104e25780638da5cb5b146104f7578063989c8f5e1461050c576101f5565b80635f238402116101975780636dc7a627116101665780636dc7a627146103db578063704b6c02146103f0578063705c4bff14610423578063764f025d14610453576101f5565b80635f2384021461038757806360795d801461039c5780636621ebfb146103b15780636d2b5fd5146103c6576101f5565b8063405b8453116101d3578063405b8453146102ec5780634e71d92d1461030157806351cff8d914610316578063520e9f701461035d576101f5565b80631562c4911461020e5780633c22d7d5146102945780633fc8cef3146102bb575b600354600160a060020a0316331461020c57600080fd5b005b34801561021a57600080fd5b50610267600480360360c081101561023157600080fd5b50600160a060020a0381358116916020810135821691604082013581169160608101359091169060808101359060a0013561087c565b60408051958652602086019490945284840192909252606084015215156080830152519081900360a00190f35b3480156102a057600080fd5b506102a96108d1565b60408051918252519081900360200190f35b3480156102c757600080fd5b506102d06108d7565b60408051600160a060020a039092168252519081900360200190f35b3480156102f857600080fd5b506102a96108e6565b34801561030d57600080fd5b5061020c6108ec565b34801561032257600080fd5b506103496004803603602081101561033957600080fd5b5035600160a060020a0316610b47565b604080519115158252519081900360200190f35b34801561036957600080fd5b5061020c6004803603602081101561038057600080fd5b5035610cdd565b34801561039357600080fd5b506102a9610cf9565b3480156103a857600080fd5b5061020c610cff565b3480156103bd57600080fd5b506102d0610e40565b3480156103d257600080fd5b506102a9610e4f565b3480156103e757600080fd5b50610349610e55565b3480156103fc57600080fd5b5061020c6004803603602081101561041357600080fd5b5035600160a060020a0316610f38565b34801561042f57600080fd5b5061020c6004803603604081101561044657600080fd5b5080359060200135610f7e565b34801561045f57600080fd5b5061020c600480360360c081101561047657600080fd5b50600160a060020a0381358116916020810135821691604082013581169160608101359091169060808101359060a00135610fa0565b6102a9600480360360608110156104c257600080fd5b50600160a060020a0381358116916020810135909116906040013561171e565b3480156104ee57600080fd5b506102a96118a5565b34801561050357600080fd5b506102d06118ab565b34801561051857600080fd5b506103496118ba565b34801561052d57600080fd5b5061054b6004803603602081101561054457600080fd5b5035611968565b60408051978852600160a060020a03968716602089015294861687860152929094166060860152608085015260a084019290925260c0830191909152519081900360e00190f35b34801561059e57600080fd5b506102d06119b3565b3480156105b357600080fd5b506102a96119c2565b3480156105c857600080fd5b5061020c600480360360208110156105df57600080fd5b5035600160a060020a03166119c8565b3480156105fb57600080fd5b506102a96004803603608081101561061257600080fd5b50803590600160a060020a03602082013581169160408101359160609091013516611b75565b34801561064457600080fd5b506102d0611d0b565b6106cd6004803603604081101561066357600080fd5b600160a060020a03823516919081019060408101602082013564010000000081111561068e57600080fd5b8201836020820111156106a057600080fd5b803590602001918460018302840111640100000000831117156106c257600080fd5b509092509050611d1a565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107145781810151838201526020016106fc565b50505050905090810190601f1680156107415780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b34801561075c57600080fd5b5061020c611da7565b34801561077157600080fd5b5061020c6004803603602081101561078857600080fd5b5035600160a060020a0316611dd9565b3480156107a457600080fd5b506102d0611f41565b3480156107b957600080fd5b50610806600480360360c08110156107d057600080fd5b50600160a060020a0381358116916020810135821691604082013581169160608101359091169060808101359060a00135611f50565b604080519687529415156020870152858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561084557600080fd5b506103496004803603606081101561085c57600080fd5b50600160a060020a03813581169160208101359091169060400135611fab565b600080600080600061088c6128f6565b61089a8c8c8c8c8c8c6120c6565b90508060c001518160e001518261010001518361012001518461014001519550955095509550955050965096509650965096915050565b600b5481565b600354600160a060020a031681565b60075481565b600554600160a060020a031633148061090f5750600454600160a060020a031633145b151561091a57600080fd5b610922610e55565b151561092d57600080fd5b600b546000908152600a602052604080822080546001820154600283015460038401546004808601546005870154600690970154895489517fb0293850000000000000000000000000000000000000000000000000000000008152600160a060020a0397881694810185905295871660248701819052306044880152606487018990528a51989b949a9099958816989397959692959091169263b029385092608480820193929182900301818787803b1580156109e957600080fd5b505af11580156109fd573d6000803e3d6000fd5b505050506040513d6040811015610a1357600080fd5b505190506000811115610ae05760008054604080517ff3fef3a3000000000000000000000000000000000000000000000000000000008152600160a060020a038b81166004830152602482018690529151919092169263f3fef3a392604480820193602093909283900390910190829087803b158015610a9257600080fd5b505af1158015610aa6573d6000803e3d6000fd5b505050506040513d6020811015610abc57600080fd5b5050600160a060020a0387811690861614610ae057610add82888389612731565b90505b600b8054600101905560408051858152848301602082015242818301529051600160a060020a038088169289821692918b16917f63a011bd552b9d37485a9e07c03f4a7c6598446a9c07775c60aa9f53f58fd16f9181900360600190a45050505050505050565b600454600090600160a060020a03163314610b6157600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600091600160a060020a038516916370a0823191602480820192602092909190829003018186803b158015610bc457600080fd5b505afa158015610bd8573d6000803e3d6000fd5b505050506040513d6020811015610bee57600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390529051919250600091600160a060020a0386169163a9059cbb91604480830192602092919082900301818787803b158015610c5d57600080fd5b505af1158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b505190508015610cd457604080518381524260208201528151600160a060020a038716927fdf273cb619d95419a9cd0ec88123a0538c85064229baa6363788f743fff90deb928290030190a25b9150505b919050565b600454600160a060020a03163314610cf457600080fd5b600855565b60095481565b600554600160a060020a0316331480610d225750600454600160a060020a031633145b1515610d2d57600080fd5b610d356118ba565b1515610d4057600080fd5b42600955600354600854604080517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481019290925251600160a060020a0390921691632e1a7d4d9160248082019260009290919082900301818387803b158015610dad57600080fd5b505af1158015610dc1573d6000803e3d6000fd5b5050600554600854604051600160a060020a03909216935080156108fc029250906000818181858888f19350505050158015610e01573d6000803e3d6000fd5b506008546040805191825242602083015280517f56de51cbdd1f93c35c25fc73e49ecf0a9dd691ebb5f421e29b37a42bc2ed76079281900390910190a1565b600054600160a060020a031681565b600c5481565b6000600c54600b541415610e6b57506000610f35565b600b546000908152600a6020908152604080832080546001820154600290920154855484517f14584a9d000000000000000000000000000000000000000000000000000000008152600160a060020a0394851660048201819052928516602482018190529551939792969294909116926314584a9d92604480840193919291829003018186803b158015610efe57600080fd5b505afa158015610f12573d6000803e3d6000fd5b505050506040513d6020811015610f2857600080fd5b5051939093141593505050505b90565b600454600160a060020a03163314610f4f57600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600454600160a060020a03163314610f9557600080fd5b600691909155600755565b600554600160a060020a0316331480610fc35750600454600160a060020a031633145b1515610fce57600080fd5b610fd66128f6565b610fe48787878787876120c6565b9050806101400151151561104d5784600160a060020a031686600160a060020a031688600160a060020a03167fc1531feda6d23335db09b299c543c38f3d381e9d0f188d620a2bfaa6b2a740b7426040518082815260200191505060405180910390a450611716565b60008086600160a060020a031689600160a060020a031614156113195761107b848a8561010001518b612731565b60008054604080517f47e7ef24000000000000000000000000000000000000000000000000000000008152600160a060020a038d811660048301526024820186905291519496509116926347e7ef2492604480840193602093929083900390910190829087803b1580156110ee57600080fd5b505af1158015611102573d6000803e3d6000fd5b505050506040513d602081101561111857600080fd5b5050600080548451604080517f5e7f22c2000000000000000000000000000000000000000000000000000000008152600160a060020a038e811660048301528d8116602483015260448201939093526064810187905290519190921692635e7f22c292608480820193602093909283900390910190829087803b15801561119e57600080fd5b505af11580156111b2573d6000803e3d6000fd5b505050506040513d60208110156111c857600080fd5b5050600080548451604080517fb0293850000000000000000000000000000000000000000000000000000000008152600160a060020a038e811660048301528d8116602483015230604483015260648201939093528151929093169363b02938509360848082019492918390030190829087803b15801561124857600080fd5b505af115801561125c573d6000803e3d6000fd5b505050506040513d604081101561127257600080fd5b505160008054604080517ff3fef3a3000000000000000000000000000000000000000000000000000000008152600160a060020a038e8116600483015260248201869052915194955091169263f3fef3a392604480840193602093929083900390910190829087803b1580156112e757600080fd5b505af11580156112fb573d6000803e3d6000fd5b505050506040513d602081101561131157600080fd5b506115cd9050565b60008054610100850151604080517f47e7ef24000000000000000000000000000000000000000000000000000000008152600160a060020a038d811660048301526024820193909352905191909216926347e7ef2492604480820193602093909283900390910190829087803b15801561139257600080fd5b505af11580156113a6573d6000803e3d6000fd5b505050506040513d60208110156113bc57600080fd5b5050600080548451610100860151604080517f5e7f22c2000000000000000000000000000000000000000000000000000000008152600160a060020a038f811660048301528e8116602483015260448201949094526064810192909252519190921692635e7f22c292608480820193602093909283900390910190829087803b15801561144857600080fd5b505af115801561145c573d6000803e3d6000fd5b505050506040513d602081101561147257600080fd5b5050600080548451604080517fb0293850000000000000000000000000000000000000000000000000000000008152600160a060020a038e811660048301528d8116602483015230604483015260648201939093528151929093169363b02938509360848082019492918390030190829087803b1580156114f257600080fd5b505af1158015611506573d6000803e3d6000fd5b505050506040513d604081101561151c57600080fd5b505160008054604080517ff3fef3a3000000000000000000000000000000000000000000000000000000008152600160a060020a038e8116600483015260248201869052915194965091169263f3fef3a392604480840193602093929083900390910190829087803b15801561159157600080fd5b505af11580156115a5573d6000803e3d6000fd5b505050506040513d60208110156115bb57600080fd5b506115ca9050848a848b612731565b90505b8260000151600a6000600c5481526020019081526020016000206000018190555088600a6000600c54815260200190815260200160002060010160006101000a815481600160a060020a030219169083600160a060020a0316021790555087600a6000600c54815260200190815260200160002060020160006101000a815481600160a060020a030219169083600160a060020a0316021790555086600a6000600c54815260200190815260200160002060030160006101000a815481600160a060020a030219169083600160a060020a03160217905550826101000151600a6000600c5481526020019081526020016000206004018190555080600a6000600c5481526020019081526020016000206005018190555083600a6000600c548152602001908152602001600020600601819055506001600c600082825401925050819055505050505b505050505050565b600454600090600160a060020a0316331461173857600080fd5b611741846119c8565b61174a836119c8565b600360009054906101000a9004600160a060020a0316600160a060020a031663d0e30db0346040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303818588803b1580156117b657600080fd5b505af11580156117ca573d6000803e3d6000fd5b5050600354600160a060020a0388811691161415925061183791505057600354604080513481524260208201528151600160a060020a03909316927f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15929181900390910190a2503461189e565b600354600090611853908490600160a060020a03163488612731565b604080518281524260208201528151929350600160a060020a038816927f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15929181900390910190a290505b9392505050565b60085481565b600454600160a060020a031681565b600854600354604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905160009392600160a060020a0316916370a08231916024808301926020929190829003018186803b15801561192257600080fd5b505afa158015611936573d6000803e3d6000fd5b505050506040513d602081101561194c57600080fd5b505110801590611963575062015180600954420310155b905090565b600a6020526000908152604090208054600182015460028301546003840154600485015460058601546006909601549495600160a060020a0394851695938516949092169290919087565b600154600160a060020a031681565b60065481565b600454600160a060020a031633146119df57600080fd5b600080546040805160e060020a63095ea7b3028152600160a060020a039283166004820152600019602482015290519184169263095ea7b3926044808401936020939083900390910190829087803b158015611a3a57600080fd5b505af1158015611a4e573d6000803e3d6000fd5b505050506040513d6020811015611a6457600080fd5b50506001546040805160e060020a63095ea7b3028152600160a060020a039283166004820152600019602482015290519183169163095ea7b3916044808201926020929091908290030181600087803b158015611ac057600080fd5b505af1158015611ad4573d6000803e3d6000fd5b505050506040513d6020811015611aea57600080fd5b50506002546040805160e060020a63095ea7b3028152600160a060020a039283166004820152600019602482015290519183169163095ea7b3916044808201926020929091908290030181600087803b158015611b4657600080fd5b505af1158015611b5a573d6000803e3d6000fd5b505050506040513d6020811015611b7057600080fd5b505050565b6000841515611c4357600154604080517f144a2752000000000000000000000000000000000000000000000000000000008152600160a060020a0385811660048301528781166024830152604482018790529151600093929092169163144a275291606480820192602092909190829003018186803b158015611bf757600080fd5b505afa158015611c0b573d6000803e3d6000fd5b505050506040513d6020811015611c2157600080fd5b50519050611c3b611c3582620186a0612876565b85612898565b915050611d03565b6001851415611cfe57600254604080517f809a9e55000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301528581166024830152604482018790528251600094919091169263809a9e559260648082019391829003018186803b158015611cc057600080fd5b505afa158015611cd4573d6000803e3d6000fd5b505050506040513d6040811015611cea57600080fd5b50516509184e72a00090049150611d039050565b600080fd5b949350505050565b600254600160a060020a031681565b600454600090606090600160a060020a03163314611d3757600080fd5b84600160a060020a0316348585604051808383808284376040519201945060009350909150508083038185875af1925050503d8060008114611d95576040519150601f19603f3d011682016040523d82523d6000602084013e611d9a565b606091505b5091509150935093915050565b600454600160a060020a03163314611dbe57600080fd5b600c54600b5410611dce57600080fd5b600b80546001019055565b600454600160a060020a03163314611df057600080fd5b600080546040805160e060020a63095ea7b3028152600160a060020a039283166004820152600019602482015290519184169263095ea7b39260448084019382900301818387803b158015611e4457600080fd5b505af1158015611e58573d6000803e3d6000fd5b50506001546040805160e060020a63095ea7b3028152600160a060020a03928316600482015260001960248201529051918516935063095ea7b3925060448082019260009290919082900301818387803b158015611eb557600080fd5b505af1158015611ec9573d6000803e3d6000fd5b50506002546040805160e060020a63095ea7b3028152600160a060020a03928316600482015260001960248201529051918516935063095ea7b3925060448082019260009290919082900301818387803b158015611f2657600080fd5b505af1158015611f3a573d6000803e3d6000fd5b5050505050565b600554600160a060020a031681565b600080600080600080611f616128f6565b611f6f8d8d8d8d8d8d6120c6565b9050806000015181602001518260400151836060015184608001518560a001519650965096509650965096505096509650965096509650969050565b600454600090600160a060020a03163314611fc557600080fd5b611fce846119c8565b611fd7836119c8565b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600091600160a060020a038716916323b872dd9160648082019260209290919082900301818787803b15801561204857600080fd5b505af115801561205c573d6000803e3d6000fd5b505050506040513d602081101561207257600080fd5b505190508015611d0357604080518481524260208201528151600160a060020a038816927f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15928290030190a2949350505050565b6120ce6128f6565b600054604080517f14584a9d000000000000000000000000000000000000000000000000000000008152600160a060020a038a811660048301528981166024830152915191909216916314584a9d916044808301926020929190829003018186803b15801561213c57600080fd5b505afa158015612150573d6000803e3d6000fd5b505050506040513d602081101561216657600080fd5b50518152600054604080517fdae595e5000000000000000000000000000000000000000000000000000000008152600160a060020a038a8116600483015289811660248301529151919092169163dae595e5916044808301926020929190829003018186803b1580156121d857600080fd5b505afa1580156121ec573d6000803e3d6000fd5b505050506040513d602081101561220257600080fd5b505160408083019190915260008054835183517febcc0de1000000000000000000000000000000000000000000000000000000008152600160a060020a038c811660048301528b811660248301526044820192909252845193948594929093169263ebcc0de192606480840193829003018186803b15801561228357600080fd5b505afa158015612297573d6000803e3d6000fd5b505050506040513d60408110156122ad57600080fd5b50805160209182015160019286018390526040860151919450925014156122d657600060208401525b82604001514210156122ea57600060208401525b80156122f857600060208401525b600054604080517fb64c4905000000000000000000000000000000000000000000000000000000008152600160a060020a038c811660048301528b811660248301529151919092169163b64c4905916044808301926020929190829003018186803b15801561236657600080fd5b505afa15801561237a573d6000803e3d6000fd5b505050506040513d602081101561239057600080fd5b50516060840152600054604080517fb8beafd6000000000000000000000000000000000000000000000000000000008152600160a060020a038c811660048301528b811660248301529151919092169163b8beafd6916044808301926020929190829003018186803b15801561240557600080fd5b505afa158015612419573d6000803e3d6000fd5b505050506040513d602081101561242f57600080fd5b505160808401526000548351604080517ffdab1b7b000000000000000000000000000000000000000000000000000000008152600160a060020a038d811660048301528c8116602483015260448201939093528151929093169263fdab1b7b9260648083019392829003018186803b1580156124aa57600080fd5b505afa1580156124be573d6000803e3d6000fd5b505050506040513d60408110156124d457600080fd5b5080516020909101519092509050600160a060020a0389811690881614156125255761251b61251061250a856080015184612876565b84612898565b8460600151036128bc565b60a084015261254a565b612544836080015161253e61250a866060015186612876565b036128bc565b60a08401525b61256061255a83620186a0612876565b82612898565b60c084015260a08301516125809061257990605f612876565b6064612898565b610100840152604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600091600160a060020a038a16916370a0823191602480820192602092909190829003018186803b1580156125e957600080fd5b505afa1580156125fd573d6000803e3d6000fd5b505050506040513d602081101561261357600080fd5b505161010085015190915081101561262e5761010084018190525b60008685610100015110151561269b5788600160a060020a03168b600160a060020a0316141561267057612669868a8761010001518b611b75565b905061269b565b612682611c3586610100015185612876565b61012086018190526126989087908a908c611b75565b90505b6126b26126aa82600654612876565b600754612898565b60e08601526001610140860152602085015115156126d35760006101408601525b60c085015115806126e6575060e0850151155b156126f45760006101408601525b8460e001518560c00151111561270d5760006101408601525b8685610100015110156127235760006101408601525b505050509695505050505050565b60008415156127ed57600154604080517f0621b4f6000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301526024820187905285811660448301526000606483018190529251931692630621b4f692608480840193602093929083900390910190829087803b1580156127ba57600080fd5b505af11580156127ce573d6000803e3d6000fd5b505050506040513d60208110156127e457600080fd5b50519050611d03565b6001851415611cfe57600254604080517f7409e2eb000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301526024820187905285811660448301526000606483018190529251931692637409e2eb92608480840193602093929083900390910190829087803b1580156127ba57600080fd5b600061288283836128d5565b151561288d57600080fd5b508181025b92915050565b60008115156128a957506000612892565b81838115156128b457fe5b049050612892565b6000808212156128ce57506000610cd8565b5080610cd8565b600081158061189e575082828385028115156128ed57fe5b04149392505050565b61016060405190810160405280600081526020016000151581526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600015158152509056fea165627a7a723058205abb1f9ff1ccca012e2e4c46071cd5ed46634153c9745d7ed207639f0580f8cd0029',
'head': None,
'length': 21252,
'tail': None,
'truncated': False},
'verified_source': False}
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
store=data['analysis_artifact']['artifact_json'].get('storage')
print(type(store))
print(store.keys())
print('slots count',len(store.get('slots',[])))
print('example slots:',store.get('slots',[])[:5])
PY" in /tmp/codex-n8t3es3h succeeded in 52ms:
<class 'dict'>
dict_keys(['keccak_count', 'reads', 'slots', 'writes'])
slots count 85
example slots: [{'op': 'SLOAD', 'pc': 504, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 2260, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 2266, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 2281, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000007'}, {'op': 'SLOAD', 'pc': 2287, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000005'}]
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
selectors=data['analysis_artifact']['artifact_json'].get('selectors')
print('selectors count',len(selectors))
print(selectors[:30])
PY" in /tmp/codex-n8t3es3h succeeded in 35ms:
selectors count 31
['0xee072426', '0xf851a440', '0xf8821efa', '0xfb0f97a8', '0xc7e9ba8b', '0xd77366a4', '0xdd53d657', '0xed2cdeff', '0xa888c2cd', '0xaad3e5cc', '0xaca85118', '0xb63c154d', '0x7a66a4dc', '0x8a87b5c5', '0x8da5cb5b', '0x989c8f5e', '0x6dc7a627', '0x704b6c02', '0x705c4bff', '0x764f025d', '0x5f238402', '0x60795d80', '0x6621ebfb', '0x6d2b5fd5', '0x405b8453', '0x4e71d92d', '0x51cff8d9', '0x520e9f70', '0x1562c491', '0x3c22d7d5']
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
keys=data['capability_graph']['graph_json'].keys()
print(keys)
PY" in /tmp/codex-n8t3es3h succeeded in 49ms:
dict_keys(['edges', 'nodes', 'version'])
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
cs=data['analysis_artifact']['artifact_json'].get('callsites')
print('callsites',len(cs))
print(cs[:10])
PY" in /tmp/codex-n8t3es3h succeeded in 54ms:
callsites 36
[{'opcode': 'CALL', 'pc': 2540, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'CALL', 'pc': 2709, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'STATICCALL', 'pc': 3015, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'n/a'}, {'opcode': 'CALL', 'pc': 3168, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'CALL', 'pc': 3504, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'CALL', 'pc': 3563, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'STATICCALL', 'pc': 3841, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'n/a'}, {'opcode': 'CALL', 'pc': 4337, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'CALL', 'pc': 4513, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}, {'opcode': 'CALL', 'pc': 4683, 'returndata_checked': None, 'target_expression_category': 'computed', 'value_expression_category': 'computed'}]
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
fe=data['analysis_artifact']['artifact_json'].get('function_entries')
print('function_entries count',len(fe))
print(fe[:10])
PY" in /tmp/codex-n8t3es3h succeeded in 55ms:
function_entries count 31
[{'entry_pc': 3993445414, 'selector': '0xee072426'}, {'entry_pc': 4169277178, 'selector': '0xf851a440'}, {'entry_pc': 4212103080, 'selector': '0xf8821efa'}, {'entry_pc': None, 'selector': '0xfb0f97a8'}, {'entry_pc': 3614664356, 'selector': '0xc7e9ba8b'}, {'entry_pc': 3713259095, 'selector': '0xd77366a4'}, {'entry_pc': 3979140863, 'selector': '0xdd53d657'}, {'entry_pc': None, 'selector': '0xed2cdeff'}, {'entry_pc': 2827535053, 'selector': '0xa888c2cd'}, {'entry_pc': 2896711960, 'selector': '0xaad3e5cc'}]
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
store=data['analysis_artifact']['artifact_json']['storage']
print('reads count',len(store.get('reads',[])))
print('writes count',len(store.get('writes',[])))
print('first writes:')
pprint(store['writes'][:10])
PY" in /tmp/codex-n8t3es3h exited 1 in 58ms:
Traceback (most recent call last):
File "<stdin>", line 6, in <module>
TypeError: object of type 'int' has no len()
exec
/bin/bash -lc "python - <<'PY'
import json
from pprint import pprint
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
store=data['analysis_artifact']['artifact_json']['storage']
print(store)
PY" in /tmp/codex-n8t3es3h succeeded in 63ms:
{'keccak_count': 11, 'reads': 107, 'slots': [{'op': 'SLOAD', 'pc': 504, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 2260, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 2266, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 2281, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000007'}, {'op': 'SLOAD', 'pc': 2287, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000005'}, {'op': 'SLOAD', 'pc': 2307, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 2352, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 2596, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 2788, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 2890, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 3296, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 3324, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000009'}, {'op': 'SLOAD', 'pc': 3330, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000005'}, {'op': 'SLOAD', 'pc': 3350, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 3399, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 3402, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000008'}, {'op': 'SLOAD', 'pc': 3526, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000005'}, {'op': 'SLOAD', 'pc': 3529, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000008'}, {'op': 'SLOAD', 'pc': 3589, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000008'}, {'op': 'SLOAD', 'pc': 3651, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 3666, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 3674, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 3677, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 3694, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 3899, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 3923, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000005'}, {'op': 'SLOAD', 'pc': 3969, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 4003, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000005'}, {'op': 'SLOAD', 'pc': 4023, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 4223, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 4382, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 4558, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 4728, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 4893, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 5058, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 5240, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 5410, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 5593, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 5622, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 5683, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 5744, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 5810, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 5839, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 5868, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 5898, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 5921, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 5968, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 6095, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 6122, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 6202, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 6312, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000008'}, {'op': 'SLOAD', 'pc': 6318, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 6333, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000008'}, {'op': 'SLOAD', 'pc': 6336, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000003'}, {'op': 'SLOAD', 'pc': 6494, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000009'}, {'op': 'SLOAD', 'pc': 6582, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000001'}, {'op': 'SLOAD', 'pc': 6597, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000006'}, {'op': 'SLOAD', 'pc': 6603, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 6627, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 6761, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000001'}, {'op': 'SLOAD', 'pc': 6895, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000002'}, {'op': 'SLOAD', 'pc': 7041, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000001'}, {'op': 'SLOAD', 'pc': 7247, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000002'}, {'op': 'SLOAD', 'pc': 7438, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000002'}, {'op': 'SLOAD', 'pc': 7453, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 7594, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 7617, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000c'}, {'op': 'SLOAD', 'pc': 7620, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 7634, 'slot': '0x000000000000000000000000000000000000000000000000000000000000000b'}, {'op': 'SLOAD', 'pc': 7644, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 7668, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 7773, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000001'}, {'op': 'SLOAD', 'pc': 7886, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000002'}, {'op': 'SLOAD', 'pc': 8004, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000005'}, {'op': 'SLOAD', 'pc': 8110, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000004'}, {'op': 'SLOAD', 'pc': 8401, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 8557, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 8721, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 8955, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 9114, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 9273, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000000'}, {'op': 'SLOAD', 'pc': 9893, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000006'}, {'op': 'SLOAD', 'pc': 9901, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000007'}, {'op': 'SLOAD', 'pc': 10045, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000001'}, {'op': 'SLOAD', 'pc': 10233, 'slot': '0x0000000000000000000000000000000000000000000000000000000000000002'}], 'writes': 15}
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
blocks=data['analysis_artifact']['artifact_json']['basic_blocks']
# find blocks with SSTORE
sstore_blocks=[b for b in blocks if any(op=='SSTORE' for op in b.get('opcodes',[]))]
print('sstore_blocks',len(sstore_blocks))
print(sstore_blocks[:10])
PY" in /tmp/codex-n8t3es3h succeeded in 35ms:
sstore_blocks 7
[{'end_pc': 2886, 'hash': '0x22d85533771557fdb406f50b5bbb6a09cb5dc42c92b4007aa0e37fc720d974fa', 'opcodes': ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH1', 'ADD', 'OP_90', 'SSTORE', 'PUSH1', 'OP_80', 'MLOAD', 'OP_85', 'OP_81', 'MSTORE', 'OP_84', 'OP_83', 'ADD', 'PUSH1', 'OP_82', 'ADD', 'MSTORE', 'TIMESTAMP', 'OP_81', 'OP_83', 'ADD', 'MSTORE', 'OP_90', 'MLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_80', 'OP_88', 'AND', 'OP_92', 'OP_89', 'OP_82', 'AND', 'OP_92', 'OP_91', 'OP_8B', 'AND', 'OP_91', 'PUSH32', 'OP_91', 'OP_81', 'OP_90', 'SUB', 'PUSH1', 'ADD', 'OP_90', 'OP_A4', 'POP', 'POP', 'POP', 'POP', 'POP', 'POP', 'POP', 'POP', 'JUMP'], 'start_pc': 2784}, {'end_pc': 3320, 'hash': '0x9f6a2a22475cc3ef49118eda215c9a76d7ebab9359ee096563b11a5ba8249b11', 'opcodes': ['JUMPDEST', 'PUSH1', 'SSTORE', 'JUMP'], 'start_pc': 3316}, {'end_pc': 3496, 'hash': '0x110364d7465773d28878eb24af3d97811a6cf55be8cd85fba5ffdbb8c1994fc5', 'opcodes': ['JUMPDEST', 'TIMESTAMP', 'PUSH1', 'SSTORE', 'PUSH1', 'SLOAD', 'PUSH1', 'SLOAD', 'PUSH1', 'OP_80', 'MLOAD', 'PUSH32', 'OP_81', 'MSTORE', 'PUSH1', 'OP_81', 'ADD', 'OP_92', 'OP_90', 'OP_92', 'MSTORE', 'MLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_90', 'OP_92', 'AND', 'OP_91', 'PUSH4', 'OP_91', 'PUSH1', 'OP_80', 'OP_82', 'ADD', 'OP_92', 'PUSH1', 'OP_92', 'OP_90', 'OP_91', 'OP_90', 'OP_82', 'OP_90', 'SUB', 'ADD', 'OP_81', 'OP_83', 'OP_87', 'OP_80', 'EXTCODESIZE', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI'], 'start_pc': 3392}, {'end_pc': 3965, 'hash': '0x3d0b773919667c2ff4fa4c26a75b1e3411b564e398f77ed3db6c37628a645a1a', 'opcodes': ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH20', 'NOT', 'AND', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_92', 'OP_90', 'OP_92', 'AND', 'OP_91', 'OP_90', 'OP_91', 'OR', 'OP_90', 'SSTORE', 'JUMP'], 'start_pc': 3919}, {'end_pc': 3999, 'hash': '0x6f99b5972db58a44741812cde9056b7991e7941a8c91a7069ecb19055b7aea04', 'opcodes': ['JUMPDEST', 'PUSH1', 'OP_91', 'OP_90', 'OP_91', 'SSTORE', 'PUSH1', 'SSTORE', 'JUMP'], 'start_pc': 3989}, {'end_pc': 5909, 'hash': '0x1f2e3191c461db3ad05c601978f7ec6c4a7942b8ed954ee2d1bd57713d0540cf', 'opcodes': ['JUMPDEST', 'OP_82', 'PUSH1', 'ADD', 'MLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'SLOAD', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'OP_90', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH1', 'SHA3', 'PUSH1', 'ADD', 'OP_81', 'OP_90', 'SSTORE', 'POP', 'OP_88', 'PUSH1', 'PUSH1', 'PUSH1', 'SLOAD', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'OP_90', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH1', 'SHA3', 'PUSH1', 'ADD', 'PUSH1', 'PUSH2', 'EXP', 'OP_81', 'SLOAD', 'OP_81', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'MUL', 'NOT', 'AND', 'OP_90', 'OP_83', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'MUL', 'OR', 'OP_90', 'SSTORE', 'POP', 'OP_87', 'PUSH1', 'PUSH1', 'PUSH1', 'SLOAD', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'OP_90', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH1', 'SHA3', 'PUSH1', 'ADD', 'PUSH1', 'PUSH2', 'EXP', 'OP_81', 'SLOAD', 'OP_81', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'MUL', 'NOT', 'AND', 'OP_90', 'OP_83', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'MUL', 'OR', 'OP_90', 'SSTORE', 'POP', 'OP_86', 'PUSH1', 'PUSH1', 'PUSH1', 'SLOAD', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'OP_90', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH1', 'SHA3', 'PUSH1', 'ADD', 'PUSH1', 'PUSH2', 'EXP', 'OP_81', 'SLOAD', 'OP_81', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'MUL', 'NOT', 'AND', 'OP_90', 'OP_83', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'MUL', 'OR', 'OP_90', 'SSTORE', 'POP', 'OP_82', 'PUSH2', 'ADD', 'MLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'SLOAD', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'OP_90', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH1', 'SHA3', 'PUSH1', 'ADD', 'OP_81', 'OP_90', 'SSTORE', 'POP', 'OP_80', 'PUSH1', 'PUSH1', 'PUSH1', 'SLOAD', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'OP_90', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH1', 'SHA3', 'PUSH1', 'ADD', 'OP_81', 'OP_90', 'SSTORE', 'POP', 'OP_83', 'PUSH1', 'PUSH1', 'PUSH1', 'SLOAD', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'OP_90', 'OP_81', 'MSTORE', 'PUSH1', 'ADD', 'PUSH1', 'SHA3', 'PUSH1', 'ADD', 'OP_81', 'OP_90', 'SSTORE', 'POP', 'PUSH1', 'PUSH1', 'PUSH1', 'OP_82', 'OP_82', 'SLOAD', 'ADD', 'OP_92', 'POP', 'POP', 'OP_81', 'OP_90', 'SSTORE', 'POP', 'POP', 'POP', 'POP'], 'start_pc': 5581}, {'end_pc': 7640, 'hash': '0x06a604d009c8294f9ee8d21f5f8c5d1a16d5523dfe4bc73426ec0022059887ce', 'opcodes': ['JUMPDEST', 'PUSH1', 'OP_80', 'SLOAD', 'PUSH1', 'ADD', 'OP_90', 'SSTORE', 'JUMP'], 'start_pc': 7630}]
exec
/bin/bash -lc "python - <<'PY'
import json
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
blocks=data['analysis_artifact']['artifact_json']['basic_blocks']
caller_blocks=[b for b in blocks if 'CALLER' in b.get('opcodes',[])]
print('caller_blocks',len(caller_blocks))
print('first few:',caller_blocks[:5])
PY" in /tmp/codex-n8t3es3h succeeded in 41ms:
caller_blocks 19
first few: [{'end_pc': 519, 'hash': '0x93d72d33df857abf6397978671420fb6116e13891891abb7eef077bbec909d86', 'opcodes': ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI'], 'start_pc': 501}, {'end_pc': 2303, 'hash': '0xc695d093c069dd421962cecdd5be977d3355ed60d9bde93995934025b85321dd', 'opcodes': ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'OP_80', 'PUSH2', 'JUMPI'], 'start_pc': 2284}, {'end_pc': 2318, 'hash': '0x500df9d578faca5660362c4a10f7c170d01460e49d2738d7f1ee0af1c18e287e', 'opcodes': ['POP', 'PUSH1', 'SLOAD', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ'], 'start_pc': 2304}, {'end_pc': 2908, 'hash': '0xbdb83e5fedaa2ef16da588729cf7eaa63aac69aad3792231e0258ca018d3daef', 'opcodes': ['JUMPDEST', 'PUSH1', 'SLOAD', 'PUSH1', 'OP_90', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'AND', 'CALLER', 'EQ', 'PUSH2', 'JUMPI'], 'start_pc': 2887}, {'end_pc': 3160, 'hash': '0x3f417ffcbf56c820d99d924676b9a519e36846d50d7cd6d316c767117f304f3c', 'opcodes': ['JUMPDEST', 'POP', 'MLOAD', 'PUSH1', 'OP_80', 'MLOAD', 'PUSH32', 'OP_81', 'MSTORE', 'CALLER', 'PUSH1', 'OP_82', 'ADD', 'MSTORE', 'PUSH1', 'OP_81', 'ADD', 'OP_83', 'OP_90', 'MSTORE', 'OP_90', 'MLOAD', 'OP_91', 'OP_92', 'POP', 'PUSH1', 'OP_91', 'PUSH1', 'PUSH1', 'PUSH1', 'EXP', 'SUB', 'OP_86', 'AND', 'OP_91', 'PUSH4', 'OP_91', 'PUSH1', 'OP_80', 'OP_83', 'ADD', 'OP_92', 'PUSH1', 'OP_92', 'OP_91', 'OP_90', 'OP_82', 'OP_90', 'SUB', 'ADD', 'OP_81', 'OP_87', 'OP_87', 'OP_80', 'EXTCODESIZE', 'ISZERO', 'OP_80', 'ISZERO', 'PUSH2', 'JUMPI'], 'start_pc': 3054}]
exec
/bin/bash -lc "python - <<'PY'
import json
from collections import Counter
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
nodes=data['capability_graph']['graph_json']['nodes']
print('nodes count',len(nodes))
# list node types
cnt=Counter(n.get('type') for n in nodes)
print(cnt)
print('sample nodes',nodes[:5])
PY" in /tmp/codex-n8t3es3h succeeded in 41ms:
nodes count 625
Counter({'basic_block': 556, 'callsite': 36, 'function': 31, 'sink': 2})
sample nodes [{'end_pc': 12, 'hash': '0x15197bb2acdb6c15e0a4e410caa58df40c017197bd531df62fe765005fc0fb7d', 'id': 'bb:0', 'start_pc': 0, 'type': 'basic_block'}, {'end_pc': 58, 'hash': '0x2550186f9e2a21d47d3cb81bcf464e1b2ef42d11d569c43df4dbdaec1000cc38', 'id': 'bb:13', 'start_pc': 13, 'type': 'basic_block'}, {'end_pc': 69, 'hash': '0x8c9d9186c60a1b875a398fd218170b4b84f179efc2dbe1d6ee098856d10978c7', 'id': 'bb:59', 'start_pc': 59, 'type': 'basic_block'}, {'end_pc': 80, 'hash': '0x2350a7c9b2c418b80f61b43751e8f8c26aa6fdaa13c8495c8331ae795f435ab1', 'id': 'bb:70', 'start_pc': 70, 'type': 'basic_block'}, {'end_pc': 91, 'hash': '0xa666d3a5fbeddab49ba60d72327decf2f62f59b3db719627507e96556d08b897', 'id': 'bb:81', 'start_pc': 81, 'type': 'basic_block'}]
exec
/bin/bash -lc "python - <<'PY'
import json
from collections import defaultdict
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
edges=data['capability_graph']['graph_json']['edges']
# build adjacency
in_edges=defaultdict(list)
for e in edges:
in_edges[e['to']].append(e)
# show in-edges for callsites
callsites=[n for n in data['capability_graph']['graph_json']['nodes'] if n.get('type')=='callsite']
print('callsites',len(callsites))
# show one callsite
cs=callsites[0]
print('sample callsite',cs)
print('incoming edges',in_edges.get(cs['id'],[])[:5])
# see if any edges from function nodes to callsites directly
func_to_call=[]
for e in edges:
if e['to'].startswith('call:'):
func_to_call.append(e)
print('edges to callsites',len(func_to_call))
print('sample edges to callsite',func_to_call[:5])
PY" in /tmp/codex-n8t3es3h succeeded in 35ms:
callsites 36
sample callsite {'id': 'call:2540', 'opcode': 'CALL', 'pc': 2540, 'type': 'callsite'}
incoming edges [{'from': 'bb:2537', 'to': 'call:2540', 'type': 'contains'}]
edges to callsites 36
sample edges to callsite [{'from': 'bb:2537', 'to': 'call:2540', 'type': 'contains'}, {'from': 'bb:2706', 'to': 'call:2709', 'type': 'contains'}, {'from': 'bb:3012', 'to': 'call:3015', 'type': 'contains'}, {'from': 'bb:3165', 'to': 'call:3168', 'type': 'contains'}, {'from': 'bb:3501', 'to': 'call:3504', 'type': 'contains'}]
exec
/bin/bash -lc "python - <<'PY'
import json
from collections import defaultdict, deque
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
# build cfg graph from artifact_json cfg_edges
edges=data['analysis_artifact']['artifact_json'].get('cfg_edges',[])
# edges likely have from/to as block ids (hash?). Let's inspect sample
print('cfg_edges count',len(edges))
print('sample',edges[:5])
PY" in /tmp/codex-n8t3es3h succeeded in 41ms:
cfg_edges count 580
sample [{'from': 'bb:0', 'to': 'bb:501', 'type': 'control_flow'}, {'from': 'bb:0', 'to': 'bb:13', 'type': 'control_flow_fallthrough'}, {'from': 'bb:13', 'to': 'bb:287', 'type': 'control_flow'}, {'from': 'bb:13', 'to': 'bb:59', 'type': 'control_flow_fallthrough'}, {'from': 'bb:59', 'to': 'bb:178', 'type': 'control_flow'}]
exec
/bin/bash -lc "python - <<'PY'
import json
from collections import defaultdict, deque
with open('BYTECODE_BUNDLE.json') as f:
data=json.load(f)
edges=data['analysis_artifact']['artifact_json'].get('cfg_edges',[])
# build adjacency
adj=defaultdict(list)
for e in edges:
if e['type'].startswith('control_flow'):
adj[e['from']].append(e['to'])
# BFS from bb:2537 to bb:2784
start='bb:2537'
target='bb:2784'
visited=set([start])
q=deque([start])
found=False
while q:
n=q.popleft()
if n==target:
found=True
break
for m in adj.get(n,[]):
if m not in visited:
visited.add(m); q.append(m)
print('path bb:2537 -> bb:2784',found)
# Try bb:2706 to bb:2784
start='bb:2706'; target='bb:2784'
visited=set([start]); q=deque([start]); found=False
while q:
n=q.popleft()
if n==target:
found=True; break
for m in adj.get(n,[]):
if m not in visited:
visited.add(m); q.append(m)
print('path bb:2706 -> bb:2784',found)
PY" in /tmp/codex-n8t3es3h succeeded in 37ms:
path bb:2537 -> bb:2784 True
path bb:2706 -> bb:2784 True
exec
/bin/bash -lc "python - <<'PY'
for pc in [2540,2709,2784,3168,3504,3563,6073]:
print(pc, hex(pc))
PY" in /tmp/codex-n8t3es3h succeeded in 22ms:
2540 0x9ec
2709 0xa95
2784 0xae0
3168 0xc60
3504 0xdb0
3563 0xdeb
6073 0x17b9
codex
{"no_findings":false,"summary":"Bytecode shows a call-heavy contract with multiple computed CALL targets/values and at least one control-flow path where external calls can occur before storage updates; proxy/delegatecall patterns are not detected.","findings":[{"severity":"medium","category":"other","title":"Computed CALL targets/values could enable arbitrary external calls/ETH forwarding (if user-controlled)","exploit_scenario":"If any public entrypoint lets the caller influence the CALL target or value, an attacker could use the contract as a generic call/ETH forwarding primitive to invoke arbitrary contracts or siphon ETH. The detector trace did not confirm variability (target may be constant/self), so this risk depends on how targets/values are sourced at runtime.","recommendation":"Restrict external call targets to a whitelist or owner-controlled configuration; validate call value and calldata; consider emitting events and/or using pull-based withdrawals. If this is intended router behavior, explicitly gate it with access control and document the trust assumptions.","evidence":"Detector reports 24 CALL sites with computed target/value and no guards detected; return-data checking is unknown. Validation trace did not confirm target variability (constant_target), so impact is uncertain.","locations":["pc:0x9ec","pc:0xa95","pc:0xc60","pc:0xdb0","pc:0xdeb"]},{"severity":"low","category":"reentrancy","title":"External calls can occur before storage updates along CFG path","exploit_scenario":"A control-flow path exists where a CALL is reachable before an SSTORE (e.g., callsites at pc 0x9ec/0xa95 reach an SSTORE at pc 0xae0). If the CALL target is an untrusted contract and state updates happen after the call, a reentrant callback could re-enter before state is finalized.","recommendation":"Apply checks-effects-interactions ordering; update critical state before external calls; or add a reentrancy guard. Confirm whether the call targets are trusted/self to scope the risk.","evidence":"CFG indicates a path from basic blocks containing CALL at pc 0x9ec/0xa95 to a storage write block at pc 0xae0. No guard was detected by the heuristic auth analysis.","locations":["pc:0x9ec","pc:0xa95","pc:0xae0"]}]}
tokens used
62,732
{
"codex": {
"ran_at": "2026-01-30T15:30:08.812326+00:00",
"returncode": 0
},
"project": {
"mode": "bytecode",
"bytecode_length": 21252,
"bytecode_truncated": false,
"capability_graph_present": true,
"analysis_artifact_present": true
},
"summary": "Bytecode shows a call-heavy contract with multiple computed CALL targets/values and at least one control-flow path where external calls can occur before storage updates; proxy/delegatecall patterns are not detected.",
"raw_final": {
"summary": "Bytecode shows a call-heavy contract with multiple computed CALL targets/values and at least one control-flow path where external calls can occur before storage updates; proxy/delegatecall patterns are not detected.",
"findings": [
{
"title": "Computed CALL targets/values could enable arbitrary external calls/ETH forwarding (if user-controlled)",
"category": "other",
"evidence": "Detector reports 24 CALL sites with computed target/value and no guards detected; return-data checking is unknown. Validation trace did not confirm target variability (constant_target), so impact is uncertain.",
"severity": "medium",
"locations": [
"pc:0x9ec",
"pc:0xa95",
"pc:0xc60",
"pc:0xdb0",
"pc:0xdeb"
],
"recommendation": "Restrict external call targets to a whitelist or owner-controlled configuration; validate call value and calldata; consider emitting events and/or using pull-based withdrawals. If this is intended router behavior, explicitly gate it with access control and document the trust assumptions.",
"exploit_scenario": "If any public entrypoint lets the caller influence the CALL target or value, an attacker could use the contract as a generic call/ETH forwarding primitive to invoke arbitrary contracts or siphon ETH. The detector trace did not confirm variability (target may be constant/self), so this risk depends on how targets/values are sourced at runtime."
},
{
"title": "External calls can occur before storage updates along CFG path",
"category": "reentrancy",
"evidence": "CFG indicates a path from basic blocks containing CALL at pc 0x9ec/0xa95 to a storage write block at pc 0xae0. No guard was detected by the heuristic auth analysis.",
"severity": "low",
"locations": [
"pc:0x9ec",
"pc:0xa95",
"pc:0xae0"
],
"recommendation": "Apply checks-effects-interactions ordering; update critical state before external calls; or add a reentrancy guard. Confirm whether the call targets are trusted/self to scope the risk.",
"exploit_scenario": "A control-flow path exists where a CALL is reachable before an SSTORE (e.g., callsites at pc 0x9ec/0xa95 reach an SSTORE at pc 0xae0). If the CALL target is an untrusted contract and state updates happen after the call, a reentrant callback could re-enter before state is finalized."
}
],
"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 0x01f5 0000000c: JUMPI 0000000d: PUSH1 0x00 0000000f: CALLDATALOAD 00000010: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 0000002e: SWAP1 0000002f: DIV 00000030: DUP1 00000031: PUSH4 0x7a66a4dc 00000036: GT 00000037: PUSH2 0x011f 0000003a: JUMPI 0000003b: DUP1 0000003c: PUSH4 0xc7e9ba8b 00000041: GT 00000042: PUSH2 0x00b2 00000045: JUMPI 00000046: DUP1 00000047: PUSH4 0xee072426 0000004c: GT 0000004d: PUSH2 0x0081 00000050: JUMPI 00000051: DUP1 00000052: PUSH4 0xee072426 00000057: EQ 00000058: PUSH2 0x0765 0000005b: JUMPI 0000005c: DUP1 0000005d: PUSH4 0xf851a440 00000062: EQ 00000063: PUSH2 0x0798 00000066: JUMPI 00000067: DUP1 00000068: PUSH4 0xf8821efa 0000006d: EQ 0000006e: PUSH2 0x07ad 00000071: JUMPI 00000072: DUP1 00000073: PUSH4 0xfb0f97a8 00000078: EQ 00000079: PUSH2 0x0839 0000007c: JUMPI 0000007d: PUSH2 0x01f5 00000080: JUMP 00000081: JUMPDEST 00000082: DUP1 00000083: PUSH4 0xc7e9ba8b 00000088: EQ 00000089: PUSH2 0x05ef 0000008c: JUMPI 0000008d: DUP1 0000008e: PUSH4 0xd77366a4 00000093: EQ 00000094: PUSH2 0x0638 00000097: JUMPI 00000098: DUP1 00000099: PUSH4 0xdd53d657 0000009e: EQ 0000009f: PUSH2 0x064d 000000a2: JUMPI 000000a3: DUP1 000000a4: PUSH4 0xed2cdeff 000000a9: EQ 000000aa: PUSH2 0x0750 000000ad: JUMPI 000000ae: PUSH2 0x01f5 000000b1: JUMP 000000b2: JUMPDEST 000000b3: DUP1 000000b4: PUSH4 0xa888c2cd 000000b9: GT 000000ba: PUSH2 0x00ee 000000bd: JUMPI 000000be: DUP1 000000bf: PUSH4 0xa888c2cd 000000c4: EQ 000000c5: PUSH2 0x0521 000000c8: JUMPI 000000c9: DUP1 000000ca: PUSH4 0xaad3e5cc 000000cf: EQ 000000d0: PUSH2 0x0592 000000d3: JUMPI 000000d4: DUP1 000000d5: PUSH4 0xaca85118 000000da: EQ 000000db: PUSH2 0x05a7 000000de: JUMPI 000000df: DUP1 000000e0: PUSH4 0xb63c154d 000000e5: EQ 000000e6: PUSH2 0x05bc 000000e9: JUMPI 000000ea: PUSH2 0x01f5 000000ed: JUMP 000000ee: JUMPDEST 000000ef: DUP1 000000f0: PUSH4 0x7a66a4dc 000000f5: EQ 000000f6: PUSH2 0x04ac 000000f9: JUMPI 000000fa: DUP1 000000fb: PUSH4 0x8a87b5c5 00000100: EQ 00000101: PUSH2 0x04e2 00000104: JUMPI 00000105: DUP1 00000106: PUSH4 0x8da5cb5b 0000010b: EQ 0000010c: PUSH2 0x04f7 0000010f: JUMPI 00000110: DUP1 00000111: PUSH4 0x989c8f5e 00000116: EQ 00000117: PUSH2 0x050c 0000011a: JUMPI 0000011b: PUSH2 0x01f5 0000011e: JUMP 0000011f: JUMPDEST 00000120: DUP1 00000121: PUSH4 0x5f238402 00000126: GT 00000127: PUSH2 0x0197 0000012a: JUMPI 0000012b: DUP1 0000012c: PUSH4 0x6dc7a627 00000131: GT 00000132: PUSH2 0x0166 00000135: JUMPI 00000136: DUP1 00000137: PUSH4 0x6dc7a627 0000013c: EQ 0000013d: PUSH2 0x03db 00000140: JUMPI 00000141: DUP1 00000142: PUSH4 0x704b6c02 00000147: EQ 00000148: PUSH2 0x03f0 0000014b: JUMPI 0000014c: DUP1 0000014d: PUSH4 0x705c4bff 00000152: EQ 00000153: PUSH2 0x0423 00000156: JUMPI 00000157: DUP1 00000158: PUSH4 0x764f025d 0000015d: EQ 0000015e: PUSH2 0x0453 00000161: JUMPI 00000162: PUSH2 0x01f5 00000165: JUMP 00000166: JUMPDEST 00000167: DUP1 00000168: PUSH4 0x5f238402 0000016d: EQ 0000016e: PUSH2 0x0387 00000171: JUMPI 00000172: DUP1 00000173: PUSH4 0x60795d80 00000178: EQ 00000179: PUSH2 0x039c 0000017c: JUMPI 0000017d: DUP1 0000017e: PUSH4 0x6621ebfb 00000183: EQ 00000184: PUSH2 0x03b1 00000187: JUMPI 00000188: DUP1 00000189: PUSH4 0x6d2b5fd5 0000018e: EQ 0000018f: PUSH2 0x03c6 00000192: JUMPI 00000193: PUSH2 0x01f5 00000196: JUMP 00000197: JUMPDEST 00000198: DUP1 00000199: PUSH4 0x405b8453 0000019e: GT 0000019f: PUSH2 0x01d3 000001a2: JUMPI 000001a3: DUP1 000001a4: PUSH4 0x405b8453 000001a9: EQ 000001aa: PUSH2 0x02ec 000001ad: JUMPI 000001ae: DUP1 000001af: PUSH4 0x4e71d92d 000001b4: EQ 000001b5: PUSH2 0x0301 000001b8: JUMPI 000001b9: DUP1 000001ba: PUSH4 0x51cff8d9 000001bf: EQ 000001c0: PUSH2 0x0316 000001c3: JUMPI 000001c4: DUP1 000001c5: PUSH4 0x520e9f70 000001ca: EQ 000001cb: PUSH2 0x035d 000001ce: JUMPI 000001cf: PUSH2 0x01f5 000001d2: JUMP 000001d3: JUMPDEST 000001d4: DUP1 000001d5: PUSH4 0x1562c491 000001da: EQ 000001db: PUSH2 0x020e 000001de: JUMPI 000001df: DUP1 000001e0: PUSH4 0x3c22d7d5 000001e5: EQ 000001e6: PUSH2 0x0294 000001e9: JUMPI 000001ea: DUP1 000001eb: PUSH4 0x3fc8cef3 000001f0: EQ 000001f1: PUSH2 0x02bb 000001f4: JUMPI 000001f5: JUMPDEST 000001f6: PUSH1 0x03 000001f8: SLOAD 000001f9: PUSH1 0x01 000001fb: PUSH1 0xa0 000001fd: PUSH1 0x02 000001ff: EXP 00000200: SUB 00000201: AND 00000202: CALLER 00000203: EQ 00000204: PUSH2 0x020c 00000207: JUMPI 00000208: PUSH1 0x00 0000020a: DUP1 0000020b: REVERT 0000020c: JUMPDEST 0000020d: STOP 0000020e: JUMPDEST 0000020f: CALLVALUE 00000210: DUP1 00000211: ISZERO 00000212: PUSH2 0x021a 00000215: JUMPI 00000216: PUSH1 0x00 00000218: DUP1 00000219: REVERT 0000021a: JUMPDEST 0000021b: POP 0000021c: PUSH2 0x0267 0000021f: PUSH1 0x04 00000221: DUP1 00000222: CALLDATASIZE 00000223: SUB 00000224: PUSH1 0xc0 00000226: DUP2 00000227: LT 00000228: ISZERO 00000229: PUSH2 0x0231 0000022c: JUMPI 0000022d: PUSH1 0x00 0000022f: DUP1 00000230: REVERT 00000231: JUMPDEST 00000232: POP 00000233: PUSH1 0x01 00000235: PUSH1 0xa0 00000237: PUSH1 0x02 00000239: EXP 0000023a: SUB 0000023b: DUP2 0000023c: CALLDATALOAD 0000023d: DUP2 0000023e: AND 0000023f: SWAP2 00000240: PUSH1 0x20 00000242: DUP2 00000243: ADD 00000244: CALLDATALOAD 00000245: DUP3 00000246: AND 00000247: SWAP2 00000248: PUSH1 0x40 0000024a: DUP3 0000024b: ADD 0000024c: CALLDATALOAD 0000024d: DUP2 0000024e: AND 0000024f: SWAP2 00000250: PUSH1 0x60 00000252: DUP2 00000253: ADD 00000254: CALLDATALOAD 00000255: SWAP1 00000256: SWAP2 00000257: AND 00000258: SWAP1 00000259: PUSH1 0x80 0000025b: DUP2 0000025c: ADD 0000025d: CALLDATALOAD 0000025e: SWAP1 0000025f: PUSH1 0xa0 00000261: ADD 00000262: CALLDATALOAD 00000263: PUSH2 0x087c 00000266: JUMP 00000267: JUMPDEST 00000268: PUSH1 0x40 0000026a: DUP1 0000026b: MLOAD 0000026c: SWAP6 0000026d: DUP7 0000026e: MSTORE 0000026f: PUSH1 0x20 00000271: DUP7 00000272: ADD 00000273: SWAP5 00000274: SWAP1 00000275: SWAP5 00000276: MSTORE 00000277: DUP5 00000278: DUP5 00000279: ADD 0000027a: SWAP3 0000027b: SWAP1 0000027c: SWAP3 0000027d: MSTORE 0000027e: PUSH1 0x60 00000280: DUP5 00000281: ADD 00000282: MSTORE 00000283: ISZERO 00000284: ISZERO 00000285: PUSH1 0x80 00000287: DUP4 00000288: ADD 00000289: MSTORE 0000028a: MLOAD 0000028b: SWAP1 0000028c: DUP2 0000028d: SWAP1 0000028e: SUB 0000028f: PUSH1 0xa0 00000291: ADD 00000292: SWAP1 00000293: RETURN 00000294: JUMPDEST 00000295: CALLVALUE 00000296: DUP1 00000297: ISZERO 00000298: PUSH2 0x02a0 0000029b: JUMPI 0000029c: PUSH1 0x00 0000029e: DUP1 0000029f: REVERT 000002a0: JUMPDEST 000002a1: POP 000002a2: PUSH2 0x02a9 000002a5: PUSH2 0x08d1 000002a8: JUMP 000002a9: JUMPDEST 000002aa: PUSH1 0x40 000002ac: DUP1 000002ad: MLOAD 000002ae: SWAP2 000002af: DUP3 000002b0: MSTORE 000002b1: MLOAD 000002b2: SWAP1 000002b3: DUP2 000002b4: SWAP1 000002b5: SUB 000002b6: PUSH1 0x20 000002b8: ADD 000002b9: SWAP1 000002ba: RETURN 000002bb: JUMPDEST 000002bc: CALLVALUE 000002bd: DUP1 000002be: ISZERO 000002bf: PUSH2 0x02c7 000002c2: JUMPI 000002c3: PUSH1 0x00 000002c5: DUP1 000002c6: REVERT 000002c7: JUMPDEST 000002c8: POP 000002c9: PUSH2 0x02d0 000002cc: PUSH2 0x08d7 000002cf: JUMP 000002d0: JUMPDEST 000002d1: PUSH1 0x40 000002d3: DUP1 000002d4: MLOAD 000002d5: PUSH1 0x01 000002d7: PUSH1 0xa0 000002d9: PUSH1 0x02 000002db: EXP 000002dc: SUB 000002dd: SWAP1 000002de: SWAP3 000002df: AND 000002e0: DUP3 000002e1: MSTORE 000002e2: MLOAD 000002e3: SWAP1 000002e4: DUP2 000002e5: SWAP1 000002e6: SUB 000002e7: PUSH1 0x20 000002e9: ADD 000002ea: SWAP1 000002eb: RETURN 000002ec: JUMPDEST 000002ed: CALLVALUE 000002ee: DUP1 000002ef: ISZERO 000002f0: PUSH2 0x02f8 000002f3: JUMPI 000002f4: PUSH1 0x00 000002f6: DUP1 000002f7: REVERT 000002f8: JUMPDEST 000002f9: POP 000002fa: PUSH2 0x02a9 000002fd: PUSH2 0x08e6 00000300: JUMP 00000301: JUMPDEST 00000302: CALLVALUE 00000303: DUP1 00000304: ISZERO 00000305: PUSH2 0x030d 00000308: JUMPI 00000309: PUSH1 0x00 0000030b: DUP1 0000030c: REVERT 0000030d: JUMPDEST 0000030e: POP 0000030f: PUSH2 0x020c 00000312: PUSH2 0x08ec 00000315: JUMP 00000316: JUMPDEST 00000317: CALLVALUE 00000318: DUP1 00000319: ISZERO 0000031a: PUSH2 0x0322 0000031d: JUMPI 0000031e: PUSH1 0x00 00000320: DUP1 00000321: REVERT 00000322: JUMPDEST 00000323: POP 00000324: PUSH2 0x0349 00000327: PUSH1 0x04 00000329: DUP1 0000032a: CALLDATASIZE 0000032b: SUB 0000032c: PUSH1 0x20 0000032e: DUP2 0000032f: LT 00000330: ISZERO 00000331: PUSH2 0x0339 00000334: JUMPI 00000335: PUSH1 0x00 00000337: DUP1 00000338: REVERT 00000339: JUMPDEST 0000033a: POP 0000033b: CALLDATALOAD 0000033c: PUSH1 0x01 0000033e: PUSH1 0xa0 00000340: PUSH1 0x02 00000342: EXP 00000343: SUB 00000344: AND 00000345: PUSH2 0x0b47 00000348: JUMP 00000349: JUMPDEST 0000034a: PUSH1 0x40 0000034c: DUP1 0000034d: MLOAD 0000034e: SWAP2 0000034f: ISZERO 00000350: ISZERO 00000351: DUP3 00000352: MSTORE 00000353: MLOAD 00000354: SWAP1 00000355: DUP2 00000356: SWAP1 00000357: SUB 00000358: PUSH1 0x20 0000035a: ADD 0000035b: SWAP1 0000035c: RETURN 0000035d: JUMPDEST 0000035e: CALLVALUE 0000035f: DUP1 00000360: ISZERO 00000361: PUSH2 0x0369 00000364: JUMPI 00000365: PUSH1 0x00 00000367: DUP1 00000368: REVERT 00000369: JUMPDEST 0000036a: POP 0000036b: PUSH2 0x020c 0000036e: PUSH1 0x04 00000370: DUP1 00000371: CALLDATASIZE 00000372: SUB 00000373: PUSH1 0x20 00000375: DUP2 00000376: LT 00000377: ISZERO 00000378: PUSH2 0x0380 0000037b: JUMPI 0000037c: PUSH1 0x00 0000037e: DUP1 0000037f: REVERT 00000380: JUMPDEST 00000381: POP 00000382: CALLDATALOAD 00000383: PUSH2 0x0cdd 00000386: JUMP 00000387: JUMPDEST 00000388: CALLVALUE 00000389: DUP1 0000038a: ISZERO 0000038b: PUSH2 0x0393 0000038e: JUMPI 0000038f: PUSH1 0x00 00000391: DUP1 00000392: REVERT 00000393: JUMPDEST 00000394: POP 00000395: PUSH2 0x02a9 00000398: PUSH2 0x0cf9 0000039b: JUMP 0000039c: JUMPDEST 0000039d: CALLVALUE 0000039e: DUP1 0000039f: ISZERO 000003a0: PUSH2 0x03a8 000003a3: JUMPI 000003a4: PUSH1 0x00 000003a6: DUP1 000003a7: REVERT 000003a8: JUMPDEST 000003a9: POP 000003aa: PUSH2 0x020c 000003ad: PUSH2 0x0cff 000003b0: JUMP 000003b1: JUMPDEST 000003b2: CALLVALUE 000003b3: DUP1 000003b4: ISZERO 000003b5: PUSH2 0x03bd 000003b8: JUMPI 000003b9: PUSH1 0x00 000003bb: DUP1 000003bc: REVERT 000003bd: JUMPDEST 000003be: POP 000003bf: PUSH2 0x02d0 000003c2: PUSH2 0x0e40 000003c5: JUMP 000003c6: JUMPDEST 000003c7: CALLVALUE 000003c8: DUP1 000003c9: ISZERO 000003ca: PUSH2 0x03d2 000003cd: JUMPI 000003ce: PUSH1 0x00 000003d0: DUP1 000003d1: REVERT 000003d2: JUMPDEST 000003d3: POP 000003d4: PUSH2 0x02a9 000003d7: PUSH2 0x0e4f 000003da: JUMP 000003db: JUMPDEST 000003dc: CALLVALUE 000003dd: DUP1 000003de: ISZERO 000003df: PUSH2 0x03e7 000003e2: JUMPI 000003e3: PUSH1 0x00 000003e5: DUP1 000003e6: REVERT 000003e7: JUMPDEST 000003e8: POP 000003e9: PUSH2 0x0349 000003ec: PUSH2 0x0e55 000003ef: JUMP 000003f0: JUMPDEST 000003f1: CALLVALUE 000003f2: DUP1 000003f3: ISZERO 000003f4: PUSH2 0x03fc 000003f7: JUMPI 000003f8: PUSH1 0x00 000003fa: DUP1 000003fb: REVERT 000003fc: JUMPDEST 000003fd: POP 000003fe: PUSH2 0x020c 00000401: PUSH1 0x04 00000403: DUP1 00000404: CALLDATASIZE 00000405: SUB 00000406: PUSH1 0x20 00000408: DUP2 00000409: LT 0000040a: ISZERO 0000040b: PUSH2 0x0413 0000040e: JUMPI 0000040f: PUSH1 0x00 00000411: DUP1 00000412: REVERT 00000413: JUMPDEST 00000414: POP 00000415: CALLDATALOAD 00000416: PUSH1 0x01 00000418: PUSH1 0xa0 0000041a: PUSH1 0x02 0000041c: EXP 0000041d: SUB 0000041e: AND 0000041f: PUSH2 0x0f38 00000422: JUMP 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 0x020c 00000434: PUSH1 0x04 00000436: DUP1 00000437: CALLDATASIZE 00000438: SUB 00000439: PUSH1 0x40 0000043b: DUP2 0000043c: LT 0000043d: ISZERO 0000043e: PUSH2 0x0446 00000441: JUMPI 00000442: PUSH1 0x00 00000444: DUP1 00000445: REVERT 00000446: JUMPDEST 00000447: POP 00000448: DUP1 00000449: CALLDATALOAD 0000044a: SWAP1 0000044b: PUSH1 0x20 0000044d: ADD 0000044e: CALLDATALOAD 0000044f: PUSH2 0x0f7e 00000452: JUMP 00000453: JUMPDEST 00000454: CALLVALUE 00000455: DUP1 00000456: ISZERO 00000457: PUSH2 0x045f 0000045a: JUMPI 0000045b: PUSH1 0x00 0000045d: DUP1 0000045e: REVERT 0000045f: JUMPDEST 00000460: POP 00000461: PUSH2 0x020c 00000464: PUSH1 0x04 00000466: DUP1 00000467: CALLDATASIZE 00000468: SUB 00000469: PUSH1 0xc0 0000046b: DUP2 0000046c: LT 0000046d: ISZERO 0000046e: PUSH2 0x0476 00000471: JUMPI 00000472: PUSH1 0x00 00000474: DUP1 00000475: REVERT 00000476: JUMPDEST 00000477: POP 00000478: PUSH1 0x01 0000047a: PUSH1 0xa0 0000047c: PUSH1 0x02 0000047e: EXP 0000047f: SUB 00000480: DUP2 00000481: CALLDATALOAD 00000482: DUP2 00000483: AND 00000484: SWAP2 00000485: PUSH1 0x20 00000487: DUP2 00000488: ADD 00000489: CALLDATALOAD 0000048a: DUP3 0000048b: AND 0000048c: SWAP2 0000048d: PUSH1 0x40 0000048f: DUP3 00000490: ADD 00000491: CALLDATALOAD 00000492: DUP2 00000493: AND 00000494: SWAP2 00000495: PUSH1 0x60 00000497: DUP2 00000498: ADD 00000499: CALLDATALOAD 0000049a: SWAP1 0000049b: SWAP2 0000049c: AND 0000049d: SWAP1 0000049e: PUSH1 0x80 000004a0: DUP2 000004a1: ADD 000004a2: CALLDATALOAD 000004a3: SWAP1 000004a4: PUSH1 0xa0 000004a6: ADD 000004a7: CALLDATALOAD 000004a8: PUSH2 0x0fa0 000004ab: JUMP 000004ac: JUMPDEST 000004ad: PUSH2 0x02a9 000004b0: PUSH1 0x04 000004b2: DUP1 000004b3: CALLDATASIZE 000004b4: SUB 000004b5: PUSH1 0x60 000004b7: DUP2 000004b8: LT 000004b9: ISZERO 000004ba: PUSH2 0x04c2 000004bd: JUMPI 000004be: PUSH1 0x00 000004c0: DUP1 000004c1: REVERT 000004c2: JUMPDEST 000004c3: POP 000004c4: PUSH1 0x01 000004c6: PUSH1 0xa0 000004c8: PUSH1 0x02 000004ca: EXP 000004cb: SUB 000004cc: DUP2 000004cd: CALLDATALOAD 000004ce: DUP2 000004cf: AND 000004d0: SWAP2 000004d1: PUSH1 0x20 000004d3: DUP2 000004d4: ADD 000004d5: CALLDATALOAD 000004d6: SWAP1 000004d7: SWAP2 000004d8: AND 000004d9: SWAP1 000004da: PUSH1 0x40 000004dc: ADD 000004dd: CALLDATALOAD 000004de: PUSH2 0x171e 000004e1: JUMP 000004e2: JUMPDEST 000004e3: CALLVALUE 000004e4: DUP1 000004e5: ISZERO 000004e6: PUSH2 0x04ee 000004e9: JUMPI 000004ea: PUSH1 0x00 000004ec: DUP1 000004ed: REVERT 000004ee: JUMPDEST 000004ef: POP 000004f0: PUSH2 0x02a9 000004f3: PUSH2 0x18a5 000004f6: JUMP 000004f7: JUMPDEST 000004f8: CALLVALUE 000004f9: DUP1 000004fa: ISZERO 000004fb: PUSH2 0x0503 000004fe: JUMPI 000004ff: PUSH1 0x00 00000501: DUP1 00000502: REVERT 00000503: JUMPDEST 00000504: POP 00000505: PUSH2 0x02d0 00000508: PUSH2 0x18ab 0000050b: JUMP 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 0x0349 0000051d: PUSH2 0x18ba 00000520: JUMP 00000521: JUMPDEST 00000522: CALLVALUE 00000523: DUP1 00000524: ISZERO 00000525: PUSH2 0x052d 00000528: JUMPI 00000529: PUSH1 0x00 0000052b: DUP1 0000052c: REVERT 0000052d: JUMPDEST 0000052e: POP 0000052f: PUSH2 0x054b 00000532: PUSH1 0x04 00000534: DUP1 00000535: CALLDATASIZE 00000536: SUB 00000537: PUSH1 0x20 00000539: DUP2 0000053a: LT 0000053b: ISZERO 0000053c: PUSH2 0x0544 0000053f: JUMPI 00000540: PUSH1 0x00 00000542: DUP1 00000543: REVERT 00000544: JUMPDEST 00000545: POP 00000546: CALLDATALOAD 00000547: PUSH2 0x1968 0000054a: JUMP 0000054b: JUMPDEST 0000054c: PUSH1 0x40 0000054e: DUP1 0000054f: MLOAD 00000550: SWAP8 00000551: DUP9 00000552: MSTORE 00000553: PUSH1 0x01 00000555: PUSH1 0xa0 00000557: PUSH1 0x02 00000559: EXP 0000055a: SUB 0000055b: SWAP7 0000055c: DUP8 0000055d: AND 0000055e: PUSH1 0x20 00000560: DUP10 00000561: ADD 00000562: MSTORE 00000563: SWAP5 00000564: DUP7 00000565: AND 00000566: DUP8 00000567: DUP7 00000568: ADD 00000569: MSTORE 0000056a: SWAP3 0000056b: SWAP1 0000056c: SWAP5 0000056d: AND 0000056e: PUSH1 0x60 00000570: DUP7 00000571: ADD 00000572: MSTORE 00000573: PUSH1 0x80 00000575: DUP6 00000576: ADD 00000577: MSTORE 00000578: PUSH1 0xa0 0000057a: DUP5 0000057b: ADD 0000057c: SWAP3 0000057d: SWAP1 0000057e: SWAP3 0000057f: MSTORE 00000580: PUSH1 0xc0 00000582: DUP4 00000583: ADD 00000584: SWAP2 00000585: SWAP1 00000586: SWAP2 00000587: MSTORE 00000588: MLOAD 00000589: SWAP1 0000058a: DUP2 0000058b: SWAP1 0000058c: SUB 0000058d: PUSH1 0xe0 0000058f: ADD 00000590: SWAP1 00000591: RETURN 00000592: JUMPDEST 00000593: CALLVALUE 00000594: DUP1 00000595: ISZERO 00000596: PUSH2 0x059e 00000599: JUMPI 0000059a: PUSH1 0x00 0000059c: DUP1 0000059d: REVERT 0000059e: JUMPDEST 0000059f: POP 000005a0: PUSH2 0x02d0 000005a3: PUSH2 0x19b3 000005a6: JUMP 000005a7: JUMPDEST 000005a8: CALLVALUE 000005a9: DUP1 000005aa: ISZERO 000005ab: PUSH2 0x05b3 000005ae: JUMPI 000005af: PUSH1 0x00 000005b1: DUP1 000005b2: REVERT 000005b3: JUMPDEST 000005b4: POP 000005b5: PUSH2 0x02a9 000005b8: PUSH2 0x19c2 000005bb: JUMP 000005bc: JUMPDEST 000005bd: CALLVALUE 000005be: DUP1 000005bf: ISZERO 000005c0: PUSH2 0x05c8 000005c3: JUMPI 000005c4: PUSH1 0x00 000005c6: DUP1 000005c7: REVERT 000005c8: JUMPDEST 000005c9: POP 000005ca: PUSH2 0x020c 000005cd: PUSH1 0x04 000005cf: DUP1 000005d0: CALLDATASIZE 000005d1: SUB 000005d2: PUSH1 0x20 000005d4: DUP2 000005d5: LT 000005d6: ISZERO 000005d7: PUSH2 0x05df 000005da: JUMPI 000005db: PUSH1 0x00 000005dd: DUP1 000005de: REVERT 000005df: JUMPDEST 000005e0: POP 000005e1: CALLDATALOAD 000005e2: PUSH1 0x01 000005e4: PUSH1 0xa0 000005e6: PUSH1 0x02 000005e8: EXP 000005e9: SUB 000005ea: AND 000005eb: PUSH2 0x19c8 000005ee: JUMP 000005ef: JUMPDEST 000005f0: CALLVALUE 000005f1: DUP1 000005f2: ISZERO 000005f3: PUSH2 0x05fb 000005f6: JUMPI 000005f7: PUSH1 0x00 000005f9: DUP1 000005fa: REVERT 000005fb: JUMPDEST 000005fc: POP 000005fd: PUSH2 0x02a9 00000600: PUSH1 0x04 00000602: DUP1 00000603: CALLDATASIZE 00000604: SUB 00000605: PUSH1 0x80 00000607: DUP2 00000608: LT 00000609: ISZERO 0000060a: PUSH2 0x0612 0000060d: JUMPI 0000060e: PUSH1 0x00 00000610: DUP1 00000611: REVERT 00000612: JUMPDEST 00000613: POP 00000614: DUP1 00000615: CALLDATALOAD 00000616: SWAP1 00000617: PUSH1 0x01 00000619: PUSH1 0xa0 0000061b: PUSH1 0x02 0000061d: EXP 0000061e: SUB 0000061f: PUSH1 0x20 00000621: DUP3 00000622: ADD 00000623: CALLDATALOAD 00000624: DUP2 00000625: AND 00000626: SWAP2 00000627: PUSH1 0x40 00000629: DUP2 0000062a: ADD 0000062b: CALLDATALOAD 0000062c: SWAP2 0000062d: PUSH1 0x60 0000062f: SWAP1 00000630: SWAP2 00000631: ADD 00000632: CALLDATALOAD 00000633: AND 00000634: PUSH2 0x1b75 00000637: JUMP 00000638: JUMPDEST 00000639: CALLVALUE 0000063a: DUP1 0000063b: ISZERO 0000063c: PUSH2 0x0644 0000063f: JUMPI 00000640: PUSH1 0x00 00000642: DUP1 00000643: REVERT 00000644: JUMPDEST 00000645: POP 00000646: PUSH2 0x02d0 00000649: PUSH2 0x1d0b 0000064c: JUMP 0000064d: JUMPDEST 0000064e: PUSH2 0x06cd 00000651: PUSH1 0x04 00000653: DUP1 00000654: CALLDATASIZE 00000655: SUB 00000656: PUSH1 0x40 00000658: DUP2 00000659: LT 0000065a: ISZERO 0000065b: PUSH2 0x0663 0000065e: JUMPI 0000065f: PUSH1 0x00 00000661: DUP1 00000662: REVERT 00000663: JUMPDEST 00000664: PUSH1 0x01 00000666: PUSH1 0xa0 00000668: PUSH1 0x02 0000066a: EXP 0000066b: SUB 0000066c: DUP3 0000066d: CALLDATALOAD 0000066e: AND 0000066f: SWAP2 00000670: SWAP1 00000671: DUP2 00000672: ADD 00000673: SWAP1 00000674: PUSH1 0x40 00000676: DUP2 00000677: ADD 00000678: PUSH1 0x20 0000067a: DUP3 0000067b: ADD 0000067c: CALLDATALOAD 0000067d: PUSH5 0x0100000000 00000683: DUP2 00000684: GT 00000685: ISZERO 00000686: PUSH2 0x068e 00000689: JUMPI 0000068a: PUSH1 0x00 0000068c: DUP1 0000068d: REVERT 0000068e: JUMPDEST 0000068f: DUP3 00000690: ADD 00000691: DUP4 00000692: PUSH1 0x20 00000694: DUP3 00000695: ADD 00000696: GT 00000697: ISZERO 00000698: PUSH2 0x06a0 0000069b: JUMPI 0000069c: PUSH1 0x00 0000069e: DUP1 0000069f: REVERT 000006a0: JUMPDEST 000006a1: DUP1 000006a2: CALLDATALOAD 000006a3: SWAP1 000006a4: PUSH1 0x20 000006a6: ADD 000006a7: SWAP2 000006a8: DUP5 000006a9: PUSH1 0x01 000006ab: DUP4 000006ac: MUL 000006ad: DUP5 000006ae: ADD 000006af: GT 000006b0: PUSH5 0x0100000000 000006b6: DUP4 000006b7: GT 000006b8: OR 000006b9: ISZERO 000006ba: PUSH2 0x06c2 000006bd: JUMPI 000006be: PUSH1 0x00 000006c0: DUP1 000006c1: REVERT 000006c2: JUMPDEST 000006c3: POP 000006c4: SWAP1 000006c5: SWAP3 000006c6: POP 000006c7: SWAP1 000006c8: POP 000006c9: PUSH2 0x1d1a 000006cc: JUMP 000006cd: JUMPDEST 000006ce: PUSH1 0x40 000006d0: MLOAD 000006d1: DUP1 000006d2: DUP4 000006d3: ISZERO 000006d4: ISZERO 000006d5: ISZERO 000006d6: ISZERO 000006d7: DUP2 000006d8: MSTORE 000006d9: PUSH1 0x20 000006db: ADD 000006dc: DUP1 000006dd: PUSH1 0x20 000006df: ADD 000006e0: DUP3 000006e1: DUP2 000006e2: SUB 000006e3: DUP3 000006e4: MSTORE 000006e5: DUP4 000006e6: DUP2 000006e7: DUP2 000006e8: MLOAD 000006e9: DUP2 000006ea: MSTORE 000006eb: PUSH1 0x20 000006ed: ADD 000006ee: SWAP2 000006ef: POP 000006f0: DUP1 000006f1: MLOAD 000006f2: SWAP1 000006f3: PUSH1 0x20 000006f5: ADD 000006f6: SWAP1 000006f7: DUP1 000006f8: DUP4 000006f9: DUP4 000006fa: PUSH1 0x00 000006fc: JUMPDEST 000006fd: DUP4 000006fe: DUP2 000006ff: LT 00000700: ISZERO 00000701: PUSH2 0x0714 00000704: JUMPI 00000705: DUP2 00000706: DUP2 00000707: ADD 00000708: MLOAD 00000709: DUP4 0000070a: DUP3 0000070b: ADD 0000070c: MSTORE 0000070d: PUSH1 0x20 0000070f: ADD 00000710: PUSH2 0x06fc 00000713: JUMP 00000714: JUMPDEST 00000715: POP 00000716: POP 00000717: POP 00000718: POP 00000719: SWAP1 0000071a: POP 0000071b: SWAP1 0000071c: DUP2 0000071d: ADD 0000071e: SWAP1 0000071f: PUSH1 0x1f 00000721: AND 00000722: DUP1 00000723: ISZERO 00000724: PUSH2 0x0741 00000727: JUMPI 00000728: DUP1 00000729: DUP3 0000072a: SUB 0000072b: DUP1 0000072c: MLOAD 0000072d: PUSH1 0x01 0000072f: DUP4 00000730: PUSH1 0x20 00000732: SUB 00000733: PUSH2 0x0100 00000736: EXP 00000737: SUB 00000738: NOT 00000739: AND 0000073a: DUP2 0000073b: MSTORE 0000073c: PUSH1 0x20 0000073e: ADD 0000073f: SWAP2 00000740: POP 00000741: JUMPDEST 00000742: POP 00000743: SWAP4 00000744: POP 00000745: POP 00000746: POP 00000747: POP 00000748: PUSH1 0x40 0000074a: MLOAD 0000074b: DUP1 0000074c: SWAP2 0000074d: SUB 0000074e: SWAP1 0000074f: RETURN 00000750: JUMPDEST 00000751: CALLVALUE 00000752: DUP1 00000753: ISZERO 00000754: PUSH2 0x075c 00000757: JUMPI 00000758: PUSH1 0x00 0000075a: DUP1 0000075b: REVERT 0000075c: JUMPDEST 0000075d: POP 0000075e: PUSH2 0x020c 00000761: PUSH2 0x1da7 00000764: JUMP 00000765: JUMPDEST 00000766: CALLVALUE 00000767: DUP1 00000768: ISZERO 00000769: PUSH2 0x0771 0000076c: JUMPI 0000076d: PUSH1 0x00 0000076f: DUP1 00000770: REVERT 00000771: JUMPDEST 00000772: POP 00000773: PUSH2 0x020c 00000776: PUSH1 0x04 00000778: DUP1 00000779: CALLDATASIZE 0000077a: SUB 0000077b: PUSH1 0x20 0000077d: DUP2 0000077e: LT 0000077f: ISZERO 00000780: PUSH2 0x0788 00000783: JUMPI 00000784: PUSH1 0x00 00000786: DUP1 00000787: REVERT 00000788: JUMPDEST 00000789: POP 0000078a: CALLDATALOAD 0000078b: PUSH1 0x01 0000078d: PUSH1 0xa0 0000078f: PUSH1 0x02 00000791: EXP 00000792: SUB 00000793: AND 00000794: PUSH2 0x1dd9 00000797: JUMP 00000798: JUMPDEST 00000799: CALLVALUE 0000079a: DUP1 0000079b: ISZERO 0000079c: PUSH2 0x07a4 0000079f: JUMPI 000007a0: PUSH1 0x00 000007a2: DUP1 000007a3: REVERT 000007a4: JUMPDEST 000007a5: POP 000007a6: PUSH2 0x02d0 000007a9: PUSH2 0x1f41 000007ac: JUMP 000007ad: JUMPDEST 000007ae: CALLVALUE 000007af: DUP1 000007b0: ISZERO 000007b1: PUSH2 0x07b9 000007b4: JUMPI 000007b5: PUSH1 0x00 000007b7: DUP1 000007b8: REVERT 000007b9: JUMPDEST 000007ba: POP 000007bb: PUSH2 0x0806 000007be: PUSH1 0x04 000007c0: DUP1 000007c1: CALLDATASIZE 000007c2: SUB 000007c3: PUSH1 0xc0 000007c5: DUP2 000007c6: LT 000007c7: ISZERO 000007c8: PUSH2 0x07d0 000007cb: JUMPI 000007cc: PUSH1 0x00 000007ce: DUP1 000007cf: REVERT 000007d0: JUMPDEST 000007d1: POP 000007d2: PUSH1 0x01 000007d4: PUSH1 0xa0 000007d6: PUSH1 0x02 000007d8: EXP 000007d9: SUB 000007da: DUP2 000007db: CALLDATALOAD 000007dc: DUP2 000007dd: AND 000007de: SWAP2 000007df: PUSH1 0x20 000007e1: DUP2 000007e2: ADD 000007e3: CALLDATALOAD 000007e4: DUP3 000007e5: AND 000007e6: SWAP2 000007e7: PUSH1 0x40 000007e9: DUP3 000007ea: ADD 000007eb: CALLDATALOAD 000007ec: DUP2 000007ed: AND 000007ee: SWAP2 000007ef: PUSH1 0x60 000007f1: DUP2 000007f2: ADD 000007f3: CALLDATALOAD 000007f4: SWAP1 000007f5: SWAP2 000007f6: AND 000007f7: SWAP1 000007f8: PUSH1 0x80 000007fa: DUP2 000007fb: ADD 000007fc: CALLDATALOAD 000007fd: SWAP1 000007fe: PUSH1 0xa0 00000800: ADD 00000801: CALLDATALOAD 00000802: PUSH2 0x1f50 00000805: JUMP 00000806: JUMPDEST 00000807: PUSH1 0x40 00000809: DUP1 0000080a: MLOAD 0000080b: SWAP7 0000080c: DUP8 0000080d: MSTORE 0000080e: SWAP5 0000080f: ISZERO 00000810: ISZERO 00000811: PUSH1 0x20 00000813: DUP8 00000814: ADD 00000815: MSTORE 00000816: DUP6 00000817: DUP6 00000818: ADD 00000819: SWAP4 0000081a: SWAP1 0000081b: SWAP4 0000081c: MSTORE 0000081d: PUSH1 0x60 0000081f: DUP6 00000820: ADD 00000821: SWAP2 00000822: SWAP1 00000823: SWAP2 00000824: MSTORE 00000825: PUSH1 0x80 00000827: DUP5 00000828: ADD 00000829: MSTORE 0000082a: PUSH1 0xa0 0000082c: DUP4 0000082d: ADD 0000082e: MSTORE 0000082f: MLOAD 00000830: SWAP1 00000831: DUP2 00000832: SWAP1 00000833: SUB 00000834: PUSH1 0xc0 00000836: ADD 00000837: SWAP1 00000838: RETURN 00000839: JUMPDEST 0000083a: CALLVALUE 0000083b: DUP1 0000083c: ISZERO 0000083d: PUSH2 0x0845 00000840: JUMPI 00000841: PUSH1 0x00 00000843: DUP1 00000844: REVERT 00000845: JUMPDEST 00000846: POP 00000847: PUSH2 0x0349 0000084a: PUSH1 0x04 0000084c: DUP1 0000084d: CALLDATASIZE 0000084e: SUB 0000084f: PUSH1 0x60 00000851: DUP2 00000852: LT 00000853: ISZERO 00000854: PUSH2 0x085c 00000857: JUMPI 00000858: PUSH1 0x00 0000085a: DUP1 0000085b: REVERT 0000085c: JUMPDEST 0000085d: POP 0000085e: PUSH1 0x01 00000860: PUSH1 0xa0 00000862: PUSH1 0x02 00000864: EXP 00000865: SUB 00000866: DUP2 00000867: CALLDATALOAD 00000868: DUP2 00000869: AND 0000086a: SWAP2 0000086b: PUSH1 0x20 0000086d: DUP2 0000086e: ADD 0000086f: CALLDATALOAD 00000870: SWAP1 00000871: SWAP2 00000872: AND 00000873: SWAP1 00000874: PUSH1 0x40 00000876: ADD 00000877: CALLDATALOAD 00000878: PUSH2 0x1fab 0000087b: JUMP 0000087c: JUMPDEST 0000087d: PUSH1 0x00 0000087f: DUP1 00000880: PUSH1 0x00 00000882: DUP1 00000883: PUSH1 0x00 00000885: PUSH2 0x088c 00000888: PUSH2 0x28f6 0000088b: JUMP 0000088c: JUMPDEST 0000088d: PUSH2 0x089a 00000890: DUP13 00000891: DUP13 00000892: DUP13 00000893: DUP13 00000894: DUP13 00000895: DUP13 00000896: PUSH2 0x20c6 00000899: JUMP 0000089a: JUMPDEST 0000089b: SWAP1 0000089c: POP 0000089d: DUP1 0000089e: PUSH1 0xc0 000008a0: ADD 000008a1: MLOAD 000008a2: DUP2 000008a3: PUSH1 0xe0 000008a5: ADD 000008a6: MLOAD 000008a7: DUP3 000008a8: PUSH2 0x0100 000008ab: ADD 000008ac: MLOAD 000008ad: DUP4 000008ae: PUSH2 0x0120 000008b1: ADD 000008b2: MLOAD 000008b3: DUP5 000008b4: PUSH2 0x0140 000008b7: ADD 000008b8: MLOAD 000008b9: SWAP6 000008ba: POP 000008bb: SWAP6 000008bc: POP 000008bd: SWAP6 000008be: POP 000008bf: SWAP6 000008c0: POP 000008c1: SWAP6 000008c2: POP 000008c3: POP 000008c4: SWAP7 000008c5: POP 000008c6: SWAP7 000008c7: POP 000008c8: SWAP7 000008c9: POP 000008ca: SWAP7 000008cb: POP 000008cc: SWAP7 000008cd: SWAP2 000008ce: POP 000008cf: POP 000008d0: JUMP 000008d1: JUMPDEST 000008d2: PUSH1 0x0b 000008d4: SLOAD 000008d5: DUP2 000008d6: JUMP 000008d7: JUMPDEST 000008d8: PUSH1 0x03 000008da: SLOAD 000008db: PUSH1 0x01 000008dd: PUSH1 0xa0 000008df: PUSH1 0x02 000008e1: EXP 000008e2: SUB 000008e3: AND 000008e4: DUP2 000008e5: JUMP 000008e6: JUMPDEST 000008e7: PUSH1 0x07 000008e9: SLOAD 000008ea: DUP2 000008eb: JUMP 000008ec: JUMPDEST 000008ed: PUSH1 0x05 000008ef: SLOAD 000008f0: PUSH1 0x01 000008f2: PUSH1 0xa0 000008f4: PUSH1 0x02 000008f6: EXP 000008f7: SUB 000008f8: AND 000008f9: CALLER 000008fa: EQ 000008fb: DUP1 000008fc: PUSH2 0x090f 000008ff: JUMPI 00000900: POP 00000901: PUSH1 0x04 00000903: SLOAD 00000904: PUSH1 0x01 00000906: PUSH1 0xa0 00000908: PUSH1 0x02 0000090a: EXP 0000090b: SUB 0000090c: AND 0000090d: CALLER 0000090e: EQ 0000090f: JUMPDEST 00000910: ISZERO 00000911: ISZERO 00000912: PUSH2 0x091a 00000915: JUMPI 00000916: PUSH1 0x00 00000918: DUP1 00000919: REVERT 0000091a: JUMPDEST 0000091b: PUSH2 0x0922 0000091e: PUSH2 0x0e55 00000921: JUMP 00000922: JUMPDEST 00000923: ISZERO 00000924: ISZERO 00000925: PUSH2 0x092d 00000928: JUMPI 00000929: PUSH1 0x00 0000092b: DUP1 0000092c: REVERT 0000092d: JUMPDEST 0000092e: PUSH1 0x0b 00000930: SLOAD 00000931: PUSH1 0x00 00000933: SWAP1 00000934: DUP2 00000935: MSTORE 00000936: PUSH1 0x0a 00000938: PUSH1 0x20 0000093a: MSTORE 0000093b: PUSH1 0x40 0000093d: DUP1 0000093e: DUP3 0000093f: KECCAK256 00000940: DUP1 00000941: SLOAD 00000942: PUSH1 0x01 00000944: DUP3 00000945: ADD 00000946: SLOAD 00000947: PUSH1 0x02 00000949: DUP4 0000094a: ADD 0000094b: SLOAD 0000094c: PUSH1 0x03 0000094e: DUP5 0000094f: ADD 00000950: SLOAD 00000951: PUSH1 0x04 00000953: DUP1 00000954: DUP7 00000955: ADD 00000956: SLOAD 00000957: PUSH1 0x05 00000959: DUP8 0000095a: ADD 0000095b: SLOAD 0000095c: PUSH1 0x06 0000095e: SWAP1 0000095f: SWAP8 00000960: ADD 00000961: SLOAD 00000962: DUP10 00000963: SLOAD 00000964: DUP10 00000965: MLOAD 00000966: PUSH32 0xb029385000000000000000000000000000000000000000000000000000000000 00000987: DUP2 00000988: MSTORE 00000989: PUSH1 0x01 0000098b: PUSH1 0xa0 0000098d: PUSH1 0x02 0000098f: EXP 00000990: SUB 00000991: SWAP8 00000992: DUP9 00000993: AND 00000994: SWAP5 00000995: DUP2 00000996: ADD 00000997: DUP6 00000998: SWAP1 00000999: MSTORE 0000099a: SWAP6 0000099b: DUP8 0000099c: AND 0000099d: PUSH1 0x24 0000099f: DUP8 000009a0: ADD 000009a1: DUP2 000009a2: SWAP1 000009a3: MSTORE 000009a4: ADDRESS 000009a5: PUSH1 0x44 000009a7: DUP9 000009a8: ADD 000009a9: MSTORE 000009aa: PUSH1 0x64 000009ac: DUP8 000009ad: ADD 000009ae: DUP10 000009af: SWAP1 000009b0: MSTORE 000009b1: DUP11 000009b2: MLOAD 000009b3: SWAP9 000009b4: SWAP12 000009b5: SWAP5 000009b6: SWAP11 000009b7: SWAP1 000009b8: SWAP10 000009b9: SWAP6 000009ba: DUP9 000009bb: AND 000009bc: SWAP9 000009bd: SWAP4 000009be: SWAP8 000009bf: SWAP6 000009c0: SWAP7 000009c1: SWAP3 000009c2: SWAP6 000009c3: SWAP1 000009c4: SWAP2 000009c5: AND 000009c6: SWAP3 000009c7: PUSH4 0xb0293850 000009cc: SWAP3 000009cd: PUSH1 0x84 000009cf: DUP1 000009d0: DUP3 000009d1: ADD 000009d2: SWAP4 000009d3: SWAP3 000009d4: SWAP2 000009d5: DUP3 000009d6: SWAP1 000009d7: SUB 000009d8: ADD 000009d9: DUP2 000009da: DUP8 000009db: DUP8 000009dc: DUP1 000009dd: EXTCODESIZE 000009de: ISZERO 000009df: DUP1 000009e0: ISZERO 000009e1: PUSH2 0x09e9 000009e4: JUMPI 000009e5: PUSH1 0x00 000009e7: DUP1 000009e8: REVERT 000009e9: JUMPDEST 000009ea: POP 000009eb: GAS 000009ec: CALL 000009ed: ISZERO 000009ee: DUP1 000009ef: ISZERO 000009f0: PUSH2 0x09fd 000009f3: JUMPI 000009f4: RETURNDATASIZE 000009f5: PUSH1 0x00 000009f7: DUP1 000009f8: RETURNDATACOPY 000009f9: RETURNDATASIZE 000009fa: PUSH1 0x00 000009fc: REVERT 000009fd: JUMPDEST 000009fe: POP 000009ff: POP 00000a00: POP 00000a01: POP 00000a02: PUSH1 0x40 00000a04: MLOAD 00000a05: RETURNDATASIZE 00000a06: PUSH1 0x40 00000a08: DUP2 00000a09: LT 00000a0a: ISZERO 00000a0b: PUSH2 0x0a13 00000a0e: JUMPI 00000a0f: PUSH1 0x00 00000a11: DUP1 00000a12: REVERT 00000a13: JUMPDEST 00000a14: POP 00000a15: MLOAD 00000a16: SWAP1 00000a17: POP 00000a18: PUSH1 0x00 00000a1a: DUP2 00000a1b: GT 00000a1c: ISZERO 00000a1d: PUSH2 0x0ae0 00000a20: JUMPI 00000a21: PUSH1 0x00 00000a23: DUP1 00000a24: SLOAD 00000a25: PUSH1 0x40 00000a27: DUP1 00000a28: MLOAD 00000a29: PUSH32 0xf3fef3a300000000000000000000000000000000000000000000000000000000 00000a4a: DUP2 00000a4b: MSTORE 00000a4c: PUSH1 0x01 00000a4e: PUSH1 0xa0 00000a50: PUSH1 0x02 00000a52: EXP 00000a53: SUB 00000a54: DUP12 00000a55: DUP2 00000a56: AND 00000a57: PUSH1 0x04 00000a59: DUP4 00000a5a: ADD 00000a5b: MSTORE 00000a5c: PUSH1 0x24 00000a5e: DUP3 00000a5f: ADD 00000a60: DUP7 00000a61: SWAP1 00000a62: MSTORE 00000a63: SWAP2 00000a64: MLOAD 00000a65: SWAP2 00000a66: SWAP1 00000a67: SWAP3 00000a68: AND 00000a69: SWAP3 00000a6a: PUSH4 0xf3fef3a3 00000a6f: SWAP3 00000a70: PUSH1 0x44 00000a72: DUP1 00000a73: DUP3 00000a74: ADD 00000a75: SWAP4 00000a76: PUSH1 0x20 00000a78: SWAP4 00000a79: SWAP1 00000a7a: SWAP3 00000a7b: DUP4 00000a7c: SWAP1 00000a7d: SUB 00000a7e: SWAP1 00000a7f: SWAP2 00000a80: ADD 00000a81: SWAP1 00000a82: DUP3 00000a83: SWAP1 00000a84: DUP8 00000a85: DUP1 00000a86: EXTCODESIZE 00000a87: ISZERO 00000a88: DUP1 00000a89: ISZERO 00000a8a: PUSH2 0x0a92 00000a8d: JUMPI 00000a8e: PUSH1 0x00 00000a90: DUP1 00000a91: REVERT 00000a92: JUMPDEST 00000a93: POP 00000a94: GAS 00000a95: CALL 00000a96: ISZERO 00000a97: DUP1 00000a98: ISZERO 00000a99: PUSH2 0x0aa6 00000a9c: JUMPI 00000a9d: RETURNDATASIZE 00000a9e: PUSH1 0x00 00000aa0: DUP1 00000aa1: RETURNDATACOPY 00000aa2: RETURNDATASIZE 00000aa3: PUSH1 0x00 00000aa5: REVERT 00000aa6: JUMPDEST 00000aa7: POP 00000aa8: POP 00000aa9: POP 00000aaa: POP 00000aab: PUSH1 0x40 00000aad: MLOAD 00000aae: RETURNDATASIZE 00000aaf: PUSH1 0x20 00000ab1: DUP2 00000ab2: LT 00000ab3: ISZERO 00000ab4: PUSH2 0x0abc 00000ab7: JUMPI 00000ab8: PUSH1 0x00 00000aba: DUP1 00000abb: REVERT 00000abc: JUMPDEST 00000abd: POP 00000abe: POP 00000abf: PUSH1 0x01 00000ac1: PUSH1 0xa0 00000ac3: PUSH1 0x02 00000ac5: EXP 00000ac6: SUB 00000ac7: DUP8 00000ac8: DUP2 00000ac9: AND 00000aca: SWAP1 00000acb: DUP7 00000acc: AND 00000acd: EQ 00000ace: PUSH2 0x0ae0 00000ad1: JUMPI 00000ad2: PUSH2 0x0add 00000ad5: DUP3 00000ad6: DUP9 00000ad7: DUP4 00000ad8: DUP10 00000ad9: PUSH2 0x2731 00000adc: JUMP 00000add: JUMPDEST 00000ade: SWAP1 00000adf: POP 00000ae0: JUMPDEST 00000ae1: PUSH1 0x0b 00000ae3: DUP1 00000ae4: SLOAD 00000ae5: PUSH1 0x01 00000ae7: ADD 00000ae8: SWAP1 00000ae9: SSTORE 00000aea: PUSH1 0x40 00000aec: DUP1 00000aed: MLOAD 00000aee: DUP6 00000aef: DUP2 00000af0: MSTORE 00000af1: DUP5 00000af2: DUP4 00000af3: ADD 00000af4: PUSH1 0x20 00000af6: DUP3 00000af7: ADD 00000af8: MSTORE 00000af9: TIMESTAMP 00000afa: DUP2 00000afb: DUP4 00000afc: ADD 00000afd: MSTORE 00000afe: SWAP1 00000aff: MLOAD 00000b00: PUSH1 0x01 00000b02: PUSH1 0xa0 00000b04: PUSH1 0x02 00000b06: EXP 00000b07: SUB 00000b08: DUP1 00000b09: DUP9 00000b0a: AND 00000b0b: SWAP3 00000b0c: DUP10 00000b0d: DUP3 00000b0e: AND 00000b0f: SWAP3 00000b10: SWAP2 00000b11: DUP12 00000b12: AND 00000b13: SWAP2 00000b14: PUSH32 0x63a011bd552b9d37485a9e07c03f4a7c6598446a9c07775c60aa9f53f58fd16f 00000b35: SWAP2 00000b36: DUP2 00000b37: SWAP1 00000b38: SUB 00000b39: PUSH1 0x60 00000b3b: ADD 00000b3c: SWAP1 00000b3d: LOG4 00000b3e: POP 00000b3f: POP 00000b40: POP 00000b41: POP 00000b42: POP 00000b43: POP 00000b44: POP 00000b45: POP 00000b46: JUMP 00000b47: JUMPDEST 00000b48: PUSH1 0x04 00000b4a: SLOAD 00000b4b: PUSH1 0x00 00000b4d: SWAP1 00000b4e: PUSH1 0x01 00000b50: PUSH1 0xa0 00000b52: PUSH1 0x02 00000b54: EXP 00000b55: SUB 00000b56: AND 00000b57: CALLER 00000b58: EQ 00000b59: PUSH2 0x0b61 00000b5c: JUMPI 00000b5d: PUSH1 0x00 00000b5f: DUP1 00000b60: REVERT 00000b61: JUMPDEST 00000b62: PUSH1 0x40 00000b64: DUP1 00000b65: MLOAD 00000b66: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00000b87: DUP2 00000b88: MSTORE 00000b89: ADDRESS 00000b8a: PUSH1 0x04 00000b8c: DUP3 00000b8d: ADD 00000b8e: MSTORE 00000b8f: SWAP1 00000b90: MLOAD 00000b91: PUSH1 0x00 00000b93: SWAP2 00000b94: PUSH1 0x01 00000b96: PUSH1 0xa0 00000b98: PUSH1 0x02 00000b9a: EXP 00000b9b: SUB 00000b9c: DUP6 00000b9d: AND 00000b9e: SWAP2 00000b9f: PUSH4 0x70a08231 00000ba4: SWAP2 00000ba5: PUSH1 0x24 00000ba7: DUP1 00000ba8: DUP3 00000ba9: ADD 00000baa: SWAP3 00000bab: PUSH1 0x20 00000bad: SWAP3 00000bae: SWAP1 00000baf: SWAP2 00000bb0: SWAP1 00000bb1: DUP3 00000bb2: SWAP1 00000bb3: SUB 00000bb4: ADD 00000bb5: DUP2 00000bb6: DUP7 00000bb7: DUP1 00000bb8: EXTCODESIZE 00000bb9: ISZERO 00000bba: DUP1 00000bbb: ISZERO 00000bbc: PUSH2 0x0bc4 00000bbf: JUMPI 00000bc0: PUSH1 0x00 00000bc2: DUP1 00000bc3: REVERT 00000bc4: JUMPDEST 00000bc5: POP 00000bc6: GAS 00000bc7: STATICCALL 00000bc8: ISZERO 00000bc9: DUP1 00000bca: ISZERO 00000bcb: PUSH2 0x0bd8 00000bce: JUMPI 00000bcf: RETURNDATASIZE 00000bd0: PUSH1 0x00 00000bd2: DUP1 00000bd3: RETURNDATACOPY 00000bd4: RETURNDATASIZE 00000bd5: PUSH1 0x00 00000bd7: REVERT 00000bd8: JUMPDEST 00000bd9: POP 00000bda: POP 00000bdb: POP 00000bdc: POP 00000bdd: PUSH1 0x40 00000bdf: MLOAD 00000be0: RETURNDATASIZE 00000be1: PUSH1 0x20 00000be3: DUP2 00000be4: LT 00000be5: ISZERO 00000be6: PUSH2 0x0bee 00000be9: JUMPI 00000bea: PUSH1 0x00 00000bec: DUP1 00000bed: REVERT 00000bee: JUMPDEST 00000bef: POP 00000bf0: MLOAD 00000bf1: PUSH1 0x40 00000bf3: DUP1 00000bf4: MLOAD 00000bf5: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00000c16: DUP2 00000c17: MSTORE 00000c18: CALLER 00000c19: PUSH1 0x04 00000c1b: DUP3 00000c1c: ADD 00000c1d: MSTORE 00000c1e: PUSH1 0x24 00000c20: DUP2 00000c21: ADD 00000c22: DUP4 00000c23: SWAP1 00000c24: MSTORE 00000c25: SWAP1 00000c26: MLOAD 00000c27: SWAP2 00000c28: SWAP3 00000c29: POP 00000c2a: PUSH1 0x00 00000c2c: SWAP2 00000c2d: PUSH1 0x01 00000c2f: PUSH1 0xa0 00000c31: PUSH1 0x02 00000c33: EXP 00000c34: SUB 00000c35: DUP7 00000c36: AND 00000c37: SWAP2 00000c38: PUSH4 0xa9059cbb 00000c3d: SWAP2 00000c3e: PUSH1 0x44 00000c40: DUP1 00000c41: DUP4 00000c42: ADD 00000c43: SWAP3 00000c44: PUSH1 0x20 00000c46: SWAP3 00000c47: SWAP2 00000c48: SWAP1 00000c49: DUP3 00000c4a: SWAP1 00000c4b: SUB 00000c4c: ADD 00000c4d: DUP2 00000c4e: DUP8 00000c4f: DUP8 00000c50: DUP1 00000c51: EXTCODESIZE 00000c52: ISZERO 00000c53: DUP1 00000c54: ISZERO 00000c55: PUSH2 0x0c5d 00000c58: JUMPI 00000c59: PUSH1 0x00 00000c5b: DUP1 00000c5c: REVERT 00000c5d: JUMPDEST 00000c5e: POP 00000c5f: GAS 00000c60: CALL 00000c61: ISZERO 00000c62: DUP1 00000c63: ISZERO 00000c64: PUSH2 0x0c71 00000c67: JUMPI 00000c68: RETURNDATASIZE 00000c69: PUSH1 0x00 00000c6b: DUP1 00000c6c: RETURNDATACOPY 00000c6d: RETURNDATASIZE 00000c6e: PUSH1 0x00 00000c70: REVERT 00000c71: JUMPDEST 00000c72: POP 00000c73: POP 00000c74: POP 00000c75: POP 00000c76: PUSH1 0x40 00000c78: MLOAD 00000c79: RETURNDATASIZE 00000c7a: PUSH1 0x20 00000c7c: DUP2 00000c7d: LT 00000c7e: ISZERO 00000c7f: PUSH2 0x0c87 00000c82: JUMPI 00000c83: PUSH1 0x00 00000c85: DUP1 00000c86: REVERT 00000c87: JUMPDEST 00000c88: POP 00000c89: MLOAD 00000c8a: SWAP1 00000c8b: POP 00000c8c: DUP1 00000c8d: ISZERO 00000c8e: PUSH2 0x0cd4 00000c91: JUMPI 00000c92: PUSH1 0x40 00000c94: DUP1 00000c95: MLOAD 00000c96: DUP4 00000c97: DUP2 00000c98: MSTORE 00000c99: TIMESTAMP 00000c9a: PUSH1 0x20 00000c9c: DUP3 00000c9d: ADD 00000c9e: MSTORE 00000c9f: DUP2 00000ca0: MLOAD 00000ca1: PUSH1 0x01 00000ca3: PUSH1 0xa0 00000ca5: PUSH1 0x02 00000ca7: EXP 00000ca8: SUB 00000ca9: DUP8 00000caa: AND 00000cab: SWAP3 00000cac: PUSH32 0xdf273cb619d95419a9cd0ec88123a0538c85064229baa6363788f743fff90deb 00000ccd: SWAP3 00000cce: DUP3 00000ccf: SWAP1 00000cd0: SUB 00000cd1: ADD 00000cd2: SWAP1 00000cd3: LOG2 00000cd4: JUMPDEST 00000cd5: SWAP2 00000cd6: POP 00000cd7: POP 00000cd8: JUMPDEST 00000cd9: SWAP2 00000cda: SWAP1 00000cdb: POP 00000cdc: JUMP 00000cdd: JUMPDEST 00000cde: PUSH1 0x04 00000ce0: SLOAD 00000ce1: PUSH1 0x01 00000ce3: PUSH1 0xa0 00000ce5: PUSH1 0x02 00000ce7: EXP 00000ce8: SUB 00000ce9: AND 00000cea: CALLER 00000ceb: EQ 00000cec: PUSH2 0x0cf4 00000cef: JUMPI 00000cf0: PUSH1 0x00 00000cf2: DUP1 00000cf3: REVERT 00000cf4: JUMPDEST 00000cf5: PUSH1 0x08 00000cf7: SSTORE 00000cf8: JUMP 00000cf9: JUMPDEST 00000cfa: PUSH1 0x09 00000cfc: SLOAD 00000cfd: DUP2 00000cfe: JUMP 00000cff: JUMPDEST 00000d00: PUSH1 0x05 00000d02: SLOAD 00000d03: PUSH1 0x01 00000d05: PUSH1 0xa0 00000d07: PUSH1 0x02 00000d09: EXP 00000d0a: SUB 00000d0b: AND 00000d0c: CALLER 00000d0d: EQ 00000d0e: DUP1 00000d0f: PUSH2 0x0d22 00000d12: JUMPI 00000d13: POP 00000d14: PUSH1 0x04 00000d16: SLOAD 00000d17: PUSH1 0x01 00000d19: PUSH1 0xa0 00000d1b: PUSH1 0x02 00000d1d: EXP 00000d1e: SUB 00000d1f: AND 00000d20: CALLER 00000d21: EQ 00000d22: JUMPDEST 00000d23: ISZERO 00000d24: ISZERO 00000d25: PUSH2 0x0d2d 00000d28: JUMPI 00000d29: PUSH1 0x00 00000d2b: DUP1 00000d2c: REVERT 00000d2d: JUMPDEST 00000d2e: PUSH2 0x0d35 00000d31: PUSH2 0x18ba 00000d34: JUMP 00000d35: JUMPDEST 00000d36: ISZERO 00000d37: ISZERO 00000d38: PUSH2 0x0d40 00000d3b: JUMPI 00000d3c: PUSH1 0x00 00000d3e: DUP1 00000d3f: REVERT 00000d40: JUMPDEST 00000d41: TIMESTAMP 00000d42: PUSH1 0x09 00000d44: SSTORE 00000d45: PUSH1 0x03 00000d47: SLOAD 00000d48: PUSH1 0x08 00000d4a: SLOAD 00000d4b: PUSH1 0x40 00000d4d: DUP1 00000d4e: MLOAD 00000d4f: PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000 00000d70: DUP2 00000d71: MSTORE 00000d72: PUSH1 0x04 00000d74: DUP2 00000d75: ADD 00000d76: SWAP3 00000d77: SWAP1 00000d78: SWAP3 00000d79: MSTORE 00000d7a: MLOAD 00000d7b: PUSH1 0x01 00000d7d: PUSH1 0xa0 00000d7f: PUSH1 0x02 00000d81: EXP 00000d82: SUB 00000d83: SWAP1 00000d84: SWAP3 00000d85: AND 00000d86: SWAP2 00000d87: PUSH4 0x2e1a7d4d 00000d8c: SWAP2 00000d8d: PUSH1 0x24 00000d8f: DUP1 00000d90: DUP3 00000d91: ADD 00000d92: SWAP3 00000d93: PUSH1 0x00 00000d95: SWAP3 00000d96: SWAP1 00000d97: SWAP2 00000d98: SWAP1 00000d99: DUP3 00000d9a: SWAP1 00000d9b: SUB 00000d9c: ADD 00000d9d: DUP2 00000d9e: DUP4 00000d9f: DUP8 00000da0: DUP1 00000da1: EXTCODESIZE 00000da2: ISZERO 00000da3: DUP1 00000da4: ISZERO 00000da5: PUSH2 0x0dad 00000da8: JUMPI 00000da9: PUSH1 0x00 00000dab: DUP1 00000dac: REVERT 00000dad: JUMPDEST 00000dae: POP 00000daf: GAS 00000db0: CALL 00000db1: ISZERO 00000db2: DUP1 00000db3: ISZERO 00000db4: PUSH2 0x0dc1 00000db7: JUMPI 00000db8: RETURNDATASIZE 00000db9: PUSH1 0x00 00000dbb: DUP1 00000dbc: RETURNDATACOPY 00000dbd: RETURNDATASIZE 00000dbe: PUSH1 0x00 00000dc0: REVERT 00000dc1: JUMPDEST 00000dc2: POP 00000dc3: POP 00000dc4: PUSH1 0x05 00000dc6: SLOAD 00000dc7: PUSH1 0x08 00000dc9: SLOAD 00000dca: PUSH1 0x40 00000dcc: MLOAD 00000dcd: PUSH1 0x01 00000dcf: PUSH1 0xa0 00000dd1: PUSH1 0x02 00000dd3: EXP 00000dd4: SUB 00000dd5: SWAP1 00000dd6: SWAP3 00000dd7: AND 00000dd8: SWAP4 00000dd9: POP 00000dda: DUP1 00000ddb: ISZERO 00000ddc: PUSH2 0x08fc 00000ddf: MUL 00000de0: SWAP3 00000de1: POP 00000de2: SWAP1 00000de3: PUSH1 0x00 00000de5: DUP2 00000de6: DUP2 00000de7: DUP2 00000de8: DUP6 00000de9: DUP9 00000dea: DUP9 00000deb: CALL 00000dec: SWAP4 00000ded: POP 00000dee: POP 00000def: POP 00000df0: POP 00000df1: ISZERO 00000df2: DUP1 00000df3: ISZERO 00000df4: PUSH2 0x0e01 00000df7: JUMPI 00000df8: RETURNDATASIZE 00000df9: PUSH1 0x00 00000dfb: DUP1 00000dfc: RETURNDATACOPY 00000dfd: RETURNDATASIZE 00000dfe: PUSH1 0x00 00000e00: REVERT 00000e01: JUMPDEST 00000e02: POP 00000e03: PUSH1 0x08 00000e05: SLOAD 00000e06: PUSH1 0x40 00000e08: DUP1 00000e09: MLOAD 00000e0a: SWAP2 00000e0b: DUP3 00000e0c: MSTORE 00000e0d: TIMESTAMP 00000e0e: PUSH1 0x20 00000e10: DUP4 00000e11: ADD 00000e12: MSTORE 00000e13: DUP1 00000e14: MLOAD 00000e15: PUSH32 0x56de51cbdd1f93c35c25fc73e49ecf0a9dd691ebb5f421e29b37a42bc2ed7607 00000e36: SWAP3 00000e37: DUP2 00000e38: SWAP1 00000e39: SUB 00000e3a: SWAP1 00000e3b: SWAP2 00000e3c: ADD 00000e3d: SWAP1 00000e3e: LOG1 00000e3f: JUMP 00000e40: JUMPDEST 00000e41: PUSH1 0x00 00000e43: SLOAD 00000e44: PUSH1 0x01 00000e46: PUSH1 0xa0 00000e48: PUSH1 0x02 00000e4a: EXP 00000e4b: SUB 00000e4c: AND 00000e4d: DUP2 00000e4e: JUMP 00000e4f: JUMPDEST 00000e50: PUSH1 0x0c 00000e52: SLOAD 00000e53: DUP2 00000e54: JUMP 00000e55: JUMPDEST 00000e56: PUSH1 0x00 00000e58: PUSH1 0x0c 00000e5a: SLOAD 00000e5b: PUSH1 0x0b 00000e5d: SLOAD 00000e5e: EQ 00000e5f: ISZERO 00000e60: PUSH2 0x0e6b 00000e63: JUMPI 00000e64: POP 00000e65: PUSH1 0x00 00000e67: PUSH2 0x0f35 00000e6a: JUMP 00000e6b: JUMPDEST 00000e6c: PUSH1 0x0b 00000e6e: SLOAD 00000e6f: PUSH1 0x00 00000e71: SWAP1 00000e72: DUP2 00000e73: MSTORE 00000e74: PUSH1 0x0a 00000e76: PUSH1 0x20 00000e78: SWAP1 00000e79: DUP2 00000e7a: MSTORE 00000e7b: PUSH1 0x40 00000e7d: DUP1 00000e7e: DUP4 00000e7f: KECCAK256 00000e80: DUP1 00000e81: SLOAD 00000e82: PUSH1 0x01 00000e84: DUP3 00000e85: ADD 00000e86: SLOAD 00000e87: PUSH1 0x02 00000e89: SWAP1 00000e8a: SWAP3 00000e8b: ADD 00000e8c: SLOAD 00000e8d: DUP6 00000e8e: SLOAD 00000e8f: DUP5 00000e90: MLOAD 00000e91: PUSH32 0x14584a9d00000000000000000000000000000000000000000000000000000000 00000eb2: DUP2 00000eb3: MSTORE 00000eb4: PUSH1 0x01 00000eb6: PUSH1 0xa0 00000eb8: PUSH1 0x02 00000eba: EXP 00000ebb: SUB 00000ebc: SWAP5 00000ebd: DUP6 00000ebe: AND 00000ebf: PUSH1 0x04 00000ec1: DUP3 00000ec2: ADD 00000ec3: DUP2 00000ec4: SWAP1 00000ec5: MSTORE 00000ec6: SWAP3 00000ec7: DUP6 00000ec8: AND 00000ec9: PUSH1 0x24 00000ecb: DUP3 00000ecc: ADD 00000ecd: DUP2 00000ece: SWAP1 00000ecf: MSTORE 00000ed0: SWAP6 00000ed1: MLOAD 00000ed2: SWAP4 00000ed3: SWAP8 00000ed4: SWAP3 00000ed5: SWAP7 00000ed6: SWAP3 00000ed7: SWAP5 00000ed8: SWAP1 00000ed9: SWAP2 00000eda: AND 00000edb: SWAP3 00000edc: PUSH4 0x14584a9d 00000ee1: SWAP3 00000ee2: PUSH1 0x44 00000ee4: DUP1 00000ee5: DUP5 00000ee6: ADD 00000ee7: SWAP4 00000ee8: SWAP2 00000ee9: SWAP3 00000eea: SWAP2 00000eeb: DUP3 00000eec: SWAP1 00000eed: SUB 00000eee: ADD 00000eef: DUP2 00000ef0: DUP7 00000ef1: DUP1 00000ef2: EXTCODESIZE 00000ef3: ISZERO 00000ef4: DUP1 00000ef5: ISZERO 00000ef6: PUSH2 0x0efe 00000ef9: JUMPI 00000efa: PUSH1 0x00 00000efc: DUP1 00000efd: REVERT 00000efe: JUMPDEST 00000eff: POP 00000f00: GAS 00000f01: STATICCALL 00000f02: ISZERO 00000f03: DUP1 00000f04: ISZERO 00000f05: PUSH2 0x0f12 00000f08: JUMPI 00000f09: RETURNDATASIZE 00000f0a: PUSH1 0x00 00000f0c: DUP1 00000f0d: RETURNDATACOPY 00000f0e: RETURNDATASIZE 00000f0f: PUSH1 0x00 00000f11: REVERT 00000f12: JUMPDEST 00000f13: POP 00000f14: POP 00000f15: POP 00000f16: POP 00000f17: PUSH1 0x40 00000f19: MLOAD 00000f1a: RETURNDATASIZE 00000f1b: PUSH1 0x20 00000f1d: DUP2 00000f1e: LT 00000f1f: ISZERO 00000f20: PUSH2 0x0f28 00000f23: JUMPI 00000f24: PUSH1 0x00 00000f26: DUP1 00000f27: REVERT 00000f28: JUMPDEST 00000f29: POP 00000f2a: MLOAD 00000f2b: SWAP4 00000f2c: SWAP1 00000f2d: SWAP4 00000f2e: EQ 00000f2f: ISZERO 00000f30: SWAP4 00000f31: POP 00000f32: POP 00000f33: POP 00000f34: POP 00000f35: JUMPDEST 00000f36: SWAP1 00000f37: JUMP 00000f38: JUMPDEST 00000f39: PUSH1 0x04 00000f3b: SLOAD 00000f3c: PUSH1 0x01 00000f3e: PUSH1 0xa0 00000f40: PUSH1 0x02 00000f42: EXP 00000f43: SUB 00000f44: AND 00000f45: CALLER 00000f46: EQ 00000f47: PUSH2 0x0f4f 00000f4a: JUMPI 00000f4b: PUSH1 0x00 00000f4d: DUP1 00000f4e: REVERT 00000f4f: JUMPDEST 00000f50: PUSH1 0x05 00000f52: DUP1 00000f53: SLOAD 00000f54: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 00000f69: NOT 00000f6a: AND 00000f6b: PUSH1 0x01 00000f6d: PUSH1 0xa0 00000f6f: PUSH1 0x02 00000f71: EXP 00000f72: SUB 00000f73: SWAP3 00000f74: SWAP1 00000f75: SWAP3 00000f76: AND 00000f77: SWAP2 00000f78: SWAP1 00000f79: SWAP2 00000f7a: OR 00000f7b: SWAP1 00000f7c: SSTORE 00000f7d: JUMP 00000f7e: JUMPDEST 00000f7f: PUSH1 0x04 00000f81: SLOAD 00000f82: PUSH1 0x01 00000f84: PUSH1 0xa0 00000f86: PUSH1 0x02 00000f88: EXP 00000f89: SUB 00000f8a: AND 00000f8b: CALLER 00000f8c: EQ 00000f8d: PUSH2 0x0f95 00000f90: JUMPI 00000f91: PUSH1 0x00 00000f93: DUP1 00000f94: REVERT 00000f95: JUMPDEST 00000f96: PUSH1 0x06 00000f98: SWAP2 00000f99: SWAP1 00000f9a: SWAP2 00000f9b: SSTORE 00000f9c: PUSH1 0x07 00000f9e: SSTORE 00000f9f: JUMP 00000fa0: JUMPDEST 00000fa1: PUSH1 0x05 00000fa3: SLOAD 00000fa4: PUSH1 0x01 00000fa6: PUSH1 0xa0 00000fa8: PUSH1 0x02 00000faa: EXP 00000fab: SUB 00000fac: AND 00000fad: CALLER 00000fae: EQ 00000faf: DUP1 00000fb0: PUSH2 0x0fc3 00000fb3: JUMPI 00000fb4: POP 00000fb5: PUSH1 0x04 00000fb7: SLOAD 00000fb8: PUSH1 0x01 00000fba: PUSH1 0xa0 00000fbc: PUSH1 0x02 00000fbe: EXP 00000fbf: SUB 00000fc0: AND 00000fc1: CALLER 00000fc2: EQ 00000fc3: JUMPDEST 00000fc4: ISZERO 00000fc5: ISZERO 00000fc6: PUSH2 0x0fce 00000fc9: JUMPI 00000fca: PUSH1 0x00 00000fcc: DUP1 00000fcd: REVERT 00000fce: JUMPDEST 00000fcf: PUSH2 0x0fd6 00000fd2: PUSH2 0x28f6 00000fd5: JUMP 00000fd6: JUMPDEST 00000fd7: PUSH2 0x0fe4 00000fda: DUP8 00000fdb: DUP8 00000fdc: DUP8 00000fdd: DUP8 00000fde: DUP8 00000fdf: DUP8 00000fe0: PUSH2 0x20c6 00000fe3: JUMP 00000fe4: JUMPDEST 00000fe5: SWAP1 00000fe6: POP 00000fe7: DUP1 00000fe8: PUSH2 0x0140 00000feb: ADD 00000fec: MLOAD 00000fed: ISZERO 00000fee: ISZERO 00000fef: PUSH2 0x104d 00000ff2: JUMPI 00000ff3: DUP5 00000ff4: PUSH1 0x01 00000ff6: PUSH1 0xa0 00000ff8: PUSH1 0x02 00000ffa: EXP 00000ffb: SUB 00000ffc: AND 00000ffd: DUP7 00000ffe: PUSH1 0x01 00001000: PUSH1 0xa0 00001002: PUSH1 0x02 00001004: EXP 00001005: SUB 00001006: AND 00001007: DUP9 00001008: PUSH1 0x01 0000100a: PUSH1 0xa0 0000100c: PUSH1 0x02 0000100e: EXP 0000100f: SUB 00001010: AND 00001011: PUSH32 0xc1531feda6d23335db09b299c543c38f3d381e9d0f188d620a2bfaa6b2a740b7 00001032: TIMESTAMP 00001033: PUSH1 0x40 00001035: MLOAD 00001036: DUP1 00001037: DUP3 00001038: DUP2 00001039: MSTORE 0000103a: PUSH1 0x20 0000103c: ADD 0000103d: SWAP2 0000103e: POP 0000103f: POP 00001040: PUSH1 0x40 00001042: MLOAD 00001043: DUP1 00001044: SWAP2 00001045: SUB 00001046: SWAP1 00001047: LOG4 00001048: POP 00001049: PUSH2 0x1716 0000104c: JUMP 0000104d: JUMPDEST 0000104e: PUSH1 0x00 00001050: DUP1 00001051: DUP7 00001052: PUSH1 0x01 00001054: PUSH1 0xa0 00001056: PUSH1 0x02 00001058: EXP 00001059: SUB 0000105a: AND 0000105b: DUP10 0000105c: PUSH1 0x01 0000105e: PUSH1 0xa0 00001060: PUSH1 0x02 00001062: EXP 00001063: SUB 00001064: AND 00001065: EQ 00001066: ISZERO 00001067: PUSH2 0x1319 0000106a: JUMPI 0000106b: PUSH2 0x107b 0000106e: DUP5 0000106f: DUP11 00001070: DUP6 00001071: PUSH2 0x0100 00001074: ADD 00001075: MLOAD 00001076: DUP12 00001077: PUSH2 0x2731 0000107a: JUMP 0000107b: JUMPDEST 0000107c: PUSH1 0x00 0000107e: DUP1 0000107f: SLOAD 00001080: PUSH1 0x40 00001082: DUP1 00001083: MLOAD 00001084: PUSH32 0x47e7ef2400000000000000000000000000000000000000000000000000000000 000010a5: DUP2 000010a6: MSTORE 000010a7: PUSH1 0x01 000010a9: PUSH1 0xa0 000010ab: PUSH1 0x02 000010ad: EXP 000010ae: SUB 000010af: DUP14 000010b0: DUP2 000010b1: AND 000010b2: PUSH1 0x04 000010b4: DUP4 000010b5: ADD 000010b6: MSTORE 000010b7: PUSH1 0x24 000010b9: DUP3 000010ba: ADD 000010bb: DUP7 000010bc: SWAP1 000010bd: MSTORE 000010be: SWAP2 000010bf: MLOAD 000010c0: SWAP5 000010c1: SWAP7 000010c2: POP 000010c3: SWAP2 000010c4: AND 000010c5: SWAP3 000010c6: PUSH4 0x47e7ef24 000010cb: SWAP3 000010cc: PUSH1 0x44 000010ce: DUP1 000010cf: DUP5 000010d0: ADD 000010d1: SWAP4 000010d2: PUSH1 0x20 000010d4: SWAP4 000010d5: SWAP3 000010d6: SWAP1 000010d7: DUP4 000010d8: SWAP1 000010d9: SUB 000010da: SWAP1 000010db: SWAP2 000010dc: ADD 000010dd: SWAP1 000010de: DUP3 000010df: SWAP1 000010e0: DUP8 000010e1: DUP1 000010e2: EXTCODESIZE 000010e3: ISZERO 000010e4: DUP1 000010e5: ISZERO 000010e6: PUSH2 0x10ee 000010e9: JUMPI 000010ea: PUSH1 0x00 000010ec: DUP1 000010ed: REVERT 000010ee: JUMPDEST 000010ef: POP 000010f0: GAS 000010f1: CALL 000010f2: ISZERO 000010f3: DUP1 000010f4: ISZERO 000010f5: PUSH2 0x1102 000010f8: JUMPI 000010f9: RETURNDATASIZE 000010fa: PUSH1 0x00 000010fc: DUP1 000010fd: RETURNDATACOPY 000010fe: RETURNDATASIZE 000010ff: PUSH1 0x00 00001101: REVERT 00001102: JUMPDEST 00001103: POP 00001104: POP 00001105: POP 00001106: POP 00001107: PUSH1 0x40 00001109: MLOAD 0000110a: RETURNDATASIZE 0000110b: PUSH1 0x20 0000110d: DUP2 0000110e: LT 0000110f: ISZERO 00001110: PUSH2 0x1118 00001113: JUMPI 00001114: PUSH1 0x00 00001116: DUP1 00001117: REVERT 00001118: JUMPDEST 00001119: POP 0000111a: POP 0000111b: PUSH1 0x00 0000111d: DUP1 0000111e: SLOAD 0000111f: DUP5 00001120: MLOAD 00001121: PUSH1 0x40 00001123: DUP1 00001124: MLOAD 00001125: PUSH32 0x5e7f22c200000000000000000000000000000000000000000000000000000000 00001146: DUP2 00001147: MSTORE 00001148: PUSH1 0x01 0000114a: PUSH1 0xa0 0000114c: PUSH1 0x02 0000114e: EXP 0000114f: SUB 00001150: DUP15 00001151: DUP2 00001152: AND 00001153: PUSH1 0x04 00001155: DUP4 00001156: ADD 00001157: MSTORE 00001158: DUP14 00001159: DUP2 0000115a: AND 0000115b: PUSH1 0x24 0000115d: DUP4 0000115e: ADD 0000115f: MSTORE 00001160: PUSH1 0x44 00001162: DUP3 00001163: ADD 00001164: SWAP4 00001165: SWAP1 00001166: SWAP4 00001167: MSTORE 00001168: PUSH1 0x64 0000116a: DUP2 0000116b: ADD 0000116c: DUP8 0000116d: SWAP1 0000116e: MSTORE 0000116f: SWAP1 00001170: MLOAD 00001171: SWAP2 00001172: SWAP1 00001173: SWAP3 00001174: AND 00001175: SWAP3 00001176: PUSH4 0x5e7f22c2 0000117b: SWAP3 0000117c: PUSH1 0x84 0000117e: DUP1 0000117f: DUP3 00001180: ADD 00001181: SWAP4 00001182: PUSH1 0x20 00001184: SWAP4 00001185: SWAP1 00001186: SWAP3 00001187: DUP4 00001188: SWAP1 00001189: SUB 0000118a: SWAP1 0000118b: SWAP2 0000118c: ADD 0000118d: SWAP1 0000118e: DUP3 0000118f: SWAP1 00001190: DUP8 00001191: DUP1 00001192: EXTCODESIZE 00001193: ISZERO 00001194: DUP1 00001195: ISZERO 00001196: PUSH2 0x119e 00001199: JUMPI 0000119a: PUSH1 0x00 0000119c: DUP1 0000119d: REVERT 0000119e: JUMPDEST 0000119f: POP 000011a0: GAS 000011a1: CALL 000011a2: ISZERO 000011a3: DUP1 000011a4: ISZERO 000011a5: PUSH2 0x11b2 000011a8: JUMPI 000011a9: RETURNDATASIZE 000011aa: PUSH1 0x00 000011ac: DUP1 000011ad: RETURNDATACOPY 000011ae: RETURNDATASIZE 000011af: PUSH1 0x00 000011b1: REVERT 000011b2: JUMPDEST 000011b3: POP 000011b4: POP 000011b5: POP 000011b6: POP 000011b7: PUSH1 0x40 000011b9: MLOAD 000011ba: RETURNDATASIZE 000011bb: PUSH1 0x20 000011bd: DUP2 000011be: LT 000011bf: ISZERO 000011c0: PUSH2 0x11c8 000011c3: JUMPI 000011c4: PUSH1 0x00 000011c6: DUP1 000011c7: REVERT 000011c8: JUMPDEST 000011c9: POP 000011ca: POP 000011cb: PUSH1 0x00 000011cd: DUP1 000011ce: SLOAD 000011cf: DUP5 000011d0: MLOAD 000011d1: PUSH1 0x40 000011d3: DUP1 000011d4: MLOAD 000011d5: PUSH32 0xb029385000000000000000000000000000000000000000000000000000000000 000011f6: DUP2 000011f7: MSTORE 000011f8: PUSH1 0x01 000011fa: PUSH1 0xa0 000011fc: PUSH1 0x02 000011fe: EXP 000011ff: SUB 00001200: DUP15 00001201: DUP2 00001202: AND 00001203: PUSH1 0x04 00001205: DUP4 00001206: ADD 00001207: MSTORE 00001208: DUP14 00001209: DUP2 0000120a: AND 0000120b: PUSH1 0x24 0000120d: DUP4 0000120e: ADD 0000120f: MSTORE 00001210: ADDRESS 00001211: PUSH1 0x44 00001213: DUP4 00001214: ADD 00001215: MSTORE 00001216: PUSH1 0x64 00001218: DUP3 00001219: ADD 0000121a: SWAP4 0000121b: SWAP1 0000121c: SWAP4 0000121d: MSTORE 0000121e: DUP2 0000121f: MLOAD 00001220: SWAP3 00001221: SWAP1 00001222: SWAP4 00001223: AND 00001224: SWAP4 00001225: PUSH4 0xb0293850 0000122a: SWAP4 0000122b: PUSH1 0x84 0000122d: DUP1 0000122e: DUP3 0000122f: ADD 00001230: SWAP5 00001231: SWAP3 00001232: SWAP2 00001233: DUP4 00001234: SWAP1 00001235: SUB 00001236: ADD 00001237: SWAP1 00001238: DUP3 00001239: SWAP1 0000123a: DUP8 0000123b: DUP1 0000123c: EXTCODESIZE 0000123d: ISZERO 0000123e: DUP1 0000123f: ISZERO 00001240: PUSH2 0x1248 00001243: JUMPI 00001244: PUSH1 0x00 00001246: DUP1 00001247: REVERT 00001248: JUMPDEST 00001249: POP 0000124a: GAS 0000124b: CALL 0000124c: ISZERO 0000124d: DUP1 0000124e: ISZERO 0000124f: PUSH2 0x125c 00001252: JUMPI 00001253: RETURNDATASIZE 00001254: PUSH1 0x00 00001256: DUP1 00001257: RETURNDATACOPY 00001258: RETURNDATASIZE 00001259: PUSH1 0x00 0000125b: REVERT 0000125c: JUMPDEST 0000125d: POP 0000125e: POP 0000125f: POP 00001260: POP 00001261: PUSH1 0x40 00001263: MLOAD 00001264: RETURNDATASIZE 00001265: PUSH1 0x40 00001267: DUP2 00001268: LT 00001269: ISZERO 0000126a: PUSH2 0x1272 0000126d: JUMPI 0000126e: PUSH1 0x00 00001270: DUP1 00001271: REVERT 00001272: JUMPDEST 00001273: POP 00001274: MLOAD 00001275: PUSH1 0x00 00001277: DUP1 00001278: SLOAD 00001279: PUSH1 0x40 0000127b: DUP1 0000127c: MLOAD 0000127d: PUSH32 0xf3fef3a300000000000000000000000000000000000000000000000000000000 0000129e: DUP2 0000129f: MSTORE 000012a0: PUSH1 0x01 000012a2: PUSH1 0xa0 000012a4: PUSH1 0x02 000012a6: EXP 000012a7: SUB 000012a8: DUP15 000012a9: DUP2 000012aa: AND 000012ab: PUSH1 0x04 000012ad: DUP4 000012ae: ADD 000012af: MSTORE 000012b0: PUSH1 0x24 000012b2: DUP3 000012b3: ADD 000012b4: DUP7 000012b5: SWAP1 000012b6: MSTORE 000012b7: SWAP2 000012b8: MLOAD 000012b9: SWAP5 000012ba: SWAP6 000012bb: POP 000012bc: SWAP2 000012bd: AND 000012be: SWAP3 000012bf: PUSH4 0xf3fef3a3 000012c4: SWAP3 000012c5: PUSH1 0x44 000012c7: DUP1 000012c8: DUP5 000012c9: ADD 000012ca: SWAP4 000012cb: PUSH1 0x20 000012cd: SWAP4 000012ce: SWAP3 000012cf: SWAP1 000012d0: DUP4 000012d1: SWAP1 000012d2: SUB 000012d3: SWAP1 000012d4: SWAP2 000012d5: ADD 000012d6: SWAP1 000012d7: DUP3 000012d8: SWAP1 000012d9: DUP8 000012da: DUP1 000012db: EXTCODESIZE 000012dc: ISZERO 000012dd: DUP1 000012de: ISZERO 000012df: PUSH2 0x12e7 000012e2: JUMPI 000012e3: PUSH1 0x00 000012e5: DUP1 000012e6: REVERT 000012e7: JUMPDEST 000012e8: POP 000012e9: GAS 000012ea: CALL 000012eb: ISZERO 000012ec: DUP1 000012ed: ISZERO 000012ee: PUSH2 0x12fb 000012f1: JUMPI 000012f2: RETURNDATASIZE 000012f3: PUSH1 0x00 000012f5: DUP1 000012f6: RETURNDATACOPY 000012f7: RETURNDATASIZE 000012f8: PUSH1 0x00 000012fa: REVERT 000012fb: JUMPDEST 000012fc: POP 000012fd: POP 000012fe: POP 000012ff: POP 00001300: PUSH1 0x40 00001302: MLOAD 00001303: RETURNDATASIZE 00001304: PUSH1 0x20 00001306: DUP2 00001307: LT 00001308: ISZERO 00001309: PUSH2 0x1311 0000130c: JUMPI 0000130d: PUSH1 0x00 0000130f: DUP1 00001310: REVERT 00001311: JUMPDEST 00001312: POP 00001313: PUSH2 0x15cd 00001316: SWAP1 00001317: POP 00001318: JUMP 00001319: JUMPDEST 0000131a: PUSH1 0x00 0000131c: DUP1 0000131d: SLOAD 0000131e: PUSH2 0x0100 00001321: DUP6 00001322: ADD 00001323: MLOAD 00001324: PUSH1 0x40 00001326: DUP1 00001327: MLOAD 00001328: PUSH32 0x47e7ef2400000000000000000000000000000000000000000000000000000000 00001349: DUP2 0000134a: MSTORE 0000134b: PUSH1 0x01 0000134d: PUSH1 0xa0 0000134f: PUSH1 0x02 00001351: EXP 00001352: SUB 00001353: DUP14 00001354: DUP2 00001355: AND 00001356: PUSH1 0x04 00001358: DUP4 00001359: ADD 0000135a: MSTORE 0000135b: PUSH1 0x24 0000135d: DUP3 0000135e: ADD 0000135f: SWAP4 00001360: SWAP1 00001361: SWAP4 00001362: MSTORE 00001363: SWAP1 00001364: MLOAD 00001365: SWAP2 00001366: SWAP1 00001367: SWAP3 00001368: AND 00001369: SWAP3 0000136a: PUSH4 0x47e7ef24 0000136f: SWAP3 00001370: PUSH1 0x44 00001372: DUP1 00001373: DUP3 00001374: ADD 00001375: SWAP4 00001376: PUSH1 0x20 00001378: SWAP4 00001379: SWAP1 0000137a: SWAP3 0000137b: DUP4 0000137c: SWAP1 0000137d: SUB 0000137e: SWAP1 0000137f: SWAP2 00001380: ADD 00001381: SWAP1 00001382: DUP3 00001383: SWAP1 00001384: DUP8 00001385: DUP1 00001386: EXTCODESIZE 00001387: ISZERO 00001388: DUP1 00001389: ISZERO 0000138a: PUSH2 0x1392 0000138d: JUMPI 0000138e: PUSH1 0x00 00001390: DUP1 00001391: REVERT 00001392: JUMPDEST 00001393: POP 00001394: GAS 00001395: CALL 00001396: ISZERO 00001397: DUP1 00001398: ISZERO 00001399: PUSH2 0x13a6 0000139c: JUMPI 0000139d: RETURNDATASIZE 0000139e: PUSH1 0x00 000013a0: DUP1 000013a1: RETURNDATACOPY 000013a2: RETURNDATASIZE 000013a3: PUSH1 0x00 000013a5: REVERT 000013a6: JUMPDEST 000013a7: POP 000013a8: POP 000013a9: POP 000013aa: POP 000013ab: PUSH1 0x40 000013ad: MLOAD 000013ae: RETURNDATASIZE 000013af: PUSH1 0x20 000013b1: DUP2 000013b2: LT 000013b3: ISZERO 000013b4: PUSH2 0x13bc 000013b7: JUMPI 000013b8: PUSH1 0x00 000013ba: DUP1 000013bb: REVERT 000013bc: JUMPDEST 000013bd: POP 000013be: POP 000013bf: PUSH1 0x00 000013c1: DUP1 000013c2: SLOAD 000013c3: DUP5 000013c4: MLOAD 000013c5: PUSH2 0x0100 000013c8: DUP7 000013c9: ADD 000013ca: MLOAD 000013cb: PUSH1 0x40 000013cd: DUP1 000013ce: MLOAD 000013cf: PUSH32 0x5e7f22c200000000000000000000000000000000000000000000000000000000 000013f0: DUP2 000013f1: MSTORE 000013f2: PUSH1 0x01 000013f4: PUSH1 0xa0 000013f6: PUSH1 0x02 000013f8: EXP 000013f9: SUB 000013fa: DUP16 000013fb: DUP2 000013fc: AND 000013fd: PUSH1 0x04 000013ff: DUP4 00001400: ADD 00001401: MSTORE 00001402: DUP15 00001403: DUP2 00001404: AND 00001405: PUSH1 0x24 00001407: DUP4 00001408: ADD 00001409: MSTORE 0000140a: PUSH1 0x44 0000140c: DUP3 0000140d: ADD 0000140e: SWAP5 0000140f: SWAP1 00001410: SWAP5 00001411: MSTORE 00001412: PUSH1 0x64 00001414: DUP2 00001415: ADD 00001416: SWAP3 00001417: SWAP1 00001418: SWAP3 00001419: MSTORE 0000141a: MLOAD 0000141b: SWAP2 0000141c: SWAP1 0000141d: SWAP3 0000141e: AND 0000141f: SWAP3 00001420: PUSH4 0x5e7f22c2 00001425: SWAP3 00001426: PUSH1 0x84 00001428: DUP1 00001429: DUP3 0000142a: ADD 0000142b: SWAP4 0000142c: PUSH1 0x20 0000142e: SWAP4 0000142f: SWAP1 00001430: SWAP3 00001431: DUP4 00001432: SWAP1 00001433: SUB 00001434: SWAP1 00001435: SWAP2 00001436: ADD 00001437: SWAP1 00001438: DUP3 00001439: SWAP1 0000143a: DUP8 0000143b: DUP1 0000143c: EXTCODESIZE 0000143d: ISZERO 0000143e: DUP1 0000143f: ISZERO 00001440: PUSH2 0x1448 00001443: JUMPI 00001444: PUSH1 0x00 00001446: DUP1 00001447: REVERT 00001448: JUMPDEST 00001449: POP 0000144a: GAS 0000144b: CALL 0000144c: ISZERO 0000144d: DUP1 0000144e: ISZERO 0000144f: PUSH2 0x145c 00001452: JUMPI 00001453: RETURNDATASIZE 00001454: PUSH1 0x00 00001456: DUP1 00001457: RETURNDATACOPY 00001458: RETURNDATASIZE 00001459: PUSH1 0x00 0000145b: REVERT 0000145c: JUMPDEST 0000145d: POP 0000145e: POP 0000145f: POP 00001460: POP 00001461: PUSH1 0x40 00001463: MLOAD 00001464: RETURNDATASIZE 00001465: PUSH1 0x20 00001467: DUP2 00001468: LT 00001469: ISZERO 0000146a: PUSH2 0x1472 0000146d: JUMPI 0000146e: PUSH1 0x00 00001470: DUP1 00001471: REVERT 00001472: JUMPDEST 00001473: POP 00001474: POP 00001475: PUSH1 0x00 00001477: DUP1 00001478: SLOAD 00001479: DUP5 0000147a: MLOAD 0000147b: PUSH1 0x40 0000147d: DUP1 0000147e: MLOAD 0000147f: PUSH32 0xb029385000000000000000000000000000000000000000000000000000000000 000014a0: DUP2 000014a1: MSTORE 000014a2: PUSH1 0x01 000014a4: PUSH1 0xa0 000014a6: PUSH1 0x02 000014a8: EXP 000014a9: SUB 000014aa: DUP15 000014ab: DUP2 000014ac: AND 000014ad: PUSH1 0x04 000014af: DUP4 000014b0: ADD 000014b1: MSTORE 000014b2: DUP14 000014b3: DUP2 000014b4: AND 000014b5: PUSH1 0x24 000014b7: DUP4 000014b8: ADD 000014b9: MSTORE 000014ba: ADDRESS 000014bb: PUSH1 0x44 000014bd: DUP4 000014be: ADD 000014bf: MSTORE 000014c0: PUSH1 0x64 000014c2: DUP3 000014c3: ADD 000014c4: SWAP4 000014c5: SWAP1 000014c6: SWAP4 000014c7: MSTORE 000014c8: DUP2 000014c9: MLOAD 000014ca: SWAP3 000014cb: SWAP1 000014cc: SWAP4 000014cd: AND 000014ce: SWAP4 000014cf: PUSH4 0xb0293850 000014d4: SWAP4 000014d5: PUSH1 0x84 000014d7: DUP1 000014d8: DUP3 000014d9: ADD 000014da: SWAP5 000014db: SWAP3 000014dc: SWAP2 000014dd: DUP4 000014de: SWAP1 000014df: SUB 000014e0: ADD 000014e1: SWAP1 000014e2: DUP3 000014e3: SWAP1 000014e4: DUP8 000014e5: DUP1 000014e6: EXTCODESIZE 000014e7: ISZERO 000014e8: DUP1 000014e9: ISZERO 000014ea: PUSH2 0x14f2 000014ed: JUMPI 000014ee: PUSH1 0x00 000014f0: DUP1 000014f1: REVERT 000014f2: JUMPDEST 000014f3: POP 000014f4: GAS 000014f5: CALL 000014f6: ISZERO 000014f7: DUP1 000014f8: ISZERO 000014f9: PUSH2 0x1506 000014fc: JUMPI 000014fd: RETURNDATASIZE 000014fe: PUSH1 0x00 00001500: DUP1 00001501: RETURNDATACOPY 00001502: RETURNDATASIZE 00001503: PUSH1 0x00 00001505: REVERT 00001506: JUMPDEST 00001507: POP 00001508: POP 00001509: POP 0000150a: POP 0000150b: PUSH1 0x40 0000150d: MLOAD 0000150e: RETURNDATASIZE 0000150f: PUSH1 0x40 00001511: DUP2 00001512: LT 00001513: ISZERO 00001514: PUSH2 0x151c 00001517: JUMPI 00001518: PUSH1 0x00 0000151a: DUP1 0000151b: REVERT 0000151c: JUMPDEST 0000151d: POP 0000151e: MLOAD 0000151f: PUSH1 0x00 00001521: DUP1 00001522: SLOAD 00001523: PUSH1 0x40 00001525: DUP1 00001526: MLOAD 00001527: PUSH32 0xf3fef3a300000000000000000000000000000000000000000000000000000000 00001548: DUP2 00001549: MSTORE 0000154a: PUSH1 0x01 0000154c: PUSH1 0xa0 0000154e: PUSH1 0x02 00001550: EXP 00001551: SUB 00001552: DUP15 00001553: DUP2 00001554: AND 00001555: PUSH1 0x04 00001557: DUP4 00001558: ADD 00001559: MSTORE 0000155a: PUSH1 0x24 0000155c: DUP3 0000155d: ADD 0000155e: DUP7 0000155f: SWAP1 00001560: MSTORE 00001561: SWAP2 00001562: MLOAD 00001563: SWAP5 00001564: SWAP7 00001565: POP 00001566: SWAP2 00001567: AND 00001568: SWAP3 00001569: PUSH4 0xf3fef3a3 0000156e: SWAP3 0000156f: PUSH1 0x44 00001571: DUP1 00001572: DUP5 00001573: ADD 00001574: SWAP4 00001575: PUSH1 0x20 00001577: SWAP4 00001578: SWAP3 00001579: SWAP1 0000157a: DUP4 0000157b: SWAP1 0000157c: SUB 0000157d: SWAP1 0000157e: SWAP2 0000157f: ADD 00001580: SWAP1 00001581: DUP3 00001582: SWAP1 00001583: DUP8 00001584: DUP1 00001585: EXTCODESIZE 00001586: ISZERO 00001587: DUP1 00001588: ISZERO 00001589: PUSH2 0x1591 0000158c: JUMPI 0000158d: PUSH1 0x00 0000158f: DUP1 00001590: REVERT 00001591: JUMPDEST 00001592: POP 00001593: GAS 00001594: CALL 00001595: ISZERO 00001596: DUP1 00001597: ISZERO 00001598: PUSH2 0x15a5 0000159b: JUMPI 0000159c: RETURNDATASIZE 0000159d: PUSH1 0x00 0000159f: DUP1 000015a0: RETURNDATACOPY 000015a1: RETURNDATASIZE 000015a2: PUSH1 0x00 000015a4: REVERT 000015a5: JUMPDEST 000015a6: POP 000015a7: POP 000015a8: POP 000015a9: POP 000015aa: PUSH1 0x40 000015ac: MLOAD 000015ad: RETURNDATASIZE 000015ae: PUSH1 0x20 000015b0: DUP2 000015b1: LT 000015b2: ISZERO 000015b3: PUSH2 0x15bb 000015b6: JUMPI 000015b7: PUSH1 0x00 000015b9: DUP1 000015ba: REVERT 000015bb: JUMPDEST 000015bc: POP 000015bd: PUSH2 0x15ca 000015c0: SWAP1 000015c1: POP 000015c2: DUP5 000015c3: DUP11 000015c4: DUP5 000015c5: DUP12 000015c6: PUSH2 0x2731 000015c9: JUMP 000015ca: JUMPDEST 000015cb: SWAP1 000015cc: POP 000015cd: JUMPDEST 000015ce: DUP3 000015cf: PUSH1 0x00 000015d1: ADD 000015d2: MLOAD 000015d3: PUSH1 0x0a 000015d5: PUSH1 0x00 000015d7: PUSH1 0x0c 000015d9: SLOAD 000015da: DUP2 000015db: MSTORE 000015dc: PUSH1 0x20 000015de: ADD 000015df: SWAP1 000015e0: DUP2 000015e1: MSTORE 000015e2: PUSH1 0x20 000015e4: ADD 000015e5: PUSH1 0x00 000015e7: KECCAK256 000015e8: PUSH1 0x00 000015ea: ADD 000015eb: DUP2 000015ec: SWAP1 000015ed: SSTORE 000015ee: POP 000015ef: DUP9 000015f0: PUSH1 0x0a 000015f2: PUSH1 0x00 000015f4: PUSH1 0x0c 000015f6: SLOAD 000015f7: DUP2 000015f8: MSTORE 000015f9: PUSH1 0x20 000015fb: ADD 000015fc: SWAP1 000015fd: DUP2 000015fe: MSTORE 000015ff: PUSH1 0x20 00001601: ADD 00001602: PUSH1 0x00 00001604: KECCAK256 00001605: PUSH1 0x01 00001607: ADD 00001608: PUSH1 0x00 0000160a: PUSH2 0x0100 0000160d: EXP 0000160e: DUP2 0000160f: SLOAD 00001610: DUP2 00001611: PUSH1 0x01 00001613: PUSH1 0xa0 00001615: PUSH1 0x02 00001617: EXP 00001618: SUB 00001619: MUL 0000161a: NOT 0000161b: AND 0000161c: SWAP1 0000161d: DUP4 0000161e: PUSH1 0x01 00001620: PUSH1 0xa0 00001622: PUSH1 0x02 00001624: EXP 00001625: SUB 00001626: AND 00001627: MUL 00001628: OR 00001629: SWAP1 0000162a: SSTORE 0000162b: POP 0000162c: DUP8 0000162d: PUSH1 0x0a 0000162f: PUSH1 0x00 00001631: PUSH1 0x0c 00001633: SLOAD 00001634: DUP2 00001635: MSTORE 00001636: PUSH1 0x20 00001638: ADD 00001639: SWAP1 0000163a: DUP2 0000163b: MSTORE 0000163c: PUSH1 0x20 0000163e: ADD 0000163f: PUSH1 0x00 00001641: KECCAK256 00001642: PUSH1 0x02 00001644: ADD 00001645: PUSH1 0x00 00001647: PUSH2 0x0100 0000164a: EXP 0000164b: DUP2 0000164c: SLOAD 0000164d: DUP2 0000164e: PUSH1 0x01 00001650: PUSH1 0xa0 00001652: PUSH1 0x02 00001654: EXP 00001655: SUB 00001656: MUL 00001657: NOT 00001658: AND 00001659: SWAP1 0000165a: DUP4 0000165b: PUSH1 0x01 0000165d: PUSH1 0xa0 0000165f: PUSH1 0x02 00001661: EXP 00001662: SUB 00001663: AND 00001664: MUL 00001665: OR 00001666: SWAP1 00001667: SSTORE 00001668: POP 00001669: DUP7 0000166a: PUSH1 0x0a 0000166c: PUSH1 0x00 0000166e: PUSH1 0x0c 00001670: SLOAD 00001671: DUP2 00001672: MSTORE 00001673: PUSH1 0x20 00001675: ADD 00001676: SWAP1 00001677: DUP2 00001678: MSTORE 00001679: PUSH1 0x20 0000167b: ADD 0000167c: PUSH1 0x00 0000167e: KECCAK256 0000167f: PUSH1 0x03 00001681: ADD 00001682: PUSH1 0x00 00001684: PUSH2 0x0100 00001687: EXP 00001688: DUP2 00001689: SLOAD 0000168a: DUP2 0000168b: PUSH1 0x01 0000168d: PUSH1 0xa0 0000168f: PUSH1 0x02 00001691: EXP 00001692: SUB 00001693: MUL 00001694: NOT 00001695: AND 00001696: SWAP1 00001697: DUP4 00001698: PUSH1 0x01 0000169a: PUSH1 0xa0 0000169c: PUSH1 0x02 0000169e: EXP 0000169f: SUB 000016a0: AND 000016a1: MUL 000016a2: OR 000016a3: SWAP1 000016a4: SSTORE 000016a5: POP 000016a6: DUP3 000016a7: PUSH2 0x0100 000016aa: ADD 000016ab: MLOAD 000016ac: PUSH1 0x0a 000016ae: PUSH1 0x00 000016b0: PUSH1 0x0c 000016b2: SLOAD 000016b3: DUP2 000016b4: MSTORE 000016b5: PUSH1 0x20 000016b7: ADD 000016b8: SWAP1 000016b9: DUP2 000016ba: MSTORE 000016bb: PUSH1 0x20 000016bd: ADD 000016be: PUSH1 0x00 000016c0: KECCAK256 000016c1: PUSH1 0x04 000016c3: ADD 000016c4: DUP2 000016c5: SWAP1 000016c6: SSTORE 000016c7: POP 000016c8: DUP1 000016c9: PUSH1 0x0a 000016cb: PUSH1 0x00 000016cd: PUSH1 0x0c 000016cf: SLOAD 000016d0: DUP2 000016d1: MSTORE 000016d2: PUSH1 0x20 000016d4: ADD 000016d5: SWAP1 000016d6: DUP2 000016d7: MSTORE 000016d8: PUSH1 0x20 000016da: ADD 000016db: PUSH1 0x00 000016dd: KECCAK256 000016de: PUSH1 0x05 000016e0: ADD 000016e1: DUP2 000016e2: SWAP1 000016e3: SSTORE 000016e4: POP 000016e5: DUP4 000016e6: PUSH1 0x0a 000016e8: PUSH1 0x00 000016ea: PUSH1 0x0c 000016ec: SLOAD 000016ed: DUP2 000016ee: MSTORE 000016ef: PUSH1 0x20 000016f1: ADD 000016f2: SWAP1 000016f3: DUP2 000016f4: MSTORE 000016f5: PUSH1 0x20 000016f7: ADD 000016f8: PUSH1 0x00 000016fa: KECCAK256 000016fb: PUSH1 0x06 000016fd: ADD 000016fe: DUP2 000016ff: SWAP1 00001700: SSTORE 00001701: POP 00001702: PUSH1 0x01 00001704: PUSH1 0x0c 00001706: PUSH1 0x00 00001708: DUP3 00001709: DUP3 0000170a: SLOAD 0000170b: ADD 0000170c: SWAP3 0000170d: POP 0000170e: POP 0000170f: DUP2 00001710: SWAP1 00001711: SSTORE 00001712: POP 00001713: POP 00001714: POP 00001715: POP 00001716: JUMPDEST 00001717: POP 00001718: POP 00001719: POP 0000171a: POP 0000171b: POP 0000171c: POP 0000171d: JUMP 0000171e: JUMPDEST 0000171f: PUSH1 0x04 00001721: SLOAD 00001722: PUSH1 0x00 00001724: SWAP1 00001725: PUSH1 0x01 00001727: PUSH1 0xa0 00001729: PUSH1 0x02 0000172b: EXP 0000172c: SUB 0000172d: AND 0000172e: CALLER 0000172f: EQ 00001730: PUSH2 0x1738 00001733: JUMPI 00001734: PUSH1 0x00 00001736: DUP1 00001737: REVERT 00001738: JUMPDEST 00001739: PUSH2 0x1741 0000173c: DUP5 0000173d: PUSH2 0x19c8 00001740: JUMP 00001741: JUMPDEST 00001742: PUSH2 0x174a 00001745: DUP4 00001746: PUSH2 0x19c8 00001749: JUMP 0000174a: JUMPDEST 0000174b: PUSH1 0x03 0000174d: PUSH1 0x00 0000174f: SWAP1 00001750: SLOAD 00001751: SWAP1 00001752: PUSH2 0x0100 00001755: EXP 00001756: SWAP1 00001757: DIV 00001758: PUSH1 0x01 0000175a: PUSH1 0xa0 0000175c: PUSH1 0x02 0000175e: EXP 0000175f: SUB 00001760: AND 00001761: PUSH1 0x01 00001763: PUSH1 0xa0 00001765: PUSH1 0x02 00001767: EXP 00001768: SUB 00001769: AND 0000176a: PUSH4 0xd0e30db0 0000176f: CALLVALUE 00001770: PUSH1 0x40 00001772: MLOAD 00001773: DUP3 00001774: PUSH4 0xffffffff 00001779: AND 0000177a: PUSH29 0x0100000000000000000000000000000000000000000000000000000000 00001798: MUL 00001799: DUP2 0000179a: MSTORE 0000179b: PUSH1 0x04 0000179d: ADD 0000179e: PUSH1 0x00 000017a0: PUSH1 0x40 000017a2: MLOAD 000017a3: DUP1 000017a4: DUP4 000017a5: SUB 000017a6: DUP2 000017a7: DUP6 000017a8: DUP9 000017a9: DUP1 000017aa: EXTCODESIZE 000017ab: ISZERO 000017ac: DUP1 000017ad: ISZERO 000017ae: PUSH2 0x17b6 000017b1: JUMPI 000017b2: PUSH1 0x00 000017b4: DUP1 000017b5: REVERT 000017b6: JUMPDEST 000017b7: POP 000017b8: GAS 000017b9: CALL 000017ba: ISZERO 000017bb: DUP1 000017bc: ISZERO 000017bd: PUSH2 0x17ca 000017c0: JUMPI 000017c1: RETURNDATASIZE 000017c2: PUSH1 0x00 000017c4: DUP1 000017c5: RETURNDATACOPY 000017c6: RETURNDATASIZE 000017c7: PUSH1 0x00 000017c9: REVERT 000017ca: JUMPDEST 000017cb: POP 000017cc: POP 000017cd: PUSH1 0x03 000017cf: SLOAD 000017d0: PUSH1 0x01 000017d2: PUSH1 0xa0 000017d4: PUSH1 0x02 000017d6: EXP 000017d7: SUB 000017d8: DUP9 000017d9: DUP2 000017da: AND 000017db: SWAP2 000017dc: AND 000017dd: EQ 000017de: ISZERO 000017df: SWAP3 000017e0: POP 000017e1: PUSH2 0x1837 000017e4: SWAP2 000017e5: POP 000017e6: POP 000017e7: JUMPI 000017e8: PUSH1 0x03 000017ea: SLOAD 000017eb: PUSH1 0x40 000017ed: DUP1 000017ee: MLOAD 000017ef: CALLVALUE 000017f0: DUP2 000017f1: MSTORE 000017f2: TIMESTAMP 000017f3: PUSH1 0x20 000017f5: DUP3 000017f6: ADD 000017f7: MSTORE 000017f8: DUP2 000017f9: MLOAD 000017fa: PUSH1 0x01 000017fc: PUSH1 0xa0 000017fe: PUSH1 0x02 00001800: EXP 00001801: SUB 00001802: SWAP1 00001803: SWAP4 00001804: AND 00001805: SWAP3 00001806: PUSH32 0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15 00001827: SWAP3 00001828: SWAP2 00001829: DUP2 0000182a: SWAP1 0000182b: SUB 0000182c: SWAP1 0000182d: SWAP2 0000182e: ADD 0000182f: SWAP1 00001830: LOG2 00001831: POP 00001832: CALLVALUE 00001833: PUSH2 0x189e 00001836: JUMP 00001837: JUMPDEST 00001838: PUSH1 0x03 0000183a: SLOAD 0000183b: PUSH1 0x00 0000183d: SWAP1 0000183e: PUSH2 0x1853 00001841: SWAP1 00001842: DUP5 00001843: SWAP1 00001844: PUSH1 0x01 00001846: PUSH1 0xa0 00001848: PUSH1 0x02 0000184a: EXP 0000184b: SUB 0000184c: AND 0000184d: CALLVALUE 0000184e: DUP9 0000184f: PUSH2 0x2731 00001852: JUMP 00001853: JUMPDEST 00001854: PUSH1 0x40 00001856: DUP1 00001857: MLOAD 00001858: DUP3 00001859: DUP2 0000185a: MSTORE 0000185b: TIMESTAMP 0000185c: PUSH1 0x20 0000185e: DUP3 0000185f: ADD 00001860: MSTORE 00001861: DUP2 00001862: MLOAD 00001863: SWAP3 00001864: SWAP4 00001865: POP 00001866: PUSH1 0x01 00001868: PUSH1 0xa0 0000186a: PUSH1 0x02 0000186c: EXP 0000186d: SUB 0000186e: DUP9 0000186f: AND 00001870: SWAP3 00001871: PUSH32 0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15 00001892: SWAP3 00001893: SWAP2 00001894: DUP2 00001895: SWAP1 00001896: SUB 00001897: SWAP1 00001898: SWAP2 00001899: ADD 0000189a: SWAP1 0000189b: LOG2 0000189c: SWAP1 0000189d: POP 0000189e: JUMPDEST 0000189f: SWAP4 000018a0: SWAP3 000018a1: POP 000018a2: POP 000018a3: POP 000018a4: JUMP 000018a5: JUMPDEST 000018a6: PUSH1 0x08 000018a8: SLOAD 000018a9: DUP2 000018aa: JUMP 000018ab: JUMPDEST 000018ac: PUSH1 0x04 000018ae: SLOAD 000018af: PUSH1 0x01 000018b1: PUSH1 0xa0 000018b3: PUSH1 0x02 000018b5: EXP 000018b6: SUB 000018b7: AND 000018b8: DUP2 000018b9: JUMP 000018ba: JUMPDEST 000018bb: PUSH1 0x08 000018bd: SLOAD 000018be: PUSH1 0x03 000018c0: SLOAD 000018c1: PUSH1 0x40 000018c3: DUP1 000018c4: MLOAD 000018c5: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 000018e6: DUP2 000018e7: MSTORE 000018e8: ADDRESS 000018e9: PUSH1 0x04 000018eb: DUP3 000018ec: ADD 000018ed: MSTORE 000018ee: SWAP1 000018ef: MLOAD 000018f0: PUSH1 0x00 000018f2: SWAP4 000018f3: SWAP3 000018f4: PUSH1 0x01 000018f6: PUSH1 0xa0 000018f8: PUSH1 0x02 000018fa: EXP 000018fb: SUB 000018fc: AND 000018fd: SWAP2 000018fe: PUSH4 0x70a08231 00001903: SWAP2 00001904: PUSH1 0x24 00001906: DUP1 00001907: DUP4 00001908: ADD 00001909: SWAP3 0000190a: PUSH1 0x20 0000190c: SWAP3 0000190d: SWAP2 0000190e: SWAP1 0000190f: DUP3 00001910: SWAP1 00001911: SUB 00001912: ADD 00001913: DUP2 00001914: DUP7 00001915: DUP1 00001916: EXTCODESIZE 00001917: ISZERO 00001918: DUP1 00001919: ISZERO 0000191a: PUSH2 0x1922 0000191d: JUMPI 0000191e: PUSH1 0x00 00001920: DUP1 00001921: REVERT 00001922: JUMPDEST 00001923: POP 00001924: GAS 00001925: STATICCALL 00001926: ISZERO 00001927: DUP1 00001928: ISZERO 00001929: PUSH2 0x1936 0000192c: JUMPI 0000192d: RETURNDATASIZE 0000192e: PUSH1 0x00 00001930: DUP1 00001931: RETURNDATACOPY 00001932: RETURNDATASIZE 00001933: PUSH1 0x00 00001935: REVERT 00001936: JUMPDEST 00001937: POP 00001938: POP 00001939: POP 0000193a: POP 0000193b: PUSH1 0x40 0000193d: MLOAD 0000193e: RETURNDATASIZE 0000193f: PUSH1 0x20 00001941: DUP2 00001942: LT 00001943: ISZERO 00001944: PUSH2 0x194c 00001947: JUMPI 00001948: PUSH1 0x00 0000194a: DUP1 0000194b: REVERT 0000194c: JUMPDEST 0000194d: POP 0000194e: MLOAD 0000194f: LT 00001950: DUP1 00001951: ISZERO 00001952: SWAP1 00001953: PUSH2 0x1963 00001956: JUMPI 00001957: POP 00001958: PUSH3 0x015180 0000195c: PUSH1 0x09 0000195e: SLOAD 0000195f: TIMESTAMP 00001960: SUB 00001961: LT 00001962: ISZERO 00001963: JUMPDEST 00001964: SWAP1 00001965: POP 00001966: SWAP1 00001967: JUMP 00001968: JUMPDEST 00001969: PUSH1 0x0a 0000196b: PUSH1 0x20 0000196d: MSTORE 0000196e: PUSH1 0x00 00001970: SWAP1 00001971: DUP2 00001972: MSTORE 00001973: PUSH1 0x40 00001975: SWAP1 00001976: KECCAK256 00001977: DUP1 00001978: SLOAD 00001979: PUSH1 0x01 0000197b: DUP3 0000197c: ADD 0000197d: SLOAD 0000197e: PUSH1 0x02 00001980: DUP4 00001981: ADD 00001982: SLOAD 00001983: PUSH1 0x03 00001985: DUP5 00001986: ADD 00001987: SLOAD 00001988: PUSH1 0x04 0000198a: DUP6 0000198b: ADD 0000198c: SLOAD 0000198d: PUSH1 0x05 0000198f: DUP7 00001990: ADD 00001991: SLOAD 00001992: PUSH1 0x06 00001994: SWAP1 00001995: SWAP7 00001996: ADD 00001997: SLOAD 00001998: SWAP5 00001999: SWAP6 0000199a: PUSH1 0x01 0000199c: PUSH1 0xa0 0000199e: PUSH1 0x02 000019a0: EXP 000019a1: SUB 000019a2: SWAP5 000019a3: DUP6 000019a4: AND 000019a5: SWAP6 000019a6: SWAP4 000019a7: DUP6 000019a8: AND 000019a9: SWAP5 000019aa: SWAP1 000019ab: SWAP3 000019ac: AND 000019ad: SWAP3 000019ae: SWAP1 000019af: SWAP2 000019b0: SWAP1 000019b1: DUP8 000019b2: JUMP 000019b3: JUMPDEST 000019b4: PUSH1 0x01 000019b6: SLOAD 000019b7: PUSH1 0x01 000019b9: PUSH1 0xa0 000019bb: PUSH1 0x02 000019bd: EXP 000019be: SUB 000019bf: AND 000019c0: DUP2 000019c1: JUMP 000019c2: JUMPDEST 000019c3: PUSH1 0x06 000019c5: SLOAD 000019c6: DUP2 000019c7: JUMP 000019c8: JUMPDEST 000019c9: PUSH1 0x04 000019cb: SLOAD 000019cc: PUSH1 0x01 000019ce: PUSH1 0xa0 000019d0: PUSH1 0x02 000019d2: EXP 000019d3: SUB 000019d4: AND 000019d5: CALLER 000019d6: EQ 000019d7: PUSH2 0x19df 000019da: JUMPI 000019db: PUSH1 0x00 000019dd: DUP1 000019de: REVERT 000019df: JUMPDEST 000019e0: PUSH1 0x00 000019e2: DUP1 000019e3: SLOAD 000019e4: PUSH1 0x40 000019e6: DUP1 000019e7: MLOAD 000019e8: PUSH1 0xe0 000019ea: PUSH1 0x02 000019ec: EXP 000019ed: PUSH4 0x095ea7b3 000019f2: MUL 000019f3: DUP2 000019f4: MSTORE 000019f5: PUSH1 0x01 000019f7: PUSH1 0xa0 000019f9: PUSH1 0x02 000019fb: EXP 000019fc: SUB 000019fd: SWAP3 000019fe: DUP4 000019ff: AND 00001a00: PUSH1 0x04 00001a02: DUP3 00001a03: ADD 00001a04: MSTORE 00001a05: PUSH1 0x00 00001a07: NOT 00001a08: PUSH1 0x24 00001a0a: DUP3 00001a0b: ADD 00001a0c: MSTORE 00001a0d: SWAP1 00001a0e: MLOAD 00001a0f: SWAP2 00001a10: DUP5 00001a11: AND 00001a12: SWAP3 00001a13: PUSH4 0x095ea7b3 00001a18: SWAP3 00001a19: PUSH1 0x44 00001a1b: DUP1 00001a1c: DUP5 00001a1d: ADD 00001a1e: SWAP4 00001a1f: PUSH1 0x20 00001a21: SWAP4 00001a22: SWAP1 00001a23: DUP4 00001a24: SWAP1 00001a25: SUB 00001a26: SWAP1 00001a27: SWAP2 00001a28: ADD 00001a29: SWAP1 00001a2a: DUP3 00001a2b: SWAP1 00001a2c: DUP8 00001a2d: DUP1 00001a2e: EXTCODESIZE 00001a2f: ISZERO 00001a30: DUP1 00001a31: ISZERO 00001a32: PUSH2 0x1a3a 00001a35: JUMPI 00001a36: PUSH1 0x00 00001a38: DUP1 00001a39: REVERT 00001a3a: JUMPDEST 00001a3b: POP 00001a3c: GAS 00001a3d: CALL 00001a3e: ISZERO 00001a3f: DUP1 00001a40: ISZERO 00001a41: PUSH2 0x1a4e 00001a44: JUMPI 00001a45: RETURNDATASIZE 00001a46: PUSH1 0x00 00001a48: DUP1 00001a49: RETURNDATACOPY 00001a4a: RETURNDATASIZE 00001a4b: PUSH1 0x00 00001a4d: REVERT 00001a4e: JUMPDEST 00001a4f: POP 00001a50: POP 00001a51: POP 00001a52: POP 00001a53: PUSH1 0x40 00001a55: MLOAD 00001a56: RETURNDATASIZE 00001a57: PUSH1 0x20 00001a59: DUP2 00001a5a: LT 00001a5b: ISZERO 00001a5c: PUSH2 0x1a64 00001a5f: JUMPI 00001a60: PUSH1 0x00 00001a62: DUP1 00001a63: REVERT 00001a64: JUMPDEST 00001a65: POP 00001a66: POP 00001a67: PUSH1 0x01 00001a69: SLOAD 00001a6a: PUSH1 0x40 00001a6c: DUP1 00001a6d: MLOAD 00001a6e: PUSH1 0xe0 00001a70: PUSH1 0x02 00001a72: EXP 00001a73: PUSH4 0x095ea7b3 00001a78: MUL 00001a79: DUP2 00001a7a: MSTORE 00001a7b: PUSH1 0x01 00001a7d: PUSH1 0xa0 00001a7f: PUSH1 0x02 00001a81: EXP 00001a82: SUB 00001a83: SWAP3 00001a84: DUP4 00001a85: AND 00001a86: PUSH1 0x04 00001a88: DUP3 00001a89: ADD 00001a8a: MSTORE 00001a8b: PUSH1 0x00 00001a8d: NOT 00001a8e: PUSH1 0x24 00001a90: DUP3 00001a91: ADD 00001a92: MSTORE 00001a93: SWAP1 00001a94: MLOAD 00001a95: SWAP2 00001a96: DUP4 00001a97: AND 00001a98: SWAP2 00001a99: PUSH4 0x095ea7b3 00001a9e: SWAP2 00001a9f: PUSH1 0x44 00001aa1: DUP1 00001aa2: DUP3 00001aa3: ADD 00001aa4: SWAP3 00001aa5: PUSH1 0x20 00001aa7: SWAP3 00001aa8: SWAP1 00001aa9: SWAP2 00001aaa: SWAP1 00001aab: DUP3 00001aac: SWAP1 00001aad: SUB 00001aae: ADD 00001aaf: DUP2 00001ab0: PUSH1 0x00 00001ab2: DUP8 00001ab3: DUP1 00001ab4: EXTCODESIZE 00001ab5: ISZERO 00001ab6: DUP1 00001ab7: ISZERO 00001ab8: PUSH2 0x1ac0 00001abb: JUMPI 00001abc: PUSH1 0x00 00001abe: DUP1 00001abf: REVERT 00001ac0: JUMPDEST 00001ac1: POP 00001ac2: GAS 00001ac3: CALL 00001ac4: ISZERO 00001ac5: DUP1 00001ac6: ISZERO 00001ac7: PUSH2 0x1ad4 00001aca: JUMPI 00001acb: RETURNDATASIZE 00001acc: PUSH1 0x00 00001ace: DUP1 00001acf: RETURNDATACOPY 00001ad0: RETURNDATASIZE 00001ad1: PUSH1 0x00 00001ad3: REVERT 00001ad4: JUMPDEST 00001ad5: POP 00001ad6: POP 00001ad7: POP 00001ad8: POP 00001ad9: PUSH1 0x40 00001adb: MLOAD 00001adc: RETURNDATASIZE 00001add: PUSH1 0x20 00001adf: DUP2 00001ae0: LT 00001ae1: ISZERO 00001ae2: PUSH2 0x1aea 00001ae5: JUMPI 00001ae6: PUSH1 0x00 00001ae8: DUP1 00001ae9: REVERT 00001aea: JUMPDEST 00001aeb: POP 00001aec: POP 00001aed: PUSH1 0x02 00001aef: SLOAD 00001af0: PUSH1 0x40 00001af2: DUP1 00001af3: MLOAD 00001af4: PUSH1 0xe0 00001af6: PUSH1 0x02 00001af8: EXP 00001af9: PUSH4 0x095ea7b3 00001afe: MUL 00001aff: DUP2 00001b00: MSTORE 00001b01: PUSH1 0x01 00001b03: PUSH1 0xa0 00001b05: PUSH1 0x02 00001b07: EXP 00001b08: SUB 00001b09: SWAP3 00001b0a: DUP4 00001b0b: AND 00001b0c: PUSH1 0x04 00001b0e: DUP3 00001b0f: ADD 00001b10: MSTORE 00001b11: PUSH1 0x00 00001b13: NOT 00001b14: PUSH1 0x24 00001b16: DUP3 00001b17: ADD 00001b18: MSTORE 00001b19: SWAP1 00001b1a: MLOAD 00001b1b: SWAP2 00001b1c: DUP4 00001b1d: AND 00001b1e: SWAP2 00001b1f: PUSH4 0x095ea7b3 00001b24: SWAP2 00001b25: PUSH1 0x44 00001b27: DUP1 00001b28: DUP3 00001b29: ADD 00001b2a: SWAP3 00001b2b: PUSH1 0x20 00001b2d: SWAP3 00001b2e: SWAP1 00001b2f: SWAP2 00001b30: SWAP1 00001b31: DUP3 00001b32: SWAP1 00001b33: SUB 00001b34: ADD 00001b35: DUP2 00001b36: PUSH1 0x00 00001b38: DUP8 00001b39: DUP1 00001b3a: EXTCODESIZE 00001b3b: ISZERO 00001b3c: DUP1 00001b3d: ISZERO 00001b3e: PUSH2 0x1b46 00001b41: JUMPI 00001b42: PUSH1 0x00 00001b44: DUP1 00001b45: REVERT 00001b46: JUMPDEST 00001b47: POP 00001b48: GAS 00001b49: CALL 00001b4a: ISZERO 00001b4b: DUP1 00001b4c: ISZERO 00001b4d: PUSH2 0x1b5a 00001b50: JUMPI 00001b51: RETURNDATASIZE 00001b52: PUSH1 0x00 00001b54: DUP1 00001b55: RETURNDATACOPY 00001b56: RETURNDATASIZE 00001b57: PUSH1 0x00 00001b59: REVERT 00001b5a: JUMPDEST 00001b5b: POP 00001b5c: POP 00001b5d: POP 00001b5e: POP 00001b5f: PUSH1 0x40 00001b61: MLOAD 00001b62: RETURNDATASIZE 00001b63: PUSH1 0x20 00001b65: DUP2 00001b66: LT 00001b67: ISZERO 00001b68: PUSH2 0x1b70 00001b6b: JUMPI 00001b6c: PUSH1 0x00 00001b6e: DUP1 00001b6f: REVERT 00001b70: JUMPDEST 00001b71: POP 00001b72: POP 00001b73: POP 00001b74: JUMP 00001b75: JUMPDEST 00001b76: PUSH1 0x00 00001b78: DUP5 00001b79: ISZERO 00001b7a: ISZERO 00001b7b: PUSH2 0x1c43 00001b7e: JUMPI 00001b7f: PUSH1 0x01 00001b81: SLOAD 00001b82: PUSH1 0x40 00001b84: DUP1 00001b85: MLOAD 00001b86: PUSH32 0x144a275200000000000000000000000000000000000000000000000000000000 00001ba7: DUP2 00001ba8: MSTORE 00001ba9: PUSH1 0x01 00001bab: PUSH1 0xa0 00001bad: PUSH1 0x02 00001baf: EXP 00001bb0: SUB 00001bb1: DUP6 00001bb2: DUP2 00001bb3: AND 00001bb4: PUSH1 0x04 00001bb6: DUP4 00001bb7: ADD 00001bb8: MSTORE 00001bb9: DUP8 00001bba: DUP2 00001bbb: AND 00001bbc: PUSH1 0x24 00001bbe: DUP4 00001bbf: ADD 00001bc0: MSTORE 00001bc1: PUSH1 0x44 00001bc3: DUP3 00001bc4: ADD 00001bc5: DUP8 00001bc6: SWAP1 00001bc7: MSTORE 00001bc8: SWAP2 00001bc9: MLOAD 00001bca: PUSH1 0x00 00001bcc: SWAP4 00001bcd: SWAP3 00001bce: SWAP1 00001bcf: SWAP3 00001bd0: AND 00001bd1: SWAP2 00001bd2: PUSH4 0x144a2752 00001bd7: SWAP2 00001bd8: PUSH1 0x64 00001bda: DUP1 00001bdb: DUP3 00001bdc: ADD 00001bdd: SWAP3 00001bde: PUSH1 0x20 00001be0: SWAP3 00001be1: SWAP1 00001be2: SWAP2 00001be3: SWAP1 00001be4: DUP3 00001be5: SWAP1 00001be6: SUB 00001be7: ADD 00001be8: DUP2 00001be9: DUP7 00001bea: DUP1 00001beb: EXTCODESIZE 00001bec: ISZERO 00001bed: DUP1 00001bee: ISZERO 00001bef: PUSH2 0x1bf7 00001bf2: JUMPI 00001bf3: PUSH1 0x00 00001bf5: DUP1 00001bf6: REVERT 00001bf7: JUMPDEST 00001bf8: POP 00001bf9: GAS 00001bfa: STATICCALL 00001bfb: ISZERO 00001bfc: DUP1 00001bfd: ISZERO 00001bfe: PUSH2 0x1c0b 00001c01: JUMPI 00001c02: RETURNDATASIZE 00001c03: PUSH1 0x00 00001c05: DUP1 00001c06: RETURNDATACOPY 00001c07: RETURNDATASIZE 00001c08: PUSH1 0x00 00001c0a: REVERT 00001c0b: JUMPDEST 00001c0c: POP 00001c0d: POP 00001c0e: POP 00001c0f: POP 00001c10: PUSH1 0x40 00001c12: MLOAD 00001c13: RETURNDATASIZE 00001c14: PUSH1 0x20 00001c16: DUP2 00001c17: LT 00001c18: ISZERO 00001c19: PUSH2 0x1c21 00001c1c: JUMPI 00001c1d: PUSH1 0x00 00001c1f: DUP1 00001c20: REVERT 00001c21: JUMPDEST 00001c22: POP 00001c23: MLOAD 00001c24: SWAP1 00001c25: POP 00001c26: PUSH2 0x1c3b 00001c29: PUSH2 0x1c35 00001c2c: DUP3 00001c2d: PUSH3 0x0186a0 00001c31: PUSH2 0x2876 00001c34: JUMP 00001c35: JUMPDEST 00001c36: DUP6 00001c37: PUSH2 0x2898 00001c3a: JUMP 00001c3b: JUMPDEST 00001c3c: SWAP2 00001c3d: POP 00001c3e: POP 00001c3f: PUSH2 0x1d03 00001c42: JUMP 00001c43: JUMPDEST 00001c44: PUSH1 0x01 00001c46: DUP6 00001c47: EQ 00001c48: ISZERO 00001c49: PUSH2 0x1cfe 00001c4c: JUMPI 00001c4d: PUSH1 0x02 00001c4f: SLOAD 00001c50: PUSH1 0x40 00001c52: DUP1 00001c53: MLOAD 00001c54: PUSH32 0x809a9e5500000000000000000000000000000000000000000000000000000000 00001c75: DUP2 00001c76: MSTORE 00001c77: PUSH1 0x01 00001c79: PUSH1 0xa0 00001c7b: PUSH1 0x02 00001c7d: EXP 00001c7e: SUB 00001c7f: DUP8 00001c80: DUP2 00001c81: AND 00001c82: PUSH1 0x04 00001c84: DUP4 00001c85: ADD 00001c86: MSTORE 00001c87: DUP6 00001c88: DUP2 00001c89: AND 00001c8a: PUSH1 0x24 00001c8c: DUP4 00001c8d: ADD 00001c8e: MSTORE 00001c8f: PUSH1 0x44 00001c91: DUP3 00001c92: ADD 00001c93: DUP8 00001c94: SWAP1 00001c95: MSTORE 00001c96: DUP3 00001c97: MLOAD 00001c98: PUSH1 0x00 00001c9a: SWAP5 00001c9b: SWAP2 00001c9c: SWAP1 00001c9d: SWAP2 00001c9e: AND 00001c9f: SWAP3 00001ca0: PUSH4 0x809a9e55 00001ca5: SWAP3 00001ca6: PUSH1 0x64 00001ca8: DUP1 00001ca9: DUP3 00001caa: ADD 00001cab: SWAP4 00001cac: SWAP2 00001cad: DUP3 00001cae: SWAP1 00001caf: SUB 00001cb0: ADD 00001cb1: DUP2 00001cb2: DUP7 00001cb3: DUP1 00001cb4: EXTCODESIZE 00001cb5: ISZERO 00001cb6: DUP1 00001cb7: ISZERO 00001cb8: PUSH2 0x1cc0 00001cbb: JUMPI 00001cbc: PUSH1 0x00 00001cbe: DUP1 00001cbf: REVERT 00001cc0: JUMPDEST 00001cc1: POP 00001cc2: GAS 00001cc3: STATICCALL 00001cc4: ISZERO 00001cc5: DUP1 00001cc6: ISZERO 00001cc7: PUSH2 0x1cd4 00001cca: JUMPI 00001ccb: RETURNDATASIZE 00001ccc: PUSH1 0x00 00001cce: DUP1 00001ccf: RETURNDATACOPY 00001cd0: RETURNDATASIZE 00001cd1: PUSH1 0x00 00001cd3: REVERT 00001cd4: JUMPDEST 00001cd5: POP 00001cd6: POP 00001cd7: POP 00001cd8: POP 00001cd9: PUSH1 0x40 00001cdb: MLOAD 00001cdc: RETURNDATASIZE 00001cdd: PUSH1 0x40 00001cdf: DUP2 00001ce0: LT 00001ce1: ISZERO 00001ce2: PUSH2 0x1cea 00001ce5: JUMPI 00001ce6: PUSH1 0x00 00001ce8: DUP1 00001ce9: REVERT 00001cea: JUMPDEST 00001ceb: POP 00001cec: MLOAD 00001ced: PUSH6 0x09184e72a000 00001cf4: SWAP1 00001cf5: DIV 00001cf6: SWAP2 00001cf7: POP 00001cf8: PUSH2 0x1d03 00001cfb: SWAP1 00001cfc: POP 00001cfd: JUMP 00001cfe: JUMPDEST 00001cff: PUSH1 0x00 00001d01: DUP1 00001d02: REVERT 00001d03: JUMPDEST 00001d04: SWAP5 00001d05: SWAP4 00001d06: POP 00001d07: POP 00001d08: POP 00001d09: POP 00001d0a: JUMP 00001d0b: JUMPDEST 00001d0c: PUSH1 0x02 00001d0e: SLOAD 00001d0f: PUSH1 0x01 00001d11: PUSH1 0xa0 00001d13: PUSH1 0x02 00001d15: EXP 00001d16: SUB 00001d17: AND 00001d18: DUP2 00001d19: JUMP 00001d1a: JUMPDEST 00001d1b: PUSH1 0x04 00001d1d: SLOAD 00001d1e: PUSH1 0x00 00001d20: SWAP1 00001d21: PUSH1 0x60 00001d23: SWAP1 00001d24: PUSH1 0x01 00001d26: PUSH1 0xa0 00001d28: PUSH1 0x02 00001d2a: EXP 00001d2b: SUB 00001d2c: AND 00001d2d: CALLER 00001d2e: EQ 00001d2f: PUSH2 0x1d37 00001d32: JUMPI 00001d33: PUSH1 0x00 00001d35: DUP1 00001d36: REVERT 00001d37: JUMPDEST 00001d38: DUP5 00001d39: PUSH1 0x01 00001d3b: PUSH1 0xa0 00001d3d: PUSH1 0x02 00001d3f: EXP 00001d40: SUB 00001d41: AND 00001d42: CALLVALUE 00001d43: DUP6 00001d44: DUP6 00001d45: PUSH1 0x40 00001d47: MLOAD 00001d48: DUP1 00001d49: DUP4 00001d4a: DUP4 00001d4b: DUP1 00001d4c: DUP3 00001d4d: DUP5 00001d4e: CALLDATACOPY 00001d4f: PUSH1 0x40 00001d51: MLOAD 00001d52: SWAP3 00001d53: ADD 00001d54: SWAP5 00001d55: POP 00001d56: PUSH1 0x00 00001d58: SWAP4 00001d59: POP 00001d5a: SWAP1 00001d5b: SWAP2 00001d5c: POP 00001d5d: POP 00001d5e: DUP1 00001d5f: DUP4 00001d60: SUB 00001d61: DUP2 00001d62: DUP6 00001d63: DUP8 00001d64: GAS 00001d65: CALL 00001d66: SWAP3 00001d67: POP 00001d68: POP 00001d69: POP 00001d6a: RETURNDATASIZE 00001d6b: DUP1 00001d6c: PUSH1 0x00 00001d6e: DUP2 00001d6f: EQ 00001d70: PUSH2 0x1d95 00001d73: JUMPI 00001d74: PUSH1 0x40 00001d76: MLOAD 00001d77: SWAP2 00001d78: POP 00001d79: PUSH1 0x1f 00001d7b: NOT 00001d7c: PUSH1 0x3f 00001d7e: RETURNDATASIZE 00001d7f: ADD 00001d80: AND 00001d81: DUP3 00001d82: ADD 00001d83: PUSH1 0x40 00001d85: MSTORE 00001d86: RETURNDATASIZE 00001d87: DUP3 00001d88: MSTORE 00001d89: RETURNDATASIZE 00001d8a: PUSH1 0x00 00001d8c: PUSH1 0x20 00001d8e: DUP5 00001d8f: ADD 00001d90: RETURNDATACOPY 00001d91: PUSH2 0x1d9a 00001d94: JUMP 00001d95: JUMPDEST 00001d96: PUSH1 0x60 00001d98: SWAP2 00001d99: POP 00001d9a: JUMPDEST 00001d9b: POP 00001d9c: SWAP2 00001d9d: POP 00001d9e: SWAP2 00001d9f: POP 00001da0: SWAP4 00001da1: POP 00001da2: SWAP4 00001da3: SWAP2 00001da4: POP 00001da5: POP 00001da6: JUMP 00001da7: JUMPDEST 00001da8: PUSH1 0x04 00001daa: SLOAD 00001dab: PUSH1 0x01 00001dad: PUSH1 0xa0 00001daf: PUSH1 0x02 00001db1: EXP 00001db2: SUB 00001db3: AND 00001db4: CALLER 00001db5: EQ 00001db6: PUSH2 0x1dbe 00001db9: JUMPI 00001dba: PUSH1 0x00 00001dbc: DUP1 00001dbd: REVERT 00001dbe: JUMPDEST 00001dbf: PUSH1 0x0c 00001dc1: SLOAD 00001dc2: PUSH1 0x0b 00001dc4: SLOAD 00001dc5: LT 00001dc6: PUSH2 0x1dce 00001dc9: JUMPI 00001dca: PUSH1 0x00 00001dcc: DUP1 00001dcd: REVERT 00001dce: JUMPDEST 00001dcf: PUSH1 0x0b 00001dd1: DUP1 00001dd2: SLOAD 00001dd3: PUSH1 0x01 00001dd5: ADD 00001dd6: SWAP1 00001dd7: SSTORE 00001dd8: JUMP 00001dd9: JUMPDEST 00001dda: PUSH1 0x04 00001ddc: SLOAD 00001ddd: PUSH1 0x01 00001ddf: PUSH1 0xa0 00001de1: PUSH1 0x02 00001de3: EXP 00001de4: SUB 00001de5: AND 00001de6: CALLER 00001de7: EQ 00001de8: PUSH2 0x1df0 00001deb: JUMPI 00001dec: PUSH1 0x00 00001dee: DUP1 00001def: REVERT 00001df0: JUMPDEST 00001df1: PUSH1 0x00 00001df3: DUP1 00001df4: SLOAD 00001df5: PUSH1 0x40 00001df7: DUP1 00001df8: MLOAD 00001df9: PUSH1 0xe0 00001dfb: PUSH1 0x02 00001dfd: EXP 00001dfe: PUSH4 0x095ea7b3 00001e03: MUL 00001e04: DUP2 00001e05: MSTORE 00001e06: PUSH1 0x01 00001e08: PUSH1 0xa0 00001e0a: PUSH1 0x02 00001e0c: EXP 00001e0d: SUB 00001e0e: SWAP3 00001e0f: DUP4 00001e10: AND 00001e11: PUSH1 0x04 00001e13: DUP3 00001e14: ADD 00001e15: MSTORE 00001e16: PUSH1 0x00 00001e18: NOT 00001e19: PUSH1 0x24 00001e1b: DUP3 00001e1c: ADD 00001e1d: MSTORE 00001e1e: SWAP1 00001e1f: MLOAD 00001e20: SWAP2 00001e21: DUP5 00001e22: AND 00001e23: SWAP3 00001e24: PUSH4 0x095ea7b3 00001e29: SWAP3 00001e2a: PUSH1 0x44 00001e2c: DUP1 00001e2d: DUP5 00001e2e: ADD 00001e2f: SWAP4 00001e30: DUP3 00001e31: SWAP1 00001e32: SUB 00001e33: ADD 00001e34: DUP2 00001e35: DUP4 00001e36: DUP8 00001e37: DUP1 00001e38: EXTCODESIZE 00001e39: ISZERO 00001e3a: DUP1 00001e3b: ISZERO 00001e3c: PUSH2 0x1e44 00001e3f: JUMPI 00001e40: PUSH1 0x00 00001e42: DUP1 00001e43: REVERT 00001e44: JUMPDEST 00001e45: POP 00001e46: GAS 00001e47: CALL 00001e48: ISZERO 00001e49: DUP1 00001e4a: ISZERO 00001e4b: PUSH2 0x1e58 00001e4e: JUMPI 00001e4f: RETURNDATASIZE 00001e50: PUSH1 0x00 00001e52: DUP1 00001e53: RETURNDATACOPY 00001e54: RETURNDATASIZE 00001e55: PUSH1 0x00 00001e57: REVERT 00001e58: JUMPDEST 00001e59: POP 00001e5a: POP 00001e5b: PUSH1 0x01 00001e5d: SLOAD 00001e5e: PUSH1 0x40 00001e60: DUP1 00001e61: MLOAD 00001e62: PUSH1 0xe0 00001e64: PUSH1 0x02 00001e66: EXP 00001e67: PUSH4 0x095ea7b3 00001e6c: MUL 00001e6d: DUP2 00001e6e: MSTORE 00001e6f: PUSH1 0x01 00001e71: PUSH1 0xa0 00001e73: PUSH1 0x02 00001e75: EXP 00001e76: SUB 00001e77: SWAP3 00001e78: DUP4 00001e79: AND 00001e7a: PUSH1 0x04 00001e7c: DUP3 00001e7d: ADD 00001e7e: MSTORE 00001e7f: PUSH1 0x00 00001e81: NOT 00001e82: PUSH1 0x24 00001e84: DUP3 00001e85: ADD 00001e86: MSTORE 00001e87: SWAP1 00001e88: MLOAD 00001e89: SWAP2 00001e8a: DUP6 00001e8b: AND 00001e8c: SWAP4 00001e8d: POP 00001e8e: PUSH4 0x095ea7b3 00001e93: SWAP3 00001e94: POP 00001e95: PUSH1 0x44 00001e97: DUP1 00001e98: DUP3 00001e99: ADD 00001e9a: SWAP3 00001e9b: PUSH1 0x00 00001e9d: SWAP3 00001e9e: SWAP1 00001e9f: SWAP2 00001ea0: SWAP1 00001ea1: DUP3 00001ea2: SWAP1 00001ea3: SUB 00001ea4: ADD 00001ea5: DUP2 00001ea6: DUP4 00001ea7: DUP8 00001ea8: DUP1 00001ea9: EXTCODESIZE 00001eaa: ISZERO 00001eab: DUP1 00001eac: ISZERO 00001ead: PUSH2 0x1eb5 00001eb0: JUMPI 00001eb1: PUSH1 0x00 00001eb3: DUP1 00001eb4: REVERT 00001eb5: JUMPDEST 00001eb6: POP 00001eb7: GAS 00001eb8: CALL 00001eb9: ISZERO 00001eba: DUP1 00001ebb: ISZERO 00001ebc: PUSH2 0x1ec9 00001ebf: JUMPI 00001ec0: RETURNDATASIZE 00001ec1: PUSH1 0x00 00001ec3: DUP1 00001ec4: RETURNDATACOPY 00001ec5: RETURNDATASIZE 00001ec6: PUSH1 0x00 00001ec8: REVERT 00001ec9: JUMPDEST 00001eca: POP 00001ecb: POP 00001ecc: PUSH1 0x02 00001ece: SLOAD 00001ecf: PUSH1 0x40 00001ed1: DUP1 00001ed2: MLOAD 00001ed3: PUSH1 0xe0 00001ed5: PUSH1 0x02 00001ed7: EXP 00001ed8: PUSH4 0x095ea7b3 00001edd: MUL 00001ede: DUP2 00001edf: MSTORE 00001ee0: PUSH1 0x01 00001ee2: PUSH1 0xa0 00001ee4: PUSH1 0x02 00001ee6: EXP 00001ee7: SUB 00001ee8: SWAP3 00001ee9: DUP4 00001eea: AND 00001eeb: PUSH1 0x04 00001eed: DUP3 00001eee: ADD 00001eef: MSTORE 00001ef0: PUSH1 0x00 00001ef2: NOT 00001ef3: PUSH1 0x24 00001ef5: DUP3 00001ef6: ADD 00001ef7: MSTORE 00001ef8: SWAP1 00001ef9: MLOAD 00001efa: SWAP2 00001efb: DUP6 00001efc: AND 00001efd: SWAP4 00001efe: POP 00001eff: PUSH4 0x095ea7b3 00001f04: SWAP3 00001f05: POP 00001f06: PUSH1 0x44 00001f08: DUP1 00001f09: DUP3 00001f0a: ADD 00001f0b: SWAP3 00001f0c: PUSH1 0x00 00001f0e: SWAP3 00001f0f: SWAP1 00001f10: SWAP2 00001f11: SWAP1 00001f12: DUP3 00001f13: SWAP1 00001f14: SUB 00001f15: ADD 00001f16: DUP2 00001f17: DUP4 00001f18: DUP8 00001f19: DUP1 00001f1a: EXTCODESIZE 00001f1b: ISZERO 00001f1c: DUP1 00001f1d: ISZERO 00001f1e: PUSH2 0x1f26 00001f21: JUMPI 00001f22: PUSH1 0x00 00001f24: DUP1 00001f25: REVERT 00001f26: JUMPDEST 00001f27: POP 00001f28: GAS 00001f29: CALL 00001f2a: ISZERO 00001f2b: DUP1 00001f2c: ISZERO 00001f2d: PUSH2 0x1f3a 00001f30: JUMPI 00001f31: RETURNDATASIZE 00001f32: PUSH1 0x00 00001f34: DUP1 00001f35: RETURNDATACOPY 00001f36: RETURNDATASIZE 00001f37: PUSH1 0x00 00001f39: REVERT 00001f3a: JUMPDEST 00001f3b: POP 00001f3c: POP 00001f3d: POP 00001f3e: POP 00001f3f: POP 00001f40: JUMP 00001f41: JUMPDEST 00001f42: PUSH1 0x05 00001f44: SLOAD 00001f45: PUSH1 0x01 00001f47: PUSH1 0xa0 00001f49: PUSH1 0x02 00001f4b: EXP 00001f4c: SUB 00001f4d: AND 00001f4e: DUP2 00001f4f: JUMP 00001f50: JUMPDEST 00001f51: PUSH1 0x00 00001f53: DUP1 00001f54: PUSH1 0x00 00001f56: DUP1 00001f57: PUSH1 0x00 00001f59: DUP1 00001f5a: PUSH2 0x1f61 00001f5d: PUSH2 0x28f6 00001f60: JUMP 00001f61: JUMPDEST 00001f62: PUSH2 0x1f6f 00001f65: DUP14 00001f66: DUP14 00001f67: DUP14 00001f68: DUP14 00001f69: DUP14 00001f6a: DUP14 00001f6b: PUSH2 0x20c6 00001f6e: JUMP 00001f6f: JUMPDEST 00001f70: SWAP1 00001f71: POP 00001f72: DUP1 00001f73: PUSH1 0x00 00001f75: ADD 00001f76: MLOAD 00001f77: DUP2 00001f78: PUSH1 0x20 00001f7a: ADD 00001f7b: MLOAD 00001f7c: DUP3 00001f7d: PUSH1 0x40 00001f7f: ADD 00001f80: MLOAD 00001f81: DUP4 00001f82: PUSH1 0x60 00001f84: ADD 00001f85: MLOAD 00001f86: DUP5 00001f87: PUSH1 0x80 00001f89: ADD 00001f8a: MLOAD 00001f8b: DUP6 00001f8c: PUSH1 0xa0 00001f8e: ADD 00001f8f: MLOAD 00001f90: SWAP7 00001f91: POP 00001f92: SWAP7 00001f93: POP 00001f94: SWAP7 00001f95: POP 00001f96: SWAP7 00001f97: POP 00001f98: SWAP7 00001f99: POP 00001f9a: SWAP7 00001f9b: POP 00001f9c: POP 00001f9d: SWAP7 00001f9e: POP 00001f9f: SWAP7 00001fa0: POP 00001fa1: SWAP7 00001fa2: POP 00001fa3: SWAP7 00001fa4: POP 00001fa5: SWAP7 00001fa6: POP 00001fa7: SWAP7 00001fa8: SWAP1 00001fa9: POP 00001faa: JUMP 00001fab: JUMPDEST 00001fac: PUSH1 0x04 00001fae: SLOAD 00001faf: PUSH1 0x00 00001fb1: SWAP1 00001fb2: PUSH1 0x01 00001fb4: PUSH1 0xa0 00001fb6: PUSH1 0x02 00001fb8: EXP 00001fb9: SUB 00001fba: AND 00001fbb: CALLER 00001fbc: EQ 00001fbd: PUSH2 0x1fc5 00001fc0: JUMPI 00001fc1: PUSH1 0x00 00001fc3: DUP1 00001fc4: REVERT 00001fc5: JUMPDEST 00001fc6: PUSH2 0x1fce 00001fc9: DUP5 00001fca: PUSH2 0x19c8 00001fcd: JUMP 00001fce: JUMPDEST 00001fcf: PUSH2 0x1fd7 00001fd2: DUP4 00001fd3: PUSH2 0x19c8 00001fd6: JUMP 00001fd7: JUMPDEST 00001fd8: PUSH1 0x40 00001fda: DUP1 00001fdb: MLOAD 00001fdc: PUSH32 0x23b872dd00000000000000000000000000000000000000000000000000000000 00001ffd: DUP2 00001ffe: MSTORE 00001fff: CALLER 00002000: PUSH1 0x04 00002002: DUP3 00002003: ADD 00002004: MSTORE 00002005: ADDRESS 00002006: PUSH1 0x24 00002008: DUP3 00002009: ADD 0000200a: MSTORE 0000200b: PUSH1 0x44 0000200d: DUP2 0000200e: ADD 0000200f: DUP5 00002010: SWAP1 00002011: MSTORE 00002012: SWAP1 00002013: MLOAD 00002014: PUSH1 0x00 00002016: SWAP2 00002017: PUSH1 0x01 00002019: PUSH1 0xa0 0000201b: PUSH1 0x02 0000201d: EXP 0000201e: SUB 0000201f: DUP8 00002020: AND 00002021: SWAP2 00002022: PUSH4 0x23b872dd 00002027: SWAP2 00002028: PUSH1 0x64 0000202a: DUP1 0000202b: DUP3 0000202c: ADD 0000202d: SWAP3 0000202e: PUSH1 0x20 00002030: SWAP3 00002031: SWAP1 00002032: SWAP2 00002033: SWAP1 00002034: DUP3 00002035: SWAP1 00002036: SUB 00002037: ADD 00002038: DUP2 00002039: DUP8 0000203a: DUP8 0000203b: DUP1 0000203c: EXTCODESIZE 0000203d: ISZERO 0000203e: DUP1 0000203f: ISZERO 00002040: PUSH2 0x2048 00002043: JUMPI 00002044: PUSH1 0x00 00002046: DUP1 00002047: REVERT 00002048: JUMPDEST 00002049: POP 0000204a: GAS 0000204b: CALL 0000204c: ISZERO 0000204d: DUP1 0000204e: ISZERO 0000204f: PUSH2 0x205c 00002052: JUMPI 00002053: RETURNDATASIZE 00002054: PUSH1 0x00 00002056: DUP1 00002057: RETURNDATACOPY 00002058: RETURNDATASIZE 00002059: PUSH1 0x00 0000205b: REVERT 0000205c: JUMPDEST 0000205d: POP 0000205e: POP 0000205f: POP 00002060: POP 00002061: PUSH1 0x40 00002063: MLOAD 00002064: RETURNDATASIZE 00002065: PUSH1 0x20 00002067: DUP2 00002068: LT 00002069: ISZERO 0000206a: PUSH2 0x2072 0000206d: JUMPI 0000206e: PUSH1 0x00 00002070: DUP1 00002071: REVERT 00002072: JUMPDEST 00002073: POP 00002074: MLOAD 00002075: SWAP1 00002076: POP 00002077: DUP1 00002078: ISZERO 00002079: PUSH2 0x1d03 0000207c: JUMPI 0000207d: PUSH1 0x40 0000207f: DUP1 00002080: MLOAD 00002081: DUP5 00002082: DUP2 00002083: MSTORE 00002084: TIMESTAMP 00002085: PUSH1 0x20 00002087: DUP3 00002088: ADD 00002089: MSTORE 0000208a: DUP2 0000208b: MLOAD 0000208c: PUSH1 0x01 0000208e: PUSH1 0xa0 00002090: PUSH1 0x02 00002092: EXP 00002093: SUB 00002094: DUP9 00002095: AND 00002096: SWAP3 00002097: PUSH32 0x90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a15 000020b8: SWAP3 000020b9: DUP3 000020ba: SWAP1 000020bb: SUB 000020bc: ADD 000020bd: SWAP1 000020be: LOG2 000020bf: SWAP5 000020c0: SWAP4 000020c1: POP 000020c2: POP 000020c3: POP 000020c4: POP 000020c5: JUMP 000020c6: JUMPDEST 000020c7: PUSH2 0x20ce 000020ca: PUSH2 0x28f6 000020cd: JUMP 000020ce: JUMPDEST 000020cf: PUSH1 0x00 000020d1: SLOAD 000020d2: PUSH1 0x40 000020d4: DUP1 000020d5: MLOAD 000020d6: PUSH32 0x14584a9d00000000000000000000000000000000000000000000000000000000 000020f7: DUP2 000020f8: MSTORE 000020f9: PUSH1 0x01 000020fb: PUSH1 0xa0 000020fd: PUSH1 0x02 000020ff: EXP 00002100: SUB 00002101: DUP11 00002102: DUP2 00002103: AND 00002104: PUSH1 0x04 00002106: DUP4 00002107: ADD 00002108: MSTORE 00002109: DUP10 0000210a: DUP2 0000210b: AND 0000210c: PUSH1 0x24 0000210e: DUP4 0000210f: ADD 00002110: MSTORE 00002111: SWAP2 00002112: MLOAD 00002113: SWAP2 00002114: SWAP1 00002115: SWAP3 00002116: AND 00002117: SWAP2 00002118: PUSH4 0x14584a9d 0000211d: SWAP2 0000211e: PUSH1 0x44 00002120: DUP1 00002121: DUP4 00002122: ADD 00002123: SWAP3 00002124: PUSH1 0x20 00002126: SWAP3 00002127: SWAP2 00002128: SWAP1 00002129: DUP3 0000212a: SWAP1 0000212b: SUB 0000212c: ADD 0000212d: DUP2 0000212e: DUP7 0000212f: DUP1 00002130: EXTCODESIZE 00002131: ISZERO 00002132: DUP1 00002133: ISZERO 00002134: PUSH2 0x213c 00002137: JUMPI 00002138: PUSH1 0x00 0000213a: DUP1 0000213b: REVERT 0000213c: JUMPDEST 0000213d: POP 0000213e: GAS 0000213f: STATICCALL 00002140: ISZERO 00002141: DUP1 00002142: ISZERO 00002143: PUSH2 0x2150 00002146: JUMPI 00002147: RETURNDATASIZE 00002148: PUSH1 0x00 0000214a: DUP1 0000214b: RETURNDATACOPY 0000214c: RETURNDATASIZE 0000214d: PUSH1 0x00 0000214f: REVERT 00002150: JUMPDEST 00002151: POP 00002152: POP 00002153: POP 00002154: POP 00002155: PUSH1 0x40 00002157: MLOAD 00002158: RETURNDATASIZE 00002159: PUSH1 0x20 0000215b: DUP2 0000215c: LT 0000215d: ISZERO 0000215e: PUSH2 0x2166 00002161: JUMPI 00002162: PUSH1 0x00 00002164: DUP1 00002165: REVERT 00002166: JUMPDEST 00002167: POP 00002168: MLOAD 00002169: DUP2 0000216a: MSTORE 0000216b: PUSH1 0x00 0000216d: SLOAD 0000216e: PUSH1 0x40 00002170: DUP1 00002171: MLOAD 00002172: PUSH32 0xdae595e500000000000000000000000000000000000000000000000000000000 00002193: DUP2 00002194: MSTORE 00002195: PUSH1 0x01 00002197: PUSH1 0xa0 00002199: PUSH1 0x02 0000219b: EXP 0000219c: SUB 0000219d: DUP11 0000219e: DUP2 0000219f: AND 000021a0: PUSH1 0x04 000021a2: DUP4 000021a3: ADD 000021a4: MSTORE 000021a5: DUP10 000021a6: DUP2 000021a7: AND 000021a8: PUSH1 0x24 000021aa: DUP4 000021ab: ADD 000021ac: MSTORE 000021ad: SWAP2 000021ae: MLOAD 000021af: SWAP2 000021b0: SWAP1 000021b1: SWAP3 000021b2: AND 000021b3: SWAP2 000021b4: PUSH4 0xdae595e5 000021b9: SWAP2 000021ba: PUSH1 0x44 000021bc: DUP1 000021bd: DUP4 000021be: ADD 000021bf: SWAP3 000021c0: PUSH1 0x20 000021c2: SWAP3 000021c3: SWAP2 000021c4: SWAP1 000021c5: DUP3 000021c6: SWAP1 000021c7: SUB 000021c8: ADD 000021c9: DUP2 000021ca: DUP7 000021cb: DUP1 000021cc: EXTCODESIZE 000021cd: ISZERO 000021ce: DUP1 000021cf: ISZERO 000021d0: PUSH2 0x21d8 000021d3: JUMPI 000021d4: PUSH1 0x00 000021d6: DUP1 000021d7: REVERT 000021d8: JUMPDEST 000021d9: POP 000021da: GAS 000021db: STATICCALL 000021dc: ISZERO 000021dd: DUP1 000021de: ISZERO 000021df: PUSH2 0x21ec 000021e2: JUMPI 000021e3: RETURNDATASIZE 000021e4: PUSH1 0x00 000021e6: DUP1 000021e7: RETURNDATACOPY 000021e8: RETURNDATASIZE 000021e9: PUSH1 0x00 000021eb: REVERT 000021ec: JUMPDEST 000021ed: POP 000021ee: POP 000021ef: POP 000021f0: POP 000021f1: PUSH1 0x40 000021f3: MLOAD 000021f4: RETURNDATASIZE 000021f5: PUSH1 0x20 000021f7: DUP2 000021f8: LT 000021f9: ISZERO 000021fa: PUSH2 0x2202 000021fd: JUMPI 000021fe: PUSH1 0x00 00002200: DUP1 00002201: REVERT 00002202: JUMPDEST 00002203: POP 00002204: MLOAD 00002205: PUSH1 0x40 00002207: DUP1 00002208: DUP4 00002209: ADD 0000220a: SWAP2 0000220b: SWAP1 0000220c: SWAP2 0000220d: MSTORE 0000220e: PUSH1 0x00 00002210: DUP1 00002211: SLOAD 00002212: DUP4 00002213: MLOAD 00002214: DUP4 00002215: MLOAD 00002216: PUSH32 0xebcc0de100000000000000000000000000000000000000000000000000000000 00002237: DUP2 00002238: MSTORE 00002239: PUSH1 0x01 0000223b: PUSH1 0xa0 0000223d: PUSH1 0x02 0000223f: EXP 00002240: SUB 00002241: DUP13 00002242: DUP2 00002243: AND 00002244: PUSH1 0x04 00002246: DUP4 00002247: ADD 00002248: MSTORE 00002249: DUP12 0000224a: DUP2 0000224b: AND 0000224c: PUSH1 0x24 0000224e: DUP4 0000224f: ADD 00002250: MSTORE 00002251: PUSH1 0x44 00002253: DUP3 00002254: ADD 00002255: SWAP3 00002256: SWAP1 00002257: SWAP3 00002258: MSTORE 00002259: DUP5 0000225a: MLOAD 0000225b: SWAP4 0000225c: SWAP5 0000225d: DUP6 0000225e: SWAP5 0000225f: SWAP3 00002260: SWAP1 00002261: SWAP4 00002262: AND 00002263: SWAP3 00002264: PUSH4 0xebcc0de1 00002269: SWAP3 0000226a: PUSH1 0x64 0000226c: DUP1 0000226d: DUP5 0000226e: ADD 0000226f: SWAP4 00002270: DUP3 00002271: SWAP1 00002272: SUB 00002273: ADD 00002274: DUP2 00002275: DUP7 00002276: DUP1 00002277: EXTCODESIZE 00002278: ISZERO 00002279: DUP1 0000227a: ISZERO 0000227b: PUSH2 0x2283 0000227e: JUMPI 0000227f: PUSH1 0x00 00002281: DUP1 00002282: REVERT 00002283: JUMPDEST 00002284: POP 00002285: GAS 00002286: STATICCALL 00002287: ISZERO 00002288: DUP1 00002289: ISZERO 0000228a: PUSH2 0x2297 0000228d: JUMPI 0000228e: RETURNDATASIZE 0000228f: PUSH1 0x00 00002291: DUP1 00002292: RETURNDATACOPY 00002293: RETURNDATASIZE 00002294: PUSH1 0x00 00002296: REVERT 00002297: JUMPDEST 00002298: POP 00002299: POP 0000229a: POP 0000229b: POP 0000229c: PUSH1 0x40 0000229e: MLOAD 0000229f: RETURNDATASIZE 000022a0: PUSH1 0x40 000022a2: DUP2 000022a3: LT 000022a4: ISZERO 000022a5: PUSH2 0x22ad 000022a8: JUMPI 000022a9: PUSH1 0x00 000022ab: DUP1 000022ac: REVERT 000022ad: JUMPDEST 000022ae: POP 000022af: DUP1 000022b0: MLOAD 000022b1: PUSH1 0x20 000022b3: SWAP2 000022b4: DUP3 000022b5: ADD 000022b6: MLOAD 000022b7: PUSH1 0x01 000022b9: SWAP3 000022ba: DUP7 000022bb: ADD 000022bc: DUP4 000022bd: SWAP1 000022be: MSTORE 000022bf: PUSH1 0x40 000022c1: DUP7 000022c2: ADD 000022c3: MLOAD 000022c4: SWAP2 000022c5: SWAP5 000022c6: POP 000022c7: SWAP3 000022c8: POP 000022c9: EQ 000022ca: ISZERO 000022cb: PUSH2 0x22d6 000022ce: JUMPI 000022cf: PUSH1 0x00 000022d1: PUSH1 0x20 000022d3: DUP5 000022d4: ADD 000022d5: MSTORE 000022d6: JUMPDEST 000022d7: DUP3 000022d8: PUSH1 0x40 000022da: ADD 000022db: MLOAD 000022dc: TIMESTAMP 000022dd: LT 000022de: ISZERO 000022df: PUSH2 0x22ea 000022e2: JUMPI 000022e3: PUSH1 0x00 000022e5: PUSH1 0x20 000022e7: DUP5 000022e8: ADD 000022e9: MSTORE 000022ea: JUMPDEST 000022eb: DUP1 000022ec: ISZERO 000022ed: PUSH2 0x22f8 000022f0: JUMPI 000022f1: PUSH1 0x00 000022f3: PUSH1 0x20 000022f5: DUP5 000022f6: ADD 000022f7: MSTORE 000022f8: JUMPDEST 000022f9: PUSH1 0x00 000022fb: SLOAD 000022fc: PUSH1 0x40 000022fe: DUP1 000022ff: MLOAD 00002300: PUSH32 0xb64c490500000000000000000000000000000000000000000000000000000000 00002321: DUP2 00002322: MSTORE 00002323: PUSH1 0x01 00002325: PUSH1 0xa0 00002327: PUSH1 0x02 00002329: EXP 0000232a: SUB 0000232b: DUP13 0000232c: DUP2 0000232d: AND 0000232e: PUSH1 0x04 00002330: DUP4 00002331: ADD 00002332: MSTORE 00002333: DUP12 00002334: DUP2 00002335: AND 00002336: PUSH1 0x24 00002338: DUP4 00002339: ADD 0000233a: MSTORE 0000233b: SWAP2 0000233c: MLOAD 0000233d: SWAP2 0000233e: SWAP1 0000233f: SWAP3 00002340: AND 00002341: SWAP2 00002342: PUSH4 0xb64c4905 00002347: SWAP2 00002348: PUSH1 0x44 0000234a: DUP1 0000234b: DUP4 0000234c: ADD 0000234d: SWAP3 0000234e: PUSH1 0x20 00002350: SWAP3 00002351: SWAP2 00002352: SWAP1 00002353: DUP3 00002354: SWAP1 00002355: SUB 00002356: ADD 00002357: DUP2 00002358: DUP7 00002359: DUP1 0000235a: EXTCODESIZE 0000235b: ISZERO 0000235c: DUP1 0000235d: ISZERO 0000235e: PUSH2 0x2366 00002361: JUMPI 00002362: PUSH1 0x00 00002364: DUP1 00002365: REVERT 00002366: JUMPDEST 00002367: POP 00002368: GAS 00002369: STATICCALL 0000236a: ISZERO 0000236b: DUP1 0000236c: ISZERO 0000236d: PUSH2 0x237a 00002370: JUMPI 00002371: RETURNDATASIZE 00002372: PUSH1 0x00 00002374: DUP1 00002375: RETURNDATACOPY 00002376: RETURNDATASIZE 00002377: PUSH1 0x00 00002379: REVERT 0000237a: JUMPDEST 0000237b: POP 0000237c: POP 0000237d: POP 0000237e: POP 0000237f: PUSH1 0x40 00002381: MLOAD 00002382: RETURNDATASIZE 00002383: PUSH1 0x20 00002385: DUP2 00002386: LT 00002387: ISZERO 00002388: PUSH2 0x2390 0000238b: JUMPI 0000238c: PUSH1 0x00 0000238e: DUP1 0000238f: REVERT 00002390: JUMPDEST 00002391: POP 00002392: MLOAD 00002393: PUSH1 0x60 00002395: DUP5 00002396: ADD 00002397: MSTORE 00002398: PUSH1 0x00 0000239a: SLOAD 0000239b: PUSH1 0x40 0000239d: DUP1 0000239e: MLOAD 0000239f: PUSH32 0xb8beafd600000000000000000000000000000000000000000000000000000000 000023c0: DUP2 000023c1: MSTORE 000023c2: PUSH1 0x01 000023c4: PUSH1 0xa0 000023c6: PUSH1 0x02 000023c8: EXP 000023c9: SUB 000023ca: DUP13 000023cb: DUP2 000023cc: AND 000023cd: PUSH1 0x04 000023cf: DUP4 000023d0: ADD 000023d1: MSTORE 000023d2: DUP12 000023d3: DUP2 000023d4: AND 000023d5: PUSH1 0x24 000023d7: DUP4 000023d8: ADD 000023d9: MSTORE 000023da: SWAP2 000023db: MLOAD 000023dc: SWAP2 000023dd: SWAP1 000023de: SWAP3 000023df: AND 000023e0: SWAP2 000023e1: PUSH4 0xb8beafd6 000023e6: SWAP2 000023e7: PUSH1 0x44 000023e9: DUP1 000023ea: DUP4 000023eb: ADD 000023ec: SWAP3 000023ed: PUSH1 0x20 000023ef: SWAP3 000023f0: SWAP2 000023f1: SWAP1 000023f2: DUP3 000023f3: SWAP1 000023f4: SUB 000023f5: ADD 000023f6: DUP2 000023f7: DUP7 000023f8: DUP1 000023f9: EXTCODESIZE 000023fa: ISZERO 000023fb: DUP1 000023fc: ISZERO 000023fd: PUSH2 0x2405 00002400: JUMPI 00002401: PUSH1 0x00 00002403: DUP1 00002404: REVERT 00002405: JUMPDEST 00002406: POP 00002407: GAS 00002408: STATICCALL 00002409: ISZERO 0000240a: DUP1 0000240b: ISZERO 0000240c: PUSH2 0x2419 0000240f: JUMPI 00002410: RETURNDATASIZE 00002411: PUSH1 0x00 00002413: DUP1 00002414: RETURNDATACOPY 00002415: RETURNDATASIZE 00002416: PUSH1 0x00 00002418: REVERT 00002419: JUMPDEST 0000241a: POP 0000241b: POP 0000241c: POP 0000241d: POP 0000241e: PUSH1 0x40 00002420: MLOAD 00002421: RETURNDATASIZE 00002422: PUSH1 0x20 00002424: DUP2 00002425: LT 00002426: ISZERO 00002427: PUSH2 0x242f 0000242a: JUMPI 0000242b: PUSH1 0x00 0000242d: DUP1 0000242e: REVERT 0000242f: JUMPDEST 00002430: POP 00002431: MLOAD 00002432: PUSH1 0x80 00002434: DUP5 00002435: ADD 00002436: MSTORE 00002437: PUSH1 0x00 00002439: SLOAD 0000243a: DUP4 0000243b: MLOAD 0000243c: PUSH1 0x40 0000243e: DUP1 0000243f: MLOAD 00002440: PUSH32 0xfdab1b7b00000000000000000000000000000000000000000000000000000000 00002461: DUP2 00002462: MSTORE 00002463: PUSH1 0x01 00002465: PUSH1 0xa0 00002467: PUSH1 0x02 00002469: EXP 0000246a: SUB 0000246b: DUP14 0000246c: DUP2 0000246d: AND 0000246e: PUSH1 0x04 00002470: DUP4 00002471: ADD 00002472: MSTORE 00002473: DUP13 00002474: DUP2 00002475: AND 00002476: PUSH1 0x24 00002478: DUP4 00002479: ADD 0000247a: MSTORE 0000247b: PUSH1 0x44 0000247d: DUP3 0000247e: ADD 0000247f: SWAP4 00002480: SWAP1 00002481: SWAP4 00002482: MSTORE 00002483: DUP2 00002484: MLOAD 00002485: SWAP3 00002486: SWAP1 00002487: SWAP4 00002488: AND 00002489: SWAP3 0000248a: PUSH4 0xfdab1b7b 0000248f: SWAP3 00002490: PUSH1 0x64 00002492: DUP1 00002493: DUP4 00002494: ADD 00002495: SWAP4 00002496: SWAP3 00002497: DUP3 00002498: SWAP1 00002499: SUB 0000249a: ADD 0000249b: DUP2 0000249c: DUP7 0000249d: DUP1 0000249e: EXTCODESIZE 0000249f: ISZERO 000024a0: DUP1 000024a1: ISZERO 000024a2: PUSH2 0x24aa 000024a5: JUMPI 000024a6: PUSH1 0x00 000024a8: DUP1 000024a9: REVERT 000024aa: JUMPDEST 000024ab: POP 000024ac: GAS 000024ad: STATICCALL 000024ae: ISZERO 000024af: DUP1 000024b0: ISZERO 000024b1: PUSH2 0x24be 000024b4: JUMPI 000024b5: RETURNDATASIZE 000024b6: PUSH1 0x00 000024b8: DUP1 000024b9: RETURNDATACOPY 000024ba: RETURNDATASIZE 000024bb: PUSH1 0x00 000024bd: REVERT 000024be: JUMPDEST 000024bf: POP 000024c0: POP 000024c1: POP 000024c2: POP 000024c3: PUSH1 0x40 000024c5: MLOAD 000024c6: RETURNDATASIZE 000024c7: PUSH1 0x40 000024c9: DUP2 000024ca: LT 000024cb: ISZERO 000024cc: PUSH2 0x24d4 000024cf: JUMPI 000024d0: PUSH1 0x00 000024d2: DUP1 000024d3: REVERT 000024d4: JUMPDEST 000024d5: POP 000024d6: DUP1 000024d7: MLOAD 000024d8: PUSH1 0x20 000024da: SWAP1 000024db: SWAP2 000024dc: ADD 000024dd: MLOAD 000024de: SWAP1 000024df: SWAP3 000024e0: POP 000024e1: SWAP1 000024e2: POP 000024e3: PUSH1 0x01 000024e5: PUSH1 0xa0 000024e7: PUSH1 0x02 000024e9: EXP 000024ea: SUB 000024eb: DUP10 000024ec: DUP2 000024ed: AND 000024ee: SWAP1 000024ef: DUP9 000024f0: AND 000024f1: EQ 000024f2: ISZERO 000024f3: PUSH2 0x2525 000024f6: JUMPI 000024f7: PUSH2 0x251b 000024fa: PUSH2 0x2510 000024fd: PUSH2 0x250a 00002500: DUP6 00002501: PUSH1 0x80 00002503: ADD 00002504: MLOAD 00002505: DUP5 00002506: PUSH2 0x2876 00002509: JUMP 0000250a: JUMPDEST 0000250b: DUP5 0000250c: PUSH2 0x2898 0000250f: JUMP 00002510: JUMPDEST 00002511: DUP5 00002512: PUSH1 0x60 00002514: ADD 00002515: MLOAD 00002516: SUB 00002517: PUSH2 0x28bc 0000251a: JUMP 0000251b: JUMPDEST 0000251c: PUSH1 0xa0 0000251e: DUP5 0000251f: ADD 00002520: MSTORE 00002521: PUSH2 0x254a 00002524: JUMP 00002525: JUMPDEST 00002526: PUSH2 0x2544 00002529: DUP4 0000252a: PUSH1 0x80 0000252c: ADD 0000252d: MLOAD 0000252e: PUSH2 0x253e 00002531: PUSH2 0x250a 00002534: DUP7 00002535: PUSH1 0x60 00002537: ADD 00002538: MLOAD 00002539: DUP7 0000253a: PUSH2 0x2876 0000253d: JUMP 0000253e: JUMPDEST 0000253f: SUB 00002540: PUSH2 0x28bc 00002543: JUMP 00002544: JUMPDEST 00002545: PUSH1 0xa0 00002547: DUP5 00002548: ADD 00002549: MSTORE 0000254a: JUMPDEST 0000254b: PUSH2 0x2560 0000254e: PUSH2 0x255a 00002551: DUP4 00002552: PUSH3 0x0186a0 00002556: PUSH2 0x2876 00002559: JUMP 0000255a: JUMPDEST 0000255b: DUP3 0000255c: PUSH2 0x2898 0000255f: JUMP 00002560: JUMPDEST 00002561: PUSH1 0xc0 00002563: DUP5 00002564: ADD 00002565: MSTORE 00002566: PUSH1 0xa0 00002568: DUP4 00002569: ADD 0000256a: MLOAD 0000256b: PUSH2 0x2580 0000256e: SWAP1 0000256f: PUSH2 0x2579 00002572: SWAP1 00002573: PUSH1 0x5f 00002575: PUSH2 0x2876 00002578: JUMP 00002579: JUMPDEST 0000257a: PUSH1 0x64 0000257c: PUSH2 0x2898 0000257f: JUMP 00002580: JUMPDEST 00002581: PUSH2 0x0100 00002584: DUP5 00002585: ADD 00002586: MSTORE 00002587: PUSH1 0x40 00002589: DUP1 0000258a: MLOAD 0000258b: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 000025ac: DUP2 000025ad: MSTORE 000025ae: ADDRESS 000025af: PUSH1 0x04 000025b1: DUP3 000025b2: ADD 000025b3: MSTORE 000025b4: SWAP1 000025b5: MLOAD 000025b6: PUSH1 0x00 000025b8: SWAP2 000025b9: PUSH1 0x01 000025bb: PUSH1 0xa0 000025bd: PUSH1 0x02 000025bf: EXP 000025c0: SUB 000025c1: DUP11 000025c2: AND 000025c3: SWAP2 000025c4: PUSH4 0x70a08231 000025c9: SWAP2 000025ca: PUSH1 0x24 000025cc: DUP1 000025cd: DUP3 000025ce: ADD 000025cf: SWAP3 000025d0: PUSH1 0x20 000025d2: SWAP3 000025d3: SWAP1 000025d4: SWAP2 000025d5: SWAP1 000025d6: DUP3 000025d7: SWAP1 000025d8: SUB 000025d9: ADD 000025da: DUP2 000025db: DUP7 000025dc: DUP1 000025dd: EXTCODESIZE 000025de: ISZERO 000025df: DUP1 000025e0: ISZERO 000025e1: PUSH2 0x25e9 000025e4: JUMPI 000025e5: PUSH1 0x00 000025e7: DUP1 000025e8: REVERT 000025e9: JUMPDEST 000025ea: POP 000025eb: GAS 000025ec: STATICCALL 000025ed: ISZERO 000025ee: DUP1 000025ef: ISZERO 000025f0: PUSH2 0x25fd 000025f3: JUMPI 000025f4: RETURNDATASIZE 000025f5: PUSH1 0x00 000025f7: DUP1 000025f8: RETURNDATACOPY 000025f9: RETURNDATASIZE 000025fa: PUSH1 0x00 000025fc: REVERT 000025fd: JUMPDEST 000025fe: POP 000025ff: POP 00002600: POP 00002601: POP 00002602: PUSH1 0x40 00002604: MLOAD 00002605: RETURNDATASIZE 00002606: PUSH1 0x20 00002608: DUP2 00002609: LT 0000260a: ISZERO 0000260b: PUSH2 0x2613 0000260e: JUMPI 0000260f: PUSH1 0x00 00002611: DUP1 00002612: REVERT 00002613: JUMPDEST 00002614: POP 00002615: MLOAD 00002616: PUSH2 0x0100 00002619: DUP6 0000261a: ADD 0000261b: MLOAD 0000261c: SWAP1 0000261d: SWAP2 0000261e: POP 0000261f: DUP2 00002620: LT 00002621: ISZERO 00002622: PUSH2 0x262e 00002625: JUMPI 00002626: PUSH2 0x0100 00002629: DUP5 0000262a: ADD 0000262b: DUP2 0000262c: SWAP1 0000262d: MSTORE 0000262e: JUMPDEST 0000262f: PUSH1 0x00 00002631: DUP7 00002632: DUP6 00002633: PUSH2 0x0100 00002636: ADD 00002637: MLOAD 00002638: LT 00002639: ISZERO 0000263a: ISZERO 0000263b: PUSH2 0x269b 0000263e: JUMPI 0000263f: DUP9 00002640: PUSH1 0x01 00002642: PUSH1 0xa0 00002644: PUSH1 0x02 00002646: EXP 00002647: SUB 00002648: AND 00002649: DUP12 0000264a: PUSH1 0x01 0000264c: PUSH1 0xa0 0000264e: PUSH1 0x02 00002650: EXP 00002651: SUB 00002652: AND 00002653: EQ 00002654: ISZERO 00002655: PUSH2 0x2670 00002658: JUMPI 00002659: PUSH2 0x2669 0000265c: DUP7 0000265d: DUP11 0000265e: DUP8 0000265f: PUSH2 0x0100 00002662: ADD 00002663: MLOAD 00002664: DUP12 00002665: PUSH2 0x1b75 00002668: JUMP 00002669: JUMPDEST 0000266a: SWAP1 0000266b: POP 0000266c: PUSH2 0x269b 0000266f: JUMP 00002670: JUMPDEST 00002671: PUSH2 0x2682 00002674: PUSH2 0x1c35 00002677: DUP7 00002678: PUSH2 0x0100 0000267b: ADD 0000267c: MLOAD 0000267d: DUP6 0000267e: PUSH2 0x2876 00002681: JUMP 00002682: JUMPDEST 00002683: PUSH2 0x0120 00002686: DUP7 00002687: ADD 00002688: DUP2 00002689: SWAP1 0000268a: MSTORE 0000268b: PUSH2 0x2698 0000268e: SWAP1 0000268f: DUP8 00002690: SWAP1 00002691: DUP11 00002692: SWAP1 00002693: DUP13 00002694: PUSH2 0x1b75 00002697: JUMP 00002698: JUMPDEST 00002699: SWAP1 0000269a: POP 0000269b: JUMPDEST 0000269c: PUSH2 0x26b2 0000269f: PUSH2 0x26aa 000026a2: DUP3 000026a3: PUSH1 0x06 000026a5: SLOAD 000026a6: PUSH2 0x2876 000026a9: JUMP 000026aa: JUMPDEST 000026ab: PUSH1 0x07 000026ad: SLOAD 000026ae: PUSH2 0x2898 000026b1: JUMP 000026b2: JUMPDEST 000026b3: PUSH1 0xe0 000026b5: DUP7 000026b6: ADD 000026b7: MSTORE 000026b8: PUSH1 0x01 000026ba: PUSH2 0x0140 000026bd: DUP7 000026be: ADD 000026bf: MSTORE 000026c0: PUSH1 0x20 000026c2: DUP6 000026c3: ADD 000026c4: MLOAD 000026c5: ISZERO 000026c6: ISZERO 000026c7: PUSH2 0x26d3 000026ca: JUMPI 000026cb: PUSH1 0x00 000026cd: PUSH2 0x0140 000026d0: DUP7 000026d1: ADD 000026d2: MSTORE 000026d3: JUMPDEST 000026d4: PUSH1 0xc0 000026d6: DUP6 000026d7: ADD 000026d8: MLOAD 000026d9: ISZERO 000026da: DUP1 000026db: PUSH2 0x26e6 000026de: JUMPI 000026df: POP 000026e0: PUSH1 0xe0 000026e2: DUP6 000026e3: ADD 000026e4: MLOAD 000026e5: ISZERO 000026e6: JUMPDEST 000026e7: ISZERO 000026e8: PUSH2 0x26f4 000026eb: JUMPI 000026ec: PUSH1 0x00 000026ee: PUSH2 0x0140 000026f1: DUP7 000026f2: ADD 000026f3: MSTORE 000026f4: JUMPDEST 000026f5: DUP5 000026f6: PUSH1 0xe0 000026f8: ADD 000026f9: MLOAD 000026fa: DUP6 000026fb: PUSH1 0xc0 000026fd: ADD 000026fe: MLOAD 000026ff: GT 00002700: ISZERO 00002701: PUSH2 0x270d 00002704: JUMPI 00002705: PUSH1 0x00 00002707: PUSH2 0x0140 0000270a: DUP7 0000270b: ADD 0000270c: MSTORE 0000270d: JUMPDEST 0000270e: DUP7 0000270f: DUP6 00002710: PUSH2 0x0100 00002713: ADD 00002714: MLOAD 00002715: LT 00002716: ISZERO 00002717: PUSH2 0x2723 0000271a: JUMPI 0000271b: PUSH1 0x00 0000271d: PUSH2 0x0140 00002720: DUP7 00002721: ADD 00002722: MSTORE 00002723: JUMPDEST 00002724: POP 00002725: POP 00002726: POP 00002727: POP 00002728: SWAP7 00002729: SWAP6 0000272a: POP 0000272b: POP 0000272c: POP 0000272d: POP 0000272e: POP 0000272f: POP 00002730: JUMP 00002731: JUMPDEST 00002732: PUSH1 0x00 00002734: DUP5 00002735: ISZERO 00002736: ISZERO 00002737: PUSH2 0x27ed 0000273a: JUMPI 0000273b: PUSH1 0x01 0000273d: SLOAD 0000273e: PUSH1 0x40 00002740: DUP1 00002741: MLOAD 00002742: PUSH32 0x0621b4f600000000000000000000000000000000000000000000000000000000 00002763: DUP2 00002764: MSTORE 00002765: PUSH1 0x01 00002767: PUSH1 0xa0 00002769: PUSH1 0x02 0000276b: EXP 0000276c: SUB 0000276d: DUP8 0000276e: DUP2 0000276f: AND 00002770: PUSH1 0x04 00002772: DUP4 00002773: ADD 00002774: MSTORE 00002775: PUSH1 0x24 00002777: DUP3 00002778: ADD 00002779: DUP8 0000277a: SWAP1 0000277b: MSTORE 0000277c: DUP6 0000277d: DUP2 0000277e: AND 0000277f: PUSH1 0x44 00002781: DUP4 00002782: ADD 00002783: MSTORE 00002784: PUSH1 0x00 00002786: PUSH1 0x64 00002788: DUP4 00002789: ADD 0000278a: DUP2 0000278b: SWAP1 0000278c: MSTORE 0000278d: SWAP3 0000278e: MLOAD 0000278f: SWAP4 00002790: AND 00002791: SWAP3 00002792: PUSH4 0x0621b4f6 00002797: SWAP3 00002798: PUSH1 0x84 0000279a: DUP1 0000279b: DUP5 0000279c: ADD 0000279d: SWAP4 0000279e: PUSH1 0x20 000027a0: SWAP4 000027a1: SWAP3 000027a2: SWAP1 000027a3: DUP4 000027a4: SWAP1 000027a5: SUB 000027a6: SWAP1 000027a7: SWAP2 000027a8: ADD 000027a9: SWAP1 000027aa: DUP3 000027ab: SWAP1 000027ac: DUP8 000027ad: DUP1 000027ae: EXTCODESIZE 000027af: ISZERO 000027b0: DUP1 000027b1: ISZERO 000027b2: PUSH2 0x27ba 000027b5: JUMPI 000027b6: PUSH1 0x00 000027b8: DUP1 000027b9: REVERT 000027ba: JUMPDEST 000027bb: POP 000027bc: GAS 000027bd: CALL 000027be: ISZERO 000027bf: DUP1 000027c0: ISZERO 000027c1: PUSH2 0x27ce 000027c4: JUMPI 000027c5: RETURNDATASIZE 000027c6: PUSH1 0x00 000027c8: DUP1 000027c9: RETURNDATACOPY 000027ca: RETURNDATASIZE 000027cb: PUSH1 0x00 000027cd: REVERT 000027ce: JUMPDEST 000027cf: POP 000027d0: POP 000027d1: POP 000027d2: POP 000027d3: PUSH1 0x40 000027d5: MLOAD 000027d6: RETURNDATASIZE 000027d7: PUSH1 0x20 000027d9: DUP2 000027da: LT 000027db: ISZERO 000027dc: PUSH2 0x27e4 000027df: JUMPI 000027e0: PUSH1 0x00 000027e2: DUP1 000027e3: REVERT 000027e4: JUMPDEST 000027e5: POP 000027e6: MLOAD 000027e7: SWAP1 000027e8: POP 000027e9: PUSH2 0x1d03 000027ec: JUMP 000027ed: JUMPDEST 000027ee: PUSH1 0x01 000027f0: DUP6 000027f1: EQ 000027f2: ISZERO 000027f3: PUSH2 0x1cfe 000027f6: JUMPI 000027f7: PUSH1 0x02 000027f9: SLOAD 000027fa: PUSH1 0x40 000027fc: DUP1 000027fd: MLOAD 000027fe: PUSH32 0x7409e2eb00000000000000000000000000000000000000000000000000000000 0000281f: DUP2 00002820: MSTORE 00002821: PUSH1 0x01 00002823: PUSH1 0xa0 00002825: PUSH1 0x02 00002827: EXP 00002828: SUB 00002829: DUP8 0000282a: DUP2 0000282b: AND 0000282c: PUSH1 0x04 0000282e: DUP4 0000282f: ADD 00002830: MSTORE 00002831: PUSH1 0x24 00002833: DUP3 00002834: ADD 00002835: DUP8 00002836: SWAP1 00002837: MSTORE 00002838: DUP6 00002839: DUP2 0000283a: AND 0000283b: PUSH1 0x44 0000283d: DUP4 0000283e: ADD 0000283f: MSTORE 00002840: PUSH1 0x00 00002842: PUSH1 0x64 00002844: DUP4 00002845: ADD 00002846: DUP2 00002847: SWAP1 00002848: MSTORE 00002849: SWAP3 0000284a: MLOAD 0000284b: SWAP4 0000284c: AND 0000284d: SWAP3 0000284e: PUSH4 0x7409e2eb 00002853: SWAP3 00002854: PUSH1 0x84 00002856: DUP1 00002857: DUP5 00002858: ADD 00002859: SWAP4 0000285a: PUSH1 0x20 0000285c: SWAP4 0000285d: SWAP3 0000285e: SWAP1 0000285f: DUP4 00002860: SWAP1 00002861: SUB 00002862: SWAP1 00002863: SWAP2 00002864: ADD 00002865: SWAP1 00002866: DUP3 00002867: SWAP1 00002868: DUP8 00002869: DUP1 0000286a: EXTCODESIZE 0000286b: ISZERO 0000286c: DUP1 0000286d: ISZERO 0000286e: PUSH2 0x27ba 00002871: JUMPI 00002872: PUSH1 0x00 00002874: DUP1 00002875: REVERT 00002876: JUMPDEST 00002877: PUSH1 0x00 00002879: PUSH2 0x2882 0000287c: DUP4 0000287d: DUP4 0000287e: PUSH2 0x28d5 00002881: JUMP 00002882: JUMPDEST 00002883: ISZERO 00002884: ISZERO 00002885: PUSH2 0x288d 00002888: JUMPI 00002889: PUSH1 0x00 0000288b: DUP1 0000288c: REVERT 0000288d: JUMPDEST 0000288e: POP 0000288f: DUP2 00002890: DUP2 00002891: MUL 00002892: JUMPDEST 00002893: SWAP3 00002894: SWAP2 00002895: POP 00002896: POP 00002897: JUMP 00002898: JUMPDEST 00002899: PUSH1 0x00 0000289b: DUP2 0000289c: ISZERO 0000289d: ISZERO 0000289e: PUSH2 0x28a9 000028a1: JUMPI 000028a2: POP 000028a3: PUSH1 0x00 000028a5: PUSH2 0x2892 000028a8: JUMP 000028a9: JUMPDEST 000028aa: DUP2 000028ab: DUP4 000028ac: DUP2 000028ad: ISZERO 000028ae: ISZERO 000028af: PUSH2 0x28b4 000028b2: JUMPI 000028b3: INVALID 000028b4: JUMPDEST 000028b5: DIV 000028b6: SWAP1 000028b7: POP 000028b8: PUSH2 0x2892 000028bb: JUMP 000028bc: JUMPDEST 000028bd: PUSH1 0x00 000028bf: DUP1 000028c0: DUP3 000028c1: SLT 000028c2: ISZERO 000028c3: PUSH2 0x28ce 000028c6: JUMPI 000028c7: POP 000028c8: PUSH1 0x00 000028ca: PUSH2 0x0cd8 000028cd: JUMP 000028ce: JUMPDEST 000028cf: POP 000028d0: DUP1 000028d1: PUSH2 0x0cd8 000028d4: JUMP 000028d5: JUMPDEST 000028d6: PUSH1 0x00 000028d8: DUP2 000028d9: ISZERO 000028da: DUP1 000028db: PUSH2 0x189e 000028de: JUMPI 000028df: POP 000028e0: DUP3 000028e1: DUP3 000028e2: DUP4 000028e3: DUP6 000028e4: MUL 000028e5: DUP2 000028e6: ISZERO 000028e7: ISZERO 000028e8: PUSH2 0x28ed 000028eb: JUMPI 000028ec: INVALID 000028ed: JUMPDEST 000028ee: DIV 000028ef: EQ 000028f0: SWAP4 000028f1: SWAP3 000028f2: POP 000028f3: POP 000028f4: POP 000028f5: JUMP 000028f6: JUMPDEST 000028f7: PUSH2 0x0160 000028fa: PUSH1 0x40 000028fc: MLOAD 000028fd: SWAP1 000028fe: DUP2 000028ff: ADD 00002900: PUSH1 0x40 00002902: MSTORE 00002903: DUP1 00002904: PUSH1 0x00 00002906: DUP2 00002907: MSTORE 00002908: PUSH1 0x20 0000290a: ADD 0000290b: PUSH1 0x00 0000290d: ISZERO 0000290e: ISZERO 0000290f: DUP2 00002910: MSTORE 00002911: PUSH1 0x20 00002913: ADD 00002914: PUSH1 0x00 00002916: DUP2 00002917: MSTORE 00002918: PUSH1 0x20 0000291a: ADD 0000291b: PUSH1 0x00 0000291d: DUP2 0000291e: MSTORE 0000291f: PUSH1 0x20 00002921: ADD 00002922: PUSH1 0x00 00002924: DUP2 00002925: MSTORE 00002926: PUSH1 0x20 00002928: ADD 00002929: PUSH1 0x00 0000292b: DUP2 0000292c: MSTORE 0000292d: PUSH1 0x20 0000292f: ADD 00002930: PUSH1 0x00 00002932: DUP2 00002933: MSTORE 00002934: PUSH1 0x20 00002936: ADD 00002937: PUSH1 0x00 00002939: DUP2 0000293a: MSTORE 0000293b: PUSH1 0x20 0000293d: ADD 0000293e: PUSH1 0x00 00002940: DUP2 00002941: MSTORE 00002942: PUSH1 0x20 00002944: ADD 00002945: PUSH1 0x00 00002947: DUP2 00002948: MSTORE 00002949: PUSH1 0x20 0000294b: ADD 0000294c: PUSH1 0x00 0000294e: ISZERO 0000294f: ISZERO 00002950: DUP2 00002951: MSTORE 00002952: POP 00002953: SWAP1 00002954: JUMP 00002955: INVALID 00002956: LOG1 00002957: PUSH6 0x627a7a723058 0000295e: KECCAK256 0000295f: GAS 00002960: UNKNOWN(0xBB) 00002961: UNKNOWN(0x1F) 00002962: SWAP16 00002963: CALL 00002964: UNKNOWN(0xCC) 00002965: UNKNOWN(0xCA) 00002966: ADD 00002967: UNKNOWN(0x2E) 00002968: UNKNOWN(0x2E) 00002969: UNKNOWN(0x4C) 0000296a: CHAINID 0000296b: SMOD 0000296c: SHR 0000296d: UNKNOWN(0xD5) 0000296e: UNKNOWN(0xED) 0000296f: CHAINID 00002970: PUSH4 0x4153c974 00002975: TSTORE 00002976: PUSH31
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xc0fd2f503cb78b51884dbae183cc019fb9e2ab226ff543795417f9dd1cdf7cc4
call_targets:
0x2c79e1a51e25fffff54c3becadbf1554841a8fc8
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xc0fd2f503cb78b51884dbae183cc019fb9e2ab226ff543795417f9dd1cdf7cc4",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x2c79e1a51e25fffff54c3becadbf1554841a8fc8"
],
"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": "0xee072426",
"selector": "0xee072426",
"calldata_variants": [
"0xee072426",
"0xee0724260000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf851a440",
"selector": "0xf851a440",
"calldata_variants": [
"0xf851a440",
"0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf8821efa",
"selector": "0xf8821efa",
"calldata_variants": [
"0xf8821efa",
"0xf8821efa0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfb0f97a8",
"selector": "0xfb0f97a8",
"calldata_variants": [
"0xfb0f97a8",
"0xfb0f97a80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc7e9ba8b",
"selector": "0xc7e9ba8b",
"calldata_variants": [
"0xc7e9ba8b",
"0xc7e9ba8b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd77366a4",
"selector": "0xd77366a4",
"calldata_variants": [
"0xd77366a4",
"0xd77366a40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd53d657",
"selector": "0xdd53d657",
"calldata_variants": [
"0xdd53d657",
"0xdd53d6570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xed2cdeff",
"selector": "0xed2cdeff",
"calldata_variants": [
"0xed2cdeff",
"0xed2cdeff0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2540,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2709,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3168,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 24,
"guards_detected": [],
"untrusted_call_count": 24
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xc0fd2f503cb78b51884dbae183cc019fb9e2ab226ff543795417f9dd1cdf7cc4
call_targets:
0x2c79e1a51e25fffff54c3becadbf1554841a8fc8
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xc0fd2f503cb78b51884dbae183cc019fb9e2ab226ff543795417f9dd1cdf7cc4",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0x2c79e1a51e25fffff54c3becadbf1554841a8fc8"
],
"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": "0xee072426",
"selector": "0xee072426",
"calldata_variants": [
"0xee072426",
"0xee0724260000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf851a440",
"selector": "0xf851a440",
"calldata_variants": [
"0xf851a440",
"0xf851a4400000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xf8821efa",
"selector": "0xf8821efa",
"calldata_variants": [
"0xf8821efa",
"0xf8821efa0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xfb0f97a8",
"selector": "0xfb0f97a8",
"calldata_variants": [
"0xfb0f97a8",
"0xfb0f97a80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xc7e9ba8b",
"selector": "0xc7e9ba8b",
"calldata_variants": [
"0xc7e9ba8b",
"0xc7e9ba8b0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xd77366a4",
"selector": "0xd77366a4",
"calldata_variants": [
"0xd77366a4",
"0xd77366a40000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xdd53d657",
"selector": "0xdd53d657",
"calldata_variants": [
"0xdd53d657",
"0xdd53d6570000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0xed2cdeff",
"selector": "0xed2cdeff",
"calldata_variants": [
"0xed2cdeff",
"0xed2cdeff0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2540,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2709,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3168,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 24,
"guards_detected": []
}
|
| medium | other | codex | Computed CALL targets/values could enable arbitrary external calls/ETH forwarding (if user-controlled) | 75 | no | — |
viewevidence_json{
"evidence": "Detector reports 24 CALL sites with computed target/value and no guards detected; return-data checking is unknown. Validation trace did not confirm target variability (constant_target), so impact is uncertain.",
"locations": [
"pc:0x9ec",
"pc:0xa95",
"pc:0xc60",
"pc:0xdb0",
"pc:0xdeb"
],
"recommendation": "Restrict external call targets to a whitelist or owner-controlled configuration; validate call value and calldata; consider emitting events and/or using pull-based withdrawals. If this is intended router behavior, explicitly gate it with access control and document the trust assumptions.",
"exploit_scenario": "If any public entrypoint lets the caller influence the CALL target or value, an attacker could use the contract as a generic call/ETH forwarding primitive to invoke arbitrary contracts or siphon ETH. The detector trace did not confirm variability (target may be constant/self), so this risk depends on how targets/values are sourced at runtime."
}
|
| low | reentrancy | codex | External calls can occur before storage updates along CFG path | 65 | no | — |
viewevidence_json{
"evidence": "CFG indicates a path from basic blocks containing CALL at pc 0x9ec/0xa95 to a storage write block at pc 0xae0. No guard was detected by the heuristic auth analysis.",
"locations": [
"pc:0x9ec",
"pc:0xa95",
"pc:0xae0"
],
"recommendation": "Apply checks-effects-interactions ordering; update critical state before external calls; or add a reentrancy guard. Confirm whether the call targets are trusted/self to scope the risk.",
"exploit_scenario": "A control-flow path exists where a CALL is reachable before an SSTORE (e.g., callsites at pc 0x9ec/0xa95 reach an SSTORE at pc 0xae0). If the CALL target is an untrusted contract and state updates happen after the call, a reentrant callback could re-enter before state is finalized."
}
|
| 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": 34
}
|
| info | other | cast | Heavy CALL-family usage | 55 | no | — |
viewevidence_json{
"notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
"call_family_count": 36
}
|