a250b876-d55e-4c05-aa4d-3e0cec70822a
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 |
|---|---|---|---|---|
| 31223 | report.consolidate | complete | 1 / 1 | 3 months ago |
| 95149 | artifact.fetch | complete | 1 / 3 | 1 week ago |
| 95150 | tool.cast_disasm | complete | 1 / 3 | 1 week ago |
| 95151 | analysis.bundle | complete | 1 / 3 | 1 week ago |
| 95152 | capability.graph | complete | 1 / 3 | 1 week ago |
| 95153 | detector.run | complete | 1 / 3 | 1 week ago |
| 95154 | validation.fork | complete | 1 / 3 | 1 week ago |
No slither job recorded yet.
[codex:934048] OpenAI Codex v0.77.0 (research preview)
[codex:934048] --------
[codex:934048] workdir: /tmp/codex-multi-nlyl7okb
[codex:934048] model: gpt-5.2-codex
[codex:934048] provider: openai
[codex:934048] approval: never
[codex:934048] sandbox: read-only
[codex:934048] reasoning effort: xhigh
[codex:934048] reasoning summaries: auto
[codex:934048] session id: 019b7d17-19f1-7c82-9ba6-04d43180ad66
[codex:934048] --------
[codex:934048] user
[codex:934048] You are a profit-focused exploit hunter analyzing EVM bytecode. Your ONLY goal is finding ways to extract value (ETH, tokens, NFTs) from this contract.
[codex:934048]
[codex:934048] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:934048]
[codex:934048] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:934048] - Gas inefficiency, code quality, or best practices
[codex:934048] - Theoretical vulnerabilities without a clear extraction path
[codex:934048] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:934048] - Issues requiring social engineering or off-chain coordination
[codex:934048]
[codex:934048] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:934048] - CALL/DELEGATECALL with controllable destination or calldata
[codex:934048] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:934048] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:934048] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:934048] - External calls before state updates (reentrancy)
[codex:934048] - SELFDESTRUCT with controllable beneficiary
[codex:934048] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:934048]
[codex:934048] For each finding, you MUST explain:
[codex:934048] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:934048] 2. The concrete sequence of transactions to extract value
[codex:934048] 3. Why you believe this is exploitable (not just suspicious)
[codex:934048]
[codex:934048] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:934048] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:934048]
[codex:934048] Output MUST be valid JSON matching the provided schema.
[codex:934048] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:934048] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:934048] mcp startup: no servers
[codex:934048]
[codex:934048] thinking
[codex:934048] **Preparing to read BYTECODE_BUNDLE.txt**
[codex:934048] exec
[codex:934048] /bin/bash -lc ls in /tmp/codex-multi-nlyl7okb succeeded in 6ms:
[codex:934048] BYTECODE_BUNDLE.txt
[codex:934048] codex-output-schema.json
[codex:934048] exec
[codex:934048] /bin/bash -lc 'cat BYTECODE_BUNDLE.txt' in /tmp/codex-multi-nlyl7okb succeeded in 6ms:
[codex:934048] Runtime bytecode bundle for best-effort auditing.
[codex:934048] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:934048]
[codex:934048] FILE: runtime_bytecode.hex
[codex:934048] 0x60806040523661000b57005b6001600160e01b0319600035167f05b9e1cd000000000000000000000000000000000000000000000000000000008101610049576100476101e5565b005b7c10000000000000000000000000000000000000000000000000000000006001600160e01b0319821610156100885761008061052d565b6100476109a5565b7c20000000000000000000000000000000000000000000000000000000006001600160e01b0319821610156100c7576100bf61052d565b610047610c7f565b7c30000000000000000000000000000000000000000000000000000000006001600160e01b03196000351610156101085761010061052d565b610047610f57565b7c40000000000000000000000000000000000000000000000000000000006001600160e01b0319821610156101475761013f61052d565b61004761104e565b7c50000000000000000000000000000000000000000000000000000000006001600160e01b0319821610156101dd576000546001600160a01b031633146101d55760405162461bcd60e51b815260206004820152600160248201527f520000000000000000000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6100476111b0565b6100476113be565b608435606090811c90609835901c60ac3560e81c6004356024358385101561039857604080516001600160a01b03808816602083015286169181019190915262ffffff8416606082015260800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c6001600160a01b0316336001600160a01b03161461031a5760405162461bcd60e51b815260206004820152600160248201527f500000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b0386169063a9059cbb90604401600060405180830381600087803b15801561037b57600080fd5b505af115801561038f573d6000803e3d6000fd5b50505050610526565b604080516001600160a01b03808716602083015287169181019190915262ffffff8416606082015260800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c6001600160a01b0316336001600160a01b0316146104ab5760405162461bcd60e51b815260206004820152600160248201527f500000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b6040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290526001600160a01b0386169063a9059cbb906044015b600060405180830381600087803b15801561050d57600080fd5b505af1158015610521573d6000803e3d6000fd5b505050505b5050505050565b6001600160a01b037f000000000000000000000000a009fa1ac416ec02f6f902a3a4a584b092ae612316330361055f57565b6001600160a01b037f000000000000000000000000aa31969dbdbaa86007921e1ba81e440a2bdf3af816330361059157565b6001600160a01b037f000000000000000000000000ee28beaa11e31d10581ee7cfdcb9e95c8d05c53c1633036105c357565b6001600160a01b037f000000000000000000000000aa31969dbdbaa86007921e1ba81e440a2bdf3af81633036105f557565b6001600160a01b037f00000000000000000000000061c055fc447a01deae2e6a4cbc1257953cbc953616330361062757565b6001600160a01b037f000000000000000000000000929147c1aa1338b2705868bcf4965e67041822a416330361065957565b6001600160a01b037f0000000000000000000000006549e6c5401a3135a116933717e887ec8e91754816330361068b57565b6001600160a01b037f000000000000000000000000d3720491d1840de84c6540a497b230cfdb590f5b1633036106bd57565b6001600160a01b037f0000000000000000000000009122d8da8a529f1fa2357d02c3ba3de147aa94241633036106ef57565b6001600160a01b037f000000000000000000000000894d7c5d6f532b850d6716058ab1a523958e7d3116330361072157565b6001600160a01b037f000000000000000000000000aff9d79e7f007f7dca48955d34b8db74f27de0a716330361075357565b6001600160a01b037f000000000000000000000000886c8d9fdb681e7006b710e893f765776fa651d416330361078557565b6001600160a01b037f0000000000000000000000007df370f6d19294c5e794620c86904425f2b2a1751633036107b757565b6001600160a01b037f000000000000000000000000c7395aed51fb76d0f38833238192df8752d2b9021633036107e957565b6001600160a01b037f00000000000000000000000096f84532ac4e1d20202b6672658e3bbccaa7b13e16330361081b57565b6001600160a01b037f00000000000000000000000018360cf1d93a1fe34351ea2ca581169d8cb0f49016330361084d57565b6001600160a01b037f000000000000000000000000f303e77c3f559a493d34249c39bd167fdfefa37f16330361087f57565b6001600160a01b037f00000000000000000000000084f4bea27ba790c1b81b143a9798be4cd0dfe5d61633036108b157565b6001600160a01b037f0000000000000000000000005d4cf31e3b7d5c20916aaf4ee886e35ce276dae21633036108e357565b6001600160a01b037f0000000000000000000000007164a0c923239bc11e1038ad4a3f37afe9d8e65916330361091557565b6001600160a01b037f0000000000000000000000004d65519fdd22ec2f5cc2ba32e7f107486080c75116330361094757565b6000546001600160a01b0316330361095b57565b60405162461bcd60e51b815260206004820152600160248201527f410000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b565b6001600160e01b03196000358116016109c0576109a361143c565b7ffffffffe000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610a30576109fb61143c565b604051606f3590419082156108fc029083906000818181858888f19350505050158015610a2c573d6000803e3d6000fd5b5050565b7ffffffffc000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610a6b576109a361187e565b7ffffffffb000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610aa6576109a3611d60565b7ffffffffa000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610b1257610ae1611d60565b60405160833590419082156108fc029083906000818181858888f19350505050158015610a2c573d6000803e3d6000fd5b7ffffffff9000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610b4d576109a3612178565b7ffffffff8000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610b88576109a361258e565b7ffffffff7000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610bc3576109a3612771565b7ffffffff6000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016109a35743341015610c465760405162461bcd60e51b815260206004820152600160248201527f550000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b610c4e612771565b60405160453590419082156108fc029083906000818181858888f19350505050158015610a2c573d6000803e3d6000fd5b43341015610ccf5760405162461bcd60e51b815260206004820152600160248201527f550000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b6000807fffffffef0000000000000000000000000000000000000000000000000000000081356001600160e01b03191601610d1c57606d359150610d1730600180600061299e565b610f1f565b7fffffffee000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610d6357606d359150610d173060006001600061299e565b7fffffffed000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610daf575050608135606d3560601c610d1781600180600061299e565b7fffffffec000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610dfb575050608135606d3560601c610d1781600060018161299e565b7fffffffeb000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610e4157606d359150610d1730600180600161299e565b7fffffffea000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610e8c575050608135606d3560601c610d17816001808061299e565b7fffffffe9000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610ed357606d359150610d173060016000600161299e565b7fffffffe8000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601610f1f575050608135606d3560601c610f1f81600160008161299e565b8115610a2c57604051419083156108fc029084906000818181858888f19350505050158015610f52573d6000803e3d6000fd5b505050565b7fffffffde000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016110135743341015610fda5760405162461bcd60e51b815260206004820152600160248201527f550000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b610fe2613456565b60405160bc3590419082156108fc029083906000818181858888f19350505050158015610a2c573d6000803e3d6000fd5b7fffffffdf000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016109a3576109a3613456565b7fffffffcf000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611089576109a3613559565b7fffffffce000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016110c4576109a36135c3565b7fffffffcd000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016110ff576109a3613641565b7fffffffcc000000000000000000000000000000000000000000000000000000006000356001600160e01b0319160161113a576109a36136ca565b7fffffffcb000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611175576109a36137df565b7fffffffca000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016109a3576109a361392b565b7fffffffbf000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016111eb576109a3613a5f565b7fffffffbd000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611226576109a3613b36565b7fffffffbe000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611261576109a3613b8c565b7fffffffbc000000000000000000000000000000000000000000000000000000006000356001600160e01b0319160161129c576109a3613d73565b7fffffffb8000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611303576109a3600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001660043560601c179055565b7fffffffb7000000000000000000000000000000000000000000000000000000006000356001600160e01b0319160161133e576109a3613eab565b7fffffffb6000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016109a3576109a36001600160e01b031960043516600090815260016020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001660083560601c179055565b7f2cb78669000000000000000000000000000000000000000000000000000000006000356001600160e01b031916016113f9576109a3613f37565b7fe9d94582000000000000000000000000000000000000000000000000000000006000356001600160e01b03191601611434576109a3614128565b6109a36141c9565b4334101561148c5760405162461bcd60e51b815260206004820152600160248201527f550000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b60043560248035606090811c9160383590911c90604c3560e81c90604f3590602b8486101561169057604080516001600160a01b03808916602083015287169181019190915262ffffff8516606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54605582015260750160408051601f198184030181529082905280516020909101207f128acb08000000000000000000000000000000000000000000000000000000008252915060009081906001600160a01b0384169063128acb08906115c49030906001908f906401000276a4908c908c906004016146a3565b60408051808303816000875af11580156115e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116069190614700565b9150915060008a1315611654578561161d82614753565b101561164f5760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b611688565b858211156116885760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b505050611875565b604080516001600160a01b03808816602083015288169181019190915262ffffff8516606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54605582015260750160408051601f198184030181529082905280516020909101207f128acb08000000000000000000000000000000000000000000000000000000008252915060009081906001600160a01b0384169063128acb08906117ad90309085908f9073fffd8963efd1fc6a506488495d951d5263988d25908c908c906004016146a3565b60408051808303816000875af11580156117cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ef9190614700565b9150915060008a131561183d578561180683614753565b10156118385760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b611871565b858111156118715760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b5050505b50505050505050565b60043560248035606090811c91603835821c91604c3560e81c91604f3590911c9060633590602b85871015611afc57604080516001600160a01b03808a16602083015288169181019190915262ffffff8616606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c90506000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156119a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c991906147ba565b5050505050509050806001600160a01b0316866001600160a01b031611156119f057600080fd5b600080836001600160a01b031663128acb083060018f6401000276a48b8b6040518763ffffffff1660e01b8152600401611a2f969594939291906146a3565b60408051808303816000875af1158015611a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a719190614700565b9150915060008c1315611abf5786611a8882614753565b1015611aba5760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b611af3565b86821115611af35760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b50505050611d56565b604080516001600160a01b03808916602083015289169181019190915262ffffff8616606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c90506000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa158015611bf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c1891906147ba565b5050505050509050806001600160a01b0316866001600160a01b03161015611c3f57600080fd5b600080836001600160a01b031663128acb083060008f73fffd8963efd1fc6a506488495d951d5263988d258b8b6040518763ffffffff1660e01b8152600401611c8d969594939291906146a3565b60408051808303816000875af1158015611cab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ccf9190614700565b9150915060008c1315611d1d5786611ce683614753565b1015611d185760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b611d51565b86811115611d515760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b505050505b5050505050505050565b43341015611db05760405162461bcd60e51b815260206004820152600160248201527f550000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b60043560248035606090811c91603835821c91604c3560e81c91604f3591606f35901c90602b85871015611fa157604080516001600160a01b03808a16602083015288169181019190915262ffffff8616606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c9050600080826001600160a01b031663128acb088760018e6401000276a48a8a6040518763ffffffff1660e01b8152600401611ed5969594939291906146a3565b60408051808303816000875af1158015611ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f179190614700565b9150915060008b1315611f655786611f2e82614753565b1015611f605760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b611f99565b86821115611f995760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b505050611d56565b604080516001600160a01b03808916602083015289169181019190915262ffffff8616606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c9050600080826001600160a01b031663128acb088760008e73fffd8963efd1fc6a506488495d951d5263988d258a8a6040518763ffffffff1660e01b81526004016120a7969594939291906146a3565b60408051808303816000875af11580156120c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e99190614700565b9150915060008b1315612137578661210083614753565b10156121325760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b61216b565b8681111561216b5760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b5050505050505050505050565b60043560248035606090811c91603835821c91604c3560e81c91604f35821c916063359160833590911c90602b868810156123fc57604080516001600160a01b03808b16602083015289169181019190915262ffffff8716606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c90506000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156122a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c991906147ba565b5050505050509050806001600160a01b0316876001600160a01b031611156122f057600080fd5b50600080826001600160a01b031663128acb088760018f6401000276a48a8a6040518763ffffffff1660e01b8152600401612330969594939291906146a3565b60408051808303816000875af115801561234e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123729190614700565b9150915060008c13156123c0578661238982614753565b10156123bb5760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b6123f4565b868211156123f45760405162461bcd60e51b81526020600482015260016024820152605360f81b60448201526064016101cc565b505050610521565b604080516001600160a01b03808a1660208301528a169181019190915262ffffff8716606082015260009060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c90506000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156124f4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061251891906147ba565b5050505050509050806001600160a01b0316876001600160a01b0316101561253f57600080fd5b50600080826001600160a01b031663128acb088760008f73fffd8963efd1fc6a506488495d951d5263988d258a8a6040518763ffffffff1660e01b8152600401611c8d969594939291906146a3565b600435606090811c90601835901c602c3560e890811c90602f35811c90603235901c60353560801c600061266b60408051600435606090811c602080840191909152601835821c83850152602c3560e81c82840152835180840390920182526080830184528151918101919091207fff1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000060a084015260b58301527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d5808401919091528351808403909101815260f5909201909252805191012090565b604080517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060608b811b821660208401528a901b1660348201527fffffff000000000000000000000000000000000000000000000000000000000060e889901b1660488201528151808203602b018152604b8201928390527f3c8a7d8d000000000000000000000000000000000000000000000000000000009092529192506001600160a01b03831691633c8a7d8d9161272f913091899189918991604f01614882565b60408051808303816000875af115801561274d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105219190614700565b602f3560e890811c90603235901c60353560801c600061283a60408051600435606090811c602080840191909152601835821c83850152602c3560e81c82840152835180840390920182526080830184528151918101919091207fff1f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000060a084015260b58301527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d5808401919091528351808403909101815260f5909201909252805191012090565b6040517fa34123a7000000000000000000000000000000000000000000000000000000008152600286810b600483015285900b60248201526fffffffffffffffffffffffffffffffff841660448201529091506001600160a01b0382169063a34123a79060640160408051808303816000875af11580156128bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128e39190614700565b50506040517f4f1eb3d8000000000000000000000000000000000000000000000000000000008152306004820152600285810b602483015284900b60448201526fffffffffffffffffffffffffffffffff6064820181905260848201526001600160a01b03821690634f1eb3d89060a40160408051808303816000875af1158015612972573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129969190614912565b505050505050565b600435606090811c90601835901c602c35604c35606c3560f81c83851060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8301612b075781612a39576040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606088811b8216602084015289901b166034820152604801604051602081830303815290604052612a85565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606089811b8216602084015288901b1660348201526048016040516020818303038152906040525b80516020918201206040517fff5c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f00000000000000000000009281019290925260358201527f96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f60558201526075015b6040516020818303038152906040528051906020012060001c9050612db3565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff841601612c385781612b86576040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606088811b8216602084015289901b166034820152604801604051602081830303815290604052612bd2565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606089811b8216602084015288901b1660348201526048016040516020818303038152906040525b80516020918201206040517fffc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac00000000000000000000009281019290925260358201527fe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c63036055820152607501612ae7565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd60ff841601612d695781612cb7576040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606088811b8216602084015289901b166034820152604801604051602081830303815290604052612d03565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606089811b8216602084015288901b1660348201526048016040516020818303038152906040525b80516020918201206040517fff115934131916c8b277dd010ee02de363c09d037c00000000000000000000009281019290925260358201527f65d1a3b1e46c6e4f1be1ad5f99ef14dc488ae0549dc97db9b30afe2241ce1c7a6055820152607501612ae7565b60405162461bcd60e51b81526004016101cc9060208082526004908201527f5632494400000000000000000000000000000000000000000000000000000000604082015260600190565b881561329d578915613134578715612f5d576040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526024820187905288169063a9059cbb90604401600060405180830381600087803b158015612e2857600080fd5b505af1158015612e3c573d6000803e3d6000fd5b50505050600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015612e81573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ea59190614963565b509150915083612eb55780612eb7565b815b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301526dffffffffffffffffffffffffffff92909216918b16906370a0823190602401602060405180830381865afa158015612f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f4e91906149b3565b612f5891906149cc565b965050505b6000612f6a8287856142a4565b905084811015612f7957600080fd5b88612ffa576040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820188905289169063a9059cbb90604401600060405180830381600087803b158015612fe157600080fd5b505af1158015612ff5573d6000803e3d6000fd5b505050505b8215613099576040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600060048201819052602482018390526001600160a01b038e8116604484015260806064840152608483019190915283169063022c0d9f9060a4015b600060405180830381600087803b15801561307c57600080fd5b505af1158015613090573d6000803e3d6000fd5b5050505061312e565b6040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600481018290526000602482018190526001600160a01b038e8116604484015260806064840152608483019190915283169063022c0d9f9060a4015b600060405180830381600087803b15801561311557600080fd5b505af1158015613129573d6000803e3d6000fd5b505050505b5061216b565b600061314182868561437e565b90508581111561315057600080fd5b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0383811660048301526024820183905289169063a9059cbb90604401600060405180830381600087803b1580156131b357600080fd5b505af11580156131c7573d6000803e3d6000fd5b505050508215613237576040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600060048201819052602482018790526001600160a01b038e8116604484015260806064840152608483019190915283169063022c0d9f9060a401613062565b6040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600481018690526000602482018190526001600160a01b038e8116604484015260806064840152608483019190915283169063022c0d9f9060a4016130fb565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526024820187905288169063a9059cbb90604401600060405180830381600087803b15801561330057600080fd5b505af1158015613314573d6000803e3d6000fd5b5050505081156133b6576040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600060048201819052602482018690526001600160a01b038d8116604484015260806064840152608483019190915282169063022c0d9f9060a401600060405180830381600087803b15801561339957600080fd5b505af11580156133ad573d6000803e3d6000fd5b5050505061216b565b6040517f022c0d9f000000000000000000000000000000000000000000000000000000008152600481018590526000602482018190526001600160a01b038d8116604484015260806064840152608483019190915282169063022c0d9f9060a401600060405180830381600087803b15801561343157600080fd5b505af1158015613445573d6000803e3d6000fd5b505050505050505050505050505050565b6040517f4903b0d100000000000000000000000000000000000000000000000000000000815260006004808301919091523560601c90601835906038906084908490634903b0d190602401602060405180830381865afa1580156134be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134e291906149b3565b83146134ed57600080fd5b6000846001600160a01b031683836040516135099291906149df565b6000604051808303816000865af19150503d8060008114613546576040519150601f19603f3d011682016040523d82523d6000602084013e61354b565b606091505b505090508061052657600080fd5b6000600435905073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156135af57600080fd5b505af1158015612996573d6000803e3d6000fd5b6040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600480359082018190529073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b15801561362d57600080fd5b505af1158015610526573d6000803e3d6000fd5b60008061365136600481846149ef565b81019061365e9190614ae9565b915091506000826001600160a01b03168260405161367c9190614b39565b600060405180830381855af49150503d80600081146136b7576040519150601f19603f3d011682016040523d82523d6000602084013e6136bc565b606091505b5050905080610f5257600080fd5b6000806136da36600481846149ef565b8101906136e79190614c6d565b9150915060005b8251811015610f5257600083828151811061370b5761370b614cc7565b60200260200101516001600160a01b031683838151811061372e5761372e614cc7565b60200260200101516040516137439190614b39565b6000604051808303816000865af19150503d8060008114613780576040519150601f19603f3d011682016040523d82523d6000602084013e613785565b606091505b50509050806137d65760405162461bcd60e51b815260206004820152600b60248201527f63616c6c206661696c656400000000000000000000000000000000000000000060448201526064016101cc565b506001016136ee565b600080806137f036600481846149ef565b8101906137fd9190614cf6565b92509250925060005b83518110156138f757600084828151811061382357613823614cc7565b60200260200101516001600160a01b031684838151811061384657613846614cc7565b602002602001015160405161385b9190614b39565b6000604051808303816000865af19150503d8060008114613898576040519150601f19603f3d011682016040523d82523d6000602084013e61389d565b606091505b50509050806138ee5760405162461bcd60e51b815260206004820152600b60248201527f63616c6c206661696c656400000000000000000000000000000000000000000060448201526064016101cc565b50600101613806565b50604051419082156108fc029083906000818181858888f19350505050158015613925573d6000803e3d6000fd5b50505050565b6000808061393c36600481846149ef565b8101906139499190614dbe565b9194509250905082156139d5576040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810184905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc290632e1a7d4d90602401600060405180830381600087803b1580156139bc57600080fd5b505af11580156139d0573d6000803e3d6000fd5b505050505b60005b8251811015613925578281815181106139f3576139f3614cc7565b60200260200101516001600160a01b03166108fc838381518110613a1957613a19614cc7565b60200260200101519081150290604051600060405180830381858888f19350505050158015613a4c573d6000803e3d6000fd5b5080613a5781614e2b565b9150506139d8565b600435606090811c9060183590603835901c80613abe5760405162461bcd60e51b815260206004820152600860248201527f53656e642030783000000000000000000000000000000000000000000000000060448201526064016101cc565b6040517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526024820184905284169063a9059cbb906044015b600060405180830381600087803b158015613b2257600080fd5b505af1158015611875573d6000803e3d6000fd5b6040517f095ea7b3000000000000000000000000000000000000000000000000000000008152603835606090811c600480840182905260183560248501819052903590921c92839063095ea7b390604401613b08565b60008080613b9d36600481846149ef565b810190613baa9190614e63565b9250925092508151835114613c015760405162461bcd60e51b815260206004820152600c60248201527f696e76616c69642064617461000000000000000000000000000000000000000060448201526064016101cc565b8251816001600160a01b031611613c5a5760405162461bcd60e51b815260206004820152601160248201527f696e76616c696420726563697069656e7400000000000000000000000000000060448201526064016101cc565b6001600160a01b038116613cb05760405162461bcd60e51b815260206004820152600860248201527f53656e642030783000000000000000000000000000000000000000000000000060448201526064016101cc565b60005b835181101561392557838181518110613cce57613cce614cc7565b60200260200101516001600160a01b031663a9059cbb83858481518110613cf757613cf7614cc7565b60200260200101516040518363ffffffff1660e01b8152600401613d309291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b158015613d4a57600080fd5b505af1158015613d5e573d6000803e3d6000fd5b5050505080613d6c90614e2b565b9050613cb3565b60008080613d8436600481846149ef565b810190613d919190614e63565b9250925092508151835114613de85760405162461bcd60e51b815260206004820152600c60248201527f696e76616c69642064617461000000000000000000000000000000000000000060448201526064016101cc565b60005b835181101561392557838181518110613e0657613e06614cc7565b60200260200101516001600160a01b031663095ea7b383858481518110613e2f57613e2f614cc7565b60200260200101516040518363ffffffff1660e01b8152600401613e689291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b158015613e8257600080fd5b505af1158015613e96573d6000803e3d6000fd5b5050505080613ea490614e2b565b9050613deb565b60043560243560601c80613f015760405162461bcd60e51b815260206004820152600860248201527f53656e642030783000000000000000000000000000000000000000000000000060448201526064016101cc565b6040516001600160a01b0382169083156108fc029084906000818181858888f19350505050158015610f52573d6000803e3d6000fd5b60408051608435606090811c60208301819052609835821c93830184905260ac3560e81c9183018290529291600435906024359060800160408051601f198184030181529082905280516020918201207fff1f98431c8ad98523631ae4a59f267346ea31f98400000000000000000000009183019190915260358201527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460558201526075016040516020818303038152906040528051906020012060001c6001600160a01b0316336001600160a01b0316146140565760405162461bcd60e51b815260206004820152600160248201527f500000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b81156140d6576040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b0386169063a9059cbb90604401600060405180830381600087803b1580156140bd57600080fd5b505af11580156140d1573d6000803e3d6000fd5b505050505b8015610526576040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018290526001600160a01b0385169063a9059cbb906044016104f3565b60008061413836600481846149ef565b8101906141459190614ed0565b9150915060007f000000000000000000000000a009fa1ac416ec02f6f902a3a4a584b092ae61236001600160a01b031661417f8484614457565b6001600160a01b0316036141b457507f1626ba7e000000000000000000000000000000000000000000000000000000006141bf565b506001600160e01b03195b8060005260206000f35b600080356001600160e01b0319168152600160205260409020546001600160a01b0316806142395760405162461bcd60e51b815260206004820152600160248201527f440000000000000000000000000000000000000000000000000000000000000060448201526064016101cc565b6000816001600160a01b03166000366040516142569291906149df565b600060405180830381855af49150503d8060008114614291576040519150601f19603f3d011682016040523d82523d6000602084013e614296565b606091505b5050905080610a2c57600080fd5b6000806000856001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156142e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061430b9190614963565b509150915060008085156143355750506dffffffffffffffffffffffffffff80831690821661434d565b50506dffffffffffffffffffffffffffff8082169083165b6103e580880290828902026103e88402820180828161436e5761436e614f01565b049b9a5050505050505050505050565b6000806000856001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156143c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143e59190614963565b5091509150600080851561440f5750506dffffffffffffffffffffffffffff808316908216614427565b50506dffffffffffffffffffffffffffff8082169083165b6103e8828802026103e58883030280828161444457614444614f01565b0460010196505050505050509392505050565b6000806000806144678686614483565b92509250925061447782826144d0565b50909150505b92915050565b600080600083516041036144bd5760208401516040850151606086015160001a6144af888285856145d4565b9550955095505050506144c9565b50508151600091506002905b9250925092565b60008260038111156144e4576144e4614f30565b036144ed575050565b600182600381111561450157614501614f30565b03614538576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600282600381111561454c5761454c614f30565b03614586576040517ffce698f7000000000000000000000000000000000000000000000000000000008152600481018290526024016101cc565b600382600381111561459a5761459a614f30565b03610a2c576040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600481018290526024016101cc565b600080807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084111561460f5750600091506003905082614699565b604080516000808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015614663573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661468f57506000925060019150829050614699565b9250600091508190505b9450945094915050565b60006001600160a01b038089168352871515602084015286604084015280861660608401525060a060808301528260a0830152828460c0840137600060c0848401015260c0601f19601f8501168301019050979650505050505050565b6000806040838503121561471357600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007f8000000000000000000000000000000000000000000000000000000000000000820361478457614784614724565b5060000390565b6001600160a01b03811681146147a057600080fd5b50565b805161ffff811681146147b557600080fd5b919050565b600080600080600080600060e0888a0312156147d557600080fd5b87516147e08161478b565b8097505060208801518060020b81146147f857600080fd5b9550614806604089016147a3565b9450614814606089016147a3565b9350614822608089016147a3565b925060a088015160ff8116811461483857600080fd5b60c0890151909250801515811461484e57600080fd5b8091505092959891949750929550565b60005b83811015614879578181015183820152602001614861565b50506000910152565b6001600160a01b03861681528460020b60208201528360020b60408201526fffffffffffffffffffffffffffffffff8316606082015260a06080820152600082518060a08401526148da8160c085016020870161485e565b601f01601f19169190910160c0019695505050505050565b80516fffffffffffffffffffffffffffffffff811681146147b557600080fd5b6000806040838503121561492557600080fd5b61492e836148f2565b915061493c602084016148f2565b90509250929050565b80516dffffffffffffffffffffffffffff811681146147b557600080fd5b60008060006060848603121561497857600080fd5b61498184614945565b925061498f60208501614945565b9150604084015163ffffffff811681146149a857600080fd5b809150509250925092565b6000602082840312156149c557600080fd5b5051919050565b8181038181111561447d5761447d614724565b8183823760009101908152919050565b600080858511156149ff57600080fd5b83861115614a0c57600080fd5b5050820193919092039150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715614a7157614a71614a19565b604052919050565b600082601f830112614a8a57600080fd5b813567ffffffffffffffff811115614aa457614aa4614a19565b614ab76020601f19601f84011601614a48565b818152846020838601011115614acc57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060408385031215614afc57600080fd5b8235614b078161478b565b9150602083013567ffffffffffffffff811115614b2357600080fd5b614b2f85828601614a79565b9150509250929050565b60008251614b4b81846020870161485e565b9190910192915050565b600067ffffffffffffffff821115614b6f57614b6f614a19565b5060051b60200190565b600082601f830112614b8a57600080fd5b81356020614b9f614b9a83614b55565b614a48565b82815260059290921b84018101918181019086841115614bbe57600080fd5b8286015b84811015614be2578035614bd58161478b565b8352918301918301614bc2565b509695505050505050565b600082601f830112614bfe57600080fd5b81356020614c0e614b9a83614b55565b82815260059290921b84018101918181019086841115614c2d57600080fd5b8286015b84811015614be257803567ffffffffffffffff811115614c515760008081fd5b614c5f8986838b0101614a79565b845250918301918301614c31565b60008060408385031215614c8057600080fd5b823567ffffffffffffffff80821115614c9857600080fd5b614ca486838701614b79565b93506020850135915080821115614cba57600080fd5b50614b2f85828601614bed565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080600060608486031215614d0b57600080fd5b833567ffffffffffffffff80821115614d2357600080fd5b614d2f87838801614b79565b94506020860135915080821115614d4557600080fd5b50614d5286828701614bed565b925050604084013590509250925092565b600082601f830112614d7457600080fd5b81356020614d84614b9a83614b55565b82815260059290921b84018101918181019086841115614da357600080fd5b8286015b84811015614be25780358352918301918301614da7565b600080600060608486031215614dd357600080fd5b83359250602084013567ffffffffffffffff80821115614df257600080fd5b614dfe87838801614b79565b93506040860135915080821115614e1457600080fd5b50614e2186828701614d63565b9150509250925092565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614e5c57614e5c614724565b5060010190565b600080600060608486031215614e7857600080fd5b833567ffffffffffffffff80821115614e9057600080fd5b614e9c87838801614b79565b94506020860135915080821115614eb257600080fd5b50614ebf86828701614d63565b92505060408401356149a88161478b565b60008060408385031215614ee357600080fd5b82359150602083013567ffffffffffffffff811115614b2357600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea2646970667358221220c11b55c61ea26ad978f86f41089d351cf6e8fc7cc2638072cc9efd6e18c5b88064736f6c63430008130033
[codex:934048]
[codex:934048] thinking
[codex:934048] **Analyzing EVM bytecode for vulnerabilities**
[codex:934048]
[codex:934048] I'm carefully inspecting the contract's bytecode, focusing on function selectors, authorization checks, and calls that could move tokens or ETH. I'll look for unsafe external calls, unprotected storage writes, or selfdestruct patterns, and I’m planning a lightweight disassembly using a Python script to identify potential exploit paths involving unauthorized transfers or admin actions.
[codex:934048] exec
[codex:934048] /bin/bash -lc "python - <<'PY'
[codex:934048] import re, textwrap
[codex:934048] from binascii import unhexlify
[codex:934048]
[codex:934048] # Read runtime bytecode from file
[codex:934048] import pathlib
[codex:934048] p=pathlib.Path('/tmp/codex-multi-nlyl7okb/BYTECODE_BUNDLE.txt').read_text()
[codex:934048] # extract hex after 'FILE: runtime_bytecode.hex'
[codex:934048] # find line starting with 0x
[codex:934048] m=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', p)
[codex:934048] if not m:
[codex:934048] print('hex not found')
[codex:934048] raise SystemExit
[codex:934048] hexstr=m.group(1)[2:]
[codex:934048] code=bytes.fromhex(hexstr)
[codex:934048]
[codex:934048] # opcode mapping
[codex:934048] opnames={
[codex:934048] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:934048] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:934048] 0x20:'SHA3',
[codex:934048] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:934048] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:934048] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:934048] 0x5f:'PUSH0',
[codex:934048] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:934048] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:934048] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:934048] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:934048] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:934048] }
[codex:934048]
[codex:934048] # disassemble with pc, focusing on opcodes of interest: CALL, DELEGATECALL, SELFDESTRUCT, SSTORE
[codex:934048]
[codex:934048] pcs_of_interest=[]
[codex:934048]
[codex:934048] pc=0
[codex:934048] lines=[]
[codex:934048] while pc < len(code):
[codex:934048] op=code[pc]
[codex:934048] name=opnames.get(op, f'OP{op:02x}')
[codex:934048] pc_start=pc
[codex:934048] pc+=1
[codex:934048] imm=''
[codex:934048] if 0x60 <= op <= 0x7f:
[codex:934048] n=op-0x5f
[codex:934048] imm=code[pc:pc+n]
[codex:934048] pc+=n
[codex:934048] name=f'PUSH{n} 0x{imm.hex()}'
[codex:934048] elif op==0x5f:
[codex:934048] name='PUSH0'
[codex:934048] # record interest
[codex:934048] if op in (0xf1,0xf4,0xff,0x55):
[codex:934048] pcs_of_interest.append((pc_start, name))
[codex:934048] # store some lines maybe for context? But huge. We'll print counts.
[codex:934048]
[codex:934048] print('length', len(code))
[codex:934048] print('interest count', len(pcs_of_interest))
[codex:934048] print('first 20 interest ops:', pcs_of_interest[:20])
[codex:934048] print('last 20 interest ops:', pcs_of_interest[-20:])
[codex:934048]
[codex:934048] # also search for DELEGATECALL and SELFDESTRUCT presence
[codex:934048] print('has delegatecall', any(op==0xf4 for op in code))
[codex:934048] print('has selfdestruct', any(op==0xff for op in code))
[codex:934048]
[codex:934048] # list all DELEGATECALL pcs
[codex:934048] print('delegatecall pcs:', [pc for pc, name in pcs_of_interest if 'DELEGATECALL' in name])
[codex:934048] print('selfdestruct pcs:', [pc for pc, name in pcs_of_interest if 'SELFDESTRUCT' in name])
[codex:934048]
[codex:934048] PY" in /tmp/codex-multi-nlyl7okb succeeded in 52ms:
[codex:934048] length 20373
[codex:934048] interest count 43
[codex:934048] first 20 interest ops: [(894, 'CALL'), (1296, 'CALL'), (2582, 'CALL'), (2812, 'CALL'), (3177, 'CALL'), (3900, 'CALL'), (4093, 'CALL'), (4865, 'SSTORE'), (5052, 'SSTORE'), (5585, 'CALL'), (6074, 'CALL'), (6716, 'CALL'), (7322, 'CALL'), (7906, 'CALL'), (8372, 'CALL'), (9021, 'CALL'), (10044, 'CALL'), (10414, 'CALL'), (10593, 'CALL'), (11819, 'CALL')]
[codex:934048] last 20 interest ops: [(12726, 'CALL'), (13059, 'CALL'), (13212, 'CALL'), (13364, 'CALL'), (13591, 'CALL'), (13746, 'CALL'), (13872, 'CALL'), (13960, 'DELEGATECALL'), (14161, 'CALL'), (14441, 'CALL'), (14607, 'CALL'), (14783, 'CALL'), (14902, 'CALL'), (15141, 'CALL'), (15693, 'CALL'), (16005, 'CALL'), (16161, 'CALL'), (16576, 'CALL'), (16994, 'DELEGATECALL'), (20332, 'SSTORE')]
[codex:934048] has delegatecall True
[codex:934048] has selfdestruct True
[codex:934048] delegatecall pcs: [13960, 16994]
[codex:934048] selfdestruct pcs: []
[codex:934048]
[codex:934048] thinking
[codex:934048] **Analyzing delegatecall and selfdestruct opcodes**
[codex:934048] exec
[codex:934048] /bin/bash -lc "python - <<'PY'
[codex:934048] import re, pathlib
[codex:934048]
[codex:934048] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', pathlib.Path('/tmp/codex-multi-nlyl7okb/BYTECODE_BUNDLE.txt').read_text()).group(1)[2:]
[codex:934048] code=bytes.fromhex(hexstr)
[codex:934048]
[codex:934048] opnames={
[codex:934048] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:934048] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:934048] 0x20:'SHA3',
[codex:934048] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:934048] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:934048] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:934048] 0x5f:'PUSH0',
[codex:934048] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:934048] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:934048] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:934048] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:934048] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:934048] }
[codex:934048]
[codex:934048] # disassemble around a pc window
[codex:934048]
[codex:934048] def disasm_window(start, end):
[codex:934048] pc=0
[codex:934048] out=[]
[codex:934048] while pc < len(code):
[codex:934048] op=code[pc]
[codex:934048] name=opnames.get(op, f'OP{op:02x}')
[codex:934048] pc_start=pc
[codex:934048] pc+=1
[codex:934048] imm=None
[codex:934048] if 0x60 <= op <= 0x7f:
[codex:934048] n=op-0x5f
[codex:934048] imm=code[pc:pc+n]
[codex:934048] pc+=n
[codex:934048] name=f'PUSH{n} 0x{imm.hex()}'
[codex:934048] elif op==0x5f:
[codex:934048] name='PUSH0'
[codex:934048] if pc_start>=start and pc_start<=end:
[codex:934048] out.append(f'{pc_start:05d}: {name}')
[codex:934048] if pc_start> end:
[codex:934048] break
[codex:934048] return out
[codex:934048]
[codex:934048] for pc in [13960, 16994]:
[codex:934048] print('\\nDelegatecall around pc', pc)
[codex:934048] for line in disasm_window(pc-40, pc+40):
[codex:934048] print(line)
[codex:934048]
[codex:934048] PY" in /tmp/codex-multi-nlyl7okb succeeded in 39ms:
[codex:934048]
[codex:934048] Delegatecall around pc 13960
[codex:934048] 13920: POP
[codex:934048] 13921: SWAP2
[codex:934048] 13922: POP
[codex:934048] 13923: PUSH1 0x00
[codex:934048] 13925: DUP3
[codex:934048] 13926: PUSH1 0x01
[codex:934048] 13928: PUSH1 0x01
[codex:934048] 13930: PUSH1 0xa0
[codex:934048] 13932: SHL
[codex:934048] 13933: SUB
[codex:934048] 13934: AND
[codex:934048] 13935: DUP3
[codex:934048] 13936: PUSH1 0x40
[codex:934048] 13938: MLOAD
[codex:934048] 13939: PUSH2 0x367c
[codex:934048] 13942: SWAP2
[codex:934048] 13943: SWAP1
[codex:934048] 13944: PUSH2 0x4b39
[codex:934048]
[codex:934048] thinking
[codex:934048] **Tracing delegatecall target and access control**
[codex:934048]
[codex:934048] I'm analyzing how the delegatecall's target address is derived, suspecting it comes from calldata based on stack operations and masking. Since delegatecall could pose vulnerability if user-controlled without restrictions, I'm looking to trace function boundaries, jump destinations, and function selectors to see if there's access control protecting this call. The contract seems like a smart wallet implementing EIP-1271 signature validation, possibly following ERC-4337 structure with restricted execute functions. I also want to inspect SSTORE operations around certain program counters to identify admin or control functions that might safeguard dangerous calls. There's a lot here, so I'm carefully following opcode patterns and trying to confirm if delegatecall targets could be exploited.
[codex:934048] exec
[codex:934048] /bin/bash -lc "python - <<'PY'
[codex:934048] import re, pathlib
[codex:934048]
[codex:934048] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', pathlib.Path('/tmp/codex-multi-nlyl7okb/BYTECODE_BUNDLE.txt').read_text()).group(1)[2:]
[codex:934048] code=bytes.fromhex(hexstr)
[codex:934048]
[codex:934048] opnames={
[codex:934048] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:934048] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:934048] 0x20:'SHA3',
[codex:934048] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:934048] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:934048] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:934048] 0x5f:'PUSH0',
[codex:934048] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:934048] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:934048] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:934048] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:934048] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:934048] }
[codex:934048]
[codex:934048] # build map from pc to instruction for quick lookup
[codex:934048] instr=[]
[codex:934048] pc=0
[codex:934048] while pc < len(code):
[codex:934048] op=code[pc]
[codex:934048] name=opnames.get(op, f'OP{op:02x}')
[codex:934048] pc_start=pc
[codex:934048] pc+=1
[codex:934048] if 0x60 <= op <= 0x7f:
[codex:934048] n=op-0x5f
[codex:934048] imm=code[pc:pc+n]
[codex:934048] pc+=n
[codex:934048] name=f'PUSH{n} 0x{imm.hex()}'
[codex:934048] elif op==0x5f:
[codex:934048] name='PUSH0'
[codex:934048] instr.append((pc_start,name))
[codex:934048]
[codex:934048] # create dict for quick mapping
[codex:934048] inst_dict={pc:name for pc,name in instr}
[codex:934048]
[codex:934048] # function to show window around given pc
[codex:934048]
[codex:934048] def show_window(pc, before=20, after=20):
[codex:934048] # find index in instr list
[codex:934048] idx=[i for i,(p,_) in enumerate(instr) if p==pc]
[codex:934048] if not idx:
[codex:934048] # maybe pc not at start; find closest
[codex:934048] idx=min(range(len(instr)), key=lambda i: abs(instr[i][0]-pc))
[codex:934048] else:
[codex:934048] idx=idx[0]
[codex:934048] start=max(0, idx-before)
[codex:934048] end=min(len(instr), idx+after)
[codex:934048] for p,name in instr[start:end]:
[codex:934048] print(f'{p:05d}: {name}')
[codex:934048]
[codex:934048] for pc in [4865, 5052, 20332]:
[codex:934048] print('\\nSSTORE around pc', pc)
[codex:934048] show_window(pc, before=25, after=25)
[codex:934048]
[codex:934048] PY" in /tmp/codex-multi-nlyl7okb succeeded in 43ms:
[codex:934048]
[codex:934048] SSTORE around pc 4865
[codex:934048] 04765: PUSH32 0xffffffb800000000000000000000000000000000000000000000000000000000
[codex:934048] 04798: PUSH1 0x00
[codex:934048] 04800: CALLDATALOAD
[codex:934048] 04801: PUSH1 0x01
[codex:934048] 04803: PUSH1 0x01
[codex:934048] 04805: PUSH1 0xe0
[codex:934048] 04807: SHL
[codex:934048] 04808: SUB
[codex:934048] 04809: NOT
[codex:934048] 04810: AND
[codex:934048] 04811: ADD
[codex:934048] 04812: PUSH2 0x1303
[codex:934048] 04815: JUMPI
[codex:934048] 04816: PUSH2 0x09a3
[codex:934048] 04819: PUSH1 0x00
[codex:934048] 04821: DUP1
[codex:934048] 04822: SLOAD
[codex:934048] 04823: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000
[codex:934048]
[codex:934048] thinking
[codex:934048] **Analyzing SSTORE and dispatch patterns**
[codex:934048] exec
[codex:934048] /bin/bash -lc "python - <<'PY'
[codex:934048] import re, pathlib
[codex:934048] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', pathlib.Path('/tmp/codex-multi-nlyl7okb/BYTECODE_BUNDLE.txt').read_text()).group(1)[2:]
[codex:934048] code=bytes.fromhex(hexstr)
[codex:934048]
[codex:934048] opnames={
[codex:934048] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:934048] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:934048] 0x20:'SHA3',
[codex:934048] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:934048] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:934048] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:934048] 0x5f:'PUSH0',
[codex:934048] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:934048] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:934048] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:934048] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:934048] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:934048] }
[codex:934048]
[codex:934048] # disassemble and keep mapping for easier reading
[codex:934048] instr=[]
[codex:934048] pc=0
[codex:934048] while pc < len(code):
[codex:934048] op=code[pc]
[codex:934048] name=opnames.get(op, f'OP{op:02x}')
[codex:934048] pc_start=pc
[codex:934048] pc+=1
[codex:934048] if 0x60 <= op <= 0x7f:
[codex:934048] n=op-0x5f
[codex:934048] imm=code[pc:pc+n]
[codex:934048] pc+=n
[codex:934048] name=f'PUSH{n} 0x{imm.hex()}'
[codex:934048] elif op==0x5f:
[codex:934048] name='PUSH0'
[codex:934048] instr.append((pc_start,name))
[codex:934048]
[codex:934048] # find nearest JUMPDEST prior to pc
[codex:934048]
[codex:934048] def nearest_jumpdest(pc):
[codex:934048] jps=[p for p,name in instr if name=='JUMPDEST' and p<pc]
[codex:934048] return jps[-1] if jps else None
[codex:934048]
[codex:934048] for pc in [13960, 16994]:
[codex:934048] jd=nearest_jumpdest(pc)
[codex:934048] print('delegatecall pc', pc, 'nearest jumpdest', jd)
[codex:934048] # show 50 instructions before and after jd
[codex:934048] # find index
[codex:934048] idx=[i for i,(p,_) in enumerate(instr) if p==jd]
[codex:934048] if idx:
[codex:934048] idx=idx[0]
[codex:934048] start=max(0, idx-5)
[codex:934048] end=min(len(instr), idx+80)
[codex:934048] for p,name in instr[start:end]:
[codex:934048] print(f'{p:05d}: {name}')
[codex:934048] print('---')
[codex:934048]
[codex:934048] PY" in /tmp/codex-multi-nlyl7okb succeeded in 42ms:
[codex:934048] delegatecall pc 13960 nearest jumpdest 13948
[codex:934048] 13939: PUSH2 0x367c
[codex:934048] 13942: SWAP2
[codex:934048] 13943: SWAP1
[codex:934048] 13944: PUSH2 0x4b39
[codex:934048] 13947: JUMP
[codex:934048] 13948: JUMPDEST
[codex:934048] 13949: PUSH1 0x00
[codex:934048] 13951: PUSH1 0x40
[codex:934048] 13953: MLOAD
[codex:934048] 13954: DUP1
[codex:934048] 13955: DUP4
[codex:934048] 13956: SUB
[codex:934048] 13957: DUP2
[codex:934048] 13958: DUP6
[codex:934048] 13959: GAS
[codex:934048] 13960: DELEGATECALL
[codex:934048] 13961: SWAP2
[codex:934048] 13962: POP
[codex:934048] 13963: POP
[codex:934048]
[codex:934048] thinking
[codex:934048] **Analyzing delegatecall security and access control**
[codex:934048]
[codex:934048] I'm tracing the delegatecall usage and its surrounding code to find if there’s proper access control like `msg.sender` checks before the call, which is crucial to avoid risks from user-controlled addresses. I’m exploring function entries and looking for patterns like `CALLER`-`EQ` comparisons to confirm if delegatecalls are restricted, considering it might be part of a batch execution or multicall pattern.
[codex:934048] exec
[codex:934048] /bin/bash -lc "python - <<'PY'
[codex:934048] import re, pathlib
[codex:934048] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', pathlib.Path('/tmp/codex-multi-nlyl7okb/BYTECODE_BUNDLE.txt').read_text()).group(1)[2:]
[codex:934048] code=bytes.fromhex(hexstr)
[codex:934048]
[codex:934048] opnames={
[codex:934048] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:934048] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:934048] 0x20:'SHA3',
[codex:934048] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:934048] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:934048] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:934048] 0x5f:'PUSH0',
[codex:934048] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:934048] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:934048] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:934048] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:934048] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:934048] }
[codex:934048]
[codex:934048] # disassemble around pc range
[codex:934048]
[codex:934048] def disasm(start, end):
[codex:934048] pc=0
[codex:934048] while pc < len(code):
[codex:934048] op=code[pc]
[codex:934048] name=opnames.get(op, f'OP{op:02x}')
[codex:934048] pc_start=pc
[codex:934048] pc+=1
[codex:934048] if 0x60 <= op <= 0x7f:
[codex:934048] n=op-0x5f
[codex:934048] imm=code[pc:pc+n]
[codex:934048] pc+=n
[codex:934048] name=f'PUSH{n} 0x{imm.hex()}'
[codex:934048] elif op==0x5f:
[codex:934048] name='PUSH0'
[codex:934048] if start <= pc_start <= end:
[codex:934048] print(f'{pc_start:05d}: {name}')
[codex:934048] if pc_start > end:
[codex:934048] break
[codex:934048]
[codex:934048] print('--- context 13850-14080 ---')
[codex:934048] disasm(13850, 14080)
[codex:934048]
[codex:934048] print('\\n--- context 16850-17120 ---')
[codex:934048] disasm(16850, 17120)
[codex:934048]
[codex:934048] PY" in /tmp/codex-multi-nlyl7okb succeeded in 40ms:
[codex:934048] --- context 13850-14080 ---
[codex:934048] 13850: DUP4
[codex:934048] 13851: SUB
[codex:934048] 13852: DUP2
[codex:934048] 13853: PUSH1 0x00
[codex:934048] 13855: DUP8
[codex:934048] 13856: DUP1
[codex:934048] 13857: EXTCODESIZE
[codex:934048] 13858: ISZERO
[codex:934048] 13859: DUP1
[codex:934048] 13860: ISZERO
[codex:934048] 13861: PUSH2 0x362d
[codex:934048] 13864: JUMPI
[codex:934048] 13865: PUSH1 0x00
[codex:934048] 13867: DUP1
[codex:934048] 13868: REVERT
[codex:934048] 13869: JUMPDEST
[codex:934048] 13870: POP
[codex:934048] 13871: GAS
[codex:934048] 13872: CALL
[codex:934048]
[codex:934048] thinking
[codex:934048] **Analyzing delegatecall target storage and access control**
[codex:934048]
[codex:934048] I'm examining how the delegatecall target address is loaded from storage via a keccak-hashed key and checked for nonzero before use, which prevents calls to a zero address. I want to verify if the function that updates this mapping via SSTORE at 5052 is protected by access control, since an unprotected setter could allow users to insert malicious delegatecall targets and compromise the contract. My next step is to find the function's jump destination to understand its full logic and check for authorization checks.
[codex:934048] exec
[codex:934048] /bin/bash -lc "python - <<'PY'
[codex:934048] import re, pathlib
[codex:934048] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', pathlib.Path('/tmp/codex-multi-nlyl7okb/BYTECODE_BUNDLE.txt').read_text()).group(1)[2:]
[codex:934048] code=bytes.fromhex(hexstr)
[codex:934048]
[codex:934048] opnames={
[codex:934048] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:934048] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:934048] 0x20:'SHA3',
[codex:934048] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:934048] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:934048] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:934048] 0x5f:'PUSH0',
[codex:934048] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:934048] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:934048] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:934048] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:934048] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:934048] }
[codex:934048]
[codex:934048] # disassemble and store
[codex:934048] instr=[]
[codex:934048] pc=0
[codex:934048] while pc < len(code):
[codex:934048] op=code[pc]
[codex:934048] name=opnames.get(op, f'OP{op:02x}')
[codex:934048] pc_start=pc
[codex:934048] pc+=1
[codex:934048] if 0x60 <= op <= 0x7f:
[codex:934048] n=op-0x5f
[codex:934048] imm=code[pc:pc+n]
[codex:934048] pc+=n
[codex:934048] name=f'PUSH{n} 0x{imm.hex()}'
[codex:934048] elif op==0x5f:
[codex:934048] name='PUSH0'
[codex:934048] instr.append((pc_start,name))
[codex:934048]
[codex:934048] # find nearest jumpdest before pc
[codex:934048]
[codex:934048] def nearest_jumpdest(pc):
[codex:934048] jps=[p for p,name in instr if name=='JUMPDEST' and p<pc]
[codex:934048] return jps[-1] if jps else None
[codex:934048]
[codex:934048] for pc in [4865,5052]:
[codex:934048] jd=nearest_jumpdest(pc)
[codex:934048] print('pc', pc, 'nearest jumpdest', jd)
[codex:934048] # print 40 instructions before and after jd
[codex:934048] idx=[i for i,(p,_) in enumerate(instr) if p==jd][0]
[codex:934048] start=max(0, idx-10); end=min(len(instr), idx+60)
[codex:934048] for p,name in instr[start:end]:
[codex:934048] print(f'{p:05d}: {name}')
[codex:934048] print('---')
[codex:934048] PY" in /tmp/codex-multi-nlyl7okb succeeded in 43ms:
[codex:934048] pc 4865 nearest jumpdest 4764
[codex:934048] 04748: SHL
[codex:934048] 04749: SUB
[codex:934048] 04750: NOT
[codex:934048] 04751: AND
[codex:934048] 04752: ADD
[codex:934048] 04753: PUSH2 0x129c
[codex:934048] 04756: JUMPI
[codex:934048] 04757: PUSH2 0x09a3
[codex:934048] 04760: PUSH2 0x3d73
[codex:934048] 04763: JUMP
[codex:934048] 04764: JUMPDEST
[codex:934048] 04765: PUSH32 0xffffffb800000000000000000000000000000000000000000000000000000000
[codex:934048] 04798: PUSH1 0x00
[codex:934048] 04800: CALLDATALOAD
[codex:934048] 04801: PUSH1 0x01
[codex:934048] 04803: PUSH1 0x01
[codex:934048] 04805: PUSH1 0xe0
[codex:934048] 04807: SHL
[codex:934048] 04808: SUB
[codex:934048]
[codex:934048] thinking
[codex:934048] **Analyzing dispatch and jump logic**
[codex:934048] exec
[codex:934048] /bin/bash -lc "python - <<'PY'
[codex:934048] import re, pathlib
[codex:934048] hexstr=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', pathlib.Path('/tmp/codex-multi-nlyl7okb/BYTECODE_BUNDLE.txt').read_text()).group(1)[2:]
[codex:934048] code=bytes.fromhex(hexstr)
[codex:934048]
[codex:934048] opnames={
[codex:934048] 0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',
[codex:934048] 0x10:'LT',0x11:'GT',0x12:'SLT',0x13:'SGT',0x14:'EQ',0x15:'ISZERO',0x16:'AND',0x17:'OR',0x18:'XOR',0x19:'NOT',0x1a:'BYTE',0x1b:'SHL',0x1c:'SHR',0x1d:'SAR',
[codex:934048] 0x20:'SHA3',
[codex:934048] 0x30:'ADDRESS',0x31:'BALANCE',0x32:'ORIGIN',0x33:'CALLER',0x34:'CALLVALUE',0x35:'CALLDATALOAD',0x36:'CALLDATASIZE',0x37:'CALLDATACOPY',0x38:'CODESIZE',0x39:'CODECOPY',0x3a:'GASPRICE',0x3b:'EXTCODESIZE',0x3c:'EXTCODECOPY',0x3d:'RETURNDATASIZE',0x3e:'RETURNDATACOPY',0x3f:'EXTCODEHASH',
[codex:934048] 0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x46:'CHAINID',0x47:'SELFBALANCE',0x48:'BASEFEE',
[codex:934048] 0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',
[codex:934048] 0x5f:'PUSH0',
[codex:934048] 0x60:'PUSH1',0x61:'PUSH2',0x62:'PUSH3',0x63:'PUSH4',0x64:'PUSH5',0x65:'PUSH6',0x66:'PUSH7',0x67:'PUSH8',0x68:'PUSH9',0x69:'PUSH10',0x6a:'PUSH11',0x6b:'PUSH12',0x6c:'PUSH13',0x6d:'PUSH14',0x6e:'PUSH15',0x6f:'PUSH16',0x70:'PUSH17',0x71:'PUSH18',0x72:'PUSH19',0x73:'PUSH20',0x74:'PUSH21',0x75:'PUSH22',0x76:'PUSH23',0x77:'PUSH24',0x78:'PUSH25',0x79:'PUSH26',0x7a:'PUSH27',0x7b:'PUSH28',0x7c:'PUSH29',0x7d:'PUSH30',0x7e:'PUSH31',0x7f:'PUSH32',
[codex:934048] 0x80:'DUP1',0x81:'DUP2',0x82:'DUP3',0x83:'DUP4',0x84:'DUP5',0x85:'DUP6',0x86:'DUP7',0x87:'DUP8',0x88:'DUP9',0x89:'DUP10',0x8a:'DUP11',0x8b:'DUP12',0x8c:'DUP13',0x8d:'DUP14',0x8e:'DUP15',0x8f:'DUP16',
[codex:934048] 0x90:'SWAP1',0x91:'SWAP2',0x92:'SWAP3',0x93:'SWAP4',0x94:'SWAP5',0x95:'SWAP6',0x96:'SWAP7',0x97:'SWAP8',0x98:'SWAP9',0x99:'SWAP10',0x9a:'SWAP11',0x9b:'SWAP12',0x9c:'SWAP13',0x9d:'SWAP14',0x9e:'SWAP15',0x9f:'SWAP16',
[codex:934048] 0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:934048] 0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:934048] }
[codex:934048]
[codex:934048] # disassemble around pc 0x09a3 (decimal 2467)
[codex:934048] start=2400; end=2550
[codex:934048] pc=0
[codex:934048] while pc < len(code):
[codex:934048] op=code[pc]
[codex:934048] name=opnames.get(op, f'OP{op:02x}')
[codex:934048] pc_start=pc
[codex:934048] pc+=1
[codex:934048] if 0x60 <= op <= 0x7f:
[codex:934048] n=op-0x5f
[codex:934048] imm=code[pc:pc+n]
[codex:934048] pc+=n
[codex:934048] name=f'PUSH{n} 0x{imm.hex()}'
[codex:934048] elif op==0x5f:
[codex:934048] name='PUSH0'
[codex:934048] if start <= pc_start <= end:
[codex:934048] print(f'{pc_start:05d}: {name}')
[codex:934048] if pc_start > end:
[codex:934048] break
[codex:934048] PY" in /tmp/codex-multi-nlyl7okb succeeded in 31ms:
[codex:934048] 02403: PUSH1 0xe5
[codex:934048] 02405: SHL
[codex:934048] 02406: DUP2
[codex:934048] 02407: MSTORE
[codex:934048] 02408: PUSH1 0x20
[codex:934048] 02410: PUSH1 0x04
[codex:934048] 02412: DUP3
[codex:934048] 02413: ADD
[codex:934048] 02414: MSTORE
[codex:934048] 02415: PUSH1 0x01
[codex:934048] 02417: PUSH1 0x24
[codex:934048] 02419: DUP3
[codex:934048] 02420: ADD
[codex:934048] 02421: MSTORE
[codex:934048] 02422: PUSH32 0x4100000000000000000000000000000000000000000000000000000000000000
[codex:934048] 02455: PUSH1 0x44
[codex:934048] 02457: DUP3
[codex:934048] 02458: ADD
[codex:934048] 02459: MSTORE
[codex:934048] 02460: PUSH1 0x64
[codex:934048]
[codex:934048] thinking
[codex:934048] **Analyzing function dispatch and access control**
[codex:934048] codex
[codex:934048] {"no_findings":true,"summary":"Reviewed the full runtime bytecode in BYTECODE_BUNDLE.txt. Delegatecall sites and storage setters exist, but the bytecode does not reveal an unprotected, attacker-controllable path to extract ETH/tokens/NFTs with a concrete transaction sequence.","findings":[]}
[codex:934048] tokens used
[codex:934048] 67,332
[codex:934048] {"no_findings":true,"summary":"Reviewed the full runtime bytecode in BYTECODE_BUNDLE.txt. Delegatecall sites and storage setters exist, but the bytecode does not reveal an unprotected, attacker-controllable path to extract ETH/tokens/NFTs with a concrete transaction sequence.","findings":[]}
{
"codex": {
"ran_at": "2026-01-02T05:10:16.044971+00:00",
"returncode": 0
},
"summary": "Reviewed the full runtime bytecode in BYTECODE_BUNDLE.txt. Delegatecall sites and storage setters exist, but the bytecode does not reveal an unprotected, attacker-controllable path to extract ETH/tokens/NFTs with a concrete transaction sequence.",
"raw_final": {
"summary": "Reviewed the full runtime bytecode in BYTECODE_BUNDLE.txt. Delegatecall sites and storage setters exist, but the bytecode does not reveal an unprotected, attacker-controllable path to extract ETH/tokens/NFTs with a concrete transaction sequence.",
"findings": [],
"no_findings": true
},
"no_findings": true,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: CALLDATASIZE 00000006: PUSH2 0x000b 00000009: JUMPI 0000000a: STOP 0000000b: JUMPDEST 0000000c: PUSH1 0x01 0000000e: PUSH1 0x01 00000010: PUSH1 0xe0 00000012: SHL 00000013: SUB 00000014: NOT 00000015: PUSH1 0x00 00000017: CALLDATALOAD 00000018: AND 00000019: PUSH32 0x05b9e1cd00000000000000000000000000000000000000000000000000000000 0000003a: DUP2 0000003b: ADD 0000003c: PUSH2 0x0049 0000003f: JUMPI 00000040: PUSH2 0x0047 00000043: PUSH2 0x01e5 00000046: JUMP 00000047: JUMPDEST 00000048: STOP 00000049: JUMPDEST 0000004a: PUSH29 0x1000000000000000000000000000000000000000000000000000000000 00000068: PUSH1 0x01 0000006a: PUSH1 0x01 0000006c: PUSH1 0xe0 0000006e: SHL 0000006f: SUB 00000070: NOT 00000071: DUP3 00000072: AND 00000073: LT 00000074: ISZERO 00000075: PUSH2 0x0088 00000078: JUMPI 00000079: PUSH2 0x0080 0000007c: PUSH2 0x052d 0000007f: JUMP 00000080: JUMPDEST 00000081: PUSH2 0x0047 00000084: PUSH2 0x09a5 00000087: JUMP 00000088: JUMPDEST 00000089: PUSH29 0x2000000000000000000000000000000000000000000000000000000000 000000a7: PUSH1 0x01 000000a9: PUSH1 0x01 000000ab: PUSH1 0xe0 000000ad: SHL 000000ae: SUB 000000af: NOT 000000b0: DUP3 000000b1: AND 000000b2: LT 000000b3: ISZERO 000000b4: PUSH2 0x00c7 000000b7: JUMPI 000000b8: PUSH2 0x00bf 000000bb: PUSH2 0x052d 000000be: JUMP 000000bf: JUMPDEST 000000c0: PUSH2 0x0047 000000c3: PUSH2 0x0c7f 000000c6: JUMP 000000c7: JUMPDEST 000000c8: PUSH29 0x3000000000000000000000000000000000000000000000000000000000 000000e6: PUSH1 0x01 000000e8: PUSH1 0x01 000000ea: PUSH1 0xe0 000000ec: SHL 000000ed: SUB 000000ee: NOT 000000ef: PUSH1 0x00 000000f1: CALLDATALOAD 000000f2: AND 000000f3: LT 000000f4: ISZERO 000000f5: PUSH2 0x0108 000000f8: JUMPI 000000f9: PUSH2 0x0100 000000fc: PUSH2 0x052d 000000ff: JUMP 00000100: JUMPDEST 00000101: PUSH2 0x0047 00000104: PUSH2 0x0f57 00000107: JUMP 00000108: JUMPDEST 00000109: PUSH29 0x4000000000000000000000000000000000000000000000000000000000 00000127: PUSH1 0x01 00000129: PUSH1 0x01 0000012b: PUSH1 0xe0 0000012d: SHL 0000012e: SUB 0000012f: NOT 00000130: DUP3 00000131: AND 00000132: LT 00000133: ISZERO 00000134: PUSH2 0x0147 00000137: JUMPI 00000138: PUSH2 0x013f 0000013b: PUSH2 0x052d 0000013e: JUMP 0000013f: JUMPDEST 00000140: PUSH2 0x0047 00000143: PUSH2 0x104e 00000146: JUMP 00000147: JUMPDEST 00000148: PUSH29 0x5000000000000000000000000000000000000000000000000000000000 00000166: PUSH1 0x01 00000168: PUSH1 0x01 0000016a: PUSH1 0xe0 0000016c: SHL 0000016d: SUB 0000016e: NOT 0000016f: DUP3 00000170: AND 00000171: LT 00000172: ISZERO 00000173: PUSH2 0x01dd 00000176: JUMPI 00000177: PUSH1 0x00 00000179: SLOAD 0000017a: PUSH1 0x01 0000017c: PUSH1 0x01 0000017e: PUSH1 0xa0 00000180: SHL 00000181: SUB 00000182: AND 00000183: CALLER 00000184: EQ 00000185: PUSH2 0x01d5 00000188: JUMPI 00000189: PUSH1 0x40 0000018b: MLOAD 0000018c: PUSH3 0x461bcd 00000190: PUSH1 0xe5 00000192: SHL 00000193: DUP2 00000194: MSTORE 00000195: PUSH1 0x20 00000197: PUSH1 0x04 00000199: DUP3 0000019a: ADD 0000019b: MSTORE 0000019c: PUSH1 0x01 0000019e: PUSH1 0x24 000001a0: DUP3 000001a1: ADD 000001a2: MSTORE 000001a3: PUSH32 0x5200000000000000000000000000000000000000000000000000000000000000 000001c4: PUSH1 0x44 000001c6: DUP3 000001c7: ADD 000001c8: MSTORE 000001c9: PUSH1 0x64 000001cb: ADD 000001cc: JUMPDEST 000001cd: PUSH1 0x40 000001cf: MLOAD 000001d0: DUP1 000001d1: SWAP2 000001d2: SUB 000001d3: SWAP1 000001d4: REVERT 000001d5: JUMPDEST 000001d6: PUSH2 0x0047 000001d9: PUSH2 0x11b0 000001dc: JUMP 000001dd: JUMPDEST 000001de: PUSH2 0x0047 000001e1: PUSH2 0x13be 000001e4: JUMP 000001e5: JUMPDEST 000001e6: PUSH1 0x84 000001e8: CALLDATALOAD 000001e9: PUSH1 0x60 000001eb: SWAP1 000001ec: DUP2 000001ed: SHR 000001ee: SWAP1 000001ef: PUSH1 0x98 000001f1: CALLDATALOAD 000001f2: SWAP1 000001f3: SHR 000001f4: PUSH1 0xac 000001f6: CALLDATALOAD 000001f7: PUSH1 0xe8 000001f9: SHR 000001fa: PUSH1 0x04 000001fc: CALLDATALOAD 000001fd: PUSH1 0x24 000001ff: CALLDATALOAD 00000200: DUP4 00000201: DUP6 00000202: LT 00000203: ISZERO 00000204: PUSH2 0x0398 00000207: JUMPI 00000208: PUSH1 0x40 0000020a: DUP1 0000020b: MLOAD 0000020c: PUSH1 0x01 0000020e: PUSH1 0x01 00000210: PUSH1 0xa0 00000212: SHL 00000213: SUB 00000214: DUP1 00000215: DUP9 00000216: AND 00000217: PUSH1 0x20 00000219: DUP4 0000021a: ADD 0000021b: MSTORE 0000021c: DUP7 0000021d: AND 0000021e: SWAP2 0000021f: DUP2 00000220: ADD 00000221: SWAP2 00000222: SWAP1 00000223: SWAP2 00000224: MSTORE 00000225: PUSH3 0xffffff 00000229: DUP5 0000022a: AND 0000022b: PUSH1 0x60 0000022d: DUP3 0000022e: ADD 0000022f: MSTORE 00000230: PUSH1 0x80 00000232: ADD 00000233: PUSH1 0x40 00000235: DUP1 00000236: MLOAD 00000237: PUSH1 0x1f 00000239: NOT 0000023a: DUP2 0000023b: DUP5 0000023c: SUB 0000023d: ADD 0000023e: DUP2 0000023f: MSTORE 00000240: SWAP1 00000241: DUP3 00000242: SWAP1 00000243: MSTORE 00000244: DUP1 00000245: MLOAD 00000246: PUSH1 0x20 00000248: SWAP2 00000249: DUP3 0000024a: ADD 0000024b: KECCAK256 0000024c: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000 0000026d: SWAP2 0000026e: DUP4 0000026f: ADD 00000270: SWAP2 00000271: SWAP1 00000272: SWAP2 00000273: MSTORE 00000274: PUSH1 0x35 00000276: DUP3 00000277: ADD 00000278: MSTORE 00000279: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54 0000029a: PUSH1 0x55 0000029c: DUP3 0000029d: ADD 0000029e: MSTORE 0000029f: PUSH1 0x75 000002a1: ADD 000002a2: PUSH1 0x40 000002a4: MLOAD 000002a5: PUSH1 0x20 000002a7: DUP2 000002a8: DUP4 000002a9: SUB 000002aa: SUB 000002ab: DUP2 000002ac: MSTORE 000002ad: SWAP1 000002ae: PUSH1 0x40 000002b0: MSTORE 000002b1: DUP1 000002b2: MLOAD 000002b3: SWAP1 000002b4: PUSH1 0x20 000002b6: ADD 000002b7: KECCAK256 000002b8: PUSH1 0x00 000002ba: SHR 000002bb: PUSH1 0x01 000002bd: PUSH1 0x01 000002bf: PUSH1 0xa0 000002c1: SHL 000002c2: SUB 000002c3: AND 000002c4: CALLER 000002c5: PUSH1 0x01 000002c7: PUSH1 0x01 000002c9: PUSH1 0xa0 000002cb: SHL 000002cc: SUB 000002cd: AND 000002ce: EQ 000002cf: PUSH2 0x031a 000002d2: JUMPI 000002d3: PUSH1 0x40 000002d5: MLOAD 000002d6: PUSH3 0x461bcd 000002da: PUSH1 0xe5 000002dc: SHL 000002dd: DUP2 000002de: MSTORE 000002df: PUSH1 0x20 000002e1: PUSH1 0x04 000002e3: DUP3 000002e4: ADD 000002e5: MSTORE 000002e6: PUSH1 0x01 000002e8: PUSH1 0x24 000002ea: DUP3 000002eb: ADD 000002ec: MSTORE 000002ed: PUSH32 0x5000000000000000000000000000000000000000000000000000000000000000 0000030e: PUSH1 0x44 00000310: DUP3 00000311: ADD 00000312: MSTORE 00000313: PUSH1 0x64 00000315: ADD 00000316: PUSH2 0x01cc 00000319: JUMP 0000031a: JUMPDEST 0000031b: PUSH1 0x40 0000031d: MLOAD 0000031e: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 0000033f: DUP2 00000340: MSTORE 00000341: CALLER 00000342: PUSH1 0x04 00000344: DUP3 00000345: ADD 00000346: MSTORE 00000347: PUSH1 0x24 00000349: DUP2 0000034a: ADD 0000034b: DUP4 0000034c: SWAP1 0000034d: MSTORE 0000034e: PUSH1 0x01 00000350: PUSH1 0x01 00000352: PUSH1 0xa0 00000354: SHL 00000355: SUB 00000356: DUP7 00000357: AND 00000358: SWAP1 00000359: PUSH4 0xa9059cbb 0000035e: SWAP1 0000035f: PUSH1 0x44 00000361: ADD 00000362: PUSH1 0x00 00000364: PUSH1 0x40 00000366: MLOAD 00000367: DUP1 00000368: DUP4 00000369: SUB 0000036a: DUP2 0000036b: PUSH1 0x00 0000036d: DUP8 0000036e: DUP1 0000036f: EXTCODESIZE 00000370: ISZERO 00000371: DUP1 00000372: ISZERO 00000373: PUSH2 0x037b 00000376: JUMPI 00000377: PUSH1 0x00 00000379: DUP1 0000037a: REVERT 0000037b: JUMPDEST 0000037c: POP 0000037d: GAS 0000037e: CALL 0000037f: ISZERO 00000380: DUP1 00000381: ISZERO 00000382: PUSH2 0x038f 00000385: JUMPI 00000386: RETURNDATASIZE 00000387: PUSH1 0x00 00000389: DUP1 0000038a: RETURNDATACOPY 0000038b: RETURNDATASIZE 0000038c: PUSH1 0x00 0000038e: REVERT 0000038f: JUMPDEST 00000390: POP 00000391: POP 00000392: POP 00000393: POP 00000394: PUSH2 0x0526 00000397: JUMP 00000398: JUMPDEST 00000399: PUSH1 0x40 0000039b: DUP1 0000039c: MLOAD 0000039d: PUSH1 0x01 0000039f: PUSH1 0x01 000003a1: PUSH1 0xa0 000003a3: SHL 000003a4: SUB 000003a5: DUP1 000003a6: DUP8 000003a7: AND 000003a8: PUSH1 0x20 000003aa: DUP4 000003ab: ADD 000003ac: MSTORE 000003ad: DUP8 000003ae: AND 000003af: SWAP2 000003b0: DUP2 000003b1: ADD 000003b2: SWAP2 000003b3: SWAP1 000003b4: SWAP2 000003b5: MSTORE 000003b6: PUSH3 0xffffff 000003ba: DUP5 000003bb: AND 000003bc: PUSH1 0x60 000003be: DUP3 000003bf: ADD 000003c0: MSTORE 000003c1: PUSH1 0x80 000003c3: ADD 000003c4: PUSH1 0x40 000003c6: DUP1 000003c7: MLOAD 000003c8: PUSH1 0x1f 000003ca: NOT 000003cb: DUP2 000003cc: DUP5 000003cd: SUB 000003ce: ADD 000003cf: DUP2 000003d0: MSTORE 000003d1: SWAP1 000003d2: DUP3 000003d3: SWAP1 000003d4: MSTORE 000003d5: DUP1 000003d6: MLOAD 000003d7: PUSH1 0x20 000003d9: SWAP2 000003da: DUP3 000003db: ADD 000003dc: KECCAK256 000003dd: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000 000003fe: SWAP2 000003ff: DUP4 00000400: ADD 00000401: SWAP2 00000402: SWAP1 00000403: SWAP2 00000404: MSTORE 00000405: PUSH1 0x35 00000407: DUP3 00000408: ADD 00000409: MSTORE 0000040a: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54 0000042b: PUSH1 0x55 0000042d: DUP3 0000042e: ADD 0000042f: MSTORE 00000430: PUSH1 0x75 00000432: ADD 00000433: PUSH1 0x40 00000435: MLOAD 00000436: PUSH1 0x20 00000438: DUP2 00000439: DUP4 0000043a: SUB 0000043b: SUB 0000043c: DUP2 0000043d: MSTORE 0000043e: SWAP1 0000043f: PUSH1 0x40 00000441: MSTORE 00000442: DUP1 00000443: MLOAD 00000444: SWAP1 00000445: PUSH1 0x20 00000447: ADD 00000448: KECCAK256 00000449: PUSH1 0x00 0000044b: SHR 0000044c: PUSH1 0x01 0000044e: PUSH1 0x01 00000450: PUSH1 0xa0 00000452: SHL 00000453: SUB 00000454: AND 00000455: CALLER 00000456: PUSH1 0x01 00000458: PUSH1 0x01 0000045a: PUSH1 0xa0 0000045c: SHL 0000045d: SUB 0000045e: AND 0000045f: EQ 00000460: PUSH2 0x04ab 00000463: JUMPI 00000464: PUSH1 0x40 00000466: MLOAD 00000467: PUSH3 0x461bcd 0000046b: PUSH1 0xe5 0000046d: SHL 0000046e: DUP2 0000046f: MSTORE 00000470: PUSH1 0x20 00000472: PUSH1 0x04 00000474: DUP3 00000475: ADD 00000476: MSTORE 00000477: PUSH1 0x01 00000479: PUSH1 0x24 0000047b: DUP3 0000047c: ADD 0000047d: MSTORE 0000047e: PUSH32 0x5000000000000000000000000000000000000000000000000000000000000000 0000049f: PUSH1 0x44 000004a1: DUP3 000004a2: ADD 000004a3: MSTORE 000004a4: PUSH1 0x64 000004a6: ADD 000004a7: PUSH2 0x01cc 000004aa: JUMP 000004ab: JUMPDEST 000004ac: PUSH1 0x40 000004ae: MLOAD 000004af: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 000004d0: DUP2 000004d1: MSTORE 000004d2: CALLER 000004d3: PUSH1 0x04 000004d5: DUP3 000004d6: ADD 000004d7: MSTORE 000004d8: PUSH1 0x24 000004da: DUP2 000004db: ADD 000004dc: DUP3 000004dd: SWAP1 000004de: MSTORE 000004df: PUSH1 0x01 000004e1: PUSH1 0x01 000004e3: PUSH1 0xa0 000004e5: SHL 000004e6: SUB 000004e7: DUP7 000004e8: AND 000004e9: SWAP1 000004ea: PUSH4 0xa9059cbb 000004ef: SWAP1 000004f0: PUSH1 0x44 000004f2: ADD 000004f3: JUMPDEST 000004f4: PUSH1 0x00 000004f6: PUSH1 0x40 000004f8: MLOAD 000004f9: DUP1 000004fa: DUP4 000004fb: SUB 000004fc: DUP2 000004fd: PUSH1 0x00 000004ff: DUP8 00000500: DUP1 00000501: EXTCODESIZE 00000502: ISZERO 00000503: DUP1 00000504: ISZERO 00000505: PUSH2 0x050d 00000508: JUMPI 00000509: PUSH1 0x00 0000050b: DUP1 0000050c: REVERT 0000050d: JUMPDEST 0000050e: POP 0000050f: GAS 00000510: CALL 00000511: ISZERO 00000512: DUP1 00000513: ISZERO 00000514: PUSH2 0x0521 00000517: JUMPI 00000518: RETURNDATASIZE 00000519: PUSH1 0x00 0000051b: DUP1 0000051c: RETURNDATACOPY 0000051d: RETURNDATASIZE 0000051e: PUSH1 0x00 00000520: REVERT 00000521: JUMPDEST 00000522: POP 00000523: POP 00000524: POP 00000525: POP 00000526: JUMPDEST 00000527: POP 00000528: POP 00000529: POP 0000052a: POP 0000052b: POP 0000052c: JUMP 0000052d: JUMPDEST 0000052e: PUSH1 0x01 00000530: PUSH1 0x01 00000532: PUSH1 0xa0 00000534: SHL 00000535: SUB 00000536: PUSH32 0x000000000000000000000000a009fa1ac416ec02f6f902a3a4a584b092ae6123 00000557: AND 00000558: CALLER 00000559: SUB 0000055a: PUSH2 0x055f 0000055d: JUMPI 0000055e: JUMP 0000055f: JUMPDEST 00000560: PUSH1 0x01 00000562: PUSH1 0x01 00000564: PUSH1 0xa0 00000566: SHL 00000567: SUB 00000568: PUSH32 0x000000000000000000000000aa31969dbdbaa86007921e1ba81e440a2bdf3af8 00000589: AND 0000058a: CALLER 0000058b: SUB 0000058c: PUSH2 0x0591 0000058f: JUMPI 00000590: JUMP 00000591: JUMPDEST 00000592: PUSH1 0x01 00000594: PUSH1 0x01 00000596: PUSH1 0xa0 00000598: SHL 00000599: SUB 0000059a: PUSH32 0x000000000000000000000000ee28beaa11e31d10581ee7cfdcb9e95c8d05c53c 000005bb: AND 000005bc: CALLER 000005bd: SUB 000005be: PUSH2 0x05c3 000005c1: JUMPI 000005c2: JUMP 000005c3: JUMPDEST 000005c4: PUSH1 0x01 000005c6: PUSH1 0x01 000005c8: PUSH1 0xa0 000005ca: SHL 000005cb: SUB 000005cc: PUSH32 0x000000000000000000000000aa31969dbdbaa86007921e1ba81e440a2bdf3af8 000005ed: AND 000005ee: CALLER 000005ef: SUB 000005f0: PUSH2 0x05f5 000005f3: JUMPI 000005f4: JUMP 000005f5: JUMPDEST 000005f6: PUSH1 0x01 000005f8: PUSH1 0x01 000005fa: PUSH1 0xa0 000005fc: SHL 000005fd: SUB 000005fe: PUSH32 0x00000000000000000000000061c055fc447a01deae2e6a4cbc1257953cbc9536 0000061f: AND 00000620: CALLER 00000621: SUB 00000622: PUSH2 0x0627 00000625: JUMPI 00000626: JUMP 00000627: JUMPDEST 00000628: PUSH1 0x01 0000062a: PUSH1 0x01 0000062c: PUSH1 0xa0 0000062e: SHL 0000062f: SUB 00000630: PUSH32 0x000000000000000000000000929147c1aa1338b2705868bcf4965e67041822a4 00000651: AND 00000652: CALLER 00000653: SUB 00000654: PUSH2 0x0659 00000657: JUMPI 00000658: JUMP 00000659: JUMPDEST 0000065a: PUSH1 0x01 0000065c: PUSH1 0x01 0000065e: PUSH1 0xa0 00000660: SHL 00000661: SUB 00000662: PUSH32 0x0000000000000000000000006549e6c5401a3135a116933717e887ec8e917548 00000683: AND 00000684: CALLER 00000685: SUB 00000686: PUSH2 0x068b 00000689: JUMPI 0000068a: JUMP 0000068b: JUMPDEST 0000068c: PUSH1 0x01 0000068e: PUSH1 0x01 00000690: PUSH1 0xa0 00000692: SHL 00000693: SUB 00000694: PUSH32 0x000000000000000000000000d3720491d1840de84c6540a497b230cfdb590f5b 000006b5: AND 000006b6: CALLER 000006b7: SUB 000006b8: PUSH2 0x06bd 000006bb: JUMPI 000006bc: JUMP 000006bd: JUMPDEST 000006be: PUSH1 0x01 000006c0: PUSH1 0x01 000006c2: PUSH1 0xa0 000006c4: SHL 000006c5: SUB 000006c6: PUSH32 0x0000000000000000000000009122d8da8a529f1fa2357d02c3ba3de147aa9424 000006e7: AND 000006e8: CALLER 000006e9: SUB 000006ea: PUSH2 0x06ef 000006ed: JUMPI 000006ee: JUMP 000006ef: JUMPDEST 000006f0: PUSH1 0x01 000006f2: PUSH1 0x01 000006f4: PUSH1 0xa0 000006f6: SHL 000006f7: SUB 000006f8: PUSH32 0x000000000000000000000000894d7c5d6f532b850d6716058ab1a523958e7d31 00000719: AND 0000071a: CALLER 0000071b: SUB 0000071c: PUSH2 0x0721 0000071f: JUMPI 00000720: JUMP 00000721: JUMPDEST 00000722: PUSH1 0x01 00000724: PUSH1 0x01 00000726: PUSH1 0xa0 00000728: SHL 00000729: SUB 0000072a: PUSH32 0x000000000000000000000000aff9d79e7f007f7dca48955d34b8db74f27de0a7 0000074b: AND 0000074c: CALLER 0000074d: SUB 0000074e: PUSH2 0x0753 00000751: JUMPI 00000752: JUMP 00000753: JUMPDEST 00000754: PUSH1 0x01 00000756: PUSH1 0x01 00000758: PUSH1 0xa0 0000075a: SHL 0000075b: SUB 0000075c: PUSH32 0x000000000000000000000000886c8d9fdb681e7006b710e893f765776fa651d4 0000077d: AND 0000077e: CALLER 0000077f: SUB 00000780: PUSH2 0x0785 00000783: JUMPI 00000784: JUMP 00000785: JUMPDEST 00000786: PUSH1 0x01 00000788: PUSH1 0x01 0000078a: PUSH1 0xa0 0000078c: SHL 0000078d: SUB 0000078e: PUSH32 0x0000000000000000000000007df370f6d19294c5e794620c86904425f2b2a175 000007af: AND 000007b0: CALLER 000007b1: SUB 000007b2: PUSH2 0x07b7 000007b5: JUMPI 000007b6: JUMP 000007b7: JUMPDEST 000007b8: PUSH1 0x01 000007ba: PUSH1 0x01 000007bc: PUSH1 0xa0 000007be: SHL 000007bf: SUB 000007c0: PUSH32 0x000000000000000000000000c7395aed51fb76d0f38833238192df8752d2b902 000007e1: AND 000007e2: CALLER 000007e3: SUB 000007e4: PUSH2 0x07e9 000007e7: JUMPI 000007e8: JUMP 000007e9: JUMPDEST 000007ea: PUSH1 0x01 000007ec: PUSH1 0x01 000007ee: PUSH1 0xa0 000007f0: SHL 000007f1: SUB 000007f2: PUSH32 0x00000000000000000000000096f84532ac4e1d20202b6672658e3bbccaa7b13e 00000813: AND 00000814: CALLER 00000815: SUB 00000816: PUSH2 0x081b 00000819: JUMPI 0000081a: JUMP 0000081b: JUMPDEST 0000081c: PUSH1 0x01 0000081e: PUSH1 0x01 00000820: PUSH1 0xa0 00000822: SHL 00000823: SUB 00000824: PUSH32 0x00000000000000000000000018360cf1d93a1fe34351ea2ca581169d8cb0f490 00000845: AND 00000846: CALLER 00000847: SUB 00000848: PUSH2 0x084d 0000084b: JUMPI 0000084c: JUMP 0000084d: JUMPDEST 0000084e: PUSH1 0x01 00000850: PUSH1 0x01 00000852: PUSH1 0xa0 00000854: SHL 00000855: SUB 00000856: PUSH32 0x000000000000000000000000f303e77c3f559a493d34249c39bd167fdfefa37f 00000877: AND 00000878: CALLER 00000879: SUB 0000087a: PUSH2 0x087f 0000087d: JUMPI 0000087e: JUMP 0000087f: JUMPDEST 00000880: PUSH1 0x01 00000882: PUSH1 0x01 00000884: PUSH1 0xa0 00000886: SHL 00000887: SUB 00000888: PUSH32 0x00000000000000000000000084f4bea27ba790c1b81b143a9798be4cd0dfe5d6 000008a9: AND 000008aa: CALLER 000008ab: SUB 000008ac: PUSH2 0x08b1 000008af: JUMPI 000008b0: JUMP 000008b1: JUMPDEST 000008b2: PUSH1 0x01 000008b4: PUSH1 0x01 000008b6: PUSH1 0xa0 000008b8: SHL 000008b9: SUB 000008ba: PUSH32 0x0000000000000000000000005d4cf31e3b7d5c20916aaf4ee886e35ce276dae2 000008db: AND 000008dc: CALLER 000008dd: SUB 000008de: PUSH2 0x08e3 000008e1: JUMPI 000008e2: JUMP 000008e3: JUMPDEST 000008e4: PUSH1 0x01 000008e6: PUSH1 0x01 000008e8: PUSH1 0xa0 000008ea: SHL 000008eb: SUB 000008ec: PUSH32 0x0000000000000000000000007164a0c923239bc11e1038ad4a3f37afe9d8e659 0000090d: AND 0000090e: CALLER 0000090f: SUB 00000910: PUSH2 0x0915 00000913: JUMPI 00000914: JUMP 00000915: JUMPDEST 00000916: PUSH1 0x01 00000918: PUSH1 0x01 0000091a: PUSH1 0xa0 0000091c: SHL 0000091d: SUB 0000091e: PUSH32 0x0000000000000000000000004d65519fdd22ec2f5cc2ba32e7f107486080c751 0000093f: AND 00000940: CALLER 00000941: SUB 00000942: PUSH2 0x0947 00000945: JUMPI 00000946: JUMP 00000947: JUMPDEST 00000948: PUSH1 0x00 0000094a: SLOAD 0000094b: PUSH1 0x01 0000094d: PUSH1 0x01 0000094f: PUSH1 0xa0 00000951: SHL 00000952: SUB 00000953: AND 00000954: CALLER 00000955: SUB 00000956: PUSH2 0x095b 00000959: JUMPI 0000095a: JUMP 0000095b: JUMPDEST 0000095c: PUSH1 0x40 0000095e: MLOAD 0000095f: PUSH3 0x461bcd 00000963: PUSH1 0xe5 00000965: SHL 00000966: DUP2 00000967: MSTORE 00000968: PUSH1 0x20 0000096a: PUSH1 0x04 0000096c: DUP3 0000096d: ADD 0000096e: MSTORE 0000096f: PUSH1 0x01 00000971: PUSH1 0x24 00000973: DUP3 00000974: ADD 00000975: MSTORE 00000976: PUSH32 0x4100000000000000000000000000000000000000000000000000000000000000 00000997: PUSH1 0x44 00000999: DUP3 0000099a: ADD 0000099b: MSTORE 0000099c: PUSH1 0x64 0000099e: ADD 0000099f: PUSH2 0x01cc 000009a2: JUMP 000009a3: JUMPDEST 000009a4: JUMP 000009a5: JUMPDEST 000009a6: PUSH1 0x01 000009a8: PUSH1 0x01 000009aa: PUSH1 0xe0 000009ac: SHL 000009ad: SUB 000009ae: NOT 000009af: PUSH1 0x00 000009b1: CALLDATALOAD 000009b2: DUP2 000009b3: AND 000009b4: ADD 000009b5: PUSH2 0x09c0 000009b8: JUMPI 000009b9: PUSH2 0x09a3 000009bc: PUSH2 0x143c 000009bf: JUMP 000009c0: JUMPDEST 000009c1: PUSH32 0xfffffffe00000000000000000000000000000000000000000000000000000000 000009e2: PUSH1 0x00 000009e4: CALLDATALOAD 000009e5: PUSH1 0x01 000009e7: PUSH1 0x01 000009e9: PUSH1 0xe0 000009eb: SHL 000009ec: SUB 000009ed: NOT 000009ee: AND 000009ef: ADD 000009f0: PUSH2 0x0a30 000009f3: JUMPI 000009f4: PUSH2 0x09fb 000009f7: PUSH2 0x143c 000009fa: JUMP 000009fb: JUMPDEST 000009fc: PUSH1 0x40 000009fe: MLOAD 000009ff: PUSH1 0x6f 00000a01: CALLDATALOAD 00000a02: SWAP1 00000a03: COINBASE 00000a04: SWAP1 00000a05: DUP3 00000a06: ISZERO 00000a07: PUSH2 0x08fc 00000a0a: MUL 00000a0b: SWAP1 00000a0c: DUP4 00000a0d: SWAP1 00000a0e: PUSH1 0x00 00000a10: DUP2 00000a11: DUP2 00000a12: DUP2 00000a13: DUP6 00000a14: DUP9 00000a15: DUP9 00000a16: CALL 00000a17: SWAP4 00000a18: POP 00000a19: POP 00000a1a: POP 00000a1b: POP 00000a1c: ISZERO 00000a1d: DUP1 00000a1e: ISZERO 00000a1f: PUSH2 0x0a2c 00000a22: JUMPI 00000a23: RETURNDATASIZE 00000a24: PUSH1 0x00 00000a26: DUP1 00000a27: RETURNDATACOPY 00000a28: RETURNDATASIZE 00000a29: PUSH1 0x00 00000a2b: REVERT 00000a2c: JUMPDEST 00000a2d: POP 00000a2e: POP 00000a2f: JUMP 00000a30: JUMPDEST 00000a31: PUSH32 0xfffffffc00000000000000000000000000000000000000000000000000000000 00000a52: PUSH1 0x00 00000a54: CALLDATALOAD 00000a55: PUSH1 0x01 00000a57: PUSH1 0x01 00000a59: PUSH1 0xe0 00000a5b: SHL 00000a5c: SUB 00000a5d: NOT 00000a5e: AND 00000a5f: ADD 00000a60: PUSH2 0x0a6b 00000a63: JUMPI 00000a64: PUSH2 0x09a3 00000a67: PUSH2 0x187e 00000a6a: JUMP 00000a6b: JUMPDEST 00000a6c: PUSH32 0xfffffffb00000000000000000000000000000000000000000000000000000000 00000a8d: PUSH1 0x00 00000a8f: CALLDATALOAD 00000a90: PUSH1 0x01 00000a92: PUSH1 0x01 00000a94: PUSH1 0xe0 00000a96: SHL 00000a97: SUB 00000a98: NOT 00000a99: AND 00000a9a: ADD 00000a9b: PUSH2 0x0aa6 00000a9e: JUMPI 00000a9f: PUSH2 0x09a3 00000aa2: PUSH2 0x1d60 00000aa5: JUMP 00000aa6: JUMPDEST 00000aa7: PUSH32 0xfffffffa00000000000000000000000000000000000000000000000000000000 00000ac8: PUSH1 0x00 00000aca: CALLDATALOAD 00000acb: PUSH1 0x01 00000acd: PUSH1 0x01 00000acf: PUSH1 0xe0 00000ad1: SHL 00000ad2: SUB 00000ad3: NOT 00000ad4: AND 00000ad5: ADD 00000ad6: PUSH2 0x0b12 00000ad9: JUMPI 00000ada: PUSH2 0x0ae1 00000add: PUSH2 0x1d60 00000ae0: JUMP 00000ae1: JUMPDEST 00000ae2: PUSH1 0x40 00000ae4: MLOAD 00000ae5: PUSH1 0x83 00000ae7: CALLDATALOAD 00000ae8: SWAP1 00000ae9: COINBASE 00000aea: SWAP1 00000aeb: DUP3 00000aec: ISZERO 00000aed: PUSH2 0x08fc 00000af0: MUL 00000af1: SWAP1 00000af2: DUP4 00000af3: SWAP1 00000af4: PUSH1 0x00 00000af6: DUP2 00000af7: DUP2 00000af8: DUP2 00000af9: DUP6 00000afa: DUP9 00000afb: DUP9 00000afc: CALL 00000afd: SWAP4 00000afe: POP 00000aff: POP 00000b00: POP 00000b01: POP 00000b02: ISZERO 00000b03: DUP1 00000b04: ISZERO 00000b05: PUSH2 0x0a2c 00000b08: JUMPI 00000b09: RETURNDATASIZE 00000b0a: PUSH1 0x00 00000b0c: DUP1 00000b0d: RETURNDATACOPY 00000b0e: RETURNDATASIZE 00000b0f: PUSH1 0x00 00000b11: REVERT 00000b12: JUMPDEST 00000b13: PUSH32 0xfffffff900000000000000000000000000000000000000000000000000000000 00000b34: PUSH1 0x00 00000b36: CALLDATALOAD 00000b37: PUSH1 0x01 00000b39: PUSH1 0x01 00000b3b: PUSH1 0xe0 00000b3d: SHL 00000b3e: SUB 00000b3f: NOT 00000b40: AND 00000b41: ADD 00000b42: PUSH2 0x0b4d 00000b45: JUMPI 00000b46: PUSH2 0x09a3 00000b49: PUSH2 0x2178 00000b4c: JUMP 00000b4d: JUMPDEST 00000b4e: PUSH32 0xfffffff800000000000000000000000000000000000000000000000000000000 00000b6f: PUSH1 0x00 00000b71: CALLDATALOAD 00000b72: PUSH1 0x01 00000b74: PUSH1 0x01 00000b76: PUSH1 0xe0 00000b78: SHL 00000b79: SUB 00000b7a: NOT 00000b7b: AND 00000b7c: ADD 00000b7d: PUSH2 0x0b88 00000b80: JUMPI 00000b81: PUSH2 0x09a3 00000b84: PUSH2 0x258e 00000b87: JUMP 00000b88: JUMPDEST 00000b89: PUSH32 0xfffffff700000000000000000000000000000000000000000000000000000000 00000baa: PUSH1 0x00 00000bac: CALLDATALOAD 00000bad: PUSH1 0x01 00000baf: PUSH1 0x01 00000bb1: PUSH1 0xe0 00000bb3: SHL 00000bb4: SUB 00000bb5: NOT 00000bb6: AND 00000bb7: ADD 00000bb8: PUSH2 0x0bc3 00000bbb: JUMPI 00000bbc: PUSH2 0x09a3 00000bbf: PUSH2 0x2771 00000bc2: JUMP 00000bc3: JUMPDEST 00000bc4: PUSH32 0xfffffff600000000000000000000000000000000000000000000000000000000 00000be5: PUSH1 0x00 00000be7: CALLDATALOAD 00000be8: PUSH1 0x01 00000bea: PUSH1 0x01 00000bec: PUSH1 0xe0 00000bee: SHL 00000bef: SUB 00000bf0: NOT 00000bf1: AND 00000bf2: ADD 00000bf3: PUSH2 0x09a3 00000bf6: JUMPI 00000bf7: NUMBER 00000bf8: CALLVALUE 00000bf9: LT 00000bfa: ISZERO 00000bfb: PUSH2 0x0c46 00000bfe: JUMPI 00000bff: PUSH1 0x40 00000c01: MLOAD 00000c02: PUSH3 0x461bcd 00000c06: PUSH1 0xe5 00000c08: SHL 00000c09: DUP2 00000c0a: MSTORE 00000c0b: PUSH1 0x20 00000c0d: PUSH1 0x04 00000c0f: DUP3 00000c10: ADD 00000c11: MSTORE 00000c12: PUSH1 0x01 00000c14: PUSH1 0x24 00000c16: DUP3 00000c17: ADD 00000c18: MSTORE 00000c19: PUSH32 0x5500000000000000000000000000000000000000000000000000000000000000 00000c3a: PUSH1 0x44 00000c3c: DUP3 00000c3d: ADD 00000c3e: MSTORE 00000c3f: PUSH1 0x64 00000c41: ADD 00000c42: PUSH2 0x01cc 00000c45: JUMP 00000c46: JUMPDEST 00000c47: PUSH2 0x0c4e 00000c4a: PUSH2 0x2771 00000c4d: JUMP 00000c4e: JUMPDEST 00000c4f: PUSH1 0x40 00000c51: MLOAD 00000c52: PUSH1 0x45 00000c54: CALLDATALOAD 00000c55: SWAP1 00000c56: COINBASE 00000c57: SWAP1 00000c58: DUP3 00000c59: ISZERO 00000c5a: PUSH2 0x08fc 00000c5d: MUL 00000c5e: SWAP1 00000c5f: DUP4 00000c60: SWAP1 00000c61: PUSH1 0x00 00000c63: DUP2 00000c64: DUP2 00000c65: DUP2 00000c66: DUP6 00000c67: DUP9 00000c68: DUP9 00000c69: CALL 00000c6a: SWAP4 00000c6b: POP 00000c6c: POP 00000c6d: POP 00000c6e: POP 00000c6f: ISZERO 00000c70: DUP1 00000c71: ISZERO 00000c72: PUSH2 0x0a2c 00000c75: JUMPI 00000c76: RETURNDATASIZE 00000c77: PUSH1 0x00 00000c79: DUP1 00000c7a: RETURNDATACOPY 00000c7b: RETURNDATASIZE 00000c7c: PUSH1 0x00 00000c7e: REVERT 00000c7f: JUMPDEST 00000c80: NUMBER 00000c81: CALLVALUE 00000c82: LT 00000c83: ISZERO 00000c84: PUSH2 0x0ccf 00000c87: JUMPI 00000c88: PUSH1 0x40 00000c8a: MLOAD 00000c8b: PUSH3 0x461bcd 00000c8f: PUSH1 0xe5 00000c91: SHL 00000c92: DUP2 00000c93: MSTORE 00000c94: PUSH1 0x20 00000c96: PUSH1 0x04 00000c98: DUP3 00000c99: ADD 00000c9a: MSTORE 00000c9b: PUSH1 0x01 00000c9d: PUSH1 0x24 00000c9f: DUP3 00000ca0: ADD 00000ca1: MSTORE 00000ca2: PUSH32 0x5500000000000000000000000000000000000000000000000000000000000000 00000cc3: PUSH1 0x44 00000cc5: DUP3 00000cc6: ADD 00000cc7: MSTORE 00000cc8: PUSH1 0x64 00000cca: ADD 00000ccb: PUSH2 0x01cc 00000cce: JUMP 00000ccf: JUMPDEST 00000cd0: PUSH1 0x00 00000cd2: DUP1 00000cd3: PUSH32 0xffffffef00000000000000000000000000000000000000000000000000000000 00000cf4: DUP2 00000cf5: CALLDATALOAD 00000cf6: PUSH1 0x01 00000cf8: PUSH1 0x01 00000cfa: PUSH1 0xe0 00000cfc: SHL 00000cfd: SUB 00000cfe: NOT 00000cff: AND 00000d00: ADD 00000d01: PUSH2 0x0d1c 00000d04: JUMPI 00000d05: PUSH1 0x6d 00000d07: CALLDATALOAD 00000d08: SWAP2 00000d09: POP 00000d0a: PUSH2 0x0d17 00000d0d: ADDRESS 00000d0e: PUSH1 0x01 00000d10: DUP1 00000d11: PUSH1 0x00 00000d13: PUSH2 0x299e 00000d16: JUMP 00000d17: JUMPDEST 00000d18: PUSH2 0x0f1f 00000d1b: JUMP 00000d1c: JUMPDEST 00000d1d: PUSH32 0xffffffee00000000000000000000000000000000000000000000000000000000 00000d3e: PUSH1 0x00 00000d40: CALLDATALOAD 00000d41: PUSH1 0x01 00000d43: PUSH1 0x01 00000d45: PUSH1 0xe0 00000d47: SHL 00000d48: SUB 00000d49: NOT 00000d4a: AND 00000d4b: ADD 00000d4c: PUSH2 0x0d63 00000d4f: JUMPI 00000d50: PUSH1 0x6d 00000d52: CALLDATALOAD 00000d53: SWAP2 00000d54: POP 00000d55: PUSH2 0x0d17 00000d58: ADDRESS 00000d59: PUSH1 0x00 00000d5b: PUSH1 0x01 00000d5d: PUSH1 0x00 00000d5f: PUSH2 0x299e 00000d62: JUMP 00000d63: JUMPDEST 00000d64: PUSH32 0xffffffed00000000000000000000000000000000000000000000000000000000 00000d85: PUSH1 0x00 00000d87: CALLDATALOAD 00000d88: PUSH1 0x01 00000d8a: PUSH1 0x01 00000d8c: PUSH1 0xe0 00000d8e: SHL 00000d8f: SUB 00000d90: NOT 00000d91: AND 00000d92: ADD 00000d93: PUSH2 0x0daf 00000d96: JUMPI 00000d97: POP 00000d98: POP 00000d99: PUSH1 0x81 00000d9b: CALLDATALOAD 00000d9c: PUSH1 0x6d 00000d9e: CALLDATALOAD 00000d9f: PUSH1 0x60 00000da1: SHR 00000da2: PUSH2 0x0d17 00000da5: DUP2 00000da6: PUSH1 0x01 00000da8: DUP1 00000da9: PUSH1 0x00 00000dab: PUSH2 0x299e 00000dae: JUMP 00000daf: JUMPDEST 00000db0: PUSH32 0xffffffec00000000000000000000000000000000000000000000000000000000 00000dd1: PUSH1 0x00 00000dd3: CALLDATALOAD 00000dd4: PUSH1 0x01 00000dd6: PUSH1 0x01 00000dd8: PUSH1 0xe0 00000dda: SHL 00000ddb: SUB 00000ddc: NOT 00000ddd: AND 00000dde: ADD 00000ddf: PUSH2 0x0dfb 00000de2: JUMPI 00000de3: POP 00000de4: POP 00000de5: PUSH1 0x81 00000de7: CALLDATALOAD 00000de8: PUSH1 0x6d 00000dea: CALLDATALOAD 00000deb: PUSH1 0x60 00000ded: SHR 00000dee: PUSH2 0x0d17 00000df1: DUP2 00000df2: PUSH1 0x00 00000df4: PUSH1 0x01 00000df6: DUP2 00000df7: PUSH2 0x299e 00000dfa: JUMP 00000dfb: JUMPDEST 00000dfc: PUSH32 0xffffffeb00000000000000000000000000000000000000000000000000000000 00000e1d: PUSH1 0x00 00000e1f: CALLDATALOAD 00000e20: PUSH1 0x01 00000e22: PUSH1 0x01 00000e24: PUSH1 0xe0 00000e26: SHL 00000e27: SUB 00000e28: NOT 00000e29: AND 00000e2a: ADD 00000e2b: PUSH2 0x0e41 00000e2e: JUMPI 00000e2f: PUSH1 0x6d 00000e31: CALLDATALOAD 00000e32: SWAP2 00000e33: POP 00000e34: PUSH2 0x0d17 00000e37: ADDRESS 00000e38: PUSH1 0x01 00000e3a: DUP1 00000e3b: PUSH1 0x01 00000e3d: PUSH2 0x299e 00000e40: JUMP 00000e41: JUMPDEST 00000e42: PUSH32 0xffffffea00000000000000000000000000000000000000000000000000000000 00000e63: PUSH1 0x00 00000e65: CALLDATALOAD 00000e66: PUSH1 0x01 00000e68: PUSH1 0x01 00000e6a: PUSH1 0xe0 00000e6c: SHL 00000e6d: SUB 00000e6e: NOT 00000e6f: AND 00000e70: ADD 00000e71: PUSH2 0x0e8c 00000e74: JUMPI 00000e75: POP 00000e76: POP 00000e77: PUSH1 0x81 00000e79: CALLDATALOAD 00000e7a: PUSH1 0x6d 00000e7c: CALLDATALOAD 00000e7d: PUSH1 0x60 00000e7f: SHR 00000e80: PUSH2 0x0d17 00000e83: DUP2 00000e84: PUSH1 0x01 00000e86: DUP1 00000e87: DUP1 00000e88: PUSH2 0x299e 00000e8b: JUMP 00000e8c: JUMPDEST 00000e8d: PUSH32 0xffffffe900000000000000000000000000000000000000000000000000000000 00000eae: PUSH1 0x00 00000eb0: CALLDATALOAD 00000eb1: PUSH1 0x01 00000eb3: PUSH1 0x01 00000eb5: PUSH1 0xe0 00000eb7: SHL 00000eb8: SUB 00000eb9: NOT 00000eba: AND 00000ebb: ADD 00000ebc: PUSH2 0x0ed3 00000ebf: JUMPI 00000ec0: PUSH1 0x6d 00000ec2: CALLDATALOAD 00000ec3: SWAP2 00000ec4: POP 00000ec5: PUSH2 0x0d17 00000ec8: ADDRESS 00000ec9: PUSH1 0x01 00000ecb: PUSH1 0x00 00000ecd: PUSH1 0x01 00000ecf: PUSH2 0x299e 00000ed2: JUMP 00000ed3: JUMPDEST 00000ed4: PUSH32 0xffffffe800000000000000000000000000000000000000000000000000000000 00000ef5: PUSH1 0x00 00000ef7: CALLDATALOAD 00000ef8: PUSH1 0x01 00000efa: PUSH1 0x01 00000efc: PUSH1 0xe0 00000efe: SHL 00000eff: SUB 00000f00: NOT 00000f01: AND 00000f02: ADD 00000f03: PUSH2 0x0f1f 00000f06: JUMPI 00000f07: POP 00000f08: POP 00000f09: PUSH1 0x81 00000f0b: CALLDATALOAD 00000f0c: PUSH1 0x6d 00000f0e: CALLDATALOAD 00000f0f: PUSH1 0x60 00000f11: SHR 00000f12: PUSH2 0x0f1f 00000f15: DUP2 00000f16: PUSH1 0x01 00000f18: PUSH1 0x00 00000f1a: DUP2 00000f1b: PUSH2 0x299e 00000f1e: JUMP 00000f1f: JUMPDEST 00000f20: DUP2 00000f21: ISZERO 00000f22: PUSH2 0x0a2c 00000f25: JUMPI 00000f26: PUSH1 0x40 00000f28: MLOAD 00000f29: COINBASE 00000f2a: SWAP1 00000f2b: DUP4 00000f2c: ISZERO 00000f2d: PUSH2 0x08fc 00000f30: MUL 00000f31: SWAP1 00000f32: DUP5 00000f33: SWAP1 00000f34: PUSH1 0x00 00000f36: DUP2 00000f37: DUP2 00000f38: DUP2 00000f39: DUP6 00000f3a: DUP9 00000f3b: DUP9 00000f3c: CALL 00000f3d: SWAP4 00000f3e: POP 00000f3f: POP 00000f40: POP 00000f41: POP 00000f42: ISZERO 00000f43: DUP1 00000f44: ISZERO 00000f45: PUSH2 0x0f52 00000f48: JUMPI 00000f49: RETURNDATASIZE 00000f4a: PUSH1 0x00 00000f4c: DUP1 00000f4d: RETURNDATACOPY 00000f4e: RETURNDATASIZE 00000f4f: PUSH1 0x00 00000f51: REVERT 00000f52: JUMPDEST 00000f53: POP 00000f54: POP 00000f55: POP 00000f56: JUMP 00000f57: JUMPDEST 00000f58: PUSH32 0xffffffde00000000000000000000000000000000000000000000000000000000 00000f79: PUSH1 0x00 00000f7b: CALLDATALOAD 00000f7c: PUSH1 0x01 00000f7e: PUSH1 0x01 00000f80: PUSH1 0xe0 00000f82: SHL 00000f83: SUB 00000f84: NOT 00000f85: AND 00000f86: ADD 00000f87: PUSH2 0x1013 00000f8a: JUMPI 00000f8b: NUMBER 00000f8c: CALLVALUE 00000f8d: LT 00000f8e: ISZERO 00000f8f: PUSH2 0x0fda 00000f92: JUMPI 00000f93: PUSH1 0x40 00000f95: MLOAD 00000f96: PUSH3 0x461bcd 00000f9a: PUSH1 0xe5 00000f9c: SHL 00000f9d: DUP2 00000f9e: MSTORE 00000f9f: PUSH1 0x20 00000fa1: PUSH1 0x04 00000fa3: DUP3 00000fa4: ADD 00000fa5: MSTORE 00000fa6: PUSH1 0x01 00000fa8: PUSH1 0x24 00000faa: DUP3 00000fab: ADD 00000fac: MSTORE 00000fad: PUSH32 0x5500000000000000000000000000000000000000000000000000000000000000 00000fce: PUSH1 0x44 00000fd0: DUP3 00000fd1: ADD 00000fd2: MSTORE 00000fd3: PUSH1 0x64 00000fd5: ADD 00000fd6: PUSH2 0x01cc 00000fd9: JUMP 00000fda: JUMPDEST 00000fdb: PUSH2 0x0fe2 00000fde: PUSH2 0x3456 00000fe1: JUMP 00000fe2: JUMPDEST 00000fe3: PUSH1 0x40 00000fe5: MLOAD 00000fe6: PUSH1 0xbc 00000fe8: CALLDATALOAD 00000fe9: SWAP1 00000fea: COINBASE 00000feb: SWAP1 00000fec: DUP3 00000fed: ISZERO 00000fee: PUSH2 0x08fc 00000ff1: MUL 00000ff2: SWAP1 00000ff3: DUP4 00000ff4: SWAP1 00000ff5: PUSH1 0x00 00000ff7: DUP2 00000ff8: DUP2 00000ff9: DUP2 00000ffa: DUP6 00000ffb: DUP9 00000ffc: DUP9 00000ffd: CALL 00000ffe: SWAP4 00000fff: POP 00001000: POP 00001001: POP 00001002: POP 00001003: ISZERO 00001004: DUP1 00001005: ISZERO 00001006: PUSH2 0x0a2c 00001009: JUMPI 0000100a: RETURNDATASIZE 0000100b: PUSH1 0x00 0000100d: DUP1 0000100e: RETURNDATACOPY 0000100f: RETURNDATASIZE 00001010: PUSH1 0x00 00001012: REVERT 00001013: JUMPDEST 00001014: PUSH32 0xffffffdf00000000000000000000000000000000000000000000000000000000 00001035: PUSH1 0x00 00001037: CALLDATALOAD 00001038: PUSH1 0x01 0000103a: PUSH1 0x01 0000103c: PUSH1 0xe0 0000103e: SHL 0000103f: SUB 00001040: NOT 00001041: AND 00001042: ADD 00001043: PUSH2 0x09a3 00001046: JUMPI 00001047: PUSH2 0x09a3 0000104a: PUSH2 0x3456 0000104d: JUMP 0000104e: JUMPDEST 0000104f: PUSH32 0xffffffcf00000000000000000000000000000000000000000000000000000000 00001070: PUSH1 0x00 00001072: CALLDATALOAD 00001073: PUSH1 0x01 00001075: PUSH1 0x01 00001077: PUSH1 0xe0 00001079: SHL 0000107a: SUB 0000107b: NOT 0000107c: AND 0000107d: ADD 0000107e: PUSH2 0x1089 00001081: JUMPI 00001082: PUSH2 0x09a3 00001085: PUSH2 0x3559 00001088: JUMP 00001089: JUMPDEST 0000108a: PUSH32 0xffffffce00000000000000000000000000000000000000000000000000000000 000010ab: PUSH1 0x00 000010ad: CALLDATALOAD 000010ae: PUSH1 0x01 000010b0: PUSH1 0x01 000010b2: PUSH1 0xe0 000010b4: SHL 000010b5: SUB 000010b6: NOT 000010b7: AND 000010b8: ADD 000010b9: PUSH2 0x10c4 000010bc: JUMPI 000010bd: PUSH2 0x09a3 000010c0: PUSH2 0x35c3 000010c3: JUMP 000010c4: JUMPDEST 000010c5: PUSH32 0xffffffcd00000000000000000000000000000000000000000000000000000000 000010e6: PUSH1 0x00 000010e8: CALLDATALOAD 000010e9: PUSH1 0x01 000010eb: PUSH1 0x01 000010ed: PUSH1 0xe0 000010ef: SHL 000010f0: SUB 000010f1: NOT 000010f2: AND 000010f3: ADD 000010f4: PUSH2 0x10ff 000010f7: JUMPI 000010f8: PUSH2 0x09a3 000010fb: PUSH2 0x3641 000010fe: JUMP 000010ff: JUMPDEST 00001100: PUSH32 0xffffffcc00000000000000000000000000000000000000000000000000000000 00001121: PUSH1 0x00 00001123: CALLDATALOAD 00001124: PUSH1 0x01 00001126: PUSH1 0x01 00001128: PUSH1 0xe0 0000112a: SHL 0000112b: SUB 0000112c: NOT 0000112d: AND 0000112e: ADD 0000112f: PUSH2 0x113a 00001132: JUMPI 00001133: PUSH2 0x09a3 00001136: PUSH2 0x36ca 00001139: JUMP 0000113a: JUMPDEST 0000113b: PUSH32 0xffffffcb00000000000000000000000000000000000000000000000000000000 0000115c: PUSH1 0x00 0000115e: CALLDATALOAD 0000115f: PUSH1 0x01 00001161: PUSH1 0x01 00001163: PUSH1 0xe0 00001165: SHL 00001166: SUB 00001167: NOT 00001168: AND 00001169: ADD 0000116a: PUSH2 0x1175 0000116d: JUMPI 0000116e: PUSH2 0x09a3 00001171: PUSH2 0x37df 00001174: JUMP 00001175: JUMPDEST 00001176: PUSH32 0xffffffca00000000000000000000000000000000000000000000000000000000 00001197: PUSH1 0x00 00001199: CALLDATALOAD 0000119a: PUSH1 0x01 0000119c: PUSH1 0x01 0000119e: PUSH1 0xe0 000011a0: SHL 000011a1: SUB 000011a2: NOT 000011a3: AND 000011a4: ADD 000011a5: PUSH2 0x09a3 000011a8: JUMPI 000011a9: PUSH2 0x09a3 000011ac: PUSH2 0x392b 000011af: JUMP 000011b0: JUMPDEST 000011b1: PUSH32 0xffffffbf00000000000000000000000000000000000000000000000000000000 000011d2: PUSH1 0x00 000011d4: CALLDATALOAD 000011d5: PUSH1 0x01 000011d7: PUSH1 0x01 000011d9: PUSH1 0xe0 000011db: SHL 000011dc: SUB 000011dd: NOT 000011de: AND 000011df: ADD 000011e0: PUSH2 0x11eb 000011e3: JUMPI 000011e4: PUSH2 0x09a3 000011e7: PUSH2 0x3a5f 000011ea: JUMP 000011eb: JUMPDEST 000011ec: PUSH32 0xffffffbd00000000000000000000000000000000000000000000000000000000 0000120d: PUSH1 0x00 0000120f: CALLDATALOAD 00001210: PUSH1 0x01 00001212: PUSH1 0x01 00001214: PUSH1 0xe0 00001216: SHL 00001217: SUB 00001218: NOT 00001219: AND 0000121a: ADD 0000121b: PUSH2 0x1226 0000121e: JUMPI 0000121f: PUSH2 0x09a3 00001222: PUSH2 0x3b36 00001225: JUMP 00001226: JUMPDEST 00001227: PUSH32 0xffffffbe00000000000000000000000000000000000000000000000000000000 00001248: PUSH1 0x00 0000124a: CALLDATALOAD 0000124b: PUSH1 0x01 0000124d: PUSH1 0x01 0000124f: PUSH1 0xe0 00001251: SHL 00001252: SUB 00001253: NOT 00001254: AND 00001255: ADD 00001256: PUSH2 0x1261 00001259: JUMPI 0000125a: PUSH2 0x09a3 0000125d: PUSH2 0x3b8c 00001260: JUMP 00001261: JUMPDEST 00001262: PUSH32 0xffffffbc00000000000000000000000000000000000000000000000000000000 00001283: PUSH1 0x00 00001285: CALLDATALOAD 00001286: PUSH1 0x01 00001288: PUSH1 0x01 0000128a: PUSH1 0xe0 0000128c: SHL 0000128d: SUB 0000128e: NOT 0000128f: AND 00001290: ADD 00001291: PUSH2 0x129c 00001294: JUMPI 00001295: PUSH2 0x09a3 00001298: PUSH2 0x3d73 0000129b: JUMP 0000129c: JUMPDEST 0000129d: PUSH32 0xffffffb800000000000000000000000000000000000000000000000000000000 000012be: PUSH1 0x00 000012c0: CALLDATALOAD 000012c1: PUSH1 0x01 000012c3: PUSH1 0x01 000012c5: PUSH1 0xe0 000012c7: SHL 000012c8: SUB 000012c9: NOT 000012ca: AND 000012cb: ADD 000012cc: PUSH2 0x1303 000012cf: JUMPI 000012d0: PUSH2 0x09a3 000012d3: PUSH1 0x00 000012d5: DUP1 000012d6: SLOAD 000012d7: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000012f8: AND 000012f9: PUSH1 0x04 000012fb: CALLDATALOAD 000012fc: PUSH1 0x60 000012fe: SHR 000012ff: OR 00001300: SWAP1 00001301: SSTORE 00001302: JUMP 00001303: JUMPDEST 00001304: PUSH32 0xffffffb700000000000000000000000000000000000000000000000000000000 00001325: PUSH1 0x00 00001327: CALLDATALOAD 00001328: PUSH1 0x01 0000132a: PUSH1 0x01 0000132c: PUSH1 0xe0 0000132e: SHL 0000132f: SUB 00001330: NOT 00001331: AND 00001332: ADD 00001333: PUSH2 0x133e 00001336: JUMPI 00001337: PUSH2 0x09a3 0000133a: PUSH2 0x3eab 0000133d: JUMP 0000133e: JUMPDEST 0000133f: PUSH32 0xffffffb600000000000000000000000000000000000000000000000000000000 00001360: PUSH1 0x00 00001362: CALLDATALOAD 00001363: PUSH1 0x01 00001365: PUSH1 0x01 00001367: PUSH1 0xe0 00001369: SHL 0000136a: SUB 0000136b: NOT 0000136c: AND 0000136d: ADD 0000136e: PUSH2 0x09a3 00001371: JUMPI 00001372: PUSH2 0x09a3 00001375: PUSH1 0x01 00001377: PUSH1 0x01 00001379: PUSH1 0xe0 0000137b: SHL 0000137c: SUB 0000137d: NOT 0000137e: PUSH1 0x04 00001380: CALLDATALOAD 00001381: AND 00001382: PUSH1 0x00 00001384: SWAP1 00001385: DUP2 00001386: MSTORE 00001387: PUSH1 0x01 00001389: PUSH1 0x20 0000138b: MSTORE 0000138c: PUSH1 0x40 0000138e: SWAP1 0000138f: KECCAK256 00001390: DUP1 00001391: SLOAD 00001392: PUSH32 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 000013b3: AND 000013b4: PUSH1 0x08 000013b6: CALLDATALOAD 000013b7: PUSH1 0x60 000013b9: SHR 000013ba: OR 000013bb: SWAP1 000013bc: SSTORE 000013bd: JUMP 000013be: JUMPDEST 000013bf: PUSH32 0x2cb7866900000000000000000000000000000000000000000000000000000000 000013e0: PUSH1 0x00 000013e2: CALLDATALOAD 000013e3: PUSH1 0x01 000013e5: PUSH1 0x01 000013e7: PUSH1 0xe0 000013e9: SHL 000013ea: SUB 000013eb: NOT 000013ec: AND 000013ed: ADD 000013ee: PUSH2 0x13f9 000013f1: JUMPI 000013f2: PUSH2 0x09a3 000013f5: PUSH2 0x3f37 000013f8: JUMP 000013f9: JUMPDEST 000013fa: PUSH32 0xe9d9458200000000000000000000000000000000000000000000000000000000 0000141b: PUSH1 0x00 0000141d: CALLDATALOAD 0000141e: PUSH1 0x01 00001420: PUSH1 0x01 00001422: PUSH1 0xe0 00001424: SHL 00001425: SUB 00001426: NOT 00001427: AND 00001428: ADD 00001429: PUSH2 0x1434 0000142c: JUMPI 0000142d: PUSH2 0x09a3 00001430: PUSH2 0x4128 00001433: JUMP 00001434: JUMPDEST 00001435: PUSH2 0x09a3 00001438: PUSH2 0x41c9 0000143b: JUMP 0000143c: JUMPDEST 0000143d: NUMBER 0000143e: CALLVALUE 0000143f: LT 00001440: ISZERO 00001441: PUSH2 0x148c 00001444: JUMPI 00001445: PUSH1 0x40 00001447: MLOAD 00001448: PUSH3 0x461bcd 0000144c: PUSH1 0xe5 0000144e: SHL 0000144f: DUP2 00001450: MSTORE 00001451: PUSH1 0x20 00001453: PUSH1 0x04 00001455: DUP3 00001456: ADD 00001457: MSTORE 00001458: PUSH1 0x01 0000145a: PUSH1 0x24 0000145c: DUP3 0000145d: ADD 0000145e: MSTORE 0000145f: PUSH32 0x5500000000000000000000000000000000000000000000000000000000000000 00001480: PUSH1 0x44 00001482: DUP3 00001483: ADD 00001484: MSTORE 00001485: PUSH1 0x64 00001487: ADD 00001488: PUSH2 0x01cc 0000148b: JUMP 0000148c: JUMPDEST 0000148d: PUSH1 0x04 0000148f: CALLDATALOAD 00001490: PUSH1 0x24 00001492: DUP1 00001493: CALLDATALOAD 00001494: PUSH1 0x60 00001496: SWAP1 00001497: DUP2 00001498: SHR 00001499: SWAP2 0000149a: PUSH1 0x38 0000149c: CALLDATALOAD 0000149d: SWAP1 0000149e: SWAP2 0000149f: SHR 000014a0: SWAP1 000014a1: PUSH1 0x4c 000014a3: CALLDATALOAD 000014a4: PUSH1 0xe8 000014a6: SHR 000014a7: SWAP1 000014a8: PUSH1 0x4f 000014aa: CALLDATALOAD 000014ab: SWAP1 000014ac: PUSH1 0x2b 000014ae: DUP5 000014af: DUP7 000014b0: LT 000014b1: ISZERO 000014b2: PUSH2 0x1690 000014b5: JUMPI 000014b6: PUSH1 0x40 000014b8: DUP1 000014b9: MLOAD 000014ba: PUSH1 0x01 000014bc: PUSH1 0x01 000014be: PUSH1 0xa0 000014c0: SHL 000014c1: SUB 000014c2: DUP1 000014c3: DUP10 000014c4: AND 000014c5: PUSH1 0x20 000014c7: DUP4 000014c8: ADD 000014c9: MSTORE 000014ca: DUP8 000014cb: AND 000014cc: SWAP2 000014cd: DUP2 000014ce: ADD 000014cf: SWAP2 000014d0: SWAP1 000014d1: SWAP2 000014d2: MSTORE 000014d3: PUSH3 0xffffff 000014d7: DUP6 000014d8: AND 000014d9: PUSH1 0x60 000014db: DUP3 000014dc: ADD 000014dd: MSTORE 000014de: PUSH1 0x00 000014e0: SWAP1 000014e1: PUSH1 0x80 000014e3: ADD 000014e4: PUSH1 0x40 000014e6: DUP1 000014e7: MLOAD 000014e8: PUSH1 0x1f 000014ea: NOT 000014eb: DUP2 000014ec: DUP5 000014ed: SUB 000014ee: ADD 000014ef: DUP2 000014f0: MSTORE 000014f1: SWAP1 000014f2: DUP3 000014f3: SWAP1 000014f4: MSTORE 000014f5: DUP1 000014f6: MLOAD 000014f7: PUSH1 0x20 000014f9: SWAP2 000014fa: DUP3 000014fb: ADD 000014fc: KECCAK256 000014fd: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000 0000151e: SWAP2 0000151f: DUP4 00001520: ADD 00001521: SWAP2 00001522: SWAP1 00001523: SWAP2 00001524: MSTORE 00001525: PUSH1 0x35 00001527: DUP3 00001528: ADD 00001529: MSTORE 0000152a: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54 0000154b: PUSH1 0x55 0000154d: DUP3 0000154e: ADD 0000154f: MSTORE 00001550: PUSH1 0x75 00001552: ADD 00001553: PUSH1 0x40 00001555: DUP1 00001556: MLOAD 00001557: PUSH1 0x1f 00001559: NOT 0000155a: DUP2 0000155b: DUP5 0000155c: SUB 0000155d: ADD 0000155e: DUP2 0000155f: MSTORE 00001560: SWAP1 00001561: DUP3 00001562: SWAP1 00001563: MSTORE 00001564: DUP1 00001565: MLOAD 00001566: PUSH1 0x20 00001568: SWAP1 00001569: SWAP2 0000156a: ADD 0000156b: KECCAK256 0000156c: PUSH32 0x128acb0800000000000000000000000000000000000000000000000000000000 0000158d: DUP3 0000158e: MSTORE 0000158f: SWAP2 00001590: POP 00001591: PUSH1 0x00 00001593: SWAP1 00001594: DUP2 00001595: SWAP1 00001596: PUSH1 0x01 00001598: PUSH1 0x01 0000159a: PUSH1 0xa0 0000159c: SHL 0000159d: SUB 0000159e: DUP5 0000159f: AND 000015a0: SWAP1 000015a1: PUSH4 0x128acb08 000015a6: SWAP1 000015a7: PUSH2 0x15c4 000015aa: SWAP1 000015ab: ADDRESS 000015ac: SWAP1 000015ad: PUSH1 0x01 000015af: SWAP1 000015b0: DUP16 000015b1: SWAP1 000015b2: PUSH5 0x01000276a4 000015b8: SWAP1 000015b9: DUP13 000015ba: SWAP1 000015bb: DUP13 000015bc: SWAP1 000015bd: PUSH1 0x04 000015bf: ADD 000015c0: PUSH2 0x46a3 000015c3: JUMP 000015c4: JUMPDEST 000015c5: PUSH1 0x40 000015c7: DUP1 000015c8: MLOAD 000015c9: DUP1 000015ca: DUP4 000015cb: SUB 000015cc: DUP2 000015cd: PUSH1 0x00 000015cf: DUP8 000015d0: GAS 000015d1: CALL 000015d2: ISZERO 000015d3: DUP1 000015d4: ISZERO 000015d5: PUSH2 0x15e2 000015d8: JUMPI 000015d9: RETURNDATASIZE 000015da: PUSH1 0x00 000015dc: DUP1 000015dd: RETURNDATACOPY 000015de: RETURNDATASIZE 000015df: PUSH1 0x00 000015e1: REVERT 000015e2: JUMPDEST 000015e3: POP 000015e4: POP 000015e5: POP 000015e6: POP 000015e7: PUSH1 0x40 000015e9: MLOAD 000015ea: RETURNDATASIZE 000015eb: PUSH1 0x1f 000015ed: NOT 000015ee: PUSH1 0x1f 000015f0: DUP3 000015f1: ADD 000015f2: AND 000015f3: DUP3 000015f4: ADD 000015f5: DUP1 000015f6: PUSH1 0x40 000015f8: MSTORE 000015f9: POP 000015fa: DUP2 000015fb: ADD 000015fc: SWAP1 000015fd: PUSH2 0x1606 00001600: SWAP2 00001601: SWAP1 00001602: PUSH2 0x4700 00001605: JUMP 00001606: JUMPDEST 00001607: SWAP2 00001608: POP 00001609: SWAP2 0000160a: POP 0000160b: PUSH1 0x00 0000160d: DUP11 0000160e: SGT 0000160f: ISZERO 00001610: PUSH2 0x1654 00001613: JUMPI 00001614: DUP6 00001615: PUSH2 0x161d 00001618: DUP3 00001619: PUSH2 0x4753 0000161c: JUMP 0000161d: JUMPDEST 0000161e: LT 0000161f: ISZERO 00001620: PUSH2 0x164f 00001623: JUMPI 00001624: PUSH1 0x40 00001626: MLOAD 00001627: PUSH3 0x461bcd 0000162b: PUSH1 0xe5 0000162d: SHL 0000162e: DUP2 0000162f: MSTORE 00001630: PUSH1 0x20 00001632: PUSH1 0x04 00001634: DUP3 00001635: ADD 00001636: MSTORE 00001637: PUSH1 0x01 00001639: PUSH1 0x24 0000163b: DUP3 0000163c: ADD 0000163d: MSTORE 0000163e: PUSH1 0x53 00001640: PUSH1 0xf8 00001642: SHL 00001643: PUSH1 0x44 00001645: DUP3 00001646: ADD 00001647: MSTORE 00001648: PUSH1 0x64 0000164a: ADD 0000164b: PUSH2 0x01cc 0000164e: JUMP 0000164f: JUMPDEST 00001650: PUSH2 0x1688 00001653: JUMP 00001654: JUMPDEST 00001655: DUP6 00001656: DUP3 00001657: GT 00001658: ISZERO 00001659: PUSH2 0x1688 0000165c: JUMPI 0000165d: PUSH1 0x40 0000165f: MLOAD 00001660: PUSH3 0x461bcd 00001664: PUSH1 0xe5 00001666: SHL 00001667: DUP2 00001668: MSTORE 00001669: PUSH1 0x20 0000166b: PUSH1 0x04 0000166d: DUP3 0000166e: ADD 0000166f: MSTORE 00001670: PUSH1 0x01 00001672: PUSH1 0x24 00001674: DUP3 00001675: ADD 00001676: MSTORE 00001677: PUSH1 0x53 00001679: PUSH1 0xf8 0000167b: SHL 0000167c: PUSH1 0x44 0000167e: DUP3 0000167f: ADD 00001680: MSTORE 00001681: PUSH1 0x64 00001683: ADD 00001684: PUSH2 0x01cc 00001687: JUMP 00001688: JUMPDEST 00001689: POP 0000168a: POP 0000168b: POP 0000168c: PUSH2 0x1875 0000168f: JUMP 00001690: JUMPDEST 00001691: PUSH1 0x40 00001693: DUP1 00001694: MLOAD 00001695: PUSH1 0x01 00001697: PUSH1 0x01 00001699: PUSH1 0xa0 0000169b: SHL 0000169c: SUB 0000169d: DUP1 0000169e: DUP9 0000169f: AND 000016a0: PUSH1 0x20 000016a2: DUP4 000016a3: ADD 000016a4: MSTORE 000016a5: DUP9 000016a6: AND 000016a7: SWAP2 000016a8: DUP2 000016a9: ADD 000016aa: SWAP2 000016ab: SWAP1 000016ac: SWAP2 000016ad: MSTORE 000016ae: PUSH3 0xffffff 000016b2: DUP6 000016b3: AND 000016b4: PUSH1 0x60 000016b6: DUP3 000016b7: ADD 000016b8: MSTORE 000016b9: PUSH1 0x00 000016bb: SWAP1 000016bc: PUSH1 0x80 000016be: ADD 000016bf: PUSH1 0x40 000016c1: DUP1 000016c2: MLOAD 000016c3: PUSH1 0x1f 000016c5: NOT 000016c6: DUP2 000016c7: DUP5 000016c8: SUB 000016c9: ADD 000016ca: DUP2 000016cb: MSTORE 000016cc: SWAP1 000016cd: DUP3 000016ce: SWAP1 000016cf: MSTORE 000016d0: DUP1 000016d1: MLOAD 000016d2: PUSH1 0x20 000016d4: SWAP2 000016d5: DUP3 000016d6: ADD 000016d7: KECCAK256 000016d8: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000 000016f9: SWAP2 000016fa: DUP4 000016fb: ADD 000016fc: SWAP2 000016fd: SWAP1 000016fe: SWAP2 000016ff: MSTORE 00001700: PUSH1 0x35 00001702: DUP3 00001703: ADD 00001704: MSTORE 00001705: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54 00001726: PUSH1 0x55 00001728: DUP3 00001729: ADD 0000172a: MSTORE 0000172b: PUSH1 0x75 0000172d: ADD 0000172e: PUSH1 0x40 00001730: DUP1 00001731: MLOAD 00001732: PUSH1 0x1f 00001734: NOT 00001735: DUP2 00001736: DUP5 00001737: SUB 00001738: ADD 00001739: DUP2 0000173a: MSTORE 0000173b: SWAP1 0000173c: DUP3 0000173d: SWAP1 0000173e: MSTORE 0000173f: DUP1 00001740: MLOAD 00001741: PUSH1 0x20 00001743: SWAP1 00001744: SWAP2 00001745: ADD 00001746: KECCAK256 00001747: PUSH32 0x128acb0800000000000000000000000000000000000000000000000000000000 00001768: DUP3 00001769: MSTORE 0000176a: SWAP2 0000176b: POP 0000176c: PUSH1 0x00 0000176e: SWAP1 0000176f: DUP2 00001770: SWAP1 00001771: PUSH1 0x01 00001773: PUSH1 0x01 00001775: PUSH1 0xa0 00001777: SHL 00001778: SUB 00001779: DUP5 0000177a: AND 0000177b: SWAP1 0000177c: PUSH4 0x128acb08 00001781: SWAP1 00001782: PUSH2 0x17ad 00001785: SWAP1 00001786: ADDRESS 00001787: SWAP1 00001788: DUP6 00001789: SWAP1 0000178a: DUP16 0000178b: SWAP1 0000178c: PUSH20 0xfffd8963efd1fc6a506488495d951d5263988d25 000017a1: SWAP1 000017a2: DUP13 000017a3: SWAP1 000017a4: DUP13 000017a5: SWAP1 000017a6: PUSH1 0x04 000017a8: ADD 000017a9: PUSH2 0x46a3 000017ac: JUMP 000017ad: JUMPDEST 000017ae: PUSH1 0x40 000017b0: DUP1 000017b1: MLOAD 000017b2: DUP1 000017b3: DUP4 000017b4: SUB 000017b5: DUP2 000017b6: PUSH1 0x00 000017b8: DUP8 000017b9: GAS 000017ba: CALL 000017bb: ISZERO 000017bc: DUP1 000017bd: ISZERO 000017be: PUSH2 0x17cb 000017c1: JUMPI 000017c2: RETURNDATASIZE 000017c3: PUSH1 0x00 000017c5: DUP1 000017c6: RETURNDATACOPY 000017c7: RETURNDATASIZE 000017c8: PUSH1 0x00 000017ca: REVERT 000017cb: JUMPDEST 000017cc: POP 000017cd: POP 000017ce: POP 000017cf: POP 000017d0: PUSH1 0x40 000017d2: MLOAD 000017d3: RETURNDATASIZE 000017d4: PUSH1 0x1f 000017d6: NOT 000017d7: PUSH1 0x1f 000017d9: DUP3 000017da: ADD 000017db: AND 000017dc: DUP3 000017dd: ADD 000017de: DUP1 000017df: PUSH1 0x40 000017e1: MSTORE 000017e2: POP 000017e3: DUP2 000017e4: ADD 000017e5: SWAP1 000017e6: PUSH2 0x17ef 000017e9: SWAP2 000017ea: SWAP1 000017eb: PUSH2 0x4700 000017ee: JUMP 000017ef: JUMPDEST 000017f0: SWAP2 000017f1: POP 000017f2: SWAP2 000017f3: POP 000017f4: PUSH1 0x00 000017f6: DUP11 000017f7: SGT 000017f8: ISZERO 000017f9: PUSH2 0x183d 000017fc: JUMPI 000017fd: DUP6 000017fe: PUSH2 0x1806 00001801: DUP4 00001802: PUSH2 0x4753 00001805: JUMP 00001806: JUMPDEST 00001807: LT 00001808: ISZERO 00001809: PUSH2 0x1838 0000180c: JUMPI 0000180d: PUSH1 0x40 0000180f: MLOAD 00001810: PUSH3 0x461bcd 00001814: PUSH1 0xe5 00001816: SHL 00001817: DUP2 00001818: MSTORE 00001819: PUSH1 0x20 0000181b: PUSH1 0x04 0000181d: DUP3 0000181e: ADD 0000181f: MSTORE 00001820: PUSH1 0x01 00001822: PUSH1 0x24 00001824: DUP3 00001825: ADD 00001826: MSTORE 00001827: PUSH1 0x53 00001829: PUSH1 0xf8 0000182b: SHL 0000182c: PUSH1 0x44 0000182e: DUP3 0000182f: ADD 00001830: MSTORE 00001831: PUSH1 0x64 00001833: ADD 00001834: PUSH2 0x01cc 00001837: JUMP 00001838: JUMPDEST 00001839: PUSH2 0x1871 0000183c: JUMP 0000183d: JUMPDEST 0000183e: DUP6 0000183f: DUP2 00001840: GT 00001841: ISZERO 00001842: PUSH2 0x1871 00001845: JUMPI 00001846: PUSH1 0x40 00001848: MLOAD 00001849: PUSH3 0x461bcd 0000184d: PUSH1 0xe5 0000184f: SHL 00001850: DUP2 00001851: MSTORE 00001852: PUSH1 0x20 00001854: PUSH1 0x04 00001856: DUP3 00001857: ADD 00001858: MSTORE 00001859: PUSH1 0x01 0000185b: PUSH1 0x24 0000185d: DUP3 0000185e: ADD 0000185f: MSTORE 00001860: PUSH1 0x53 00001862: PUSH1 0xf8 00001864: SHL 00001865: PUSH1 0x44 00001867: DUP3 00001868: ADD 00001869: MSTORE 0000186a: PUSH1 0x64 0000186c: ADD 0000186d: PUSH2 0x01cc 00001870: JUMP 00001871: JUMPDEST 00001872: POP 00001873: POP 00001874: POP 00001875: JUMPDEST 00001876: POP 00001877: POP 00001878: POP 00001879: POP 0000187a: POP 0000187b: POP 0000187c: POP 0000187d: JUMP 0000187e: JUMPDEST 0000187f: PUSH1 0x04 00001881: CALLDATALOAD 00001882: PUSH1 0x24 00001884: DUP1 00001885: CALLDATALOAD 00001886: PUSH1 0x60 00001888: SWAP1 00001889: DUP2 0000188a: SHR 0000188b: SWAP2 0000188c: PUSH1 0x38 0000188e: CALLDATALOAD 0000188f: DUP3 00001890: SHR 00001891: SWAP2 00001892: PUSH1 0x4c 00001894: CALLDATALOAD 00001895: PUSH1 0xe8 00001897: SHR 00001898: SWAP2 00001899: PUSH1 0x4f 0000189b: CALLDATALOAD 0000189c: SWAP1 0000189d: SWAP2 0000189e: SHR 0000189f: SWAP1 000018a0: PUSH1 0x63 000018a2: CALLDATALOAD 000018a3: SWAP1 000018a4: PUSH1 0x2b 000018a6: DUP6 000018a7: DUP8 000018a8: LT 000018a9: ISZERO 000018aa: PUSH2 0x1afc 000018ad: JUMPI 000018ae: PUSH1 0x40 000018b0: DUP1 000018b1: MLOAD 000018b2: PUSH1 0x01 000018b4: PUSH1 0x01 000018b6: PUSH1 0xa0 000018b8: SHL 000018b9: SUB 000018ba: DUP1 000018bb: DUP11 000018bc: AND 000018bd: PUSH1 0x20 000018bf: DUP4 000018c0: ADD 000018c1: MSTORE 000018c2: DUP9 000018c3: AND 000018c4: SWAP2 000018c5: DUP2 000018c6: ADD 000018c7: SWAP2 000018c8: SWAP1 000018c9: SWAP2 000018ca: MSTORE 000018cb: PUSH3 0xffffff 000018cf: DUP7 000018d0: AND 000018d1: PUSH1 0x60 000018d3: DUP3 000018d4: ADD 000018d5: MSTORE 000018d6: PUSH1 0x00 000018d8: SWAP1 000018d9: PUSH1 0x80 000018db: ADD 000018dc: PUSH1 0x40 000018de: DUP1 000018df: MLOAD 000018e0: PUSH1 0x1f 000018e2: NOT 000018e3: DUP2 000018e4: DUP5 000018e5: SUB 000018e6: ADD 000018e7: DUP2 000018e8: MSTORE 000018e9: SWAP1 000018ea: DUP3 000018eb: SWAP1 000018ec: MSTORE 000018ed: DUP1 000018ee: MLOAD 000018ef: PUSH1 0x20 000018f1: SWAP2 000018f2: DUP3 000018f3: ADD 000018f4: KECCAK256 000018f5: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000 00001916: SWAP2 00001917: DUP4 00001918: ADD 00001919: SWAP2 0000191a: SWAP1 0000191b: SWAP2 0000191c: MSTORE 0000191d: PUSH1 0x35 0000191f: DUP3 00001920: ADD 00001921: MSTORE 00001922: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54 00001943: PUSH1 0x55 00001945: DUP3 00001946: ADD 00001947: MSTORE 00001948: PUSH1 0x75 0000194a: ADD 0000194b: PUSH1 0x40 0000194d: MLOAD 0000194e: PUSH1 0x20 00001950: DUP2 00001951: DUP4 00001952: SUB 00001953: SUB 00001954: DUP2 00001955: MSTORE 00001956: SWAP1 00001957: PUSH1 0x40 00001959: MSTORE 0000195a: DUP1 0000195b: MLOAD 0000195c: SWAP1 0000195d: PUSH1 0x20 0000195f: ADD 00001960: KECCAK256 00001961: PUSH1 0x00 00001963: SHR 00001964: SWAP1 00001965: POP 00001966: PUSH1 0x00 00001968: DUP2 00001969: PUSH1 0x01 0000196b: PUSH1 0x01 0000196d: PUSH1 0xa0 0000196f: SHL 00001970: SUB 00001971: AND 00001972: PUSH4 0x3850c7bd 00001977: PUSH1 0x40 00001979: MLOAD 0000197a: DUP2 0000197b: PUSH4 0xffffffff 00001980: AND 00001981: PUSH1 0xe0 00001983: SHL 00001984: DUP2 00001985: MSTORE 00001986: PUSH1 0x04 00001988: ADD 00001989: PUSH1 0xe0 0000198b: PUSH1 0x40 0000198d: MLOAD 0000198e: DUP1 0000198f: DUP4 00001990: SUB 00001991: DUP2 00001992: DUP7 00001993: GAS 00001994: STATICCALL 00001995: ISZERO 00001996: DUP1 00001997: ISZERO 00001998: PUSH2 0x19a5 0000199b: JUMPI 0000199c: RETURNDATASIZE 0000199d: PUSH1 0x00 0000199f: DUP1 000019a0: RETURNDATACOPY 000019a1: RETURNDATASIZE 000019a2: PUSH1 0x00 000019a4: REVERT 000019a5: JUMPDEST 000019a6: POP 000019a7: POP 000019a8: POP 000019a9: POP 000019aa: PUSH1 0x40 000019ac: MLOAD 000019ad: RETURNDATASIZE 000019ae: PUSH1 0x1f 000019b0: NOT 000019b1: PUSH1 0x1f 000019b3: DUP3 000019b4: ADD 000019b5: AND 000019b6: DUP3 000019b7: ADD 000019b8: DUP1 000019b9: PUSH1 0x40 000019bb: MSTORE 000019bc: POP 000019bd: DUP2 000019be: ADD 000019bf: SWAP1 000019c0: PUSH2 0x19c9 000019c3: SWAP2 000019c4: SWAP1 000019c5: PUSH2 0x47ba 000019c8: JUMP 000019c9: JUMPDEST 000019ca: POP 000019cb: POP 000019cc: POP 000019cd: POP 000019ce: POP 000019cf: POP 000019d0: SWAP1 000019d1: POP 000019d2: DUP1 000019d3: PUSH1 0x01 000019d5: PUSH1 0x01 000019d7: PUSH1 0xa0 000019d9: SHL 000019da: SUB 000019db: AND 000019dc: DUP7 000019dd: PUSH1 0x01 000019df: PUSH1 0x01 000019e1: PUSH1 0xa0 000019e3: SHL 000019e4: SUB 000019e5: AND 000019e6: GT 000019e7: ISZERO 000019e8: PUSH2 0x19f0 000019eb: JUMPI 000019ec: PUSH1 0x00 000019ee: DUP1 000019ef: REVERT 000019f0: JUMPDEST 000019f1: PUSH1 0x00 000019f3: DUP1 000019f4: DUP4 000019f5: PUSH1 0x01 000019f7: PUSH1 0x01 000019f9: PUSH1 0xa0 000019fb: SHL 000019fc: SUB 000019fd: AND 000019fe: PUSH4 0x128acb08 00001a03: ADDRESS 00001a04: PUSH1 0x01 00001a06: DUP16 00001a07: PUSH5 0x01000276a4 00001a0d: DUP12 00001a0e: DUP12 00001a0f: PUSH1 0x40 00001a11: MLOAD 00001a12: DUP8 00001a13: PUSH4 0xffffffff 00001a18: AND 00001a19: PUSH1 0xe0 00001a1b: SHL 00001a1c: DUP2 00001a1d: MSTORE 00001a1e: PUSH1 0x04 00001a20: ADD 00001a21: PUSH2 0x1a2f 00001a24: SWAP7 00001a25: SWAP6 00001a26: SWAP5 00001a27: SWAP4 00001a28: SWAP3 00001a29: SWAP2 00001a2a: SWAP1 00001a2b: PUSH2 0x46a3 00001a2e: JUMP 00001a2f: JUMPDEST 00001a30: PUSH1 0x40 00001a32: DUP1 00001a33: MLOAD 00001a34: DUP1 00001a35: DUP4 00001a36: SUB 00001a37: DUP2 00001a38: PUSH1 0x00 00001a3a: DUP8 00001a3b: GAS 00001a3c: CALL 00001a3d: ISZERO 00001a3e: DUP1 00001a3f: ISZERO 00001a40: PUSH2 0x1a4d 00001a43: JUMPI 00001a44: RETURNDATASIZE 00001a45: PUSH1 0x00 00001a47: DUP1 00001a48: RETURNDATACOPY 00001a49: RETURNDATASIZE 00001a4a: PUSH1 0x00 00001a4c: REVERT 00001a4d: JUMPDEST 00001a4e: POP 00001a4f: POP 00001a50: POP 00001a51: POP 00001a52: PUSH1 0x40 00001a54: MLOAD 00001a55: RETURNDATASIZE 00001a56: PUSH1 0x1f 00001a58: NOT 00001a59: PUSH1 0x1f 00001a5b: DUP3 00001a5c: ADD 00001a5d: AND 00001a5e: DUP3 00001a5f: ADD 00001a60: DUP1 00001a61: PUSH1 0x40 00001a63: MSTORE 00001a64: POP 00001a65: DUP2 00001a66: ADD 00001a67: SWAP1 00001a68: PUSH2 0x1a71 00001a6b: SWAP2 00001a6c: SWAP1 00001a6d: PUSH2 0x4700 00001a70: JUMP 00001a71: JUMPDEST 00001a72: SWAP2 00001a73: POP 00001a74: SWAP2 00001a75: POP 00001a76: PUSH1 0x00 00001a78: DUP13 00001a79: SGT 00001a7a: ISZERO 00001a7b: PUSH2 0x1abf 00001a7e: JUMPI 00001a7f: DUP7 00001a80: PUSH2 0x1a88 00001a83: DUP3 00001a84: PUSH2 0x4753 00001a87: JUMP 00001a88: JUMPDEST 00001a89: LT 00001a8a: ISZERO 00001a8b: PUSH2 0x1aba 00001a8e: JUMPI 00001a8f: PUSH1 0x40 00001a91: MLOAD 00001a92: PUSH3 0x461bcd 00001a96: PUSH1 0xe5 00001a98: SHL 00001a99: DUP2 00001a9a: MSTORE 00001a9b: PUSH1 0x20 00001a9d: PUSH1 0x04 00001a9f: DUP3 00001aa0: ADD 00001aa1: MSTORE 00001aa2: PUSH1 0x01 00001aa4: PUSH1 0x24 00001aa6: DUP3 00001aa7: ADD 00001aa8: MSTORE 00001aa9: PUSH1 0x53 00001aab: PUSH1 0xf8 00001aad: SHL 00001aae: PUSH1 0x44 00001ab0: DUP3 00001ab1: ADD 00001ab2: MSTORE 00001ab3: PUSH1 0x64 00001ab5: ADD 00001ab6: PUSH2 0x01cc 00001ab9: JUMP 00001aba: JUMPDEST 00001abb: PUSH2 0x1af3 00001abe: JUMP 00001abf: JUMPDEST 00001ac0: DUP7 00001ac1: DUP3 00001ac2: GT 00001ac3: ISZERO 00001ac4: PUSH2 0x1af3 00001ac7: JUMPI 00001ac8: PUSH1 0x40 00001aca: MLOAD 00001acb: PUSH3 0x461bcd 00001acf: PUSH1 0xe5 00001ad1: SHL 00001ad2: DUP2 00001ad3: MSTORE 00001ad4: PUSH1 0x20 00001ad6: PUSH1 0x04 00001ad8: DUP3 00001ad9: ADD 00001ada: MSTORE 00001adb: PUSH1 0x01 00001add: PUSH1 0x24 00001adf: DUP3 00001ae0: ADD 00001ae1: MSTORE 00001ae2: PUSH1 0x53 00001ae4: PUSH1 0xf8 00001ae6: SHL 00001ae7: PUSH1 0x44 00001ae9: DUP3 00001aea: ADD 00001aeb: MSTORE 00001aec: PUSH1 0x64 00001aee: ADD 00001aef: PUSH2 0x01cc 00001af2: JUMP 00001af3: JUMPDEST 00001af4: POP 00001af5: POP 00001af6: POP 00001af7: POP 00001af8: PUSH2 0x1d56 00001afb: JUMP 00001afc: JUMPDEST 00001afd: PUSH1 0x40 00001aff: DUP1 00001b00: MLOAD 00001b01: PUSH1 0x01 00001b03: PUSH1 0x01 00001b05: PUSH1 0xa0 00001b07: SHL 00001b08: SUB 00001b09: DUP1 00001b0a: DUP10 00001b0b: AND 00001b0c: PUSH1 0x20 00001b0e: DUP4 00001b0f: ADD 00001b10: MSTORE 00001b11: DUP10 00001b12: AND 00001b13: SWAP2 00001b14: DUP2 00001b15: ADD 00001b16: SWAP2 00001b17: SWAP1 00001b18: SWAP2 00001b19: MSTORE 00001b1a: PUSH3 0xffffff 00001b1e: DUP7 00001b1f: AND 00001b20: PUSH1 0x60 00001b22: DUP3 00001b23: ADD 00001b24: MSTORE 00001b25: PUSH1 0x00 00001b27: SWAP1 00001b28: PUSH1 0x80 00001b2a: ADD 00001b2b: PUSH1 0x40 00001b2d: DUP1 00001b2e: MLOAD 00001b2f: PUSH1 0x1f 00001b31: NOT 00001b32: DUP2 00001b33: DUP5 00001b34: SUB 00001b35: ADD 00001b36: DUP2 00001b37: MSTORE 00001b38: SWAP1 00001b39: DUP3 00001b3a: SWAP1 00001b3b: MSTORE 00001b3c: DUP1 00001b3d: MLOAD 00001b3e: PUSH1 0x20 00001b40: SWAP2 00001b41: DUP3 00001b42: ADD 00001b43: KECCAK256 00001b44: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000 00001b65: SWAP2 00001b66: DUP4 00001b67: ADD 00001b68: SWAP2 00001b69: SWAP1 00001b6a: SWAP2 00001b6b: MSTORE 00001b6c: PUSH1 0x35 00001b6e: DUP3 00001b6f: ADD 00001b70: MSTORE 00001b71: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54 00001b92: PUSH1 0x55 00001b94: DUP3 00001b95: ADD 00001b96: MSTORE 00001b97: PUSH1 0x75 00001b99: ADD 00001b9a: PUSH1 0x40 00001b9c: MLOAD 00001b9d: PUSH1 0x20 00001b9f: DUP2 00001ba0: DUP4 00001ba1: SUB 00001ba2: SUB 00001ba3: DUP2 00001ba4: MSTORE 00001ba5: SWAP1 00001ba6: PUSH1 0x40 00001ba8: MSTORE 00001ba9: DUP1 00001baa: MLOAD 00001bab: SWAP1 00001bac: PUSH1 0x20 00001bae: ADD 00001baf: KECCAK256 00001bb0: PUSH1 0x00 00001bb2: SHR 00001bb3: SWAP1 00001bb4: POP 00001bb5: PUSH1 0x00 00001bb7: DUP2 00001bb8: PUSH1 0x01 00001bba: PUSH1 0x01 00001bbc: PUSH1 0xa0 00001bbe: SHL 00001bbf: SUB 00001bc0: AND 00001bc1: PUSH4 0x3850c7bd 00001bc6: PUSH1 0x40 00001bc8: MLOAD 00001bc9: DUP2 00001bca: PUSH4 0xffffffff 00001bcf: AND 00001bd0: PUSH1 0xe0 00001bd2: SHL 00001bd3: DUP2 00001bd4: MSTORE 00001bd5: PUSH1 0x04 00001bd7: ADD 00001bd8: PUSH1 0xe0 00001bda: PUSH1 0x40 00001bdc: MLOAD 00001bdd: DUP1 00001bde: DUP4 00001bdf: SUB 00001be0: DUP2 00001be1: DUP7 00001be2: GAS 00001be3: STATICCALL 00001be4: ISZERO 00001be5: DUP1 00001be6: ISZERO 00001be7: PUSH2 0x1bf4 00001bea: JUMPI 00001beb: RETURNDATASIZE 00001bec: PUSH1 0x00 00001bee: DUP1 00001bef: RETURNDATACOPY 00001bf0: RETURNDATASIZE 00001bf1: PUSH1 0x00 00001bf3: REVERT 00001bf4: JUMPDEST 00001bf5: POP 00001bf6: POP 00001bf7: POP 00001bf8: POP 00001bf9: PUSH1 0x40 00001bfb: MLOAD 00001bfc: RETURNDATASIZE 00001bfd: PUSH1 0x1f 00001bff: NOT 00001c00: PUSH1 0x1f 00001c02: DUP3 00001c03: ADD 00001c04: AND 00001c05: DUP3 00001c06: ADD 00001c07: DUP1 00001c08: PUSH1 0x40 00001c0a: MSTORE 00001c0b: POP 00001c0c: DUP2 00001c0d: ADD 00001c0e: SWAP1 00001c0f: PUSH2 0x1c18 00001c12: SWAP2 00001c13: SWAP1 00001c14: PUSH2 0x47ba 00001c17: JUMP 00001c18: JUMPDEST 00001c19: POP 00001c1a: POP 00001c1b: POP 00001c1c: POP 00001c1d: POP 00001c1e: POP 00001c1f: SWAP1 00001c20: POP 00001c21: DUP1 00001c22: PUSH1 0x01 00001c24: PUSH1 0x01 00001c26: PUSH1 0xa0 00001c28: SHL 00001c29: SUB 00001c2a: AND 00001c2b: DUP7 00001c2c: PUSH1 0x01 00001c2e: PUSH1 0x01 00001c30: PUSH1 0xa0 00001c32: SHL 00001c33: SUB 00001c34: AND 00001c35: LT 00001c36: ISZERO 00001c37: PUSH2 0x1c3f 00001c3a: JUMPI 00001c3b: PUSH1 0x00 00001c3d: DUP1 00001c3e: REVERT 00001c3f: JUMPDEST 00001c40: PUSH1 0x00 00001c42: DUP1 00001c43: DUP4 00001c44: PUSH1 0x01 00001c46: PUSH1 0x01 00001c48: PUSH1 0xa0 00001c4a: SHL 00001c4b: SUB 00001c4c: AND 00001c4d: PUSH4 0x128acb08 00001c52: ADDRESS 00001c53: PUSH1 0x00 00001c55: DUP16 00001c56: PUSH20 0xfffd8963efd1fc6a506488495d951d5263988d25 00001c6b: DUP12 00001c6c: DUP12 00001c6d: PUSH1 0x40 00001c6f: MLOAD 00001c70: DUP8 00001c71: PUSH4 0xffffffff 00001c76: AND 00001c77: PUSH1 0xe0 00001c79: SHL 00001c7a: DUP2 00001c7b: MSTORE 00001c7c: PUSH1 0x04 00001c7e: ADD 00001c7f: PUSH2 0x1c8d 00001c82: SWAP7 00001c83: SWAP6 00001c84: SWAP5 00001c85: SWAP4 00001c86: SWAP3 00001c87: SWAP2 00001c88: SWAP1 00001c89: PUSH2 0x46a3 00001c8c: JUMP 00001c8d: JUMPDEST 00001c8e: PUSH1 0x40 00001c90: DUP1 00001c91: MLOAD 00001c92: DUP1 00001c93: DUP4 00001c94: SUB 00001c95: DUP2 00001c96: PUSH1 0x00 00001c98: DUP8 00001c99: GAS 00001c9a: CALL 00001c9b: ISZERO 00001c9c: DUP1 00001c9d: ISZERO 00001c9e: PUSH2 0x1cab 00001ca1: JUMPI 00001ca2: RETURNDATASIZE 00001ca3: PUSH1 0x00 00001ca5: DUP1 00001ca6: RETURNDATACOPY 00001ca7: RETURNDATASIZE 00001ca8: PUSH1 0x00 00001caa: REVERT 00001cab: JUMPDEST 00001cac: POP 00001cad: POP 00001cae: POP 00001caf: POP 00001cb0: PUSH1 0x40 00001cb2: MLOAD 00001cb3: RETURNDATASIZE 00001cb4: PUSH1 0x1f 00001cb6: NOT 00001cb7: PUSH1 0x1f 00001cb9: DUP3 00001cba: ADD 00001cbb: AND 00001cbc: DUP3 00001cbd: ADD 00001cbe: DUP1 00001cbf: PUSH1 0x40 00001cc1: MSTORE 00001cc2: POP 00001cc3: DUP2 00001cc4: ADD 00001cc5: SWAP1 00001cc6: PUSH2 0x1ccf 00001cc9: SWAP2 00001cca: SWAP1 00001ccb: PUSH2 0x4700 00001cce: JUMP 00001ccf: JUMPDEST 00001cd0: SWAP2 00001cd1: POP 00001cd2: SWAP2 00001cd3: POP 00001cd4: PUSH1 0x00 00001cd6: DUP13 00001cd7: SGT 00001cd8: ISZERO 00001cd9: PUSH2 0x1d1d 00001cdc: JUMPI 00001cdd: DUP7 00001cde: PUSH2 0x1ce6 00001ce1: DUP4 00001ce2: PUSH2 0x4753 00001ce5: JUMP 00001ce6: JUMPDEST 00001ce7: LT 00001ce8: ISZERO 00001ce9: PUSH2 0x1d18 00001cec: JUMPI 00001ced: PUSH1 0x40 00001cef: MLOAD 00001cf0: PUSH3 0x461bcd 00001cf4: PUSH1 0xe5 00001cf6: SHL 00001cf7: DUP2 00001cf8: MSTORE 00001cf9: PUSH1 0x20 00001cfb: PUSH1 0x04 00001cfd: DUP3 00001cfe: ADD 00001cff: MSTORE 00001d00: PUSH1 0x01 00001d02: PUSH1 0x24 00001d04: DUP3 00001d05: ADD 00001d06: MSTORE 00001d07: PUSH1 0x53 00001d09: PUSH1 0xf8 00001d0b: SHL 00001d0c: PUSH1 0x44 00001d0e: DUP3 00001d0f: ADD 00001d10: MSTORE 00001d11: PUSH1 0x64 00001d13: ADD 00001d14: PUSH2 0x01cc 00001d17: JUMP 00001d18: JUMPDEST 00001d19: PUSH2 0x1d51 00001d1c: JUMP 00001d1d: JUMPDEST 00001d1e: DUP7 00001d1f: DUP2 00001d20: GT 00001d21: ISZERO 00001d22: PUSH2 0x1d51 00001d25: JUMPI 00001d26: PUSH1 0x40 00001d28: MLOAD 00001d29: PUSH3 0x461bcd 00001d2d: PUSH1 0xe5 00001d2f: SHL 00001d30: DUP2 00001d31: MSTORE 00001d32: PUSH1 0x20 00001d34: PUSH1 0x04 00001d36: DUP3 00001d37: ADD 00001d38: MSTORE 00001d39: PUSH1 0x01 00001d3b: PUSH1 0x24 00001d3d: DUP3 00001d3e: ADD 00001d3f: MSTORE 00001d40: PUSH1 0x53 00001d42: PUSH1 0xf8 00001d44: SHL 00001d45: PUSH1 0x44 00001d47: DUP3 00001d48: ADD 00001d49: MSTORE 00001d4a: PUSH1 0x64 00001d4c: ADD 00001d4d: PUSH2 0x01cc 00001d50: JUMP 00001d51: JUMPDEST 00001d52: POP 00001d53: POP 00001d54: POP 00001d55: POP 00001d56: JUMPDEST 00001d57: POP 00001d58: POP 00001d59: POP 00001d5a: POP 00001d5b: POP 00001d5c: POP 00001d5d: POP 00001d5e: POP 00001d5f: JUMP 00001d60: JUMPDEST 00001d61: NUMBER 00001d62: CALLVALUE 00001d63: LT 00001d64: ISZERO 00001d65: PUSH2 0x1db0 00001d68: JUMPI 00001d69: PUSH1 0x40 00001d6b: MLOAD 00001d6c: PUSH3 0x461bcd 00001d70: PUSH1 0xe5 00001d72: SHL 00001d73: DUP2 00001d74: MSTORE 00001d75: PUSH1 0x20 00001d77: PUSH1 0x04 00001d79: DUP3 00001d7a: ADD 00001d7b: MSTORE 00001d7c: PUSH1 0x01 00001d7e: PUSH1 0x24 00001d80: DUP3 00001d81: ADD 00001d82: MSTORE 00001d83: PUSH32 0x5500000000000000000000000000000000000000000000000000000000000000 00001da4: PUSH1 0x44 00001da6: DUP3 00001da7: ADD 00001da8: MSTORE 00001da9: PUSH1 0x64 00001dab: ADD 00001dac: PUSH2 0x01cc 00001daf: JUMP 00001db0: JUMPDEST 00001db1: PUSH1 0x04 00001db3: CALLDATALOAD 00001db4: PUSH1 0x24 00001db6: DUP1 00001db7: CALLDATALOAD 00001db8: PUSH1 0x60 00001dba: SWAP1 00001dbb: DUP2 00001dbc: SHR 00001dbd: SWAP2 00001dbe: PUSH1 0x38 00001dc0: CALLDATALOAD 00001dc1: DUP3 00001dc2: SHR 00001dc3: SWAP2 00001dc4: PUSH1 0x4c 00001dc6: CALLDATALOAD 00001dc7: PUSH1 0xe8 00001dc9: SHR 00001dca: SWAP2 00001dcb: PUSH1 0x4f 00001dcd: CALLDATALOAD 00001dce: SWAP2 00001dcf: PUSH1 0x6f 00001dd1: CALLDATALOAD 00001dd2: SWAP1 00001dd3: SHR 00001dd4: SWAP1 00001dd5: PUSH1 0x2b 00001dd7: DUP6 00001dd8: DUP8 00001dd9: LT 00001dda: ISZERO 00001ddb: PUSH2 0x1fa1 00001dde: JUMPI 00001ddf: PUSH1 0x40 00001de1: DUP1 00001de2: MLOAD 00001de3: PUSH1 0x01 00001de5: PUSH1 0x01 00001de7: PUSH1 0xa0 00001de9: SHL 00001dea: SUB 00001deb: DUP1 00001dec: DUP11 00001ded: AND 00001dee: PUSH1 0x20 00001df0: DUP4 00001df1: ADD 00001df2: MSTORE 00001df3: DUP9 00001df4: AND 00001df5: SWAP2 00001df6: DUP2 00001df7: ADD 00001df8: SWAP2 00001df9: SWAP1 00001dfa: SWAP2 00001dfb: MSTORE 00001dfc: PUSH3 0xffffff 00001e00: DUP7 00001e01: AND 00001e02: PUSH1 0x60 00001e04: DUP3 00001e05: ADD 00001e06: MSTORE 00001e07: PUSH1 0x00 00001e09: SWAP1 00001e0a: PUSH1 0x80 00001e0c: ADD 00001e0d: PUSH1 0x40 00001e0f: DUP1 00001e10: MLOAD 00001e11: PUSH1 0x1f 00001e13: NOT 00001e14: DUP2 00001e15: DUP5 00001e16: SUB 00001e17: ADD 00001e18: DUP2 00001e19: MSTORE 00001e1a: SWAP1 00001e1b: DUP3 00001e1c: SWAP1 00001e1d: MSTORE 00001e1e: DUP1 00001e1f: MLOAD 00001e20: PUSH1 0x20 00001e22: SWAP2 00001e23: DUP3 00001e24: ADD 00001e25: KECCAK256 00001e26: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000 00001e47: SWAP2 00001e48: DUP4 00001e49: ADD 00001e4a: SWAP2 00001e4b: SWAP1 00001e4c: SWAP2 00001e4d: MSTORE 00001e4e: PUSH1 0x35 00001e50: DUP3 00001e51: ADD 00001e52: MSTORE 00001e53: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54 00001e74: PUSH1 0x55 00001e76: DUP3 00001e77: ADD 00001e78: MSTORE 00001e79: PUSH1 0x75 00001e7b: ADD 00001e7c: PUSH1 0x40 00001e7e: MLOAD 00001e7f: PUSH1 0x20 00001e81: DUP2 00001e82: DUP4 00001e83: SUB 00001e84: SUB 00001e85: DUP2 00001e86: MSTORE 00001e87: SWAP1 00001e88: PUSH1 0x40 00001e8a: MSTORE 00001e8b: DUP1 00001e8c: MLOAD 00001e8d: SWAP1 00001e8e: PUSH1 0x20 00001e90: ADD 00001e91: KECCAK256 00001e92: PUSH1 0x00 00001e94: SHR 00001e95: SWAP1 00001e96: POP 00001e97: PUSH1 0x00 00001e99: DUP1 00001e9a: DUP3 00001e9b: PUSH1 0x01 00001e9d: PUSH1 0x01 00001e9f: PUSH1 0xa0 00001ea1: SHL 00001ea2: SUB 00001ea3: AND 00001ea4: PUSH4 0x128acb08 00001ea9: DUP8 00001eaa: PUSH1 0x01 00001eac: DUP15 00001ead: PUSH5 0x01000276a4 00001eb3: DUP11 00001eb4: DUP11 00001eb5: PUSH1 0x40 00001eb7: MLOAD 00001eb8: DUP8 00001eb9: PUSH4 0xffffffff 00001ebe: AND 00001ebf: PUSH1 0xe0 00001ec1: SHL 00001ec2: DUP2 00001ec3: MSTORE 00001ec4: PUSH1 0x04 00001ec6: ADD 00001ec7: PUSH2 0x1ed5 00001eca: SWAP7 00001ecb: SWAP6 00001ecc: SWAP5 00001ecd: SWAP4 00001ece: SWAP3 00001ecf: SWAP2 00001ed0: SWAP1 00001ed1: PUSH2 0x46a3 00001ed4: JUMP 00001ed5: JUMPDEST 00001ed6: PUSH1 0x40 00001ed8: DUP1 00001ed9: MLOAD 00001eda: DUP1 00001edb: DUP4 00001edc: SUB 00001edd: DUP2 00001ede: PUSH1 0x00 00001ee0: DUP8 00001ee1: GAS 00001ee2: CALL 00001ee3: ISZERO 00001ee4: DUP1 00001ee5: ISZERO 00001ee6: PUSH2 0x1ef3 00001ee9: JUMPI 00001eea: RETURNDATASIZE 00001eeb: PUSH1 0x00 00001eed: DUP1 00001eee: RETURNDATACOPY 00001eef: RETURNDATASIZE 00001ef0: PUSH1 0x00 00001ef2: REVERT 00001ef3: JUMPDEST 00001ef4: POP 00001ef5: POP 00001ef6: POP 00001ef7: POP 00001ef8: PUSH1 0x40 00001efa: MLOAD 00001efb: RETURNDATASIZE 00001efc: PUSH1 0x1f 00001efe: NOT 00001eff: PUSH1 0x1f 00001f01: DUP3 00001f02: ADD 00001f03: AND 00001f04: DUP3 00001f05: ADD 00001f06: DUP1 00001f07: PUSH1 0x40 00001f09: MSTORE 00001f0a: POP 00001f0b: DUP2 00001f0c: ADD 00001f0d: SWAP1 00001f0e: PUSH2 0x1f17 00001f11: SWAP2 00001f12: SWAP1 00001f13: PUSH2 0x4700 00001f16: JUMP 00001f17: JUMPDEST 00001f18: SWAP2 00001f19: POP 00001f1a: SWAP2 00001f1b: POP 00001f1c: PUSH1 0x00 00001f1e: DUP12 00001f1f: SGT 00001f20: ISZERO 00001f21: PUSH2 0x1f65 00001f24: JUMPI 00001f25: DUP7 00001f26: PUSH2 0x1f2e 00001f29: DUP3 00001f2a: PUSH2 0x4753 00001f2d: JUMP 00001f2e: JUMPDEST 00001f2f: LT 00001f30: ISZERO 00001f31: PUSH2 0x1f60 00001f34: JUMPI 00001f35: PUSH1 0x40 00001f37: MLOAD 00001f38: PUSH3 0x461bcd 00001f3c: PUSH1 0xe5 00001f3e: SHL 00001f3f: DUP2 00001f40: MSTORE 00001f41: PUSH1 0x20 00001f43: PUSH1 0x04 00001f45: DUP3 00001f46: ADD 00001f47: MSTORE 00001f48: PUSH1 0x01 00001f4a: PUSH1 0x24 00001f4c: DUP3 00001f4d: ADD 00001f4e: MSTORE 00001f4f: PUSH1 0x53 00001f51: PUSH1 0xf8 00001f53: SHL 00001f54: PUSH1 0x44 00001f56: DUP3 00001f57: ADD 00001f58: MSTORE 00001f59: PUSH1 0x64 00001f5b: ADD 00001f5c: PUSH2 0x01cc 00001f5f: JUMP 00001f60: JUMPDEST 00001f61: PUSH2 0x1f99 00001f64: JUMP 00001f65: JUMPDEST 00001f66: DUP7 00001f67: DUP3 00001f68: GT 00001f69: ISZERO 00001f6a: PUSH2 0x1f99 00001f6d: JUMPI 00001f6e: PUSH1 0x40 00001f70: MLOAD 00001f71: PUSH3 0x461bcd 00001f75: PUSH1 0xe5 00001f77: SHL 00001f78: DUP2 00001f79: MSTORE 00001f7a: PUSH1 0x20 00001f7c: PUSH1 0x04 00001f7e: DUP3 00001f7f: ADD 00001f80: MSTORE 00001f81: PUSH1 0x01 00001f83: PUSH1 0x24 00001f85: DUP3 00001f86: ADD 00001f87: MSTORE 00001f88: PUSH1 0x53 00001f8a: PUSH1 0xf8 00001f8c: SHL 00001f8d: PUSH1 0x44 00001f8f: DUP3 00001f90: ADD 00001f91: MSTORE 00001f92: PUSH1 0x64 00001f94: ADD 00001f95: PUSH2 0x01cc 00001f98: JUMP 00001f99: JUMPDEST 00001f9a: POP 00001f9b: POP 00001f9c: POP 00001f9d: PUSH2 0x1d56 00001fa0: JUMP 00001fa1: JUMPDEST 00001fa2: PUSH1 0x40 00001fa4: DUP1 00001fa5: MLOAD 00001fa6: PUSH1 0x01 00001fa8: PUSH1 0x01 00001faa: PUSH1 0xa0 00001fac: SHL 00001fad: SUB 00001fae: DUP1 00001faf: DUP10 00001fb0: AND 00001fb1: PUSH1 0x20 00001fb3: DUP4 00001fb4: ADD 00001fb5: MSTORE 00001fb6: DUP10 00001fb7: AND 00001fb8: SWAP2 00001fb9: DUP2 00001fba: ADD 00001fbb: SWAP2 00001fbc: SWAP1 00001fbd: SWAP2 00001fbe: MSTORE 00001fbf: PUSH3 0xffffff 00001fc3: DUP7 00001fc4: AND 00001fc5: PUSH1 0x60 00001fc7: DUP3 00001fc8: ADD 00001fc9: MSTORE 00001fca: PUSH1 0x00 00001fcc: SWAP1 00001fcd: PUSH1 0x80 00001fcf: ADD 00001fd0: PUSH1 0x40 00001fd2: DUP1 00001fd3: MLOAD 00001fd4: PUSH1 0x1f 00001fd6: NOT 00001fd7: DUP2 00001fd8: DUP5 00001fd9: SUB 00001fda: ADD 00001fdb: DUP2 00001fdc: MSTORE 00001fdd: SWAP1 00001fde: DUP3 00001fdf: SWAP1 00001fe0: MSTORE 00001fe1: DUP1 00001fe2: MLOAD 00001fe3: PUSH1 0x20 00001fe5: SWAP2 00001fe6: DUP3 00001fe7: ADD 00001fe8: KECCAK256 00001fe9: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000 0000200a: SWAP2 0000200b: DUP4 0000200c: ADD 0000200d: SWAP2 0000200e: SWAP1 0000200f: SWAP2 00002010: MSTORE 00002011: PUSH1 0x35 00002013: DUP3 00002014: ADD 00002015: MSTORE 00002016: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54 00002037: PUSH1 0x55 00002039: DUP3 0000203a: ADD 0000203b: MSTORE 0000203c: PUSH1 0x75 0000203e: ADD 0000203f: PUSH1 0x40 00002041: MLOAD 00002042: PUSH1 0x20 00002044: DUP2 00002045: DUP4 00002046: SUB 00002047: SUB 00002048: DUP2 00002049: MSTORE 0000204a: SWAP1 0000204b: PUSH1 0x40 0000204d: MSTORE 0000204e: DUP1 0000204f: MLOAD 00002050: SWAP1 00002051: PUSH1 0x20 00002053: ADD 00002054: KECCAK256 00002055: PUSH1 0x00 00002057: SHR 00002058: SWAP1 00002059: POP 0000205a: PUSH1 0x00 0000205c: DUP1 0000205d: DUP3 0000205e: PUSH1 0x01 00002060: PUSH1 0x01 00002062: PUSH1 0xa0 00002064: SHL 00002065: SUB 00002066: AND 00002067: PUSH4 0x128acb08 0000206c: DUP8 0000206d: PUSH1 0x00 0000206f: DUP15 00002070: PUSH20 0xfffd8963efd1fc6a506488495d951d5263988d25 00002085: DUP11 00002086: DUP11 00002087: PUSH1 0x40 00002089: MLOAD 0000208a: DUP8 0000208b: PUSH4 0xffffffff 00002090: AND 00002091: PUSH1 0xe0 00002093: SHL 00002094: DUP2 00002095: MSTORE 00002096: PUSH1 0x04 00002098: ADD 00002099: PUSH2 0x20a7 0000209c: SWAP7 0000209d: SWAP6 0000209e: SWAP5 0000209f: SWAP4 000020a0: SWAP3 000020a1: SWAP2 000020a2: SWAP1 000020a3: PUSH2 0x46a3 000020a6: JUMP 000020a7: JUMPDEST 000020a8: PUSH1 0x40 000020aa: DUP1 000020ab: MLOAD 000020ac: DUP1 000020ad: DUP4 000020ae: SUB 000020af: DUP2 000020b0: PUSH1 0x00 000020b2: DUP8 000020b3: GAS 000020b4: CALL 000020b5: ISZERO 000020b6: DUP1 000020b7: ISZERO 000020b8: PUSH2 0x20c5 000020bb: JUMPI 000020bc: RETURNDATASIZE 000020bd: PUSH1 0x00 000020bf: DUP1 000020c0: RETURNDATACOPY 000020c1: RETURNDATASIZE 000020c2: PUSH1 0x00 000020c4: REVERT 000020c5: JUMPDEST 000020c6: POP 000020c7: POP 000020c8: POP 000020c9: POP 000020ca: PUSH1 0x40 000020cc: MLOAD 000020cd: RETURNDATASIZE 000020ce: PUSH1 0x1f 000020d0: NOT 000020d1: PUSH1 0x1f 000020d3: DUP3 000020d4: ADD 000020d5: AND 000020d6: DUP3 000020d7: ADD 000020d8: DUP1 000020d9: PUSH1 0x40 000020db: MSTORE 000020dc: POP 000020dd: DUP2 000020de: ADD 000020df: SWAP1 000020e0: PUSH2 0x20e9 000020e3: SWAP2 000020e4: SWAP1 000020e5: PUSH2 0x4700 000020e8: JUMP 000020e9: JUMPDEST 000020ea: SWAP2 000020eb: POP 000020ec: SWAP2 000020ed: POP 000020ee: PUSH1 0x00 000020f0: DUP12 000020f1: SGT 000020f2: ISZERO 000020f3: PUSH2 0x2137 000020f6: JUMPI 000020f7: DUP7 000020f8: PUSH2 0x2100 000020fb: DUP4 000020fc: PUSH2 0x4753 000020ff: JUMP 00002100: JUMPDEST 00002101: LT 00002102: ISZERO 00002103: PUSH2 0x2132 00002106: JUMPI 00002107: PUSH1 0x40 00002109: MLOAD 0000210a: PUSH3 0x461bcd 0000210e: PUSH1 0xe5 00002110: SHL 00002111: DUP2 00002112: MSTORE 00002113: PUSH1 0x20 00002115: PUSH1 0x04 00002117: DUP3 00002118: ADD 00002119: MSTORE 0000211a: PUSH1 0x01 0000211c: PUSH1 0x24 0000211e: DUP3 0000211f: ADD 00002120: MSTORE 00002121: PUSH1 0x53 00002123: PUSH1 0xf8 00002125: SHL 00002126: PUSH1 0x44 00002128: DUP3 00002129: ADD 0000212a: MSTORE 0000212b: PUSH1 0x64 0000212d: ADD 0000212e: PUSH2 0x01cc 00002131: JUMP 00002132: JUMPDEST 00002133: PUSH2 0x216b 00002136: JUMP 00002137: JUMPDEST 00002138: DUP7 00002139: DUP2 0000213a: GT 0000213b: ISZERO 0000213c: PUSH2 0x216b 0000213f: JUMPI 00002140: PUSH1 0x40 00002142: MLOAD 00002143: PUSH3 0x461bcd 00002147: PUSH1 0xe5 00002149: SHL 0000214a: DUP2 0000214b: MSTORE 0000214c: PUSH1 0x20 0000214e: PUSH1 0x04 00002150: DUP3 00002151: ADD 00002152: MSTORE 00002153: PUSH1 0x01 00002155: PUSH1 0x24 00002157: DUP3 00002158: ADD 00002159: MSTORE 0000215a: PUSH1 0x53 0000215c: PUSH1 0xf8 0000215e: SHL 0000215f: PUSH1 0x44 00002161: DUP3 00002162: ADD 00002163: MSTORE 00002164: PUSH1 0x64 00002166: ADD 00002167: PUSH2 0x01cc 0000216a: JUMP 0000216b: JUMPDEST 0000216c: POP 0000216d: POP 0000216e: POP 0000216f: POP 00002170: POP 00002171: POP 00002172: POP 00002173: POP 00002174: POP 00002175: POP 00002176: POP 00002177: JUMP 00002178: JUMPDEST 00002179: PUSH1 0x04 0000217b: CALLDATALOAD 0000217c: PUSH1 0x24 0000217e: DUP1 0000217f: CALLDATALOAD 00002180: PUSH1 0x60 00002182: SWAP1 00002183: DUP2 00002184: SHR 00002185: SWAP2 00002186: PUSH1 0x38 00002188: CALLDATALOAD 00002189: DUP3 0000218a: SHR 0000218b: SWAP2 0000218c: PUSH1 0x4c 0000218e: CALLDATALOAD 0000218f: PUSH1 0xe8 00002191: SHR 00002192: SWAP2 00002193: PUSH1 0x4f 00002195: CALLDATALOAD 00002196: DUP3 00002197: SHR 00002198: SWAP2 00002199: PUSH1 0x63 0000219b: CALLDATALOAD 0000219c: SWAP2 0000219d: PUSH1 0x83 0000219f: CALLDATALOAD 000021a0: SWAP1 000021a1: SWAP2 000021a2: SHR 000021a3: SWAP1 000021a4: PUSH1 0x2b 000021a6: DUP7 000021a7: DUP9 000021a8: LT 000021a9: ISZERO 000021aa: PUSH2 0x23fc 000021ad: JUMPI 000021ae: PUSH1 0x40 000021b0: DUP1 000021b1: MLOAD 000021b2: PUSH1 0x01 000021b4: PUSH1 0x01 000021b6: PUSH1 0xa0 000021b8: SHL 000021b9: SUB 000021ba: DUP1 000021bb: DUP12 000021bc: AND 000021bd: PUSH1 0x20 000021bf: DUP4 000021c0: ADD 000021c1: MSTORE 000021c2: DUP10 000021c3: AND 000021c4: SWAP2 000021c5: DUP2 000021c6: ADD 000021c7: SWAP2 000021c8: SWAP1 000021c9: SWAP2 000021ca: MSTORE 000021cb: PUSH3 0xffffff 000021cf: DUP8 000021d0: AND 000021d1: PUSH1 0x60 000021d3: DUP3 000021d4: ADD 000021d5: MSTORE 000021d6: PUSH1 0x00 000021d8: SWAP1 000021d9: PUSH1 0x80 000021db: ADD 000021dc: PUSH1 0x40 000021de: DUP1 000021df: MLOAD 000021e0: PUSH1 0x1f 000021e2: NOT 000021e3: DUP2 000021e4: DUP5 000021e5: SUB 000021e6: ADD 000021e7: DUP2 000021e8: MSTORE 000021e9: SWAP1 000021ea: DUP3 000021eb: SWAP1 000021ec: MSTORE 000021ed: DUP1 000021ee: MLOAD 000021ef: PUSH1 0x20 000021f1: SWAP2 000021f2: DUP3 000021f3: ADD 000021f4: KECCAK256 000021f5: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000 00002216: SWAP2 00002217: DUP4 00002218: ADD 00002219: SWAP2 0000221a: SWAP1 0000221b: SWAP2 0000221c: MSTORE 0000221d: PUSH1 0x35 0000221f: DUP3 00002220: ADD 00002221: MSTORE 00002222: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54 00002243: PUSH1 0x55 00002245: DUP3 00002246: ADD 00002247: MSTORE 00002248: PUSH1 0x75 0000224a: ADD 0000224b: PUSH1 0x40 0000224d: MLOAD 0000224e: PUSH1 0x20 00002250: DUP2 00002251: DUP4 00002252: SUB 00002253: SUB 00002254: DUP2 00002255: MSTORE 00002256: SWAP1 00002257: PUSH1 0x40 00002259: MSTORE 0000225a: DUP1 0000225b: MLOAD 0000225c: SWAP1 0000225d: PUSH1 0x20 0000225f: ADD 00002260: KECCAK256 00002261: PUSH1 0x00 00002263: SHR 00002264: SWAP1 00002265: POP 00002266: PUSH1 0x00 00002268: DUP2 00002269: PUSH1 0x01 0000226b: PUSH1 0x01 0000226d: PUSH1 0xa0 0000226f: SHL 00002270: SUB 00002271: AND 00002272: PUSH4 0x3850c7bd 00002277: PUSH1 0x40 00002279: MLOAD 0000227a: DUP2 0000227b: PUSH4 0xffffffff 00002280: AND 00002281: PUSH1 0xe0 00002283: SHL 00002284: DUP2 00002285: MSTORE 00002286: PUSH1 0x04 00002288: ADD 00002289: PUSH1 0xe0 0000228b: PUSH1 0x40 0000228d: MLOAD 0000228e: DUP1 0000228f: DUP4 00002290: SUB 00002291: DUP2 00002292: DUP7 00002293: GAS 00002294: STATICCALL 00002295: ISZERO 00002296: DUP1 00002297: ISZERO 00002298: PUSH2 0x22a5 0000229b: JUMPI 0000229c: RETURNDATASIZE 0000229d: PUSH1 0x00 0000229f: DUP1 000022a0: RETURNDATACOPY 000022a1: RETURNDATASIZE 000022a2: PUSH1 0x00 000022a4: REVERT 000022a5: JUMPDEST 000022a6: POP 000022a7: POP 000022a8: POP 000022a9: POP 000022aa: PUSH1 0x40 000022ac: MLOAD 000022ad: RETURNDATASIZE 000022ae: PUSH1 0x1f 000022b0: NOT 000022b1: PUSH1 0x1f 000022b3: DUP3 000022b4: ADD 000022b5: AND 000022b6: DUP3 000022b7: ADD 000022b8: DUP1 000022b9: PUSH1 0x40 000022bb: MSTORE 000022bc: POP 000022bd: DUP2 000022be: ADD 000022bf: SWAP1 000022c0: PUSH2 0x22c9 000022c3: SWAP2 000022c4: SWAP1 000022c5: PUSH2 0x47ba 000022c8: JUMP 000022c9: JUMPDEST 000022ca: POP 000022cb: POP 000022cc: POP 000022cd: POP 000022ce: POP 000022cf: POP 000022d0: SWAP1 000022d1: POP 000022d2: DUP1 000022d3: PUSH1 0x01 000022d5: PUSH1 0x01 000022d7: PUSH1 0xa0 000022d9: SHL 000022da: SUB 000022db: AND 000022dc: DUP8 000022dd: PUSH1 0x01 000022df: PUSH1 0x01 000022e1: PUSH1 0xa0 000022e3: SHL 000022e4: SUB 000022e5: AND 000022e6: GT 000022e7: ISZERO 000022e8: PUSH2 0x22f0 000022eb: JUMPI 000022ec: PUSH1 0x00 000022ee: DUP1 000022ef: REVERT 000022f0: JUMPDEST 000022f1: POP 000022f2: PUSH1 0x00 000022f4: DUP1 000022f5: DUP3 000022f6: PUSH1 0x01 000022f8: PUSH1 0x01 000022fa: PUSH1 0xa0 000022fc: SHL 000022fd: SUB 000022fe: AND 000022ff: PUSH4 0x128acb08 00002304: DUP8 00002305: PUSH1 0x01 00002307: DUP16 00002308: PUSH5 0x01000276a4 0000230e: DUP11 0000230f: DUP11 00002310: PUSH1 0x40 00002312: MLOAD 00002313: DUP8 00002314: PUSH4 0xffffffff 00002319: AND 0000231a: PUSH1 0xe0 0000231c: SHL 0000231d: DUP2 0000231e: MSTORE 0000231f: PUSH1 0x04 00002321: ADD 00002322: PUSH2 0x2330 00002325: SWAP7 00002326: SWAP6 00002327: SWAP5 00002328: SWAP4 00002329: SWAP3 0000232a: SWAP2 0000232b: SWAP1 0000232c: PUSH2 0x46a3 0000232f: JUMP 00002330: JUMPDEST 00002331: PUSH1 0x40 00002333: DUP1 00002334: MLOAD 00002335: DUP1 00002336: DUP4 00002337: SUB 00002338: DUP2 00002339: PUSH1 0x00 0000233b: DUP8 0000233c: GAS 0000233d: CALL 0000233e: ISZERO 0000233f: DUP1 00002340: ISZERO 00002341: PUSH2 0x234e 00002344: JUMPI 00002345: RETURNDATASIZE 00002346: PUSH1 0x00 00002348: DUP1 00002349: RETURNDATACOPY 0000234a: RETURNDATASIZE 0000234b: PUSH1 0x00 0000234d: REVERT 0000234e: JUMPDEST 0000234f: POP 00002350: POP 00002351: POP 00002352: POP 00002353: PUSH1 0x40 00002355: MLOAD 00002356: RETURNDATASIZE 00002357: PUSH1 0x1f 00002359: NOT 0000235a: PUSH1 0x1f 0000235c: DUP3 0000235d: ADD 0000235e: AND 0000235f: DUP3 00002360: ADD 00002361: DUP1 00002362: PUSH1 0x40 00002364: MSTORE 00002365: POP 00002366: DUP2 00002367: ADD 00002368: SWAP1 00002369: PUSH2 0x2372 0000236c: SWAP2 0000236d: SWAP1 0000236e: PUSH2 0x4700 00002371: JUMP 00002372: JUMPDEST 00002373: SWAP2 00002374: POP 00002375: SWAP2 00002376: POP 00002377: PUSH1 0x00 00002379: DUP13 0000237a: SGT 0000237b: ISZERO 0000237c: PUSH2 0x23c0 0000237f: JUMPI 00002380: DUP7 00002381: PUSH2 0x2389 00002384: DUP3 00002385: PUSH2 0x4753 00002388: JUMP 00002389: JUMPDEST 0000238a: LT 0000238b: ISZERO 0000238c: PUSH2 0x23bb 0000238f: JUMPI 00002390: PUSH1 0x40 00002392: MLOAD 00002393: PUSH3 0x461bcd 00002397: PUSH1 0xe5 00002399: SHL 0000239a: DUP2 0000239b: MSTORE 0000239c: PUSH1 0x20 0000239e: PUSH1 0x04 000023a0: DUP3 000023a1: ADD 000023a2: MSTORE 000023a3: PUSH1 0x01 000023a5: PUSH1 0x24 000023a7: DUP3 000023a8: ADD 000023a9: MSTORE 000023aa: PUSH1 0x53 000023ac: PUSH1 0xf8 000023ae: SHL 000023af: PUSH1 0x44 000023b1: DUP3 000023b2: ADD 000023b3: MSTORE 000023b4: PUSH1 0x64 000023b6: ADD 000023b7: PUSH2 0x01cc 000023ba: JUMP 000023bb: JUMPDEST 000023bc: PUSH2 0x23f4 000023bf: JUMP 000023c0: JUMPDEST 000023c1: DUP7 000023c2: DUP3 000023c3: GT 000023c4: ISZERO 000023c5: PUSH2 0x23f4 000023c8: JUMPI 000023c9: PUSH1 0x40 000023cb: MLOAD 000023cc: PUSH3 0x461bcd 000023d0: PUSH1 0xe5 000023d2: SHL 000023d3: DUP2 000023d4: MSTORE 000023d5: PUSH1 0x20 000023d7: PUSH1 0x04 000023d9: DUP3 000023da: ADD 000023db: MSTORE 000023dc: PUSH1 0x01 000023de: PUSH1 0x24 000023e0: DUP3 000023e1: ADD 000023e2: MSTORE 000023e3: PUSH1 0x53 000023e5: PUSH1 0xf8 000023e7: SHL 000023e8: PUSH1 0x44 000023ea: DUP3 000023eb: ADD 000023ec: MSTORE 000023ed: PUSH1 0x64 000023ef: ADD 000023f0: PUSH2 0x01cc 000023f3: JUMP 000023f4: JUMPDEST 000023f5: POP 000023f6: POP 000023f7: POP 000023f8: PUSH2 0x0521 000023fb: JUMP 000023fc: JUMPDEST 000023fd: PUSH1 0x40 000023ff: DUP1 00002400: MLOAD 00002401: PUSH1 0x01 00002403: PUSH1 0x01 00002405: PUSH1 0xa0 00002407: SHL 00002408: SUB 00002409: DUP1 0000240a: DUP11 0000240b: AND 0000240c: PUSH1 0x20 0000240e: DUP4 0000240f: ADD 00002410: MSTORE 00002411: DUP11 00002412: AND 00002413: SWAP2 00002414: DUP2 00002415: ADD 00002416: SWAP2 00002417: SWAP1 00002418: SWAP2 00002419: MSTORE 0000241a: PUSH3 0xffffff 0000241e: DUP8 0000241f: AND 00002420: PUSH1 0x60 00002422: DUP3 00002423: ADD 00002424: MSTORE 00002425: PUSH1 0x00 00002427: SWAP1 00002428: PUSH1 0x80 0000242a: ADD 0000242b: PUSH1 0x40 0000242d: DUP1 0000242e: MLOAD 0000242f: PUSH1 0x1f 00002431: NOT 00002432: DUP2 00002433: DUP5 00002434: SUB 00002435: ADD 00002436: DUP2 00002437: MSTORE 00002438: SWAP1 00002439: DUP3 0000243a: SWAP1 0000243b: MSTORE 0000243c: DUP1 0000243d: MLOAD 0000243e: PUSH1 0x20 00002440: SWAP2 00002441: DUP3 00002442: ADD 00002443: KECCAK256 00002444: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000 00002465: SWAP2 00002466: DUP4 00002467: ADD 00002468: SWAP2 00002469: SWAP1 0000246a: SWAP2 0000246b: MSTORE 0000246c: PUSH1 0x35 0000246e: DUP3 0000246f: ADD 00002470: MSTORE 00002471: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54 00002492: PUSH1 0x55 00002494: DUP3 00002495: ADD 00002496: MSTORE 00002497: PUSH1 0x75 00002499: ADD 0000249a: PUSH1 0x40 0000249c: MLOAD 0000249d: PUSH1 0x20 0000249f: DUP2 000024a0: DUP4 000024a1: SUB 000024a2: SUB 000024a3: DUP2 000024a4: MSTORE 000024a5: SWAP1 000024a6: PUSH1 0x40 000024a8: MSTORE 000024a9: DUP1 000024aa: MLOAD 000024ab: SWAP1 000024ac: PUSH1 0x20 000024ae: ADD 000024af: KECCAK256 000024b0: PUSH1 0x00 000024b2: SHR 000024b3: SWAP1 000024b4: POP 000024b5: PUSH1 0x00 000024b7: DUP2 000024b8: PUSH1 0x01 000024ba: PUSH1 0x01 000024bc: PUSH1 0xa0 000024be: SHL 000024bf: SUB 000024c0: AND 000024c1: PUSH4 0x3850c7bd 000024c6: PUSH1 0x40 000024c8: MLOAD 000024c9: DUP2 000024ca: PUSH4 0xffffffff 000024cf: AND 000024d0: PUSH1 0xe0 000024d2: SHL 000024d3: DUP2 000024d4: MSTORE 000024d5: PUSH1 0x04 000024d7: ADD 000024d8: PUSH1 0xe0 000024da: PUSH1 0x40 000024dc: MLOAD 000024dd: DUP1 000024de: DUP4 000024df: SUB 000024e0: DUP2 000024e1: DUP7 000024e2: GAS 000024e3: STATICCALL 000024e4: ISZERO 000024e5: DUP1 000024e6: ISZERO 000024e7: PUSH2 0x24f4 000024ea: JUMPI 000024eb: RETURNDATASIZE 000024ec: PUSH1 0x00 000024ee: DUP1 000024ef: RETURNDATACOPY 000024f0: RETURNDATASIZE 000024f1: PUSH1 0x00 000024f3: REVERT 000024f4: JUMPDEST 000024f5: POP 000024f6: POP 000024f7: POP 000024f8: POP 000024f9: PUSH1 0x40 000024fb: MLOAD 000024fc: RETURNDATASIZE 000024fd: PUSH1 0x1f 000024ff: NOT 00002500: PUSH1 0x1f 00002502: DUP3 00002503: ADD 00002504: AND 00002505: DUP3 00002506: ADD 00002507: DUP1 00002508: PUSH1 0x40 0000250a: MSTORE 0000250b: POP 0000250c: DUP2 0000250d: ADD 0000250e: SWAP1 0000250f: PUSH2 0x2518 00002512: SWAP2 00002513: SWAP1 00002514: PUSH2 0x47ba 00002517: JUMP 00002518: JUMPDEST 00002519: POP 0000251a: POP 0000251b: POP 0000251c: POP 0000251d: POP 0000251e: POP 0000251f: SWAP1 00002520: POP 00002521: DUP1 00002522: PUSH1 0x01 00002524: PUSH1 0x01 00002526: PUSH1 0xa0 00002528: SHL 00002529: SUB 0000252a: AND 0000252b: DUP8 0000252c: PUSH1 0x01 0000252e: PUSH1 0x01 00002530: PUSH1 0xa0 00002532: SHL 00002533: SUB 00002534: AND 00002535: LT 00002536: ISZERO 00002537: PUSH2 0x253f 0000253a: JUMPI 0000253b: PUSH1 0x00 0000253d: DUP1 0000253e: REVERT 0000253f: JUMPDEST 00002540: POP 00002541: PUSH1 0x00 00002543: DUP1 00002544: DUP3 00002545: PUSH1 0x01 00002547: PUSH1 0x01 00002549: PUSH1 0xa0 0000254b: SHL 0000254c: SUB 0000254d: AND 0000254e: PUSH4 0x128acb08 00002553: DUP8 00002554: PUSH1 0x00 00002556: DUP16 00002557: PUSH20 0xfffd8963efd1fc6a506488495d951d5263988d25 0000256c: DUP11 0000256d: DUP11 0000256e: PUSH1 0x40 00002570: MLOAD 00002571: DUP8 00002572: PUSH4 0xffffffff 00002577: AND 00002578: PUSH1 0xe0 0000257a: SHL 0000257b: DUP2 0000257c: MSTORE 0000257d: PUSH1 0x04 0000257f: ADD 00002580: PUSH2 0x1c8d 00002583: SWAP7 00002584: SWAP6 00002585: SWAP5 00002586: SWAP4 00002587: SWAP3 00002588: SWAP2 00002589: SWAP1 0000258a: PUSH2 0x46a3 0000258d: JUMP 0000258e: JUMPDEST 0000258f: PUSH1 0x04 00002591: CALLDATALOAD 00002592: PUSH1 0x60 00002594: SWAP1 00002595: DUP2 00002596: SHR 00002597: SWAP1 00002598: PUSH1 0x18 0000259a: CALLDATALOAD 0000259b: SWAP1 0000259c: SHR 0000259d: PUSH1 0x2c 0000259f: CALLDATALOAD 000025a0: PUSH1 0xe8 000025a2: SWAP1 000025a3: DUP2 000025a4: SHR 000025a5: SWAP1 000025a6: PUSH1 0x2f 000025a8: CALLDATALOAD 000025a9: DUP2 000025aa: SHR 000025ab: SWAP1 000025ac: PUSH1 0x32 000025ae: CALLDATALOAD 000025af: SWAP1 000025b0: SHR 000025b1: PUSH1 0x35 000025b3: CALLDATALOAD 000025b4: PUSH1 0x80 000025b6: SHR 000025b7: PUSH1 0x00 000025b9: PUSH2 0x266b 000025bc: PUSH1 0x40 000025be: DUP1 000025bf: MLOAD 000025c0: PUSH1 0x04 000025c2: CALLDATALOAD 000025c3: PUSH1 0x60 000025c5: SWAP1 000025c6: DUP2 000025c7: SHR 000025c8: PUSH1 0x20 000025ca: DUP1 000025cb: DUP5 000025cc: ADD 000025cd: SWAP2 000025ce: SWAP1 000025cf: SWAP2 000025d0: MSTORE 000025d1: PUSH1 0x18 000025d3: CALLDATALOAD 000025d4: DUP3 000025d5: SHR 000025d6: DUP4 000025d7: DUP6 000025d8: ADD 000025d9: MSTORE 000025da: PUSH1 0x2c 000025dc: CALLDATALOAD 000025dd: PUSH1 0xe8 000025df: SHR 000025e0: DUP3 000025e1: DUP5 000025e2: ADD 000025e3: MSTORE 000025e4: DUP4 000025e5: MLOAD 000025e6: DUP1 000025e7: DUP5 000025e8: SUB 000025e9: SWAP1 000025ea: SWAP3 000025eb: ADD 000025ec: DUP3 000025ed: MSTORE 000025ee: PUSH1 0x80 000025f0: DUP4 000025f1: ADD 000025f2: DUP5 000025f3: MSTORE 000025f4: DUP2 000025f5: MLOAD 000025f6: SWAP2 000025f7: DUP2 000025f8: ADD 000025f9: SWAP2 000025fa: SWAP1 000025fb: SWAP2 000025fc: KECCAK256 000025fd: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000 0000261e: PUSH1 0xa0 00002620: DUP5 00002621: ADD 00002622: MSTORE 00002623: PUSH1 0xb5 00002625: DUP4 00002626: ADD 00002627: MSTORE 00002628: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54 00002649: PUSH1 0xd5 0000264b: DUP1 0000264c: DUP5 0000264d: ADD 0000264e: SWAP2 0000264f: SWAP1 00002650: SWAP2 00002651: MSTORE 00002652: DUP4 00002653: MLOAD 00002654: DUP1 00002655: DUP5 00002656: SUB 00002657: SWAP1 00002658: SWAP2 00002659: ADD 0000265a: DUP2 0000265b: MSTORE 0000265c: PUSH1 0xf5 0000265e: SWAP1 0000265f: SWAP3 00002660: ADD 00002661: SWAP1 00002662: SWAP3 00002663: MSTORE 00002664: DUP1 00002665: MLOAD 00002666: SWAP2 00002667: ADD 00002668: KECCAK256 00002669: SWAP1 0000266a: JUMP 0000266b: JUMPDEST 0000266c: PUSH1 0x40 0000266e: DUP1 0000266f: MLOAD 00002670: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000 00002691: PUSH1 0x60 00002693: DUP12 00002694: DUP2 00002695: SHL 00002696: DUP3 00002697: AND 00002698: PUSH1 0x20 0000269a: DUP5 0000269b: ADD 0000269c: MSTORE 0000269d: DUP11 0000269e: SWAP1 0000269f: SHL 000026a0: AND 000026a1: PUSH1 0x34 000026a3: DUP3 000026a4: ADD 000026a5: MSTORE 000026a6: PUSH32 0xffffff0000000000000000000000000000000000000000000000000000000000 000026c7: PUSH1 0xe8 000026c9: DUP10 000026ca: SWAP1 000026cb: SHL 000026cc: AND 000026cd: PUSH1 0x48 000026cf: DUP3 000026d0: ADD 000026d1: MSTORE 000026d2: DUP2 000026d3: MLOAD 000026d4: DUP1 000026d5: DUP3 000026d6: SUB 000026d7: PUSH1 0x2b 000026d9: ADD 000026da: DUP2 000026db: MSTORE 000026dc: PUSH1 0x4b 000026de: DUP3 000026df: ADD 000026e0: SWAP3 000026e1: DUP4 000026e2: SWAP1 000026e3: MSTORE 000026e4: PUSH32 0x3c8a7d8d00000000000000000000000000000000000000000000000000000000 00002705: SWAP1 00002706: SWAP3 00002707: MSTORE 00002708: SWAP2 00002709: SWAP3 0000270a: POP 0000270b: PUSH1 0x01 0000270d: PUSH1 0x01 0000270f: PUSH1 0xa0 00002711: SHL 00002712: SUB 00002713: DUP4 00002714: AND 00002715: SWAP2 00002716: PUSH4 0x3c8a7d8d 0000271b: SWAP2 0000271c: PUSH2 0x272f 0000271f: SWAP2 00002720: ADDRESS 00002721: SWAP2 00002722: DUP10 00002723: SWAP2 00002724: DUP10 00002725: SWAP2 00002726: DUP10 00002727: SWAP2 00002728: PUSH1 0x4f 0000272a: ADD 0000272b: PUSH2 0x4882 0000272e: JUMP 0000272f: JUMPDEST 00002730: PUSH1 0x40 00002732: DUP1 00002733: MLOAD 00002734: DUP1 00002735: DUP4 00002736: SUB 00002737: DUP2 00002738: PUSH1 0x00 0000273a: DUP8 0000273b: GAS 0000273c: CALL 0000273d: ISZERO 0000273e: DUP1 0000273f: ISZERO 00002740: PUSH2 0x274d 00002743: JUMPI 00002744: RETURNDATASIZE 00002745: PUSH1 0x00 00002747: DUP1 00002748: RETURNDATACOPY 00002749: RETURNDATASIZE 0000274a: PUSH1 0x00 0000274c: REVERT 0000274d: JUMPDEST 0000274e: POP 0000274f: POP 00002750: POP 00002751: POP 00002752: PUSH1 0x40 00002754: MLOAD 00002755: RETURNDATASIZE 00002756: PUSH1 0x1f 00002758: NOT 00002759: PUSH1 0x1f 0000275b: DUP3 0000275c: ADD 0000275d: AND 0000275e: DUP3 0000275f: ADD 00002760: DUP1 00002761: PUSH1 0x40 00002763: MSTORE 00002764: POP 00002765: DUP2 00002766: ADD 00002767: SWAP1 00002768: PUSH2 0x0521 0000276b: SWAP2 0000276c: SWAP1 0000276d: PUSH2 0x4700 00002770: JUMP 00002771: JUMPDEST 00002772: PUSH1 0x2f 00002774: CALLDATALOAD 00002775: PUSH1 0xe8 00002777: SWAP1 00002778: DUP2 00002779: SHR 0000277a: SWAP1 0000277b: PUSH1 0x32 0000277d: CALLDATALOAD 0000277e: SWAP1 0000277f: SHR 00002780: PUSH1 0x35 00002782: CALLDATALOAD 00002783: PUSH1 0x80 00002785: SHR 00002786: PUSH1 0x00 00002788: PUSH2 0x283a 0000278b: PUSH1 0x40 0000278d: DUP1 0000278e: MLOAD 0000278f: PUSH1 0x04 00002791: CALLDATALOAD 00002792: PUSH1 0x60 00002794: SWAP1 00002795: DUP2 00002796: SHR 00002797: PUSH1 0x20 00002799: DUP1 0000279a: DUP5 0000279b: ADD 0000279c: SWAP2 0000279d: SWAP1 0000279e: SWAP2 0000279f: MSTORE 000027a0: PUSH1 0x18 000027a2: CALLDATALOAD 000027a3: DUP3 000027a4: SHR 000027a5: DUP4 000027a6: DUP6 000027a7: ADD 000027a8: MSTORE 000027a9: PUSH1 0x2c 000027ab: CALLDATALOAD 000027ac: PUSH1 0xe8 000027ae: SHR 000027af: DUP3 000027b0: DUP5 000027b1: ADD 000027b2: MSTORE 000027b3: DUP4 000027b4: MLOAD 000027b5: DUP1 000027b6: DUP5 000027b7: SUB 000027b8: SWAP1 000027b9: SWAP3 000027ba: ADD 000027bb: DUP3 000027bc: MSTORE 000027bd: PUSH1 0x80 000027bf: DUP4 000027c0: ADD 000027c1: DUP5 000027c2: MSTORE 000027c3: DUP2 000027c4: MLOAD 000027c5: SWAP2 000027c6: DUP2 000027c7: ADD 000027c8: SWAP2 000027c9: SWAP1 000027ca: SWAP2 000027cb: KECCAK256 000027cc: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000 000027ed: PUSH1 0xa0 000027ef: DUP5 000027f0: ADD 000027f1: MSTORE 000027f2: PUSH1 0xb5 000027f4: DUP4 000027f5: ADD 000027f6: MSTORE 000027f7: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54 00002818: PUSH1 0xd5 0000281a: DUP1 0000281b: DUP5 0000281c: ADD 0000281d: SWAP2 0000281e: SWAP1 0000281f: SWAP2 00002820: MSTORE 00002821: DUP4 00002822: MLOAD 00002823: DUP1 00002824: DUP5 00002825: SUB 00002826: SWAP1 00002827: SWAP2 00002828: ADD 00002829: DUP2 0000282a: MSTORE 0000282b: PUSH1 0xf5 0000282d: SWAP1 0000282e: SWAP3 0000282f: ADD 00002830: SWAP1 00002831: SWAP3 00002832: MSTORE 00002833: DUP1 00002834: MLOAD 00002835: SWAP2 00002836: ADD 00002837: KECCAK256 00002838: SWAP1 00002839: JUMP 0000283a: JUMPDEST 0000283b: PUSH1 0x40 0000283d: MLOAD 0000283e: PUSH32 0xa34123a700000000000000000000000000000000000000000000000000000000 0000285f: DUP2 00002860: MSTORE 00002861: PUSH1 0x02 00002863: DUP7 00002864: DUP2 00002865: SIGNEXTEND 00002866: PUSH1 0x04 00002868: DUP4 00002869: ADD 0000286a: MSTORE 0000286b: DUP6 0000286c: SWAP1 0000286d: SIGNEXTEND 0000286e: PUSH1 0x24 00002870: DUP3 00002871: ADD 00002872: MSTORE 00002873: PUSH16 0xffffffffffffffffffffffffffffffff 00002884: DUP5 00002885: AND 00002886: PUSH1 0x44 00002888: DUP3 00002889: ADD 0000288a: MSTORE 0000288b: SWAP1 0000288c: SWAP2 0000288d: POP 0000288e: PUSH1 0x01 00002890: PUSH1 0x01 00002892: PUSH1 0xa0 00002894: SHL 00002895: SUB 00002896: DUP3 00002897: AND 00002898: SWAP1 00002899: PUSH4 0xa34123a7 0000289e: SWAP1 0000289f: PUSH1 0x64 000028a1: ADD 000028a2: PUSH1 0x40 000028a4: DUP1 000028a5: MLOAD 000028a6: DUP1 000028a7: DUP4 000028a8: SUB 000028a9: DUP2 000028aa: PUSH1 0x00 000028ac: DUP8 000028ad: GAS 000028ae: CALL 000028af: ISZERO 000028b0: DUP1 000028b1: ISZERO 000028b2: PUSH2 0x28bf 000028b5: JUMPI 000028b6: RETURNDATASIZE 000028b7: PUSH1 0x00 000028b9: DUP1 000028ba: RETURNDATACOPY 000028bb: RETURNDATASIZE 000028bc: PUSH1 0x00 000028be: REVERT 000028bf: JUMPDEST 000028c0: POP 000028c1: POP 000028c2: POP 000028c3: POP 000028c4: PUSH1 0x40 000028c6: MLOAD 000028c7: RETURNDATASIZE 000028c8: PUSH1 0x1f 000028ca: NOT 000028cb: PUSH1 0x1f 000028cd: DUP3 000028ce: ADD 000028cf: AND 000028d0: DUP3 000028d1: ADD 000028d2: DUP1 000028d3: PUSH1 0x40 000028d5: MSTORE 000028d6: POP 000028d7: DUP2 000028d8: ADD 000028d9: SWAP1 000028da: PUSH2 0x28e3 000028dd: SWAP2 000028de: SWAP1 000028df: PUSH2 0x4700 000028e2: JUMP 000028e3: JUMPDEST 000028e4: POP 000028e5: POP 000028e6: PUSH1 0x40 000028e8: MLOAD 000028e9: PUSH32 0x4f1eb3d800000000000000000000000000000000000000000000000000000000 0000290a: DUP2 0000290b: MSTORE 0000290c: ADDRESS 0000290d: PUSH1 0x04 0000290f: DUP3 00002910: ADD 00002911: MSTORE 00002912: PUSH1 0x02 00002914: DUP6 00002915: DUP2 00002916: SIGNEXTEND 00002917: PUSH1 0x24 00002919: DUP4 0000291a: ADD 0000291b: MSTORE 0000291c: DUP5 0000291d: SWAP1 0000291e: SIGNEXTEND 0000291f: PUSH1 0x44 00002921: DUP3 00002922: ADD 00002923: MSTORE 00002924: PUSH16 0xffffffffffffffffffffffffffffffff 00002935: PUSH1 0x64 00002937: DUP3 00002938: ADD 00002939: DUP2 0000293a: SWAP1 0000293b: MSTORE 0000293c: PUSH1 0x84 0000293e: DUP3 0000293f: ADD 00002940: MSTORE 00002941: PUSH1 0x01 00002943: PUSH1 0x01 00002945: PUSH1 0xa0 00002947: SHL 00002948: SUB 00002949: DUP3 0000294a: AND 0000294b: SWAP1 0000294c: PUSH4 0x4f1eb3d8 00002951: SWAP1 00002952: PUSH1 0xa4 00002954: ADD 00002955: PUSH1 0x40 00002957: DUP1 00002958: MLOAD 00002959: DUP1 0000295a: DUP4 0000295b: SUB 0000295c: DUP2 0000295d: PUSH1 0x00 0000295f: DUP8 00002960: GAS 00002961: CALL 00002962: ISZERO 00002963: DUP1 00002964: ISZERO 00002965: PUSH2 0x2972 00002968: JUMPI 00002969: RETURNDATASIZE 0000296a: PUSH1 0x00 0000296c: DUP1 0000296d: RETURNDATACOPY 0000296e: RETURNDATASIZE 0000296f: PUSH1 0x00 00002971: REVERT 00002972: JUMPDEST 00002973: POP 00002974: POP 00002975: POP 00002976: POP 00002977: PUSH1 0x40 00002979: MLOAD 0000297a: RETURNDATASIZE 0000297b: PUSH1 0x1f 0000297d: NOT 0000297e: PUSH1 0x1f 00002980: DUP3 00002981: ADD 00002982: AND 00002983: DUP3 00002984: ADD 00002985: DUP1 00002986: PUSH1 0x40 00002988: MSTORE 00002989: POP 0000298a: DUP2 0000298b: ADD 0000298c: SWAP1 0000298d: PUSH2 0x2996 00002990: SWAP2 00002991: SWAP1 00002992: PUSH2 0x4912 00002995: JUMP 00002996: JUMPDEST 00002997: POP 00002998: POP 00002999: POP 0000299a: POP 0000299b: POP 0000299c: POP 0000299d: JUMP 0000299e: JUMPDEST 0000299f: PUSH1 0x04 000029a1: CALLDATALOAD 000029a2: PUSH1 0x60 000029a4: SWAP1 000029a5: DUP2 000029a6: SHR 000029a7: SWAP1 000029a8: PUSH1 0x18 000029aa: CALLDATALOAD 000029ab: SWAP1 000029ac: SHR 000029ad: PUSH1 0x2c 000029af: CALLDATALOAD 000029b0: PUSH1 0x4c 000029b2: CALLDATALOAD 000029b3: PUSH1 0x6c 000029b5: CALLDATALOAD 000029b6: PUSH1 0xf8 000029b8: SHR 000029b9: DUP4 000029ba: DUP6 000029bb: LT 000029bc: PUSH1 0x00 000029be: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 000029df: DUP4 000029e0: ADD 000029e1: PUSH2 0x2b07 000029e4: JUMPI 000029e5: DUP2 000029e6: PUSH2 0x2a39 000029e9: JUMPI 000029ea: PUSH1 0x40 000029ec: MLOAD 000029ed: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000 00002a0e: PUSH1 0x60 00002a10: DUP9 00002a11: DUP2 00002a12: SHL 00002a13: DUP3 00002a14: AND 00002a15: PUSH1 0x20 00002a17: DUP5 00002a18: ADD 00002a19: MSTORE 00002a1a: DUP10 00002a1b: SWAP1 00002a1c: SHL 00002a1d: AND 00002a1e: PUSH1 0x34 00002a20: DUP3 00002a21: ADD 00002a22: MSTORE 00002a23: PUSH1 0x48 00002a25: ADD 00002a26: PUSH1 0x40 00002a28: MLOAD 00002a29: PUSH1 0x20 00002a2b: DUP2 00002a2c: DUP4 00002a2d: SUB 00002a2e: SUB 00002a2f: DUP2 00002a30: MSTORE 00002a31: SWAP1 00002a32: PUSH1 0x40 00002a34: MSTORE 00002a35: PUSH2 0x2a85 00002a38: JUMP 00002a39: JUMPDEST 00002a3a: PUSH1 0x40 00002a3c: MLOAD 00002a3d: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000 00002a5e: PUSH1 0x60 00002a60: DUP10 00002a61: DUP2 00002a62: SHL 00002a63: DUP3 00002a64: AND 00002a65: PUSH1 0x20 00002a67: DUP5 00002a68: ADD 00002a69: MSTORE 00002a6a: DUP9 00002a6b: SWAP1 00002a6c: SHL 00002a6d: AND 00002a6e: PUSH1 0x34 00002a70: DUP3 00002a71: ADD 00002a72: MSTORE 00002a73: PUSH1 0x48 00002a75: ADD 00002a76: PUSH1 0x40 00002a78: MLOAD 00002a79: PUSH1 0x20 00002a7b: DUP2 00002a7c: DUP4 00002a7d: SUB 00002a7e: SUB 00002a7f: DUP2 00002a80: MSTORE 00002a81: SWAP1 00002a82: PUSH1 0x40 00002a84: MSTORE 00002a85: JUMPDEST 00002a86: DUP1 00002a87: MLOAD 00002a88: PUSH1 0x20 00002a8a: SWAP2 00002a8b: DUP3 00002a8c: ADD 00002a8d: KECCAK256 00002a8e: PUSH1 0x40 00002a90: MLOAD 00002a91: PUSH32 0xff5c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f0000000000000000000000 00002ab2: SWAP3 00002ab3: DUP2 00002ab4: ADD 00002ab5: SWAP3 00002ab6: SWAP1 00002ab7: SWAP3 00002ab8: MSTORE 00002ab9: PUSH1 0x35 00002abb: DUP3 00002abc: ADD 00002abd: MSTORE 00002abe: PUSH32 0x96e8ac4277198ff8b6f785478aa9a39f403cb768dd02cbee326c3e7da348845f 00002adf: PUSH1 0x55 00002ae1: DUP3 00002ae2: ADD 00002ae3: MSTORE 00002ae4: PUSH1 0x75 00002ae6: ADD 00002ae7: JUMPDEST 00002ae8: PUSH1 0x40 00002aea: MLOAD 00002aeb: PUSH1 0x20 00002aed: DUP2 00002aee: DUP4 00002aef: SUB 00002af0: SUB 00002af1: DUP2 00002af2: MSTORE 00002af3: SWAP1 00002af4: PUSH1 0x40 00002af6: MSTORE 00002af7: DUP1 00002af8: MLOAD 00002af9: SWAP1 00002afa: PUSH1 0x20 00002afc: ADD 00002afd: KECCAK256 00002afe: PUSH1 0x00 00002b00: SHR 00002b01: SWAP1 00002b02: POP 00002b03: PUSH2 0x2db3 00002b06: JUMP 00002b07: JUMPDEST 00002b08: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe 00002b29: PUSH1 0xff 00002b2b: DUP5 00002b2c: AND 00002b2d: ADD 00002b2e: PUSH2 0x2c38 00002b31: JUMPI 00002b32: DUP2 00002b33: PUSH2 0x2b86 00002b36: JUMPI 00002b37: PUSH1 0x40 00002b39: MLOAD 00002b3a: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000 00002b5b: PUSH1 0x60 00002b5d: DUP9 00002b5e: DUP2 00002b5f: SHL 00002b60: DUP3 00002b61: AND 00002b62: PUSH1 0x20 00002b64: DUP5 00002b65: ADD 00002b66: MSTORE 00002b67: DUP10 00002b68: SWAP1 00002b69: SHL 00002b6a: AND 00002b6b: PUSH1 0x34 00002b6d: DUP3 00002b6e: ADD 00002b6f: MSTORE 00002b70: PUSH1 0x48 00002b72: ADD 00002b73: PUSH1 0x40 00002b75: MLOAD 00002b76: PUSH1 0x20 00002b78: DUP2 00002b79: DUP4 00002b7a: SUB 00002b7b: SUB 00002b7c: DUP2 00002b7d: MSTORE 00002b7e: SWAP1 00002b7f: PUSH1 0x40 00002b81: MSTORE 00002b82: PUSH2 0x2bd2 00002b85: JUMP 00002b86: JUMPDEST 00002b87: PUSH1 0x40 00002b89: MLOAD 00002b8a: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000 00002bab: PUSH1 0x60 00002bad: DUP10 00002bae: DUP2 00002baf: SHL 00002bb0: DUP3 00002bb1: AND 00002bb2: PUSH1 0x20 00002bb4: DUP5 00002bb5: ADD 00002bb6: MSTORE 00002bb7: DUP9 00002bb8: SWAP1 00002bb9: SHL 00002bba: AND 00002bbb: PUSH1 0x34 00002bbd: DUP3 00002bbe: ADD 00002bbf: MSTORE 00002bc0: PUSH1 0x48 00002bc2: ADD 00002bc3: PUSH1 0x40 00002bc5: MLOAD 00002bc6: PUSH1 0x20 00002bc8: DUP2 00002bc9: DUP4 00002bca: SUB 00002bcb: SUB 00002bcc: DUP2 00002bcd: MSTORE 00002bce: SWAP1 00002bcf: PUSH1 0x40 00002bd1: MSTORE 00002bd2: JUMPDEST 00002bd3: DUP1 00002bd4: MLOAD 00002bd5: PUSH1 0x20 00002bd7: SWAP2 00002bd8: DUP3 00002bd9: ADD 00002bda: KECCAK256 00002bdb: PUSH1 0x40 00002bdd: MLOAD 00002bde: PUSH32 0xffc0aee478e3658e2610c5f7a4a2e1777ce9e4f2ac0000000000000000000000 00002bff: SWAP3 00002c00: DUP2 00002c01: ADD 00002c02: SWAP3 00002c03: SWAP1 00002c04: SWAP3 00002c05: MSTORE 00002c06: PUSH1 0x35 00002c08: DUP3 00002c09: ADD 00002c0a: MSTORE 00002c0b: PUSH32 0xe18a34eb0e04b04f7a0ac29a6e80748dca96319b42c54d679cb821dca90c6303 00002c2c: PUSH1 0x55 00002c2e: DUP3 00002c2f: ADD 00002c30: MSTORE 00002c31: PUSH1 0x75 00002c33: ADD 00002c34: PUSH2 0x2ae7 00002c37: JUMP 00002c38: JUMPDEST 00002c39: PUSH32 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd 00002c5a: PUSH1 0xff 00002c5c: DUP5 00002c5d: AND 00002c5e: ADD 00002c5f: PUSH2 0x2d69 00002c62: JUMPI 00002c63: DUP2 00002c64: PUSH2 0x2cb7 00002c67: JUMPI 00002c68: PUSH1 0x40 00002c6a: MLOAD 00002c6b: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000 00002c8c: PUSH1 0x60 00002c8e: DUP9 00002c8f: DUP2 00002c90: SHL 00002c91: DUP3 00002c92: AND 00002c93: PUSH1 0x20 00002c95: DUP5 00002c96: ADD 00002c97: MSTORE 00002c98: DUP10 00002c99: SWAP1 00002c9a: SHL 00002c9b: AND 00002c9c: PUSH1 0x34 00002c9e: DUP3 00002c9f: ADD 00002ca0: MSTORE 00002ca1: PUSH1 0x48 00002ca3: ADD 00002ca4: PUSH1 0x40 00002ca6: MLOAD 00002ca7: PUSH1 0x20 00002ca9: DUP2 00002caa: DUP4 00002cab: SUB 00002cac: SUB 00002cad: DUP2 00002cae: MSTORE 00002caf: SWAP1 00002cb0: PUSH1 0x40 00002cb2: MSTORE 00002cb3: PUSH2 0x2d03 00002cb6: JUMP 00002cb7: JUMPDEST 00002cb8: PUSH1 0x40 00002cba: MLOAD 00002cbb: PUSH32 0xffffffffffffffffffffffffffffffffffffffff000000000000000000000000 00002cdc: PUSH1 0x60 00002cde: DUP10 00002cdf: DUP2 00002ce0: SHL 00002ce1: DUP3 00002ce2: AND 00002ce3: PUSH1 0x20 00002ce5: DUP5 00002ce6: ADD 00002ce7: MSTORE 00002ce8: DUP9 00002ce9: SWAP1 00002cea: SHL 00002ceb: AND 00002cec: PUSH1 0x34 00002cee: DUP3 00002cef: ADD 00002cf0: MSTORE 00002cf1: PUSH1 0x48 00002cf3: ADD 00002cf4: PUSH1 0x40 00002cf6: MLOAD 00002cf7: PUSH1 0x20 00002cf9: DUP2 00002cfa: DUP4 00002cfb: SUB 00002cfc: SUB 00002cfd: DUP2 00002cfe: MSTORE 00002cff: SWAP1 00002d00: PUSH1 0x40 00002d02: MSTORE 00002d03: JUMPDEST 00002d04: DUP1 00002d05: MLOAD 00002d06: PUSH1 0x20 00002d08: SWAP2 00002d09: DUP3 00002d0a: ADD 00002d0b: KECCAK256 00002d0c: PUSH1 0x40 00002d0e: MLOAD 00002d0f: PUSH32 0xff115934131916c8b277dd010ee02de363c09d037c0000000000000000000000 00002d30: SWAP3 00002d31: DUP2 00002d32: ADD 00002d33: SWAP3 00002d34: SWAP1 00002d35: SWAP3 00002d36: MSTORE 00002d37: PUSH1 0x35 00002d39: DUP3 00002d3a: ADD 00002d3b: MSTORE 00002d3c: PUSH32 0x65d1a3b1e46c6e4f1be1ad5f99ef14dc488ae0549dc97db9b30afe2241ce1c7a 00002d5d: PUSH1 0x55 00002d5f: DUP3 00002d60: ADD 00002d61: MSTORE 00002d62: PUSH1 0x75 00002d64: ADD 00002d65: PUSH2 0x2ae7 00002d68: JUMP 00002d69: JUMPDEST 00002d6a: PUSH1 0x40 00002d6c: MLOAD 00002d6d: PUSH3 0x461bcd 00002d71: PUSH1 0xe5 00002d73: SHL 00002d74: DUP2 00002d75: MSTORE 00002d76: PUSH1 0x04 00002d78: ADD 00002d79: PUSH2 0x01cc 00002d7c: SWAP1 00002d7d: PUSH1 0x20 00002d7f: DUP1 00002d80: DUP3 00002d81: MSTORE 00002d82: PUSH1 0x04 00002d84: SWAP1 00002d85: DUP3 00002d86: ADD 00002d87: MSTORE 00002d88: PUSH32 0x5632494400000000000000000000000000000000000000000000000000000000 00002da9: PUSH1 0x40 00002dab: DUP3 00002dac: ADD 00002dad: MSTORE 00002dae: PUSH1 0x60 00002db0: ADD 00002db1: SWAP1 00002db2: JUMP 00002db3: JUMPDEST 00002db4: DUP9 00002db5: ISZERO 00002db6: PUSH2 0x329d 00002db9: JUMPI 00002dba: DUP10 00002dbb: ISZERO 00002dbc: PUSH2 0x3134 00002dbf: JUMPI 00002dc0: DUP8 00002dc1: ISZERO 00002dc2: PUSH2 0x2f5d 00002dc5: JUMPI 00002dc6: PUSH1 0x40 00002dc8: MLOAD 00002dc9: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00002dea: DUP2 00002deb: MSTORE 00002dec: PUSH1 0x01 00002dee: PUSH1 0x01 00002df0: PUSH1 0xa0 00002df2: SHL 00002df3: SUB 00002df4: DUP3 00002df5: DUP2 00002df6: AND 00002df7: PUSH1 0x04 00002df9: DUP4 00002dfa: ADD 00002dfb: MSTORE 00002dfc: PUSH1 0x24 00002dfe: DUP3 00002dff: ADD 00002e00: DUP8 00002e01: SWAP1 00002e02: MSTORE 00002e03: DUP9 00002e04: AND 00002e05: SWAP1 00002e06: PUSH4 0xa9059cbb 00002e0b: SWAP1 00002e0c: PUSH1 0x44 00002e0e: ADD 00002e0f: PUSH1 0x00 00002e11: PUSH1 0x40 00002e13: MLOAD 00002e14: DUP1 00002e15: DUP4 00002e16: SUB 00002e17: DUP2 00002e18: PUSH1 0x00 00002e1a: DUP8 00002e1b: DUP1 00002e1c: EXTCODESIZE 00002e1d: ISZERO 00002e1e: DUP1 00002e1f: ISZERO 00002e20: PUSH2 0x2e28 00002e23: JUMPI 00002e24: PUSH1 0x00 00002e26: DUP1 00002e27: REVERT 00002e28: JUMPDEST 00002e29: POP 00002e2a: GAS 00002e2b: CALL 00002e2c: ISZERO 00002e2d: DUP1 00002e2e: ISZERO 00002e2f: PUSH2 0x2e3c 00002e32: JUMPI 00002e33: RETURNDATASIZE 00002e34: PUSH1 0x00 00002e36: DUP1 00002e37: RETURNDATACOPY 00002e38: RETURNDATASIZE 00002e39: PUSH1 0x00 00002e3b: REVERT 00002e3c: JUMPDEST 00002e3d: POP 00002e3e: POP 00002e3f: POP 00002e40: POP 00002e41: PUSH1 0x00 00002e43: DUP1 00002e44: DUP3 00002e45: PUSH1 0x01 00002e47: PUSH1 0x01 00002e49: PUSH1 0xa0 00002e4b: SHL 00002e4c: SUB 00002e4d: AND 00002e4e: PUSH4 0x0902f1ac 00002e53: PUSH1 0x40 00002e55: MLOAD 00002e56: DUP2 00002e57: PUSH4 0xffffffff 00002e5c: AND 00002e5d: PUSH1 0xe0 00002e5f: SHL 00002e60: DUP2 00002e61: MSTORE 00002e62: PUSH1 0x04 00002e64: ADD 00002e65: PUSH1 0x60 00002e67: PUSH1 0x40 00002e69: MLOAD 00002e6a: DUP1 00002e6b: DUP4 00002e6c: SUB 00002e6d: DUP2 00002e6e: DUP7 00002e6f: GAS 00002e70: STATICCALL 00002e71: ISZERO 00002e72: DUP1 00002e73: ISZERO 00002e74: PUSH2 0x2e81 00002e77: JUMPI 00002e78: RETURNDATASIZE 00002e79: PUSH1 0x00 00002e7b: DUP1 00002e7c: RETURNDATACOPY 00002e7d: RETURNDATASIZE 00002e7e: PUSH1 0x00 00002e80: REVERT 00002e81: JUMPDEST 00002e82: POP 00002e83: POP 00002e84: POP 00002e85: POP 00002e86: PUSH1 0x40 00002e88: MLOAD 00002e89: RETURNDATASIZE 00002e8a: PUSH1 0x1f 00002e8c: NOT 00002e8d: PUSH1 0x1f 00002e8f: DUP3 00002e90: ADD 00002e91: AND 00002e92: DUP3 00002e93: ADD 00002e94: DUP1 00002e95: PUSH1 0x40 00002e97: MSTORE 00002e98: POP 00002e99: DUP2 00002e9a: ADD 00002e9b: SWAP1 00002e9c: PUSH2 0x2ea5 00002e9f: SWAP2 00002ea0: SWAP1 00002ea1: PUSH2 0x4963 00002ea4: JUMP 00002ea5: JUMPDEST 00002ea6: POP 00002ea7: SWAP2 00002ea8: POP 00002ea9: SWAP2 00002eaa: POP 00002eab: DUP4 00002eac: PUSH2 0x2eb5 00002eaf: JUMPI 00002eb0: DUP1 00002eb1: PUSH2 0x2eb7 00002eb4: JUMP 00002eb5: JUMPDEST 00002eb6: DUP2 00002eb7: JUMPDEST 00002eb8: PUSH1 0x40 00002eba: MLOAD 00002ebb: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00002edc: DUP2 00002edd: MSTORE 00002ede: PUSH1 0x01 00002ee0: PUSH1 0x01 00002ee2: PUSH1 0xa0 00002ee4: SHL 00002ee5: SUB 00002ee6: DUP6 00002ee7: DUP2 00002ee8: AND 00002ee9: PUSH1 0x04 00002eeb: DUP4 00002eec: ADD 00002eed: MSTORE 00002eee: PUSH14 0xffffffffffffffffffffffffffff 00002efd: SWAP3 00002efe: SWAP1 00002eff: SWAP3 00002f00: AND 00002f01: SWAP2 00002f02: DUP12 00002f03: AND 00002f04: SWAP1 00002f05: PUSH4 0x70a08231 00002f0a: SWAP1 00002f0b: PUSH1 0x24 00002f0d: ADD 00002f0e: PUSH1 0x20 00002f10: PUSH1 0x40 00002f12: MLOAD 00002f13: DUP1 00002f14: DUP4 00002f15: SUB 00002f16: DUP2 00002f17: DUP7 00002f18: GAS 00002f19: STATICCALL 00002f1a: ISZERO 00002f1b: DUP1 00002f1c: ISZERO 00002f1d: PUSH2 0x2f2a 00002f20: JUMPI 00002f21: RETURNDATASIZE 00002f22: PUSH1 0x00 00002f24: DUP1 00002f25: RETURNDATACOPY 00002f26: RETURNDATASIZE 00002f27: PUSH1 0x00 00002f29: REVERT 00002f2a: JUMPDEST 00002f2b: POP 00002f2c: POP 00002f2d: POP 00002f2e: POP 00002f2f: PUSH1 0x40 00002f31: MLOAD 00002f32: RETURNDATASIZE 00002f33: PUSH1 0x1f 00002f35: NOT 00002f36: PUSH1 0x1f 00002f38: DUP3 00002f39: ADD 00002f3a: AND 00002f3b: DUP3 00002f3c: ADD 00002f3d: DUP1 00002f3e: PUSH1 0x40 00002f40: MSTORE 00002f41: POP 00002f42: DUP2 00002f43: ADD 00002f44: SWAP1 00002f45: PUSH2 0x2f4e 00002f48: SWAP2 00002f49: SWAP1 00002f4a: PUSH2 0x49b3 00002f4d: JUMP 00002f4e: JUMPDEST 00002f4f: PUSH2 0x2f58 00002f52: SWAP2 00002f53: SWAP1 00002f54: PUSH2 0x49cc 00002f57: JUMP 00002f58: JUMPDEST 00002f59: SWAP7 00002f5a: POP 00002f5b: POP 00002f5c: POP 00002f5d: JUMPDEST 00002f5e: PUSH1 0x00 00002f60: PUSH2 0x2f6a 00002f63: DUP3 00002f64: DUP8 00002f65: DUP6 00002f66: PUSH2 0x42a4 00002f69: JUMP 00002f6a: JUMPDEST 00002f6b: SWAP1 00002f6c: POP 00002f6d: DUP5 00002f6e: DUP2 00002f6f: LT 00002f70: ISZERO 00002f71: PUSH2 0x2f79 00002f74: JUMPI 00002f75: PUSH1 0x00 00002f77: DUP1 00002f78: REVERT 00002f79: JUMPDEST 00002f7a: DUP9 00002f7b: PUSH2 0x2ffa 00002f7e: JUMPI 00002f7f: PUSH1 0x40 00002f81: MLOAD 00002f82: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00002fa3: DUP2 00002fa4: MSTORE 00002fa5: PUSH1 0x01 00002fa7: PUSH1 0x01 00002fa9: PUSH1 0xa0 00002fab: SHL 00002fac: SUB 00002fad: DUP4 00002fae: DUP2 00002faf: AND 00002fb0: PUSH1 0x04 00002fb2: DUP4 00002fb3: ADD 00002fb4: MSTORE 00002fb5: PUSH1 0x24 00002fb7: DUP3 00002fb8: ADD 00002fb9: DUP9 00002fba: SWAP1 00002fbb: MSTORE 00002fbc: DUP10 00002fbd: AND 00002fbe: SWAP1 00002fbf: PUSH4 0xa9059cbb 00002fc4: SWAP1 00002fc5: PUSH1 0x44 00002fc7: ADD 00002fc8: PUSH1 0x00 00002fca: PUSH1 0x40 00002fcc: MLOAD 00002fcd: DUP1 00002fce: DUP4 00002fcf: SUB 00002fd0: DUP2 00002fd1: PUSH1 0x00 00002fd3: DUP8 00002fd4: DUP1 00002fd5: EXTCODESIZE 00002fd6: ISZERO 00002fd7: DUP1 00002fd8: ISZERO 00002fd9: PUSH2 0x2fe1 00002fdc: JUMPI 00002fdd: PUSH1 0x00 00002fdf: DUP1 00002fe0: REVERT 00002fe1: JUMPDEST 00002fe2: POP 00002fe3: GAS 00002fe4: CALL 00002fe5: ISZERO 00002fe6: DUP1 00002fe7: ISZERO 00002fe8: PUSH2 0x2ff5 00002feb: JUMPI 00002fec: RETURNDATASIZE 00002fed: PUSH1 0x00 00002fef: DUP1 00002ff0: RETURNDATACOPY 00002ff1: RETURNDATASIZE 00002ff2: PUSH1 0x00 00002ff4: REVERT 00002ff5: JUMPDEST 00002ff6: POP 00002ff7: POP 00002ff8: POP 00002ff9: POP 00002ffa: JUMPDEST 00002ffb: DUP3 00002ffc: ISZERO 00002ffd: PUSH2 0x3099 00003000: JUMPI 00003001: PUSH1 0x40 00003003: MLOAD 00003004: PUSH32 0x022c0d9f00000000000000000000000000000000000000000000000000000000 00003025: DUP2 00003026: MSTORE 00003027: PUSH1 0x00 00003029: PUSH1 0x04 0000302b: DUP3 0000302c: ADD 0000302d: DUP2 0000302e: SWAP1 0000302f: MSTORE 00003030: PUSH1 0x24 00003032: DUP3 00003033: ADD 00003034: DUP4 00003035: SWAP1 00003036: MSTORE 00003037: PUSH1 0x01 00003039: PUSH1 0x01 0000303b: PUSH1 0xa0 0000303d: SHL 0000303e: SUB 0000303f: DUP15 00003040: DUP2 00003041: AND 00003042: PUSH1 0x44 00003044: DUP5 00003045: ADD 00003046: MSTORE 00003047: PUSH1 0x80 00003049: PUSH1 0x64 0000304b: DUP5 0000304c: ADD 0000304d: MSTORE 0000304e: PUSH1 0x84 00003050: DUP4 00003051: ADD 00003052: SWAP2 00003053: SWAP1 00003054: SWAP2 00003055: MSTORE 00003056: DUP4 00003057: AND 00003058: SWAP1 00003059: PUSH4 0x022c0d9f 0000305e: SWAP1 0000305f: PUSH1 0xa4 00003061: ADD 00003062: JUMPDEST 00003063: PUSH1 0x00 00003065: PUSH1 0x40 00003067: MLOAD 00003068: DUP1 00003069: DUP4 0000306a: SUB 0000306b: DUP2 0000306c: PUSH1 0x00 0000306e: DUP8 0000306f: DUP1 00003070: EXTCODESIZE 00003071: ISZERO 00003072: DUP1 00003073: ISZERO 00003074: PUSH2 0x307c 00003077: JUMPI 00003078: PUSH1 0x00 0000307a: DUP1 0000307b: REVERT 0000307c: JUMPDEST 0000307d: POP 0000307e: GAS 0000307f: CALL 00003080: ISZERO 00003081: DUP1 00003082: ISZERO 00003083: PUSH2 0x3090 00003086: JUMPI 00003087: RETURNDATASIZE 00003088: PUSH1 0x00 0000308a: DUP1 0000308b: RETURNDATACOPY 0000308c: RETURNDATASIZE 0000308d: PUSH1 0x00 0000308f: REVERT 00003090: JUMPDEST 00003091: POP 00003092: POP 00003093: POP 00003094: POP 00003095: PUSH2 0x312e 00003098: JUMP 00003099: JUMPDEST 0000309a: PUSH1 0x40 0000309c: MLOAD 0000309d: PUSH32 0x022c0d9f00000000000000000000000000000000000000000000000000000000 000030be: DUP2 000030bf: MSTORE 000030c0: PUSH1 0x04 000030c2: DUP2 000030c3: ADD 000030c4: DUP3 000030c5: SWAP1 000030c6: MSTORE 000030c7: PUSH1 0x00 000030c9: PUSH1 0x24 000030cb: DUP3 000030cc: ADD 000030cd: DUP2 000030ce: SWAP1 000030cf: MSTORE 000030d0: PUSH1 0x01 000030d2: PUSH1 0x01 000030d4: PUSH1 0xa0 000030d6: SHL 000030d7: SUB 000030d8: DUP15 000030d9: DUP2 000030da: AND 000030db: PUSH1 0x44 000030dd: DUP5 000030de: ADD 000030df: MSTORE 000030e0: PUSH1 0x80 000030e2: PUSH1 0x64 000030e4: DUP5 000030e5: ADD 000030e6: MSTORE 000030e7: PUSH1 0x84 000030e9: DUP4 000030ea: ADD 000030eb: SWAP2 000030ec: SWAP1 000030ed: SWAP2 000030ee: MSTORE 000030ef: DUP4 000030f0: AND 000030f1: SWAP1 000030f2: PUSH4 0x022c0d9f 000030f7: SWAP1 000030f8: PUSH1 0xa4 000030fa: ADD 000030fb: JUMPDEST 000030fc: PUSH1 0x00 000030fe: PUSH1 0x40 00003100: MLOAD 00003101: DUP1 00003102: DUP4 00003103: SUB 00003104: DUP2 00003105: PUSH1 0x00 00003107: DUP8 00003108: DUP1 00003109: EXTCODESIZE 0000310a: ISZERO 0000310b: DUP1 0000310c: ISZERO 0000310d: PUSH2 0x3115 00003110: JUMPI 00003111: PUSH1 0x00 00003113: DUP1 00003114: REVERT 00003115: JUMPDEST 00003116: POP 00003117: GAS 00003118: CALL 00003119: ISZERO 0000311a: DUP1 0000311b: ISZERO 0000311c: PUSH2 0x3129 0000311f: JUMPI 00003120: RETURNDATASIZE 00003121: PUSH1 0x00 00003123: DUP1 00003124: RETURNDATACOPY 00003125: RETURNDATASIZE 00003126: PUSH1 0x00 00003128: REVERT 00003129: JUMPDEST 0000312a: POP 0000312b: POP 0000312c: POP 0000312d: POP 0000312e: JUMPDEST 0000312f: POP 00003130: PUSH2 0x216b 00003133: JUMP 00003134: JUMPDEST 00003135: PUSH1 0x00 00003137: PUSH2 0x3141 0000313a: DUP3 0000313b: DUP7 0000313c: DUP6 0000313d: PUSH2 0x437e 00003140: JUMP 00003141: JUMPDEST 00003142: SWAP1 00003143: POP 00003144: DUP6 00003145: DUP2 00003146: GT 00003147: ISZERO 00003148: PUSH2 0x3150 0000314b: JUMPI 0000314c: PUSH1 0x00 0000314e: DUP1 0000314f: REVERT 00003150: JUMPDEST 00003151: PUSH1 0x40 00003153: MLOAD 00003154: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00003175: DUP2 00003176: MSTORE 00003177: PUSH1 0x01 00003179: PUSH1 0x01 0000317b: PUSH1 0xa0 0000317d: SHL 0000317e: SUB 0000317f: DUP4 00003180: DUP2 00003181: AND 00003182: PUSH1 0x04 00003184: DUP4 00003185: ADD 00003186: MSTORE 00003187: PUSH1 0x24 00003189: DUP3 0000318a: ADD 0000318b: DUP4 0000318c: SWAP1 0000318d: MSTORE 0000318e: DUP10 0000318f: AND 00003190: SWAP1 00003191: PUSH4 0xa9059cbb 00003196: SWAP1 00003197: PUSH1 0x44 00003199: ADD 0000319a: PUSH1 0x00 0000319c: PUSH1 0x40 0000319e: MLOAD 0000319f: DUP1 000031a0: DUP4 000031a1: SUB 000031a2: DUP2 000031a3: PUSH1 0x00 000031a5: DUP8 000031a6: DUP1 000031a7: EXTCODESIZE 000031a8: ISZERO 000031a9: DUP1 000031aa: ISZERO 000031ab: PUSH2 0x31b3 000031ae: JUMPI 000031af: PUSH1 0x00 000031b1: DUP1 000031b2: REVERT 000031b3: JUMPDEST 000031b4: POP 000031b5: GAS 000031b6: CALL 000031b7: ISZERO 000031b8: DUP1 000031b9: ISZERO 000031ba: PUSH2 0x31c7 000031bd: JUMPI 000031be: RETURNDATASIZE 000031bf: PUSH1 0x00 000031c1: DUP1 000031c2: RETURNDATACOPY 000031c3: RETURNDATASIZE 000031c4: PUSH1 0x00 000031c6: REVERT 000031c7: JUMPDEST 000031c8: POP 000031c9: POP 000031ca: POP 000031cb: POP 000031cc: DUP3 000031cd: ISZERO 000031ce: PUSH2 0x3237 000031d1: JUMPI 000031d2: PUSH1 0x40 000031d4: MLOAD 000031d5: PUSH32 0x022c0d9f00000000000000000000000000000000000000000000000000000000 000031f6: DUP2 000031f7: MSTORE 000031f8: PUSH1 0x00 000031fa: PUSH1 0x04 000031fc: DUP3 000031fd: ADD 000031fe: DUP2 000031ff: SWAP1 00003200: MSTORE 00003201: PUSH1 0x24 00003203: DUP3 00003204: ADD 00003205: DUP8 00003206: SWAP1 00003207: MSTORE 00003208: PUSH1 0x01 0000320a: PUSH1 0x01 0000320c: PUSH1 0xa0 0000320e: SHL 0000320f: SUB 00003210: DUP15 00003211: DUP2 00003212: AND 00003213: PUSH1 0x44 00003215: DUP5 00003216: ADD 00003217: MSTORE 00003218: PUSH1 0x80 0000321a: PUSH1 0x64 0000321c: DUP5 0000321d: ADD 0000321e: MSTORE 0000321f: PUSH1 0x84 00003221: DUP4 00003222: ADD 00003223: SWAP2 00003224: SWAP1 00003225: SWAP2 00003226: MSTORE 00003227: DUP4 00003228: AND 00003229: SWAP1 0000322a: PUSH4 0x022c0d9f 0000322f: SWAP1 00003230: PUSH1 0xa4 00003232: ADD 00003233: PUSH2 0x3062 00003236: JUMP 00003237: JUMPDEST 00003238: PUSH1 0x40 0000323a: MLOAD 0000323b: PUSH32 0x022c0d9f00000000000000000000000000000000000000000000000000000000 0000325c: DUP2 0000325d: MSTORE 0000325e: PUSH1 0x04 00003260: DUP2 00003261: ADD 00003262: DUP7 00003263: SWAP1 00003264: MSTORE 00003265: PUSH1 0x00 00003267: PUSH1 0x24 00003269: DUP3 0000326a: ADD 0000326b: DUP2 0000326c: SWAP1 0000326d: MSTORE 0000326e: PUSH1 0x01 00003270: PUSH1 0x01 00003272: PUSH1 0xa0 00003274: SHL 00003275: SUB 00003276: DUP15 00003277: DUP2 00003278: AND 00003279: PUSH1 0x44 0000327b: DUP5 0000327c: ADD 0000327d: MSTORE 0000327e: PUSH1 0x80 00003280: PUSH1 0x64 00003282: DUP5 00003283: ADD 00003284: MSTORE 00003285: PUSH1 0x84 00003287: DUP4 00003288: ADD 00003289: SWAP2 0000328a: SWAP1 0000328b: SWAP2 0000328c: MSTORE 0000328d: DUP4 0000328e: AND 0000328f: SWAP1 00003290: PUSH4 0x022c0d9f 00003295: SWAP1 00003296: PUSH1 0xa4 00003298: ADD 00003299: PUSH2 0x30fb 0000329c: JUMP 0000329d: JUMPDEST 0000329e: PUSH1 0x40 000032a0: MLOAD 000032a1: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 000032c2: DUP2 000032c3: MSTORE 000032c4: PUSH1 0x01 000032c6: PUSH1 0x01 000032c8: PUSH1 0xa0 000032ca: SHL 000032cb: SUB 000032cc: DUP3 000032cd: DUP2 000032ce: AND 000032cf: PUSH1 0x04 000032d1: DUP4 000032d2: ADD 000032d3: MSTORE 000032d4: PUSH1 0x24 000032d6: DUP3 000032d7: ADD 000032d8: DUP8 000032d9: SWAP1 000032da: MSTORE 000032db: DUP9 000032dc: AND 000032dd: SWAP1 000032de: PUSH4 0xa9059cbb 000032e3: SWAP1 000032e4: PUSH1 0x44 000032e6: ADD 000032e7: PUSH1 0x00 000032e9: PUSH1 0x40 000032eb: MLOAD 000032ec: DUP1 000032ed: DUP4 000032ee: SUB 000032ef: DUP2 000032f0: PUSH1 0x00 000032f2: DUP8 000032f3: DUP1 000032f4: EXTCODESIZE 000032f5: ISZERO 000032f6: DUP1 000032f7: ISZERO 000032f8: PUSH2 0x3300 000032fb: JUMPI 000032fc: PUSH1 0x00 000032fe: DUP1 000032ff: REVERT 00003300: JUMPDEST 00003301: POP 00003302: GAS 00003303: CALL 00003304: ISZERO 00003305: DUP1 00003306: ISZERO 00003307: PUSH2 0x3314 0000330a: JUMPI 0000330b: RETURNDATASIZE 0000330c: PUSH1 0x00 0000330e: DUP1 0000330f: RETURNDATACOPY 00003310: RETURNDATASIZE 00003311: PUSH1 0x00 00003313: REVERT 00003314: JUMPDEST 00003315: POP 00003316: POP 00003317: POP 00003318: POP 00003319: DUP2 0000331a: ISZERO 0000331b: PUSH2 0x33b6 0000331e: JUMPI 0000331f: PUSH1 0x40 00003321: MLOAD 00003322: PUSH32 0x022c0d9f00000000000000000000000000000000000000000000000000000000 00003343: DUP2 00003344: MSTORE 00003345: PUSH1 0x00 00003347: PUSH1 0x04 00003349: DUP3 0000334a: ADD 0000334b: DUP2 0000334c: SWAP1 0000334d: MSTORE 0000334e: PUSH1 0x24 00003350: DUP3 00003351: ADD 00003352: DUP7 00003353: SWAP1 00003354: MSTORE 00003355: PUSH1 0x01 00003357: PUSH1 0x01 00003359: PUSH1 0xa0 0000335b: SHL 0000335c: SUB 0000335d: DUP14 0000335e: DUP2 0000335f: AND 00003360: PUSH1 0x44 00003362: DUP5 00003363: ADD 00003364: MSTORE 00003365: PUSH1 0x80 00003367: PUSH1 0x64 00003369: DUP5 0000336a: ADD 0000336b: MSTORE 0000336c: PUSH1 0x84 0000336e: DUP4 0000336f: ADD 00003370: SWAP2 00003371: SWAP1 00003372: SWAP2 00003373: MSTORE 00003374: DUP3 00003375: AND 00003376: SWAP1 00003377: PUSH4 0x022c0d9f 0000337c: SWAP1 0000337d: PUSH1 0xa4 0000337f: ADD 00003380: PUSH1 0x00 00003382: PUSH1 0x40 00003384: MLOAD 00003385: DUP1 00003386: DUP4 00003387: SUB 00003388: DUP2 00003389: PUSH1 0x00 0000338b: DUP8 0000338c: DUP1 0000338d: EXTCODESIZE 0000338e: ISZERO 0000338f: DUP1 00003390: ISZERO 00003391: PUSH2 0x3399 00003394: JUMPI 00003395: PUSH1 0x00 00003397: DUP1 00003398: REVERT 00003399: JUMPDEST 0000339a: POP 0000339b: GAS 0000339c: CALL 0000339d: ISZERO 0000339e: DUP1 0000339f: ISZERO 000033a0: PUSH2 0x33ad 000033a3: JUMPI 000033a4: RETURNDATASIZE 000033a5: PUSH1 0x00 000033a7: DUP1 000033a8: RETURNDATACOPY 000033a9: RETURNDATASIZE 000033aa: PUSH1 0x00 000033ac: REVERT 000033ad: JUMPDEST 000033ae: POP 000033af: POP 000033b0: POP 000033b1: POP 000033b2: PUSH2 0x216b 000033b5: JUMP 000033b6: JUMPDEST 000033b7: PUSH1 0x40 000033b9: MLOAD 000033ba: PUSH32 0x022c0d9f00000000000000000000000000000000000000000000000000000000 000033db: DUP2 000033dc: MSTORE 000033dd: PUSH1 0x04 000033df: DUP2 000033e0: ADD 000033e1: DUP6 000033e2: SWAP1 000033e3: MSTORE 000033e4: PUSH1 0x00 000033e6: PUSH1 0x24 000033e8: DUP3 000033e9: ADD 000033ea: DUP2 000033eb: SWAP1 000033ec: MSTORE 000033ed: PUSH1 0x01 000033ef: PUSH1 0x01 000033f1: PUSH1 0xa0 000033f3: SHL 000033f4: SUB 000033f5: DUP14 000033f6: DUP2 000033f7: AND 000033f8: PUSH1 0x44 000033fa: DUP5 000033fb: ADD 000033fc: MSTORE 000033fd: PUSH1 0x80 000033ff: PUSH1 0x64 00003401: DUP5 00003402: ADD 00003403: MSTORE 00003404: PUSH1 0x84 00003406: DUP4 00003407: ADD 00003408: SWAP2 00003409: SWAP1 0000340a: SWAP2 0000340b: MSTORE 0000340c: DUP3 0000340d: AND 0000340e: SWAP1 0000340f: PUSH4 0x022c0d9f 00003414: SWAP1 00003415: PUSH1 0xa4 00003417: ADD 00003418: PUSH1 0x00 0000341a: PUSH1 0x40 0000341c: MLOAD 0000341d: DUP1 0000341e: DUP4 0000341f: SUB 00003420: DUP2 00003421: PUSH1 0x00 00003423: DUP8 00003424: DUP1 00003425: EXTCODESIZE 00003426: ISZERO 00003427: DUP1 00003428: ISZERO 00003429: PUSH2 0x3431 0000342c: JUMPI 0000342d: PUSH1 0x00 0000342f: DUP1 00003430: REVERT 00003431: JUMPDEST 00003432: POP 00003433: GAS 00003434: CALL 00003435: ISZERO 00003436: DUP1 00003437: ISZERO 00003438: PUSH2 0x3445 0000343b: JUMPI 0000343c: RETURNDATASIZE 0000343d: PUSH1 0x00 0000343f: DUP1 00003440: RETURNDATACOPY 00003441: RETURNDATASIZE 00003442: PUSH1 0x00 00003444: REVERT 00003445: JUMPDEST 00003446: POP 00003447: POP 00003448: POP 00003449: POP 0000344a: POP 0000344b: POP 0000344c: POP 0000344d: POP 0000344e: POP 0000344f: POP 00003450: POP 00003451: POP 00003452: POP 00003453: POP 00003454: POP 00003455: JUMP 00003456: JUMPDEST 00003457: PUSH1 0x40 00003459: MLOAD 0000345a: PUSH32 0x4903b0d100000000000000000000000000000000000000000000000000000000 0000347b: DUP2 0000347c: MSTORE 0000347d: PUSH1 0x00 0000347f: PUSH1 0x04 00003481: DUP1 00003482: DUP4 00003483: ADD 00003484: SWAP2 00003485: SWAP1 00003486: SWAP2 00003487: MSTORE 00003488: CALLDATALOAD 00003489: PUSH1 0x60 0000348b: SHR 0000348c: SWAP1 0000348d: PUSH1 0x18 0000348f: CALLDATALOAD 00003490: SWAP1 00003491: PUSH1 0x38 00003493: SWAP1 00003494: PUSH1 0x84 00003496: SWAP1 00003497: DUP5 00003498: SWAP1 00003499: PUSH4 0x4903b0d1 0000349e: SWAP1 0000349f: PUSH1 0x24 000034a1: ADD 000034a2: PUSH1 0x20 000034a4: PUSH1 0x40 000034a6: MLOAD 000034a7: DUP1 000034a8: DUP4 000034a9: SUB 000034aa: DUP2 000034ab: DUP7 000034ac: GAS 000034ad: STATICCALL 000034ae: ISZERO 000034af: DUP1 000034b0: ISZERO 000034b1: PUSH2 0x34be 000034b4: JUMPI 000034b5: RETURNDATASIZE 000034b6: PUSH1 0x00 000034b8: DUP1 000034b9: RETURNDATACOPY 000034ba: RETURNDATASIZE 000034bb: PUSH1 0x00 000034bd: REVERT 000034be: JUMPDEST 000034bf: POP 000034c0: POP 000034c1: POP 000034c2: POP 000034c3: PUSH1 0x40 000034c5: MLOAD 000034c6: RETURNDATASIZE 000034c7: PUSH1 0x1f 000034c9: NOT 000034ca: PUSH1 0x1f 000034cc: DUP3 000034cd: ADD 000034ce: AND 000034cf: DUP3 000034d0: ADD 000034d1: DUP1 000034d2: PUSH1 0x40 000034d4: MSTORE 000034d5: POP 000034d6: DUP2 000034d7: ADD 000034d8: SWAP1 000034d9: PUSH2 0x34e2 000034dc: SWAP2 000034dd: SWAP1 000034de: PUSH2 0x49b3 000034e1: JUMP 000034e2: JUMPDEST 000034e3: DUP4 000034e4: EQ 000034e5: PUSH2 0x34ed 000034e8: JUMPI 000034e9: PUSH1 0x00 000034eb: DUP1 000034ec: REVERT 000034ed: JUMPDEST 000034ee: PUSH1 0x00 000034f0: DUP5 000034f1: PUSH1 0x01 000034f3: PUSH1 0x01 000034f5: PUSH1 0xa0 000034f7: SHL 000034f8: SUB 000034f9: AND 000034fa: DUP4 000034fb: DUP4 000034fc: PUSH1 0x40 000034fe: MLOAD 000034ff: PUSH2 0x3509 00003502: SWAP3 00003503: SWAP2 00003504: SWAP1 00003505: PUSH2 0x49df 00003508: JUMP 00003509: JUMPDEST 0000350a: PUSH1 0x00 0000350c: PUSH1 0x40 0000350e: MLOAD 0000350f: DUP1 00003510: DUP4 00003511: SUB 00003512: DUP2 00003513: PUSH1 0x00 00003515: DUP7 00003516: GAS 00003517: CALL 00003518: SWAP2 00003519: POP 0000351a: POP 0000351b: RETURNDATASIZE 0000351c: DUP1 0000351d: PUSH1 0x00 0000351f: DUP2 00003520: EQ 00003521: PUSH2 0x3546 00003524: JUMPI 00003525: PUSH1 0x40 00003527: MLOAD 00003528: SWAP2 00003529: POP 0000352a: PUSH1 0x1f 0000352c: NOT 0000352d: PUSH1 0x3f 0000352f: RETURNDATASIZE 00003530: ADD 00003531: AND 00003532: DUP3 00003533: ADD 00003534: PUSH1 0x40 00003536: MSTORE 00003537: RETURNDATASIZE 00003538: DUP3 00003539: MSTORE 0000353a: RETURNDATASIZE 0000353b: PUSH1 0x00 0000353d: PUSH1 0x20 0000353f: DUP5 00003540: ADD 00003541: RETURNDATACOPY 00003542: PUSH2 0x354b 00003545: JUMP 00003546: JUMPDEST 00003547: PUSH1 0x60 00003549: SWAP2 0000354a: POP 0000354b: JUMPDEST 0000354c: POP 0000354d: POP 0000354e: SWAP1 0000354f: POP 00003550: DUP1 00003551: PUSH2 0x0526 00003554: JUMPI 00003555: PUSH1 0x00 00003557: DUP1 00003558: REVERT 00003559: JUMPDEST 0000355a: PUSH1 0x00 0000355c: PUSH1 0x04 0000355e: CALLDATALOAD 0000355f: SWAP1 00003560: POP 00003561: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00003576: PUSH1 0x01 00003578: PUSH1 0x01 0000357a: PUSH1 0xa0 0000357c: SHL 0000357d: SUB 0000357e: AND 0000357f: PUSH4 0xd0e30db0 00003584: DUP3 00003585: PUSH1 0x40 00003587: MLOAD 00003588: DUP3 00003589: PUSH4 0xffffffff 0000358e: AND 0000358f: PUSH1 0xe0 00003591: SHL 00003592: DUP2 00003593: MSTORE 00003594: PUSH1 0x04 00003596: ADD 00003597: PUSH1 0x00 00003599: PUSH1 0x40 0000359b: MLOAD 0000359c: DUP1 0000359d: DUP4 0000359e: SUB 0000359f: DUP2 000035a0: DUP6 000035a1: DUP9 000035a2: DUP1 000035a3: EXTCODESIZE 000035a4: ISZERO 000035a5: DUP1 000035a6: ISZERO 000035a7: PUSH2 0x35af 000035aa: JUMPI 000035ab: PUSH1 0x00 000035ad: DUP1 000035ae: REVERT 000035af: JUMPDEST 000035b0: POP 000035b1: GAS 000035b2: CALL 000035b3: ISZERO 000035b4: DUP1 000035b5: ISZERO 000035b6: PUSH2 0x2996 000035b9: JUMPI 000035ba: RETURNDATASIZE 000035bb: PUSH1 0x00 000035bd: DUP1 000035be: RETURNDATACOPY 000035bf: RETURNDATASIZE 000035c0: PUSH1 0x00 000035c2: REVERT 000035c3: JUMPDEST 000035c4: PUSH1 0x40 000035c6: MLOAD 000035c7: PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000 000035e8: DUP2 000035e9: MSTORE 000035ea: PUSH1 0x04 000035ec: DUP1 000035ed: CALLDATALOAD 000035ee: SWAP1 000035ef: DUP3 000035f0: ADD 000035f1: DUP2 000035f2: SWAP1 000035f3: MSTORE 000035f4: SWAP1 000035f5: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 0000360a: SWAP1 0000360b: PUSH4 0x2e1a7d4d 00003610: SWAP1 00003611: PUSH1 0x24 00003613: ADD 00003614: PUSH1 0x00 00003616: PUSH1 0x40 00003618: MLOAD 00003619: DUP1 0000361a: DUP4 0000361b: SUB 0000361c: DUP2 0000361d: PUSH1 0x00 0000361f: DUP8 00003620: DUP1 00003621: EXTCODESIZE 00003622: ISZERO 00003623: DUP1 00003624: ISZERO 00003625: PUSH2 0x362d 00003628: JUMPI 00003629: PUSH1 0x00 0000362b: DUP1 0000362c: REVERT 0000362d: JUMPDEST 0000362e: POP 0000362f: GAS 00003630: CALL 00003631: ISZERO 00003632: DUP1 00003633: ISZERO 00003634: PUSH2 0x0526 00003637: JUMPI 00003638: RETURNDATASIZE 00003639: PUSH1 0x00 0000363b: DUP1 0000363c: RETURNDATACOPY 0000363d: RETURNDATASIZE 0000363e: PUSH1 0x00 00003640: REVERT 00003641: JUMPDEST 00003642: PUSH1 0x00 00003644: DUP1 00003645: PUSH2 0x3651 00003648: CALLDATASIZE 00003649: PUSH1 0x04 0000364b: DUP2 0000364c: DUP5 0000364d: PUSH2 0x49ef 00003650: JUMP 00003651: JUMPDEST 00003652: DUP2 00003653: ADD 00003654: SWAP1 00003655: PUSH2 0x365e 00003658: SWAP2 00003659: SWAP1 0000365a: PUSH2 0x4ae9 0000365d: JUMP 0000365e: JUMPDEST 0000365f: SWAP2 00003660: POP 00003661: SWAP2 00003662: POP 00003663: PUSH1 0x00 00003665: DUP3 00003666: PUSH1 0x01 00003668: PUSH1 0x01 0000366a: PUSH1 0xa0 0000366c: SHL 0000366d: SUB 0000366e: AND 0000366f: DUP3 00003670: PUSH1 0x40 00003672: MLOAD 00003673: PUSH2 0x367c 00003676: SWAP2 00003677: SWAP1 00003678: PUSH2 0x4b39 0000367b: JUMP 0000367c: JUMPDEST 0000367d: PUSH1 0x00 0000367f: PUSH1 0x40 00003681: MLOAD 00003682: DUP1 00003683: DUP4 00003684: SUB 00003685: DUP2 00003686: DUP6 00003687: GAS 00003688: DELEGATECALL 00003689: SWAP2 0000368a: POP 0000368b: POP 0000368c: RETURNDATASIZE 0000368d: DUP1 0000368e: PUSH1 0x00 00003690: DUP2 00003691: EQ 00003692: PUSH2 0x36b7 00003695: JUMPI 00003696: PUSH1 0x40 00003698: MLOAD 00003699: SWAP2 0000369a: POP 0000369b: PUSH1 0x1f 0000369d: NOT 0000369e: PUSH1 0x3f 000036a0: RETURNDATASIZE 000036a1: ADD 000036a2: AND 000036a3: DUP3 000036a4: ADD 000036a5: PUSH1 0x40 000036a7: MSTORE 000036a8: RETURNDATASIZE 000036a9: DUP3 000036aa: MSTORE 000036ab: RETURNDATASIZE 000036ac: PUSH1 0x00 000036ae: PUSH1 0x20 000036b0: DUP5 000036b1: ADD 000036b2: RETURNDATACOPY 000036b3: PUSH2 0x36bc 000036b6: JUMP 000036b7: JUMPDEST 000036b8: PUSH1 0x60 000036ba: SWAP2 000036bb: POP 000036bc: JUMPDEST 000036bd: POP 000036be: POP 000036bf: SWAP1 000036c0: POP 000036c1: DUP1 000036c2: PUSH2 0x0f52 000036c5: JUMPI 000036c6: PUSH1 0x00 000036c8: DUP1 000036c9: REVERT 000036ca: JUMPDEST 000036cb: PUSH1 0x00 000036cd: DUP1 000036ce: PUSH2 0x36da 000036d1: CALLDATASIZE 000036d2: PUSH1 0x04 000036d4: DUP2 000036d5: DUP5 000036d6: PUSH2 0x49ef 000036d9: JUMP 000036da: JUMPDEST 000036db: DUP2 000036dc: ADD 000036dd: SWAP1 000036de: PUSH2 0x36e7 000036e1: SWAP2 000036e2: SWAP1 000036e3: PUSH2 0x4c6d 000036e6: JUMP 000036e7: JUMPDEST 000036e8: SWAP2 000036e9: POP 000036ea: SWAP2 000036eb: POP 000036ec: PUSH1 0x00 000036ee: JUMPDEST 000036ef: DUP3 000036f0: MLOAD 000036f1: DUP2 000036f2: LT 000036f3: ISZERO 000036f4: PUSH2 0x0f52 000036f7: JUMPI 000036f8: PUSH1 0x00 000036fa: DUP4 000036fb: DUP3 000036fc: DUP2 000036fd: MLOAD 000036fe: DUP2 000036ff: LT 00003700: PUSH2 0x370b 00003703: JUMPI 00003704: PUSH2 0x370b 00003707: PUSH2 0x4cc7 0000370a: JUMP 0000370b: JUMPDEST 0000370c: PUSH1 0x20 0000370e: MUL 0000370f: PUSH1 0x20 00003711: ADD 00003712: ADD 00003713: MLOAD 00003714: PUSH1 0x01 00003716: PUSH1 0x01 00003718: PUSH1 0xa0 0000371a: SHL 0000371b: SUB 0000371c: AND 0000371d: DUP4 0000371e: DUP4 0000371f: DUP2 00003720: MLOAD 00003721: DUP2 00003722: LT 00003723: PUSH2 0x372e 00003726: JUMPI 00003727: PUSH2 0x372e 0000372a: PUSH2 0x4cc7 0000372d: JUMP 0000372e: JUMPDEST 0000372f: PUSH1 0x20 00003731: MUL 00003732: PUSH1 0x20 00003734: ADD 00003735: ADD 00003736: MLOAD 00003737: PUSH1 0x40 00003739: MLOAD 0000373a: PUSH2 0x3743 0000373d: SWAP2 0000373e: SWAP1 0000373f: PUSH2 0x4b39 00003742: JUMP 00003743: JUMPDEST 00003744: PUSH1 0x00 00003746: PUSH1 0x40 00003748: MLOAD 00003749: DUP1 0000374a: DUP4 0000374b: SUB 0000374c: DUP2 0000374d: PUSH1 0x00 0000374f: DUP7 00003750: GAS 00003751: CALL 00003752: SWAP2 00003753: POP 00003754: POP 00003755: RETURNDATASIZE 00003756: DUP1 00003757: PUSH1 0x00 00003759: DUP2 0000375a: EQ 0000375b: PUSH2 0x3780 0000375e: JUMPI 0000375f: PUSH1 0x40 00003761: MLOAD 00003762: SWAP2 00003763: POP 00003764: PUSH1 0x1f 00003766: NOT 00003767: PUSH1 0x3f 00003769: RETURNDATASIZE 0000376a: ADD 0000376b: AND 0000376c: DUP3 0000376d: ADD 0000376e: PUSH1 0x40 00003770: MSTORE 00003771: RETURNDATASIZE 00003772: DUP3 00003773: MSTORE 00003774: RETURNDATASIZE 00003775: PUSH1 0x00 00003777: PUSH1 0x20 00003779: DUP5 0000377a: ADD 0000377b: RETURNDATACOPY 0000377c: PUSH2 0x3785 0000377f: JUMP 00003780: JUMPDEST 00003781: PUSH1 0x60 00003783: SWAP2 00003784: POP 00003785: JUMPDEST 00003786: POP 00003787: POP 00003788: SWAP1 00003789: POP 0000378a: DUP1 0000378b: PUSH2 0x37d6 0000378e: JUMPI 0000378f: PUSH1 0x40 00003791: MLOAD 00003792: PUSH3 0x461bcd 00003796: PUSH1 0xe5 00003798: SHL 00003799: DUP2 0000379a: MSTORE 0000379b: PUSH1 0x20 0000379d: PUSH1 0x04 0000379f: DUP3 000037a0: ADD 000037a1: MSTORE 000037a2: PUSH1 0x0b 000037a4: PUSH1 0x24 000037a6: DUP3 000037a7: ADD 000037a8: MSTORE 000037a9: PUSH32 0x63616c6c206661696c6564000000000000000000000000000000000000000000 000037ca: PUSH1 0x44 000037cc: DUP3 000037cd: ADD 000037ce: MSTORE 000037cf: PUSH1 0x64 000037d1: ADD 000037d2: PUSH2 0x01cc 000037d5: JUMP 000037d6: JUMPDEST 000037d7: POP 000037d8: PUSH1 0x01 000037da: ADD 000037db: PUSH2 0x36ee 000037de: JUMP 000037df: JUMPDEST 000037e0: PUSH1 0x00 000037e2: DUP1 000037e3: DUP1 000037e4: PUSH2 0x37f0 000037e7: CALLDATASIZE 000037e8: PUSH1 0x04 000037ea: DUP2 000037eb: DUP5 000037ec: PUSH2 0x49ef 000037ef: JUMP 000037f0: JUMPDEST 000037f1: DUP2 000037f2: ADD 000037f3: SWAP1 000037f4: PUSH2 0x37fd 000037f7: SWAP2 000037f8: SWAP1 000037f9: PUSH2 0x4cf6 000037fc: JUMP 000037fd: JUMPDEST 000037fe: SWAP3 000037ff: POP 00003800: SWAP3 00003801: POP 00003802: SWAP3 00003803: POP 00003804: PUSH1 0x00 00003806: JUMPDEST 00003807: DUP4 00003808: MLOAD 00003809: DUP2 0000380a: LT 0000380b: ISZERO 0000380c: PUSH2 0x38f7 0000380f: JUMPI 00003810: PUSH1 0x00 00003812: DUP5 00003813: DUP3 00003814: DUP2 00003815: MLOAD 00003816: DUP2 00003817: LT 00003818: PUSH2 0x3823 0000381b: JUMPI 0000381c: PUSH2 0x3823 0000381f: PUSH2 0x4cc7 00003822: JUMP 00003823: JUMPDEST 00003824: PUSH1 0x20 00003826: MUL 00003827: PUSH1 0x20 00003829: ADD 0000382a: ADD 0000382b: MLOAD 0000382c: PUSH1 0x01 0000382e: PUSH1 0x01 00003830: PUSH1 0xa0 00003832: SHL 00003833: SUB 00003834: AND 00003835: DUP5 00003836: DUP4 00003837: DUP2 00003838: MLOAD 00003839: DUP2 0000383a: LT 0000383b: PUSH2 0x3846 0000383e: JUMPI 0000383f: PUSH2 0x3846 00003842: PUSH2 0x4cc7 00003845: JUMP 00003846: JUMPDEST 00003847: PUSH1 0x20 00003849: MUL 0000384a: PUSH1 0x20 0000384c: ADD 0000384d: ADD 0000384e: MLOAD 0000384f: PUSH1 0x40 00003851: MLOAD 00003852: PUSH2 0x385b 00003855: SWAP2 00003856: SWAP1 00003857: PUSH2 0x4b39 0000385a: JUMP 0000385b: JUMPDEST 0000385c: PUSH1 0x00 0000385e: PUSH1 0x40 00003860: MLOAD 00003861: DUP1 00003862: DUP4 00003863: SUB 00003864: DUP2 00003865: PUSH1 0x00 00003867: DUP7 00003868: GAS 00003869: CALL 0000386a: SWAP2 0000386b: POP 0000386c: POP 0000386d: RETURNDATASIZE 0000386e: DUP1 0000386f: PUSH1 0x00 00003871: DUP2 00003872: EQ 00003873: PUSH2 0x3898 00003876: JUMPI 00003877: PUSH1 0x40 00003879: MLOAD 0000387a: SWAP2 0000387b: POP 0000387c: PUSH1 0x1f 0000387e: NOT 0000387f: PUSH1 0x3f 00003881: RETURNDATASIZE 00003882: ADD 00003883: AND 00003884: DUP3 00003885: ADD 00003886: PUSH1 0x40 00003888: MSTORE 00003889: RETURNDATASIZE 0000388a: DUP3 0000388b: MSTORE 0000388c: RETURNDATASIZE 0000388d: PUSH1 0x00 0000388f: PUSH1 0x20 00003891: DUP5 00003892: ADD 00003893: RETURNDATACOPY 00003894: PUSH2 0x389d 00003897: JUMP 00003898: JUMPDEST 00003899: PUSH1 0x60 0000389b: SWAP2 0000389c: POP 0000389d: JUMPDEST 0000389e: POP 0000389f: POP 000038a0: SWAP1 000038a1: POP 000038a2: DUP1 000038a3: PUSH2 0x38ee 000038a6: JUMPI 000038a7: PUSH1 0x40 000038a9: MLOAD 000038aa: PUSH3 0x461bcd 000038ae: PUSH1 0xe5 000038b0: SHL 000038b1: DUP2 000038b2: MSTORE 000038b3: PUSH1 0x20 000038b5: PUSH1 0x04 000038b7: DUP3 000038b8: ADD 000038b9: MSTORE 000038ba: PUSH1 0x0b 000038bc: PUSH1 0x24 000038be: DUP3 000038bf: ADD 000038c0: MSTORE 000038c1: PUSH32 0x63616c6c206661696c6564000000000000000000000000000000000000000000 000038e2: PUSH1 0x44 000038e4: DUP3 000038e5: ADD 000038e6: MSTORE 000038e7: PUSH1 0x64 000038e9: ADD 000038ea: PUSH2 0x01cc 000038ed: JUMP 000038ee: JUMPDEST 000038ef: POP 000038f0: PUSH1 0x01 000038f2: ADD 000038f3: PUSH2 0x3806 000038f6: JUMP 000038f7: JUMPDEST 000038f8: POP 000038f9: PUSH1 0x40 000038fb: MLOAD 000038fc: COINBASE 000038fd: SWAP1 000038fe: DUP3 000038ff: ISZERO 00003900: PUSH2 0x08fc 00003903: MUL 00003904: SWAP1 00003905: DUP4 00003906: SWAP1 00003907: PUSH1 0x00 00003909: DUP2 0000390a: DUP2 0000390b: DUP2 0000390c: DUP6 0000390d: DUP9 0000390e: DUP9 0000390f: CALL 00003910: SWAP4 00003911: POP 00003912: POP 00003913: POP 00003914: POP 00003915: ISZERO 00003916: DUP1 00003917: ISZERO 00003918: PUSH2 0x3925 0000391b: JUMPI 0000391c: RETURNDATASIZE 0000391d: PUSH1 0x00 0000391f: DUP1 00003920: RETURNDATACOPY 00003921: RETURNDATASIZE 00003922: PUSH1 0x00 00003924: REVERT 00003925: JUMPDEST 00003926: POP 00003927: POP 00003928: POP 00003929: POP 0000392a: JUMP 0000392b: JUMPDEST 0000392c: PUSH1 0x00 0000392e: DUP1 0000392f: DUP1 00003930: PUSH2 0x393c 00003933: CALLDATASIZE 00003934: PUSH1 0x04 00003936: DUP2 00003937: DUP5 00003938: PUSH2 0x49ef 0000393b: JUMP 0000393c: JUMPDEST 0000393d: DUP2 0000393e: ADD 0000393f: SWAP1 00003940: PUSH2 0x3949 00003943: SWAP2 00003944: SWAP1 00003945: PUSH2 0x4dbe 00003948: JUMP 00003949: JUMPDEST 0000394a: SWAP2 0000394b: SWAP5 0000394c: POP 0000394d: SWAP3 0000394e: POP 0000394f: SWAP1 00003950: POP 00003951: DUP3 00003952: ISZERO 00003953: PUSH2 0x39d5 00003956: JUMPI 00003957: PUSH1 0x40 00003959: MLOAD 0000395a: PUSH32 0x2e1a7d4d00000000000000000000000000000000000000000000000000000000 0000397b: DUP2 0000397c: MSTORE 0000397d: PUSH1 0x04 0000397f: DUP2 00003980: ADD 00003981: DUP5 00003982: SWAP1 00003983: MSTORE 00003984: PUSH20 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 00003999: SWAP1 0000399a: PUSH4 0x2e1a7d4d 0000399f: SWAP1 000039a0: PUSH1 0x24 000039a2: ADD 000039a3: PUSH1 0x00 000039a5: PUSH1 0x40 000039a7: MLOAD 000039a8: DUP1 000039a9: DUP4 000039aa: SUB 000039ab: DUP2 000039ac: PUSH1 0x00 000039ae: DUP8 000039af: DUP1 000039b0: EXTCODESIZE 000039b1: ISZERO 000039b2: DUP1 000039b3: ISZERO 000039b4: PUSH2 0x39bc 000039b7: JUMPI 000039b8: PUSH1 0x00 000039ba: DUP1 000039bb: REVERT 000039bc: JUMPDEST 000039bd: POP 000039be: GAS 000039bf: CALL 000039c0: ISZERO 000039c1: DUP1 000039c2: ISZERO 000039c3: PUSH2 0x39d0 000039c6: JUMPI 000039c7: RETURNDATASIZE 000039c8: PUSH1 0x00 000039ca: DUP1 000039cb: RETURNDATACOPY 000039cc: RETURNDATASIZE 000039cd: PUSH1 0x00 000039cf: REVERT 000039d0: JUMPDEST 000039d1: POP 000039d2: POP 000039d3: POP 000039d4: POP 000039d5: JUMPDEST 000039d6: PUSH1 0x00 000039d8: JUMPDEST 000039d9: DUP3 000039da: MLOAD 000039db: DUP2 000039dc: LT 000039dd: ISZERO 000039de: PUSH2 0x3925 000039e1: JUMPI 000039e2: DUP3 000039e3: DUP2 000039e4: DUP2 000039e5: MLOAD 000039e6: DUP2 000039e7: LT 000039e8: PUSH2 0x39f3 000039eb: JUMPI 000039ec: PUSH2 0x39f3 000039ef: PUSH2 0x4cc7 000039f2: JUMP 000039f3: JUMPDEST 000039f4: PUSH1 0x20 000039f6: MUL 000039f7: PUSH1 0x20 000039f9: ADD 000039fa: ADD 000039fb: MLOAD 000039fc: PUSH1 0x01 000039fe: PUSH1 0x01 00003a00: PUSH1 0xa0 00003a02: SHL 00003a03: SUB 00003a04: AND 00003a05: PUSH2 0x08fc 00003a08: DUP4 00003a09: DUP4 00003a0a: DUP2 00003a0b: MLOAD 00003a0c: DUP2 00003a0d: LT 00003a0e: PUSH2 0x3a19 00003a11: JUMPI 00003a12: PUSH2 0x3a19 00003a15: PUSH2 0x4cc7 00003a18: JUMP 00003a19: JUMPDEST 00003a1a: PUSH1 0x20 00003a1c: MUL 00003a1d: PUSH1 0x20 00003a1f: ADD 00003a20: ADD 00003a21: MLOAD 00003a22: SWAP1 00003a23: DUP2 00003a24: ISZERO 00003a25: MUL 00003a26: SWAP1 00003a27: PUSH1 0x40 00003a29: MLOAD 00003a2a: PUSH1 0x00 00003a2c: PUSH1 0x40 00003a2e: MLOAD 00003a2f: DUP1 00003a30: DUP4 00003a31: SUB 00003a32: DUP2 00003a33: DUP6 00003a34: DUP9 00003a35: DUP9 00003a36: CALL 00003a37: SWAP4 00003a38: POP 00003a39: POP 00003a3a: POP 00003a3b: POP 00003a3c: ISZERO 00003a3d: DUP1 00003a3e: ISZERO 00003a3f: PUSH2 0x3a4c 00003a42: JUMPI 00003a43: RETURNDATASIZE 00003a44: PUSH1 0x00 00003a46: DUP1 00003a47: RETURNDATACOPY 00003a48: RETURNDATASIZE 00003a49: PUSH1 0x00 00003a4b: REVERT 00003a4c: JUMPDEST 00003a4d: POP 00003a4e: DUP1 00003a4f: PUSH2 0x3a57 00003a52: DUP2 00003a53: PUSH2 0x4e2b 00003a56: JUMP 00003a57: JUMPDEST 00003a58: SWAP2 00003a59: POP 00003a5a: POP 00003a5b: PUSH2 0x39d8 00003a5e: JUMP 00003a5f: JUMPDEST 00003a60: PUSH1 0x04 00003a62: CALLDATALOAD 00003a63: PUSH1 0x60 00003a65: SWAP1 00003a66: DUP2 00003a67: SHR 00003a68: SWAP1 00003a69: PUSH1 0x18 00003a6b: CALLDATALOAD 00003a6c: SWAP1 00003a6d: PUSH1 0x38 00003a6f: CALLDATALOAD 00003a70: SWAP1 00003a71: SHR 00003a72: DUP1 00003a73: PUSH2 0x3abe 00003a76: JUMPI 00003a77: PUSH1 0x40 00003a79: MLOAD 00003a7a: PUSH3 0x461bcd 00003a7e: PUSH1 0xe5 00003a80: SHL 00003a81: DUP2 00003a82: MSTORE 00003a83: PUSH1 0x20 00003a85: PUSH1 0x04 00003a87: DUP3 00003a88: ADD 00003a89: MSTORE 00003a8a: PUSH1 0x08 00003a8c: PUSH1 0x24 00003a8e: DUP3 00003a8f: ADD 00003a90: MSTORE 00003a91: PUSH32 0x53656e6420307830000000000000000000000000000000000000000000000000 00003ab2: PUSH1 0x44 00003ab4: DUP3 00003ab5: ADD 00003ab6: MSTORE 00003ab7: PUSH1 0x64 00003ab9: ADD 00003aba: PUSH2 0x01cc 00003abd: JUMP 00003abe: JUMPDEST 00003abf: PUSH1 0x40 00003ac1: MLOAD 00003ac2: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00003ae3: DUP2 00003ae4: MSTORE 00003ae5: PUSH1 0x01 00003ae7: PUSH1 0x01 00003ae9: PUSH1 0xa0 00003aeb: SHL 00003aec: SUB 00003aed: DUP3 00003aee: DUP2 00003aef: AND 00003af0: PUSH1 0x04 00003af2: DUP4 00003af3: ADD 00003af4: MSTORE 00003af5: PUSH1 0x24 00003af7: DUP3 00003af8: ADD 00003af9: DUP5 00003afa: SWAP1 00003afb: MSTORE 00003afc: DUP5 00003afd: AND 00003afe: SWAP1 00003aff: PUSH4 0xa9059cbb 00003b04: SWAP1 00003b05: PUSH1 0x44 00003b07: ADD 00003b08: JUMPDEST 00003b09: PUSH1 0x00 00003b0b: PUSH1 0x40 00003b0d: MLOAD 00003b0e: DUP1 00003b0f: DUP4 00003b10: SUB 00003b11: DUP2 00003b12: PUSH1 0x00 00003b14: DUP8 00003b15: DUP1 00003b16: EXTCODESIZE 00003b17: ISZERO 00003b18: DUP1 00003b19: ISZERO 00003b1a: PUSH2 0x3b22 00003b1d: JUMPI 00003b1e: PUSH1 0x00 00003b20: DUP1 00003b21: REVERT 00003b22: JUMPDEST 00003b23: POP 00003b24: GAS 00003b25: CALL 00003b26: ISZERO 00003b27: DUP1 00003b28: ISZERO 00003b29: PUSH2 0x1875 00003b2c: JUMPI 00003b2d: RETURNDATASIZE 00003b2e: PUSH1 0x00 00003b30: DUP1 00003b31: RETURNDATACOPY 00003b32: RETURNDATASIZE 00003b33: PUSH1 0x00 00003b35: REVERT 00003b36: JUMPDEST 00003b37: PUSH1 0x40 00003b39: MLOAD 00003b3a: PUSH32 0x095ea7b300000000000000000000000000000000000000000000000000000000 00003b5b: DUP2 00003b5c: MSTORE 00003b5d: PUSH1 0x38 00003b5f: CALLDATALOAD 00003b60: PUSH1 0x60 00003b62: SWAP1 00003b63: DUP2 00003b64: SHR 00003b65: PUSH1 0x04 00003b67: DUP1 00003b68: DUP5 00003b69: ADD 00003b6a: DUP3 00003b6b: SWAP1 00003b6c: MSTORE 00003b6d: PUSH1 0x18 00003b6f: CALLDATALOAD 00003b70: PUSH1 0x24 00003b72: DUP6 00003b73: ADD 00003b74: DUP2 00003b75: SWAP1 00003b76: MSTORE 00003b77: SWAP1 00003b78: CALLDATALOAD 00003b79: SWAP1 00003b7a: SWAP3 00003b7b: SHR 00003b7c: SWAP3 00003b7d: DUP4 00003b7e: SWAP1 00003b7f: PUSH4 0x095ea7b3 00003b84: SWAP1 00003b85: PUSH1 0x44 00003b87: ADD 00003b88: PUSH2 0x3b08 00003b8b: JUMP 00003b8c: JUMPDEST 00003b8d: PUSH1 0x00 00003b8f: DUP1 00003b90: DUP1 00003b91: PUSH2 0x3b9d 00003b94: CALLDATASIZE 00003b95: PUSH1 0x04 00003b97: DUP2 00003b98: DUP5 00003b99: PUSH2 0x49ef 00003b9c: JUMP 00003b9d: JUMPDEST 00003b9e: DUP2 00003b9f: ADD 00003ba0: SWAP1 00003ba1: PUSH2 0x3baa 00003ba4: SWAP2 00003ba5: SWAP1 00003ba6: PUSH2 0x4e63 00003ba9: JUMP 00003baa: JUMPDEST 00003bab: SWAP3 00003bac: POP 00003bad: SWAP3 00003bae: POP 00003baf: SWAP3 00003bb0: POP 00003bb1: DUP2 00003bb2: MLOAD 00003bb3: DUP4 00003bb4: MLOAD 00003bb5: EQ 00003bb6: PUSH2 0x3c01 00003bb9: JUMPI 00003bba: PUSH1 0x40 00003bbc: MLOAD 00003bbd: PUSH3 0x461bcd 00003bc1: PUSH1 0xe5 00003bc3: SHL 00003bc4: DUP2 00003bc5: MSTORE 00003bc6: PUSH1 0x20 00003bc8: PUSH1 0x04 00003bca: DUP3 00003bcb: ADD 00003bcc: MSTORE 00003bcd: PUSH1 0x0c 00003bcf: PUSH1 0x24 00003bd1: DUP3 00003bd2: ADD 00003bd3: MSTORE 00003bd4: PUSH32 0x696e76616c696420646174610000000000000000000000000000000000000000 00003bf5: PUSH1 0x44 00003bf7: DUP3 00003bf8: ADD 00003bf9: MSTORE 00003bfa: PUSH1 0x64 00003bfc: ADD 00003bfd: PUSH2 0x01cc 00003c00: JUMP 00003c01: JUMPDEST 00003c02: DUP3 00003c03: MLOAD 00003c04: DUP2 00003c05: PUSH1 0x01 00003c07: PUSH1 0x01 00003c09: PUSH1 0xa0 00003c0b: SHL 00003c0c: SUB 00003c0d: AND 00003c0e: GT 00003c0f: PUSH2 0x3c5a 00003c12: JUMPI 00003c13: PUSH1 0x40 00003c15: MLOAD 00003c16: PUSH3 0x461bcd 00003c1a: PUSH1 0xe5 00003c1c: SHL 00003c1d: DUP2 00003c1e: MSTORE 00003c1f: PUSH1 0x20 00003c21: PUSH1 0x04 00003c23: DUP3 00003c24: ADD 00003c25: MSTORE 00003c26: PUSH1 0x11 00003c28: PUSH1 0x24 00003c2a: DUP3 00003c2b: ADD 00003c2c: MSTORE 00003c2d: PUSH32 0x696e76616c696420726563697069656e74000000000000000000000000000000 00003c4e: PUSH1 0x44 00003c50: DUP3 00003c51: ADD 00003c52: MSTORE 00003c53: PUSH1 0x64 00003c55: ADD 00003c56: PUSH2 0x01cc 00003c59: JUMP 00003c5a: JUMPDEST 00003c5b: PUSH1 0x01 00003c5d: PUSH1 0x01 00003c5f: PUSH1 0xa0 00003c61: SHL 00003c62: SUB 00003c63: DUP2 00003c64: AND 00003c65: PUSH2 0x3cb0 00003c68: JUMPI 00003c69: PUSH1 0x40 00003c6b: MLOAD 00003c6c: PUSH3 0x461bcd 00003c70: PUSH1 0xe5 00003c72: SHL 00003c73: DUP2 00003c74: MSTORE 00003c75: PUSH1 0x20 00003c77: PUSH1 0x04 00003c79: DUP3 00003c7a: ADD 00003c7b: MSTORE 00003c7c: PUSH1 0x08 00003c7e: PUSH1 0x24 00003c80: DUP3 00003c81: ADD 00003c82: MSTORE 00003c83: PUSH32 0x53656e6420307830000000000000000000000000000000000000000000000000 00003ca4: PUSH1 0x44 00003ca6: DUP3 00003ca7: ADD 00003ca8: MSTORE 00003ca9: PUSH1 0x64 00003cab: ADD 00003cac: PUSH2 0x01cc 00003caf: JUMP 00003cb0: JUMPDEST 00003cb1: PUSH1 0x00 00003cb3: JUMPDEST 00003cb4: DUP4 00003cb5: MLOAD 00003cb6: DUP2 00003cb7: LT 00003cb8: ISZERO 00003cb9: PUSH2 0x3925 00003cbc: JUMPI 00003cbd: DUP4 00003cbe: DUP2 00003cbf: DUP2 00003cc0: MLOAD 00003cc1: DUP2 00003cc2: LT 00003cc3: PUSH2 0x3cce 00003cc6: JUMPI 00003cc7: PUSH2 0x3cce 00003cca: PUSH2 0x4cc7 00003ccd: JUMP 00003cce: JUMPDEST 00003ccf: PUSH1 0x20 00003cd1: MUL 00003cd2: PUSH1 0x20 00003cd4: ADD 00003cd5: ADD 00003cd6: MLOAD 00003cd7: PUSH1 0x01 00003cd9: PUSH1 0x01 00003cdb: PUSH1 0xa0 00003cdd: SHL 00003cde: SUB 00003cdf: AND 00003ce0: PUSH4 0xa9059cbb 00003ce5: DUP4 00003ce6: DUP6 00003ce7: DUP5 00003ce8: DUP2 00003ce9: MLOAD 00003cea: DUP2 00003ceb: LT 00003cec: PUSH2 0x3cf7 00003cef: JUMPI 00003cf0: PUSH2 0x3cf7 00003cf3: PUSH2 0x4cc7 00003cf6: JUMP 00003cf7: JUMPDEST 00003cf8: PUSH1 0x20 00003cfa: MUL 00003cfb: PUSH1 0x20 00003cfd: ADD 00003cfe: ADD 00003cff: MLOAD 00003d00: PUSH1 0x40 00003d02: MLOAD 00003d03: DUP4 00003d04: PUSH4 0xffffffff 00003d09: AND 00003d0a: PUSH1 0xe0 00003d0c: SHL 00003d0d: DUP2 00003d0e: MSTORE 00003d0f: PUSH1 0x04 00003d11: ADD 00003d12: PUSH2 0x3d30 00003d15: SWAP3 00003d16: SWAP2 00003d17: SWAP1 00003d18: PUSH1 0x01 00003d1a: PUSH1 0x01 00003d1c: PUSH1 0xa0 00003d1e: SHL 00003d1f: SUB 00003d20: SWAP3 00003d21: SWAP1 00003d22: SWAP3 00003d23: AND 00003d24: DUP3 00003d25: MSTORE 00003d26: PUSH1 0x20 00003d28: DUP3 00003d29: ADD 00003d2a: MSTORE 00003d2b: PUSH1 0x40 00003d2d: ADD 00003d2e: SWAP1 00003d2f: JUMP 00003d30: JUMPDEST 00003d31: PUSH1 0x00 00003d33: PUSH1 0x40 00003d35: MLOAD 00003d36: DUP1 00003d37: DUP4 00003d38: SUB 00003d39: DUP2 00003d3a: PUSH1 0x00 00003d3c: DUP8 00003d3d: DUP1 00003d3e: EXTCODESIZE 00003d3f: ISZERO 00003d40: DUP1 00003d41: ISZERO 00003d42: PUSH2 0x3d4a 00003d45: JUMPI 00003d46: PUSH1 0x00 00003d48: DUP1 00003d49: REVERT 00003d4a: JUMPDEST 00003d4b: POP 00003d4c: GAS 00003d4d: CALL 00003d4e: ISZERO 00003d4f: DUP1 00003d50: ISZERO 00003d51: PUSH2 0x3d5e 00003d54: JUMPI 00003d55: RETURNDATASIZE 00003d56: PUSH1 0x00 00003d58: DUP1 00003d59: RETURNDATACOPY 00003d5a: RETURNDATASIZE 00003d5b: PUSH1 0x00 00003d5d: REVERT 00003d5e: JUMPDEST 00003d5f: POP 00003d60: POP 00003d61: POP 00003d62: POP 00003d63: DUP1 00003d64: PUSH2 0x3d6c 00003d67: SWAP1 00003d68: PUSH2 0x4e2b 00003d6b: JUMP 00003d6c: JUMPDEST 00003d6d: SWAP1 00003d6e: POP 00003d6f: PUSH2 0x3cb3 00003d72: JUMP 00003d73: JUMPDEST 00003d74: PUSH1 0x00 00003d76: DUP1 00003d77: DUP1 00003d78: PUSH2 0x3d84 00003d7b: CALLDATASIZE 00003d7c: PUSH1 0x04 00003d7e: DUP2 00003d7f: DUP5 00003d80: PUSH2 0x49ef 00003d83: JUMP 00003d84: JUMPDEST 00003d85: DUP2 00003d86: ADD 00003d87: SWAP1 00003d88: PUSH2 0x3d91 00003d8b: SWAP2 00003d8c: SWAP1 00003d8d: PUSH2 0x4e63 00003d90: JUMP 00003d91: JUMPDEST 00003d92: SWAP3 00003d93: POP 00003d94: SWAP3 00003d95: POP 00003d96: SWAP3 00003d97: POP 00003d98: DUP2 00003d99: MLOAD 00003d9a: DUP4 00003d9b: MLOAD 00003d9c: EQ 00003d9d: PUSH2 0x3de8 00003da0: JUMPI 00003da1: PUSH1 0x40 00003da3: MLOAD 00003da4: PUSH3 0x461bcd 00003da8: PUSH1 0xe5 00003daa: SHL 00003dab: DUP2 00003dac: MSTORE 00003dad: PUSH1 0x20 00003daf: PUSH1 0x04 00003db1: DUP3 00003db2: ADD 00003db3: MSTORE 00003db4: PUSH1 0x0c 00003db6: PUSH1 0x24 00003db8: DUP3 00003db9: ADD 00003dba: MSTORE 00003dbb: PUSH32 0x696e76616c696420646174610000000000000000000000000000000000000000 00003ddc: PUSH1 0x44 00003dde: DUP3 00003ddf: ADD 00003de0: MSTORE 00003de1: PUSH1 0x64 00003de3: ADD 00003de4: PUSH2 0x01cc 00003de7: JUMP 00003de8: JUMPDEST 00003de9: PUSH1 0x00 00003deb: JUMPDEST 00003dec: DUP4 00003ded: MLOAD 00003dee: DUP2 00003def: LT 00003df0: ISZERO 00003df1: PUSH2 0x3925 00003df4: JUMPI 00003df5: DUP4 00003df6: DUP2 00003df7: DUP2 00003df8: MLOAD 00003df9: DUP2 00003dfa: LT 00003dfb: PUSH2 0x3e06 00003dfe: JUMPI 00003dff: PUSH2 0x3e06 00003e02: PUSH2 0x4cc7 00003e05: JUMP 00003e06: JUMPDEST 00003e07: PUSH1 0x20 00003e09: MUL 00003e0a: PUSH1 0x20 00003e0c: ADD 00003e0d: ADD 00003e0e: MLOAD 00003e0f: PUSH1 0x01 00003e11: PUSH1 0x01 00003e13: PUSH1 0xa0 00003e15: SHL 00003e16: SUB 00003e17: AND 00003e18: PUSH4 0x095ea7b3 00003e1d: DUP4 00003e1e: DUP6 00003e1f: DUP5 00003e20: DUP2 00003e21: MLOAD 00003e22: DUP2 00003e23: LT 00003e24: PUSH2 0x3e2f 00003e27: JUMPI 00003e28: PUSH2 0x3e2f 00003e2b: PUSH2 0x4cc7 00003e2e: JUMP 00003e2f: JUMPDEST 00003e30: PUSH1 0x20 00003e32: MUL 00003e33: PUSH1 0x20 00003e35: ADD 00003e36: ADD 00003e37: MLOAD 00003e38: PUSH1 0x40 00003e3a: MLOAD 00003e3b: DUP4 00003e3c: PUSH4 0xffffffff 00003e41: AND 00003e42: PUSH1 0xe0 00003e44: SHL 00003e45: DUP2 00003e46: MSTORE 00003e47: PUSH1 0x04 00003e49: ADD 00003e4a: PUSH2 0x3e68 00003e4d: SWAP3 00003e4e: SWAP2 00003e4f: SWAP1 00003e50: PUSH1 0x01 00003e52: PUSH1 0x01 00003e54: PUSH1 0xa0 00003e56: SHL 00003e57: SUB 00003e58: SWAP3 00003e59: SWAP1 00003e5a: SWAP3 00003e5b: AND 00003e5c: DUP3 00003e5d: MSTORE 00003e5e: PUSH1 0x20 00003e60: DUP3 00003e61: ADD 00003e62: MSTORE 00003e63: PUSH1 0x40 00003e65: ADD 00003e66: SWAP1 00003e67: JUMP 00003e68: JUMPDEST 00003e69: PUSH1 0x00 00003e6b: PUSH1 0x40 00003e6d: MLOAD 00003e6e: DUP1 00003e6f: DUP4 00003e70: SUB 00003e71: DUP2 00003e72: PUSH1 0x00 00003e74: DUP8 00003e75: DUP1 00003e76: EXTCODESIZE 00003e77: ISZERO 00003e78: DUP1 00003e79: ISZERO 00003e7a: PUSH2 0x3e82 00003e7d: JUMPI 00003e7e: PUSH1 0x00 00003e80: DUP1 00003e81: REVERT 00003e82: JUMPDEST 00003e83: POP 00003e84: GAS 00003e85: CALL 00003e86: ISZERO 00003e87: DUP1 00003e88: ISZERO 00003e89: PUSH2 0x3e96 00003e8c: JUMPI 00003e8d: RETURNDATASIZE 00003e8e: PUSH1 0x00 00003e90: DUP1 00003e91: RETURNDATACOPY 00003e92: RETURNDATASIZE 00003e93: PUSH1 0x00 00003e95: REVERT 00003e96: JUMPDEST 00003e97: POP 00003e98: POP 00003e99: POP 00003e9a: POP 00003e9b: DUP1 00003e9c: PUSH2 0x3ea4 00003e9f: SWAP1 00003ea0: PUSH2 0x4e2b 00003ea3: JUMP 00003ea4: JUMPDEST 00003ea5: SWAP1 00003ea6: POP 00003ea7: PUSH2 0x3deb 00003eaa: JUMP 00003eab: JUMPDEST 00003eac: PUSH1 0x04 00003eae: CALLDATALOAD 00003eaf: PUSH1 0x24 00003eb1: CALLDATALOAD 00003eb2: PUSH1 0x60 00003eb4: SHR 00003eb5: DUP1 00003eb6: PUSH2 0x3f01 00003eb9: JUMPI 00003eba: PUSH1 0x40 00003ebc: MLOAD 00003ebd: PUSH3 0x461bcd 00003ec1: PUSH1 0xe5 00003ec3: SHL 00003ec4: DUP2 00003ec5: MSTORE 00003ec6: PUSH1 0x20 00003ec8: PUSH1 0x04 00003eca: DUP3 00003ecb: ADD 00003ecc: MSTORE 00003ecd: PUSH1 0x08 00003ecf: PUSH1 0x24 00003ed1: DUP3 00003ed2: ADD 00003ed3: MSTORE 00003ed4: PUSH32 0x53656e6420307830000000000000000000000000000000000000000000000000 00003ef5: PUSH1 0x44 00003ef7: DUP3 00003ef8: ADD 00003ef9: MSTORE 00003efa: PUSH1 0x64 00003efc: ADD 00003efd: PUSH2 0x01cc 00003f00: JUMP 00003f01: JUMPDEST 00003f02: PUSH1 0x40 00003f04: MLOAD 00003f05: PUSH1 0x01 00003f07: PUSH1 0x01 00003f09: PUSH1 0xa0 00003f0b: SHL 00003f0c: SUB 00003f0d: DUP3 00003f0e: AND 00003f0f: SWAP1 00003f10: DUP4 00003f11: ISZERO 00003f12: PUSH2 0x08fc 00003f15: MUL 00003f16: SWAP1 00003f17: DUP5 00003f18: SWAP1 00003f19: PUSH1 0x00 00003f1b: DUP2 00003f1c: DUP2 00003f1d: DUP2 00003f1e: DUP6 00003f1f: DUP9 00003f20: DUP9 00003f21: CALL 00003f22: SWAP4 00003f23: POP 00003f24: POP 00003f25: POP 00003f26: POP 00003f27: ISZERO 00003f28: DUP1 00003f29: ISZERO 00003f2a: PUSH2 0x0f52 00003f2d: JUMPI 00003f2e: RETURNDATASIZE 00003f2f: PUSH1 0x00 00003f31: DUP1 00003f32: RETURNDATACOPY 00003f33: RETURNDATASIZE 00003f34: PUSH1 0x00 00003f36: REVERT 00003f37: JUMPDEST 00003f38: PUSH1 0x40 00003f3a: DUP1 00003f3b: MLOAD 00003f3c: PUSH1 0x84 00003f3e: CALLDATALOAD 00003f3f: PUSH1 0x60 00003f41: SWAP1 00003f42: DUP2 00003f43: SHR 00003f44: PUSH1 0x20 00003f46: DUP4 00003f47: ADD 00003f48: DUP2 00003f49: SWAP1 00003f4a: MSTORE 00003f4b: PUSH1 0x98 00003f4d: CALLDATALOAD 00003f4e: DUP3 00003f4f: SHR 00003f50: SWAP4 00003f51: DUP4 00003f52: ADD 00003f53: DUP5 00003f54: SWAP1 00003f55: MSTORE 00003f56: PUSH1 0xac 00003f58: CALLDATALOAD 00003f59: PUSH1 0xe8 00003f5b: SHR 00003f5c: SWAP2 00003f5d: DUP4 00003f5e: ADD 00003f5f: DUP3 00003f60: SWAP1 00003f61: MSTORE 00003f62: SWAP3 00003f63: SWAP2 00003f64: PUSH1 0x04 00003f66: CALLDATALOAD 00003f67: SWAP1 00003f68: PUSH1 0x24 00003f6a: CALLDATALOAD 00003f6b: SWAP1 00003f6c: PUSH1 0x80 00003f6e: ADD 00003f6f: PUSH1 0x40 00003f71: DUP1 00003f72: MLOAD 00003f73: PUSH1 0x1f 00003f75: NOT 00003f76: DUP2 00003f77: DUP5 00003f78: SUB 00003f79: ADD 00003f7a: DUP2 00003f7b: MSTORE 00003f7c: SWAP1 00003f7d: DUP3 00003f7e: SWAP1 00003f7f: MSTORE 00003f80: DUP1 00003f81: MLOAD 00003f82: PUSH1 0x20 00003f84: SWAP2 00003f85: DUP3 00003f86: ADD 00003f87: KECCAK256 00003f88: PUSH32 0xff1f98431c8ad98523631ae4a59f267346ea31f9840000000000000000000000 00003fa9: SWAP2 00003faa: DUP4 00003fab: ADD 00003fac: SWAP2 00003fad: SWAP1 00003fae: SWAP2 00003faf: MSTORE 00003fb0: PUSH1 0x35 00003fb2: DUP3 00003fb3: ADD 00003fb4: MSTORE 00003fb5: PUSH32 0xe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b54 00003fd6: PUSH1 0x55 00003fd8: DUP3 00003fd9: ADD 00003fda: MSTORE 00003fdb: PUSH1 0x75 00003fdd: ADD 00003fde: PUSH1 0x40 00003fe0: MLOAD 00003fe1: PUSH1 0x20 00003fe3: DUP2 00003fe4: DUP4 00003fe5: SUB 00003fe6: SUB 00003fe7: DUP2 00003fe8: MSTORE 00003fe9: SWAP1 00003fea: PUSH1 0x40 00003fec: MSTORE 00003fed: DUP1 00003fee: MLOAD 00003fef: SWAP1 00003ff0: PUSH1 0x20 00003ff2: ADD 00003ff3: KECCAK256 00003ff4: PUSH1 0x00 00003ff6: SHR 00003ff7: PUSH1 0x01 00003ff9: PUSH1 0x01 00003ffb: PUSH1 0xa0 00003ffd: SHL 00003ffe: SUB 00003fff: AND 00004000: CALLER 00004001: PUSH1 0x01 00004003: PUSH1 0x01 00004005: PUSH1 0xa0 00004007: SHL 00004008: SUB 00004009: AND 0000400a: EQ 0000400b: PUSH2 0x4056 0000400e: JUMPI 0000400f: PUSH1 0x40 00004011: MLOAD 00004012: PUSH3 0x461bcd 00004016: PUSH1 0xe5 00004018: SHL 00004019: DUP2 0000401a: MSTORE 0000401b: PUSH1 0x20 0000401d: PUSH1 0x04 0000401f: DUP3 00004020: ADD 00004021: MSTORE 00004022: PUSH1 0x01 00004024: PUSH1 0x24 00004026: DUP3 00004027: ADD 00004028: MSTORE 00004029: PUSH32 0x5000000000000000000000000000000000000000000000000000000000000000 0000404a: PUSH1 0x44 0000404c: DUP3 0000404d: ADD 0000404e: MSTORE 0000404f: PUSH1 0x64 00004051: ADD 00004052: PUSH2 0x01cc 00004055: JUMP 00004056: JUMPDEST 00004057: DUP2 00004058: ISZERO 00004059: PUSH2 0x40d6 0000405c: JUMPI 0000405d: PUSH1 0x40 0000405f: MLOAD 00004060: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00004081: DUP2 00004082: MSTORE 00004083: CALLER 00004084: PUSH1 0x04 00004086: DUP3 00004087: ADD 00004088: MSTORE 00004089: PUSH1 0x24 0000408b: DUP2 0000408c: ADD 0000408d: DUP4 0000408e: SWAP1 0000408f: MSTORE 00004090: PUSH1 0x01 00004092: PUSH1 0x01 00004094: PUSH1 0xa0 00004096: SHL 00004097: SUB 00004098: DUP7 00004099: AND 0000409a: SWAP1 0000409b: PUSH4 0xa9059cbb 000040a0: SWAP1 000040a1: PUSH1 0x44 000040a3: ADD 000040a4: PUSH1 0x00 000040a6: PUSH1 0x40 000040a8: MLOAD 000040a9: DUP1 000040aa: DUP4 000040ab: SUB 000040ac: DUP2 000040ad: PUSH1 0x00 000040af: DUP8 000040b0: DUP1 000040b1: EXTCODESIZE 000040b2: ISZERO 000040b3: DUP1 000040b4: ISZERO 000040b5: PUSH2 0x40bd 000040b8: JUMPI 000040b9: PUSH1 0x00 000040bb: DUP1 000040bc: REVERT 000040bd: JUMPDEST 000040be: POP 000040bf: GAS 000040c0: CALL 000040c1: ISZERO 000040c2: DUP1 000040c3: ISZERO 000040c4: PUSH2 0x40d1 000040c7: JUMPI 000040c8: RETURNDATASIZE 000040c9: PUSH1 0x00 000040cb: DUP1 000040cc: RETURNDATACOPY 000040cd: RETURNDATASIZE 000040ce: PUSH1 0x00 000040d0: REVERT 000040d1: JUMPDEST 000040d2: POP 000040d3: POP 000040d4: POP 000040d5: POP 000040d6: JUMPDEST 000040d7: DUP1 000040d8: ISZERO 000040d9: PUSH2 0x0526 000040dc: JUMPI 000040dd: PUSH1 0x40 000040df: MLOAD 000040e0: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00004101: DUP2 00004102: MSTORE 00004103: CALLER 00004104: PUSH1 0x04 00004106: DUP3 00004107: ADD 00004108: MSTORE 00004109: PUSH1 0x24 0000410b: DUP2 0000410c: ADD 0000410d: DUP3 0000410e: SWAP1 0000410f: MSTORE 00004110: PUSH1 0x01 00004112: PUSH1 0x01 00004114: PUSH1 0xa0 00004116: SHL 00004117: SUB 00004118: DUP6 00004119: AND 0000411a: SWAP1 0000411b: PUSH4 0xa9059cbb 00004120: SWAP1 00004121: PUSH1 0x44 00004123: ADD 00004124: PUSH2 0x04f3 00004127: JUMP 00004128: JUMPDEST 00004129: PUSH1 0x00 0000412b: DUP1 0000412c: PUSH2 0x4138 0000412f: CALLDATASIZE 00004130: PUSH1 0x04 00004132: DUP2 00004133: DUP5 00004134: PUSH2 0x49ef 00004137: JUMP 00004138: JUMPDEST 00004139: DUP2 0000413a: ADD 0000413b: SWAP1 0000413c: PUSH2 0x4145 0000413f: SWAP2 00004140: SWAP1 00004141: PUSH2 0x4ed0 00004144: JUMP 00004145: JUMPDEST 00004146: SWAP2 00004147: POP 00004148: SWAP2 00004149: POP 0000414a: PUSH1 0x00 0000414c: PUSH32 0x000000000000000000000000a009fa1ac416ec02f6f902a3a4a584b092ae6123 0000416d: PUSH1 0x01 0000416f: PUSH1 0x01 00004171: PUSH1 0xa0 00004173: SHL 00004174: SUB 00004175: AND 00004176: PUSH2 0x417f 00004179: DUP5 0000417a: DUP5 0000417b: PUSH2 0x4457 0000417e: JUMP 0000417f: JUMPDEST 00004180: PUSH1 0x01 00004182: PUSH1 0x01 00004184: PUSH1 0xa0 00004186: SHL 00004187: SUB 00004188: AND 00004189: SUB 0000418a: PUSH2 0x41b4 0000418d: JUMPI 0000418e: POP 0000418f: PUSH32 0x1626ba7e00000000000000000000000000000000000000000000000000000000 000041b0: PUSH2 0x41bf 000041b3: JUMP 000041b4: JUMPDEST 000041b5: POP 000041b6: PUSH1 0x01 000041b8: PUSH1 0x01 000041ba: PUSH1 0xe0 000041bc: SHL 000041bd: SUB 000041be: NOT 000041bf: JUMPDEST 000041c0: DUP1 000041c1: PUSH1 0x00 000041c3: MSTORE 000041c4: PUSH1 0x20 000041c6: PUSH1 0x00 000041c8: RETURN 000041c9: JUMPDEST 000041ca: PUSH1 0x00 000041cc: DUP1 000041cd: CALLDATALOAD 000041ce: PUSH1 0x01 000041d0: PUSH1 0x01 000041d2: PUSH1 0xe0 000041d4: SHL 000041d5: SUB 000041d6: NOT 000041d7: AND 000041d8: DUP2 000041d9: MSTORE 000041da: PUSH1 0x01 000041dc: PUSH1 0x20 000041de: MSTORE 000041df: PUSH1 0x40 000041e1: SWAP1 000041e2: KECCAK256 000041e3: SLOAD 000041e4: PUSH1 0x01 000041e6: PUSH1 0x01 000041e8: PUSH1 0xa0 000041ea: SHL 000041eb: SUB 000041ec: AND 000041ed: DUP1 000041ee: PUSH2 0x4239 000041f1: JUMPI 000041f2: PUSH1 0x40 000041f4: MLOAD 000041f5: PUSH3 0x461bcd 000041f9: PUSH1 0xe5 000041fb: SHL 000041fc: DUP2 000041fd: MSTORE 000041fe: PUSH1 0x20 00004200: PUSH1 0x04 00004202: DUP3 00004203: ADD 00004204: MSTORE 00004205: PUSH1 0x01 00004207: PUSH1 0x24 00004209: DUP3 0000420a: ADD 0000420b: MSTORE 0000420c: PUSH32 0x4400000000000000000000000000000000000000000000000000000000000000 0000422d: PUSH1 0x44 0000422f: DUP3 00004230: ADD 00004231: MSTORE 00004232: PUSH1 0x64 00004234: ADD 00004235: PUSH2 0x01cc 00004238: JUMP 00004239: JUMPDEST 0000423a: PUSH1 0x00 0000423c: DUP2 0000423d: PUSH1 0x01 0000423f: PUSH1 0x01 00004241: PUSH1 0xa0 00004243: SHL 00004244: SUB 00004245: AND 00004246: PUSH1 0x00 00004248: CALLDATASIZE 00004249: PUSH1 0x40 0000424b: MLOAD 0000424c: PUSH2 0x4256 0000424f: SWAP3 00004250: SWAP2 00004251: SWAP1 00004252: PUSH2 0x49df 00004255: JUMP 00004256: JUMPDEST 00004257: PUSH1 0x00 00004259: PUSH1 0x40 0000425b: MLOAD 0000425c: DUP1 0000425d: DUP4 0000425e: SUB 0000425f: DUP2 00004260: DUP6 00004261: GAS 00004262: DELEGATECALL 00004263: SWAP2 00004264: POP 00004265: POP 00004266: RETURNDATASIZE 00004267: DUP1 00004268: PUSH1 0x00 0000426a: DUP2 0000426b: EQ 0000426c: PUSH2 0x4291 0000426f: JUMPI 00004270: PUSH1 0x40 00004272: MLOAD 00004273: SWAP2 00004274: POP 00004275: PUSH1 0x1f 00004277: NOT 00004278: PUSH1 0x3f 0000427a: RETURNDATASIZE 0000427b: ADD 0000427c: AND 0000427d: DUP3 0000427e: ADD 0000427f: PUSH1 0x40 00004281: MSTORE 00004282: RETURNDATASIZE 00004283: DUP3 00004284: MSTORE 00004285: RETURNDATASIZE 00004286: PUSH1 0x00 00004288: PUSH1 0x20 0000428a: DUP5 0000428b: ADD 0000428c: RETURNDATACOPY 0000428d: PUSH2 0x4296 00004290: JUMP 00004291: JUMPDEST 00004292: PUSH1 0x60 00004294: SWAP2 00004295: POP 00004296: JUMPDEST 00004297: POP 00004298: POP 00004299: SWAP1 0000429a: POP 0000429b: DUP1 0000429c: PUSH2 0x0a2c 0000429f: JUMPI 000042a0: PUSH1 0x00 000042a2: DUP1 000042a3: REVERT 000042a4: JUMPDEST 000042a5: PUSH1 0x00 000042a7: DUP1 000042a8: PUSH1 0x00 000042aa: DUP6 000042ab: PUSH1 0x01 000042ad: PUSH1 0x01 000042af: PUSH1 0xa0 000042b1: SHL 000042b2: SUB 000042b3: AND 000042b4: PUSH4 0x0902f1ac 000042b9: PUSH1 0x40 000042bb: MLOAD 000042bc: DUP2 000042bd: PUSH4 0xffffffff 000042c2: AND 000042c3: PUSH1 0xe0 000042c5: SHL 000042c6: DUP2 000042c7: MSTORE 000042c8: PUSH1 0x04 000042ca: ADD 000042cb: PUSH1 0x60 000042cd: PUSH1 0x40 000042cf: MLOAD 000042d0: DUP1 000042d1: DUP4 000042d2: SUB 000042d3: DUP2 000042d4: DUP7 000042d5: GAS 000042d6: STATICCALL 000042d7: ISZERO 000042d8: DUP1 000042d9: ISZERO 000042da: PUSH2 0x42e7 000042dd: JUMPI 000042de: RETURNDATASIZE 000042df: PUSH1 0x00 000042e1: DUP1 000042e2: RETURNDATACOPY 000042e3: RETURNDATASIZE 000042e4: PUSH1 0x00 000042e6: REVERT 000042e7: JUMPDEST 000042e8: POP 000042e9: POP 000042ea: POP 000042eb: POP 000042ec: PUSH1 0x40 000042ee: MLOAD 000042ef: RETURNDATASIZE 000042f0: PUSH1 0x1f 000042f2: NOT 000042f3: PUSH1 0x1f 000042f5: DUP3 000042f6: ADD 000042f7: AND 000042f8: DUP3 000042f9: ADD 000042fa: DUP1 000042fb: PUSH1 0x40 000042fd: MSTORE 000042fe: POP 000042ff: DUP2 00004300: ADD 00004301: SWAP1 00004302: PUSH2 0x430b 00004305: SWAP2 00004306: SWAP1 00004307: PUSH2 0x4963 0000430a: JUMP 0000430b: JUMPDEST 0000430c: POP 0000430d: SWAP2 0000430e: POP 0000430f: SWAP2 00004310: POP 00004311: PUSH1 0x00 00004313: DUP1 00004314: DUP6 00004315: ISZERO 00004316: PUSH2 0x4335 00004319: JUMPI 0000431a: POP 0000431b: POP 0000431c: PUSH14 0xffffffffffffffffffffffffffff 0000432b: DUP1 0000432c: DUP4 0000432d: AND 0000432e: SWAP1 0000432f: DUP3 00004330: AND 00004331: PUSH2 0x434d 00004334: JUMP 00004335: JUMPDEST 00004336: POP 00004337: POP 00004338: PUSH14 0xffffffffffffffffffffffffffff 00004347: DUP1 00004348: DUP3 00004349: AND 0000434a: SWAP1 0000434b: DUP4 0000434c: AND 0000434d: JUMPDEST 0000434e: PUSH2 0x03e5 00004351: DUP1 00004352: DUP9 00004353: MUL 00004354: SWAP1 00004355: DUP3 00004356: DUP10 00004357: MUL 00004358: MUL 00004359: PUSH2 0x03e8 0000435c: DUP5 0000435d: MUL 0000435e: DUP3 0000435f: ADD 00004360: DUP1 00004361: DUP3 00004362: DUP2 00004363: PUSH2 0x436e 00004366: JUMPI 00004367: PUSH2 0x436e 0000436a: PUSH2 0x4f01 0000436d: JUMP 0000436e: JUMPDEST 0000436f: DIV 00004370: SWAP12 00004371: SWAP11 00004372: POP 00004373: POP 00004374: POP 00004375: POP 00004376: POP 00004377: POP 00004378: POP 00004379: POP 0000437a: POP 0000437b: POP 0000437c: POP 0000437d: JUMP 0000437e: JUMPDEST 0000437f: PUSH1 0x00 00004381: DUP1 00004382: PUSH1 0x00 00004384: DUP6 00004385: PUSH1 0x01 00004387: PUSH1 0x01 00004389: PUSH1 0xa0 0000438b: SHL 0000438c: SUB 0000438d: AND 0000438e: PUSH4 0x0902f1ac 00004393: PUSH1 0x40 00004395: MLOAD 00004396: DUP2 00004397: PUSH4 0xffffffff 0000439c: AND 0000439d: PUSH1 0xe0 0000439f: SHL 000043a0: DUP2 000043a1: MSTORE 000043a2: PUSH1 0x04 000043a4: ADD 000043a5: PUSH1 0x60 000043a7: PUSH1 0x40 000043a9: MLOAD 000043aa: DUP1 000043ab: DUP4 000043ac: SUB 000043ad: DUP2 000043ae: DUP7 000043af: GAS 000043b0: STATICCALL 000043b1: ISZERO 000043b2: DUP1 000043b3: ISZERO 000043b4: PUSH2 0x43c1 000043b7: JUMPI 000043b8: RETURNDATASIZE 000043b9: PUSH1 0x00 000043bb: DUP1 000043bc: RETURNDATACOPY 000043bd: RETURNDATASIZE 000043be: PUSH1 0x00 000043c0: REVERT 000043c1: JUMPDEST 000043c2: POP 000043c3: POP 000043c4: POP 000043c5: POP 000043c6: PUSH1 0x40 000043c8: MLOAD 000043c9: RETURNDATASIZE 000043ca: PUSH1 0x1f 000043cc: NOT 000043cd: PUSH1 0x1f 000043cf: DUP3 000043d0: ADD 000043d1: AND 000043d2: DUP3 000043d3: ADD 000043d4: DUP1 000043d5: PUSH1 0x40 000043d7: MSTORE 000043d8: POP 000043d9: DUP2 000043da: ADD 000043db: SWAP1 000043dc: PUSH2 0x43e5 000043df: SWAP2 000043e0: SWAP1 000043e1: PUSH2 0x4963 000043e4: JUMP 000043e5: JUMPDEST 000043e6: POP 000043e7: SWAP2 000043e8: POP 000043e9: SWAP2 000043ea: POP 000043eb: PUSH1 0x00 000043ed: DUP1 000043ee: DUP6 000043ef: ISZERO 000043f0: PUSH2 0x440f 000043f3: JUMPI 000043f4: POP 000043f5: POP 000043f6: PUSH14 0xffffffffffffffffffffffffffff 00004405: DUP1 00004406: DUP4 00004407: AND 00004408: SWAP1 00004409: DUP3 0000440a: AND 0000440b: PUSH2 0x4427 0000440e: JUMP 0000440f: JUMPDEST 00004410: POP 00004411: POP 00004412: PUSH14 0xffffffffffffffffffffffffffff 00004421: DUP1 00004422: DUP3 00004423: AND 00004424: SWAP1 00004425: DUP4 00004426: AND 00004427: JUMPDEST 00004428: PUSH2 0x03e8 0000442b: DUP3 0000442c: DUP9 0000442d: MUL 0000442e: MUL 0000442f: PUSH2 0x03e5 00004432: DUP9 00004433: DUP4 00004434: SUB 00004435: MUL 00004436: DUP1 00004437: DUP3 00004438: DUP2 00004439: PUSH2 0x4444 0000443c: JUMPI 0000443d: PUSH2 0x4444 00004440: PUSH2 0x4f01 00004443: JUMP 00004444: JUMPDEST 00004445: DIV 00004446: PUSH1 0x01 00004448: ADD 00004449: SWAP7 0000444a: POP 0000444b: POP 0000444c: POP 0000444d: POP 0000444e: POP 0000444f: POP 00004450: POP 00004451: SWAP4 00004452: SWAP3 00004453: POP 00004454: POP 00004455: POP 00004456: JUMP 00004457: JUMPDEST 00004458: PUSH1 0x00 0000445a: DUP1 0000445b: PUSH1 0x00 0000445d: DUP1 0000445e: PUSH2 0x4467 00004461: DUP7 00004462: DUP7 00004463: PUSH2 0x4483 00004466: JUMP 00004467: JUMPDEST 00004468: SWAP3 00004469: POP 0000446a: SWAP3 0000446b: POP 0000446c: SWAP3 0000446d: POP 0000446e: PUSH2 0x4477 00004471: DUP3 00004472: DUP3 00004473: PUSH2 0x44d0 00004476: JUMP 00004477: JUMPDEST 00004478: POP 00004479: SWAP1 0000447a: SWAP2 0000447b: POP 0000447c: POP 0000447d: JUMPDEST 0000447e: SWAP3 0000447f: SWAP2 00004480: POP 00004481: POP 00004482: JUMP 00004483: JUMPDEST 00004484: PUSH1 0x00 00004486: DUP1 00004487: PUSH1 0x00 00004489: DUP4 0000448a: MLOAD 0000448b: PUSH1 0x41 0000448d: SUB 0000448e: PUSH2 0x44bd 00004491: JUMPI 00004492: PUSH1 0x20 00004494: DUP5 00004495: ADD 00004496: MLOAD 00004497: PUSH1 0x40 00004499: DUP6 0000449a: ADD 0000449b: MLOAD 0000449c: PUSH1 0x60 0000449e: DUP7 0000449f: ADD 000044a0: MLOAD 000044a1: PUSH1 0x00 000044a3: BYTE 000044a4: PUSH2 0x44af 000044a7: DUP9 000044a8: DUP3 000044a9: DUP6 000044aa: DUP6 000044ab: PUSH2 0x45d4 000044ae: JUMP 000044af: JUMPDEST 000044b0: SWAP6 000044b1: POP 000044b2: SWAP6 000044b3: POP 000044b4: SWAP6 000044b5: POP 000044b6: POP 000044b7: POP 000044b8: POP 000044b9: PUSH2 0x44c9 000044bc: JUMP 000044bd: JUMPDEST 000044be: POP 000044bf: POP 000044c0: DUP2 000044c1: MLOAD 000044c2: PUSH1 0x00 000044c4: SWAP2 000044c5: POP 000044c6: PUSH1 0x02 000044c8: SWAP1 000044c9: JUMPDEST 000044ca: SWAP3 000044cb: POP 000044cc: SWAP3 000044cd: POP 000044ce: SWAP3 000044cf: JUMP 000044d0: JUMPDEST 000044d1: PUSH1 0x00 000044d3: DUP3 000044d4: PUSH1 0x03 000044d6: DUP2 000044d7: GT 000044d8: ISZERO 000044d9: PUSH2 0x44e4 000044dc: JUMPI 000044dd: PUSH2 0x44e4 000044e0: PUSH2 0x4f30 000044e3: JUMP 000044e4: JUMPDEST 000044e5: SUB 000044e6: PUSH2 0x44ed 000044e9: JUMPI 000044ea: POP 000044eb: POP 000044ec: JUMP 000044ed: JUMPDEST 000044ee: PUSH1 0x01 000044f0: DUP3 000044f1: PUSH1 0x03 000044f3: DUP2 000044f4: GT 000044f5: ISZERO 000044f6: PUSH2 0x4501 000044f9: JUMPI 000044fa: PUSH2 0x4501 000044fd: PUSH2 0x4f30 00004500: JUMP 00004501: JUMPDEST 00004502: SUB 00004503: PUSH2 0x4538 00004506: JUMPI 00004507: PUSH1 0x40 00004509: MLOAD 0000450a: PUSH32 0xf645eedf00000000000000000000000000000000000000000000000000000000 0000452b: DUP2 0000452c: MSTORE 0000452d: PUSH1 0x04 0000452f: ADD 00004530: PUSH1 0x40 00004532: MLOAD 00004533: DUP1 00004534: SWAP2 00004535: SUB 00004536: SWAP1 00004537: REVERT 00004538: JUMPDEST 00004539: PUSH1 0x02 0000453b: DUP3 0000453c: PUSH1 0x03 0000453e: DUP2 0000453f: GT 00004540: ISZERO 00004541: PUSH2 0x454c 00004544: JUMPI 00004545: PUSH2 0x454c 00004548: PUSH2 0x4f30 0000454b: JUMP 0000454c: JUMPDEST 0000454d: SUB 0000454e: PUSH2 0x4586 00004551: JUMPI 00004552: PUSH1 0x40 00004554: MLOAD 00004555: PUSH32 0xfce698f700000000000000000000000000000000000000000000000000000000 00004576: DUP2 00004577: MSTORE 00004578: PUSH1 0x04 0000457a: DUP2 0000457b: ADD 0000457c: DUP3 0000457d: SWAP1 0000457e: MSTORE 0000457f: PUSH1 0x24 00004581: ADD 00004582: PUSH2 0x01cc 00004585: JUMP 00004586: JUMPDEST 00004587: PUSH1 0x03 00004589: DUP3 0000458a: PUSH1 0x03 0000458c: DUP2 0000458d: GT 0000458e: ISZERO 0000458f: PUSH2 0x459a 00004592: JUMPI 00004593: PUSH2 0x459a 00004596: PUSH2 0x4f30 00004599: JUMP 0000459a: JUMPDEST 0000459b: SUB 0000459c: PUSH2 0x0a2c 0000459f: JUMPI 000045a0: PUSH1 0x40 000045a2: MLOAD 000045a3: PUSH32 0xd78bce0c00000000000000000000000000000000000000000000000000000000 000045c4: DUP2 000045c5: MSTORE 000045c6: PUSH1 0x04 000045c8: DUP2 000045c9: ADD 000045ca: DUP3 000045cb: SWAP1 000045cc: MSTORE 000045cd: PUSH1 0x24 000045cf: ADD 000045d0: PUSH2 0x01cc 000045d3: JUMP 000045d4: JUMPDEST 000045d5: PUSH1 0x00 000045d7: DUP1 000045d8: DUP1 000045d9: PUSH32 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0 000045fa: DUP5 000045fb: GT 000045fc: ISZERO 000045fd: PUSH2 0x460f 00004600: JUMPI 00004601: POP 00004602: PUSH1 0x00 00004604: SWAP2 00004605: POP 00004606: PUSH1 0x03 00004608: SWAP1 00004609: POP 0000460a: DUP3 0000460b: PUSH2 0x4699 0000460e: JUMP 0000460f: JUMPDEST 00004610: PUSH1 0x40 00004612: DUP1 00004613: MLOAD 00004614: PUSH1 0x00 00004616: DUP1 00004617: DUP3 00004618: MSTORE 00004619: PUSH1 0x20 0000461b: DUP3 0000461c: ADD 0000461d: DUP1 0000461e: DUP5 0000461f: MSTORE 00004620: DUP11 00004621: SWAP1 00004622: MSTORE 00004623: PUSH1 0xff 00004625: DUP10 00004626: AND 00004627: SWAP3 00004628: DUP3 00004629: ADD 0000462a: SWAP3 0000462b: SWAP1 0000462c: SWAP3 0000462d: MSTORE 0000462e: PUSH1 0x60 00004630: DUP2 00004631: ADD 00004632: DUP8 00004633: SWAP1 00004634: MSTORE 00004635: PUSH1 0x80 00004637: DUP2 00004638: ADD 00004639: DUP7 0000463a: SWAP1 0000463b: MSTORE 0000463c: PUSH1 0x01 0000463e: SWAP1 0000463f: PUSH1 0xa0 00004641: ADD 00004642: PUSH1 0x20 00004644: PUSH1 0x40 00004646: MLOAD 00004647: PUSH1 0x20 00004649: DUP2 0000464a: SUB 0000464b: SWAP1 0000464c: DUP1 0000464d: DUP5 0000464e: SUB 0000464f: SWAP1 00004650: DUP6 00004651: GAS 00004652: STATICCALL 00004653: ISZERO 00004654: DUP1 00004655: ISZERO 00004656: PUSH2 0x4663 00004659: JUMPI 0000465a: RETURNDATASIZE 0000465b: PUSH1 0x00 0000465d: DUP1 0000465e: RETURNDATACOPY 0000465f: RETURNDATASIZE 00004660: PUSH1 0x00 00004662: REVERT 00004663: JUMPDEST 00004664: POP 00004665: POP 00004666: PUSH1 0x40 00004668: MLOAD 00004669: PUSH1 0x1f 0000466b: NOT 0000466c: ADD 0000466d: MLOAD 0000466e: SWAP2 0000466f: POP 00004670: POP 00004671: PUSH1 0x01 00004673: PUSH1 0x01 00004675: PUSH1 0xa0 00004677: SHL 00004678: SUB 00004679: DUP2 0000467a: AND 0000467b: PUSH2 0x468f 0000467e: JUMPI 0000467f: POP 00004680: PUSH1 0x00 00004682: SWAP3 00004683: POP 00004684: PUSH1 0x01 00004686: SWAP2 00004687: POP 00004688: DUP3 00004689: SWAP1 0000468a: POP 0000468b: PUSH2 0x4699 0000468e: JUMP 0000468f: JUMPDEST 00004690: SWAP3 00004691: POP 00004692: PUSH1 0x00 00004694: SWAP2 00004695: POP 00004696: DUP2 00004697: SWAP1 00004698: POP 00004699: JUMPDEST 0000469a: SWAP5 0000469b: POP 0000469c: SWAP5 0000469d: POP 0000469e: SWAP5 0000469f: SWAP2 000046a0: POP 000046a1: POP 000046a2: JUMP 000046a3: JUMPDEST 000046a4: PUSH1 0x00 000046a6: PUSH1 0x01 000046a8: PUSH1 0x01 000046aa: PUSH1 0xa0 000046ac: SHL 000046ad: SUB 000046ae: DUP1 000046af: DUP10 000046b0: AND 000046b1: DUP4 000046b2: MSTORE 000046b3: DUP8 000046b4: ISZERO 000046b5: ISZERO 000046b6: PUSH1 0x20 000046b8: DUP5 000046b9: ADD 000046ba: MSTORE 000046bb: DUP7 000046bc: PUSH1 0x40 000046be: DUP5 000046bf: ADD 000046c0: MSTORE 000046c1: DUP1 000046c2: DUP7 000046c3: AND 000046c4: PUSH1 0x60 000046c6: DUP5 000046c7: ADD 000046c8: MSTORE 000046c9: POP 000046ca: PUSH1 0xa0 000046cc: PUSH1 0x80 000046ce: DUP4 000046cf: ADD 000046d0: MSTORE 000046d1: DUP3 000046d2: PUSH1 0xa0 000046d4: DUP4 000046d5: ADD 000046d6: MSTORE 000046d7: DUP3 000046d8: DUP5 000046d9: PUSH1 0xc0 000046db: DUP5 000046dc: ADD 000046dd: CALLDATACOPY 000046de: PUSH1 0x00 000046e0: PUSH1 0xc0 000046e2: DUP5 000046e3: DUP5 000046e4: ADD 000046e5: ADD 000046e6: MSTORE 000046e7: PUSH1 0xc0 000046e9: PUSH1 0x1f 000046eb: NOT 000046ec: PUSH1 0x1f 000046ee: DUP6 000046ef: ADD 000046f0: AND 000046f1: DUP4 000046f2: ADD 000046f3: ADD 000046f4: SWAP1 000046f5: POP 000046f6: SWAP8 000046f7: SWAP7 000046f8: POP 000046f9: POP 000046fa: POP 000046fb: POP 000046fc: POP 000046fd: POP 000046fe: POP 000046ff: JUMP 00004700: JUMPDEST 00004701: PUSH1 0x00 00004703: DUP1 00004704: PUSH1 0x40 00004706: DUP4 00004707: DUP6 00004708: SUB 00004709: SLT 0000470a: ISZERO 0000470b: PUSH2 0x4713 0000470e: JUMPI 0000470f: PUSH1 0x00 00004711: DUP1 00004712: REVERT 00004713: JUMPDEST 00004714: POP 00004715: POP 00004716: DUP1 00004717: MLOAD 00004718: PUSH1 0x20 0000471a: SWAP1 0000471b: SWAP2 0000471c: ADD 0000471d: MLOAD 0000471e: SWAP1 0000471f: SWAP3 00004720: SWAP1 00004721: SWAP2 00004722: POP 00004723: JUMP 00004724: JUMPDEST 00004725: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004746: PUSH1 0x00 00004748: MSTORE 00004749: PUSH1 0x11 0000474b: PUSH1 0x04 0000474d: MSTORE 0000474e: PUSH1 0x24 00004750: PUSH1 0x00 00004752: REVERT 00004753: JUMPDEST 00004754: PUSH1 0x00 00004756: PUSH32 0x8000000000000000000000000000000000000000000000000000000000000000 00004777: DUP3 00004778: SUB 00004779: PUSH2 0x4784 0000477c: JUMPI 0000477d: PUSH2 0x4784 00004780: PUSH2 0x4724 00004783: JUMP 00004784: JUMPDEST 00004785: POP 00004786: PUSH1 0x00 00004788: SUB 00004789: SWAP1 0000478a: JUMP 0000478b: JUMPDEST 0000478c: PUSH1 0x01 0000478e: PUSH1 0x01 00004790: PUSH1 0xa0 00004792: SHL 00004793: SUB 00004794: DUP2 00004795: AND 00004796: DUP2 00004797: EQ 00004798: PUSH2 0x47a0 0000479b: JUMPI 0000479c: PUSH1 0x00 0000479e: DUP1 0000479f: REVERT 000047a0: JUMPDEST 000047a1: POP 000047a2: JUMP 000047a3: JUMPDEST 000047a4: DUP1 000047a5: MLOAD 000047a6: PUSH2 0xffff 000047a9: DUP2 000047aa: AND 000047ab: DUP2 000047ac: EQ 000047ad: PUSH2 0x47b5 000047b0: JUMPI 000047b1: PUSH1 0x00 000047b3: DUP1 000047b4: REVERT 000047b5: JUMPDEST 000047b6: SWAP2 000047b7: SWAP1 000047b8: POP 000047b9: JUMP 000047ba: JUMPDEST 000047bb: PUSH1 0x00 000047bd: DUP1 000047be: PUSH1 0x00 000047c0: DUP1 000047c1: PUSH1 0x00 000047c3: DUP1 000047c4: PUSH1 0x00 000047c6: PUSH1 0xe0 000047c8: DUP9 000047c9: DUP11 000047ca: SUB 000047cb: SLT 000047cc: ISZERO 000047cd: PUSH2 0x47d5 000047d0: JUMPI 000047d1: PUSH1 0x00 000047d3: DUP1 000047d4: REVERT 000047d5: JUMPDEST 000047d6: DUP8 000047d7: MLOAD 000047d8: PUSH2 0x47e0 000047db: DUP2 000047dc: PUSH2 0x478b 000047df: JUMP 000047e0: JUMPDEST 000047e1: DUP1 000047e2: SWAP8 000047e3: POP 000047e4: POP 000047e5: PUSH1 0x20 000047e7: DUP9 000047e8: ADD 000047e9: MLOAD 000047ea: DUP1 000047eb: PUSH1 0x02 000047ed: SIGNEXTEND 000047ee: DUP2 000047ef: EQ 000047f0: PUSH2 0x47f8 000047f3: JUMPI 000047f4: PUSH1 0x00 000047f6: DUP1 000047f7: REVERT 000047f8: JUMPDEST 000047f9: SWAP6 000047fa: POP 000047fb: PUSH2 0x4806 000047fe: PUSH1 0x40 00004800: DUP10 00004801: ADD 00004802: PUSH2 0x47a3 00004805: JUMP 00004806: JUMPDEST 00004807: SWAP5 00004808: POP 00004809: PUSH2 0x4814 0000480c: PUSH1 0x60 0000480e: DUP10 0000480f: ADD 00004810: PUSH2 0x47a3 00004813: JUMP 00004814: JUMPDEST 00004815: SWAP4 00004816: POP 00004817: PUSH2 0x4822 0000481a: PUSH1 0x80 0000481c: DUP10 0000481d: ADD 0000481e: PUSH2 0x47a3 00004821: JUMP 00004822: JUMPDEST 00004823: SWAP3 00004824: POP 00004825: PUSH1 0xa0 00004827: DUP9 00004828: ADD 00004829: MLOAD 0000482a: PUSH1 0xff 0000482c: DUP2 0000482d: AND 0000482e: DUP2 0000482f: EQ 00004830: PUSH2 0x4838 00004833: JUMPI 00004834: PUSH1 0x00 00004836: DUP1 00004837: REVERT 00004838: JUMPDEST 00004839: PUSH1 0xc0 0000483b: DUP10 0000483c: ADD 0000483d: MLOAD 0000483e: SWAP1 0000483f: SWAP3 00004840: POP 00004841: DUP1 00004842: ISZERO 00004843: ISZERO 00004844: DUP2 00004845: EQ 00004846: PUSH2 0x484e 00004849: JUMPI 0000484a: PUSH1 0x00 0000484c: DUP1 0000484d: REVERT 0000484e: JUMPDEST 0000484f: DUP1 00004850: SWAP2 00004851: POP 00004852: POP 00004853: SWAP3 00004854: SWAP6 00004855: SWAP9 00004856: SWAP2 00004857: SWAP5 00004858: SWAP8 00004859: POP 0000485a: SWAP3 0000485b: SWAP6 0000485c: POP 0000485d: JUMP 0000485e: JUMPDEST 0000485f: PUSH1 0x00 00004861: JUMPDEST 00004862: DUP4 00004863: DUP2 00004864: LT 00004865: ISZERO 00004866: PUSH2 0x4879 00004869: JUMPI 0000486a: DUP2 0000486b: DUP2 0000486c: ADD 0000486d: MLOAD 0000486e: DUP4 0000486f: DUP3 00004870: ADD 00004871: MSTORE 00004872: PUSH1 0x20 00004874: ADD 00004875: PUSH2 0x4861 00004878: JUMP 00004879: JUMPDEST 0000487a: POP 0000487b: POP 0000487c: PUSH1 0x00 0000487e: SWAP2 0000487f: ADD 00004880: MSTORE 00004881: JUMP 00004882: JUMPDEST 00004883: PUSH1 0x01 00004885: PUSH1 0x01 00004887: PUSH1 0xa0 00004889: SHL 0000488a: SUB 0000488b: DUP7 0000488c: AND 0000488d: DUP2 0000488e: MSTORE 0000488f: DUP5 00004890: PUSH1 0x02 00004892: SIGNEXTEND 00004893: PUSH1 0x20 00004895: DUP3 00004896: ADD 00004897: MSTORE 00004898: DUP4 00004899: PUSH1 0x02 0000489b: SIGNEXTEND 0000489c: PUSH1 0x40 0000489e: DUP3 0000489f: ADD 000048a0: MSTORE 000048a1: PUSH16 0xffffffffffffffffffffffffffffffff 000048b2: DUP4 000048b3: AND 000048b4: PUSH1 0x60 000048b6: DUP3 000048b7: ADD 000048b8: MSTORE 000048b9: PUSH1 0xa0 000048bb: PUSH1 0x80 000048bd: DUP3 000048be: ADD 000048bf: MSTORE 000048c0: PUSH1 0x00 000048c2: DUP3 000048c3: MLOAD 000048c4: DUP1 000048c5: PUSH1 0xa0 000048c7: DUP5 000048c8: ADD 000048c9: MSTORE 000048ca: PUSH2 0x48da 000048cd: DUP2 000048ce: PUSH1 0xc0 000048d0: DUP6 000048d1: ADD 000048d2: PUSH1 0x20 000048d4: DUP8 000048d5: ADD 000048d6: PUSH2 0x485e 000048d9: JUMP 000048da: JUMPDEST 000048db: PUSH1 0x1f 000048dd: ADD 000048de: PUSH1 0x1f 000048e0: NOT 000048e1: AND 000048e2: SWAP2 000048e3: SWAP1 000048e4: SWAP2 000048e5: ADD 000048e6: PUSH1 0xc0 000048e8: ADD 000048e9: SWAP7 000048ea: SWAP6 000048eb: POP 000048ec: POP 000048ed: POP 000048ee: POP 000048ef: POP 000048f0: POP 000048f1: JUMP 000048f2: JUMPDEST 000048f3: DUP1 000048f4: MLOAD 000048f5: PUSH16 0xffffffffffffffffffffffffffffffff 00004906: DUP2 00004907: AND 00004908: DUP2 00004909: EQ 0000490a: PUSH2 0x47b5 0000490d: JUMPI 0000490e: PUSH1 0x00 00004910: DUP1 00004911: REVERT 00004912: JUMPDEST 00004913: PUSH1 0x00 00004915: DUP1 00004916: PUSH1 0x40 00004918: DUP4 00004919: DUP6 0000491a: SUB 0000491b: SLT 0000491c: ISZERO 0000491d: PUSH2 0x4925 00004920: JUMPI 00004921: PUSH1 0x00 00004923: DUP1 00004924: REVERT 00004925: JUMPDEST 00004926: PUSH2 0x492e 00004929: DUP4 0000492a: PUSH2 0x48f2 0000492d: JUMP 0000492e: JUMPDEST 0000492f: SWAP2 00004930: POP 00004931: PUSH2 0x493c 00004934: PUSH1 0x20 00004936: DUP5 00004937: ADD 00004938: PUSH2 0x48f2 0000493b: JUMP 0000493c: JUMPDEST 0000493d: SWAP1 0000493e: POP 0000493f: SWAP3 00004940: POP 00004941: SWAP3 00004942: SWAP1 00004943: POP 00004944: JUMP 00004945: JUMPDEST 00004946: DUP1 00004947: MLOAD 00004948: PUSH14 0xffffffffffffffffffffffffffff 00004957: DUP2 00004958: AND 00004959: DUP2 0000495a: EQ 0000495b: PUSH2 0x47b5 0000495e: JUMPI 0000495f: PUSH1 0x00 00004961: DUP1 00004962: REVERT 00004963: JUMPDEST 00004964: PUSH1 0x00 00004966: DUP1 00004967: PUSH1 0x00 00004969: PUSH1 0x60 0000496b: DUP5 0000496c: DUP7 0000496d: SUB 0000496e: SLT 0000496f: ISZERO 00004970: PUSH2 0x4978 00004973: JUMPI 00004974: PUSH1 0x00 00004976: DUP1 00004977: REVERT 00004978: JUMPDEST 00004979: PUSH2 0x4981 0000497c: DUP5 0000497d: PUSH2 0x4945 00004980: JUMP 00004981: JUMPDEST 00004982: SWAP3 00004983: POP 00004984: PUSH2 0x498f 00004987: PUSH1 0x20 00004989: DUP6 0000498a: ADD 0000498b: PUSH2 0x4945 0000498e: JUMP 0000498f: JUMPDEST 00004990: SWAP2 00004991: POP 00004992: PUSH1 0x40 00004994: DUP5 00004995: ADD 00004996: MLOAD 00004997: PUSH4 0xffffffff 0000499c: DUP2 0000499d: AND 0000499e: DUP2 0000499f: EQ 000049a0: PUSH2 0x49a8 000049a3: JUMPI 000049a4: PUSH1 0x00 000049a6: DUP1 000049a7: REVERT 000049a8: JUMPDEST 000049a9: DUP1 000049aa: SWAP2 000049ab: POP 000049ac: POP 000049ad: SWAP3 000049ae: POP 000049af: SWAP3 000049b0: POP 000049b1: SWAP3 000049b2: JUMP 000049b3: JUMPDEST 000049b4: PUSH1 0x00 000049b6: PUSH1 0x20 000049b8: DUP3 000049b9: DUP5 000049ba: SUB 000049bb: SLT 000049bc: ISZERO 000049bd: PUSH2 0x49c5 000049c0: JUMPI 000049c1: PUSH1 0x00 000049c3: DUP1 000049c4: REVERT 000049c5: JUMPDEST 000049c6: POP 000049c7: MLOAD 000049c8: SWAP2 000049c9: SWAP1 000049ca: POP 000049cb: JUMP 000049cc: JUMPDEST 000049cd: DUP2 000049ce: DUP2 000049cf: SUB 000049d0: DUP2 000049d1: DUP2 000049d2: GT 000049d3: ISZERO 000049d4: PUSH2 0x447d 000049d7: JUMPI 000049d8: PUSH2 0x447d 000049db: PUSH2 0x4724 000049de: JUMP 000049df: JUMPDEST 000049e0: DUP2 000049e1: DUP4 000049e2: DUP3 000049e3: CALLDATACOPY 000049e4: PUSH1 0x00 000049e6: SWAP2 000049e7: ADD 000049e8: SWAP1 000049e9: DUP2 000049ea: MSTORE 000049eb: SWAP2 000049ec: SWAP1 000049ed: POP 000049ee: JUMP 000049ef: JUMPDEST 000049f0: PUSH1 0x00 000049f2: DUP1 000049f3: DUP6 000049f4: DUP6 000049f5: GT 000049f6: ISZERO 000049f7: PUSH2 0x49ff 000049fa: JUMPI 000049fb: PUSH1 0x00 000049fd: DUP1 000049fe: REVERT 000049ff: JUMPDEST 00004a00: DUP4 00004a01: DUP7 00004a02: GT 00004a03: ISZERO 00004a04: PUSH2 0x4a0c 00004a07: JUMPI 00004a08: PUSH1 0x00 00004a0a: DUP1 00004a0b: REVERT 00004a0c: JUMPDEST 00004a0d: POP 00004a0e: POP 00004a0f: DUP3 00004a10: ADD 00004a11: SWAP4 00004a12: SWAP2 00004a13: SWAP1 00004a14: SWAP3 00004a15: SUB 00004a16: SWAP2 00004a17: POP 00004a18: JUMP 00004a19: JUMPDEST 00004a1a: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004a3b: PUSH1 0x00 00004a3d: MSTORE 00004a3e: PUSH1 0x41 00004a40: PUSH1 0x04 00004a42: MSTORE 00004a43: PUSH1 0x24 00004a45: PUSH1 0x00 00004a47: REVERT 00004a48: JUMPDEST 00004a49: PUSH1 0x40 00004a4b: MLOAD 00004a4c: PUSH1 0x1f 00004a4e: DUP3 00004a4f: ADD 00004a50: PUSH1 0x1f 00004a52: NOT 00004a53: AND 00004a54: DUP2 00004a55: ADD 00004a56: PUSH8 0xffffffffffffffff 00004a5f: DUP2 00004a60: GT 00004a61: DUP3 00004a62: DUP3 00004a63: LT 00004a64: OR 00004a65: ISZERO 00004a66: PUSH2 0x4a71 00004a69: JUMPI 00004a6a: PUSH2 0x4a71 00004a6d: PUSH2 0x4a19 00004a70: JUMP 00004a71: JUMPDEST 00004a72: PUSH1 0x40 00004a74: MSTORE 00004a75: SWAP2 00004a76: SWAP1 00004a77: POP 00004a78: JUMP 00004a79: JUMPDEST 00004a7a: PUSH1 0x00 00004a7c: DUP3 00004a7d: PUSH1 0x1f 00004a7f: DUP4 00004a80: ADD 00004a81: SLT 00004a82: PUSH2 0x4a8a 00004a85: JUMPI 00004a86: PUSH1 0x00 00004a88: DUP1 00004a89: REVERT 00004a8a: JUMPDEST 00004a8b: DUP2 00004a8c: CALLDATALOAD 00004a8d: PUSH8 0xffffffffffffffff 00004a96: DUP2 00004a97: GT 00004a98: ISZERO 00004a99: PUSH2 0x4aa4 00004a9c: JUMPI 00004a9d: PUSH2 0x4aa4 00004aa0: PUSH2 0x4a19 00004aa3: JUMP 00004aa4: JUMPDEST 00004aa5: PUSH2 0x4ab7 00004aa8: PUSH1 0x20 00004aaa: PUSH1 0x1f 00004aac: NOT 00004aad: PUSH1 0x1f 00004aaf: DUP5 00004ab0: ADD 00004ab1: AND 00004ab2: ADD 00004ab3: PUSH2 0x4a48 00004ab6: JUMP 00004ab7: JUMPDEST 00004ab8: DUP2 00004ab9: DUP2 00004aba: MSTORE 00004abb: DUP5 00004abc: PUSH1 0x20 00004abe: DUP4 00004abf: DUP7 00004ac0: ADD 00004ac1: ADD 00004ac2: GT 00004ac3: ISZERO 00004ac4: PUSH2 0x4acc 00004ac7: JUMPI 00004ac8: PUSH1 0x00 00004aca: DUP1 00004acb: REVERT 00004acc: JUMPDEST 00004acd: DUP2 00004ace: PUSH1 0x20 00004ad0: DUP6 00004ad1: ADD 00004ad2: PUSH1 0x20 00004ad4: DUP4 00004ad5: ADD 00004ad6: CALLDATACOPY 00004ad7: PUSH1 0x00 00004ad9: SWAP2 00004ada: DUP2 00004adb: ADD 00004adc: PUSH1 0x20 00004ade: ADD 00004adf: SWAP2 00004ae0: SWAP1 00004ae1: SWAP2 00004ae2: MSTORE 00004ae3: SWAP4 00004ae4: SWAP3 00004ae5: POP 00004ae6: POP 00004ae7: POP 00004ae8: JUMP 00004ae9: JUMPDEST 00004aea: PUSH1 0x00 00004aec: DUP1 00004aed: PUSH1 0x40 00004aef: DUP4 00004af0: DUP6 00004af1: SUB 00004af2: SLT 00004af3: ISZERO 00004af4: PUSH2 0x4afc 00004af7: JUMPI 00004af8: PUSH1 0x00 00004afa: DUP1 00004afb: REVERT 00004afc: JUMPDEST 00004afd: DUP3 00004afe: CALLDATALOAD 00004aff: PUSH2 0x4b07 00004b02: DUP2 00004b03: PUSH2 0x478b 00004b06: JUMP 00004b07: JUMPDEST 00004b08: SWAP2 00004b09: POP 00004b0a: PUSH1 0x20 00004b0c: DUP4 00004b0d: ADD 00004b0e: CALLDATALOAD 00004b0f: PUSH8 0xffffffffffffffff 00004b18: DUP2 00004b19: GT 00004b1a: ISZERO 00004b1b: PUSH2 0x4b23 00004b1e: JUMPI 00004b1f: PUSH1 0x00 00004b21: DUP1 00004b22: REVERT 00004b23: JUMPDEST 00004b24: PUSH2 0x4b2f 00004b27: DUP6 00004b28: DUP3 00004b29: DUP7 00004b2a: ADD 00004b2b: PUSH2 0x4a79 00004b2e: JUMP 00004b2f: JUMPDEST 00004b30: SWAP2 00004b31: POP 00004b32: POP 00004b33: SWAP3 00004b34: POP 00004b35: SWAP3 00004b36: SWAP1 00004b37: POP 00004b38: JUMP 00004b39: JUMPDEST 00004b3a: PUSH1 0x00 00004b3c: DUP3 00004b3d: MLOAD 00004b3e: PUSH2 0x4b4b 00004b41: DUP2 00004b42: DUP5 00004b43: PUSH1 0x20 00004b45: DUP8 00004b46: ADD 00004b47: PUSH2 0x485e 00004b4a: JUMP 00004b4b: JUMPDEST 00004b4c: SWAP2 00004b4d: SWAP1 00004b4e: SWAP2 00004b4f: ADD 00004b50: SWAP3 00004b51: SWAP2 00004b52: POP 00004b53: POP 00004b54: JUMP 00004b55: JUMPDEST 00004b56: PUSH1 0x00 00004b58: PUSH8 0xffffffffffffffff 00004b61: DUP3 00004b62: GT 00004b63: ISZERO 00004b64: PUSH2 0x4b6f 00004b67: JUMPI 00004b68: PUSH2 0x4b6f 00004b6b: PUSH2 0x4a19 00004b6e: JUMP 00004b6f: JUMPDEST 00004b70: POP 00004b71: PUSH1 0x05 00004b73: SHL 00004b74: PUSH1 0x20 00004b76: ADD 00004b77: SWAP1 00004b78: JUMP 00004b79: JUMPDEST 00004b7a: PUSH1 0x00 00004b7c: DUP3 00004b7d: PUSH1 0x1f 00004b7f: DUP4 00004b80: ADD 00004b81: SLT 00004b82: PUSH2 0x4b8a 00004b85: JUMPI 00004b86: PUSH1 0x00 00004b88: DUP1 00004b89: REVERT 00004b8a: JUMPDEST 00004b8b: DUP2 00004b8c: CALLDATALOAD 00004b8d: PUSH1 0x20 00004b8f: PUSH2 0x4b9f 00004b92: PUSH2 0x4b9a 00004b95: DUP4 00004b96: PUSH2 0x4b55 00004b99: JUMP 00004b9a: JUMPDEST 00004b9b: PUSH2 0x4a48 00004b9e: JUMP 00004b9f: JUMPDEST 00004ba0: DUP3 00004ba1: DUP2 00004ba2: MSTORE 00004ba3: PUSH1 0x05 00004ba5: SWAP3 00004ba6: SWAP1 00004ba7: SWAP3 00004ba8: SHL 00004ba9: DUP5 00004baa: ADD 00004bab: DUP2 00004bac: ADD 00004bad: SWAP2 00004bae: DUP2 00004baf: DUP2 00004bb0: ADD 00004bb1: SWAP1 00004bb2: DUP7 00004bb3: DUP5 00004bb4: GT 00004bb5: ISZERO 00004bb6: PUSH2 0x4bbe 00004bb9: JUMPI 00004bba: PUSH1 0x00 00004bbc: DUP1 00004bbd: REVERT 00004bbe: JUMPDEST 00004bbf: DUP3 00004bc0: DUP7 00004bc1: ADD 00004bc2: JUMPDEST 00004bc3: DUP5 00004bc4: DUP2 00004bc5: LT 00004bc6: ISZERO 00004bc7: PUSH2 0x4be2 00004bca: JUMPI 00004bcb: DUP1 00004bcc: CALLDATALOAD 00004bcd: PUSH2 0x4bd5 00004bd0: DUP2 00004bd1: PUSH2 0x478b 00004bd4: JUMP 00004bd5: JUMPDEST 00004bd6: DUP4 00004bd7: MSTORE 00004bd8: SWAP2 00004bd9: DUP4 00004bda: ADD 00004bdb: SWAP2 00004bdc: DUP4 00004bdd: ADD 00004bde: PUSH2 0x4bc2 00004be1: JUMP 00004be2: JUMPDEST 00004be3: POP 00004be4: SWAP7 00004be5: SWAP6 00004be6: POP 00004be7: POP 00004be8: POP 00004be9: POP 00004bea: POP 00004beb: POP 00004bec: JUMP 00004bed: JUMPDEST 00004bee: PUSH1 0x00 00004bf0: DUP3 00004bf1: PUSH1 0x1f 00004bf3: DUP4 00004bf4: ADD 00004bf5: SLT 00004bf6: PUSH2 0x4bfe 00004bf9: JUMPI 00004bfa: PUSH1 0x00 00004bfc: DUP1 00004bfd: REVERT 00004bfe: JUMPDEST 00004bff: DUP2 00004c00: CALLDATALOAD 00004c01: PUSH1 0x20 00004c03: PUSH2 0x4c0e 00004c06: PUSH2 0x4b9a 00004c09: DUP4 00004c0a: PUSH2 0x4b55 00004c0d: JUMP 00004c0e: JUMPDEST 00004c0f: DUP3 00004c10: DUP2 00004c11: MSTORE 00004c12: PUSH1 0x05 00004c14: SWAP3 00004c15: SWAP1 00004c16: SWAP3 00004c17: SHL 00004c18: DUP5 00004c19: ADD 00004c1a: DUP2 00004c1b: ADD 00004c1c: SWAP2 00004c1d: DUP2 00004c1e: DUP2 00004c1f: ADD 00004c20: SWAP1 00004c21: DUP7 00004c22: DUP5 00004c23: GT 00004c24: ISZERO 00004c25: PUSH2 0x4c2d 00004c28: JUMPI 00004c29: PUSH1 0x00 00004c2b: DUP1 00004c2c: REVERT 00004c2d: JUMPDEST 00004c2e: DUP3 00004c2f: DUP7 00004c30: ADD 00004c31: JUMPDEST 00004c32: DUP5 00004c33: DUP2 00004c34: LT 00004c35: ISZERO 00004c36: PUSH2 0x4be2 00004c39: JUMPI 00004c3a: DUP1 00004c3b: CALLDATALOAD 00004c3c: PUSH8 0xffffffffffffffff 00004c45: DUP2 00004c46: GT 00004c47: ISZERO 00004c48: PUSH2 0x4c51 00004c4b: JUMPI 00004c4c: PUSH1 0x00 00004c4e: DUP1 00004c4f: DUP2 00004c50: REVERT 00004c51: JUMPDEST 00004c52: PUSH2 0x4c5f 00004c55: DUP10 00004c56: DUP7 00004c57: DUP4 00004c58: DUP12 00004c59: ADD 00004c5a: ADD 00004c5b: PUSH2 0x4a79 00004c5e: JUMP 00004c5f: JUMPDEST 00004c60: DUP5 00004c61: MSTORE 00004c62: POP 00004c63: SWAP2 00004c64: DUP4 00004c65: ADD 00004c66: SWAP2 00004c67: DUP4 00004c68: ADD 00004c69: PUSH2 0x4c31 00004c6c: JUMP 00004c6d: JUMPDEST 00004c6e: PUSH1 0x00 00004c70: DUP1 00004c71: PUSH1 0x40 00004c73: DUP4 00004c74: DUP6 00004c75: SUB 00004c76: SLT 00004c77: ISZERO 00004c78: PUSH2 0x4c80 00004c7b: JUMPI 00004c7c: PUSH1 0x00 00004c7e: DUP1 00004c7f: REVERT 00004c80: JUMPDEST 00004c81: DUP3 00004c82: CALLDATALOAD 00004c83: PUSH8 0xffffffffffffffff 00004c8c: DUP1 00004c8d: DUP3 00004c8e: GT 00004c8f: ISZERO 00004c90: PUSH2 0x4c98 00004c93: JUMPI 00004c94: PUSH1 0x00 00004c96: DUP1 00004c97: REVERT 00004c98: JUMPDEST 00004c99: PUSH2 0x4ca4 00004c9c: DUP7 00004c9d: DUP4 00004c9e: DUP8 00004c9f: ADD 00004ca0: PUSH2 0x4b79 00004ca3: JUMP 00004ca4: JUMPDEST 00004ca5: SWAP4 00004ca6: POP 00004ca7: PUSH1 0x20 00004ca9: DUP6 00004caa: ADD 00004cab: CALLDATALOAD 00004cac: SWAP2 00004cad: POP 00004cae: DUP1 00004caf: DUP3 00004cb0: GT 00004cb1: ISZERO 00004cb2: PUSH2 0x4cba 00004cb5: JUMPI 00004cb6: PUSH1 0x00 00004cb8: DUP1 00004cb9: REVERT 00004cba: JUMPDEST 00004cbb: POP 00004cbc: PUSH2 0x4b2f 00004cbf: DUP6 00004cc0: DUP3 00004cc1: DUP7 00004cc2: ADD 00004cc3: PUSH2 0x4bed 00004cc6: JUMP 00004cc7: JUMPDEST 00004cc8: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004ce9: PUSH1 0x00 00004ceb: MSTORE 00004cec: PUSH1 0x32 00004cee: PUSH1 0x04 00004cf0: MSTORE 00004cf1: PUSH1 0x24 00004cf3: PUSH1 0x00 00004cf5: REVERT 00004cf6: JUMPDEST 00004cf7: PUSH1 0x00 00004cf9: DUP1 00004cfa: PUSH1 0x00 00004cfc: PUSH1 0x60 00004cfe: DUP5 00004cff: DUP7 00004d00: SUB 00004d01: SLT 00004d02: ISZERO 00004d03: PUSH2 0x4d0b 00004d06: JUMPI 00004d07: PUSH1 0x00 00004d09: DUP1 00004d0a: REVERT 00004d0b: JUMPDEST 00004d0c: DUP4 00004d0d: CALLDATALOAD 00004d0e: PUSH8 0xffffffffffffffff 00004d17: DUP1 00004d18: DUP3 00004d19: GT 00004d1a: ISZERO 00004d1b: PUSH2 0x4d23 00004d1e: JUMPI 00004d1f: PUSH1 0x00 00004d21: DUP1 00004d22: REVERT 00004d23: JUMPDEST 00004d24: PUSH2 0x4d2f 00004d27: DUP8 00004d28: DUP4 00004d29: DUP9 00004d2a: ADD 00004d2b: PUSH2 0x4b79 00004d2e: JUMP 00004d2f: JUMPDEST 00004d30: SWAP5 00004d31: POP 00004d32: PUSH1 0x20 00004d34: DUP7 00004d35: ADD 00004d36: CALLDATALOAD 00004d37: SWAP2 00004d38: POP 00004d39: DUP1 00004d3a: DUP3 00004d3b: GT 00004d3c: ISZERO 00004d3d: PUSH2 0x4d45 00004d40: JUMPI 00004d41: PUSH1 0x00 00004d43: DUP1 00004d44: REVERT 00004d45: JUMPDEST 00004d46: POP 00004d47: PUSH2 0x4d52 00004d4a: DUP7 00004d4b: DUP3 00004d4c: DUP8 00004d4d: ADD 00004d4e: PUSH2 0x4bed 00004d51: JUMP 00004d52: JUMPDEST 00004d53: SWAP3 00004d54: POP 00004d55: POP 00004d56: PUSH1 0x40 00004d58: DUP5 00004d59: ADD 00004d5a: CALLDATALOAD 00004d5b: SWAP1 00004d5c: POP 00004d5d: SWAP3 00004d5e: POP 00004d5f: SWAP3 00004d60: POP 00004d61: SWAP3 00004d62: JUMP 00004d63: JUMPDEST 00004d64: PUSH1 0x00 00004d66: DUP3 00004d67: PUSH1 0x1f 00004d69: DUP4 00004d6a: ADD 00004d6b: SLT 00004d6c: PUSH2 0x4d74 00004d6f: JUMPI 00004d70: PUSH1 0x00 00004d72: DUP1 00004d73: REVERT 00004d74: JUMPDEST 00004d75: DUP2 00004d76: CALLDATALOAD 00004d77: PUSH1 0x20 00004d79: PUSH2 0x4d84 00004d7c: PUSH2 0x4b9a 00004d7f: DUP4 00004d80: PUSH2 0x4b55 00004d83: JUMP 00004d84: JUMPDEST 00004d85: DUP3 00004d86: DUP2 00004d87: MSTORE 00004d88: PUSH1 0x05 00004d8a: SWAP3 00004d8b: SWAP1 00004d8c: SWAP3 00004d8d: SHL 00004d8e: DUP5 00004d8f: ADD 00004d90: DUP2 00004d91: ADD 00004d92: SWAP2 00004d93: DUP2 00004d94: DUP2 00004d95: ADD 00004d96: SWAP1 00004d97: DUP7 00004d98: DUP5 00004d99: GT 00004d9a: ISZERO 00004d9b: PUSH2 0x4da3 00004d9e: JUMPI 00004d9f: PUSH1 0x00 00004da1: DUP1 00004da2: REVERT 00004da3: JUMPDEST 00004da4: DUP3 00004da5: DUP7 00004da6: ADD 00004da7: JUMPDEST 00004da8: DUP5 00004da9: DUP2 00004daa: LT 00004dab: ISZERO 00004dac: PUSH2 0x4be2 00004daf: JUMPI 00004db0: DUP1 00004db1: CALLDATALOAD 00004db2: DUP4 00004db3: MSTORE 00004db4: SWAP2 00004db5: DUP4 00004db6: ADD 00004db7: SWAP2 00004db8: DUP4 00004db9: ADD 00004dba: PUSH2 0x4da7 00004dbd: JUMP 00004dbe: JUMPDEST 00004dbf: PUSH1 0x00 00004dc1: DUP1 00004dc2: PUSH1 0x00 00004dc4: PUSH1 0x60 00004dc6: DUP5 00004dc7: DUP7 00004dc8: SUB 00004dc9: SLT 00004dca: ISZERO 00004dcb: PUSH2 0x4dd3 00004dce: JUMPI 00004dcf: PUSH1 0x00 00004dd1: DUP1 00004dd2: REVERT 00004dd3: JUMPDEST 00004dd4: DUP4 00004dd5: CALLDATALOAD 00004dd6: SWAP3 00004dd7: POP 00004dd8: PUSH1 0x20 00004dda: DUP5 00004ddb: ADD 00004ddc: CALLDATALOAD 00004ddd: PUSH8 0xffffffffffffffff 00004de6: DUP1 00004de7: DUP3 00004de8: GT 00004de9: ISZERO 00004dea: PUSH2 0x4df2 00004ded: JUMPI 00004dee: PUSH1 0x00 00004df0: DUP1 00004df1: REVERT 00004df2: JUMPDEST 00004df3: PUSH2 0x4dfe 00004df6: DUP8 00004df7: DUP4 00004df8: DUP9 00004df9: ADD 00004dfa: PUSH2 0x4b79 00004dfd: JUMP 00004dfe: JUMPDEST 00004dff: SWAP4 00004e00: POP 00004e01: PUSH1 0x40 00004e03: DUP7 00004e04: ADD 00004e05: CALLDATALOAD 00004e06: SWAP2 00004e07: POP 00004e08: DUP1 00004e09: DUP3 00004e0a: GT 00004e0b: ISZERO 00004e0c: PUSH2 0x4e14 00004e0f: JUMPI 00004e10: PUSH1 0x00 00004e12: DUP1 00004e13: REVERT 00004e14: JUMPDEST 00004e15: POP 00004e16: PUSH2 0x4e21 00004e19: DUP7 00004e1a: DUP3 00004e1b: DUP8 00004e1c: ADD 00004e1d: PUSH2 0x4d63 00004e20: JUMP 00004e21: JUMPDEST 00004e22: SWAP2 00004e23: POP 00004e24: POP 00004e25: SWAP3 00004e26: POP 00004e27: SWAP3 00004e28: POP 00004e29: SWAP3 00004e2a: JUMP 00004e2b: JUMPDEST 00004e2c: PUSH1 0x00 00004e2e: PUSH32 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 00004e4f: DUP3 00004e50: SUB 00004e51: PUSH2 0x4e5c 00004e54: JUMPI 00004e55: PUSH2 0x4e5c 00004e58: PUSH2 0x4724 00004e5b: JUMP 00004e5c: JUMPDEST 00004e5d: POP 00004e5e: PUSH1 0x01 00004e60: ADD 00004e61: SWAP1 00004e62: JUMP 00004e63: JUMPDEST 00004e64: PUSH1 0x00 00004e66: DUP1 00004e67: PUSH1 0x00 00004e69: PUSH1 0x60 00004e6b: DUP5 00004e6c: DUP7 00004e6d: SUB 00004e6e: SLT 00004e6f: ISZERO 00004e70: PUSH2 0x4e78 00004e73: JUMPI 00004e74: PUSH1 0x00 00004e76: DUP1 00004e77: REVERT 00004e78: JUMPDEST 00004e79: DUP4 00004e7a: CALLDATALOAD 00004e7b: PUSH8 0xffffffffffffffff 00004e84: DUP1 00004e85: DUP3 00004e86: GT 00004e87: ISZERO 00004e88: PUSH2 0x4e90 00004e8b: JUMPI 00004e8c: PUSH1 0x00 00004e8e: DUP1 00004e8f: REVERT 00004e90: JUMPDEST 00004e91: PUSH2 0x4e9c 00004e94: DUP8 00004e95: DUP4 00004e96: DUP9 00004e97: ADD 00004e98: PUSH2 0x4b79 00004e9b: JUMP 00004e9c: JUMPDEST 00004e9d: SWAP5 00004e9e: POP 00004e9f: PUSH1 0x20 00004ea1: DUP7 00004ea2: ADD 00004ea3: CALLDATALOAD 00004ea4: SWAP2 00004ea5: POP 00004ea6: DUP1 00004ea7: DUP3 00004ea8: GT 00004ea9: ISZERO 00004eaa: PUSH2 0x4eb2 00004ead: JUMPI 00004eae: PUSH1 0x00 00004eb0: DUP1 00004eb1: REVERT 00004eb2: JUMPDEST 00004eb3: POP 00004eb4: PUSH2 0x4ebf 00004eb7: DUP7 00004eb8: DUP3 00004eb9: DUP8 00004eba: ADD 00004ebb: PUSH2 0x4d63 00004ebe: JUMP 00004ebf: JUMPDEST 00004ec0: SWAP3 00004ec1: POP 00004ec2: POP 00004ec3: PUSH1 0x40 00004ec5: DUP5 00004ec6: ADD 00004ec7: CALLDATALOAD 00004ec8: PUSH2 0x49a8 00004ecb: DUP2 00004ecc: PUSH2 0x478b 00004ecf: JUMP 00004ed0: JUMPDEST 00004ed1: PUSH1 0x00 00004ed3: DUP1 00004ed4: PUSH1 0x40 00004ed6: DUP4 00004ed7: DUP6 00004ed8: SUB 00004ed9: SLT 00004eda: ISZERO 00004edb: PUSH2 0x4ee3 00004ede: JUMPI 00004edf: PUSH1 0x00 00004ee1: DUP1 00004ee2: REVERT 00004ee3: JUMPDEST 00004ee4: DUP3 00004ee5: CALLDATALOAD 00004ee6: SWAP2 00004ee7: POP 00004ee8: PUSH1 0x20 00004eea: DUP4 00004eeb: ADD 00004eec: CALLDATALOAD 00004eed: PUSH8 0xffffffffffffffff 00004ef6: DUP2 00004ef7: GT 00004ef8: ISZERO 00004ef9: PUSH2 0x4b23 00004efc: JUMPI 00004efd: PUSH1 0x00 00004eff: DUP1 00004f00: REVERT 00004f01: JUMPDEST 00004f02: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004f23: PUSH1 0x00 00004f25: MSTORE 00004f26: PUSH1 0x12 00004f28: PUSH1 0x04 00004f2a: MSTORE 00004f2b: PUSH1 0x24 00004f2d: PUSH1 0x00 00004f2f: REVERT 00004f30: JUMPDEST 00004f31: PUSH32 0x4e487b7100000000000000000000000000000000000000000000000000000000 00004f52: PUSH1 0x00 00004f54: MSTORE 00004f55: PUSH1 0x21 00004f57: PUSH1 0x04 00004f59: MSTORE 00004f5a: PUSH1 0x24 00004f5c: PUSH1 0x00 00004f5e: REVERT 00004f5f: INVALID 00004f60: LOG2 00004f61: PUSH5 0x6970667358 00004f67: UNKNOWN(0x22) 00004f68: SLT 00004f69: KECCAK256 00004f6a: UNKNOWN(0xC1) 00004f6b: SHL 00004f6c: SSTORE 00004f6d: UNKNOWN(0xC6) 00004f6e: CLZ 00004f6f: LOG2 00004f70: PUSH11 0xd978f86f41089d351cf6e8 00004f7c: UNKNOWN(0xFC) 00004f7d: PUSH29
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| critical | upgradeability | detector | Untrusted DELEGATECALL target reachable | 70 | no | no |
viewtrace_id: 0x5374fa0416282df4c63770406dfc10a11162b082a36b95789873b6d28f08157f
validation_json{
"sink": "DELEGATECALL",
"errors": 0,
"status": "unknown",
"attempts": 12,
"trace_id": "0x5374fa0416282df4c63770406dfc10a11162b082a36b95789873b6d28f08157f",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": null,
"matched_probe": null,
"target_varies": null,
"classification": "no_sink"
}
witness_json{
"notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
"constraints": [],
"entrypoints": [
{
"calldata": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 13960,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
},
{
"pc": 16994,
"opcode": "DELEGATECALL",
"returndata_checked": null,
"value_expression_category": "n/a",
"target_expression_category": "computed"
}
],
"guards_detected": [],
"delegatecall_count": 2,
"untrusted_delegatecall_count": 2
}
|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0x6edd129626c9f36796809dda11c12b2943825f05499c501b9edc7caa6434d183
call_targets:
0xfbeedcfe378866dab6abbafd8b2986f5c1768737
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x6edd129626c9f36796809dda11c12b2943825f05499c501b9edc7caa6434d183",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xfbeedcfe378866dab6abbafd8b2986f5c1768737"
],
"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": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 894,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1296,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2582,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 38,
"guards_detected": [],
"untrusted_call_count": 38
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0x6edd129626c9f36796809dda11c12b2943825f05499c501b9edc7caa6434d183
call_targets:
0xfbeedcfe378866dab6abbafd8b2986f5c1768737
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0x6edd129626c9f36796809dda11c12b2943825f05499c501b9edc7caa6434d183",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xfbeedcfe378866dab6abbafd8b2986f5c1768737"
],
"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": "0xffffffff",
"selector": "0xffffffff",
"calldata_variants": [
"0xffffffff",
"0xffffffff0000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 894,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 1296,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 2582,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 38,
"guards_detected": []
}
|
| medium | upgradeability | cast | DELEGATECALL present | 80 | no | — |
viewevidence_json{
"notes": "delegatecall enables execution in caller context; common in proxies/upgradeable patterns",
"delegatecall_count": 2
}
|
| 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": 17
}
|
| 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": 48
}
|