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

Analysis Run

36954ef9-a089-4a19-a382-9eb423b7ad7b

complete
Chain ID
1
Address
Block Number
Created
Mon, Jan 5, 2026 5:10 AM
Review Summary

What survived the funnel

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

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

Processing Jobs

Status & attempts
ID Type Status Attempts Heartbeat
31694 report.consolidate complete 1 / 1 3 months ago
95587 artifact.fetch complete 1 / 3 1 week ago
95588 tool.cast_disasm complete 1 / 3 1 week ago
95589 analysis.bundle complete 1 / 3 1 week ago
95590 capability.graph complete 1 / 3 1 week ago
95591 detector.run complete 1 / 3 1 week ago
95592 validation.fork complete 1 / 3 1 week ago

Artifact

Runtime bytecode: available
Creation TX:
Deployer:
Proxy: no
Implementation:
Verified Source: no

Slither

tool.slither

No slither job recorded yet.

Codex

report.consolidate
Job Status
complete
Attempts
1 / 1
Findings
0
No findings?
yes
Summary
Reviewed BYTECODE_BUNDLE.txt runtime bytecode end-to-end; no concrete, exploitable profit path identified from bytecode alone (no delegatecall/selfdestruct, external calls appear consistent with ERC20 transfers/refunds guarded by state/access checks).
View stderr
[codex:581463] OpenAI Codex v0.77.0 (research preview)
[codex:581463] --------
[codex:581463] workdir: /tmp/codex-multi-rizsuqn4
[codex:581463] model: gpt-5.2-codex
[codex:581463] provider: openai
[codex:581463] approval: never
[codex:581463] sandbox: read-only
[codex:581463] reasoning effort: xhigh
[codex:581463] reasoning summaries: auto
[codex:581463] session id: 019b8c8d-0e08-77d2-bcfe-6abfcd732167
[codex:581463] --------
[codex:581463] user
[codex:581463] 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:581463] 
[codex:581463] Read `BYTECODE_BUNDLE.txt` completely before concluding.
[codex:581463] 
[codex:581463] ONLY REPORT if you find a CONCRETE, EXPLOITABLE path to profit. We do NOT care about:
[codex:581463] - Gas inefficiency, code quality, or best practices
[codex:581463] - Theoretical vulnerabilities without a clear extraction path
[codex:581463] - Generic footguns (unchecked return values, etc.) unless they enable theft
[codex:581463] - Issues requiring social engineering or off-chain coordination
[codex:581463] 
[codex:581463] PATTERNS WORTH INVESTIGATING in bytecode:
[codex:581463] - CALL/DELEGATECALL with controllable destination or calldata
[codex:581463] - Value transfers (CALL with non-zero value) without prior CALLER/ORIGIN checks
[codex:581463] - SSTORE to low slots (0-10) that might be owner/admin storage
[codex:581463] - ecrecover (signature validation) - look for missing nonce/replay protection
[codex:581463] - External calls before state updates (reentrancy)
[codex:581463] - SELFDESTRUCT with controllable beneficiary
[codex:581463] - Proxy patterns (DELEGATECALL to storage slot) with unprotected upgrade paths
[codex:581463] 
[codex:581463] For each finding, you MUST explain:
[codex:581463] 1. The specific bytecode pattern/offsets that indicate the vulnerability
[codex:581463] 2. The concrete sequence of transactions to extract value
[codex:581463] 3. Why you believe this is exploitable (not just suspicious)
[codex:581463] 
[codex:581463] If you cannot identify a concrete profit path from bytecode alone: set no_findings=true.
[codex:581463] Do NOT hallucinate. Bytecode-only analysis is limited - be honest about uncertainty.
[codex:581463] 
[codex:581463] Output MUST be valid JSON matching the provided schema.
[codex:581463] - severity: info, low, medium, high, critical (use high/critical ONLY for clear extraction paths)
[codex:581463] - category: access_control, reentrancy, math, oracle, upgradeability, auth, other
[codex:581463] mcp startup: no servers
[codex:581463] 
[codex:581463] thinking
[codex:581463] **Reading file contents**
[codex:581463] exec
[codex:581463] /bin/bash -lc 'cat /tmp/codex-multi-rizsuqn4/BYTECODE_BUNDLE.txt' in /tmp/codex-multi-rizsuqn4 succeeded in 5ms:
[codex:581463] Runtime bytecode bundle for best-effort auditing.
[codex:581463] Note: without verified source, conclusions are low-confidence unless a concrete pattern is visible.
[codex:581463] 
[codex:581463] FILE: runtime_bytecode.hex
[codex:581463] 0x6080604052600436106103d95760003560e01c80638d64fd60116101fd578063c71c0b4011610118578063e9e0f72f116100ab578063f4b94a5d1161007a578063f4b94a5d146111c0578063f56b3166146111d7578063f6c73294146111ee578063fc0c546a14611205578063fd1c7e0b14611246576103d9565b8063e9e0f72f146110ec578063eae6990514611103578063ec15444d14611144578063ee99205c1461117f576103d9565b8063d15c6043116100e7578063d15c604314610ff8578063d5ee587a14611049578063e07fa3c114611084578063e4881c201461109b576103d9565b8063c71c0b4014610f23578063c817741714610f4e578063c8318c1014610f9f578063cd3293de14610fee576103d9565b8063a2b40d1911610190578063bb9be7151161015f578063bb9be71514610e16578063c17231b914610e71578063c19d93fb14610eb2578063c46246ba14610ee8576103d9565b8063a2b40d1914610d10578063acf9017d14610d4b578063af4e3d3714610d9a578063b932e3e314610db1576103d9565b806394217ad1116101cc57806394217ad114610c2857806394db4d0514610c6957806399d64ab014610cba578063a035b1fe14610ce5576103d9565b80638d64fd6014610b4b5780639032f44414610b8157806390886cc914610bac578063927fd69f14610bfd576103d9565b80634a4e3bd5116102f85780636b9f625f1161028b57806378e979251161025a57806378e9792514610a1257806384900b0414610a3d5780638676fcd214610a7e578063879cb32e14610acf5780638afbf66914610b34576103d9565b80636b9f625f146109365780636c1516e11461097757806370349850146109a2578063707188c1146109cd576103d9565b8063582bddfd116102c7578063582bddfd1461088a578063590e1ae3146108a15780635faafde6146108b857806366829b16146108e5576103d9565b80634a4e3bd5146108065780634d9db42f1461081d57806351858e271461084857806355c76ae51461085f576103d9565b80632c4b2308116103705780633360155d1161033f5780633360155d1461062c5780633f1861f914610657578063432fc8f21461068257806347c6dd92146107db576103d9565b80632c4b2308146105945780632d28e89d146105ab578063307e4e7a146105d65780633197cbb614610601576103d9565b80631bc141a9116103ac5780631bc141a9146104c25780631bf52e09146104fd5780631d8b44c51461053e5780632069ee7914610569576103d9565b806302763892146103de578063036a9955146104195780630af715e61461045a5780630cd9a87414610471575b600080fd5b3480156103ea57600080fd5b506104176004803603602081101561040157600080fd5b8101908080359060200190929190505050611271565b005b34801561042557600080fd5b5061042e61128b565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561046657600080fd5b5061046f6112b1565b005b34801561047d57600080fd5b506104c06004803603602081101561049457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611302565b005b3480156104ce57600080fd5b506104fb600480360360208110156104e557600080fd5b81019080803590602001909291905050506113dc565b005b34801561050957600080fd5b506105126113fd565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561054a57600080fd5b50610553611423565b6040518082815260200191505060405180910390f35b34801561057557600080fd5b5061057e611429565b6040518082815260200191505060405180910390f35b3480156105a057600080fd5b506105a961142f565b005b3480156105b757600080fd5b506105c0611464565b6040518082815260200191505060405180910390f35b3480156105e257600080fd5b506105eb61146a565b6040518082815260200191505060405180910390f35b34801561060d57600080fd5b5061061661146f565b6040518082815260200191505060405180910390f35b34801561063857600080fd5b50610641611475565b6040518082815260200191505060405180910390f35b34801561066357600080fd5b5061066c61147f565b6040518082815260200191505060405180910390f35b34801561068e57600080fd5b506107d9600480360360408110156106a557600080fd5b81019080803590602001906401000000008111156106c257600080fd5b8201836020820111156106d457600080fd5b803590602001918460208302840111640100000000831117156106f657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561075657600080fd5b82018360208201111561076857600080fd5b8035906020019184602083028401116401000000008311171561078a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050611485565b005b3480156107e757600080fd5b506107f06114c7565b6040518082815260200191505060405180910390f35b34801561081257600080fd5b5061081b6114cd565b005b34801561082957600080fd5b50610832611510565b6040518082815260200191505060405180910390f35b34801561085457600080fd5b5061085d611516565b005b34801561086b57600080fd5b5061087461166c565b6040518082815260200191505060405180910390f35b34801561089657600080fd5b5061089f611672565b005b3480156108ad57600080fd5b506108b66116c2565b005b3480156108c457600080fd5b506108cd6118ad565b60405180821515815260200191505060405180910390f35b3480156108f157600080fd5b506109346004803603602081101561090857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118c0565b005b34801561094257600080fd5b5061094b611914565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561098357600080fd5b5061098c61193a565b6040518082815260200191505060405180910390f35b3480156109ae57600080fd5b506109b7611946565b6040518082815260200191505060405180910390f35b3480156109d957600080fd5b50610a10600480360360408110156109f057600080fd5b81019080803590602001909291908035906020019092919050505061194c565b005b348015610a1e57600080fd5b50610a27611978565b6040518082815260200191505060405180910390f35b348015610a4957600080fd5b50610a5261197e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610a8a57600080fd5b50610acd60048036036020811015610aa157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119a4565b005b348015610adb57600080fd5b50610b1e60048036036020811015610af257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119f8565b6040518082815260200191505060405180910390f35b348015610b4057600080fd5b50610b49611a10565b005b348015610b5757600080fd5b50610b60611c0a565b60405180826005811115610b7057fe5b815260200191505060405180910390f35b348015610b8d57600080fd5b50610b96611c1d565b6040518082815260200191505060405180910390f35b348015610bb857600080fd5b50610bfb60048036036020811015610bcf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c23565b005b348015610c0957600080fd5b50610c12611d46565b6040518082815260200191505060405180910390f35b348015610c3457600080fd5b50610c3d611d4c565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610c7557600080fd5b50610cb860048036036020811015610c8c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611d72565b005b348015610cc657600080fd5b50610ccf611dc6565b6040518082815260200191505060405180910390f35b348015610cf157600080fd5b50610cfa611dcc565b6040518082815260200191505060405180910390f35b348015610d1c57600080fd5b50610d4960048036036020811015610d3357600080fd5b8101908080359060200190929190505050611dd2565b005b348015610d5757600080fd5b50610d8460048036036020811015610d6e57600080fd5b8101908080359060200190929190505050611dec565b6040518082815260200191505060405180910390f35b348015610da657600080fd5b50610daf611e0d565b005b348015610dbd57600080fd5b50610e0060048036036020811015610dd457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612164565b6040518082815260200191505060405180910390f35b348015610e2257600080fd5b50610e6f60048036036040811015610e3957600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061217c565b005b348015610e7d57600080fd5b50610e86612297565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b348015610ebe57600080fd5b50610ec76122bd565b60405180826005811115610ed757fe5b815260200191505060405180910390f35b348015610ef457600080fd5b50610f2160048036036020811015610f0b57600080fd5b81019080803590602001909291905050506122ce565b005b348015610f2f57600080fd5b50610f386122e8565b6040518082815260200191505060405180910390f35b348015610f5a57600080fd5b50610f9d60048036036020811015610f7157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122ee565b005b348015610fab57600080fd5b50610fd860048036036020811015610fc257600080fd5b810190808035906020019092919050505061233a565b6040518082815260200191505060405180910390f35b610ff661235b565b005b34801561100457600080fd5b506110476004803603602081101561101b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612675565b005b34801561105557600080fd5b506110826004803603602081101561106c57600080fd5b81019080803590602001909291905050506126c1565b005b34801561109057600080fd5b506110996126e4565b005b3480156110a757600080fd5b506110ea600480360360208110156110be57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061275f565b005b3480156110f857600080fd5b506111016127b3565b005b34801561110f57600080fd5b50611118612979565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561115057600080fd5b5061117d6004803603602081101561116757600080fd5b810190808035906020019092919050505061299f565b005b34801561118b57600080fd5b506111946129ea565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156111cc57600080fd5b506111d5612a10565b005b3480156111e357600080fd5b506111ec612b38565b005b3480156111fa57600080fd5b50611203612c60565b005b34801561121157600080fd5b5061121a612e54565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561125257600080fd5b5061125b612e7a565b6040518082815260200191505060405180910390f35b611279612f03565b611281612fc8565b8060148190555050565b600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6112b9612f03565b6112c1612fc8565b6112f2670de0b6b3a76400006112e4601b5460065461306390919063ffffffff16565b6130e990919063ffffffff16565b601181905550611300613172565b565b61130a613375565b61131261343a565b601360149054906101000a900460ff166113d9576000611353601154611345600b5460125461306390919063ffffffff16565b6130e990919063ffffffff16565b9050600061136c82601254612e8090919063ffffffff16565b90506001601360146101000a81548160ff0219169083151502179055506113d68382601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166134d59092919063ffffffff16565b50505b50565b6113e4612f03565b6113ec612fc8565b8060068190555080600d8190555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105481565b60065481565b611437613375565b61143f613577565b60046000806101000a81548160ff0219169083600581111561145d57fe5b0217905550565b610e1081565b600a81565b60085481565b655af3107a400081565b600e5481565b61148d613375565b611495612fc8565b80600f90805190602001906114ab929190614558565b5081601690805190602001906114c2929190614558565b505050565b600d5481565b6114d5613375565b6114dd613577565b600060019054906101000a900460ff166000806101000a81548160ff0219169083600581111561150957fe5b0217905550565b600a5481565b61151e613375565b6003600581111561152b57fe5b60008054906101000a900460ff16600581111561154457fe5b1415801561157657506004600581111561155a57fe5b60008054906101000a900460ff16600581111561157357fe5b14155b80156115a5575060058081111561158957fe5b60008054906101000a900460ff1660058111156115a257fe5b14155b611617576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f426173653a2053544154455f49535f46494e414c00000000000000000000000081525060200191505060405180910390fd5b60008054906101000a900460ff16600060016101000a81548160ff0219169083600581111561164257fe5b021790555060056000806101000a81548160ff0219169083600581111561166557fe5b0217905550565b60155481565b61167a613611565b6008544211156116aa57600a54600c541061169c576116976136ac565b6116a5565b6116a46136d1565b5b6116c0565b600654600c5414156116bf576116be6136ac565b5b5b565b6116ca6136f6565b6000601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111611784576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f426173653a20414c52454144595f524546554e4445440000000000000000000081525060200191505060405180910390fd5b6000601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611854573d6000803e3d6000fd5b507fbb28353e4598c3b9199101a66e0989549b659a59a54d2c27fbb183f1932c8e6d3382604051808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b601360149054906101000a900460ff1681565b6118c8612f03565b6118d0612fc8565b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b670de0b6b3a764000081565b60095481565b611954612f03565b61195c612fc8565b6119668282613791565b81600781905550806008819055505050565b60075481565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6119ac613375565b6119b4612fc8565b80601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601a6020528060005260406000206000915090505481565b611a1861343a565b611a20613894565b6000611a39601054600c54612e8090919063ffffffff16565b90506000611b1382600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611aca57600080fd5b505afa158015611ade573d6000803e3d6000fd5b505050506040513d6020811015611af457600080fd5b8101908080519060200190929190505050612e8090919063ffffffff16565b9050600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611bca57600080fd5b505af1158015611bde573d6000803e3d6000fd5b505050506040513d6020811015611bf457600080fd5b8101908080519060200190929190505050505050565b600060019054906101000a900460ff1681565b60145481565b611c2b613375565b611c336136f6565b611d4381601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611cc057600080fd5b505afa158015611cd4573d6000803e3d6000fd5b505050506040513d6020811015611cea57600080fd5b8101908080519060200190929190505050601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166134d59092919063ffffffff16565b50565b600c5481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611d7a613375565b611d82612fc8565b80601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60115481565b601b5481565b611dda612f03565b611de2612fc8565b80601b8190555050565b60168181548110611df957fe5b906000526020600020016000915090505481565b611e1561343a565b601554421015611e8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f426173653a20434c41494d494e475f4e4f545f5354415254454400000000000081525060200191505060405180910390fd5b6000601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008211611f8b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f426173653a20524553455256455f42414c414e43455f5a45524f00000000000081525060200191505060405180910390fd5b6000601960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506120623383600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166134d59092919063ffffffff16565b6120778260105461395990919063ffffffff16565b6010819055506000806012541115612102576120b26011546120a48460125461306390919063ffffffff16565b6130e990919063ffffffff16565b90506121013382601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166134d59092919063ffffffff16565b5b7f34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf7338483604051808473ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a1505050565b60196020528060005260406000206000915090505481565b612184613375565b6000600581111561219157fe5b60008054906101000a900460ff1660058111156121aa57fe5b14806121d95750600160058111156121be57fe5b60008054906101000a900460ff1660058111156121d757fe5b145b61224b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f4f4e4c595f445552494e475f494e495449414c495a45445f4f525f524541445981525060200191505060405180910390fd5b8160128190555080601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054906101000a900460ff1681565b6122d6612f03565b6122de612fc8565b80600e8190555050565b600b5481565b6122f6612f03565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600f818154811061234757fe5b906000526020600020016000915090505481565b612363613611565b600e543410156123db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f46503a204f524445525f544f4f5f534d414c4c0000000000000000000000000081525060200191505060405180910390fd5b60006123e56139e1565b905060006123f282613b27565b905080601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054106124a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f46503a204d41585f414c4c4f434154494f4e5f5245414348454400000000000081525060200191505060405180910390fd5b60006124f534601a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548403613c83565b9050600061253361252b601b5461251d670de0b6b3a76400008661306390919063ffffffff16565b6130e990919063ffffffff16565b600d54613c83565b90506000612566670de0b6b3a7640000612558601b548561306390919063ffffffff16565b6130e990919063ffffffff16565b90506000811180156125785750600082115b6125ea576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f46503a204d41585f414c4c4f434154494f4e5f5245414348454400000000000081525060200191505060405180910390fd5b6125f5338383613c9c565b655af3107a400061260f8234612e8090919063ffffffff16565b1061266e573373ffffffffffffffffffffffffffffffffffffffff166108fc6126418334612e8090919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561266c573d6000803e3d6000fd5b505b5050505050565b61267d613375565b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6126c9612f03565b6126d1612fc8565b6126da81613dd5565b8060098190555050565b6126ec61343a565b6126f4613894565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561275c573d6000803e3d6000fd5b50565b612767612f03565b61276f612fc8565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6127bb6136f6565b6127c3613894565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156128ad57600080fd5b505afa1580156128c1573d6000803e3d6000fd5b505050506040513d60208110156128d757600080fd5b81019080805190602001909291905050506040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561293b57600080fd5b505af115801561294f573d6000803e3d6000fd5b505050506040513d602081101561296557600080fd5b810190808051906020019092919050505050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6129a7613375565b806015819055507f25a4f2ff0abb0fd4627d671f1bbd9629eaef1acc636b847044100b1e6be42cc66015546040518082815260200191505060405180910390a150565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612ad3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f4e4c595f50524f4a4543545f41444d494e000000000000000000000000000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600060026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612bfb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4f4e4c595f52415a45525f41444d494e0000000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b612c68613375565b612c70613ec6565b600754421015612ce8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600f8152602001807f426173653a20544f4f5f4541524c59000000000000000000000000000000000081525060200191505060405180910390fd5b60006012541115612e2f57601254601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612d7f57600080fd5b505afa158015612d93573d6000803e3d6000fd5b505050506040513d6020811015612da957600080fd5b81019080805190602001909291905050501015612e2e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f426173653a204e4f545f454e4f5547485f4f434300000000000000000000000081525060200191505060405180910390fd5b5b60026000806101000a81548160ff02191690836005811115612e4d57fe5b0217905550565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60125481565b600082821115612ef8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b818303905092915050565b600060029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612fc6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f4e4c595f50524f4a4543545f41444d494e000000000000000000000000000081525060200191505060405180910390fd5b565b60006005811115612fd557fe5b60008054906101000a900460ff166005811115612fee57fe5b14613061576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f4f4e4c595f445552494e475f494e495449414c495a454400000000000000000081525060200191505060405180910390fd5b565b60008083141561307657600090506130e3565b600082840290508284828161308757fe5b04146130de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061461e6021913960400191505060405180910390fd5b809150505b92915050565b6000808211613160576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b81838161316957fe5b04905092915050565b61317a612f03565b613182612fc8565b613190600754600854613791565b61319b600954613dd5565b6131a3613f61565b600654600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561322f57600080fd5b505afa158015613243573d6000803e3d6000fd5b505050506040513d602081101561325957600080fd5b810190808051906020019092919050505010156132de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f426173653a204e4f545f454e4f5547485f50524f4a4543545f544f4b454e530081525060200191505060405180910390fd5b61330860646132fa60095460065461306390919063ffffffff16565b6130e990919063ffffffff16565b600a819055506008546015819055507f25a4f2ff0abb0fd4627d671f1bbd9629eaef1acc636b847044100b1e6be42cc66015546040518082815260200191505060405180910390a160016000806101000a81548160ff0219169083600581111561336e57fe5b0217905550565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613438576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4f4e4c595f52415a45525f41444d494e0000000000000000000000000000000081525060200191505060405180910390fd5b565b6003600581111561344757fe5b60008054906101000a900460ff16600581111561346057fe5b146134d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4f4e4c595f445552494e475f535543434553530000000000000000000000000081525060200191505060405180910390fd5b565b6135728363a9059cbb60e01b8484604051602401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506141c9565b505050565b60058081111561358357fe5b60008054906101000a900460ff16600581111561359c57fe5b1461360f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f4e4c595f445552494e475f504155534544000000000000000000000000000081525060200191505060405180910390fd5b565b6002600581111561361e57fe5b60008054906101000a900460ff16600581111561363757fe5b146136aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f4f4e4c595f445552494e475f4f4e474f494e470000000000000000000000000081525060200191505060405180910390fd5b565b60036000806101000a81548160ff021916908360058111156136ca57fe5b0217905550565b60046000806101000a81548160ff021916908360058111156136ef57fe5b0217905550565b6004600581111561370357fe5b60008054906101000a900460ff16600581111561371c57fe5b1461378f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260108152602001807f4f4e4c595f445552494e475f4641494c0000000000000000000000000000000081525060200191505060405180910390fd5b565b610e106137a78383612e8090919063ffffffff16565b101561381b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f426173653a204455524154494f4e5f53484f525400000000000000000000000081525060200191505060405180910390fd5b428211613890576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f426173653a2053544152545f54494d455f50415353454400000000000000000081525060200191505060405180910390fd5b5050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614613957576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4f4e4c595f41535345545f4d414e41474552000000000000000000000000000081525060200191505060405180910390fd5b565b6000808284019050838110156139d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b600080601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b45aae52336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015613a6d57600080fd5b505afa158015613a81573d6000803e3d6000fd5b505050506040513d6020811015613a9757600080fd5b8101908080519060200190929190505050905060008111613b20576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f426173653a204e4f545f57484954454c4953544544000000000000000000000081525060200191505060405180910390fd5b8091505090565b600080600f6001840381548110613b3a57fe5b906000526020600020015490506000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637a766460336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015613bd257600080fd5b505afa158015613be6573d6000803e3d6000fd5b505050506040513d6020811015613bfc57600080fd5b81019080805190602001909291905050509050600080600090505b601680549050811015613c6e5760168181548110613c3157fe5b90600052602060002001548310613c6157600f8181548110613c4f57fe5b90600052602060002001549150613c6e565b8080600101915050613c17565b50613c798184613c83565b9350505050919050565b6000818310613c925781613c94565b825b905092915050565b81601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555080601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600c6000828254019250508190555081600d6000828254039250508190555080600b600082825401925050819055506000600d541415613d7a57613d796136ac565b5b8273ffffffffffffffffffffffffffffffffffffffff167f9c10a5d88b8bcebd833bb4e481b4622feeafac135896d3a54eea5fd90960c6e18383604051808381526020018281526020019250505060405180910390a2505050565b600a811015613e4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f426173653a204d494e5f46494c4c5f50455243454e544147455f4c4f5700000081525060200191505060405180910390fd5b6064811115613ec3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f426173653a204d494e5f46494c4c5f50455243454e544147455f48494748000081525060200191505060405180910390fd5b50565b60016005811115613ed357fe5b60008054906101000a900460ff166005811115613eec57fe5b14613f5f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f4f4e4c595f445552494e475f524541445900000000000000000000000000000081525060200191505060405180910390fd5b565b600f8054905060168054905014613fc3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260358152602001806145c36035913960400191505060405180910390fd5b6000600190505b6016805490508110156141315760168181548110613fe457fe5b906000526020600020015460166001830381548110613fff57fe5b90600052602060002001541161407d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601c8152602001807f426173653a205354414b455f54494552535f4e4f545f534f525445440000000081525060200191505060405180910390fd5b600f818154811061408a57fe5b9060005260206000200154600f60018303815481106140a557fe5b90600052602060002001541015614124576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f426173653a204d41585f414c4c4f434154494f4e535f4e4f545f534f5254454481525060200191505060405180910390fd5b8080600101915050613fca565b50600060166001601680549050038154811061414957fe5b9060005260206000200154146141c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f426173653a204e4f5f5a45524f5f5354414b455f54494552000000000000000081525060200191505060405180910390fd5b565b606061422b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166142b89092919063ffffffff16565b90506000815111156142b35780806020019051602081101561424c57600080fd5b81019080805190602001909291905050506142b2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a81526020018061463f602a913960400191505060405180910390fd5b5b505050565b60606142c784846000856142d0565b90509392505050565b60608247101561432b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806145f86026913960400191505060405180910390fd5b61433485614479565b6143a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000081525060200191505060405180910390fd5b600060608673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b602083106143f657805182526020820191506020810190506020830392506143d3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114614458576040519150601f19603f3d011682016040523d82523d6000602084013e61445d565b606091505b509150915061446d82828661448c565b92505050949350505050565b600080823b905060008111915050919050565b6060831561449c57829050614551565b6000835111156144af5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156145165780820151818401526020810190506144fb565b50505050905090810190601f1680156145435780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b9392505050565b828054828255906000526020600020908101928215614594579160200282015b82811115614593578251825591602001919060010190614578565b5b5090506145a191906145a5565b5090565b5b808211156145be5760008160009055506001016145a6565b509056fe426173653a205354414b455f54494552535f414e445f4d41585f414c4c4f434154494f4e535f4e4f545f53414d455f4c454e475448416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a264697066735822122065d8d109a3dca82ccc53317aff7339a3a66d03853354fb01e9caac89d0fb13f664736f6c63430007000033
[codex:581463] 
[codex:581463] thinking
[codex:581463] **Analyzing bytecode for vulnerabilities**
[codex:581463] exec
[codex:581463] /bin/bash -lc "python - <<'PY'
[codex:581463] import re, binascii
[codex:581463] path='/tmp/codex-multi-rizsuqn4/BYTECODE_BUNDLE.txt'
[codex:581463] text=open(path,'r').read()
[codex:581463] # extract hex after 0x in runtime_bytecode
[codex:581463] m=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:581463] if not m:
[codex:581463]     print('no hex')
[codex:581463]     raise SystemExit
[codex:581463] hexstr=m.group(1)[2:]
[codex:581463] print('hex length', len(hexstr))
[codex:581463] # convert
[codex:581463] b=binascii.unhexlify(hexstr)
[codex:581463] print('byte length', len(b))
[codex:581463] # opcode counts for delegatecall, call, selfdestruct
[codex:581463] from collections import Counter
[codex:581463] cnt=Counter(b)
[codex:581463] for op,name in [(0xf1,'CALL'),(0xf2,'CALLCODE'),(0xf4,'DELEGATECALL'),(0xf5,'CREATE2'),(0xff,'SELFDESTRUCT')]:
[codex:581463]     print(name, cnt[op])
[codex:581463] # find positions of delegatecall/selfdestruct
[codex:581463] ops={0xf4:'DELEGATECALL',0xff:'SELFDESTRUCT',0xf2:'CALLCODE'}
[codex:581463] for op in ops:
[codex:581463]     if cnt[op]:
[codex:581463]         print(ops[op],'positions', [i for i,x in enumerate(b) if x==op][:20])
[codex:581463] # check if there is only one delegatecall maybe in safeERC20?; print some surrounding bytes
[codex:581463] if cnt[0xf4]:
[codex:581463]     for i in [i for i,x in enumerate(b) if x==0xf4][:5]:
[codex:581463]         print('delegatecall around', i, b[i-10:i+10].hex())
[codex:581463] PY" in /tmp/codex-multi-rizsuqn4 succeeded in 36ms:
[codex:581463] hex length 36156
[codex:581463] byte length 18078
[codex:581463] CALL 9
[codex:581463] CALLCODE 6
[codex:581463] DELEGATECALL 7
[codex:581463] CREATE2 4
[codex:581463] SELFDESTRUCT 2878
[codex:581463] DELEGATECALL positions [54, 65, 476, 3822, 6894, 7150, 9967]
[codex:581463] SELFDESTRUCT positions [1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096]
[codex:581463] CALLCODE positions [810, 2796, 4804, 9196, 10674, 13083]
[codex:581463] delegatecall around 54 e0f72f116100ab578063f4b94a5d1161007a5780
[codex:581463] delegatecall around 65 b94a5d1161007a578063f4b94a5d146111c05780
[codex:581463] delegatecall around 476 6014610b4b5780639032f44414610b8157806390
[codex:581463] delegatecall around 3822 910390f35b348015610ef457600080fd5b50610f
[codex:581463] delegatecall around 6894 40513d6020811015611af457600080fd5b810190
[codex:581463] 
[codex:581463] thinking
[codex:581463] **Planning opcode disassembler implementation**
[codex:581463] exec
[codex:581463] /bin/bash -lc "python - <<'PY'
[codex:581463] import re, binascii
[codex:581463] path='/tmp/codex-multi-rizsuqn4/BYTECODE_BUNDLE.txt'
[codex:581463] text=open(path,'r').read()
[codex:581463] import re
[codex:581463] m=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:581463] hexstr=m.group(1)[2:]
[codex:581463] b=binascii.unhexlify(hexstr)
[codex:581463] # Disassemble
[codex:581463] opcounts={}
[codex:581463] ops_positions={0xf4:[],0xff:[],0xf2:[],0xf1:[],0xf0:[],0xf5:[]}
[codex:581463] code_len=len(b)
[codex:581463] pc=0
[codex:581463] while pc<code_len:
[codex:581463]     op=b[pc]
[codex:581463]     opcounts[op]=opcounts.get(op,0)+1
[codex:581463]     if op in ops_positions:
[codex:581463]         ops_positions[op].append(pc)
[codex:581463]     pc+=1
[codex:581463]     if 0x60 <= op <= 0x7f:  # PUSH1-PUSH32
[codex:581463]         push_len=op-0x5f
[codex:581463]         pc+=push_len
[codex:581463] 
[codex:581463] # report
[codex:581463] names={0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xff:'SELFDESTRUCT'}
[codex:581463] for op in [0xf0,0xf1,0xf2,0xf4,0xf5,0xff]:
[codex:581463]     print(names[op], len(ops_positions[op]))
[codex:581463]     if ops_positions[op]:
[codex:581463]         print(' positions sample', ops_positions[op][:10])
[codex:581463] PY" in /tmp/codex-multi-rizsuqn4 succeeded in 27ms:
[codex:581463] CREATE 0
[codex:581463] CALL 6
[codex:581463]  positions sample [6206, 7117, 9814, 10054, 10558, 17448]
[codex:581463] CALLCODE 0
[codex:581463] DELEGATECALL 0
[codex:581463] CREATE2 0
[codex:581463] SELFDESTRUCT 0
[codex:581463] 
[codex:581463] thinking
[codex:581463] **Analyzing CALL instructions for risks**
[codex:581463] exec
[codex:581463] /bin/bash -lc "python - <<'PY'
[codex:581463] import re, binascii
[codex:581463] path='/tmp/codex-multi-rizsuqn4/BYTECODE_BUNDLE.txt'
[codex:581463] text=open(path,'r').read()
[codex:581463] m=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:581463] hexstr=m.group(1)[2:]
[codex:581463] b=binascii.unhexlify(hexstr)
[codex:581463] # opcode names
[codex:581463] opnames = {**{i: f'PUSH{i-0x5f}' for i in range(0x60,0x80)}}
[codex:581463] # fill opnames for common
[codex:581463] base = {
[codex:581463]     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:581463]     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:581463]     0x20:'SHA3',
[codex:581463]     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:581463]     0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',
[codex:581463]     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:581463]     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:581463]     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:581463]     0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',
[codex:581463]     0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'
[codex:581463] }
[codex:581463] opnames.update(base)
[codex:581463] 
[codex:581463] # disassemble to list of (pc, op, operand_bytes)
[codex:581463] ops=[]
[codex:581463] pc=0
[codex:581463] while pc < len(b):
[codex:581463]     op=b[pc]
[codex:581463]     name=opnames.get(op, f'OP{op:02x}')
[codex:581463]     pc0=pc
[codex:581463]     pc+=1
[codex:581463]     operand=b''
[codex:581463]     if 0x60 <= op <= 0x7f:
[codex:581463]         ln=op-0x5f
[codex:581463]         operand=b[pc:pc+ln]
[codex:581463]         pc+=ln
[codex:581463]     ops.append((pc0, op, name, operand))
[codex:581463] 
[codex:581463] call_positions=[i for i,(pc,op,name,operand) in enumerate(ops) if op==0xf1]
[codex:581463] print('CALL ops', len(call_positions))
[codex:581463] # print context around each call
[codex:581463] for idx in call_positions:
[codex:581463]     start=max(0, idx-8)
[codex:581463]     end=min(len(ops), idx+6)
[codex:581463]     print('\\nCALL at pc', ops[idx][0])
[codex:581463]     for pc,op,name,operand in ops[start:end]:
[codex:581463]         if operand:
[codex:581463]             print(f\"{pc:05x}: {name} 0x{operand.hex()}\")
[codex:581463]         else:
[codex:581463]             print(f\"{pc:05x}: {name}\")
[codex:581463] PY" in /tmp/codex-multi-rizsuqn4 succeeded in 34ms:
[codex:581463] CALL ops 6
[codex:581463] 
[codex:581463] CALL at pc 6206
[codex:581463] 01836: MLOAD
[codex:581463] 01837: DUP1
[codex:581463] 01838: DUP4
[codex:581463] 01839: SUB
[codex:581463] 0183a: DUP2
[codex:581463] 0183b: DUP6
[codex:581463] 0183c: DUP9
[codex:581463] 0183d: DUP9
[codex:581463] 0183e: CALL
[codex:581463] 0183f: SWAP4
[codex:581463] 01840: POP
[codex:581463] 01841: POP
[codex:581463] 01842: POP
[codex:581463] 01843: POP
[codex:581463] 
[codex:581463] CALL at pc 7117
[codex:581463] 01bc2: PUSH2 0x1bca
[codex:581463] 
[codex:581463] thinking
[codex:581463] **Analyzing CALL instructions for token and ETH transfers**
[codex:581463] exec
[codex:581463] /bin/bash -lc "python - <<'PY'
[codex:581463] import re, binascii
[codex:581463] path='/tmp/codex-multi-rizsuqn4/BYTECODE_BUNDLE.txt'
[codex:581463] text=open(path,'r').read()
[codex:581463] m=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:581463] hexstr=m.group(1)[2:]
[codex:581463] b=binascii.unhexlify(hexstr)
[codex:581463] # opcode names
[codex:581463] opnames={**{i: f'PUSH{i-0x5f}' for i in range(0x60,0x80)}}
[codex:581463] base={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',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',0x20:'SHA3',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',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',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',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',0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:581463] opnames.update(base)
[codex:581463] # disassemble
[codex:581463] ops=[]
[codex:581463] pc=0
[codex:581463] while pc < len(b):
[codex:581463]     op=b[pc]; name=opnames.get(op, f'OP{op:02x}'); pc0=pc; pc+=1; operand=b''
[codex:581463]     if 0x60<=op<=0x7f:
[codex:581463]         ln=op-0x5f; operand=b[pc:pc+ln]; pc+=ln
[codex:581463]     ops.append((pc0,op,name,operand))
[codex:581463] 
[codex:581463] # find calls
[codex:581463] call_idxs=[i for i,(pc,op,name,operand) in enumerate(ops) if op==0xf1]
[codex:581463] # choose calls around pc 0x1bcd, 0x293e etc
[codex:581463] for idx in call_idxs:
[codex:581463]     pc=ops[idx][0]
[codex:581463]     if pc in (0x1bcd,0x293e):
[codex:581463]         print('\\n=== Context for CALL at', hex(pc), '===')
[codex:581463]         start=max(0, idx-40); end=min(len(ops), idx+10)
[codex:581463]         for pc,op,name,operand in ops[start:end]:
[codex:581463]             if operand:
[codex:581463]                 print(f\"{pc:05x}: {name} 0x{operand.hex()}\")
[codex:581463]             else:
[codex:581463]                 print(f\"{pc:05x}: {name}\")
[codex:581463] PY" in /tmp/codex-multi-rizsuqn4 succeeded in 34ms:
[codex:581463] 
[codex:581463] === Context for CALL at 0x1bcd ===
[codex:581463] 01b89: ADD
[codex:581463] 01b8a: DUP1
[codex:581463] 01b8b: DUP4
[codex:581463] 01b8c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
[codex:581463] 01ba1: AND
[codex:581463] 01ba2: DUP2
[codex:581463] 01ba3: MSTORE
[codex:581463] 01ba4: PUSH1 0x20
[codex:581463] 01ba6: ADD
[codex:581463] 01ba7: DUP3
[codex:581463] 01ba8: DUP2
[codex:581463] 01ba9: MSTORE
[codex:581463] 01baa: PUSH1 0x20
[codex:581463] 01bac: ADD
[codex:581463] 01bad: SWAP3
[codex:581463] 01bae: POP
[codex:581463] 01baf: POP
[codex:581463] 01bb0: POP
[codex:581463] 
[codex:581463] thinking
[codex:581463] **Analyzing CALL instructions and value arguments**
[codex:581463] exec
[codex:581463] /bin/bash -lc "python - <<'PY'
[codex:581463] import re, binascii
[codex:581463] path='/tmp/codex-multi-rizsuqn4/BYTECODE_BUNDLE.txt'
[codex:581463] text=open(path,'r').read()
[codex:581463] m=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:581463] hexstr=m.group(1)[2:]
[codex:581463] b=binascii.unhexlify(hexstr)
[codex:581463] # opcode names
[codex:581463] opnames={**{i: f'PUSH{i-0x5f}' for i in range(0x60,0x80)}}
[codex:581463] base={0x00:'STOP',0x01:'ADD',0x02:'MUL',0x03:'SUB',0x04:'DIV',0x05:'SDIV',0x06:'MOD',0x07:'SMOD',0x08:'ADDMOD',0x09:'MULMOD',0x0a:'EXP',0x0b:'SIGNEXTEND',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',0x20:'SHA3',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',0x40:'BLOCKHASH',0x41:'COINBASE',0x42:'TIMESTAMP',0x43:'NUMBER',0x44:'DIFFICULTY',0x45:'GASLIMIT',0x50:'POP',0x51:'MLOAD',0x52:'MSTORE',0x53:'MSTORE8',0x54:'SLOAD',0x55:'SSTORE',0x56:'JUMP',0x57:'JUMPI',0x58:'PC',0x59:'MSIZE',0x5a:'GAS',0x5b:'JUMPDEST',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',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',0xa0:'LOG0',0xa1:'LOG1',0xa2:'LOG2',0xa3:'LOG3',0xa4:'LOG4',0xf0:'CREATE',0xf1:'CALL',0xf2:'CALLCODE',0xf3:'RETURN',0xf4:'DELEGATECALL',0xf5:'CREATE2',0xfa:'STATICCALL',0xfd:'REVERT',0xfe:'INVALID',0xff:'SELFDESTRUCT'}
[codex:581463] opnames.update(base)
[codex:581463] # disassemble
[codex:581463] ops=[]
[codex:581463] pc=0
[codex:581463] while pc < len(b):
[codex:581463]     op=b[pc]; name=opnames.get(op, f'OP{op:02x}'); pc0=pc; pc+=1; operand=b''
[codex:581463]     if 0x60<=op<=0x7f:
[codex:581463]         ln=op-0x5f; operand=b[pc:pc+ln]; pc+=ln
[codex:581463]     ops.append((pc0,op,name,operand))
[codex:581463] 
[codex:581463] # map pc to index
[codex:581463] pc_to_idx={pc:i for i,(pc,op,name,operand) in enumerate(ops)}
[codex:581463] 
[codex:581463] for target_pc in [0x183e,0x2656,0x2746,0x4428]:
[codex:581463]     idx=pc_to_idx.get(target_pc)
[codex:581463]     if idx is None:
[codex:581463]         print('pc not found', hex(target_pc)); continue
[codex:581463]     print('\\n=== Context for CALL at', hex(target_pc), '===')
[codex:581463]     start=max(0, idx-40); end=min(len(ops), idx+12)
[codex:581463]     for pc,op,name,operand in ops[start:end]:
[codex:581463]         if operand:
[codex:581463]             print(f\"{pc:05x}: {name} 0x{operand.hex()}\")
[codex:581463]         else:
[codex:581463]             print(f\"{pc:05x}: {name}\")
[codex:581463] PY" in /tmp/codex-multi-rizsuqn4 succeeded in 33ms:
[codex:581463] 
[codex:581463] === Context for CALL at 0x183e ===
[codex:581463] 017e6: AND
[codex:581463] 017e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
[codex:581463] 017fc: AND
[codex:581463] 017fd: DUP2
[codex:581463] 017fe: MSTORE
[codex:581463] 017ff: PUSH1 0x20
[codex:581463] 01801: ADD
[codex:581463] 01802: SWAP1
[codex:581463] 01803: DUP2
[codex:581463] 01804: MSTORE
[codex:581463] 01805: PUSH1 0x20
[codex:581463] 01807: ADD
[codex:581463] 01808: PUSH1 0x00
[codex:581463] 0180a: SHA3
[codex:581463] 0180b: DUP2
[codex:581463] 0180c: SWAP1
[codex:581463] 0180d: SSTORE
[codex:581463] 0180e: POP
[codex:581463] 
[codex:581463] thinking
[codex:581463] **Analyzing low-level CALL patterns**
[codex:581463] exec
[codex:581463] /bin/bash -lc "python - <<'PY'
[codex:581463] import re, binascii
[codex:581463] text=open('/tmp/codex-multi-rizsuqn4/BYTECODE_BUNDLE.txt').read()
[codex:581463] import re
[codex:581463] m=re.search(r'FILE: runtime_bytecode.hex\\n(0x[0-9a-fA-F]+)', text)
[codex:581463] hexstr=m.group(1)[2:]
[codex:581463] b=binascii.unhexlify(hexstr)
[codex:581463] # disassemble to count staticcall
[codex:581463] pc=0
[codex:581463] count=0
[codex:581463] positions=[]
[codex:581463] while pc < len(b):
[codex:581463]     op=b[pc]; pc+=1
[codex:581463]     if op==0xfa:
[codex:581463]         count+=1; positions.append(pc-1)
[codex:581463]     if 0x60<=op<=0x7f:
[codex:581463]         pc+=op-0x5f
[codex:581463] print('STATICCALL', count, positions[:10])
[codex:581463] PY" in /tmp/codex-multi-rizsuqn4 succeeded in 26ms:
[codex:581463] STATICCALL 7 [6861, 7363, 10416, 11650, 12850, 14960, 15317]
[codex:581463] 
[codex:581463] thinking
[codex:581463] **Confirming no concrete exploits found**
[codex:581463] codex
[codex:581463] {"no_findings":true,"summary":"Reviewed BYTECODE_BUNDLE.txt runtime bytecode end-to-end; no concrete, exploitable profit path identified from bytecode alone (no delegatecall/selfdestruct, external calls appear consistent with ERC20 transfers/refunds guarded by state/access checks).","findings":[]}
[codex:581463] tokens used
[codex:581463] 42,457
[codex:581463] {"no_findings":true,"summary":"Reviewed BYTECODE_BUNDLE.txt runtime bytecode end-to-end; no concrete, exploitable profit path identified from bytecode alone (no delegatecall/selfdestruct, external calls appear consistent with ERC20 transfers/refunds guarded by state/access checks).","findings":[]}
Metadata
{
    "codex": {
        "ran_at": "2026-01-05T05:10:53.962543+00:00",
        "returncode": 0
    },
    "summary": "Reviewed BYTECODE_BUNDLE.txt runtime bytecode end-to-end; no concrete, exploitable profit path identified from bytecode alone (no delegatecall/selfdestruct, external calls appear consistent with ERC20 transfers/refunds guarded by state/access checks).",
    "raw_final": {
        "summary": "Reviewed BYTECODE_BUNDLE.txt runtime bytecode end-to-end; no concrete, exploitable profit path identified from bytecode alone (no delegatecall/selfdestruct, external calls appear consistent with ERC20 transfers/refunds guarded by state/access checks).",
        "findings": [],
        "no_findings": true
    },
    "no_findings": true,
    "schema_version": 1
}

Opcode Heuristics

tool.cast_disasm
Delegatecall
0
Selfdestruct
0
CREATE2
0
CALL-family (heavy)
13
EXT*/BALANCE
11
Total opcodes
9431
Flags
heavy_ext_balance_usage call_family_heavy
View cast disassembly output
00000000: PUSH1 0x80
00000002: PUSH1 0x40
00000004: MSTORE
00000005: PUSH1 0x04
00000007: CALLDATASIZE
00000008: LT
00000009: PUSH2 0x03d9
0000000c: JUMPI
0000000d: PUSH1 0x00
0000000f: CALLDATALOAD
00000010: PUSH1 0xe0
00000012: SHR
00000013: DUP1
00000014: PUSH4 0x8d64fd60
00000019: GT
0000001a: PUSH2 0x01fd
0000001d: JUMPI
0000001e: DUP1
0000001f: PUSH4 0xc71c0b40
00000024: GT
00000025: PUSH2 0x0118
00000028: JUMPI
00000029: DUP1
0000002a: PUSH4 0xe9e0f72f
0000002f: GT
00000030: PUSH2 0x00ab
00000033: JUMPI
00000034: DUP1
00000035: PUSH4 0xf4b94a5d
0000003a: GT
0000003b: PUSH2 0x007a
0000003e: JUMPI
0000003f: DUP1
00000040: PUSH4 0xf4b94a5d
00000045: EQ
00000046: PUSH2 0x11c0
00000049: JUMPI
0000004a: DUP1
0000004b: PUSH4 0xf56b3166
00000050: EQ
00000051: PUSH2 0x11d7
00000054: JUMPI
00000055: DUP1
00000056: PUSH4 0xf6c73294
0000005b: EQ
0000005c: PUSH2 0x11ee
0000005f: JUMPI
00000060: DUP1
00000061: PUSH4 0xfc0c546a
00000066: EQ
00000067: PUSH2 0x1205
0000006a: JUMPI
0000006b: DUP1
0000006c: PUSH4 0xfd1c7e0b
00000071: EQ
00000072: PUSH2 0x1246
00000075: JUMPI
00000076: PUSH2 0x03d9
00000079: JUMP
0000007a: JUMPDEST
0000007b: DUP1
0000007c: PUSH4 0xe9e0f72f
00000081: EQ
00000082: PUSH2 0x10ec
00000085: JUMPI
00000086: DUP1
00000087: PUSH4 0xeae69905
0000008c: EQ
0000008d: PUSH2 0x1103
00000090: JUMPI
00000091: DUP1
00000092: PUSH4 0xec15444d
00000097: EQ
00000098: PUSH2 0x1144
0000009b: JUMPI
0000009c: DUP1
0000009d: PUSH4 0xee99205c
000000a2: EQ
000000a3: PUSH2 0x117f
000000a6: JUMPI
000000a7: PUSH2 0x03d9
000000aa: JUMP
000000ab: JUMPDEST
000000ac: DUP1
000000ad: PUSH4 0xd15c6043
000000b2: GT
000000b3: PUSH2 0x00e7
000000b6: JUMPI
000000b7: DUP1
000000b8: PUSH4 0xd15c6043
000000bd: EQ
000000be: PUSH2 0x0ff8
000000c1: JUMPI
000000c2: DUP1
000000c3: PUSH4 0xd5ee587a
000000c8: EQ
000000c9: PUSH2 0x1049
000000cc: JUMPI
000000cd: DUP1
000000ce: PUSH4 0xe07fa3c1
000000d3: EQ
000000d4: PUSH2 0x1084
000000d7: JUMPI
000000d8: DUP1
000000d9: PUSH4 0xe4881c20
000000de: EQ
000000df: PUSH2 0x109b
000000e2: JUMPI
000000e3: PUSH2 0x03d9
000000e6: JUMP
000000e7: JUMPDEST
000000e8: DUP1
000000e9: PUSH4 0xc71c0b40
000000ee: EQ
000000ef: PUSH2 0x0f23
000000f2: JUMPI
000000f3: DUP1
000000f4: PUSH4 0xc8177417
000000f9: EQ
000000fa: PUSH2 0x0f4e
000000fd: JUMPI
000000fe: DUP1
000000ff: PUSH4 0xc8318c10
00000104: EQ
00000105: PUSH2 0x0f9f
00000108: JUMPI
00000109: DUP1
0000010a: PUSH4 0xcd3293de
0000010f: EQ
00000110: PUSH2 0x0fee
00000113: JUMPI
00000114: PUSH2 0x03d9
00000117: JUMP
00000118: JUMPDEST
00000119: DUP1
0000011a: PUSH4 0xa2b40d19
0000011f: GT
00000120: PUSH2 0x0190
00000123: JUMPI
00000124: DUP1
00000125: PUSH4 0xbb9be715
0000012a: GT
0000012b: PUSH2 0x015f
0000012e: JUMPI
0000012f: DUP1
00000130: PUSH4 0xbb9be715
00000135: EQ
00000136: PUSH2 0x0e16
00000139: JUMPI
0000013a: DUP1
0000013b: PUSH4 0xc17231b9
00000140: EQ
00000141: PUSH2 0x0e71
00000144: JUMPI
00000145: DUP1
00000146: PUSH4 0xc19d93fb
0000014b: EQ
0000014c: PUSH2 0x0eb2
0000014f: JUMPI
00000150: DUP1
00000151: PUSH4 0xc46246ba
00000156: EQ
00000157: PUSH2 0x0ee8
0000015a: JUMPI
0000015b: PUSH2 0x03d9
0000015e: JUMP
0000015f: JUMPDEST
00000160: DUP1
00000161: PUSH4 0xa2b40d19
00000166: EQ
00000167: PUSH2 0x0d10
0000016a: JUMPI
0000016b: DUP1
0000016c: PUSH4 0xacf9017d
00000171: EQ
00000172: PUSH2 0x0d4b
00000175: JUMPI
00000176: DUP1
00000177: PUSH4 0xaf4e3d37
0000017c: EQ
0000017d: PUSH2 0x0d9a
00000180: JUMPI
00000181: DUP1
00000182: PUSH4 0xb932e3e3
00000187: EQ
00000188: PUSH2 0x0db1
0000018b: JUMPI
0000018c: PUSH2 0x03d9
0000018f: JUMP
00000190: JUMPDEST
00000191: DUP1
00000192: PUSH4 0x94217ad1
00000197: GT
00000198: PUSH2 0x01cc
0000019b: JUMPI
0000019c: DUP1
0000019d: PUSH4 0x94217ad1
000001a2: EQ
000001a3: PUSH2 0x0c28
000001a6: JUMPI
000001a7: DUP1
000001a8: PUSH4 0x94db4d05
000001ad: EQ
000001ae: PUSH2 0x0c69
000001b1: JUMPI
000001b2: DUP1
000001b3: PUSH4 0x99d64ab0
000001b8: EQ
000001b9: PUSH2 0x0cba
000001bc: JUMPI
000001bd: DUP1
000001be: PUSH4 0xa035b1fe
000001c3: EQ
000001c4: PUSH2 0x0ce5
000001c7: JUMPI
000001c8: PUSH2 0x03d9
000001cb: JUMP
000001cc: JUMPDEST
000001cd: DUP1
000001ce: PUSH4 0x8d64fd60
000001d3: EQ
000001d4: PUSH2 0x0b4b
000001d7: JUMPI
000001d8: DUP1
000001d9: PUSH4 0x9032f444
000001de: EQ
000001df: PUSH2 0x0b81
000001e2: JUMPI
000001e3: DUP1
000001e4: PUSH4 0x90886cc9
000001e9: EQ
000001ea: PUSH2 0x0bac
000001ed: JUMPI
000001ee: DUP1
000001ef: PUSH4 0x927fd69f
000001f4: EQ
000001f5: PUSH2 0x0bfd
000001f8: JUMPI
000001f9: PUSH2 0x03d9
000001fc: JUMP
000001fd: JUMPDEST
000001fe: DUP1
000001ff: PUSH4 0x4a4e3bd5
00000204: GT
00000205: PUSH2 0x02f8
00000208: JUMPI
00000209: DUP1
0000020a: PUSH4 0x6b9f625f
0000020f: GT
00000210: PUSH2 0x028b
00000213: JUMPI
00000214: DUP1
00000215: PUSH4 0x78e97925
0000021a: GT
0000021b: PUSH2 0x025a
0000021e: JUMPI
0000021f: DUP1
00000220: PUSH4 0x78e97925
00000225: EQ
00000226: PUSH2 0x0a12
00000229: JUMPI
0000022a: DUP1
0000022b: PUSH4 0x84900b04
00000230: EQ
00000231: PUSH2 0x0a3d
00000234: JUMPI
00000235: DUP1
00000236: PUSH4 0x8676fcd2
0000023b: EQ
0000023c: PUSH2 0x0a7e
0000023f: JUMPI
00000240: DUP1
00000241: PUSH4 0x879cb32e
00000246: EQ
00000247: PUSH2 0x0acf
0000024a: JUMPI
0000024b: DUP1
0000024c: PUSH4 0x8afbf669
00000251: EQ
00000252: PUSH2 0x0b34
00000255: JUMPI
00000256: PUSH2 0x03d9
00000259: JUMP
0000025a: JUMPDEST
0000025b: DUP1
0000025c: PUSH4 0x6b9f625f
00000261: EQ
00000262: PUSH2 0x0936
00000265: JUMPI
00000266: DUP1
00000267: PUSH4 0x6c1516e1
0000026c: EQ
0000026d: PUSH2 0x0977
00000270: JUMPI
00000271: DUP1
00000272: PUSH4 0x70349850
00000277: EQ
00000278: PUSH2 0x09a2
0000027b: JUMPI
0000027c: DUP1
0000027d: PUSH4 0x707188c1
00000282: EQ
00000283: PUSH2 0x09cd
00000286: JUMPI
00000287: PUSH2 0x03d9
0000028a: JUMP
0000028b: JUMPDEST
0000028c: DUP1
0000028d: PUSH4 0x582bddfd
00000292: GT
00000293: PUSH2 0x02c7
00000296: JUMPI
00000297: DUP1
00000298: PUSH4 0x582bddfd
0000029d: EQ
0000029e: PUSH2 0x088a
000002a1: JUMPI
000002a2: DUP1
000002a3: PUSH4 0x590e1ae3
000002a8: EQ
000002a9: PUSH2 0x08a1
000002ac: JUMPI
000002ad: DUP1
000002ae: PUSH4 0x5faafde6
000002b3: EQ
000002b4: PUSH2 0x08b8
000002b7: JUMPI
000002b8: DUP1
000002b9: PUSH4 0x66829b16
000002be: EQ
000002bf: PUSH2 0x08e5
000002c2: JUMPI
000002c3: PUSH2 0x03d9
000002c6: JUMP
000002c7: JUMPDEST
000002c8: DUP1
000002c9: PUSH4 0x4a4e3bd5
000002ce: EQ
000002cf: PUSH2 0x0806
000002d2: JUMPI
000002d3: DUP1
000002d4: PUSH4 0x4d9db42f
000002d9: EQ
000002da: PUSH2 0x081d
000002dd: JUMPI
000002de: DUP1
000002df: PUSH4 0x51858e27
000002e4: EQ
000002e5: PUSH2 0x0848
000002e8: JUMPI
000002e9: DUP1
000002ea: PUSH4 0x55c76ae5
000002ef: EQ
000002f0: PUSH2 0x085f
000002f3: JUMPI
000002f4: PUSH2 0x03d9
000002f7: JUMP
000002f8: JUMPDEST
000002f9: DUP1
000002fa: PUSH4 0x2c4b2308
000002ff: GT
00000300: PUSH2 0x0370
00000303: JUMPI
00000304: DUP1
00000305: PUSH4 0x3360155d
0000030a: GT
0000030b: PUSH2 0x033f
0000030e: JUMPI
0000030f: DUP1
00000310: PUSH4 0x3360155d
00000315: EQ
00000316: PUSH2 0x062c
00000319: JUMPI
0000031a: DUP1
0000031b: PUSH4 0x3f1861f9
00000320: EQ
00000321: PUSH2 0x0657
00000324: JUMPI
00000325: DUP1
00000326: PUSH4 0x432fc8f2
0000032b: EQ
0000032c: PUSH2 0x0682
0000032f: JUMPI
00000330: DUP1
00000331: PUSH4 0x47c6dd92
00000336: EQ
00000337: PUSH2 0x07db
0000033a: JUMPI
0000033b: PUSH2 0x03d9
0000033e: JUMP
0000033f: JUMPDEST
00000340: DUP1
00000341: PUSH4 0x2c4b2308
00000346: EQ
00000347: PUSH2 0x0594
0000034a: JUMPI
0000034b: DUP1
0000034c: PUSH4 0x2d28e89d
00000351: EQ
00000352: PUSH2 0x05ab
00000355: JUMPI
00000356: DUP1
00000357: PUSH4 0x307e4e7a
0000035c: EQ
0000035d: PUSH2 0x05d6
00000360: JUMPI
00000361: DUP1
00000362: PUSH4 0x3197cbb6
00000367: EQ
00000368: PUSH2 0x0601
0000036b: JUMPI
0000036c: PUSH2 0x03d9
0000036f: JUMP
00000370: JUMPDEST
00000371: DUP1
00000372: PUSH4 0x1bc141a9
00000377: GT
00000378: PUSH2 0x03ac
0000037b: JUMPI
0000037c: DUP1
0000037d: PUSH4 0x1bc141a9
00000382: EQ
00000383: PUSH2 0x04c2
00000386: JUMPI
00000387: DUP1
00000388: PUSH4 0x1bf52e09
0000038d: EQ
0000038e: PUSH2 0x04fd
00000391: JUMPI
00000392: DUP1
00000393: PUSH4 0x1d8b44c5
00000398: EQ
00000399: PUSH2 0x053e
0000039c: JUMPI
0000039d: DUP1
0000039e: PUSH4 0x2069ee79
000003a3: EQ
000003a4: PUSH2 0x0569
000003a7: JUMPI
000003a8: PUSH2 0x03d9
000003ab: JUMP
000003ac: JUMPDEST
000003ad: DUP1
000003ae: PUSH4 0x02763892
000003b3: EQ
000003b4: PUSH2 0x03de
000003b7: JUMPI
000003b8: DUP1
000003b9: PUSH4 0x036a9955
000003be: EQ
000003bf: PUSH2 0x0419
000003c2: JUMPI
000003c3: DUP1
000003c4: PUSH4 0x0af715e6
000003c9: EQ
000003ca: PUSH2 0x045a
000003cd: JUMPI
000003ce: DUP1
000003cf: PUSH4 0x0cd9a874
000003d4: EQ
000003d5: PUSH2 0x0471
000003d8: JUMPI
000003d9: JUMPDEST
000003da: PUSH1 0x00
000003dc: DUP1
000003dd: REVERT
000003de: JUMPDEST
000003df: CALLVALUE
000003e0: DUP1
000003e1: ISZERO
000003e2: PUSH2 0x03ea
000003e5: JUMPI
000003e6: PUSH1 0x00
000003e8: DUP1
000003e9: REVERT
000003ea: JUMPDEST
000003eb: POP
000003ec: PUSH2 0x0417
000003ef: PUSH1 0x04
000003f1: DUP1
000003f2: CALLDATASIZE
000003f3: SUB
000003f4: PUSH1 0x20
000003f6: DUP2
000003f7: LT
000003f8: ISZERO
000003f9: PUSH2 0x0401
000003fc: JUMPI
000003fd: PUSH1 0x00
000003ff: DUP1
00000400: REVERT
00000401: JUMPDEST
00000402: DUP2
00000403: ADD
00000404: SWAP1
00000405: DUP1
00000406: DUP1
00000407: CALLDATALOAD
00000408: SWAP1
00000409: PUSH1 0x20
0000040b: ADD
0000040c: SWAP1
0000040d: SWAP3
0000040e: SWAP2
0000040f: SWAP1
00000410: POP
00000411: POP
00000412: POP
00000413: PUSH2 0x1271
00000416: JUMP
00000417: JUMPDEST
00000418: STOP
00000419: JUMPDEST
0000041a: CALLVALUE
0000041b: DUP1
0000041c: ISZERO
0000041d: PUSH2 0x0425
00000420: JUMPI
00000421: PUSH1 0x00
00000423: DUP1
00000424: REVERT
00000425: JUMPDEST
00000426: POP
00000427: PUSH2 0x042e
0000042a: PUSH2 0x128b
0000042d: JUMP
0000042e: JUMPDEST
0000042f: PUSH1 0x40
00000431: MLOAD
00000432: DUP1
00000433: DUP3
00000434: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000449: AND
0000044a: DUP2
0000044b: MSTORE
0000044c: PUSH1 0x20
0000044e: ADD
0000044f: SWAP2
00000450: POP
00000451: POP
00000452: PUSH1 0x40
00000454: MLOAD
00000455: DUP1
00000456: SWAP2
00000457: SUB
00000458: SWAP1
00000459: RETURN
0000045a: JUMPDEST
0000045b: CALLVALUE
0000045c: DUP1
0000045d: ISZERO
0000045e: PUSH2 0x0466
00000461: JUMPI
00000462: PUSH1 0x00
00000464: DUP1
00000465: REVERT
00000466: JUMPDEST
00000467: POP
00000468: PUSH2 0x046f
0000046b: PUSH2 0x12b1
0000046e: JUMP
0000046f: JUMPDEST
00000470: STOP
00000471: JUMPDEST
00000472: CALLVALUE
00000473: DUP1
00000474: ISZERO
00000475: PUSH2 0x047d
00000478: JUMPI
00000479: PUSH1 0x00
0000047b: DUP1
0000047c: REVERT
0000047d: JUMPDEST
0000047e: POP
0000047f: PUSH2 0x04c0
00000482: PUSH1 0x04
00000484: DUP1
00000485: CALLDATASIZE
00000486: SUB
00000487: PUSH1 0x20
00000489: DUP2
0000048a: LT
0000048b: ISZERO
0000048c: PUSH2 0x0494
0000048f: JUMPI
00000490: PUSH1 0x00
00000492: DUP1
00000493: REVERT
00000494: JUMPDEST
00000495: DUP2
00000496: ADD
00000497: SWAP1
00000498: DUP1
00000499: DUP1
0000049a: CALLDATALOAD
0000049b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000004b0: AND
000004b1: SWAP1
000004b2: PUSH1 0x20
000004b4: ADD
000004b5: SWAP1
000004b6: SWAP3
000004b7: SWAP2
000004b8: SWAP1
000004b9: POP
000004ba: POP
000004bb: POP
000004bc: PUSH2 0x1302
000004bf: JUMP
000004c0: JUMPDEST
000004c1: STOP
000004c2: JUMPDEST
000004c3: CALLVALUE
000004c4: DUP1
000004c5: ISZERO
000004c6: PUSH2 0x04ce
000004c9: JUMPI
000004ca: PUSH1 0x00
000004cc: DUP1
000004cd: REVERT
000004ce: JUMPDEST
000004cf: POP
000004d0: PUSH2 0x04fb
000004d3: PUSH1 0x04
000004d5: DUP1
000004d6: CALLDATASIZE
000004d7: SUB
000004d8: PUSH1 0x20
000004da: DUP2
000004db: LT
000004dc: ISZERO
000004dd: PUSH2 0x04e5
000004e0: JUMPI
000004e1: PUSH1 0x00
000004e3: DUP1
000004e4: REVERT
000004e5: JUMPDEST
000004e6: DUP2
000004e7: ADD
000004e8: SWAP1
000004e9: DUP1
000004ea: DUP1
000004eb: CALLDATALOAD
000004ec: SWAP1
000004ed: PUSH1 0x20
000004ef: ADD
000004f0: SWAP1
000004f1: SWAP3
000004f2: SWAP2
000004f3: SWAP1
000004f4: POP
000004f5: POP
000004f6: POP
000004f7: PUSH2 0x13dc
000004fa: JUMP
000004fb: JUMPDEST
000004fc: STOP
000004fd: JUMPDEST
000004fe: CALLVALUE
000004ff: DUP1
00000500: ISZERO
00000501: PUSH2 0x0509
00000504: JUMPI
00000505: PUSH1 0x00
00000507: DUP1
00000508: REVERT
00000509: JUMPDEST
0000050a: POP
0000050b: PUSH2 0x0512
0000050e: PUSH2 0x13fd
00000511: JUMP
00000512: JUMPDEST
00000513: PUSH1 0x40
00000515: MLOAD
00000516: DUP1
00000517: DUP3
00000518: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000052d: AND
0000052e: DUP2
0000052f: MSTORE
00000530: PUSH1 0x20
00000532: ADD
00000533: SWAP2
00000534: POP
00000535: POP
00000536: PUSH1 0x40
00000538: MLOAD
00000539: DUP1
0000053a: SWAP2
0000053b: SUB
0000053c: SWAP1
0000053d: RETURN
0000053e: JUMPDEST
0000053f: CALLVALUE
00000540: DUP1
00000541: ISZERO
00000542: PUSH2 0x054a
00000545: JUMPI
00000546: PUSH1 0x00
00000548: DUP1
00000549: REVERT
0000054a: JUMPDEST
0000054b: POP
0000054c: PUSH2 0x0553
0000054f: PUSH2 0x1423
00000552: JUMP
00000553: JUMPDEST
00000554: PUSH1 0x40
00000556: MLOAD
00000557: DUP1
00000558: DUP3
00000559: DUP2
0000055a: MSTORE
0000055b: PUSH1 0x20
0000055d: ADD
0000055e: SWAP2
0000055f: POP
00000560: POP
00000561: PUSH1 0x40
00000563: MLOAD
00000564: DUP1
00000565: SWAP2
00000566: SUB
00000567: SWAP1
00000568: RETURN
00000569: JUMPDEST
0000056a: CALLVALUE
0000056b: DUP1
0000056c: ISZERO
0000056d: PUSH2 0x0575
00000570: JUMPI
00000571: PUSH1 0x00
00000573: DUP1
00000574: REVERT
00000575: JUMPDEST
00000576: POP
00000577: PUSH2 0x057e
0000057a: PUSH2 0x1429
0000057d: JUMP
0000057e: JUMPDEST
0000057f: PUSH1 0x40
00000581: MLOAD
00000582: DUP1
00000583: DUP3
00000584: DUP2
00000585: MSTORE
00000586: PUSH1 0x20
00000588: ADD
00000589: SWAP2
0000058a: POP
0000058b: POP
0000058c: PUSH1 0x40
0000058e: MLOAD
0000058f: DUP1
00000590: SWAP2
00000591: SUB
00000592: SWAP1
00000593: RETURN
00000594: JUMPDEST
00000595: CALLVALUE
00000596: DUP1
00000597: ISZERO
00000598: PUSH2 0x05a0
0000059b: JUMPI
0000059c: PUSH1 0x00
0000059e: DUP1
0000059f: REVERT
000005a0: JUMPDEST
000005a1: POP
000005a2: PUSH2 0x05a9
000005a5: PUSH2 0x142f
000005a8: JUMP
000005a9: JUMPDEST
000005aa: STOP
000005ab: JUMPDEST
000005ac: CALLVALUE
000005ad: DUP1
000005ae: ISZERO
000005af: PUSH2 0x05b7
000005b2: JUMPI
000005b3: PUSH1 0x00
000005b5: DUP1
000005b6: REVERT
000005b7: JUMPDEST
000005b8: POP
000005b9: PUSH2 0x05c0
000005bc: PUSH2 0x1464
000005bf: JUMP
000005c0: JUMPDEST
000005c1: PUSH1 0x40
000005c3: MLOAD
000005c4: DUP1
000005c5: DUP3
000005c6: DUP2
000005c7: MSTORE
000005c8: PUSH1 0x20
000005ca: ADD
000005cb: SWAP2
000005cc: POP
000005cd: POP
000005ce: PUSH1 0x40
000005d0: MLOAD
000005d1: DUP1
000005d2: SWAP2
000005d3: SUB
000005d4: SWAP1
000005d5: RETURN
000005d6: JUMPDEST
000005d7: CALLVALUE
000005d8: DUP1
000005d9: ISZERO
000005da: PUSH2 0x05e2
000005dd: JUMPI
000005de: PUSH1 0x00
000005e0: DUP1
000005e1: REVERT
000005e2: JUMPDEST
000005e3: POP
000005e4: PUSH2 0x05eb
000005e7: PUSH2 0x146a
000005ea: JUMP
000005eb: JUMPDEST
000005ec: PUSH1 0x40
000005ee: MLOAD
000005ef: DUP1
000005f0: DUP3
000005f1: DUP2
000005f2: MSTORE
000005f3: PUSH1 0x20
000005f5: ADD
000005f6: SWAP2
000005f7: POP
000005f8: POP
000005f9: PUSH1 0x40
000005fb: MLOAD
000005fc: DUP1
000005fd: SWAP2
000005fe: SUB
000005ff: SWAP1
00000600: RETURN
00000601: JUMPDEST
00000602: CALLVALUE
00000603: DUP1
00000604: ISZERO
00000605: PUSH2 0x060d
00000608: JUMPI
00000609: PUSH1 0x00
0000060b: DUP1
0000060c: REVERT
0000060d: JUMPDEST
0000060e: POP
0000060f: PUSH2 0x0616
00000612: PUSH2 0x146f
00000615: JUMP
00000616: JUMPDEST
00000617: PUSH1 0x40
00000619: MLOAD
0000061a: DUP1
0000061b: DUP3
0000061c: DUP2
0000061d: MSTORE
0000061e: PUSH1 0x20
00000620: ADD
00000621: SWAP2
00000622: POP
00000623: POP
00000624: PUSH1 0x40
00000626: MLOAD
00000627: DUP1
00000628: SWAP2
00000629: SUB
0000062a: SWAP1
0000062b: RETURN
0000062c: JUMPDEST
0000062d: CALLVALUE
0000062e: DUP1
0000062f: ISZERO
00000630: PUSH2 0x0638
00000633: JUMPI
00000634: PUSH1 0x00
00000636: DUP1
00000637: REVERT
00000638: JUMPDEST
00000639: POP
0000063a: PUSH2 0x0641
0000063d: PUSH2 0x1475
00000640: JUMP
00000641: JUMPDEST
00000642: PUSH1 0x40
00000644: MLOAD
00000645: DUP1
00000646: DUP3
00000647: DUP2
00000648: MSTORE
00000649: PUSH1 0x20
0000064b: ADD
0000064c: SWAP2
0000064d: POP
0000064e: POP
0000064f: PUSH1 0x40
00000651: MLOAD
00000652: DUP1
00000653: SWAP2
00000654: SUB
00000655: SWAP1
00000656: RETURN
00000657: JUMPDEST
00000658: CALLVALUE
00000659: DUP1
0000065a: ISZERO
0000065b: PUSH2 0x0663
0000065e: JUMPI
0000065f: PUSH1 0x00
00000661: DUP1
00000662: REVERT
00000663: JUMPDEST
00000664: POP
00000665: PUSH2 0x066c
00000668: PUSH2 0x147f
0000066b: JUMP
0000066c: JUMPDEST
0000066d: PUSH1 0x40
0000066f: MLOAD
00000670: DUP1
00000671: DUP3
00000672: DUP2
00000673: MSTORE
00000674: PUSH1 0x20
00000676: ADD
00000677: SWAP2
00000678: POP
00000679: POP
0000067a: PUSH1 0x40
0000067c: MLOAD
0000067d: DUP1
0000067e: SWAP2
0000067f: SUB
00000680: SWAP1
00000681: RETURN
00000682: JUMPDEST
00000683: CALLVALUE
00000684: DUP1
00000685: ISZERO
00000686: PUSH2 0x068e
00000689: JUMPI
0000068a: PUSH1 0x00
0000068c: DUP1
0000068d: REVERT
0000068e: JUMPDEST
0000068f: POP
00000690: PUSH2 0x07d9
00000693: PUSH1 0x04
00000695: DUP1
00000696: CALLDATASIZE
00000697: SUB
00000698: PUSH1 0x40
0000069a: DUP2
0000069b: LT
0000069c: ISZERO
0000069d: PUSH2 0x06a5
000006a0: JUMPI
000006a1: PUSH1 0x00
000006a3: DUP1
000006a4: REVERT
000006a5: JUMPDEST
000006a6: DUP2
000006a7: ADD
000006a8: SWAP1
000006a9: DUP1
000006aa: DUP1
000006ab: CALLDATALOAD
000006ac: SWAP1
000006ad: PUSH1 0x20
000006af: ADD
000006b0: SWAP1
000006b1: PUSH5 0x0100000000
000006b7: DUP2
000006b8: GT
000006b9: ISZERO
000006ba: PUSH2 0x06c2
000006bd: JUMPI
000006be: PUSH1 0x00
000006c0: DUP1
000006c1: REVERT
000006c2: JUMPDEST
000006c3: DUP3
000006c4: ADD
000006c5: DUP4
000006c6: PUSH1 0x20
000006c8: DUP3
000006c9: ADD
000006ca: GT
000006cb: ISZERO
000006cc: PUSH2 0x06d4
000006cf: JUMPI
000006d0: PUSH1 0x00
000006d2: DUP1
000006d3: REVERT
000006d4: JUMPDEST
000006d5: DUP1
000006d6: CALLDATALOAD
000006d7: SWAP1
000006d8: PUSH1 0x20
000006da: ADD
000006db: SWAP2
000006dc: DUP5
000006dd: PUSH1 0x20
000006df: DUP4
000006e0: MUL
000006e1: DUP5
000006e2: ADD
000006e3: GT
000006e4: PUSH5 0x0100000000
000006ea: DUP4
000006eb: GT
000006ec: OR
000006ed: ISZERO
000006ee: PUSH2 0x06f6
000006f1: JUMPI
000006f2: PUSH1 0x00
000006f4: DUP1
000006f5: REVERT
000006f6: JUMPDEST
000006f7: SWAP2
000006f8: SWAP1
000006f9: DUP1
000006fa: DUP1
000006fb: PUSH1 0x20
000006fd: MUL
000006fe: PUSH1 0x20
00000700: ADD
00000701: PUSH1 0x40
00000703: MLOAD
00000704: SWAP1
00000705: DUP2
00000706: ADD
00000707: PUSH1 0x40
00000709: MSTORE
0000070a: DUP1
0000070b: SWAP4
0000070c: SWAP3
0000070d: SWAP2
0000070e: SWAP1
0000070f: DUP2
00000710: DUP2
00000711: MSTORE
00000712: PUSH1 0x20
00000714: ADD
00000715: DUP4
00000716: DUP4
00000717: PUSH1 0x20
00000719: MUL
0000071a: DUP1
0000071b: DUP3
0000071c: DUP5
0000071d: CALLDATACOPY
0000071e: PUSH1 0x00
00000720: DUP2
00000721: DUP5
00000722: ADD
00000723: MSTORE
00000724: PUSH1 0x1f
00000726: NOT
00000727: PUSH1 0x1f
00000729: DUP3
0000072a: ADD
0000072b: AND
0000072c: SWAP1
0000072d: POP
0000072e: DUP1
0000072f: DUP4
00000730: ADD
00000731: SWAP3
00000732: POP
00000733: POP
00000734: POP
00000735: POP
00000736: POP
00000737: POP
00000738: POP
00000739: SWAP2
0000073a: SWAP3
0000073b: SWAP2
0000073c: SWAP3
0000073d: SWAP1
0000073e: DUP1
0000073f: CALLDATALOAD
00000740: SWAP1
00000741: PUSH1 0x20
00000743: ADD
00000744: SWAP1
00000745: PUSH5 0x0100000000
0000074b: DUP2
0000074c: GT
0000074d: ISZERO
0000074e: PUSH2 0x0756
00000751: JUMPI
00000752: PUSH1 0x00
00000754: DUP1
00000755: REVERT
00000756: JUMPDEST
00000757: DUP3
00000758: ADD
00000759: DUP4
0000075a: PUSH1 0x20
0000075c: DUP3
0000075d: ADD
0000075e: GT
0000075f: ISZERO
00000760: PUSH2 0x0768
00000763: JUMPI
00000764: PUSH1 0x00
00000766: DUP1
00000767: REVERT
00000768: JUMPDEST
00000769: DUP1
0000076a: CALLDATALOAD
0000076b: SWAP1
0000076c: PUSH1 0x20
0000076e: ADD
0000076f: SWAP2
00000770: DUP5
00000771: PUSH1 0x20
00000773: DUP4
00000774: MUL
00000775: DUP5
00000776: ADD
00000777: GT
00000778: PUSH5 0x0100000000
0000077e: DUP4
0000077f: GT
00000780: OR
00000781: ISZERO
00000782: PUSH2 0x078a
00000785: JUMPI
00000786: PUSH1 0x00
00000788: DUP1
00000789: REVERT
0000078a: JUMPDEST
0000078b: SWAP2
0000078c: SWAP1
0000078d: DUP1
0000078e: DUP1
0000078f: PUSH1 0x20
00000791: MUL
00000792: PUSH1 0x20
00000794: ADD
00000795: PUSH1 0x40
00000797: MLOAD
00000798: SWAP1
00000799: DUP2
0000079a: ADD
0000079b: PUSH1 0x40
0000079d: MSTORE
0000079e: DUP1
0000079f: SWAP4
000007a0: SWAP3
000007a1: SWAP2
000007a2: SWAP1
000007a3: DUP2
000007a4: DUP2
000007a5: MSTORE
000007a6: PUSH1 0x20
000007a8: ADD
000007a9: DUP4
000007aa: DUP4
000007ab: PUSH1 0x20
000007ad: MUL
000007ae: DUP1
000007af: DUP3
000007b0: DUP5
000007b1: CALLDATACOPY
000007b2: PUSH1 0x00
000007b4: DUP2
000007b5: DUP5
000007b6: ADD
000007b7: MSTORE
000007b8: PUSH1 0x1f
000007ba: NOT
000007bb: PUSH1 0x1f
000007bd: DUP3
000007be: ADD
000007bf: AND
000007c0: SWAP1
000007c1: POP
000007c2: DUP1
000007c3: DUP4
000007c4: ADD
000007c5: SWAP3
000007c6: POP
000007c7: POP
000007c8: POP
000007c9: POP
000007ca: POP
000007cb: POP
000007cc: POP
000007cd: SWAP2
000007ce: SWAP3
000007cf: SWAP2
000007d0: SWAP3
000007d1: SWAP1
000007d2: POP
000007d3: POP
000007d4: POP
000007d5: PUSH2 0x1485
000007d8: JUMP
000007d9: JUMPDEST
000007da: STOP
000007db: JUMPDEST
000007dc: CALLVALUE
000007dd: DUP1
000007de: ISZERO
000007df: PUSH2 0x07e7
000007e2: JUMPI
000007e3: PUSH1 0x00
000007e5: DUP1
000007e6: REVERT
000007e7: JUMPDEST
000007e8: POP
000007e9: PUSH2 0x07f0
000007ec: PUSH2 0x14c7
000007ef: JUMP
000007f0: JUMPDEST
000007f1: PUSH1 0x40
000007f3: MLOAD
000007f4: DUP1
000007f5: DUP3
000007f6: DUP2
000007f7: MSTORE
000007f8: PUSH1 0x20
000007fa: ADD
000007fb: SWAP2
000007fc: POP
000007fd: POP
000007fe: PUSH1 0x40
00000800: MLOAD
00000801: DUP1
00000802: SWAP2
00000803: SUB
00000804: SWAP1
00000805: RETURN
00000806: JUMPDEST
00000807: CALLVALUE
00000808: DUP1
00000809: ISZERO
0000080a: PUSH2 0x0812
0000080d: JUMPI
0000080e: PUSH1 0x00
00000810: DUP1
00000811: REVERT
00000812: JUMPDEST
00000813: POP
00000814: PUSH2 0x081b
00000817: PUSH2 0x14cd
0000081a: JUMP
0000081b: JUMPDEST
0000081c: STOP
0000081d: JUMPDEST
0000081e: CALLVALUE
0000081f: DUP1
00000820: ISZERO
00000821: PUSH2 0x0829
00000824: JUMPI
00000825: PUSH1 0x00
00000827: DUP1
00000828: REVERT
00000829: JUMPDEST
0000082a: POP
0000082b: PUSH2 0x0832
0000082e: PUSH2 0x1510
00000831: JUMP
00000832: JUMPDEST
00000833: PUSH1 0x40
00000835: MLOAD
00000836: DUP1
00000837: DUP3
00000838: DUP2
00000839: MSTORE
0000083a: PUSH1 0x20
0000083c: ADD
0000083d: SWAP2
0000083e: POP
0000083f: POP
00000840: PUSH1 0x40
00000842: MLOAD
00000843: DUP1
00000844: SWAP2
00000845: SUB
00000846: SWAP1
00000847: RETURN
00000848: JUMPDEST
00000849: CALLVALUE
0000084a: DUP1
0000084b: ISZERO
0000084c: PUSH2 0x0854
0000084f: JUMPI
00000850: PUSH1 0x00
00000852: DUP1
00000853: REVERT
00000854: JUMPDEST
00000855: POP
00000856: PUSH2 0x085d
00000859: PUSH2 0x1516
0000085c: JUMP
0000085d: JUMPDEST
0000085e: STOP
0000085f: JUMPDEST
00000860: CALLVALUE
00000861: DUP1
00000862: ISZERO
00000863: PUSH2 0x086b
00000866: JUMPI
00000867: PUSH1 0x00
00000869: DUP1
0000086a: REVERT
0000086b: JUMPDEST
0000086c: POP
0000086d: PUSH2 0x0874
00000870: PUSH2 0x166c
00000873: JUMP
00000874: JUMPDEST
00000875: PUSH1 0x40
00000877: MLOAD
00000878: DUP1
00000879: DUP3
0000087a: DUP2
0000087b: MSTORE
0000087c: PUSH1 0x20
0000087e: ADD
0000087f: SWAP2
00000880: POP
00000881: POP
00000882: PUSH1 0x40
00000884: MLOAD
00000885: DUP1
00000886: SWAP2
00000887: SUB
00000888: SWAP1
00000889: RETURN
0000088a: JUMPDEST
0000088b: CALLVALUE
0000088c: DUP1
0000088d: ISZERO
0000088e: PUSH2 0x0896
00000891: JUMPI
00000892: PUSH1 0x00
00000894: DUP1
00000895: REVERT
00000896: JUMPDEST
00000897: POP
00000898: PUSH2 0x089f
0000089b: PUSH2 0x1672
0000089e: JUMP
0000089f: JUMPDEST
000008a0: STOP
000008a1: JUMPDEST
000008a2: CALLVALUE
000008a3: DUP1
000008a4: ISZERO
000008a5: PUSH2 0x08ad
000008a8: JUMPI
000008a9: PUSH1 0x00
000008ab: DUP1
000008ac: REVERT
000008ad: JUMPDEST
000008ae: POP
000008af: PUSH2 0x08b6
000008b2: PUSH2 0x16c2
000008b5: JUMP
000008b6: JUMPDEST
000008b7: STOP
000008b8: JUMPDEST
000008b9: CALLVALUE
000008ba: DUP1
000008bb: ISZERO
000008bc: PUSH2 0x08c4
000008bf: JUMPI
000008c0: PUSH1 0x00
000008c2: DUP1
000008c3: REVERT
000008c4: JUMPDEST
000008c5: POP
000008c6: PUSH2 0x08cd
000008c9: PUSH2 0x18ad
000008cc: JUMP
000008cd: JUMPDEST
000008ce: PUSH1 0x40
000008d0: MLOAD
000008d1: DUP1
000008d2: DUP3
000008d3: ISZERO
000008d4: ISZERO
000008d5: DUP2
000008d6: MSTORE
000008d7: PUSH1 0x20
000008d9: ADD
000008da: SWAP2
000008db: POP
000008dc: POP
000008dd: PUSH1 0x40
000008df: MLOAD
000008e0: DUP1
000008e1: SWAP2
000008e2: SUB
000008e3: SWAP1
000008e4: RETURN
000008e5: JUMPDEST
000008e6: CALLVALUE
000008e7: DUP1
000008e8: ISZERO
000008e9: PUSH2 0x08f1
000008ec: JUMPI
000008ed: PUSH1 0x00
000008ef: DUP1
000008f0: REVERT
000008f1: JUMPDEST
000008f2: POP
000008f3: PUSH2 0x0934
000008f6: PUSH1 0x04
000008f8: DUP1
000008f9: CALLDATASIZE
000008fa: SUB
000008fb: PUSH1 0x20
000008fd: DUP2
000008fe: LT
000008ff: ISZERO
00000900: PUSH2 0x0908
00000903: JUMPI
00000904: PUSH1 0x00
00000906: DUP1
00000907: REVERT
00000908: JUMPDEST
00000909: DUP2
0000090a: ADD
0000090b: SWAP1
0000090c: DUP1
0000090d: DUP1
0000090e: CALLDATALOAD
0000090f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000924: AND
00000925: SWAP1
00000926: PUSH1 0x20
00000928: ADD
00000929: SWAP1
0000092a: SWAP3
0000092b: SWAP2
0000092c: SWAP1
0000092d: POP
0000092e: POP
0000092f: POP
00000930: PUSH2 0x18c0
00000933: JUMP
00000934: JUMPDEST
00000935: STOP
00000936: JUMPDEST
00000937: CALLVALUE
00000938: DUP1
00000939: ISZERO
0000093a: PUSH2 0x0942
0000093d: JUMPI
0000093e: PUSH1 0x00
00000940: DUP1
00000941: REVERT
00000942: JUMPDEST
00000943: POP
00000944: PUSH2 0x094b
00000947: PUSH2 0x1914
0000094a: JUMP
0000094b: JUMPDEST
0000094c: PUSH1 0x40
0000094e: MLOAD
0000094f: DUP1
00000950: DUP3
00000951: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000966: AND
00000967: DUP2
00000968: MSTORE
00000969: PUSH1 0x20
0000096b: ADD
0000096c: SWAP2
0000096d: POP
0000096e: POP
0000096f: PUSH1 0x40
00000971: MLOAD
00000972: DUP1
00000973: SWAP2
00000974: SUB
00000975: SWAP1
00000976: RETURN
00000977: JUMPDEST
00000978: CALLVALUE
00000979: DUP1
0000097a: ISZERO
0000097b: PUSH2 0x0983
0000097e: JUMPI
0000097f: PUSH1 0x00
00000981: DUP1
00000982: REVERT
00000983: JUMPDEST
00000984: POP
00000985: PUSH2 0x098c
00000988: PUSH2 0x193a
0000098b: JUMP
0000098c: JUMPDEST
0000098d: PUSH1 0x40
0000098f: MLOAD
00000990: DUP1
00000991: DUP3
00000992: DUP2
00000993: MSTORE
00000994: PUSH1 0x20
00000996: ADD
00000997: SWAP2
00000998: POP
00000999: POP
0000099a: PUSH1 0x40
0000099c: MLOAD
0000099d: DUP1
0000099e: SWAP2
0000099f: SUB
000009a0: SWAP1
000009a1: RETURN
000009a2: JUMPDEST
000009a3: CALLVALUE
000009a4: DUP1
000009a5: ISZERO
000009a6: PUSH2 0x09ae
000009a9: JUMPI
000009aa: PUSH1 0x00
000009ac: DUP1
000009ad: REVERT
000009ae: JUMPDEST
000009af: POP
000009b0: PUSH2 0x09b7
000009b3: PUSH2 0x1946
000009b6: JUMP
000009b7: JUMPDEST
000009b8: PUSH1 0x40
000009ba: MLOAD
000009bb: DUP1
000009bc: DUP3
000009bd: DUP2
000009be: MSTORE
000009bf: PUSH1 0x20
000009c1: ADD
000009c2: SWAP2
000009c3: POP
000009c4: POP
000009c5: PUSH1 0x40
000009c7: MLOAD
000009c8: DUP1
000009c9: SWAP2
000009ca: SUB
000009cb: SWAP1
000009cc: RETURN
000009cd: JUMPDEST
000009ce: CALLVALUE
000009cf: DUP1
000009d0: ISZERO
000009d1: PUSH2 0x09d9
000009d4: JUMPI
000009d5: PUSH1 0x00
000009d7: DUP1
000009d8: REVERT
000009d9: JUMPDEST
000009da: POP
000009db: PUSH2 0x0a10
000009de: PUSH1 0x04
000009e0: DUP1
000009e1: CALLDATASIZE
000009e2: SUB
000009e3: PUSH1 0x40
000009e5: DUP2
000009e6: LT
000009e7: ISZERO
000009e8: PUSH2 0x09f0
000009eb: JUMPI
000009ec: PUSH1 0x00
000009ee: DUP1
000009ef: REVERT
000009f0: JUMPDEST
000009f1: DUP2
000009f2: ADD
000009f3: SWAP1
000009f4: DUP1
000009f5: DUP1
000009f6: CALLDATALOAD
000009f7: SWAP1
000009f8: PUSH1 0x20
000009fa: ADD
000009fb: SWAP1
000009fc: SWAP3
000009fd: SWAP2
000009fe: SWAP1
000009ff: DUP1
00000a00: CALLDATALOAD
00000a01: SWAP1
00000a02: PUSH1 0x20
00000a04: ADD
00000a05: SWAP1
00000a06: SWAP3
00000a07: SWAP2
00000a08: SWAP1
00000a09: POP
00000a0a: POP
00000a0b: POP
00000a0c: PUSH2 0x194c
00000a0f: JUMP
00000a10: JUMPDEST
00000a11: STOP
00000a12: JUMPDEST
00000a13: CALLVALUE
00000a14: DUP1
00000a15: ISZERO
00000a16: PUSH2 0x0a1e
00000a19: JUMPI
00000a1a: PUSH1 0x00
00000a1c: DUP1
00000a1d: REVERT
00000a1e: JUMPDEST
00000a1f: POP
00000a20: PUSH2 0x0a27
00000a23: PUSH2 0x1978
00000a26: JUMP
00000a27: JUMPDEST
00000a28: PUSH1 0x40
00000a2a: MLOAD
00000a2b: DUP1
00000a2c: DUP3
00000a2d: DUP2
00000a2e: MSTORE
00000a2f: PUSH1 0x20
00000a31: ADD
00000a32: SWAP2
00000a33: POP
00000a34: POP
00000a35: PUSH1 0x40
00000a37: MLOAD
00000a38: DUP1
00000a39: SWAP2
00000a3a: SUB
00000a3b: SWAP1
00000a3c: RETURN
00000a3d: JUMPDEST
00000a3e: CALLVALUE
00000a3f: DUP1
00000a40: ISZERO
00000a41: PUSH2 0x0a49
00000a44: JUMPI
00000a45: PUSH1 0x00
00000a47: DUP1
00000a48: REVERT
00000a49: JUMPDEST
00000a4a: POP
00000a4b: PUSH2 0x0a52
00000a4e: PUSH2 0x197e
00000a51: JUMP
00000a52: JUMPDEST
00000a53: PUSH1 0x40
00000a55: MLOAD
00000a56: DUP1
00000a57: DUP3
00000a58: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000a6d: AND
00000a6e: DUP2
00000a6f: MSTORE
00000a70: PUSH1 0x20
00000a72: ADD
00000a73: SWAP2
00000a74: POP
00000a75: POP
00000a76: PUSH1 0x40
00000a78: MLOAD
00000a79: DUP1
00000a7a: SWAP2
00000a7b: SUB
00000a7c: SWAP1
00000a7d: RETURN
00000a7e: JUMPDEST
00000a7f: CALLVALUE
00000a80: DUP1
00000a81: ISZERO
00000a82: PUSH2 0x0a8a
00000a85: JUMPI
00000a86: PUSH1 0x00
00000a88: DUP1
00000a89: REVERT
00000a8a: JUMPDEST
00000a8b: POP
00000a8c: PUSH2 0x0acd
00000a8f: PUSH1 0x04
00000a91: DUP1
00000a92: CALLDATASIZE
00000a93: SUB
00000a94: PUSH1 0x20
00000a96: DUP2
00000a97: LT
00000a98: ISZERO
00000a99: PUSH2 0x0aa1
00000a9c: JUMPI
00000a9d: PUSH1 0x00
00000a9f: DUP1
00000aa0: REVERT
00000aa1: JUMPDEST
00000aa2: DUP2
00000aa3: ADD
00000aa4: SWAP1
00000aa5: DUP1
00000aa6: DUP1
00000aa7: CALLDATALOAD
00000aa8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000abd: AND
00000abe: SWAP1
00000abf: PUSH1 0x20
00000ac1: ADD
00000ac2: SWAP1
00000ac3: SWAP3
00000ac4: SWAP2
00000ac5: SWAP1
00000ac6: POP
00000ac7: POP
00000ac8: POP
00000ac9: PUSH2 0x19a4
00000acc: JUMP
00000acd: JUMPDEST
00000ace: STOP
00000acf: JUMPDEST
00000ad0: CALLVALUE
00000ad1: DUP1
00000ad2: ISZERO
00000ad3: PUSH2 0x0adb
00000ad6: JUMPI
00000ad7: PUSH1 0x00
00000ad9: DUP1
00000ada: REVERT
00000adb: JUMPDEST
00000adc: POP
00000add: PUSH2 0x0b1e
00000ae0: PUSH1 0x04
00000ae2: DUP1
00000ae3: CALLDATASIZE
00000ae4: SUB
00000ae5: PUSH1 0x20
00000ae7: DUP2
00000ae8: LT
00000ae9: ISZERO
00000aea: PUSH2 0x0af2
00000aed: JUMPI
00000aee: PUSH1 0x00
00000af0: DUP1
00000af1: REVERT
00000af2: JUMPDEST
00000af3: DUP2
00000af4: ADD
00000af5: SWAP1
00000af6: DUP1
00000af7: DUP1
00000af8: CALLDATALOAD
00000af9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000b0e: AND
00000b0f: SWAP1
00000b10: PUSH1 0x20
00000b12: ADD
00000b13: SWAP1
00000b14: SWAP3
00000b15: SWAP2
00000b16: SWAP1
00000b17: POP
00000b18: POP
00000b19: POP
00000b1a: PUSH2 0x19f8
00000b1d: JUMP
00000b1e: JUMPDEST
00000b1f: PUSH1 0x40
00000b21: MLOAD
00000b22: DUP1
00000b23: DUP3
00000b24: DUP2
00000b25: MSTORE
00000b26: PUSH1 0x20
00000b28: ADD
00000b29: SWAP2
00000b2a: POP
00000b2b: POP
00000b2c: PUSH1 0x40
00000b2e: MLOAD
00000b2f: DUP1
00000b30: SWAP2
00000b31: SUB
00000b32: SWAP1
00000b33: RETURN
00000b34: JUMPDEST
00000b35: CALLVALUE
00000b36: DUP1
00000b37: ISZERO
00000b38: PUSH2 0x0b40
00000b3b: JUMPI
00000b3c: PUSH1 0x00
00000b3e: DUP1
00000b3f: REVERT
00000b40: JUMPDEST
00000b41: POP
00000b42: PUSH2 0x0b49
00000b45: PUSH2 0x1a10
00000b48: JUMP
00000b49: JUMPDEST
00000b4a: STOP
00000b4b: JUMPDEST
00000b4c: CALLVALUE
00000b4d: DUP1
00000b4e: ISZERO
00000b4f: PUSH2 0x0b57
00000b52: JUMPI
00000b53: PUSH1 0x00
00000b55: DUP1
00000b56: REVERT
00000b57: JUMPDEST
00000b58: POP
00000b59: PUSH2 0x0b60
00000b5c: PUSH2 0x1c0a
00000b5f: JUMP
00000b60: JUMPDEST
00000b61: PUSH1 0x40
00000b63: MLOAD
00000b64: DUP1
00000b65: DUP3
00000b66: PUSH1 0x05
00000b68: DUP2
00000b69: GT
00000b6a: ISZERO
00000b6b: PUSH2 0x0b70
00000b6e: JUMPI
00000b6f: INVALID
00000b70: JUMPDEST
00000b71: DUP2
00000b72: MSTORE
00000b73: PUSH1 0x20
00000b75: ADD
00000b76: SWAP2
00000b77: POP
00000b78: POP
00000b79: PUSH1 0x40
00000b7b: MLOAD
00000b7c: DUP1
00000b7d: SWAP2
00000b7e: SUB
00000b7f: SWAP1
00000b80: RETURN
00000b81: JUMPDEST
00000b82: CALLVALUE
00000b83: DUP1
00000b84: ISZERO
00000b85: PUSH2 0x0b8d
00000b88: JUMPI
00000b89: PUSH1 0x00
00000b8b: DUP1
00000b8c: REVERT
00000b8d: JUMPDEST
00000b8e: POP
00000b8f: PUSH2 0x0b96
00000b92: PUSH2 0x1c1d
00000b95: JUMP
00000b96: JUMPDEST
00000b97: PUSH1 0x40
00000b99: MLOAD
00000b9a: DUP1
00000b9b: DUP3
00000b9c: DUP2
00000b9d: MSTORE
00000b9e: PUSH1 0x20
00000ba0: ADD
00000ba1: SWAP2
00000ba2: POP
00000ba3: POP
00000ba4: PUSH1 0x40
00000ba6: MLOAD
00000ba7: DUP1
00000ba8: SWAP2
00000ba9: SUB
00000baa: SWAP1
00000bab: RETURN
00000bac: JUMPDEST
00000bad: CALLVALUE
00000bae: DUP1
00000baf: ISZERO
00000bb0: PUSH2 0x0bb8
00000bb3: JUMPI
00000bb4: PUSH1 0x00
00000bb6: DUP1
00000bb7: REVERT
00000bb8: JUMPDEST
00000bb9: POP
00000bba: PUSH2 0x0bfb
00000bbd: PUSH1 0x04
00000bbf: DUP1
00000bc0: CALLDATASIZE
00000bc1: SUB
00000bc2: PUSH1 0x20
00000bc4: DUP2
00000bc5: LT
00000bc6: ISZERO
00000bc7: PUSH2 0x0bcf
00000bca: JUMPI
00000bcb: PUSH1 0x00
00000bcd: DUP1
00000bce: REVERT
00000bcf: JUMPDEST
00000bd0: DUP2
00000bd1: ADD
00000bd2: SWAP1
00000bd3: DUP1
00000bd4: DUP1
00000bd5: CALLDATALOAD
00000bd6: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000beb: AND
00000bec: SWAP1
00000bed: PUSH1 0x20
00000bef: ADD
00000bf0: SWAP1
00000bf1: SWAP3
00000bf2: SWAP2
00000bf3: SWAP1
00000bf4: POP
00000bf5: POP
00000bf6: POP
00000bf7: PUSH2 0x1c23
00000bfa: JUMP
00000bfb: JUMPDEST
00000bfc: STOP
00000bfd: JUMPDEST
00000bfe: CALLVALUE
00000bff: DUP1
00000c00: ISZERO
00000c01: PUSH2 0x0c09
00000c04: JUMPI
00000c05: PUSH1 0x00
00000c07: DUP1
00000c08: REVERT
00000c09: JUMPDEST
00000c0a: POP
00000c0b: PUSH2 0x0c12
00000c0e: PUSH2 0x1d46
00000c11: JUMP
00000c12: JUMPDEST
00000c13: PUSH1 0x40
00000c15: MLOAD
00000c16: DUP1
00000c17: DUP3
00000c18: DUP2
00000c19: MSTORE
00000c1a: PUSH1 0x20
00000c1c: ADD
00000c1d: SWAP2
00000c1e: POP
00000c1f: POP
00000c20: PUSH1 0x40
00000c22: MLOAD
00000c23: DUP1
00000c24: SWAP2
00000c25: SUB
00000c26: SWAP1
00000c27: RETURN
00000c28: JUMPDEST
00000c29: CALLVALUE
00000c2a: DUP1
00000c2b: ISZERO
00000c2c: PUSH2 0x0c34
00000c2f: JUMPI
00000c30: PUSH1 0x00
00000c32: DUP1
00000c33: REVERT
00000c34: JUMPDEST
00000c35: POP
00000c36: PUSH2 0x0c3d
00000c39: PUSH2 0x1d4c
00000c3c: JUMP
00000c3d: JUMPDEST
00000c3e: PUSH1 0x40
00000c40: MLOAD
00000c41: DUP1
00000c42: DUP3
00000c43: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000c58: AND
00000c59: DUP2
00000c5a: MSTORE
00000c5b: PUSH1 0x20
00000c5d: ADD
00000c5e: SWAP2
00000c5f: POP
00000c60: POP
00000c61: PUSH1 0x40
00000c63: MLOAD
00000c64: DUP1
00000c65: SWAP2
00000c66: SUB
00000c67: SWAP1
00000c68: RETURN
00000c69: JUMPDEST
00000c6a: CALLVALUE
00000c6b: DUP1
00000c6c: ISZERO
00000c6d: PUSH2 0x0c75
00000c70: JUMPI
00000c71: PUSH1 0x00
00000c73: DUP1
00000c74: REVERT
00000c75: JUMPDEST
00000c76: POP
00000c77: PUSH2 0x0cb8
00000c7a: PUSH1 0x04
00000c7c: DUP1
00000c7d: CALLDATASIZE
00000c7e: SUB
00000c7f: PUSH1 0x20
00000c81: DUP2
00000c82: LT
00000c83: ISZERO
00000c84: PUSH2 0x0c8c
00000c87: JUMPI
00000c88: PUSH1 0x00
00000c8a: DUP1
00000c8b: REVERT
00000c8c: JUMPDEST
00000c8d: DUP2
00000c8e: ADD
00000c8f: SWAP1
00000c90: DUP1
00000c91: DUP1
00000c92: CALLDATALOAD
00000c93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ca8: AND
00000ca9: SWAP1
00000caa: PUSH1 0x20
00000cac: ADD
00000cad: SWAP1
00000cae: SWAP3
00000caf: SWAP2
00000cb0: SWAP1
00000cb1: POP
00000cb2: POP
00000cb3: POP
00000cb4: PUSH2 0x1d72
00000cb7: JUMP
00000cb8: JUMPDEST
00000cb9: STOP
00000cba: JUMPDEST
00000cbb: CALLVALUE
00000cbc: DUP1
00000cbd: ISZERO
00000cbe: PUSH2 0x0cc6
00000cc1: JUMPI
00000cc2: PUSH1 0x00
00000cc4: DUP1
00000cc5: REVERT
00000cc6: JUMPDEST
00000cc7: POP
00000cc8: PUSH2 0x0ccf
00000ccb: PUSH2 0x1dc6
00000cce: JUMP
00000ccf: JUMPDEST
00000cd0: PUSH1 0x40
00000cd2: MLOAD
00000cd3: DUP1
00000cd4: DUP3
00000cd5: DUP2
00000cd6: MSTORE
00000cd7: PUSH1 0x20
00000cd9: ADD
00000cda: SWAP2
00000cdb: POP
00000cdc: POP
00000cdd: PUSH1 0x40
00000cdf: MLOAD
00000ce0: DUP1
00000ce1: SWAP2
00000ce2: SUB
00000ce3: SWAP1
00000ce4: RETURN
00000ce5: JUMPDEST
00000ce6: CALLVALUE
00000ce7: DUP1
00000ce8: ISZERO
00000ce9: PUSH2 0x0cf1
00000cec: JUMPI
00000ced: PUSH1 0x00
00000cef: DUP1
00000cf0: REVERT
00000cf1: JUMPDEST
00000cf2: POP
00000cf3: PUSH2 0x0cfa
00000cf6: PUSH2 0x1dcc
00000cf9: JUMP
00000cfa: JUMPDEST
00000cfb: PUSH1 0x40
00000cfd: MLOAD
00000cfe: DUP1
00000cff: DUP3
00000d00: DUP2
00000d01: MSTORE
00000d02: PUSH1 0x20
00000d04: ADD
00000d05: SWAP2
00000d06: POP
00000d07: POP
00000d08: PUSH1 0x40
00000d0a: MLOAD
00000d0b: DUP1
00000d0c: SWAP2
00000d0d: SUB
00000d0e: SWAP1
00000d0f: RETURN
00000d10: JUMPDEST
00000d11: CALLVALUE
00000d12: DUP1
00000d13: ISZERO
00000d14: PUSH2 0x0d1c
00000d17: JUMPI
00000d18: PUSH1 0x00
00000d1a: DUP1
00000d1b: REVERT
00000d1c: JUMPDEST
00000d1d: POP
00000d1e: PUSH2 0x0d49
00000d21: PUSH1 0x04
00000d23: DUP1
00000d24: CALLDATASIZE
00000d25: SUB
00000d26: PUSH1 0x20
00000d28: DUP2
00000d29: LT
00000d2a: ISZERO
00000d2b: PUSH2 0x0d33
00000d2e: JUMPI
00000d2f: PUSH1 0x00
00000d31: DUP1
00000d32: REVERT
00000d33: JUMPDEST
00000d34: DUP2
00000d35: ADD
00000d36: SWAP1
00000d37: DUP1
00000d38: DUP1
00000d39: CALLDATALOAD
00000d3a: SWAP1
00000d3b: PUSH1 0x20
00000d3d: ADD
00000d3e: SWAP1
00000d3f: SWAP3
00000d40: SWAP2
00000d41: SWAP1
00000d42: POP
00000d43: POP
00000d44: POP
00000d45: PUSH2 0x1dd2
00000d48: JUMP
00000d49: JUMPDEST
00000d4a: STOP
00000d4b: JUMPDEST
00000d4c: CALLVALUE
00000d4d: DUP1
00000d4e: ISZERO
00000d4f: PUSH2 0x0d57
00000d52: JUMPI
00000d53: PUSH1 0x00
00000d55: DUP1
00000d56: REVERT
00000d57: JUMPDEST
00000d58: POP
00000d59: PUSH2 0x0d84
00000d5c: PUSH1 0x04
00000d5e: DUP1
00000d5f: CALLDATASIZE
00000d60: SUB
00000d61: PUSH1 0x20
00000d63: DUP2
00000d64: LT
00000d65: ISZERO
00000d66: PUSH2 0x0d6e
00000d69: JUMPI
00000d6a: PUSH1 0x00
00000d6c: DUP1
00000d6d: REVERT
00000d6e: JUMPDEST
00000d6f: DUP2
00000d70: ADD
00000d71: SWAP1
00000d72: DUP1
00000d73: DUP1
00000d74: CALLDATALOAD
00000d75: SWAP1
00000d76: PUSH1 0x20
00000d78: ADD
00000d79: SWAP1
00000d7a: SWAP3
00000d7b: SWAP2
00000d7c: SWAP1
00000d7d: POP
00000d7e: POP
00000d7f: POP
00000d80: PUSH2 0x1dec
00000d83: JUMP
00000d84: JUMPDEST
00000d85: PUSH1 0x40
00000d87: MLOAD
00000d88: DUP1
00000d89: DUP3
00000d8a: DUP2
00000d8b: MSTORE
00000d8c: PUSH1 0x20
00000d8e: ADD
00000d8f: SWAP2
00000d90: POP
00000d91: POP
00000d92: PUSH1 0x40
00000d94: MLOAD
00000d95: DUP1
00000d96: SWAP2
00000d97: SUB
00000d98: SWAP1
00000d99: RETURN
00000d9a: JUMPDEST
00000d9b: CALLVALUE
00000d9c: DUP1
00000d9d: ISZERO
00000d9e: PUSH2 0x0da6
00000da1: JUMPI
00000da2: PUSH1 0x00
00000da4: DUP1
00000da5: REVERT
00000da6: JUMPDEST
00000da7: POP
00000da8: PUSH2 0x0daf
00000dab: PUSH2 0x1e0d
00000dae: JUMP
00000daf: JUMPDEST
00000db0: STOP
00000db1: JUMPDEST
00000db2: CALLVALUE
00000db3: DUP1
00000db4: ISZERO
00000db5: PUSH2 0x0dbd
00000db8: JUMPI
00000db9: PUSH1 0x00
00000dbb: DUP1
00000dbc: REVERT
00000dbd: JUMPDEST
00000dbe: POP
00000dbf: PUSH2 0x0e00
00000dc2: PUSH1 0x04
00000dc4: DUP1
00000dc5: CALLDATASIZE
00000dc6: SUB
00000dc7: PUSH1 0x20
00000dc9: DUP2
00000dca: LT
00000dcb: ISZERO
00000dcc: PUSH2 0x0dd4
00000dcf: JUMPI
00000dd0: PUSH1 0x00
00000dd2: DUP1
00000dd3: REVERT
00000dd4: JUMPDEST
00000dd5: DUP2
00000dd6: ADD
00000dd7: SWAP1
00000dd8: DUP1
00000dd9: DUP1
00000dda: CALLDATALOAD
00000ddb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000df0: AND
00000df1: SWAP1
00000df2: PUSH1 0x20
00000df4: ADD
00000df5: SWAP1
00000df6: SWAP3
00000df7: SWAP2
00000df8: SWAP1
00000df9: POP
00000dfa: POP
00000dfb: POP
00000dfc: PUSH2 0x2164
00000dff: JUMP
00000e00: JUMPDEST
00000e01: PUSH1 0x40
00000e03: MLOAD
00000e04: DUP1
00000e05: DUP3
00000e06: DUP2
00000e07: MSTORE
00000e08: PUSH1 0x20
00000e0a: ADD
00000e0b: SWAP2
00000e0c: POP
00000e0d: POP
00000e0e: PUSH1 0x40
00000e10: MLOAD
00000e11: DUP1
00000e12: SWAP2
00000e13: SUB
00000e14: SWAP1
00000e15: RETURN
00000e16: JUMPDEST
00000e17: CALLVALUE
00000e18: DUP1
00000e19: ISZERO
00000e1a: PUSH2 0x0e22
00000e1d: JUMPI
00000e1e: PUSH1 0x00
00000e20: DUP1
00000e21: REVERT
00000e22: JUMPDEST
00000e23: POP
00000e24: PUSH2 0x0e6f
00000e27: PUSH1 0x04
00000e29: DUP1
00000e2a: CALLDATASIZE
00000e2b: SUB
00000e2c: PUSH1 0x40
00000e2e: DUP2
00000e2f: LT
00000e30: ISZERO
00000e31: PUSH2 0x0e39
00000e34: JUMPI
00000e35: PUSH1 0x00
00000e37: DUP1
00000e38: REVERT
00000e39: JUMPDEST
00000e3a: DUP2
00000e3b: ADD
00000e3c: SWAP1
00000e3d: DUP1
00000e3e: DUP1
00000e3f: CALLDATALOAD
00000e40: SWAP1
00000e41: PUSH1 0x20
00000e43: ADD
00000e44: SWAP1
00000e45: SWAP3
00000e46: SWAP2
00000e47: SWAP1
00000e48: DUP1
00000e49: CALLDATALOAD
00000e4a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000e5f: AND
00000e60: SWAP1
00000e61: PUSH1 0x20
00000e63: ADD
00000e64: SWAP1
00000e65: SWAP3
00000e66: SWAP2
00000e67: SWAP1
00000e68: POP
00000e69: POP
00000e6a: POP
00000e6b: PUSH2 0x217c
00000e6e: JUMP
00000e6f: JUMPDEST
00000e70: STOP
00000e71: JUMPDEST
00000e72: CALLVALUE
00000e73: DUP1
00000e74: ISZERO
00000e75: PUSH2 0x0e7d
00000e78: JUMPI
00000e79: PUSH1 0x00
00000e7b: DUP1
00000e7c: REVERT
00000e7d: JUMPDEST
00000e7e: POP
00000e7f: PUSH2 0x0e86
00000e82: PUSH2 0x2297
00000e85: JUMP
00000e86: JUMPDEST
00000e87: PUSH1 0x40
00000e89: MLOAD
00000e8a: DUP1
00000e8b: DUP3
00000e8c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000ea1: AND
00000ea2: DUP2
00000ea3: MSTORE
00000ea4: PUSH1 0x20
00000ea6: ADD
00000ea7: SWAP2
00000ea8: POP
00000ea9: POP
00000eaa: PUSH1 0x40
00000eac: MLOAD
00000ead: DUP1
00000eae: SWAP2
00000eaf: SUB
00000eb0: SWAP1
00000eb1: RETURN
00000eb2: JUMPDEST
00000eb3: CALLVALUE
00000eb4: DUP1
00000eb5: ISZERO
00000eb6: PUSH2 0x0ebe
00000eb9: JUMPI
00000eba: PUSH1 0x00
00000ebc: DUP1
00000ebd: REVERT
00000ebe: JUMPDEST
00000ebf: POP
00000ec0: PUSH2 0x0ec7
00000ec3: PUSH2 0x22bd
00000ec6: JUMP
00000ec7: JUMPDEST
00000ec8: PUSH1 0x40
00000eca: MLOAD
00000ecb: DUP1
00000ecc: DUP3
00000ecd: PUSH1 0x05
00000ecf: DUP2
00000ed0: GT
00000ed1: ISZERO
00000ed2: PUSH2 0x0ed7
00000ed5: JUMPI
00000ed6: INVALID
00000ed7: JUMPDEST
00000ed8: DUP2
00000ed9: MSTORE
00000eda: PUSH1 0x20
00000edc: ADD
00000edd: SWAP2
00000ede: POP
00000edf: POP
00000ee0: PUSH1 0x40
00000ee2: MLOAD
00000ee3: DUP1
00000ee4: SWAP2
00000ee5: SUB
00000ee6: SWAP1
00000ee7: RETURN
00000ee8: JUMPDEST
00000ee9: CALLVALUE
00000eea: DUP1
00000eeb: ISZERO
00000eec: PUSH2 0x0ef4
00000eef: JUMPI
00000ef0: PUSH1 0x00
00000ef2: DUP1
00000ef3: REVERT
00000ef4: JUMPDEST
00000ef5: POP
00000ef6: PUSH2 0x0f21
00000ef9: PUSH1 0x04
00000efb: DUP1
00000efc: CALLDATASIZE
00000efd: SUB
00000efe: PUSH1 0x20
00000f00: DUP2
00000f01: LT
00000f02: ISZERO
00000f03: PUSH2 0x0f0b
00000f06: JUMPI
00000f07: PUSH1 0x00
00000f09: DUP1
00000f0a: REVERT
00000f0b: JUMPDEST
00000f0c: DUP2
00000f0d: ADD
00000f0e: SWAP1
00000f0f: DUP1
00000f10: DUP1
00000f11: CALLDATALOAD
00000f12: SWAP1
00000f13: PUSH1 0x20
00000f15: ADD
00000f16: SWAP1
00000f17: SWAP3
00000f18: SWAP2
00000f19: SWAP1
00000f1a: POP
00000f1b: POP
00000f1c: POP
00000f1d: PUSH2 0x22ce
00000f20: JUMP
00000f21: JUMPDEST
00000f22: STOP
00000f23: JUMPDEST
00000f24: CALLVALUE
00000f25: DUP1
00000f26: ISZERO
00000f27: PUSH2 0x0f2f
00000f2a: JUMPI
00000f2b: PUSH1 0x00
00000f2d: DUP1
00000f2e: REVERT
00000f2f: JUMPDEST
00000f30: POP
00000f31: PUSH2 0x0f38
00000f34: PUSH2 0x22e8
00000f37: JUMP
00000f38: JUMPDEST
00000f39: PUSH1 0x40
00000f3b: MLOAD
00000f3c: DUP1
00000f3d: DUP3
00000f3e: DUP2
00000f3f: MSTORE
00000f40: PUSH1 0x20
00000f42: ADD
00000f43: SWAP2
00000f44: POP
00000f45: POP
00000f46: PUSH1 0x40
00000f48: MLOAD
00000f49: DUP1
00000f4a: SWAP2
00000f4b: SUB
00000f4c: SWAP1
00000f4d: RETURN
00000f4e: JUMPDEST
00000f4f: CALLVALUE
00000f50: DUP1
00000f51: ISZERO
00000f52: PUSH2 0x0f5a
00000f55: JUMPI
00000f56: PUSH1 0x00
00000f58: DUP1
00000f59: REVERT
00000f5a: JUMPDEST
00000f5b: POP
00000f5c: PUSH2 0x0f9d
00000f5f: PUSH1 0x04
00000f61: DUP1
00000f62: CALLDATASIZE
00000f63: SUB
00000f64: PUSH1 0x20
00000f66: DUP2
00000f67: LT
00000f68: ISZERO
00000f69: PUSH2 0x0f71
00000f6c: JUMPI
00000f6d: PUSH1 0x00
00000f6f: DUP1
00000f70: REVERT
00000f71: JUMPDEST
00000f72: DUP2
00000f73: ADD
00000f74: SWAP1
00000f75: DUP1
00000f76: DUP1
00000f77: CALLDATALOAD
00000f78: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00000f8d: AND
00000f8e: SWAP1
00000f8f: PUSH1 0x20
00000f91: ADD
00000f92: SWAP1
00000f93: SWAP3
00000f94: SWAP2
00000f95: SWAP1
00000f96: POP
00000f97: POP
00000f98: POP
00000f99: PUSH2 0x22ee
00000f9c: JUMP
00000f9d: JUMPDEST
00000f9e: STOP
00000f9f: JUMPDEST
00000fa0: CALLVALUE
00000fa1: DUP1
00000fa2: ISZERO
00000fa3: PUSH2 0x0fab
00000fa6: JUMPI
00000fa7: PUSH1 0x00
00000fa9: DUP1
00000faa: REVERT
00000fab: JUMPDEST
00000fac: POP
00000fad: PUSH2 0x0fd8
00000fb0: PUSH1 0x04
00000fb2: DUP1
00000fb3: CALLDATASIZE
00000fb4: SUB
00000fb5: PUSH1 0x20
00000fb7: DUP2
00000fb8: LT
00000fb9: ISZERO
00000fba: PUSH2 0x0fc2
00000fbd: JUMPI
00000fbe: PUSH1 0x00
00000fc0: DUP1
00000fc1: REVERT
00000fc2: JUMPDEST
00000fc3: DUP2
00000fc4: ADD
00000fc5: SWAP1
00000fc6: DUP1
00000fc7: DUP1
00000fc8: CALLDATALOAD
00000fc9: SWAP1
00000fca: PUSH1 0x20
00000fcc: ADD
00000fcd: SWAP1
00000fce: SWAP3
00000fcf: SWAP2
00000fd0: SWAP1
00000fd1: POP
00000fd2: POP
00000fd3: POP
00000fd4: PUSH2 0x233a
00000fd7: JUMP
00000fd8: JUMPDEST
00000fd9: PUSH1 0x40
00000fdb: MLOAD
00000fdc: DUP1
00000fdd: DUP3
00000fde: DUP2
00000fdf: MSTORE
00000fe0: PUSH1 0x20
00000fe2: ADD
00000fe3: SWAP2
00000fe4: POP
00000fe5: POP
00000fe6: PUSH1 0x40
00000fe8: MLOAD
00000fe9: DUP1
00000fea: SWAP2
00000feb: SUB
00000fec: SWAP1
00000fed: RETURN
00000fee: JUMPDEST
00000fef: PUSH2 0x0ff6
00000ff2: PUSH2 0x235b
00000ff5: JUMP
00000ff6: JUMPDEST
00000ff7: STOP
00000ff8: JUMPDEST
00000ff9: CALLVALUE
00000ffa: DUP1
00000ffb: ISZERO
00000ffc: PUSH2 0x1004
00000fff: JUMPI
00001000: PUSH1 0x00
00001002: DUP1
00001003: REVERT
00001004: JUMPDEST
00001005: POP
00001006: PUSH2 0x1047
00001009: PUSH1 0x04
0000100b: DUP1
0000100c: CALLDATASIZE
0000100d: SUB
0000100e: PUSH1 0x20
00001010: DUP2
00001011: LT
00001012: ISZERO
00001013: PUSH2 0x101b
00001016: JUMPI
00001017: PUSH1 0x00
00001019: DUP1
0000101a: REVERT
0000101b: JUMPDEST
0000101c: DUP2
0000101d: ADD
0000101e: SWAP1
0000101f: DUP1
00001020: DUP1
00001021: CALLDATALOAD
00001022: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001037: AND
00001038: SWAP1
00001039: PUSH1 0x20
0000103b: ADD
0000103c: SWAP1
0000103d: SWAP3
0000103e: SWAP2
0000103f: SWAP1
00001040: POP
00001041: POP
00001042: POP
00001043: PUSH2 0x2675
00001046: JUMP
00001047: JUMPDEST
00001048: STOP
00001049: JUMPDEST
0000104a: CALLVALUE
0000104b: DUP1
0000104c: ISZERO
0000104d: PUSH2 0x1055
00001050: JUMPI
00001051: PUSH1 0x00
00001053: DUP1
00001054: REVERT
00001055: JUMPDEST
00001056: POP
00001057: PUSH2 0x1082
0000105a: PUSH1 0x04
0000105c: DUP1
0000105d: CALLDATASIZE
0000105e: SUB
0000105f: PUSH1 0x20
00001061: DUP2
00001062: LT
00001063: ISZERO
00001064: PUSH2 0x106c
00001067: JUMPI
00001068: PUSH1 0x00
0000106a: DUP1
0000106b: REVERT
0000106c: JUMPDEST
0000106d: DUP2
0000106e: ADD
0000106f: SWAP1
00001070: DUP1
00001071: DUP1
00001072: CALLDATALOAD
00001073: SWAP1
00001074: PUSH1 0x20
00001076: ADD
00001077: SWAP1
00001078: SWAP3
00001079: SWAP2
0000107a: SWAP1
0000107b: POP
0000107c: POP
0000107d: POP
0000107e: PUSH2 0x26c1
00001081: JUMP
00001082: JUMPDEST
00001083: STOP
00001084: JUMPDEST
00001085: CALLVALUE
00001086: DUP1
00001087: ISZERO
00001088: PUSH2 0x1090
0000108b: JUMPI
0000108c: PUSH1 0x00
0000108e: DUP1
0000108f: REVERT
00001090: JUMPDEST
00001091: POP
00001092: PUSH2 0x1099
00001095: PUSH2 0x26e4
00001098: JUMP
00001099: JUMPDEST
0000109a: STOP
0000109b: JUMPDEST
0000109c: CALLVALUE
0000109d: DUP1
0000109e: ISZERO
0000109f: PUSH2 0x10a7
000010a2: JUMPI
000010a3: PUSH1 0x00
000010a5: DUP1
000010a6: REVERT
000010a7: JUMPDEST
000010a8: POP
000010a9: PUSH2 0x10ea
000010ac: PUSH1 0x04
000010ae: DUP1
000010af: CALLDATASIZE
000010b0: SUB
000010b1: PUSH1 0x20
000010b3: DUP2
000010b4: LT
000010b5: ISZERO
000010b6: PUSH2 0x10be
000010b9: JUMPI
000010ba: PUSH1 0x00
000010bc: DUP1
000010bd: REVERT
000010be: JUMPDEST
000010bf: DUP2
000010c0: ADD
000010c1: SWAP1
000010c2: DUP1
000010c3: DUP1
000010c4: CALLDATALOAD
000010c5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000010da: AND
000010db: SWAP1
000010dc: PUSH1 0x20
000010de: ADD
000010df: SWAP1
000010e0: SWAP3
000010e1: SWAP2
000010e2: SWAP1
000010e3: POP
000010e4: POP
000010e5: POP
000010e6: PUSH2 0x275f
000010e9: JUMP
000010ea: JUMPDEST
000010eb: STOP
000010ec: JUMPDEST
000010ed: CALLVALUE
000010ee: DUP1
000010ef: ISZERO
000010f0: PUSH2 0x10f8
000010f3: JUMPI
000010f4: PUSH1 0x00
000010f6: DUP1
000010f7: REVERT
000010f8: JUMPDEST
000010f9: POP
000010fa: PUSH2 0x1101
000010fd: PUSH2 0x27b3
00001100: JUMP
00001101: JUMPDEST
00001102: STOP
00001103: JUMPDEST
00001104: CALLVALUE
00001105: DUP1
00001106: ISZERO
00001107: PUSH2 0x110f
0000110a: JUMPI
0000110b: PUSH1 0x00
0000110d: DUP1
0000110e: REVERT
0000110f: JUMPDEST
00001110: POP
00001111: PUSH2 0x1118
00001114: PUSH2 0x2979
00001117: JUMP
00001118: JUMPDEST
00001119: PUSH1 0x40
0000111b: MLOAD
0000111c: DUP1
0000111d: DUP3
0000111e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001133: AND
00001134: DUP2
00001135: MSTORE
00001136: PUSH1 0x20
00001138: ADD
00001139: SWAP2
0000113a: POP
0000113b: POP
0000113c: PUSH1 0x40
0000113e: MLOAD
0000113f: DUP1
00001140: SWAP2
00001141: SUB
00001142: SWAP1
00001143: RETURN
00001144: JUMPDEST
00001145: CALLVALUE
00001146: DUP1
00001147: ISZERO
00001148: PUSH2 0x1150
0000114b: JUMPI
0000114c: PUSH1 0x00
0000114e: DUP1
0000114f: REVERT
00001150: JUMPDEST
00001151: POP
00001152: PUSH2 0x117d
00001155: PUSH1 0x04
00001157: DUP1
00001158: CALLDATASIZE
00001159: SUB
0000115a: PUSH1 0x20
0000115c: DUP2
0000115d: LT
0000115e: ISZERO
0000115f: PUSH2 0x1167
00001162: JUMPI
00001163: PUSH1 0x00
00001165: DUP1
00001166: REVERT
00001167: JUMPDEST
00001168: DUP2
00001169: ADD
0000116a: SWAP1
0000116b: DUP1
0000116c: DUP1
0000116d: CALLDATALOAD
0000116e: SWAP1
0000116f: PUSH1 0x20
00001171: ADD
00001172: SWAP1
00001173: SWAP3
00001174: SWAP2
00001175: SWAP1
00001176: POP
00001177: POP
00001178: POP
00001179: PUSH2 0x299f
0000117c: JUMP
0000117d: JUMPDEST
0000117e: STOP
0000117f: JUMPDEST
00001180: CALLVALUE
00001181: DUP1
00001182: ISZERO
00001183: PUSH2 0x118b
00001186: JUMPI
00001187: PUSH1 0x00
00001189: DUP1
0000118a: REVERT
0000118b: JUMPDEST
0000118c: POP
0000118d: PUSH2 0x1194
00001190: PUSH2 0x29ea
00001193: JUMP
00001194: JUMPDEST
00001195: PUSH1 0x40
00001197: MLOAD
00001198: DUP1
00001199: DUP3
0000119a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000011af: AND
000011b0: DUP2
000011b1: MSTORE
000011b2: PUSH1 0x20
000011b4: ADD
000011b5: SWAP2
000011b6: POP
000011b7: POP
000011b8: PUSH1 0x40
000011ba: MLOAD
000011bb: DUP1
000011bc: SWAP2
000011bd: SUB
000011be: SWAP1
000011bf: RETURN
000011c0: JUMPDEST
000011c1: CALLVALUE
000011c2: DUP1
000011c3: ISZERO
000011c4: PUSH2 0x11cc
000011c7: JUMPI
000011c8: PUSH1 0x00
000011ca: DUP1
000011cb: REVERT
000011cc: JUMPDEST
000011cd: POP
000011ce: PUSH2 0x11d5
000011d1: PUSH2 0x2a10
000011d4: JUMP
000011d5: JUMPDEST
000011d6: STOP
000011d7: JUMPDEST
000011d8: CALLVALUE
000011d9: DUP1
000011da: ISZERO
000011db: PUSH2 0x11e3
000011de: JUMPI
000011df: PUSH1 0x00
000011e1: DUP1
000011e2: REVERT
000011e3: JUMPDEST
000011e4: POP
000011e5: PUSH2 0x11ec
000011e8: PUSH2 0x2b38
000011eb: JUMP
000011ec: JUMPDEST
000011ed: STOP
000011ee: JUMPDEST
000011ef: CALLVALUE
000011f0: DUP1
000011f1: ISZERO
000011f2: PUSH2 0x11fa
000011f5: JUMPI
000011f6: PUSH1 0x00
000011f8: DUP1
000011f9: REVERT
000011fa: JUMPDEST
000011fb: POP
000011fc: PUSH2 0x1203
000011ff: PUSH2 0x2c60
00001202: JUMP
00001203: JUMPDEST
00001204: STOP
00001205: JUMPDEST
00001206: CALLVALUE
00001207: DUP1
00001208: ISZERO
00001209: PUSH2 0x1211
0000120c: JUMPI
0000120d: PUSH1 0x00
0000120f: DUP1
00001210: REVERT
00001211: JUMPDEST
00001212: POP
00001213: PUSH2 0x121a
00001216: PUSH2 0x2e54
00001219: JUMP
0000121a: JUMPDEST
0000121b: PUSH1 0x40
0000121d: MLOAD
0000121e: DUP1
0000121f: DUP3
00001220: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001235: AND
00001236: DUP2
00001237: MSTORE
00001238: PUSH1 0x20
0000123a: ADD
0000123b: SWAP2
0000123c: POP
0000123d: POP
0000123e: PUSH1 0x40
00001240: MLOAD
00001241: DUP1
00001242: SWAP2
00001243: SUB
00001244: SWAP1
00001245: RETURN
00001246: JUMPDEST
00001247: CALLVALUE
00001248: DUP1
00001249: ISZERO
0000124a: PUSH2 0x1252
0000124d: JUMPI
0000124e: PUSH1 0x00
00001250: DUP1
00001251: REVERT
00001252: JUMPDEST
00001253: POP
00001254: PUSH2 0x125b
00001257: PUSH2 0x2e7a
0000125a: JUMP
0000125b: JUMPDEST
0000125c: PUSH1 0x40
0000125e: MLOAD
0000125f: DUP1
00001260: DUP3
00001261: DUP2
00001262: MSTORE
00001263: PUSH1 0x20
00001265: ADD
00001266: SWAP2
00001267: POP
00001268: POP
00001269: PUSH1 0x40
0000126b: MLOAD
0000126c: DUP1
0000126d: SWAP2
0000126e: SUB
0000126f: SWAP1
00001270: RETURN
00001271: JUMPDEST
00001272: PUSH2 0x1279
00001275: PUSH2 0x2f03
00001278: JUMP
00001279: JUMPDEST
0000127a: PUSH2 0x1281
0000127d: PUSH2 0x2fc8
00001280: JUMP
00001281: JUMPDEST
00001282: DUP1
00001283: PUSH1 0x14
00001285: DUP2
00001286: SWAP1
00001287: SSTORE
00001288: POP
00001289: POP
0000128a: JUMP
0000128b: JUMPDEST
0000128c: PUSH1 0x00
0000128e: PUSH1 0x02
00001290: SWAP1
00001291: SLOAD
00001292: SWAP1
00001293: PUSH2 0x0100
00001296: EXP
00001297: SWAP1
00001298: DIV
00001299: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000012ae: AND
000012af: DUP2
000012b0: JUMP
000012b1: JUMPDEST
000012b2: PUSH2 0x12b9
000012b5: PUSH2 0x2f03
000012b8: JUMP
000012b9: JUMPDEST
000012ba: PUSH2 0x12c1
000012bd: PUSH2 0x2fc8
000012c0: JUMP
000012c1: JUMPDEST
000012c2: PUSH2 0x12f2
000012c5: PUSH8 0x0de0b6b3a7640000
000012ce: PUSH2 0x12e4
000012d1: PUSH1 0x1b
000012d3: SLOAD
000012d4: PUSH1 0x06
000012d6: SLOAD
000012d7: PUSH2 0x3063
000012da: SWAP1
000012db: SWAP2
000012dc: SWAP1
000012dd: PUSH4 0xffffffff
000012e2: AND
000012e3: JUMP
000012e4: JUMPDEST
000012e5: PUSH2 0x30e9
000012e8: SWAP1
000012e9: SWAP2
000012ea: SWAP1
000012eb: PUSH4 0xffffffff
000012f0: AND
000012f1: JUMP
000012f2: JUMPDEST
000012f3: PUSH1 0x11
000012f5: DUP2
000012f6: SWAP1
000012f7: SSTORE
000012f8: POP
000012f9: PUSH2 0x1300
000012fc: PUSH2 0x3172
000012ff: JUMP
00001300: JUMPDEST
00001301: JUMP
00001302: JUMPDEST
00001303: PUSH2 0x130a
00001306: PUSH2 0x3375
00001309: JUMP
0000130a: JUMPDEST
0000130b: PUSH2 0x1312
0000130e: PUSH2 0x343a
00001311: JUMP
00001312: JUMPDEST
00001313: PUSH1 0x13
00001315: PUSH1 0x14
00001317: SWAP1
00001318: SLOAD
00001319: SWAP1
0000131a: PUSH2 0x0100
0000131d: EXP
0000131e: SWAP1
0000131f: DIV
00001320: PUSH1 0xff
00001322: AND
00001323: PUSH2 0x13d9
00001326: JUMPI
00001327: PUSH1 0x00
00001329: PUSH2 0x1353
0000132c: PUSH1 0x11
0000132e: SLOAD
0000132f: PUSH2 0x1345
00001332: PUSH1 0x0b
00001334: SLOAD
00001335: PUSH1 0x12
00001337: SLOAD
00001338: PUSH2 0x3063
0000133b: SWAP1
0000133c: SWAP2
0000133d: SWAP1
0000133e: PUSH4 0xffffffff
00001343: AND
00001344: JUMP
00001345: JUMPDEST
00001346: PUSH2 0x30e9
00001349: SWAP1
0000134a: SWAP2
0000134b: SWAP1
0000134c: PUSH4 0xffffffff
00001351: AND
00001352: JUMP
00001353: JUMPDEST
00001354: SWAP1
00001355: POP
00001356: PUSH1 0x00
00001358: PUSH2 0x136c
0000135b: DUP3
0000135c: PUSH1 0x12
0000135e: SLOAD
0000135f: PUSH2 0x2e80
00001362: SWAP1
00001363: SWAP2
00001364: SWAP1
00001365: PUSH4 0xffffffff
0000136a: AND
0000136b: JUMP
0000136c: JUMPDEST
0000136d: SWAP1
0000136e: POP
0000136f: PUSH1 0x01
00001371: PUSH1 0x13
00001373: PUSH1 0x14
00001375: PUSH2 0x0100
00001378: EXP
00001379: DUP2
0000137a: SLOAD
0000137b: DUP2
0000137c: PUSH1 0xff
0000137e: MUL
0000137f: NOT
00001380: AND
00001381: SWAP1
00001382: DUP4
00001383: ISZERO
00001384: ISZERO
00001385: MUL
00001386: OR
00001387: SWAP1
00001388: SSTORE
00001389: POP
0000138a: PUSH2 0x13d6
0000138d: DUP4
0000138e: DUP3
0000138f: PUSH1 0x13
00001391: PUSH1 0x00
00001393: SWAP1
00001394: SLOAD
00001395: SWAP1
00001396: PUSH2 0x0100
00001399: EXP
0000139a: SWAP1
0000139b: DIV
0000139c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013b1: AND
000013b2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000013c7: AND
000013c8: PUSH2 0x34d5
000013cb: SWAP1
000013cc: SWAP3
000013cd: SWAP2
000013ce: SWAP1
000013cf: PUSH4 0xffffffff
000013d4: AND
000013d5: JUMP
000013d6: JUMPDEST
000013d7: POP
000013d8: POP
000013d9: JUMPDEST
000013da: POP
000013db: JUMP
000013dc: JUMPDEST
000013dd: PUSH2 0x13e4
000013e0: PUSH2 0x2f03
000013e3: JUMP
000013e4: JUMPDEST
000013e5: PUSH2 0x13ec
000013e8: PUSH2 0x2fc8
000013eb: JUMP
000013ec: JUMPDEST
000013ed: DUP1
000013ee: PUSH1 0x06
000013f0: DUP2
000013f1: SWAP1
000013f2: SSTORE
000013f3: POP
000013f4: DUP1
000013f5: PUSH1 0x0d
000013f7: DUP2
000013f8: SWAP1
000013f9: SSTORE
000013fa: POP
000013fb: POP
000013fc: JUMP
000013fd: JUMPDEST
000013fe: PUSH1 0x02
00001400: PUSH1 0x00
00001402: SWAP1
00001403: SLOAD
00001404: SWAP1
00001405: PUSH2 0x0100
00001408: EXP
00001409: SWAP1
0000140a: DIV
0000140b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001420: AND
00001421: DUP2
00001422: JUMP
00001423: JUMPDEST
00001424: PUSH1 0x10
00001426: SLOAD
00001427: DUP2
00001428: JUMP
00001429: JUMPDEST
0000142a: PUSH1 0x06
0000142c: SLOAD
0000142d: DUP2
0000142e: JUMP
0000142f: JUMPDEST
00001430: PUSH2 0x1437
00001433: PUSH2 0x3375
00001436: JUMP
00001437: JUMPDEST
00001438: PUSH2 0x143f
0000143b: PUSH2 0x3577
0000143e: JUMP
0000143f: JUMPDEST
00001440: PUSH1 0x04
00001442: PUSH1 0x00
00001444: DUP1
00001445: PUSH2 0x0100
00001448: EXP
00001449: DUP2
0000144a: SLOAD
0000144b: DUP2
0000144c: PUSH1 0xff
0000144e: MUL
0000144f: NOT
00001450: AND
00001451: SWAP1
00001452: DUP4
00001453: PUSH1 0x05
00001455: DUP2
00001456: GT
00001457: ISZERO
00001458: PUSH2 0x145d
0000145b: JUMPI
0000145c: INVALID
0000145d: JUMPDEST
0000145e: MUL
0000145f: OR
00001460: SWAP1
00001461: SSTORE
00001462: POP
00001463: JUMP
00001464: JUMPDEST
00001465: PUSH2 0x0e10
00001468: DUP2
00001469: JUMP
0000146a: JUMPDEST
0000146b: PUSH1 0x0a
0000146d: DUP2
0000146e: JUMP
0000146f: JUMPDEST
00001470: PUSH1 0x08
00001472: SLOAD
00001473: DUP2
00001474: JUMP
00001475: JUMPDEST
00001476: PUSH6 0x5af3107a4000
0000147d: DUP2
0000147e: JUMP
0000147f: JUMPDEST
00001480: PUSH1 0x0e
00001482: SLOAD
00001483: DUP2
00001484: JUMP
00001485: JUMPDEST
00001486: PUSH2 0x148d
00001489: PUSH2 0x3375
0000148c: JUMP
0000148d: JUMPDEST
0000148e: PUSH2 0x1495
00001491: PUSH2 0x2fc8
00001494: JUMP
00001495: JUMPDEST
00001496: DUP1
00001497: PUSH1 0x0f
00001499: SWAP1
0000149a: DUP1
0000149b: MLOAD
0000149c: SWAP1
0000149d: PUSH1 0x20
0000149f: ADD
000014a0: SWAP1
000014a1: PUSH2 0x14ab
000014a4: SWAP3
000014a5: SWAP2
000014a6: SWAP1
000014a7: PUSH2 0x4558
000014aa: JUMP
000014ab: JUMPDEST
000014ac: POP
000014ad: DUP2
000014ae: PUSH1 0x16
000014b0: SWAP1
000014b1: DUP1
000014b2: MLOAD
000014b3: SWAP1
000014b4: PUSH1 0x20
000014b6: ADD
000014b7: SWAP1
000014b8: PUSH2 0x14c2
000014bb: SWAP3
000014bc: SWAP2
000014bd: SWAP1
000014be: PUSH2 0x4558
000014c1: JUMP
000014c2: JUMPDEST
000014c3: POP
000014c4: POP
000014c5: POP
000014c6: JUMP
000014c7: JUMPDEST
000014c8: PUSH1 0x0d
000014ca: SLOAD
000014cb: DUP2
000014cc: JUMP
000014cd: JUMPDEST
000014ce: PUSH2 0x14d5
000014d1: PUSH2 0x3375
000014d4: JUMP
000014d5: JUMPDEST
000014d6: PUSH2 0x14dd
000014d9: PUSH2 0x3577
000014dc: JUMP
000014dd: JUMPDEST
000014de: PUSH1 0x00
000014e0: PUSH1 0x01
000014e2: SWAP1
000014e3: SLOAD
000014e4: SWAP1
000014e5: PUSH2 0x0100
000014e8: EXP
000014e9: SWAP1
000014ea: DIV
000014eb: PUSH1 0xff
000014ed: AND
000014ee: PUSH1 0x00
000014f0: DUP1
000014f1: PUSH2 0x0100
000014f4: EXP
000014f5: DUP2
000014f6: SLOAD
000014f7: DUP2
000014f8: PUSH1 0xff
000014fa: MUL
000014fb: NOT
000014fc: AND
000014fd: SWAP1
000014fe: DUP4
000014ff: PUSH1 0x05
00001501: DUP2
00001502: GT
00001503: ISZERO
00001504: PUSH2 0x1509
00001507: JUMPI
00001508: INVALID
00001509: JUMPDEST
0000150a: MUL
0000150b: OR
0000150c: SWAP1
0000150d: SSTORE
0000150e: POP
0000150f: JUMP
00001510: JUMPDEST
00001511: PUSH1 0x0a
00001513: SLOAD
00001514: DUP2
00001515: JUMP
00001516: JUMPDEST
00001517: PUSH2 0x151e
0000151a: PUSH2 0x3375
0000151d: JUMP
0000151e: JUMPDEST
0000151f: PUSH1 0x03
00001521: PUSH1 0x05
00001523: DUP2
00001524: GT
00001525: ISZERO
00001526: PUSH2 0x152b
00001529: JUMPI
0000152a: INVALID
0000152b: JUMPDEST
0000152c: PUSH1 0x00
0000152e: DUP1
0000152f: SLOAD
00001530: SWAP1
00001531: PUSH2 0x0100
00001534: EXP
00001535: SWAP1
00001536: DIV
00001537: PUSH1 0xff
00001539: AND
0000153a: PUSH1 0x05
0000153c: DUP2
0000153d: GT
0000153e: ISZERO
0000153f: PUSH2 0x1544
00001542: JUMPI
00001543: INVALID
00001544: JUMPDEST
00001545: EQ
00001546: ISZERO
00001547: DUP1
00001548: ISZERO
00001549: PUSH2 0x1576
0000154c: JUMPI
0000154d: POP
0000154e: PUSH1 0x04
00001550: PUSH1 0x05
00001552: DUP2
00001553: GT
00001554: ISZERO
00001555: PUSH2 0x155a
00001558: JUMPI
00001559: INVALID
0000155a: JUMPDEST
0000155b: PUSH1 0x00
0000155d: DUP1
0000155e: SLOAD
0000155f: SWAP1
00001560: PUSH2 0x0100
00001563: EXP
00001564: SWAP1
00001565: DIV
00001566: PUSH1 0xff
00001568: AND
00001569: PUSH1 0x05
0000156b: DUP2
0000156c: GT
0000156d: ISZERO
0000156e: PUSH2 0x1573
00001571: JUMPI
00001572: INVALID
00001573: JUMPDEST
00001574: EQ
00001575: ISZERO
00001576: JUMPDEST
00001577: DUP1
00001578: ISZERO
00001579: PUSH2 0x15a5
0000157c: JUMPI
0000157d: POP
0000157e: PUSH1 0x05
00001580: DUP1
00001581: DUP2
00001582: GT
00001583: ISZERO
00001584: PUSH2 0x1589
00001587: JUMPI
00001588: INVALID
00001589: JUMPDEST
0000158a: PUSH1 0x00
0000158c: DUP1
0000158d: SLOAD
0000158e: SWAP1
0000158f: PUSH2 0x0100
00001592: EXP
00001593: SWAP1
00001594: DIV
00001595: PUSH1 0xff
00001597: AND
00001598: PUSH1 0x05
0000159a: DUP2
0000159b: GT
0000159c: ISZERO
0000159d: PUSH2 0x15a2
000015a0: JUMPI
000015a1: INVALID
000015a2: JUMPDEST
000015a3: EQ
000015a4: ISZERO
000015a5: JUMPDEST
000015a6: PUSH2 0x1617
000015a9: JUMPI
000015aa: PUSH1 0x40
000015ac: MLOAD
000015ad: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000015ce: DUP2
000015cf: MSTORE
000015d0: PUSH1 0x04
000015d2: ADD
000015d3: DUP1
000015d4: DUP1
000015d5: PUSH1 0x20
000015d7: ADD
000015d8: DUP3
000015d9: DUP2
000015da: SUB
000015db: DUP3
000015dc: MSTORE
000015dd: PUSH1 0x14
000015df: DUP2
000015e0: MSTORE
000015e1: PUSH1 0x20
000015e3: ADD
000015e4: DUP1
000015e5: PUSH32 0x426173653a2053544154455f49535f46494e414c000000000000000000000000
00001606: DUP2
00001607: MSTORE
00001608: POP
00001609: PUSH1 0x20
0000160b: ADD
0000160c: SWAP2
0000160d: POP
0000160e: POP
0000160f: PUSH1 0x40
00001611: MLOAD
00001612: DUP1
00001613: SWAP2
00001614: SUB
00001615: SWAP1
00001616: REVERT
00001617: JUMPDEST
00001618: PUSH1 0x00
0000161a: DUP1
0000161b: SLOAD
0000161c: SWAP1
0000161d: PUSH2 0x0100
00001620: EXP
00001621: SWAP1
00001622: DIV
00001623: PUSH1 0xff
00001625: AND
00001626: PUSH1 0x00
00001628: PUSH1 0x01
0000162a: PUSH2 0x0100
0000162d: EXP
0000162e: DUP2
0000162f: SLOAD
00001630: DUP2
00001631: PUSH1 0xff
00001633: MUL
00001634: NOT
00001635: AND
00001636: SWAP1
00001637: DUP4
00001638: PUSH1 0x05
0000163a: DUP2
0000163b: GT
0000163c: ISZERO
0000163d: PUSH2 0x1642
00001640: JUMPI
00001641: INVALID
00001642: JUMPDEST
00001643: MUL
00001644: OR
00001645: SWAP1
00001646: SSTORE
00001647: POP
00001648: PUSH1 0x05
0000164a: PUSH1 0x00
0000164c: DUP1
0000164d: PUSH2 0x0100
00001650: EXP
00001651: DUP2
00001652: SLOAD
00001653: DUP2
00001654: PUSH1 0xff
00001656: MUL
00001657: NOT
00001658: AND
00001659: SWAP1
0000165a: DUP4
0000165b: PUSH1 0x05
0000165d: DUP2
0000165e: GT
0000165f: ISZERO
00001660: PUSH2 0x1665
00001663: JUMPI
00001664: INVALID
00001665: JUMPDEST
00001666: MUL
00001667: OR
00001668: SWAP1
00001669: SSTORE
0000166a: POP
0000166b: JUMP
0000166c: JUMPDEST
0000166d: PUSH1 0x15
0000166f: SLOAD
00001670: DUP2
00001671: JUMP
00001672: JUMPDEST
00001673: PUSH2 0x167a
00001676: PUSH2 0x3611
00001679: JUMP
0000167a: JUMPDEST
0000167b: PUSH1 0x08
0000167d: SLOAD
0000167e: TIMESTAMP
0000167f: GT
00001680: ISZERO
00001681: PUSH2 0x16aa
00001684: JUMPI
00001685: PUSH1 0x0a
00001687: SLOAD
00001688: PUSH1 0x0c
0000168a: SLOAD
0000168b: LT
0000168c: PUSH2 0x169c
0000168f: JUMPI
00001690: PUSH2 0x1697
00001693: PUSH2 0x36ac
00001696: JUMP
00001697: JUMPDEST
00001698: PUSH2 0x16a5
0000169b: JUMP
0000169c: JUMPDEST
0000169d: PUSH2 0x16a4
000016a0: PUSH2 0x36d1
000016a3: JUMP
000016a4: JUMPDEST
000016a5: JUMPDEST
000016a6: PUSH2 0x16c0
000016a9: JUMP
000016aa: JUMPDEST
000016ab: PUSH1 0x06
000016ad: SLOAD
000016ae: PUSH1 0x0c
000016b0: SLOAD
000016b1: EQ
000016b2: ISZERO
000016b3: PUSH2 0x16bf
000016b6: JUMPI
000016b7: PUSH2 0x16be
000016ba: PUSH2 0x36ac
000016bd: JUMP
000016be: JUMPDEST
000016bf: JUMPDEST
000016c0: JUMPDEST
000016c1: JUMP
000016c2: JUMPDEST
000016c3: PUSH2 0x16ca
000016c6: PUSH2 0x36f6
000016c9: JUMP
000016ca: JUMPDEST
000016cb: PUSH1 0x00
000016cd: PUSH1 0x1a
000016cf: PUSH1 0x00
000016d1: CALLER
000016d2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016e7: AND
000016e8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000016fd: AND
000016fe: DUP2
000016ff: MSTORE
00001700: PUSH1 0x20
00001702: ADD
00001703: SWAP1
00001704: DUP2
00001705: MSTORE
00001706: PUSH1 0x20
00001708: ADD
00001709: PUSH1 0x00
0000170b: KECCAK256
0000170c: SLOAD
0000170d: SWAP1
0000170e: POP
0000170f: PUSH1 0x00
00001711: DUP2
00001712: GT
00001713: PUSH2 0x1784
00001716: JUMPI
00001717: PUSH1 0x40
00001719: MLOAD
0000171a: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000173b: DUP2
0000173c: MSTORE
0000173d: PUSH1 0x04
0000173f: ADD
00001740: DUP1
00001741: DUP1
00001742: PUSH1 0x20
00001744: ADD
00001745: DUP3
00001746: DUP2
00001747: SUB
00001748: DUP3
00001749: MSTORE
0000174a: PUSH1 0x16
0000174c: DUP2
0000174d: MSTORE
0000174e: PUSH1 0x20
00001750: ADD
00001751: DUP1
00001752: PUSH32 0x426173653a20414c52454144595f524546554e44454400000000000000000000
00001773: DUP2
00001774: MSTORE
00001775: POP
00001776: PUSH1 0x20
00001778: ADD
00001779: SWAP2
0000177a: POP
0000177b: POP
0000177c: PUSH1 0x40
0000177e: MLOAD
0000177f: DUP1
00001780: SWAP2
00001781: SUB
00001782: SWAP1
00001783: REVERT
00001784: JUMPDEST
00001785: PUSH1 0x00
00001787: PUSH1 0x1a
00001789: PUSH1 0x00
0000178b: CALLER
0000178c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017a1: AND
000017a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017b7: AND
000017b8: DUP2
000017b9: MSTORE
000017ba: PUSH1 0x20
000017bc: ADD
000017bd: SWAP1
000017be: DUP2
000017bf: MSTORE
000017c0: PUSH1 0x20
000017c2: ADD
000017c3: PUSH1 0x00
000017c5: KECCAK256
000017c6: DUP2
000017c7: SWAP1
000017c8: SSTORE
000017c9: POP
000017ca: PUSH1 0x00
000017cc: PUSH1 0x19
000017ce: PUSH1 0x00
000017d0: CALLER
000017d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017e6: AND
000017e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000017fc: AND
000017fd: DUP2
000017fe: MSTORE
000017ff: PUSH1 0x20
00001801: ADD
00001802: SWAP1
00001803: DUP2
00001804: MSTORE
00001805: PUSH1 0x20
00001807: ADD
00001808: PUSH1 0x00
0000180a: KECCAK256
0000180b: DUP2
0000180c: SWAP1
0000180d: SSTORE
0000180e: POP
0000180f: CALLER
00001810: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001825: AND
00001826: PUSH2 0x08fc
00001829: DUP3
0000182a: SWAP1
0000182b: DUP2
0000182c: ISZERO
0000182d: MUL
0000182e: SWAP1
0000182f: PUSH1 0x40
00001831: MLOAD
00001832: PUSH1 0x00
00001834: PUSH1 0x40
00001836: MLOAD
00001837: DUP1
00001838: DUP4
00001839: SUB
0000183a: DUP2
0000183b: DUP6
0000183c: DUP9
0000183d: DUP9
0000183e: CALL
0000183f: SWAP4
00001840: POP
00001841: POP
00001842: POP
00001843: POP
00001844: ISZERO
00001845: DUP1
00001846: ISZERO
00001847: PUSH2 0x1854
0000184a: JUMPI
0000184b: RETURNDATASIZE
0000184c: PUSH1 0x00
0000184e: DUP1
0000184f: RETURNDATACOPY
00001850: RETURNDATASIZE
00001851: PUSH1 0x00
00001853: REVERT
00001854: JUMPDEST
00001855: POP
00001856: PUSH32 0xbb28353e4598c3b9199101a66e0989549b659a59a54d2c27fbb183f1932c8e6d
00001877: CALLER
00001878: DUP3
00001879: PUSH1 0x40
0000187b: MLOAD
0000187c: DUP1
0000187d: DUP4
0000187e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001893: AND
00001894: DUP2
00001895: MSTORE
00001896: PUSH1 0x20
00001898: ADD
00001899: DUP3
0000189a: DUP2
0000189b: MSTORE
0000189c: PUSH1 0x20
0000189e: ADD
0000189f: SWAP3
000018a0: POP
000018a1: POP
000018a2: POP
000018a3: PUSH1 0x40
000018a5: MLOAD
000018a6: DUP1
000018a7: SWAP2
000018a8: SUB
000018a9: SWAP1
000018aa: LOG1
000018ab: POP
000018ac: JUMP
000018ad: JUMPDEST
000018ae: PUSH1 0x13
000018b0: PUSH1 0x14
000018b2: SWAP1
000018b3: SLOAD
000018b4: SWAP1
000018b5: PUSH2 0x0100
000018b8: EXP
000018b9: SWAP1
000018ba: DIV
000018bb: PUSH1 0xff
000018bd: AND
000018be: DUP2
000018bf: JUMP
000018c0: JUMPDEST
000018c1: PUSH2 0x18c8
000018c4: PUSH2 0x2f03
000018c7: JUMP
000018c8: JUMPDEST
000018c9: PUSH2 0x18d0
000018cc: PUSH2 0x2fc8
000018cf: JUMP
000018d0: JUMPDEST
000018d1: DUP1
000018d2: PUSH1 0x05
000018d4: PUSH1 0x00
000018d6: PUSH2 0x0100
000018d9: EXP
000018da: DUP2
000018db: SLOAD
000018dc: DUP2
000018dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000018f2: MUL
000018f3: NOT
000018f4: AND
000018f5: SWAP1
000018f6: DUP4
000018f7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000190c: AND
0000190d: MUL
0000190e: OR
0000190f: SWAP1
00001910: SSTORE
00001911: POP
00001912: POP
00001913: JUMP
00001914: JUMPDEST
00001915: PUSH1 0x01
00001917: PUSH1 0x00
00001919: SWAP1
0000191a: SLOAD
0000191b: SWAP1
0000191c: PUSH2 0x0100
0000191f: EXP
00001920: SWAP1
00001921: DIV
00001922: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001937: AND
00001938: DUP2
00001939: JUMP
0000193a: JUMPDEST
0000193b: PUSH8 0x0de0b6b3a7640000
00001944: DUP2
00001945: JUMP
00001946: JUMPDEST
00001947: PUSH1 0x09
00001949: SLOAD
0000194a: DUP2
0000194b: JUMP
0000194c: JUMPDEST
0000194d: PUSH2 0x1954
00001950: PUSH2 0x2f03
00001953: JUMP
00001954: JUMPDEST
00001955: PUSH2 0x195c
00001958: PUSH2 0x2fc8
0000195b: JUMP
0000195c: JUMPDEST
0000195d: PUSH2 0x1966
00001960: DUP3
00001961: DUP3
00001962: PUSH2 0x3791
00001965: JUMP
00001966: JUMPDEST
00001967: DUP2
00001968: PUSH1 0x07
0000196a: DUP2
0000196b: SWAP1
0000196c: SSTORE
0000196d: POP
0000196e: DUP1
0000196f: PUSH1 0x08
00001971: DUP2
00001972: SWAP1
00001973: SSTORE
00001974: POP
00001975: POP
00001976: POP
00001977: JUMP
00001978: JUMPDEST
00001979: PUSH1 0x07
0000197b: SLOAD
0000197c: DUP2
0000197d: JUMP
0000197e: JUMPDEST
0000197f: PUSH1 0x18
00001981: PUSH1 0x00
00001983: SWAP1
00001984: SLOAD
00001985: SWAP1
00001986: PUSH2 0x0100
00001989: EXP
0000198a: SWAP1
0000198b: DIV
0000198c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019a1: AND
000019a2: DUP2
000019a3: JUMP
000019a4: JUMPDEST
000019a5: PUSH2 0x19ac
000019a8: PUSH2 0x3375
000019ab: JUMP
000019ac: JUMPDEST
000019ad: PUSH2 0x19b4
000019b0: PUSH2 0x2fc8
000019b3: JUMP
000019b4: JUMPDEST
000019b5: DUP1
000019b6: PUSH1 0x18
000019b8: PUSH1 0x00
000019ba: PUSH2 0x0100
000019bd: EXP
000019be: DUP2
000019bf: SLOAD
000019c0: DUP2
000019c1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019d6: MUL
000019d7: NOT
000019d8: AND
000019d9: SWAP1
000019da: DUP4
000019db: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000019f0: AND
000019f1: MUL
000019f2: OR
000019f3: SWAP1
000019f4: SSTORE
000019f5: POP
000019f6: POP
000019f7: JUMP
000019f8: JUMPDEST
000019f9: PUSH1 0x1a
000019fb: PUSH1 0x20
000019fd: MSTORE
000019fe: DUP1
000019ff: PUSH1 0x00
00001a01: MSTORE
00001a02: PUSH1 0x40
00001a04: PUSH1 0x00
00001a06: KECCAK256
00001a07: PUSH1 0x00
00001a09: SWAP2
00001a0a: POP
00001a0b: SWAP1
00001a0c: POP
00001a0d: SLOAD
00001a0e: DUP2
00001a0f: JUMP
00001a10: JUMPDEST
00001a11: PUSH2 0x1a18
00001a14: PUSH2 0x343a
00001a17: JUMP
00001a18: JUMPDEST
00001a19: PUSH2 0x1a20
00001a1c: PUSH2 0x3894
00001a1f: JUMP
00001a20: JUMPDEST
00001a21: PUSH1 0x00
00001a23: PUSH2 0x1a39
00001a26: PUSH1 0x10
00001a28: SLOAD
00001a29: PUSH1 0x0c
00001a2b: SLOAD
00001a2c: PUSH2 0x2e80
00001a2f: SWAP1
00001a30: SWAP2
00001a31: SWAP1
00001a32: PUSH4 0xffffffff
00001a37: AND
00001a38: JUMP
00001a39: JUMPDEST
00001a3a: SWAP1
00001a3b: POP
00001a3c: PUSH1 0x00
00001a3e: PUSH2 0x1b13
00001a41: DUP3
00001a42: PUSH1 0x05
00001a44: PUSH1 0x00
00001a46: SWAP1
00001a47: SLOAD
00001a48: SWAP1
00001a49: PUSH2 0x0100
00001a4c: EXP
00001a4d: SWAP1
00001a4e: DIV
00001a4f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a64: AND
00001a65: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001a7a: AND
00001a7b: PUSH4 0x70a08231
00001a80: ADDRESS
00001a81: PUSH1 0x40
00001a83: MLOAD
00001a84: DUP3
00001a85: PUSH4 0xffffffff
00001a8a: AND
00001a8b: PUSH1 0xe0
00001a8d: SHL
00001a8e: DUP2
00001a8f: MSTORE
00001a90: PUSH1 0x04
00001a92: ADD
00001a93: DUP1
00001a94: DUP3
00001a95: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001aaa: AND
00001aab: DUP2
00001aac: MSTORE
00001aad: PUSH1 0x20
00001aaf: ADD
00001ab0: SWAP2
00001ab1: POP
00001ab2: POP
00001ab3: PUSH1 0x20
00001ab5: PUSH1 0x40
00001ab7: MLOAD
00001ab8: DUP1
00001ab9: DUP4
00001aba: SUB
00001abb: DUP2
00001abc: DUP7
00001abd: DUP1
00001abe: EXTCODESIZE
00001abf: ISZERO
00001ac0: DUP1
00001ac1: ISZERO
00001ac2: PUSH2 0x1aca
00001ac5: JUMPI
00001ac6: PUSH1 0x00
00001ac8: DUP1
00001ac9: REVERT
00001aca: JUMPDEST
00001acb: POP
00001acc: GAS
00001acd: STATICCALL
00001ace: ISZERO
00001acf: DUP1
00001ad0: ISZERO
00001ad1: PUSH2 0x1ade
00001ad4: JUMPI
00001ad5: RETURNDATASIZE
00001ad6: PUSH1 0x00
00001ad8: DUP1
00001ad9: RETURNDATACOPY
00001ada: RETURNDATASIZE
00001adb: PUSH1 0x00
00001add: REVERT
00001ade: JUMPDEST
00001adf: POP
00001ae0: POP
00001ae1: POP
00001ae2: POP
00001ae3: PUSH1 0x40
00001ae5: MLOAD
00001ae6: RETURNDATASIZE
00001ae7: PUSH1 0x20
00001ae9: DUP2
00001aea: LT
00001aeb: ISZERO
00001aec: PUSH2 0x1af4
00001aef: JUMPI
00001af0: PUSH1 0x00
00001af2: DUP1
00001af3: REVERT
00001af4: JUMPDEST
00001af5: DUP2
00001af6: ADD
00001af7: SWAP1
00001af8: DUP1
00001af9: DUP1
00001afa: MLOAD
00001afb: SWAP1
00001afc: PUSH1 0x20
00001afe: ADD
00001aff: SWAP1
00001b00: SWAP3
00001b01: SWAP2
00001b02: SWAP1
00001b03: POP
00001b04: POP
00001b05: POP
00001b06: PUSH2 0x2e80
00001b09: SWAP1
00001b0a: SWAP2
00001b0b: SWAP1
00001b0c: PUSH4 0xffffffff
00001b11: AND
00001b12: JUMP
00001b13: JUMPDEST
00001b14: SWAP1
00001b15: POP
00001b16: PUSH1 0x05
00001b18: PUSH1 0x00
00001b1a: SWAP1
00001b1b: SLOAD
00001b1c: SWAP1
00001b1d: PUSH2 0x0100
00001b20: EXP
00001b21: SWAP1
00001b22: DIV
00001b23: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b38: AND
00001b39: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b4e: AND
00001b4f: PUSH4 0xa9059cbb
00001b54: PUSH1 0x04
00001b56: PUSH1 0x00
00001b58: SWAP1
00001b59: SLOAD
00001b5a: SWAP1
00001b5b: PUSH2 0x0100
00001b5e: EXP
00001b5f: SWAP1
00001b60: DIV
00001b61: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001b76: AND
00001b77: DUP4
00001b78: PUSH1 0x40
00001b7a: MLOAD
00001b7b: DUP4
00001b7c: PUSH4 0xffffffff
00001b81: AND
00001b82: PUSH1 0xe0
00001b84: SHL
00001b85: DUP2
00001b86: MSTORE
00001b87: PUSH1 0x04
00001b89: ADD
00001b8a: DUP1
00001b8b: DUP4
00001b8c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ba1: AND
00001ba2: DUP2
00001ba3: MSTORE
00001ba4: PUSH1 0x20
00001ba6: ADD
00001ba7: DUP3
00001ba8: DUP2
00001ba9: MSTORE
00001baa: PUSH1 0x20
00001bac: ADD
00001bad: SWAP3
00001bae: POP
00001baf: POP
00001bb0: POP
00001bb1: PUSH1 0x20
00001bb3: PUSH1 0x40
00001bb5: MLOAD
00001bb6: DUP1
00001bb7: DUP4
00001bb8: SUB
00001bb9: DUP2
00001bba: PUSH1 0x00
00001bbc: DUP8
00001bbd: DUP1
00001bbe: EXTCODESIZE
00001bbf: ISZERO
00001bc0: DUP1
00001bc1: ISZERO
00001bc2: PUSH2 0x1bca
00001bc5: JUMPI
00001bc6: PUSH1 0x00
00001bc8: DUP1
00001bc9: REVERT
00001bca: JUMPDEST
00001bcb: POP
00001bcc: GAS
00001bcd: CALL
00001bce: ISZERO
00001bcf: DUP1
00001bd0: ISZERO
00001bd1: PUSH2 0x1bde
00001bd4: JUMPI
00001bd5: RETURNDATASIZE
00001bd6: PUSH1 0x00
00001bd8: DUP1
00001bd9: RETURNDATACOPY
00001bda: RETURNDATASIZE
00001bdb: PUSH1 0x00
00001bdd: REVERT
00001bde: JUMPDEST
00001bdf: POP
00001be0: POP
00001be1: POP
00001be2: POP
00001be3: PUSH1 0x40
00001be5: MLOAD
00001be6: RETURNDATASIZE
00001be7: PUSH1 0x20
00001be9: DUP2
00001bea: LT
00001beb: ISZERO
00001bec: PUSH2 0x1bf4
00001bef: JUMPI
00001bf0: PUSH1 0x00
00001bf2: DUP1
00001bf3: REVERT
00001bf4: JUMPDEST
00001bf5: DUP2
00001bf6: ADD
00001bf7: SWAP1
00001bf8: DUP1
00001bf9: DUP1
00001bfa: MLOAD
00001bfb: SWAP1
00001bfc: PUSH1 0x20
00001bfe: ADD
00001bff: SWAP1
00001c00: SWAP3
00001c01: SWAP2
00001c02: SWAP1
00001c03: POP
00001c04: POP
00001c05: POP
00001c06: POP
00001c07: POP
00001c08: POP
00001c09: JUMP
00001c0a: JUMPDEST
00001c0b: PUSH1 0x00
00001c0d: PUSH1 0x01
00001c0f: SWAP1
00001c10: SLOAD
00001c11: SWAP1
00001c12: PUSH2 0x0100
00001c15: EXP
00001c16: SWAP1
00001c17: DIV
00001c18: PUSH1 0xff
00001c1a: AND
00001c1b: DUP2
00001c1c: JUMP
00001c1d: JUMPDEST
00001c1e: PUSH1 0x14
00001c20: SLOAD
00001c21: DUP2
00001c22: JUMP
00001c23: JUMPDEST
00001c24: PUSH2 0x1c2b
00001c27: PUSH2 0x3375
00001c2a: JUMP
00001c2b: JUMPDEST
00001c2c: PUSH2 0x1c33
00001c2f: PUSH2 0x36f6
00001c32: JUMP
00001c33: JUMPDEST
00001c34: PUSH2 0x1d43
00001c37: DUP2
00001c38: PUSH1 0x13
00001c3a: PUSH1 0x00
00001c3c: SWAP1
00001c3d: SLOAD
00001c3e: SWAP1
00001c3f: PUSH2 0x0100
00001c42: EXP
00001c43: SWAP1
00001c44: DIV
00001c45: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c5a: AND
00001c5b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001c70: AND
00001c71: PUSH4 0x70a08231
00001c76: ADDRESS
00001c77: PUSH1 0x40
00001c79: MLOAD
00001c7a: DUP3
00001c7b: PUSH4 0xffffffff
00001c80: AND
00001c81: PUSH1 0xe0
00001c83: SHL
00001c84: DUP2
00001c85: MSTORE
00001c86: PUSH1 0x04
00001c88: ADD
00001c89: DUP1
00001c8a: DUP3
00001c8b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ca0: AND
00001ca1: DUP2
00001ca2: MSTORE
00001ca3: PUSH1 0x20
00001ca5: ADD
00001ca6: SWAP2
00001ca7: POP
00001ca8: POP
00001ca9: PUSH1 0x20
00001cab: PUSH1 0x40
00001cad: MLOAD
00001cae: DUP1
00001caf: DUP4
00001cb0: SUB
00001cb1: DUP2
00001cb2: DUP7
00001cb3: DUP1
00001cb4: EXTCODESIZE
00001cb5: ISZERO
00001cb6: DUP1
00001cb7: ISZERO
00001cb8: PUSH2 0x1cc0
00001cbb: JUMPI
00001cbc: PUSH1 0x00
00001cbe: DUP1
00001cbf: REVERT
00001cc0: JUMPDEST
00001cc1: POP
00001cc2: GAS
00001cc3: STATICCALL
00001cc4: ISZERO
00001cc5: DUP1
00001cc6: ISZERO
00001cc7: PUSH2 0x1cd4
00001cca: JUMPI
00001ccb: RETURNDATASIZE
00001ccc: PUSH1 0x00
00001cce: DUP1
00001ccf: RETURNDATACOPY
00001cd0: RETURNDATASIZE
00001cd1: PUSH1 0x00
00001cd3: REVERT
00001cd4: JUMPDEST
00001cd5: POP
00001cd6: POP
00001cd7: POP
00001cd8: POP
00001cd9: PUSH1 0x40
00001cdb: MLOAD
00001cdc: RETURNDATASIZE
00001cdd: PUSH1 0x20
00001cdf: DUP2
00001ce0: LT
00001ce1: ISZERO
00001ce2: PUSH2 0x1cea
00001ce5: JUMPI
00001ce6: PUSH1 0x00
00001ce8: DUP1
00001ce9: REVERT
00001cea: JUMPDEST
00001ceb: DUP2
00001cec: ADD
00001ced: SWAP1
00001cee: DUP1
00001cef: DUP1
00001cf0: MLOAD
00001cf1: SWAP1
00001cf2: PUSH1 0x20
00001cf4: ADD
00001cf5: SWAP1
00001cf6: SWAP3
00001cf7: SWAP2
00001cf8: SWAP1
00001cf9: POP
00001cfa: POP
00001cfb: POP
00001cfc: PUSH1 0x13
00001cfe: PUSH1 0x00
00001d00: SWAP1
00001d01: SLOAD
00001d02: SWAP1
00001d03: PUSH2 0x0100
00001d06: EXP
00001d07: SWAP1
00001d08: DIV
00001d09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d1e: AND
00001d1f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d34: AND
00001d35: PUSH2 0x34d5
00001d38: SWAP1
00001d39: SWAP3
00001d3a: SWAP2
00001d3b: SWAP1
00001d3c: PUSH4 0xffffffff
00001d41: AND
00001d42: JUMP
00001d43: JUMPDEST
00001d44: POP
00001d45: JUMP
00001d46: JUMPDEST
00001d47: PUSH1 0x0c
00001d49: SLOAD
00001d4a: DUP2
00001d4b: JUMP
00001d4c: JUMPDEST
00001d4d: PUSH1 0x04
00001d4f: PUSH1 0x00
00001d51: SWAP1
00001d52: SLOAD
00001d53: SWAP1
00001d54: PUSH2 0x0100
00001d57: EXP
00001d58: SWAP1
00001d59: DIV
00001d5a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001d6f: AND
00001d70: DUP2
00001d71: JUMP
00001d72: JUMPDEST
00001d73: PUSH2 0x1d7a
00001d76: PUSH2 0x3375
00001d79: JUMP
00001d7a: JUMPDEST
00001d7b: PUSH2 0x1d82
00001d7e: PUSH2 0x2fc8
00001d81: JUMP
00001d82: JUMPDEST
00001d83: DUP1
00001d84: PUSH1 0x17
00001d86: PUSH1 0x00
00001d88: PUSH2 0x0100
00001d8b: EXP
00001d8c: DUP2
00001d8d: SLOAD
00001d8e: DUP2
00001d8f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001da4: MUL
00001da5: NOT
00001da6: AND
00001da7: SWAP1
00001da8: DUP4
00001da9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001dbe: AND
00001dbf: MUL
00001dc0: OR
00001dc1: SWAP1
00001dc2: SSTORE
00001dc3: POP
00001dc4: POP
00001dc5: JUMP
00001dc6: JUMPDEST
00001dc7: PUSH1 0x11
00001dc9: SLOAD
00001dca: DUP2
00001dcb: JUMP
00001dcc: JUMPDEST
00001dcd: PUSH1 0x1b
00001dcf: SLOAD
00001dd0: DUP2
00001dd1: JUMP
00001dd2: JUMPDEST
00001dd3: PUSH2 0x1dda
00001dd6: PUSH2 0x2f03
00001dd9: JUMP
00001dda: JUMPDEST
00001ddb: PUSH2 0x1de2
00001dde: PUSH2 0x2fc8
00001de1: JUMP
00001de2: JUMPDEST
00001de3: DUP1
00001de4: PUSH1 0x1b
00001de6: DUP2
00001de7: SWAP1
00001de8: SSTORE
00001de9: POP
00001dea: POP
00001deb: JUMP
00001dec: JUMPDEST
00001ded: PUSH1 0x16
00001def: DUP2
00001df0: DUP2
00001df1: SLOAD
00001df2: DUP2
00001df3: LT
00001df4: PUSH2 0x1df9
00001df7: JUMPI
00001df8: INVALID
00001df9: JUMPDEST
00001dfa: SWAP1
00001dfb: PUSH1 0x00
00001dfd: MSTORE
00001dfe: PUSH1 0x20
00001e00: PUSH1 0x00
00001e02: KECCAK256
00001e03: ADD
00001e04: PUSH1 0x00
00001e06: SWAP2
00001e07: POP
00001e08: SWAP1
00001e09: POP
00001e0a: SLOAD
00001e0b: DUP2
00001e0c: JUMP
00001e0d: JUMPDEST
00001e0e: PUSH2 0x1e15
00001e11: PUSH2 0x343a
00001e14: JUMP
00001e15: JUMPDEST
00001e16: PUSH1 0x15
00001e18: SLOAD
00001e19: TIMESTAMP
00001e1a: LT
00001e1b: ISZERO
00001e1c: PUSH2 0x1e8d
00001e1f: JUMPI
00001e20: PUSH1 0x40
00001e22: MLOAD
00001e23: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001e44: DUP2
00001e45: MSTORE
00001e46: PUSH1 0x04
00001e48: ADD
00001e49: DUP1
00001e4a: DUP1
00001e4b: PUSH1 0x20
00001e4d: ADD
00001e4e: DUP3
00001e4f: DUP2
00001e50: SUB
00001e51: DUP3
00001e52: MSTORE
00001e53: PUSH1 0x1a
00001e55: DUP2
00001e56: MSTORE
00001e57: PUSH1 0x20
00001e59: ADD
00001e5a: DUP1
00001e5b: PUSH32 0x426173653a20434c41494d494e475f4e4f545f53544152544544000000000000
00001e7c: DUP2
00001e7d: MSTORE
00001e7e: POP
00001e7f: PUSH1 0x20
00001e81: ADD
00001e82: SWAP2
00001e83: POP
00001e84: POP
00001e85: PUSH1 0x40
00001e87: MLOAD
00001e88: DUP1
00001e89: SWAP2
00001e8a: SUB
00001e8b: SWAP1
00001e8c: REVERT
00001e8d: JUMPDEST
00001e8e: PUSH1 0x00
00001e90: PUSH1 0x19
00001e92: PUSH1 0x00
00001e94: CALLER
00001e95: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001eaa: AND
00001eab: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001ec0: AND
00001ec1: DUP2
00001ec2: MSTORE
00001ec3: PUSH1 0x20
00001ec5: ADD
00001ec6: SWAP1
00001ec7: DUP2
00001ec8: MSTORE
00001ec9: PUSH1 0x20
00001ecb: ADD
00001ecc: PUSH1 0x00
00001ece: KECCAK256
00001ecf: SLOAD
00001ed0: SWAP1
00001ed1: POP
00001ed2: PUSH1 0x00
00001ed4: PUSH1 0x1a
00001ed6: PUSH1 0x00
00001ed8: CALLER
00001ed9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001eee: AND
00001eef: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001f04: AND
00001f05: DUP2
00001f06: MSTORE
00001f07: PUSH1 0x20
00001f09: ADD
00001f0a: SWAP1
00001f0b: DUP2
00001f0c: MSTORE
00001f0d: PUSH1 0x20
00001f0f: ADD
00001f10: PUSH1 0x00
00001f12: KECCAK256
00001f13: SLOAD
00001f14: SWAP1
00001f15: POP
00001f16: PUSH1 0x00
00001f18: DUP3
00001f19: GT
00001f1a: PUSH2 0x1f8b
00001f1d: JUMPI
00001f1e: PUSH1 0x40
00001f20: MLOAD
00001f21: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00001f42: DUP2
00001f43: MSTORE
00001f44: PUSH1 0x04
00001f46: ADD
00001f47: DUP1
00001f48: DUP1
00001f49: PUSH1 0x20
00001f4b: ADD
00001f4c: DUP3
00001f4d: DUP2
00001f4e: SUB
00001f4f: DUP3
00001f50: MSTORE
00001f51: PUSH1 0x1a
00001f53: DUP2
00001f54: MSTORE
00001f55: PUSH1 0x20
00001f57: ADD
00001f58: DUP1
00001f59: PUSH32 0x426173653a20524553455256455f42414c414e43455f5a45524f000000000000
00001f7a: DUP2
00001f7b: MSTORE
00001f7c: POP
00001f7d: PUSH1 0x20
00001f7f: ADD
00001f80: SWAP2
00001f81: POP
00001f82: POP
00001f83: PUSH1 0x40
00001f85: MLOAD
00001f86: DUP1
00001f87: SWAP2
00001f88: SUB
00001f89: SWAP1
00001f8a: REVERT
00001f8b: JUMPDEST
00001f8c: PUSH1 0x00
00001f8e: PUSH1 0x19
00001f90: PUSH1 0x00
00001f92: CALLER
00001f93: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fa8: AND
00001fa9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fbe: AND
00001fbf: DUP2
00001fc0: MSTORE
00001fc1: PUSH1 0x20
00001fc3: ADD
00001fc4: SWAP1
00001fc5: DUP2
00001fc6: MSTORE
00001fc7: PUSH1 0x20
00001fc9: ADD
00001fca: PUSH1 0x00
00001fcc: KECCAK256
00001fcd: DUP2
00001fce: SWAP1
00001fcf: SSTORE
00001fd0: POP
00001fd1: PUSH1 0x00
00001fd3: PUSH1 0x1a
00001fd5: PUSH1 0x00
00001fd7: CALLER
00001fd8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00001fed: AND
00001fee: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002003: AND
00002004: DUP2
00002005: MSTORE
00002006: PUSH1 0x20
00002008: ADD
00002009: SWAP1
0000200a: DUP2
0000200b: MSTORE
0000200c: PUSH1 0x20
0000200e: ADD
0000200f: PUSH1 0x00
00002011: KECCAK256
00002012: DUP2
00002013: SWAP1
00002014: SSTORE
00002015: POP
00002016: PUSH2 0x2062
00002019: CALLER
0000201a: DUP4
0000201b: PUSH1 0x05
0000201d: PUSH1 0x00
0000201f: SWAP1
00002020: SLOAD
00002021: SWAP1
00002022: PUSH2 0x0100
00002025: EXP
00002026: SWAP1
00002027: DIV
00002028: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000203d: AND
0000203e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002053: AND
00002054: PUSH2 0x34d5
00002057: SWAP1
00002058: SWAP3
00002059: SWAP2
0000205a: SWAP1
0000205b: PUSH4 0xffffffff
00002060: AND
00002061: JUMP
00002062: JUMPDEST
00002063: PUSH2 0x2077
00002066: DUP3
00002067: PUSH1 0x10
00002069: SLOAD
0000206a: PUSH2 0x3959
0000206d: SWAP1
0000206e: SWAP2
0000206f: SWAP1
00002070: PUSH4 0xffffffff
00002075: AND
00002076: JUMP
00002077: JUMPDEST
00002078: PUSH1 0x10
0000207a: DUP2
0000207b: SWAP1
0000207c: SSTORE
0000207d: POP
0000207e: PUSH1 0x00
00002080: DUP1
00002081: PUSH1 0x12
00002083: SLOAD
00002084: GT
00002085: ISZERO
00002086: PUSH2 0x2102
00002089: JUMPI
0000208a: PUSH2 0x20b2
0000208d: PUSH1 0x11
0000208f: SLOAD
00002090: PUSH2 0x20a4
00002093: DUP5
00002094: PUSH1 0x12
00002096: SLOAD
00002097: PUSH2 0x3063
0000209a: SWAP1
0000209b: SWAP2
0000209c: SWAP1
0000209d: PUSH4 0xffffffff
000020a2: AND
000020a3: JUMP
000020a4: JUMPDEST
000020a5: PUSH2 0x30e9
000020a8: SWAP1
000020a9: SWAP2
000020aa: SWAP1
000020ab: PUSH4 0xffffffff
000020b0: AND
000020b1: JUMP
000020b2: JUMPDEST
000020b3: SWAP1
000020b4: POP
000020b5: PUSH2 0x2101
000020b8: CALLER
000020b9: DUP3
000020ba: PUSH1 0x13
000020bc: PUSH1 0x00
000020be: SWAP1
000020bf: SLOAD
000020c0: SWAP1
000020c1: PUSH2 0x0100
000020c4: EXP
000020c5: SWAP1
000020c6: DIV
000020c7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020dc: AND
000020dd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000020f2: AND
000020f3: PUSH2 0x34d5
000020f6: SWAP1
000020f7: SWAP3
000020f8: SWAP2
000020f9: SWAP1
000020fa: PUSH4 0xffffffff
000020ff: AND
00002100: JUMP
00002101: JUMPDEST
00002102: JUMPDEST
00002103: PUSH32 0x34fcbac0073d7c3d388e51312faf357774904998eeb8fca628b9e6f65ee1cbf7
00002124: CALLER
00002125: DUP5
00002126: DUP4
00002127: PUSH1 0x40
00002129: MLOAD
0000212a: DUP1
0000212b: DUP5
0000212c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002141: AND
00002142: DUP2
00002143: MSTORE
00002144: PUSH1 0x20
00002146: ADD
00002147: DUP4
00002148: DUP2
00002149: MSTORE
0000214a: PUSH1 0x20
0000214c: ADD
0000214d: DUP3
0000214e: DUP2
0000214f: MSTORE
00002150: PUSH1 0x20
00002152: ADD
00002153: SWAP4
00002154: POP
00002155: POP
00002156: POP
00002157: POP
00002158: PUSH1 0x40
0000215a: MLOAD
0000215b: DUP1
0000215c: SWAP2
0000215d: SUB
0000215e: SWAP1
0000215f: LOG1
00002160: POP
00002161: POP
00002162: POP
00002163: JUMP
00002164: JUMPDEST
00002165: PUSH1 0x19
00002167: PUSH1 0x20
00002169: MSTORE
0000216a: DUP1
0000216b: PUSH1 0x00
0000216d: MSTORE
0000216e: PUSH1 0x40
00002170: PUSH1 0x00
00002172: KECCAK256
00002173: PUSH1 0x00
00002175: SWAP2
00002176: POP
00002177: SWAP1
00002178: POP
00002179: SLOAD
0000217a: DUP2
0000217b: JUMP
0000217c: JUMPDEST
0000217d: PUSH2 0x2184
00002180: PUSH2 0x3375
00002183: JUMP
00002184: JUMPDEST
00002185: PUSH1 0x00
00002187: PUSH1 0x05
00002189: DUP2
0000218a: GT
0000218b: ISZERO
0000218c: PUSH2 0x2191
0000218f: JUMPI
00002190: INVALID
00002191: JUMPDEST
00002192: PUSH1 0x00
00002194: DUP1
00002195: SLOAD
00002196: SWAP1
00002197: PUSH2 0x0100
0000219a: EXP
0000219b: SWAP1
0000219c: DIV
0000219d: PUSH1 0xff
0000219f: AND
000021a0: PUSH1 0x05
000021a2: DUP2
000021a3: GT
000021a4: ISZERO
000021a5: PUSH2 0x21aa
000021a8: JUMPI
000021a9: INVALID
000021aa: JUMPDEST
000021ab: EQ
000021ac: DUP1
000021ad: PUSH2 0x21d9
000021b0: JUMPI
000021b1: POP
000021b2: PUSH1 0x01
000021b4: PUSH1 0x05
000021b6: DUP2
000021b7: GT
000021b8: ISZERO
000021b9: PUSH2 0x21be
000021bc: JUMPI
000021bd: INVALID
000021be: JUMPDEST
000021bf: PUSH1 0x00
000021c1: DUP1
000021c2: SLOAD
000021c3: SWAP1
000021c4: PUSH2 0x0100
000021c7: EXP
000021c8: SWAP1
000021c9: DIV
000021ca: PUSH1 0xff
000021cc: AND
000021cd: PUSH1 0x05
000021cf: DUP2
000021d0: GT
000021d1: ISZERO
000021d2: PUSH2 0x21d7
000021d5: JUMPI
000021d6: INVALID
000021d7: JUMPDEST
000021d8: EQ
000021d9: JUMPDEST
000021da: PUSH2 0x224b
000021dd: JUMPI
000021de: PUSH1 0x40
000021e0: MLOAD
000021e1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002202: DUP2
00002203: MSTORE
00002204: PUSH1 0x04
00002206: ADD
00002207: DUP1
00002208: DUP1
00002209: PUSH1 0x20
0000220b: ADD
0000220c: DUP3
0000220d: DUP2
0000220e: SUB
0000220f: DUP3
00002210: MSTORE
00002211: PUSH1 0x20
00002213: DUP2
00002214: MSTORE
00002215: PUSH1 0x20
00002217: ADD
00002218: DUP1
00002219: PUSH32 0x4f4e4c595f445552494e475f494e495449414c495a45445f4f525f5245414459
0000223a: DUP2
0000223b: MSTORE
0000223c: POP
0000223d: PUSH1 0x20
0000223f: ADD
00002240: SWAP2
00002241: POP
00002242: POP
00002243: PUSH1 0x40
00002245: MLOAD
00002246: DUP1
00002247: SWAP2
00002248: SUB
00002249: SWAP1
0000224a: REVERT
0000224b: JUMPDEST
0000224c: DUP2
0000224d: PUSH1 0x12
0000224f: DUP2
00002250: SWAP1
00002251: SSTORE
00002252: POP
00002253: DUP1
00002254: PUSH1 0x13
00002256: PUSH1 0x00
00002258: PUSH2 0x0100
0000225b: EXP
0000225c: DUP2
0000225d: SLOAD
0000225e: DUP2
0000225f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002274: MUL
00002275: NOT
00002276: AND
00002277: SWAP1
00002278: DUP4
00002279: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000228e: AND
0000228f: MUL
00002290: OR
00002291: SWAP1
00002292: SSTORE
00002293: POP
00002294: POP
00002295: POP
00002296: JUMP
00002297: JUMPDEST
00002298: PUSH1 0x03
0000229a: PUSH1 0x00
0000229c: SWAP1
0000229d: SLOAD
0000229e: SWAP1
0000229f: PUSH2 0x0100
000022a2: EXP
000022a3: SWAP1
000022a4: DIV
000022a5: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000022ba: AND
000022bb: DUP2
000022bc: JUMP
000022bd: JUMPDEST
000022be: PUSH1 0x00
000022c0: DUP1
000022c1: SLOAD
000022c2: SWAP1
000022c3: PUSH2 0x0100
000022c6: EXP
000022c7: SWAP1
000022c8: DIV
000022c9: PUSH1 0xff
000022cb: AND
000022cc: DUP2
000022cd: JUMP
000022ce: JUMPDEST
000022cf: PUSH2 0x22d6
000022d2: PUSH2 0x2f03
000022d5: JUMP
000022d6: JUMPDEST
000022d7: PUSH2 0x22de
000022da: PUSH2 0x2fc8
000022dd: JUMP
000022de: JUMPDEST
000022df: DUP1
000022e0: PUSH1 0x0e
000022e2: DUP2
000022e3: SWAP1
000022e4: SSTORE
000022e5: POP
000022e6: POP
000022e7: JUMP
000022e8: JUMPDEST
000022e9: PUSH1 0x0b
000022eb: SLOAD
000022ec: DUP2
000022ed: JUMP
000022ee: JUMPDEST
000022ef: PUSH2 0x22f6
000022f2: PUSH2 0x2f03
000022f5: JUMP
000022f6: JUMPDEST
000022f7: DUP1
000022f8: PUSH1 0x01
000022fa: PUSH1 0x00
000022fc: PUSH2 0x0100
000022ff: EXP
00002300: DUP2
00002301: SLOAD
00002302: DUP2
00002303: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002318: MUL
00002319: NOT
0000231a: AND
0000231b: SWAP1
0000231c: DUP4
0000231d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002332: AND
00002333: MUL
00002334: OR
00002335: SWAP1
00002336: SSTORE
00002337: POP
00002338: POP
00002339: JUMP
0000233a: JUMPDEST
0000233b: PUSH1 0x0f
0000233d: DUP2
0000233e: DUP2
0000233f: SLOAD
00002340: DUP2
00002341: LT
00002342: PUSH2 0x2347
00002345: JUMPI
00002346: INVALID
00002347: JUMPDEST
00002348: SWAP1
00002349: PUSH1 0x00
0000234b: MSTORE
0000234c: PUSH1 0x20
0000234e: PUSH1 0x00
00002350: KECCAK256
00002351: ADD
00002352: PUSH1 0x00
00002354: SWAP2
00002355: POP
00002356: SWAP1
00002357: POP
00002358: SLOAD
00002359: DUP2
0000235a: JUMP
0000235b: JUMPDEST
0000235c: PUSH2 0x2363
0000235f: PUSH2 0x3611
00002362: JUMP
00002363: JUMPDEST
00002364: PUSH1 0x0e
00002366: SLOAD
00002367: CALLVALUE
00002368: LT
00002369: ISZERO
0000236a: PUSH2 0x23db
0000236d: JUMPI
0000236e: PUSH1 0x40
00002370: MLOAD
00002371: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002392: DUP2
00002393: MSTORE
00002394: PUSH1 0x04
00002396: ADD
00002397: DUP1
00002398: DUP1
00002399: PUSH1 0x20
0000239b: ADD
0000239c: DUP3
0000239d: DUP2
0000239e: SUB
0000239f: DUP3
000023a0: MSTORE
000023a1: PUSH1 0x13
000023a3: DUP2
000023a4: MSTORE
000023a5: PUSH1 0x20
000023a7: ADD
000023a8: DUP1
000023a9: PUSH32 0x46503a204f524445525f544f4f5f534d414c4c00000000000000000000000000
000023ca: DUP2
000023cb: MSTORE
000023cc: POP
000023cd: PUSH1 0x20
000023cf: ADD
000023d0: SWAP2
000023d1: POP
000023d2: POP
000023d3: PUSH1 0x40
000023d5: MLOAD
000023d6: DUP1
000023d7: SWAP2
000023d8: SUB
000023d9: SWAP1
000023da: REVERT
000023db: JUMPDEST
000023dc: PUSH1 0x00
000023de: PUSH2 0x23e5
000023e1: PUSH2 0x39e1
000023e4: JUMP
000023e5: JUMPDEST
000023e6: SWAP1
000023e7: POP
000023e8: PUSH1 0x00
000023ea: PUSH2 0x23f2
000023ed: DUP3
000023ee: PUSH2 0x3b27
000023f1: JUMP
000023f2: JUMPDEST
000023f3: SWAP1
000023f4: POP
000023f5: DUP1
000023f6: PUSH1 0x1a
000023f8: PUSH1 0x00
000023fa: CALLER
000023fb: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002410: AND
00002411: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002426: AND
00002427: DUP2
00002428: MSTORE
00002429: PUSH1 0x20
0000242b: ADD
0000242c: SWAP1
0000242d: DUP2
0000242e: MSTORE
0000242f: PUSH1 0x20
00002431: ADD
00002432: PUSH1 0x00
00002434: KECCAK256
00002435: SLOAD
00002436: LT
00002437: PUSH2 0x24a8
0000243a: JUMPI
0000243b: PUSH1 0x40
0000243d: MLOAD
0000243e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000245f: DUP2
00002460: MSTORE
00002461: PUSH1 0x04
00002463: ADD
00002464: DUP1
00002465: DUP1
00002466: PUSH1 0x20
00002468: ADD
00002469: DUP3
0000246a: DUP2
0000246b: SUB
0000246c: DUP3
0000246d: MSTORE
0000246e: PUSH1 0x1a
00002470: DUP2
00002471: MSTORE
00002472: PUSH1 0x20
00002474: ADD
00002475: DUP1
00002476: PUSH32 0x46503a204d41585f414c4c4f434154494f4e5f52454143484544000000000000
00002497: DUP2
00002498: MSTORE
00002499: POP
0000249a: PUSH1 0x20
0000249c: ADD
0000249d: SWAP2
0000249e: POP
0000249f: POP
000024a0: PUSH1 0x40
000024a2: MLOAD
000024a3: DUP1
000024a4: SWAP2
000024a5: SUB
000024a6: SWAP1
000024a7: REVERT
000024a8: JUMPDEST
000024a9: PUSH1 0x00
000024ab: PUSH2 0x24f5
000024ae: CALLVALUE
000024af: PUSH1 0x1a
000024b1: PUSH1 0x00
000024b3: CALLER
000024b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024c9: AND
000024ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000024df: AND
000024e0: DUP2
000024e1: MSTORE
000024e2: PUSH1 0x20
000024e4: ADD
000024e5: SWAP1
000024e6: DUP2
000024e7: MSTORE
000024e8: PUSH1 0x20
000024ea: ADD
000024eb: PUSH1 0x00
000024ed: KECCAK256
000024ee: SLOAD
000024ef: DUP5
000024f0: SUB
000024f1: PUSH2 0x3c83
000024f4: JUMP
000024f5: JUMPDEST
000024f6: SWAP1
000024f7: POP
000024f8: PUSH1 0x00
000024fa: PUSH2 0x2533
000024fd: PUSH2 0x252b
00002500: PUSH1 0x1b
00002502: SLOAD
00002503: PUSH2 0x251d
00002506: PUSH8 0x0de0b6b3a7640000
0000250f: DUP7
00002510: PUSH2 0x3063
00002513: SWAP1
00002514: SWAP2
00002515: SWAP1
00002516: PUSH4 0xffffffff
0000251b: AND
0000251c: JUMP
0000251d: JUMPDEST
0000251e: PUSH2 0x30e9
00002521: SWAP1
00002522: SWAP2
00002523: SWAP1
00002524: PUSH4 0xffffffff
00002529: AND
0000252a: JUMP
0000252b: JUMPDEST
0000252c: PUSH1 0x0d
0000252e: SLOAD
0000252f: PUSH2 0x3c83
00002532: JUMP
00002533: JUMPDEST
00002534: SWAP1
00002535: POP
00002536: PUSH1 0x00
00002538: PUSH2 0x2566
0000253b: PUSH8 0x0de0b6b3a7640000
00002544: PUSH2 0x2558
00002547: PUSH1 0x1b
00002549: SLOAD
0000254a: DUP6
0000254b: PUSH2 0x3063
0000254e: SWAP1
0000254f: SWAP2
00002550: SWAP1
00002551: PUSH4 0xffffffff
00002556: AND
00002557: JUMP
00002558: JUMPDEST
00002559: PUSH2 0x30e9
0000255c: SWAP1
0000255d: SWAP2
0000255e: SWAP1
0000255f: PUSH4 0xffffffff
00002564: AND
00002565: JUMP
00002566: JUMPDEST
00002567: SWAP1
00002568: POP
00002569: PUSH1 0x00
0000256b: DUP2
0000256c: GT
0000256d: DUP1
0000256e: ISZERO
0000256f: PUSH2 0x2578
00002572: JUMPI
00002573: POP
00002574: PUSH1 0x00
00002576: DUP3
00002577: GT
00002578: JUMPDEST
00002579: PUSH2 0x25ea
0000257c: JUMPI
0000257d: PUSH1 0x40
0000257f: MLOAD
00002580: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000025a1: DUP2
000025a2: MSTORE
000025a3: PUSH1 0x04
000025a5: ADD
000025a6: DUP1
000025a7: DUP1
000025a8: PUSH1 0x20
000025aa: ADD
000025ab: DUP3
000025ac: DUP2
000025ad: SUB
000025ae: DUP3
000025af: MSTORE
000025b0: PUSH1 0x1a
000025b2: DUP2
000025b3: MSTORE
000025b4: PUSH1 0x20
000025b6: ADD
000025b7: DUP1
000025b8: PUSH32 0x46503a204d41585f414c4c4f434154494f4e5f52454143484544000000000000
000025d9: DUP2
000025da: MSTORE
000025db: POP
000025dc: PUSH1 0x20
000025de: ADD
000025df: SWAP2
000025e0: POP
000025e1: POP
000025e2: PUSH1 0x40
000025e4: MLOAD
000025e5: DUP1
000025e6: SWAP2
000025e7: SUB
000025e8: SWAP1
000025e9: REVERT
000025ea: JUMPDEST
000025eb: PUSH2 0x25f5
000025ee: CALLER
000025ef: DUP4
000025f0: DUP4
000025f1: PUSH2 0x3c9c
000025f4: JUMP
000025f5: JUMPDEST
000025f6: PUSH6 0x5af3107a4000
000025fd: PUSH2 0x260f
00002600: DUP3
00002601: CALLVALUE
00002602: PUSH2 0x2e80
00002605: SWAP1
00002606: SWAP2
00002607: SWAP1
00002608: PUSH4 0xffffffff
0000260d: AND
0000260e: JUMP
0000260f: JUMPDEST
00002610: LT
00002611: PUSH2 0x266e
00002614: JUMPI
00002615: CALLER
00002616: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000262b: AND
0000262c: PUSH2 0x08fc
0000262f: PUSH2 0x2641
00002632: DUP4
00002633: CALLVALUE
00002634: PUSH2 0x2e80
00002637: SWAP1
00002638: SWAP2
00002639: SWAP1
0000263a: PUSH4 0xffffffff
0000263f: AND
00002640: JUMP
00002641: JUMPDEST
00002642: SWAP1
00002643: DUP2
00002644: ISZERO
00002645: MUL
00002646: SWAP1
00002647: PUSH1 0x40
00002649: MLOAD
0000264a: PUSH1 0x00
0000264c: PUSH1 0x40
0000264e: MLOAD
0000264f: DUP1
00002650: DUP4
00002651: SUB
00002652: DUP2
00002653: DUP6
00002654: DUP9
00002655: DUP9
00002656: CALL
00002657: SWAP4
00002658: POP
00002659: POP
0000265a: POP
0000265b: POP
0000265c: ISZERO
0000265d: DUP1
0000265e: ISZERO
0000265f: PUSH2 0x266c
00002662: JUMPI
00002663: RETURNDATASIZE
00002664: PUSH1 0x00
00002666: DUP1
00002667: RETURNDATACOPY
00002668: RETURNDATASIZE
00002669: PUSH1 0x00
0000266b: REVERT
0000266c: JUMPDEST
0000266d: POP
0000266e: JUMPDEST
0000266f: POP
00002670: POP
00002671: POP
00002672: POP
00002673: POP
00002674: JUMP
00002675: JUMPDEST
00002676: PUSH2 0x267d
00002679: PUSH2 0x3375
0000267c: JUMP
0000267d: JUMPDEST
0000267e: DUP1
0000267f: PUSH1 0x03
00002681: PUSH1 0x00
00002683: PUSH2 0x0100
00002686: EXP
00002687: DUP2
00002688: SLOAD
00002689: DUP2
0000268a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000269f: MUL
000026a0: NOT
000026a1: AND
000026a2: SWAP1
000026a3: DUP4
000026a4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000026b9: AND
000026ba: MUL
000026bb: OR
000026bc: SWAP1
000026bd: SSTORE
000026be: POP
000026bf: POP
000026c0: JUMP
000026c1: JUMPDEST
000026c2: PUSH2 0x26c9
000026c5: PUSH2 0x2f03
000026c8: JUMP
000026c9: JUMPDEST
000026ca: PUSH2 0x26d1
000026cd: PUSH2 0x2fc8
000026d0: JUMP
000026d1: JUMPDEST
000026d2: PUSH2 0x26da
000026d5: DUP2
000026d6: PUSH2 0x3dd5
000026d9: JUMP
000026da: JUMPDEST
000026db: DUP1
000026dc: PUSH1 0x09
000026de: DUP2
000026df: SWAP1
000026e0: SSTORE
000026e1: POP
000026e2: POP
000026e3: JUMP
000026e4: JUMPDEST
000026e5: PUSH2 0x26ec
000026e8: PUSH2 0x343a
000026eb: JUMP
000026ec: JUMPDEST
000026ed: PUSH2 0x26f4
000026f0: PUSH2 0x3894
000026f3: JUMP
000026f4: JUMPDEST
000026f5: PUSH1 0x04
000026f7: PUSH1 0x00
000026f9: SWAP1
000026fa: SLOAD
000026fb: SWAP1
000026fc: PUSH2 0x0100
000026ff: EXP
00002700: SWAP1
00002701: DIV
00002702: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002717: AND
00002718: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000272d: AND
0000272e: PUSH2 0x08fc
00002731: SELFBALANCE
00002732: SWAP1
00002733: DUP2
00002734: ISZERO
00002735: MUL
00002736: SWAP1
00002737: PUSH1 0x40
00002739: MLOAD
0000273a: PUSH1 0x00
0000273c: PUSH1 0x40
0000273e: MLOAD
0000273f: DUP1
00002740: DUP4
00002741: SUB
00002742: DUP2
00002743: DUP6
00002744: DUP9
00002745: DUP9
00002746: CALL
00002747: SWAP4
00002748: POP
00002749: POP
0000274a: POP
0000274b: POP
0000274c: ISZERO
0000274d: DUP1
0000274e: ISZERO
0000274f: PUSH2 0x275c
00002752: JUMPI
00002753: RETURNDATASIZE
00002754: PUSH1 0x00
00002756: DUP1
00002757: RETURNDATACOPY
00002758: RETURNDATASIZE
00002759: PUSH1 0x00
0000275b: REVERT
0000275c: JUMPDEST
0000275d: POP
0000275e: JUMP
0000275f: JUMPDEST
00002760: PUSH2 0x2767
00002763: PUSH2 0x2f03
00002766: JUMP
00002767: JUMPDEST
00002768: PUSH2 0x276f
0000276b: PUSH2 0x2fc8
0000276e: JUMP
0000276f: JUMPDEST
00002770: DUP1
00002771: PUSH1 0x04
00002773: PUSH1 0x00
00002775: PUSH2 0x0100
00002778: EXP
00002779: DUP2
0000277a: SLOAD
0000277b: DUP2
0000277c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002791: MUL
00002792: NOT
00002793: AND
00002794: SWAP1
00002795: DUP4
00002796: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027ab: AND
000027ac: MUL
000027ad: OR
000027ae: SWAP1
000027af: SSTORE
000027b0: POP
000027b1: POP
000027b2: JUMP
000027b3: JUMPDEST
000027b4: PUSH2 0x27bb
000027b7: PUSH2 0x36f6
000027ba: JUMP
000027bb: JUMPDEST
000027bc: PUSH2 0x27c3
000027bf: PUSH2 0x3894
000027c2: JUMP
000027c3: JUMPDEST
000027c4: PUSH1 0x05
000027c6: PUSH1 0x00
000027c8: SWAP1
000027c9: SLOAD
000027ca: SWAP1
000027cb: PUSH2 0x0100
000027ce: EXP
000027cf: SWAP1
000027d0: DIV
000027d1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027e6: AND
000027e7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000027fc: AND
000027fd: PUSH4 0xa9059cbb
00002802: PUSH1 0x04
00002804: PUSH1 0x00
00002806: SWAP1
00002807: SLOAD
00002808: SWAP1
00002809: PUSH2 0x0100
0000280c: EXP
0000280d: SWAP1
0000280e: DIV
0000280f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002824: AND
00002825: PUSH1 0x05
00002827: PUSH1 0x00
00002829: SWAP1
0000282a: SLOAD
0000282b: SWAP1
0000282c: PUSH2 0x0100
0000282f: EXP
00002830: SWAP1
00002831: DIV
00002832: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002847: AND
00002848: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000285d: AND
0000285e: PUSH4 0x70a08231
00002863: ADDRESS
00002864: PUSH1 0x40
00002866: MLOAD
00002867: DUP3
00002868: PUSH4 0xffffffff
0000286d: AND
0000286e: PUSH1 0xe0
00002870: SHL
00002871: DUP2
00002872: MSTORE
00002873: PUSH1 0x04
00002875: ADD
00002876: DUP1
00002877: DUP3
00002878: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000288d: AND
0000288e: DUP2
0000288f: MSTORE
00002890: PUSH1 0x20
00002892: ADD
00002893: SWAP2
00002894: POP
00002895: POP
00002896: PUSH1 0x20
00002898: PUSH1 0x40
0000289a: MLOAD
0000289b: DUP1
0000289c: DUP4
0000289d: SUB
0000289e: DUP2
0000289f: DUP7
000028a0: DUP1
000028a1: EXTCODESIZE
000028a2: ISZERO
000028a3: DUP1
000028a4: ISZERO
000028a5: PUSH2 0x28ad
000028a8: JUMPI
000028a9: PUSH1 0x00
000028ab: DUP1
000028ac: REVERT
000028ad: JUMPDEST
000028ae: POP
000028af: GAS
000028b0: STATICCALL
000028b1: ISZERO
000028b2: DUP1
000028b3: ISZERO
000028b4: PUSH2 0x28c1
000028b7: JUMPI
000028b8: RETURNDATASIZE
000028b9: PUSH1 0x00
000028bb: DUP1
000028bc: RETURNDATACOPY
000028bd: RETURNDATASIZE
000028be: PUSH1 0x00
000028c0: REVERT
000028c1: JUMPDEST
000028c2: POP
000028c3: POP
000028c4: POP
000028c5: POP
000028c6: PUSH1 0x40
000028c8: MLOAD
000028c9: RETURNDATASIZE
000028ca: PUSH1 0x20
000028cc: DUP2
000028cd: LT
000028ce: ISZERO
000028cf: PUSH2 0x28d7
000028d2: JUMPI
000028d3: PUSH1 0x00
000028d5: DUP1
000028d6: REVERT
000028d7: JUMPDEST
000028d8: DUP2
000028d9: ADD
000028da: SWAP1
000028db: DUP1
000028dc: DUP1
000028dd: MLOAD
000028de: SWAP1
000028df: PUSH1 0x20
000028e1: ADD
000028e2: SWAP1
000028e3: SWAP3
000028e4: SWAP2
000028e5: SWAP1
000028e6: POP
000028e7: POP
000028e8: POP
000028e9: PUSH1 0x40
000028eb: MLOAD
000028ec: DUP4
000028ed: PUSH4 0xffffffff
000028f2: AND
000028f3: PUSH1 0xe0
000028f5: SHL
000028f6: DUP2
000028f7: MSTORE
000028f8: PUSH1 0x04
000028fa: ADD
000028fb: DUP1
000028fc: DUP4
000028fd: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002912: AND
00002913: DUP2
00002914: MSTORE
00002915: PUSH1 0x20
00002917: ADD
00002918: DUP3
00002919: DUP2
0000291a: MSTORE
0000291b: PUSH1 0x20
0000291d: ADD
0000291e: SWAP3
0000291f: POP
00002920: POP
00002921: POP
00002922: PUSH1 0x20
00002924: PUSH1 0x40
00002926: MLOAD
00002927: DUP1
00002928: DUP4
00002929: SUB
0000292a: DUP2
0000292b: PUSH1 0x00
0000292d: DUP8
0000292e: DUP1
0000292f: EXTCODESIZE
00002930: ISZERO
00002931: DUP1
00002932: ISZERO
00002933: PUSH2 0x293b
00002936: JUMPI
00002937: PUSH1 0x00
00002939: DUP1
0000293a: REVERT
0000293b: JUMPDEST
0000293c: POP
0000293d: GAS
0000293e: CALL
0000293f: ISZERO
00002940: DUP1
00002941: ISZERO
00002942: PUSH2 0x294f
00002945: JUMPI
00002946: RETURNDATASIZE
00002947: PUSH1 0x00
00002949: DUP1
0000294a: RETURNDATACOPY
0000294b: RETURNDATASIZE
0000294c: PUSH1 0x00
0000294e: REVERT
0000294f: JUMPDEST
00002950: POP
00002951: POP
00002952: POP
00002953: POP
00002954: PUSH1 0x40
00002956: MLOAD
00002957: RETURNDATASIZE
00002958: PUSH1 0x20
0000295a: DUP2
0000295b: LT
0000295c: ISZERO
0000295d: PUSH2 0x2965
00002960: JUMPI
00002961: PUSH1 0x00
00002963: DUP1
00002964: REVERT
00002965: JUMPDEST
00002966: DUP2
00002967: ADD
00002968: SWAP1
00002969: DUP1
0000296a: DUP1
0000296b: MLOAD
0000296c: SWAP1
0000296d: PUSH1 0x20
0000296f: ADD
00002970: SWAP1
00002971: SWAP3
00002972: SWAP2
00002973: SWAP1
00002974: POP
00002975: POP
00002976: POP
00002977: POP
00002978: JUMP
00002979: JUMPDEST
0000297a: PUSH1 0x13
0000297c: PUSH1 0x00
0000297e: SWAP1
0000297f: SLOAD
00002980: SWAP1
00002981: PUSH2 0x0100
00002984: EXP
00002985: SWAP1
00002986: DIV
00002987: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000299c: AND
0000299d: DUP2
0000299e: JUMP
0000299f: JUMPDEST
000029a0: PUSH2 0x29a7
000029a3: PUSH2 0x3375
000029a6: JUMP
000029a7: JUMPDEST
000029a8: DUP1
000029a9: PUSH1 0x15
000029ab: DUP2
000029ac: SWAP1
000029ad: SSTORE
000029ae: POP
000029af: PUSH32 0x25a4f2ff0abb0fd4627d671f1bbd9629eaef1acc636b847044100b1e6be42cc6
000029d0: PUSH1 0x15
000029d2: SLOAD
000029d3: PUSH1 0x40
000029d5: MLOAD
000029d6: DUP1
000029d7: DUP3
000029d8: DUP2
000029d9: MSTORE
000029da: PUSH1 0x20
000029dc: ADD
000029dd: SWAP2
000029de: POP
000029df: POP
000029e0: PUSH1 0x40
000029e2: MLOAD
000029e3: DUP1
000029e4: SWAP2
000029e5: SUB
000029e6: SWAP1
000029e7: LOG1
000029e8: POP
000029e9: JUMP
000029ea: JUMPDEST
000029eb: PUSH1 0x17
000029ed: PUSH1 0x00
000029ef: SWAP1
000029f0: SLOAD
000029f1: SWAP1
000029f2: PUSH2 0x0100
000029f5: EXP
000029f6: SWAP1
000029f7: DIV
000029f8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a0d: AND
00002a0e: DUP2
00002a0f: JUMP
00002a10: JUMPDEST
00002a11: PUSH1 0x01
00002a13: PUSH1 0x00
00002a15: SWAP1
00002a16: SLOAD
00002a17: SWAP1
00002a18: PUSH2 0x0100
00002a1b: EXP
00002a1c: SWAP1
00002a1d: DIV
00002a1e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a33: AND
00002a34: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a49: AND
00002a4a: CALLER
00002a4b: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002a60: AND
00002a61: EQ
00002a62: PUSH2 0x2ad3
00002a65: JUMPI
00002a66: PUSH1 0x40
00002a68: MLOAD
00002a69: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002a8a: DUP2
00002a8b: MSTORE
00002a8c: PUSH1 0x04
00002a8e: ADD
00002a8f: DUP1
00002a90: DUP1
00002a91: PUSH1 0x20
00002a93: ADD
00002a94: DUP3
00002a95: DUP2
00002a96: SUB
00002a97: DUP3
00002a98: MSTORE
00002a99: PUSH1 0x12
00002a9b: DUP2
00002a9c: MSTORE
00002a9d: PUSH1 0x20
00002a9f: ADD
00002aa0: DUP1
00002aa1: PUSH32 0x4f4e4c595f50524f4a4543545f41444d494e0000000000000000000000000000
00002ac2: DUP2
00002ac3: MSTORE
00002ac4: POP
00002ac5: PUSH1 0x20
00002ac7: ADD
00002ac8: SWAP2
00002ac9: POP
00002aca: POP
00002acb: PUSH1 0x40
00002acd: MLOAD
00002ace: DUP1
00002acf: SWAP2
00002ad0: SUB
00002ad1: SWAP1
00002ad2: REVERT
00002ad3: JUMPDEST
00002ad4: PUSH1 0x01
00002ad6: PUSH1 0x00
00002ad8: SWAP1
00002ad9: SLOAD
00002ada: SWAP1
00002adb: PUSH2 0x0100
00002ade: EXP
00002adf: SWAP1
00002ae0: DIV
00002ae1: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002af6: AND
00002af7: PUSH1 0x00
00002af9: PUSH1 0x02
00002afb: PUSH2 0x0100
00002afe: EXP
00002aff: DUP2
00002b00: SLOAD
00002b01: DUP2
00002b02: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b17: MUL
00002b18: NOT
00002b19: AND
00002b1a: SWAP1
00002b1b: DUP4
00002b1c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b31: AND
00002b32: MUL
00002b33: OR
00002b34: SWAP1
00002b35: SSTORE
00002b36: POP
00002b37: JUMP
00002b38: JUMPDEST
00002b39: PUSH1 0x03
00002b3b: PUSH1 0x00
00002b3d: SWAP1
00002b3e: SLOAD
00002b3f: SWAP1
00002b40: PUSH2 0x0100
00002b43: EXP
00002b44: SWAP1
00002b45: DIV
00002b46: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b5b: AND
00002b5c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b71: AND
00002b72: CALLER
00002b73: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002b88: AND
00002b89: EQ
00002b8a: PUSH2 0x2bfb
00002b8d: JUMPI
00002b8e: PUSH1 0x40
00002b90: MLOAD
00002b91: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002bb2: DUP2
00002bb3: MSTORE
00002bb4: PUSH1 0x04
00002bb6: ADD
00002bb7: DUP1
00002bb8: DUP1
00002bb9: PUSH1 0x20
00002bbb: ADD
00002bbc: DUP3
00002bbd: DUP2
00002bbe: SUB
00002bbf: DUP3
00002bc0: MSTORE
00002bc1: PUSH1 0x10
00002bc3: DUP2
00002bc4: MSTORE
00002bc5: PUSH1 0x20
00002bc7: ADD
00002bc8: DUP1
00002bc9: PUSH32 0x4f4e4c595f52415a45525f41444d494e00000000000000000000000000000000
00002bea: DUP2
00002beb: MSTORE
00002bec: POP
00002bed: PUSH1 0x20
00002bef: ADD
00002bf0: SWAP2
00002bf1: POP
00002bf2: POP
00002bf3: PUSH1 0x40
00002bf5: MLOAD
00002bf6: DUP1
00002bf7: SWAP2
00002bf8: SUB
00002bf9: SWAP1
00002bfa: REVERT
00002bfb: JUMPDEST
00002bfc: PUSH1 0x03
00002bfe: PUSH1 0x00
00002c00: SWAP1
00002c01: SLOAD
00002c02: SWAP1
00002c03: PUSH2 0x0100
00002c06: EXP
00002c07: SWAP1
00002c08: DIV
00002c09: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c1e: AND
00002c1f: PUSH1 0x02
00002c21: PUSH1 0x00
00002c23: PUSH2 0x0100
00002c26: EXP
00002c27: DUP2
00002c28: SLOAD
00002c29: DUP2
00002c2a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c3f: MUL
00002c40: NOT
00002c41: AND
00002c42: SWAP1
00002c43: DUP4
00002c44: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002c59: AND
00002c5a: MUL
00002c5b: OR
00002c5c: SWAP1
00002c5d: SSTORE
00002c5e: POP
00002c5f: JUMP
00002c60: JUMPDEST
00002c61: PUSH2 0x2c68
00002c64: PUSH2 0x3375
00002c67: JUMP
00002c68: JUMPDEST
00002c69: PUSH2 0x2c70
00002c6c: PUSH2 0x3ec6
00002c6f: JUMP
00002c70: JUMPDEST
00002c71: PUSH1 0x07
00002c73: SLOAD
00002c74: TIMESTAMP
00002c75: LT
00002c76: ISZERO
00002c77: PUSH2 0x2ce8
00002c7a: JUMPI
00002c7b: PUSH1 0x40
00002c7d: MLOAD
00002c7e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002c9f: DUP2
00002ca0: MSTORE
00002ca1: PUSH1 0x04
00002ca3: ADD
00002ca4: DUP1
00002ca5: DUP1
00002ca6: PUSH1 0x20
00002ca8: ADD
00002ca9: DUP3
00002caa: DUP2
00002cab: SUB
00002cac: DUP3
00002cad: MSTORE
00002cae: PUSH1 0x0f
00002cb0: DUP2
00002cb1: MSTORE
00002cb2: PUSH1 0x20
00002cb4: ADD
00002cb5: DUP1
00002cb6: PUSH32 0x426173653a20544f4f5f4541524c590000000000000000000000000000000000
00002cd7: DUP2
00002cd8: MSTORE
00002cd9: POP
00002cda: PUSH1 0x20
00002cdc: ADD
00002cdd: SWAP2
00002cde: POP
00002cdf: POP
00002ce0: PUSH1 0x40
00002ce2: MLOAD
00002ce3: DUP1
00002ce4: SWAP2
00002ce5: SUB
00002ce6: SWAP1
00002ce7: REVERT
00002ce8: JUMPDEST
00002ce9: PUSH1 0x00
00002ceb: PUSH1 0x12
00002ced: SLOAD
00002cee: GT
00002cef: ISZERO
00002cf0: PUSH2 0x2e2f
00002cf3: JUMPI
00002cf4: PUSH1 0x12
00002cf6: SLOAD
00002cf7: PUSH1 0x13
00002cf9: PUSH1 0x00
00002cfb: SWAP1
00002cfc: SLOAD
00002cfd: SWAP1
00002cfe: PUSH2 0x0100
00002d01: EXP
00002d02: SWAP1
00002d03: DIV
00002d04: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d19: AND
00002d1a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d2f: AND
00002d30: PUSH4 0x70a08231
00002d35: ADDRESS
00002d36: PUSH1 0x40
00002d38: MLOAD
00002d39: DUP3
00002d3a: PUSH4 0xffffffff
00002d3f: AND
00002d40: PUSH1 0xe0
00002d42: SHL
00002d43: DUP2
00002d44: MSTORE
00002d45: PUSH1 0x04
00002d47: ADD
00002d48: DUP1
00002d49: DUP3
00002d4a: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002d5f: AND
00002d60: DUP2
00002d61: MSTORE
00002d62: PUSH1 0x20
00002d64: ADD
00002d65: SWAP2
00002d66: POP
00002d67: POP
00002d68: PUSH1 0x20
00002d6a: PUSH1 0x40
00002d6c: MLOAD
00002d6d: DUP1
00002d6e: DUP4
00002d6f: SUB
00002d70: DUP2
00002d71: DUP7
00002d72: DUP1
00002d73: EXTCODESIZE
00002d74: ISZERO
00002d75: DUP1
00002d76: ISZERO
00002d77: PUSH2 0x2d7f
00002d7a: JUMPI
00002d7b: PUSH1 0x00
00002d7d: DUP1
00002d7e: REVERT
00002d7f: JUMPDEST
00002d80: POP
00002d81: GAS
00002d82: STATICCALL
00002d83: ISZERO
00002d84: DUP1
00002d85: ISZERO
00002d86: PUSH2 0x2d93
00002d89: JUMPI
00002d8a: RETURNDATASIZE
00002d8b: PUSH1 0x00
00002d8d: DUP1
00002d8e: RETURNDATACOPY
00002d8f: RETURNDATASIZE
00002d90: PUSH1 0x00
00002d92: REVERT
00002d93: JUMPDEST
00002d94: POP
00002d95: POP
00002d96: POP
00002d97: POP
00002d98: PUSH1 0x40
00002d9a: MLOAD
00002d9b: RETURNDATASIZE
00002d9c: PUSH1 0x20
00002d9e: DUP2
00002d9f: LT
00002da0: ISZERO
00002da1: PUSH2 0x2da9
00002da4: JUMPI
00002da5: PUSH1 0x00
00002da7: DUP1
00002da8: REVERT
00002da9: JUMPDEST
00002daa: DUP2
00002dab: ADD
00002dac: SWAP1
00002dad: DUP1
00002dae: DUP1
00002daf: MLOAD
00002db0: SWAP1
00002db1: PUSH1 0x20
00002db3: ADD
00002db4: SWAP1
00002db5: SWAP3
00002db6: SWAP2
00002db7: SWAP1
00002db8: POP
00002db9: POP
00002dba: POP
00002dbb: LT
00002dbc: ISZERO
00002dbd: PUSH2 0x2e2e
00002dc0: JUMPI
00002dc1: PUSH1 0x40
00002dc3: MLOAD
00002dc4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002de5: DUP2
00002de6: MSTORE
00002de7: PUSH1 0x04
00002de9: ADD
00002dea: DUP1
00002deb: DUP1
00002dec: PUSH1 0x20
00002dee: ADD
00002def: DUP3
00002df0: DUP2
00002df1: SUB
00002df2: DUP3
00002df3: MSTORE
00002df4: PUSH1 0x14
00002df6: DUP2
00002df7: MSTORE
00002df8: PUSH1 0x20
00002dfa: ADD
00002dfb: DUP1
00002dfc: PUSH32 0x426173653a204e4f545f454e4f5547485f4f4343000000000000000000000000
00002e1d: DUP2
00002e1e: MSTORE
00002e1f: POP
00002e20: PUSH1 0x20
00002e22: ADD
00002e23: SWAP2
00002e24: POP
00002e25: POP
00002e26: PUSH1 0x40
00002e28: MLOAD
00002e29: DUP1
00002e2a: SWAP2
00002e2b: SUB
00002e2c: SWAP1
00002e2d: REVERT
00002e2e: JUMPDEST
00002e2f: JUMPDEST
00002e30: PUSH1 0x02
00002e32: PUSH1 0x00
00002e34: DUP1
00002e35: PUSH2 0x0100
00002e38: EXP
00002e39: DUP2
00002e3a: SLOAD
00002e3b: DUP2
00002e3c: PUSH1 0xff
00002e3e: MUL
00002e3f: NOT
00002e40: AND
00002e41: SWAP1
00002e42: DUP4
00002e43: PUSH1 0x05
00002e45: DUP2
00002e46: GT
00002e47: ISZERO
00002e48: PUSH2 0x2e4d
00002e4b: JUMPI
00002e4c: INVALID
00002e4d: JUMPDEST
00002e4e: MUL
00002e4f: OR
00002e50: SWAP1
00002e51: SSTORE
00002e52: POP
00002e53: JUMP
00002e54: JUMPDEST
00002e55: PUSH1 0x05
00002e57: PUSH1 0x00
00002e59: SWAP1
00002e5a: SLOAD
00002e5b: SWAP1
00002e5c: PUSH2 0x0100
00002e5f: EXP
00002e60: SWAP1
00002e61: DIV
00002e62: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002e77: AND
00002e78: DUP2
00002e79: JUMP
00002e7a: JUMPDEST
00002e7b: PUSH1 0x12
00002e7d: SLOAD
00002e7e: DUP2
00002e7f: JUMP
00002e80: JUMPDEST
00002e81: PUSH1 0x00
00002e83: DUP3
00002e84: DUP3
00002e85: GT
00002e86: ISZERO
00002e87: PUSH2 0x2ef8
00002e8a: JUMPI
00002e8b: PUSH1 0x40
00002e8d: MLOAD
00002e8e: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002eaf: DUP2
00002eb0: MSTORE
00002eb1: PUSH1 0x04
00002eb3: ADD
00002eb4: DUP1
00002eb5: DUP1
00002eb6: PUSH1 0x20
00002eb8: ADD
00002eb9: DUP3
00002eba: DUP2
00002ebb: SUB
00002ebc: DUP3
00002ebd: MSTORE
00002ebe: PUSH1 0x1e
00002ec0: DUP2
00002ec1: MSTORE
00002ec2: PUSH1 0x20
00002ec4: ADD
00002ec5: DUP1
00002ec6: PUSH32 0x536166654d6174683a207375627472616374696f6e206f766572666c6f770000
00002ee7: DUP2
00002ee8: MSTORE
00002ee9: POP
00002eea: PUSH1 0x20
00002eec: ADD
00002eed: SWAP2
00002eee: POP
00002eef: POP
00002ef0: PUSH1 0x40
00002ef2: MLOAD
00002ef3: DUP1
00002ef4: SWAP2
00002ef5: SUB
00002ef6: SWAP1
00002ef7: REVERT
00002ef8: JUMPDEST
00002ef9: DUP2
00002efa: DUP4
00002efb: SUB
00002efc: SWAP1
00002efd: POP
00002efe: SWAP3
00002eff: SWAP2
00002f00: POP
00002f01: POP
00002f02: JUMP
00002f03: JUMPDEST
00002f04: PUSH1 0x00
00002f06: PUSH1 0x02
00002f08: SWAP1
00002f09: SLOAD
00002f0a: SWAP1
00002f0b: PUSH2 0x0100
00002f0e: EXP
00002f0f: SWAP1
00002f10: DIV
00002f11: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f26: AND
00002f27: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f3c: AND
00002f3d: CALLER
00002f3e: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00002f53: AND
00002f54: EQ
00002f55: PUSH2 0x2fc6
00002f58: JUMPI
00002f59: PUSH1 0x40
00002f5b: MLOAD
00002f5c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00002f7d: DUP2
00002f7e: MSTORE
00002f7f: PUSH1 0x04
00002f81: ADD
00002f82: DUP1
00002f83: DUP1
00002f84: PUSH1 0x20
00002f86: ADD
00002f87: DUP3
00002f88: DUP2
00002f89: SUB
00002f8a: DUP3
00002f8b: MSTORE
00002f8c: PUSH1 0x12
00002f8e: DUP2
00002f8f: MSTORE
00002f90: PUSH1 0x20
00002f92: ADD
00002f93: DUP1
00002f94: PUSH32 0x4f4e4c595f50524f4a4543545f41444d494e0000000000000000000000000000
00002fb5: DUP2
00002fb6: MSTORE
00002fb7: POP
00002fb8: PUSH1 0x20
00002fba: ADD
00002fbb: SWAP2
00002fbc: POP
00002fbd: POP
00002fbe: PUSH1 0x40
00002fc0: MLOAD
00002fc1: DUP1
00002fc2: SWAP2
00002fc3: SUB
00002fc4: SWAP1
00002fc5: REVERT
00002fc6: JUMPDEST
00002fc7: JUMP
00002fc8: JUMPDEST
00002fc9: PUSH1 0x00
00002fcb: PUSH1 0x05
00002fcd: DUP2
00002fce: GT
00002fcf: ISZERO
00002fd0: PUSH2 0x2fd5
00002fd3: JUMPI
00002fd4: INVALID
00002fd5: JUMPDEST
00002fd6: PUSH1 0x00
00002fd8: DUP1
00002fd9: SLOAD
00002fda: SWAP1
00002fdb: PUSH2 0x0100
00002fde: EXP
00002fdf: SWAP1
00002fe0: DIV
00002fe1: PUSH1 0xff
00002fe3: AND
00002fe4: PUSH1 0x05
00002fe6: DUP2
00002fe7: GT
00002fe8: ISZERO
00002fe9: PUSH2 0x2fee
00002fec: JUMPI
00002fed: INVALID
00002fee: JUMPDEST
00002fef: EQ
00002ff0: PUSH2 0x3061
00002ff3: JUMPI
00002ff4: PUSH1 0x40
00002ff6: MLOAD
00002ff7: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003018: DUP2
00003019: MSTORE
0000301a: PUSH1 0x04
0000301c: ADD
0000301d: DUP1
0000301e: DUP1
0000301f: PUSH1 0x20
00003021: ADD
00003022: DUP3
00003023: DUP2
00003024: SUB
00003025: DUP3
00003026: MSTORE
00003027: PUSH1 0x17
00003029: DUP2
0000302a: MSTORE
0000302b: PUSH1 0x20
0000302d: ADD
0000302e: DUP1
0000302f: PUSH32 0x4f4e4c595f445552494e475f494e495449414c495a4544000000000000000000
00003050: DUP2
00003051: MSTORE
00003052: POP
00003053: PUSH1 0x20
00003055: ADD
00003056: SWAP2
00003057: POP
00003058: POP
00003059: PUSH1 0x40
0000305b: MLOAD
0000305c: DUP1
0000305d: SWAP2
0000305e: SUB
0000305f: SWAP1
00003060: REVERT
00003061: JUMPDEST
00003062: JUMP
00003063: JUMPDEST
00003064: PUSH1 0x00
00003066: DUP1
00003067: DUP4
00003068: EQ
00003069: ISZERO
0000306a: PUSH2 0x3076
0000306d: JUMPI
0000306e: PUSH1 0x00
00003070: SWAP1
00003071: POP
00003072: PUSH2 0x30e3
00003075: JUMP
00003076: JUMPDEST
00003077: PUSH1 0x00
00003079: DUP3
0000307a: DUP5
0000307b: MUL
0000307c: SWAP1
0000307d: POP
0000307e: DUP3
0000307f: DUP5
00003080: DUP3
00003081: DUP2
00003082: PUSH2 0x3087
00003085: JUMPI
00003086: INVALID
00003087: JUMPDEST
00003088: DIV
00003089: EQ
0000308a: PUSH2 0x30de
0000308d: JUMPI
0000308e: PUSH1 0x40
00003090: MLOAD
00003091: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000030b2: DUP2
000030b3: MSTORE
000030b4: PUSH1 0x04
000030b6: ADD
000030b7: DUP1
000030b8: DUP1
000030b9: PUSH1 0x20
000030bb: ADD
000030bc: DUP3
000030bd: DUP2
000030be: SUB
000030bf: DUP3
000030c0: MSTORE
000030c1: PUSH1 0x21
000030c3: DUP2
000030c4: MSTORE
000030c5: PUSH1 0x20
000030c7: ADD
000030c8: DUP1
000030c9: PUSH2 0x461e
000030cc: PUSH1 0x21
000030ce: SWAP2
000030cf: CODECOPY
000030d0: PUSH1 0x40
000030d2: ADD
000030d3: SWAP2
000030d4: POP
000030d5: POP
000030d6: PUSH1 0x40
000030d8: MLOAD
000030d9: DUP1
000030da: SWAP2
000030db: SUB
000030dc: SWAP1
000030dd: REVERT
000030de: JUMPDEST
000030df: DUP1
000030e0: SWAP2
000030e1: POP
000030e2: POP
000030e3: JUMPDEST
000030e4: SWAP3
000030e5: SWAP2
000030e6: POP
000030e7: POP
000030e8: JUMP
000030e9: JUMPDEST
000030ea: PUSH1 0x00
000030ec: DUP1
000030ed: DUP3
000030ee: GT
000030ef: PUSH2 0x3160
000030f2: JUMPI
000030f3: PUSH1 0x40
000030f5: MLOAD
000030f6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003117: DUP2
00003118: MSTORE
00003119: PUSH1 0x04
0000311b: ADD
0000311c: DUP1
0000311d: DUP1
0000311e: PUSH1 0x20
00003120: ADD
00003121: DUP3
00003122: DUP2
00003123: SUB
00003124: DUP3
00003125: MSTORE
00003126: PUSH1 0x1a
00003128: DUP2
00003129: MSTORE
0000312a: PUSH1 0x20
0000312c: ADD
0000312d: DUP1
0000312e: PUSH32 0x536166654d6174683a206469766973696f6e206279207a65726f000000000000
0000314f: DUP2
00003150: MSTORE
00003151: POP
00003152: PUSH1 0x20
00003154: ADD
00003155: SWAP2
00003156: POP
00003157: POP
00003158: PUSH1 0x40
0000315a: MLOAD
0000315b: DUP1
0000315c: SWAP2
0000315d: SUB
0000315e: SWAP1
0000315f: REVERT
00003160: JUMPDEST
00003161: DUP2
00003162: DUP4
00003163: DUP2
00003164: PUSH2 0x3169
00003167: JUMPI
00003168: INVALID
00003169: JUMPDEST
0000316a: DIV
0000316b: SWAP1
0000316c: POP
0000316d: SWAP3
0000316e: SWAP2
0000316f: POP
00003170: POP
00003171: JUMP
00003172: JUMPDEST
00003173: PUSH2 0x317a
00003176: PUSH2 0x2f03
00003179: JUMP
0000317a: JUMPDEST
0000317b: PUSH2 0x3182
0000317e: PUSH2 0x2fc8
00003181: JUMP
00003182: JUMPDEST
00003183: PUSH2 0x3190
00003186: PUSH1 0x07
00003188: SLOAD
00003189: PUSH1 0x08
0000318b: SLOAD
0000318c: PUSH2 0x3791
0000318f: JUMP
00003190: JUMPDEST
00003191: PUSH2 0x319b
00003194: PUSH1 0x09
00003196: SLOAD
00003197: PUSH2 0x3dd5
0000319a: JUMP
0000319b: JUMPDEST
0000319c: PUSH2 0x31a3
0000319f: PUSH2 0x3f61
000031a2: JUMP
000031a3: JUMPDEST
000031a4: PUSH1 0x06
000031a6: SLOAD
000031a7: PUSH1 0x05
000031a9: PUSH1 0x00
000031ab: SWAP1
000031ac: SLOAD
000031ad: SWAP1
000031ae: PUSH2 0x0100
000031b1: EXP
000031b2: SWAP1
000031b3: DIV
000031b4: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000031c9: AND
000031ca: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000031df: AND
000031e0: PUSH4 0x70a08231
000031e5: ADDRESS
000031e6: PUSH1 0x40
000031e8: MLOAD
000031e9: DUP3
000031ea: PUSH4 0xffffffff
000031ef: AND
000031f0: PUSH1 0xe0
000031f2: SHL
000031f3: DUP2
000031f4: MSTORE
000031f5: PUSH1 0x04
000031f7: ADD
000031f8: DUP1
000031f9: DUP3
000031fa: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000320f: AND
00003210: DUP2
00003211: MSTORE
00003212: PUSH1 0x20
00003214: ADD
00003215: SWAP2
00003216: POP
00003217: POP
00003218: PUSH1 0x20
0000321a: PUSH1 0x40
0000321c: MLOAD
0000321d: DUP1
0000321e: DUP4
0000321f: SUB
00003220: DUP2
00003221: DUP7
00003222: DUP1
00003223: EXTCODESIZE
00003224: ISZERO
00003225: DUP1
00003226: ISZERO
00003227: PUSH2 0x322f
0000322a: JUMPI
0000322b: PUSH1 0x00
0000322d: DUP1
0000322e: REVERT
0000322f: JUMPDEST
00003230: POP
00003231: GAS
00003232: STATICCALL
00003233: ISZERO
00003234: DUP1
00003235: ISZERO
00003236: PUSH2 0x3243
00003239: JUMPI
0000323a: RETURNDATASIZE
0000323b: PUSH1 0x00
0000323d: DUP1
0000323e: RETURNDATACOPY
0000323f: RETURNDATASIZE
00003240: PUSH1 0x00
00003242: REVERT
00003243: JUMPDEST
00003244: POP
00003245: POP
00003246: POP
00003247: POP
00003248: PUSH1 0x40
0000324a: MLOAD
0000324b: RETURNDATASIZE
0000324c: PUSH1 0x20
0000324e: DUP2
0000324f: LT
00003250: ISZERO
00003251: PUSH2 0x3259
00003254: JUMPI
00003255: PUSH1 0x00
00003257: DUP1
00003258: REVERT
00003259: JUMPDEST
0000325a: DUP2
0000325b: ADD
0000325c: SWAP1
0000325d: DUP1
0000325e: DUP1
0000325f: MLOAD
00003260: SWAP1
00003261: PUSH1 0x20
00003263: ADD
00003264: SWAP1
00003265: SWAP3
00003266: SWAP2
00003267: SWAP1
00003268: POP
00003269: POP
0000326a: POP
0000326b: LT
0000326c: ISZERO
0000326d: PUSH2 0x32de
00003270: JUMPI
00003271: PUSH1 0x40
00003273: MLOAD
00003274: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003295: DUP2
00003296: MSTORE
00003297: PUSH1 0x04
00003299: ADD
0000329a: DUP1
0000329b: DUP1
0000329c: PUSH1 0x20
0000329e: ADD
0000329f: DUP3
000032a0: DUP2
000032a1: SUB
000032a2: DUP3
000032a3: MSTORE
000032a4: PUSH1 0x1f
000032a6: DUP2
000032a7: MSTORE
000032a8: PUSH1 0x20
000032aa: ADD
000032ab: DUP1
000032ac: PUSH32 0x426173653a204e4f545f454e4f5547485f50524f4a4543545f544f4b454e5300
000032cd: DUP2
000032ce: MSTORE
000032cf: POP
000032d0: PUSH1 0x20
000032d2: ADD
000032d3: SWAP2
000032d4: POP
000032d5: POP
000032d6: PUSH1 0x40
000032d8: MLOAD
000032d9: DUP1
000032da: SWAP2
000032db: SUB
000032dc: SWAP1
000032dd: REVERT
000032de: JUMPDEST
000032df: PUSH2 0x3308
000032e2: PUSH1 0x64
000032e4: PUSH2 0x32fa
000032e7: PUSH1 0x09
000032e9: SLOAD
000032ea: PUSH1 0x06
000032ec: SLOAD
000032ed: PUSH2 0x3063
000032f0: SWAP1
000032f1: SWAP2
000032f2: SWAP1
000032f3: PUSH4 0xffffffff
000032f8: AND
000032f9: JUMP
000032fa: JUMPDEST
000032fb: PUSH2 0x30e9
000032fe: SWAP1
000032ff: SWAP2
00003300: SWAP1
00003301: PUSH4 0xffffffff
00003306: AND
00003307: JUMP
00003308: JUMPDEST
00003309: PUSH1 0x0a
0000330b: DUP2
0000330c: SWAP1
0000330d: SSTORE
0000330e: POP
0000330f: PUSH1 0x08
00003311: SLOAD
00003312: PUSH1 0x15
00003314: DUP2
00003315: SWAP1
00003316: SSTORE
00003317: POP
00003318: PUSH32 0x25a4f2ff0abb0fd4627d671f1bbd9629eaef1acc636b847044100b1e6be42cc6
00003339: PUSH1 0x15
0000333b: SLOAD
0000333c: PUSH1 0x40
0000333e: MLOAD
0000333f: DUP1
00003340: DUP3
00003341: DUP2
00003342: MSTORE
00003343: PUSH1 0x20
00003345: ADD
00003346: SWAP2
00003347: POP
00003348: POP
00003349: PUSH1 0x40
0000334b: MLOAD
0000334c: DUP1
0000334d: SWAP2
0000334e: SUB
0000334f: SWAP1
00003350: LOG1
00003351: PUSH1 0x01
00003353: PUSH1 0x00
00003355: DUP1
00003356: PUSH2 0x0100
00003359: EXP
0000335a: DUP2
0000335b: SLOAD
0000335c: DUP2
0000335d: PUSH1 0xff
0000335f: MUL
00003360: NOT
00003361: AND
00003362: SWAP1
00003363: DUP4
00003364: PUSH1 0x05
00003366: DUP2
00003367: GT
00003368: ISZERO
00003369: PUSH2 0x336e
0000336c: JUMPI
0000336d: INVALID
0000336e: JUMPDEST
0000336f: MUL
00003370: OR
00003371: SWAP1
00003372: SSTORE
00003373: POP
00003374: JUMP
00003375: JUMPDEST
00003376: PUSH1 0x02
00003378: PUSH1 0x00
0000337a: SWAP1
0000337b: SLOAD
0000337c: SWAP1
0000337d: PUSH2 0x0100
00003380: EXP
00003381: SWAP1
00003382: DIV
00003383: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003398: AND
00003399: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033ae: AND
000033af: CALLER
000033b0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000033c5: AND
000033c6: EQ
000033c7: PUSH2 0x3438
000033ca: JUMPI
000033cb: PUSH1 0x40
000033cd: MLOAD
000033ce: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000033ef: DUP2
000033f0: MSTORE
000033f1: PUSH1 0x04
000033f3: ADD
000033f4: DUP1
000033f5: DUP1
000033f6: PUSH1 0x20
000033f8: ADD
000033f9: DUP3
000033fa: DUP2
000033fb: SUB
000033fc: DUP3
000033fd: MSTORE
000033fe: PUSH1 0x10
00003400: DUP2
00003401: MSTORE
00003402: PUSH1 0x20
00003404: ADD
00003405: DUP1
00003406: PUSH32 0x4f4e4c595f52415a45525f41444d494e00000000000000000000000000000000
00003427: DUP2
00003428: MSTORE
00003429: POP
0000342a: PUSH1 0x20
0000342c: ADD
0000342d: SWAP2
0000342e: POP
0000342f: POP
00003430: PUSH1 0x40
00003432: MLOAD
00003433: DUP1
00003434: SWAP2
00003435: SUB
00003436: SWAP1
00003437: REVERT
00003438: JUMPDEST
00003439: JUMP
0000343a: JUMPDEST
0000343b: PUSH1 0x03
0000343d: PUSH1 0x05
0000343f: DUP2
00003440: GT
00003441: ISZERO
00003442: PUSH2 0x3447
00003445: JUMPI
00003446: INVALID
00003447: JUMPDEST
00003448: PUSH1 0x00
0000344a: DUP1
0000344b: SLOAD
0000344c: SWAP1
0000344d: PUSH2 0x0100
00003450: EXP
00003451: SWAP1
00003452: DIV
00003453: PUSH1 0xff
00003455: AND
00003456: PUSH1 0x05
00003458: DUP2
00003459: GT
0000345a: ISZERO
0000345b: PUSH2 0x3460
0000345e: JUMPI
0000345f: INVALID
00003460: JUMPDEST
00003461: EQ
00003462: PUSH2 0x34d3
00003465: JUMPI
00003466: PUSH1 0x40
00003468: MLOAD
00003469: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000348a: DUP2
0000348b: MSTORE
0000348c: PUSH1 0x04
0000348e: ADD
0000348f: DUP1
00003490: DUP1
00003491: PUSH1 0x20
00003493: ADD
00003494: DUP3
00003495: DUP2
00003496: SUB
00003497: DUP3
00003498: MSTORE
00003499: PUSH1 0x13
0000349b: DUP2
0000349c: MSTORE
0000349d: PUSH1 0x20
0000349f: ADD
000034a0: DUP1
000034a1: PUSH32 0x4f4e4c595f445552494e475f5355434345535300000000000000000000000000
000034c2: DUP2
000034c3: MSTORE
000034c4: POP
000034c5: PUSH1 0x20
000034c7: ADD
000034c8: SWAP2
000034c9: POP
000034ca: POP
000034cb: PUSH1 0x40
000034cd: MLOAD
000034ce: DUP1
000034cf: SWAP2
000034d0: SUB
000034d1: SWAP1
000034d2: REVERT
000034d3: JUMPDEST
000034d4: JUMP
000034d5: JUMPDEST
000034d6: PUSH2 0x3572
000034d9: DUP4
000034da: PUSH4 0xa9059cbb
000034df: PUSH1 0xe0
000034e1: SHL
000034e2: DUP5
000034e3: DUP5
000034e4: PUSH1 0x40
000034e6: MLOAD
000034e7: PUSH1 0x24
000034e9: ADD
000034ea: DUP1
000034eb: DUP4
000034ec: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003501: AND
00003502: DUP2
00003503: MSTORE
00003504: PUSH1 0x20
00003506: ADD
00003507: DUP3
00003508: DUP2
00003509: MSTORE
0000350a: PUSH1 0x20
0000350c: ADD
0000350d: SWAP3
0000350e: POP
0000350f: POP
00003510: POP
00003511: PUSH1 0x40
00003513: MLOAD
00003514: PUSH1 0x20
00003516: DUP2
00003517: DUP4
00003518: SUB
00003519: SUB
0000351a: DUP2
0000351b: MSTORE
0000351c: SWAP1
0000351d: PUSH1 0x40
0000351f: MSTORE
00003520: SWAP1
00003521: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
0000353e: NOT
0000353f: AND
00003540: PUSH1 0x20
00003542: DUP3
00003543: ADD
00003544: DUP1
00003545: MLOAD
00003546: PUSH28 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff
00003563: DUP4
00003564: DUP2
00003565: DUP4
00003566: AND
00003567: OR
00003568: DUP4
00003569: MSTORE
0000356a: POP
0000356b: POP
0000356c: POP
0000356d: POP
0000356e: PUSH2 0x41c9
00003571: JUMP
00003572: JUMPDEST
00003573: POP
00003574: POP
00003575: POP
00003576: JUMP
00003577: JUMPDEST
00003578: PUSH1 0x05
0000357a: DUP1
0000357b: DUP2
0000357c: GT
0000357d: ISZERO
0000357e: PUSH2 0x3583
00003581: JUMPI
00003582: INVALID
00003583: JUMPDEST
00003584: PUSH1 0x00
00003586: DUP1
00003587: SLOAD
00003588: SWAP1
00003589: PUSH2 0x0100
0000358c: EXP
0000358d: SWAP1
0000358e: DIV
0000358f: PUSH1 0xff
00003591: AND
00003592: PUSH1 0x05
00003594: DUP2
00003595: GT
00003596: ISZERO
00003597: PUSH2 0x359c
0000359a: JUMPI
0000359b: INVALID
0000359c: JUMPDEST
0000359d: EQ
0000359e: PUSH2 0x360f
000035a1: JUMPI
000035a2: PUSH1 0x40
000035a4: MLOAD
000035a5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000035c6: DUP2
000035c7: MSTORE
000035c8: PUSH1 0x04
000035ca: ADD
000035cb: DUP1
000035cc: DUP1
000035cd: PUSH1 0x20
000035cf: ADD
000035d0: DUP3
000035d1: DUP2
000035d2: SUB
000035d3: DUP3
000035d4: MSTORE
000035d5: PUSH1 0x12
000035d7: DUP2
000035d8: MSTORE
000035d9: PUSH1 0x20
000035db: ADD
000035dc: DUP1
000035dd: PUSH32 0x4f4e4c595f445552494e475f5041555345440000000000000000000000000000
000035fe: DUP2
000035ff: MSTORE
00003600: POP
00003601: PUSH1 0x20
00003603: ADD
00003604: SWAP2
00003605: POP
00003606: POP
00003607: PUSH1 0x40
00003609: MLOAD
0000360a: DUP1
0000360b: SWAP2
0000360c: SUB
0000360d: SWAP1
0000360e: REVERT
0000360f: JUMPDEST
00003610: JUMP
00003611: JUMPDEST
00003612: PUSH1 0x02
00003614: PUSH1 0x05
00003616: DUP2
00003617: GT
00003618: ISZERO
00003619: PUSH2 0x361e
0000361c: JUMPI
0000361d: INVALID
0000361e: JUMPDEST
0000361f: PUSH1 0x00
00003621: DUP1
00003622: SLOAD
00003623: SWAP1
00003624: PUSH2 0x0100
00003627: EXP
00003628: SWAP1
00003629: DIV
0000362a: PUSH1 0xff
0000362c: AND
0000362d: PUSH1 0x05
0000362f: DUP2
00003630: GT
00003631: ISZERO
00003632: PUSH2 0x3637
00003635: JUMPI
00003636: INVALID
00003637: JUMPDEST
00003638: EQ
00003639: PUSH2 0x36aa
0000363c: JUMPI
0000363d: PUSH1 0x40
0000363f: MLOAD
00003640: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003661: DUP2
00003662: MSTORE
00003663: PUSH1 0x04
00003665: ADD
00003666: DUP1
00003667: DUP1
00003668: PUSH1 0x20
0000366a: ADD
0000366b: DUP3
0000366c: DUP2
0000366d: SUB
0000366e: DUP3
0000366f: MSTORE
00003670: PUSH1 0x13
00003672: DUP2
00003673: MSTORE
00003674: PUSH1 0x20
00003676: ADD
00003677: DUP1
00003678: PUSH32 0x4f4e4c595f445552494e475f4f4e474f494e4700000000000000000000000000
00003699: DUP2
0000369a: MSTORE
0000369b: POP
0000369c: PUSH1 0x20
0000369e: ADD
0000369f: SWAP2
000036a0: POP
000036a1: POP
000036a2: PUSH1 0x40
000036a4: MLOAD
000036a5: DUP1
000036a6: SWAP2
000036a7: SUB
000036a8: SWAP1
000036a9: REVERT
000036aa: JUMPDEST
000036ab: JUMP
000036ac: JUMPDEST
000036ad: PUSH1 0x03
000036af: PUSH1 0x00
000036b1: DUP1
000036b2: PUSH2 0x0100
000036b5: EXP
000036b6: DUP2
000036b7: SLOAD
000036b8: DUP2
000036b9: PUSH1 0xff
000036bb: MUL
000036bc: NOT
000036bd: AND
000036be: SWAP1
000036bf: DUP4
000036c0: PUSH1 0x05
000036c2: DUP2
000036c3: GT
000036c4: ISZERO
000036c5: PUSH2 0x36ca
000036c8: JUMPI
000036c9: INVALID
000036ca: JUMPDEST
000036cb: MUL
000036cc: OR
000036cd: SWAP1
000036ce: SSTORE
000036cf: POP
000036d0: JUMP
000036d1: JUMPDEST
000036d2: PUSH1 0x04
000036d4: PUSH1 0x00
000036d6: DUP1
000036d7: PUSH2 0x0100
000036da: EXP
000036db: DUP2
000036dc: SLOAD
000036dd: DUP2
000036de: PUSH1 0xff
000036e0: MUL
000036e1: NOT
000036e2: AND
000036e3: SWAP1
000036e4: DUP4
000036e5: PUSH1 0x05
000036e7: DUP2
000036e8: GT
000036e9: ISZERO
000036ea: PUSH2 0x36ef
000036ed: JUMPI
000036ee: INVALID
000036ef: JUMPDEST
000036f0: MUL
000036f1: OR
000036f2: SWAP1
000036f3: SSTORE
000036f4: POP
000036f5: JUMP
000036f6: JUMPDEST
000036f7: PUSH1 0x04
000036f9: PUSH1 0x05
000036fb: DUP2
000036fc: GT
000036fd: ISZERO
000036fe: PUSH2 0x3703
00003701: JUMPI
00003702: INVALID
00003703: JUMPDEST
00003704: PUSH1 0x00
00003706: DUP1
00003707: SLOAD
00003708: SWAP1
00003709: PUSH2 0x0100
0000370c: EXP
0000370d: SWAP1
0000370e: DIV
0000370f: PUSH1 0xff
00003711: AND
00003712: PUSH1 0x05
00003714: DUP2
00003715: GT
00003716: ISZERO
00003717: PUSH2 0x371c
0000371a: JUMPI
0000371b: INVALID
0000371c: JUMPDEST
0000371d: EQ
0000371e: PUSH2 0x378f
00003721: JUMPI
00003722: PUSH1 0x40
00003724: MLOAD
00003725: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003746: DUP2
00003747: MSTORE
00003748: PUSH1 0x04
0000374a: ADD
0000374b: DUP1
0000374c: DUP1
0000374d: PUSH1 0x20
0000374f: ADD
00003750: DUP3
00003751: DUP2
00003752: SUB
00003753: DUP3
00003754: MSTORE
00003755: PUSH1 0x10
00003757: DUP2
00003758: MSTORE
00003759: PUSH1 0x20
0000375b: ADD
0000375c: DUP1
0000375d: PUSH32 0x4f4e4c595f445552494e475f4641494c00000000000000000000000000000000
0000377e: DUP2
0000377f: MSTORE
00003780: POP
00003781: PUSH1 0x20
00003783: ADD
00003784: SWAP2
00003785: POP
00003786: POP
00003787: PUSH1 0x40
00003789: MLOAD
0000378a: DUP1
0000378b: SWAP2
0000378c: SUB
0000378d: SWAP1
0000378e: REVERT
0000378f: JUMPDEST
00003790: JUMP
00003791: JUMPDEST
00003792: PUSH2 0x0e10
00003795: PUSH2 0x37a7
00003798: DUP4
00003799: DUP4
0000379a: PUSH2 0x2e80
0000379d: SWAP1
0000379e: SWAP2
0000379f: SWAP1
000037a0: PUSH4 0xffffffff
000037a5: AND
000037a6: JUMP
000037a7: JUMPDEST
000037a8: LT
000037a9: ISZERO
000037aa: PUSH2 0x381b
000037ad: JUMPI
000037ae: PUSH1 0x40
000037b0: MLOAD
000037b1: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000037d2: DUP2
000037d3: MSTORE
000037d4: PUSH1 0x04
000037d6: ADD
000037d7: DUP1
000037d8: DUP1
000037d9: PUSH1 0x20
000037db: ADD
000037dc: DUP3
000037dd: DUP2
000037de: SUB
000037df: DUP3
000037e0: MSTORE
000037e1: PUSH1 0x14
000037e3: DUP2
000037e4: MSTORE
000037e5: PUSH1 0x20
000037e7: ADD
000037e8: DUP1
000037e9: PUSH32 0x426173653a204455524154494f4e5f53484f5254000000000000000000000000
0000380a: DUP2
0000380b: MSTORE
0000380c: POP
0000380d: PUSH1 0x20
0000380f: ADD
00003810: SWAP2
00003811: POP
00003812: POP
00003813: PUSH1 0x40
00003815: MLOAD
00003816: DUP1
00003817: SWAP2
00003818: SUB
00003819: SWAP1
0000381a: REVERT
0000381b: JUMPDEST
0000381c: TIMESTAMP
0000381d: DUP3
0000381e: GT
0000381f: PUSH2 0x3890
00003822: JUMPI
00003823: PUSH1 0x40
00003825: MLOAD
00003826: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003847: DUP2
00003848: MSTORE
00003849: PUSH1 0x04
0000384b: ADD
0000384c: DUP1
0000384d: DUP1
0000384e: PUSH1 0x20
00003850: ADD
00003851: DUP3
00003852: DUP2
00003853: SUB
00003854: DUP3
00003855: MSTORE
00003856: PUSH1 0x17
00003858: DUP2
00003859: MSTORE
0000385a: PUSH1 0x20
0000385c: ADD
0000385d: DUP1
0000385e: PUSH32 0x426173653a2053544152545f54494d455f504153534544000000000000000000
0000387f: DUP2
00003880: MSTORE
00003881: POP
00003882: PUSH1 0x20
00003884: ADD
00003885: SWAP2
00003886: POP
00003887: POP
00003888: PUSH1 0x40
0000388a: MLOAD
0000388b: DUP1
0000388c: SWAP2
0000388d: SUB
0000388e: SWAP1
0000388f: REVERT
00003890: JUMPDEST
00003891: POP
00003892: POP
00003893: JUMP
00003894: JUMPDEST
00003895: PUSH1 0x04
00003897: PUSH1 0x00
00003899: SWAP1
0000389a: SLOAD
0000389b: SWAP1
0000389c: PUSH2 0x0100
0000389f: EXP
000038a0: SWAP1
000038a1: DIV
000038a2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000038b7: AND
000038b8: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000038cd: AND
000038ce: CALLER
000038cf: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000038e4: AND
000038e5: EQ
000038e6: PUSH2 0x3957
000038e9: JUMPI
000038ea: PUSH1 0x40
000038ec: MLOAD
000038ed: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000390e: DUP2
0000390f: MSTORE
00003910: PUSH1 0x04
00003912: ADD
00003913: DUP1
00003914: DUP1
00003915: PUSH1 0x20
00003917: ADD
00003918: DUP3
00003919: DUP2
0000391a: SUB
0000391b: DUP3
0000391c: MSTORE
0000391d: PUSH1 0x12
0000391f: DUP2
00003920: MSTORE
00003921: PUSH1 0x20
00003923: ADD
00003924: DUP1
00003925: PUSH32 0x4f4e4c595f41535345545f4d414e414745520000000000000000000000000000
00003946: DUP2
00003947: MSTORE
00003948: POP
00003949: PUSH1 0x20
0000394b: ADD
0000394c: SWAP2
0000394d: POP
0000394e: POP
0000394f: PUSH1 0x40
00003951: MLOAD
00003952: DUP1
00003953: SWAP2
00003954: SUB
00003955: SWAP1
00003956: REVERT
00003957: JUMPDEST
00003958: JUMP
00003959: JUMPDEST
0000395a: PUSH1 0x00
0000395c: DUP1
0000395d: DUP3
0000395e: DUP5
0000395f: ADD
00003960: SWAP1
00003961: POP
00003962: DUP4
00003963: DUP2
00003964: LT
00003965: ISZERO
00003966: PUSH2 0x39d7
00003969: JUMPI
0000396a: PUSH1 0x40
0000396c: MLOAD
0000396d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000398e: DUP2
0000398f: MSTORE
00003990: PUSH1 0x04
00003992: ADD
00003993: DUP1
00003994: DUP1
00003995: PUSH1 0x20
00003997: ADD
00003998: DUP3
00003999: DUP2
0000399a: SUB
0000399b: DUP3
0000399c: MSTORE
0000399d: PUSH1 0x1b
0000399f: DUP2
000039a0: MSTORE
000039a1: PUSH1 0x20
000039a3: ADD
000039a4: DUP1
000039a5: PUSH32 0x536166654d6174683a206164646974696f6e206f766572666c6f770000000000
000039c6: DUP2
000039c7: MSTORE
000039c8: POP
000039c9: PUSH1 0x20
000039cb: ADD
000039cc: SWAP2
000039cd: POP
000039ce: POP
000039cf: PUSH1 0x40
000039d1: MLOAD
000039d2: DUP1
000039d3: SWAP2
000039d4: SUB
000039d5: SWAP1
000039d6: REVERT
000039d7: JUMPDEST
000039d8: DUP1
000039d9: SWAP2
000039da: POP
000039db: POP
000039dc: SWAP3
000039dd: SWAP2
000039de: POP
000039df: POP
000039e0: JUMP
000039e1: JUMPDEST
000039e2: PUSH1 0x00
000039e4: DUP1
000039e5: PUSH1 0x18
000039e7: PUSH1 0x00
000039e9: SWAP1
000039ea: SLOAD
000039eb: SWAP1
000039ec: PUSH2 0x0100
000039ef: EXP
000039f0: SWAP1
000039f1: DIV
000039f2: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003a07: AND
00003a08: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003a1d: AND
00003a1e: PUSH4 0xb45aae52
00003a23: CALLER
00003a24: PUSH1 0x40
00003a26: MLOAD
00003a27: DUP3
00003a28: PUSH4 0xffffffff
00003a2d: AND
00003a2e: PUSH1 0xe0
00003a30: SHL
00003a31: DUP2
00003a32: MSTORE
00003a33: PUSH1 0x04
00003a35: ADD
00003a36: DUP1
00003a37: DUP3
00003a38: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003a4d: AND
00003a4e: DUP2
00003a4f: MSTORE
00003a50: PUSH1 0x20
00003a52: ADD
00003a53: SWAP2
00003a54: POP
00003a55: POP
00003a56: PUSH1 0x20
00003a58: PUSH1 0x40
00003a5a: MLOAD
00003a5b: DUP1
00003a5c: DUP4
00003a5d: SUB
00003a5e: DUP2
00003a5f: DUP7
00003a60: DUP1
00003a61: EXTCODESIZE
00003a62: ISZERO
00003a63: DUP1
00003a64: ISZERO
00003a65: PUSH2 0x3a6d
00003a68: JUMPI
00003a69: PUSH1 0x00
00003a6b: DUP1
00003a6c: REVERT
00003a6d: JUMPDEST
00003a6e: POP
00003a6f: GAS
00003a70: STATICCALL
00003a71: ISZERO
00003a72: DUP1
00003a73: ISZERO
00003a74: PUSH2 0x3a81
00003a77: JUMPI
00003a78: RETURNDATASIZE
00003a79: PUSH1 0x00
00003a7b: DUP1
00003a7c: RETURNDATACOPY
00003a7d: RETURNDATASIZE
00003a7e: PUSH1 0x00
00003a80: REVERT
00003a81: JUMPDEST
00003a82: POP
00003a83: POP
00003a84: POP
00003a85: POP
00003a86: PUSH1 0x40
00003a88: MLOAD
00003a89: RETURNDATASIZE
00003a8a: PUSH1 0x20
00003a8c: DUP2
00003a8d: LT
00003a8e: ISZERO
00003a8f: PUSH2 0x3a97
00003a92: JUMPI
00003a93: PUSH1 0x00
00003a95: DUP1
00003a96: REVERT
00003a97: JUMPDEST
00003a98: DUP2
00003a99: ADD
00003a9a: SWAP1
00003a9b: DUP1
00003a9c: DUP1
00003a9d: MLOAD
00003a9e: SWAP1
00003a9f: PUSH1 0x20
00003aa1: ADD
00003aa2: SWAP1
00003aa3: SWAP3
00003aa4: SWAP2
00003aa5: SWAP1
00003aa6: POP
00003aa7: POP
00003aa8: POP
00003aa9: SWAP1
00003aaa: POP
00003aab: PUSH1 0x00
00003aad: DUP2
00003aae: GT
00003aaf: PUSH2 0x3b20
00003ab2: JUMPI
00003ab3: PUSH1 0x40
00003ab5: MLOAD
00003ab6: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003ad7: DUP2
00003ad8: MSTORE
00003ad9: PUSH1 0x04
00003adb: ADD
00003adc: DUP1
00003add: DUP1
00003ade: PUSH1 0x20
00003ae0: ADD
00003ae1: DUP3
00003ae2: DUP2
00003ae3: SUB
00003ae4: DUP3
00003ae5: MSTORE
00003ae6: PUSH1 0x15
00003ae8: DUP2
00003ae9: MSTORE
00003aea: PUSH1 0x20
00003aec: ADD
00003aed: DUP1
00003aee: PUSH32 0x426173653a204e4f545f57484954454c49535445440000000000000000000000
00003b0f: DUP2
00003b10: MSTORE
00003b11: POP
00003b12: PUSH1 0x20
00003b14: ADD
00003b15: SWAP2
00003b16: POP
00003b17: POP
00003b18: PUSH1 0x40
00003b1a: MLOAD
00003b1b: DUP1
00003b1c: SWAP2
00003b1d: SUB
00003b1e: SWAP1
00003b1f: REVERT
00003b20: JUMPDEST
00003b21: DUP1
00003b22: SWAP2
00003b23: POP
00003b24: POP
00003b25: SWAP1
00003b26: JUMP
00003b27: JUMPDEST
00003b28: PUSH1 0x00
00003b2a: DUP1
00003b2b: PUSH1 0x0f
00003b2d: PUSH1 0x01
00003b2f: DUP5
00003b30: SUB
00003b31: DUP2
00003b32: SLOAD
00003b33: DUP2
00003b34: LT
00003b35: PUSH2 0x3b3a
00003b38: JUMPI
00003b39: INVALID
00003b3a: JUMPDEST
00003b3b: SWAP1
00003b3c: PUSH1 0x00
00003b3e: MSTORE
00003b3f: PUSH1 0x20
00003b41: PUSH1 0x00
00003b43: KECCAK256
00003b44: ADD
00003b45: SLOAD
00003b46: SWAP1
00003b47: POP
00003b48: PUSH1 0x00
00003b4a: PUSH1 0x17
00003b4c: PUSH1 0x00
00003b4e: SWAP1
00003b4f: SLOAD
00003b50: SWAP1
00003b51: PUSH2 0x0100
00003b54: EXP
00003b55: SWAP1
00003b56: DIV
00003b57: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003b6c: AND
00003b6d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003b82: AND
00003b83: PUSH4 0x7a766460
00003b88: CALLER
00003b89: PUSH1 0x40
00003b8b: MLOAD
00003b8c: DUP3
00003b8d: PUSH4 0xffffffff
00003b92: AND
00003b93: PUSH1 0xe0
00003b95: SHL
00003b96: DUP2
00003b97: MSTORE
00003b98: PUSH1 0x04
00003b9a: ADD
00003b9b: DUP1
00003b9c: DUP3
00003b9d: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003bb2: AND
00003bb3: DUP2
00003bb4: MSTORE
00003bb5: PUSH1 0x20
00003bb7: ADD
00003bb8: SWAP2
00003bb9: POP
00003bba: POP
00003bbb: PUSH1 0x20
00003bbd: PUSH1 0x40
00003bbf: MLOAD
00003bc0: DUP1
00003bc1: DUP4
00003bc2: SUB
00003bc3: DUP2
00003bc4: DUP7
00003bc5: DUP1
00003bc6: EXTCODESIZE
00003bc7: ISZERO
00003bc8: DUP1
00003bc9: ISZERO
00003bca: PUSH2 0x3bd2
00003bcd: JUMPI
00003bce: PUSH1 0x00
00003bd0: DUP1
00003bd1: REVERT
00003bd2: JUMPDEST
00003bd3: POP
00003bd4: GAS
00003bd5: STATICCALL
00003bd6: ISZERO
00003bd7: DUP1
00003bd8: ISZERO
00003bd9: PUSH2 0x3be6
00003bdc: JUMPI
00003bdd: RETURNDATASIZE
00003bde: PUSH1 0x00
00003be0: DUP1
00003be1: RETURNDATACOPY
00003be2: RETURNDATASIZE
00003be3: PUSH1 0x00
00003be5: REVERT
00003be6: JUMPDEST
00003be7: POP
00003be8: POP
00003be9: POP
00003bea: POP
00003beb: PUSH1 0x40
00003bed: MLOAD
00003bee: RETURNDATASIZE
00003bef: PUSH1 0x20
00003bf1: DUP2
00003bf2: LT
00003bf3: ISZERO
00003bf4: PUSH2 0x3bfc
00003bf7: JUMPI
00003bf8: PUSH1 0x00
00003bfa: DUP1
00003bfb: REVERT
00003bfc: JUMPDEST
00003bfd: DUP2
00003bfe: ADD
00003bff: SWAP1
00003c00: DUP1
00003c01: DUP1
00003c02: MLOAD
00003c03: SWAP1
00003c04: PUSH1 0x20
00003c06: ADD
00003c07: SWAP1
00003c08: SWAP3
00003c09: SWAP2
00003c0a: SWAP1
00003c0b: POP
00003c0c: POP
00003c0d: POP
00003c0e: SWAP1
00003c0f: POP
00003c10: PUSH1 0x00
00003c12: DUP1
00003c13: PUSH1 0x00
00003c15: SWAP1
00003c16: POP
00003c17: JUMPDEST
00003c18: PUSH1 0x16
00003c1a: DUP1
00003c1b: SLOAD
00003c1c: SWAP1
00003c1d: POP
00003c1e: DUP2
00003c1f: LT
00003c20: ISZERO
00003c21: PUSH2 0x3c6e
00003c24: JUMPI
00003c25: PUSH1 0x16
00003c27: DUP2
00003c28: DUP2
00003c29: SLOAD
00003c2a: DUP2
00003c2b: LT
00003c2c: PUSH2 0x3c31
00003c2f: JUMPI
00003c30: INVALID
00003c31: JUMPDEST
00003c32: SWAP1
00003c33: PUSH1 0x00
00003c35: MSTORE
00003c36: PUSH1 0x20
00003c38: PUSH1 0x00
00003c3a: KECCAK256
00003c3b: ADD
00003c3c: SLOAD
00003c3d: DUP4
00003c3e: LT
00003c3f: PUSH2 0x3c61
00003c42: JUMPI
00003c43: PUSH1 0x0f
00003c45: DUP2
00003c46: DUP2
00003c47: SLOAD
00003c48: DUP2
00003c49: LT
00003c4a: PUSH2 0x3c4f
00003c4d: JUMPI
00003c4e: INVALID
00003c4f: JUMPDEST
00003c50: SWAP1
00003c51: PUSH1 0x00
00003c53: MSTORE
00003c54: PUSH1 0x20
00003c56: PUSH1 0x00
00003c58: KECCAK256
00003c59: ADD
00003c5a: SLOAD
00003c5b: SWAP2
00003c5c: POP
00003c5d: PUSH2 0x3c6e
00003c60: JUMP
00003c61: JUMPDEST
00003c62: DUP1
00003c63: DUP1
00003c64: PUSH1 0x01
00003c66: ADD
00003c67: SWAP2
00003c68: POP
00003c69: POP
00003c6a: PUSH2 0x3c17
00003c6d: JUMP
00003c6e: JUMPDEST
00003c6f: POP
00003c70: PUSH2 0x3c79
00003c73: DUP2
00003c74: DUP5
00003c75: PUSH2 0x3c83
00003c78: JUMP
00003c79: JUMPDEST
00003c7a: SWAP4
00003c7b: POP
00003c7c: POP
00003c7d: POP
00003c7e: POP
00003c7f: SWAP2
00003c80: SWAP1
00003c81: POP
00003c82: JUMP
00003c83: JUMPDEST
00003c84: PUSH1 0x00
00003c86: DUP2
00003c87: DUP4
00003c88: LT
00003c89: PUSH2 0x3c92
00003c8c: JUMPI
00003c8d: DUP2
00003c8e: PUSH2 0x3c94
00003c91: JUMP
00003c92: JUMPDEST
00003c93: DUP3
00003c94: JUMPDEST
00003c95: SWAP1
00003c96: POP
00003c97: SWAP3
00003c98: SWAP2
00003c99: POP
00003c9a: POP
00003c9b: JUMP
00003c9c: JUMPDEST
00003c9d: DUP2
00003c9e: PUSH1 0x19
00003ca0: PUSH1 0x00
00003ca2: DUP6
00003ca3: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003cb8: AND
00003cb9: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003cce: AND
00003ccf: DUP2
00003cd0: MSTORE
00003cd1: PUSH1 0x20
00003cd3: ADD
00003cd4: SWAP1
00003cd5: DUP2
00003cd6: MSTORE
00003cd7: PUSH1 0x20
00003cd9: ADD
00003cda: PUSH1 0x00
00003cdc: KECCAK256
00003cdd: PUSH1 0x00
00003cdf: DUP3
00003ce0: DUP3
00003ce1: SLOAD
00003ce2: ADD
00003ce3: SWAP3
00003ce4: POP
00003ce5: POP
00003ce6: DUP2
00003ce7: SWAP1
00003ce8: SSTORE
00003ce9: POP
00003cea: DUP1
00003ceb: PUSH1 0x1a
00003ced: PUSH1 0x00
00003cef: DUP6
00003cf0: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003d05: AND
00003d06: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003d1b: AND
00003d1c: DUP2
00003d1d: MSTORE
00003d1e: PUSH1 0x20
00003d20: ADD
00003d21: SWAP1
00003d22: DUP2
00003d23: MSTORE
00003d24: PUSH1 0x20
00003d26: ADD
00003d27: PUSH1 0x00
00003d29: KECCAK256
00003d2a: PUSH1 0x00
00003d2c: DUP3
00003d2d: DUP3
00003d2e: SLOAD
00003d2f: ADD
00003d30: SWAP3
00003d31: POP
00003d32: POP
00003d33: DUP2
00003d34: SWAP1
00003d35: SSTORE
00003d36: POP
00003d37: DUP2
00003d38: PUSH1 0x0c
00003d3a: PUSH1 0x00
00003d3c: DUP3
00003d3d: DUP3
00003d3e: SLOAD
00003d3f: ADD
00003d40: SWAP3
00003d41: POP
00003d42: POP
00003d43: DUP2
00003d44: SWAP1
00003d45: SSTORE
00003d46: POP
00003d47: DUP2
00003d48: PUSH1 0x0d
00003d4a: PUSH1 0x00
00003d4c: DUP3
00003d4d: DUP3
00003d4e: SLOAD
00003d4f: SUB
00003d50: SWAP3
00003d51: POP
00003d52: POP
00003d53: DUP2
00003d54: SWAP1
00003d55: SSTORE
00003d56: POP
00003d57: DUP1
00003d58: PUSH1 0x0b
00003d5a: PUSH1 0x00
00003d5c: DUP3
00003d5d: DUP3
00003d5e: SLOAD
00003d5f: ADD
00003d60: SWAP3
00003d61: POP
00003d62: POP
00003d63: DUP2
00003d64: SWAP1
00003d65: SSTORE
00003d66: POP
00003d67: PUSH1 0x00
00003d69: PUSH1 0x0d
00003d6b: SLOAD
00003d6c: EQ
00003d6d: ISZERO
00003d6e: PUSH2 0x3d7a
00003d71: JUMPI
00003d72: PUSH2 0x3d79
00003d75: PUSH2 0x36ac
00003d78: JUMP
00003d79: JUMPDEST
00003d7a: JUMPDEST
00003d7b: DUP3
00003d7c: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
00003d91: AND
00003d92: PUSH32 0x9c10a5d88b8bcebd833bb4e481b4622feeafac135896d3a54eea5fd90960c6e1
00003db3: DUP4
00003db4: DUP4
00003db5: PUSH1 0x40
00003db7: MLOAD
00003db8: DUP1
00003db9: DUP4
00003dba: DUP2
00003dbb: MSTORE
00003dbc: PUSH1 0x20
00003dbe: ADD
00003dbf: DUP3
00003dc0: DUP2
00003dc1: MSTORE
00003dc2: PUSH1 0x20
00003dc4: ADD
00003dc5: SWAP3
00003dc6: POP
00003dc7: POP
00003dc8: POP
00003dc9: PUSH1 0x40
00003dcb: MLOAD
00003dcc: DUP1
00003dcd: SWAP2
00003dce: SUB
00003dcf: SWAP1
00003dd0: LOG2
00003dd1: POP
00003dd2: POP
00003dd3: POP
00003dd4: JUMP
00003dd5: JUMPDEST
00003dd6: PUSH1 0x0a
00003dd8: DUP2
00003dd9: LT
00003dda: ISZERO
00003ddb: PUSH2 0x3e4c
00003dde: JUMPI
00003ddf: PUSH1 0x40
00003de1: MLOAD
00003de2: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003e03: DUP2
00003e04: MSTORE
00003e05: PUSH1 0x04
00003e07: ADD
00003e08: DUP1
00003e09: DUP1
00003e0a: PUSH1 0x20
00003e0c: ADD
00003e0d: DUP3
00003e0e: DUP2
00003e0f: SUB
00003e10: DUP3
00003e11: MSTORE
00003e12: PUSH1 0x1d
00003e14: DUP2
00003e15: MSTORE
00003e16: PUSH1 0x20
00003e18: ADD
00003e19: DUP1
00003e1a: PUSH32 0x426173653a204d494e5f46494c4c5f50455243454e544147455f4c4f57000000
00003e3b: DUP2
00003e3c: MSTORE
00003e3d: POP
00003e3e: PUSH1 0x20
00003e40: ADD
00003e41: SWAP2
00003e42: POP
00003e43: POP
00003e44: PUSH1 0x40
00003e46: MLOAD
00003e47: DUP1
00003e48: SWAP2
00003e49: SUB
00003e4a: SWAP1
00003e4b: REVERT
00003e4c: JUMPDEST
00003e4d: PUSH1 0x64
00003e4f: DUP2
00003e50: GT
00003e51: ISZERO
00003e52: PUSH2 0x3ec3
00003e55: JUMPI
00003e56: PUSH1 0x40
00003e58: MLOAD
00003e59: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003e7a: DUP2
00003e7b: MSTORE
00003e7c: PUSH1 0x04
00003e7e: ADD
00003e7f: DUP1
00003e80: DUP1
00003e81: PUSH1 0x20
00003e83: ADD
00003e84: DUP3
00003e85: DUP2
00003e86: SUB
00003e87: DUP3
00003e88: MSTORE
00003e89: PUSH1 0x1e
00003e8b: DUP2
00003e8c: MSTORE
00003e8d: PUSH1 0x20
00003e8f: ADD
00003e90: DUP1
00003e91: PUSH32 0x426173653a204d494e5f46494c4c5f50455243454e544147455f484947480000
00003eb2: DUP2
00003eb3: MSTORE
00003eb4: POP
00003eb5: PUSH1 0x20
00003eb7: ADD
00003eb8: SWAP2
00003eb9: POP
00003eba: POP
00003ebb: PUSH1 0x40
00003ebd: MLOAD
00003ebe: DUP1
00003ebf: SWAP2
00003ec0: SUB
00003ec1: SWAP1
00003ec2: REVERT
00003ec3: JUMPDEST
00003ec4: POP
00003ec5: JUMP
00003ec6: JUMPDEST
00003ec7: PUSH1 0x01
00003ec9: PUSH1 0x05
00003ecb: DUP2
00003ecc: GT
00003ecd: ISZERO
00003ece: PUSH2 0x3ed3
00003ed1: JUMPI
00003ed2: INVALID
00003ed3: JUMPDEST
00003ed4: PUSH1 0x00
00003ed6: DUP1
00003ed7: SLOAD
00003ed8: SWAP1
00003ed9: PUSH2 0x0100
00003edc: EXP
00003edd: SWAP1
00003ede: DIV
00003edf: PUSH1 0xff
00003ee1: AND
00003ee2: PUSH1 0x05
00003ee4: DUP2
00003ee5: GT
00003ee6: ISZERO
00003ee7: PUSH2 0x3eec
00003eea: JUMPI
00003eeb: INVALID
00003eec: JUMPDEST
00003eed: EQ
00003eee: PUSH2 0x3f5f
00003ef1: JUMPI
00003ef2: PUSH1 0x40
00003ef4: MLOAD
00003ef5: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003f16: DUP2
00003f17: MSTORE
00003f18: PUSH1 0x04
00003f1a: ADD
00003f1b: DUP1
00003f1c: DUP1
00003f1d: PUSH1 0x20
00003f1f: ADD
00003f20: DUP3
00003f21: DUP2
00003f22: SUB
00003f23: DUP3
00003f24: MSTORE
00003f25: PUSH1 0x11
00003f27: DUP2
00003f28: MSTORE
00003f29: PUSH1 0x20
00003f2b: ADD
00003f2c: DUP1
00003f2d: PUSH32 0x4f4e4c595f445552494e475f5245414459000000000000000000000000000000
00003f4e: DUP2
00003f4f: MSTORE
00003f50: POP
00003f51: PUSH1 0x20
00003f53: ADD
00003f54: SWAP2
00003f55: POP
00003f56: POP
00003f57: PUSH1 0x40
00003f59: MLOAD
00003f5a: DUP1
00003f5b: SWAP2
00003f5c: SUB
00003f5d: SWAP1
00003f5e: REVERT
00003f5f: JUMPDEST
00003f60: JUMP
00003f61: JUMPDEST
00003f62: PUSH1 0x0f
00003f64: DUP1
00003f65: SLOAD
00003f66: SWAP1
00003f67: POP
00003f68: PUSH1 0x16
00003f6a: DUP1
00003f6b: SLOAD
00003f6c: SWAP1
00003f6d: POP
00003f6e: EQ
00003f6f: PUSH2 0x3fc3
00003f72: JUMPI
00003f73: PUSH1 0x40
00003f75: MLOAD
00003f76: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00003f97: DUP2
00003f98: MSTORE
00003f99: PUSH1 0x04
00003f9b: ADD
00003f9c: DUP1
00003f9d: DUP1
00003f9e: PUSH1 0x20
00003fa0: ADD
00003fa1: DUP3
00003fa2: DUP2
00003fa3: SUB
00003fa4: DUP3
00003fa5: MSTORE
00003fa6: PUSH1 0x35
00003fa8: DUP2
00003fa9: MSTORE
00003faa: PUSH1 0x20
00003fac: ADD
00003fad: DUP1
00003fae: PUSH2 0x45c3
00003fb1: PUSH1 0x35
00003fb3: SWAP2
00003fb4: CODECOPY
00003fb5: PUSH1 0x40
00003fb7: ADD
00003fb8: SWAP2
00003fb9: POP
00003fba: POP
00003fbb: PUSH1 0x40
00003fbd: MLOAD
00003fbe: DUP1
00003fbf: SWAP2
00003fc0: SUB
00003fc1: SWAP1
00003fc2: REVERT
00003fc3: JUMPDEST
00003fc4: PUSH1 0x00
00003fc6: PUSH1 0x01
00003fc8: SWAP1
00003fc9: POP
00003fca: JUMPDEST
00003fcb: PUSH1 0x16
00003fcd: DUP1
00003fce: SLOAD
00003fcf: SWAP1
00003fd0: POP
00003fd1: DUP2
00003fd2: LT
00003fd3: ISZERO
00003fd4: PUSH2 0x4131
00003fd7: JUMPI
00003fd8: PUSH1 0x16
00003fda: DUP2
00003fdb: DUP2
00003fdc: SLOAD
00003fdd: DUP2
00003fde: LT
00003fdf: PUSH2 0x3fe4
00003fe2: JUMPI
00003fe3: INVALID
00003fe4: JUMPDEST
00003fe5: SWAP1
00003fe6: PUSH1 0x00
00003fe8: MSTORE
00003fe9: PUSH1 0x20
00003feb: PUSH1 0x00
00003fed: KECCAK256
00003fee: ADD
00003fef: SLOAD
00003ff0: PUSH1 0x16
00003ff2: PUSH1 0x01
00003ff4: DUP4
00003ff5: SUB
00003ff6: DUP2
00003ff7: SLOAD
00003ff8: DUP2
00003ff9: LT
00003ffa: PUSH2 0x3fff
00003ffd: JUMPI
00003ffe: INVALID
00003fff: JUMPDEST
00004000: SWAP1
00004001: PUSH1 0x00
00004003: MSTORE
00004004: PUSH1 0x20
00004006: PUSH1 0x00
00004008: KECCAK256
00004009: ADD
0000400a: SLOAD
0000400b: GT
0000400c: PUSH2 0x407d
0000400f: JUMPI
00004010: PUSH1 0x40
00004012: MLOAD
00004013: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004034: DUP2
00004035: MSTORE
00004036: PUSH1 0x04
00004038: ADD
00004039: DUP1
0000403a: DUP1
0000403b: PUSH1 0x20
0000403d: ADD
0000403e: DUP3
0000403f: DUP2
00004040: SUB
00004041: DUP3
00004042: MSTORE
00004043: PUSH1 0x1c
00004045: DUP2
00004046: MSTORE
00004047: PUSH1 0x20
00004049: ADD
0000404a: DUP1
0000404b: PUSH32 0x426173653a205354414b455f54494552535f4e4f545f534f5254454400000000
0000406c: DUP2
0000406d: MSTORE
0000406e: POP
0000406f: PUSH1 0x20
00004071: ADD
00004072: SWAP2
00004073: POP
00004074: POP
00004075: PUSH1 0x40
00004077: MLOAD
00004078: DUP1
00004079: SWAP2
0000407a: SUB
0000407b: SWAP1
0000407c: REVERT
0000407d: JUMPDEST
0000407e: PUSH1 0x0f
00004080: DUP2
00004081: DUP2
00004082: SLOAD
00004083: DUP2
00004084: LT
00004085: PUSH2 0x408a
00004088: JUMPI
00004089: INVALID
0000408a: JUMPDEST
0000408b: SWAP1
0000408c: PUSH1 0x00
0000408e: MSTORE
0000408f: PUSH1 0x20
00004091: PUSH1 0x00
00004093: KECCAK256
00004094: ADD
00004095: SLOAD
00004096: PUSH1 0x0f
00004098: PUSH1 0x01
0000409a: DUP4
0000409b: SUB
0000409c: DUP2
0000409d: SLOAD
0000409e: DUP2
0000409f: LT
000040a0: PUSH2 0x40a5
000040a3: JUMPI
000040a4: INVALID
000040a5: JUMPDEST
000040a6: SWAP1
000040a7: PUSH1 0x00
000040a9: MSTORE
000040aa: PUSH1 0x20
000040ac: PUSH1 0x00
000040ae: KECCAK256
000040af: ADD
000040b0: SLOAD
000040b1: LT
000040b2: ISZERO
000040b3: PUSH2 0x4124
000040b6: JUMPI
000040b7: PUSH1 0x40
000040b9: MLOAD
000040ba: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000040db: DUP2
000040dc: MSTORE
000040dd: PUSH1 0x04
000040df: ADD
000040e0: DUP1
000040e1: DUP1
000040e2: PUSH1 0x20
000040e4: ADD
000040e5: DUP3
000040e6: DUP2
000040e7: SUB
000040e8: DUP3
000040e9: MSTORE
000040ea: PUSH1 0x20
000040ec: DUP2
000040ed: MSTORE
000040ee: PUSH1 0x20
000040f0: ADD
000040f1: DUP1
000040f2: PUSH32 0x426173653a204d41585f414c4c4f434154494f4e535f4e4f545f534f52544544
00004113: DUP2
00004114: MSTORE
00004115: POP
00004116: PUSH1 0x20
00004118: ADD
00004119: SWAP2
0000411a: POP
0000411b: POP
0000411c: PUSH1 0x40
0000411e: MLOAD
0000411f: DUP1
00004120: SWAP2
00004121: SUB
00004122: SWAP1
00004123: REVERT
00004124: JUMPDEST
00004125: DUP1
00004126: DUP1
00004127: PUSH1 0x01
00004129: ADD
0000412a: SWAP2
0000412b: POP
0000412c: POP
0000412d: PUSH2 0x3fca
00004130: JUMP
00004131: JUMPDEST
00004132: POP
00004133: PUSH1 0x00
00004135: PUSH1 0x16
00004137: PUSH1 0x01
00004139: PUSH1 0x16
0000413b: DUP1
0000413c: SLOAD
0000413d: SWAP1
0000413e: POP
0000413f: SUB
00004140: DUP2
00004141: SLOAD
00004142: DUP2
00004143: LT
00004144: PUSH2 0x4149
00004147: JUMPI
00004148: INVALID
00004149: JUMPDEST
0000414a: SWAP1
0000414b: PUSH1 0x00
0000414d: MSTORE
0000414e: PUSH1 0x20
00004150: PUSH1 0x00
00004152: KECCAK256
00004153: ADD
00004154: SLOAD
00004155: EQ
00004156: PUSH2 0x41c7
00004159: JUMPI
0000415a: PUSH1 0x40
0000415c: MLOAD
0000415d: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000417e: DUP2
0000417f: MSTORE
00004180: PUSH1 0x04
00004182: ADD
00004183: DUP1
00004184: DUP1
00004185: PUSH1 0x20
00004187: ADD
00004188: DUP3
00004189: DUP2
0000418a: SUB
0000418b: DUP3
0000418c: MSTORE
0000418d: PUSH1 0x18
0000418f: DUP2
00004190: MSTORE
00004191: PUSH1 0x20
00004193: ADD
00004194: DUP1
00004195: PUSH32 0x426173653a204e4f5f5a45524f5f5354414b455f544945520000000000000000
000041b6: DUP2
000041b7: MSTORE
000041b8: POP
000041b9: PUSH1 0x20
000041bb: ADD
000041bc: SWAP2
000041bd: POP
000041be: POP
000041bf: PUSH1 0x40
000041c1: MLOAD
000041c2: DUP1
000041c3: SWAP2
000041c4: SUB
000041c5: SWAP1
000041c6: REVERT
000041c7: JUMPDEST
000041c8: JUMP
000041c9: JUMPDEST
000041ca: PUSH1 0x60
000041cc: PUSH2 0x422b
000041cf: DUP3
000041d0: PUSH1 0x40
000041d2: MLOAD
000041d3: DUP1
000041d4: PUSH1 0x40
000041d6: ADD
000041d7: PUSH1 0x40
000041d9: MSTORE
000041da: DUP1
000041db: PUSH1 0x20
000041dd: DUP2
000041de: MSTORE
000041df: PUSH1 0x20
000041e1: ADD
000041e2: PUSH32 0x5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564
00004203: DUP2
00004204: MSTORE
00004205: POP
00004206: DUP6
00004207: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
0000421c: AND
0000421d: PUSH2 0x42b8
00004220: SWAP1
00004221: SWAP3
00004222: SWAP2
00004223: SWAP1
00004224: PUSH4 0xffffffff
00004229: AND
0000422a: JUMP
0000422b: JUMPDEST
0000422c: SWAP1
0000422d: POP
0000422e: PUSH1 0x00
00004230: DUP2
00004231: MLOAD
00004232: GT
00004233: ISZERO
00004234: PUSH2 0x42b3
00004237: JUMPI
00004238: DUP1
00004239: DUP1
0000423a: PUSH1 0x20
0000423c: ADD
0000423d: SWAP1
0000423e: MLOAD
0000423f: PUSH1 0x20
00004241: DUP2
00004242: LT
00004243: ISZERO
00004244: PUSH2 0x424c
00004247: JUMPI
00004248: PUSH1 0x00
0000424a: DUP1
0000424b: REVERT
0000424c: JUMPDEST
0000424d: DUP2
0000424e: ADD
0000424f: SWAP1
00004250: DUP1
00004251: DUP1
00004252: MLOAD
00004253: SWAP1
00004254: PUSH1 0x20
00004256: ADD
00004257: SWAP1
00004258: SWAP3
00004259: SWAP2
0000425a: SWAP1
0000425b: POP
0000425c: POP
0000425d: POP
0000425e: PUSH2 0x42b2
00004261: JUMPI
00004262: PUSH1 0x40
00004264: MLOAD
00004265: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
00004286: DUP2
00004287: MSTORE
00004288: PUSH1 0x04
0000428a: ADD
0000428b: DUP1
0000428c: DUP1
0000428d: PUSH1 0x20
0000428f: ADD
00004290: DUP3
00004291: DUP2
00004292: SUB
00004293: DUP3
00004294: MSTORE
00004295: PUSH1 0x2a
00004297: DUP2
00004298: MSTORE
00004299: PUSH1 0x20
0000429b: ADD
0000429c: DUP1
0000429d: PUSH2 0x463f
000042a0: PUSH1 0x2a
000042a2: SWAP2
000042a3: CODECOPY
000042a4: PUSH1 0x40
000042a6: ADD
000042a7: SWAP2
000042a8: POP
000042a9: POP
000042aa: PUSH1 0x40
000042ac: MLOAD
000042ad: DUP1
000042ae: SWAP2
000042af: SUB
000042b0: SWAP1
000042b1: REVERT
000042b2: JUMPDEST
000042b3: JUMPDEST
000042b4: POP
000042b5: POP
000042b6: POP
000042b7: JUMP
000042b8: JUMPDEST
000042b9: PUSH1 0x60
000042bb: PUSH2 0x42c7
000042be: DUP5
000042bf: DUP5
000042c0: PUSH1 0x00
000042c2: DUP6
000042c3: PUSH2 0x42d0
000042c6: JUMP
000042c7: JUMPDEST
000042c8: SWAP1
000042c9: POP
000042ca: SWAP4
000042cb: SWAP3
000042cc: POP
000042cd: POP
000042ce: POP
000042cf: JUMP
000042d0: JUMPDEST
000042d1: PUSH1 0x60
000042d3: DUP3
000042d4: SELFBALANCE
000042d5: LT
000042d6: ISZERO
000042d7: PUSH2 0x432b
000042da: JUMPI
000042db: PUSH1 0x40
000042dd: MLOAD
000042de: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000042ff: DUP2
00004300: MSTORE
00004301: PUSH1 0x04
00004303: ADD
00004304: DUP1
00004305: DUP1
00004306: PUSH1 0x20
00004308: ADD
00004309: DUP3
0000430a: DUP2
0000430b: SUB
0000430c: DUP3
0000430d: MSTORE
0000430e: PUSH1 0x26
00004310: DUP2
00004311: MSTORE
00004312: PUSH1 0x20
00004314: ADD
00004315: DUP1
00004316: PUSH2 0x45f8
00004319: PUSH1 0x26
0000431b: SWAP2
0000431c: CODECOPY
0000431d: PUSH1 0x40
0000431f: ADD
00004320: SWAP2
00004321: POP
00004322: POP
00004323: PUSH1 0x40
00004325: MLOAD
00004326: DUP1
00004327: SWAP2
00004328: SUB
00004329: SWAP1
0000432a: REVERT
0000432b: JUMPDEST
0000432c: PUSH2 0x4334
0000432f: DUP6
00004330: PUSH2 0x4479
00004333: JUMP
00004334: JUMPDEST
00004335: PUSH2 0x43a6
00004338: JUMPI
00004339: PUSH1 0x40
0000433b: MLOAD
0000433c: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
0000435d: DUP2
0000435e: MSTORE
0000435f: PUSH1 0x04
00004361: ADD
00004362: DUP1
00004363: DUP1
00004364: PUSH1 0x20
00004366: ADD
00004367: DUP3
00004368: DUP2
00004369: SUB
0000436a: DUP3
0000436b: MSTORE
0000436c: PUSH1 0x1d
0000436e: DUP2
0000436f: MSTORE
00004370: PUSH1 0x20
00004372: ADD
00004373: DUP1
00004374: PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
00004395: DUP2
00004396: MSTORE
00004397: POP
00004398: PUSH1 0x20
0000439a: ADD
0000439b: SWAP2
0000439c: POP
0000439d: POP
0000439e: PUSH1 0x40
000043a0: MLOAD
000043a1: DUP1
000043a2: SWAP2
000043a3: SUB
000043a4: SWAP1
000043a5: REVERT
000043a6: JUMPDEST
000043a7: PUSH1 0x00
000043a9: PUSH1 0x60
000043ab: DUP7
000043ac: PUSH20 0xffffffffffffffffffffffffffffffffffffffff
000043c1: AND
000043c2: DUP6
000043c3: DUP8
000043c4: PUSH1 0x40
000043c6: MLOAD
000043c7: DUP1
000043c8: DUP3
000043c9: DUP1
000043ca: MLOAD
000043cb: SWAP1
000043cc: PUSH1 0x20
000043ce: ADD
000043cf: SWAP1
000043d0: DUP1
000043d1: DUP4
000043d2: DUP4
000043d3: JUMPDEST
000043d4: PUSH1 0x20
000043d6: DUP4
000043d7: LT
000043d8: PUSH2 0x43f6
000043db: JUMPI
000043dc: DUP1
000043dd: MLOAD
000043de: DUP3
000043df: MSTORE
000043e0: PUSH1 0x20
000043e2: DUP3
000043e3: ADD
000043e4: SWAP2
000043e5: POP
000043e6: PUSH1 0x20
000043e8: DUP2
000043e9: ADD
000043ea: SWAP1
000043eb: POP
000043ec: PUSH1 0x20
000043ee: DUP4
000043ef: SUB
000043f0: SWAP3
000043f1: POP
000043f2: PUSH2 0x43d3
000043f5: JUMP
000043f6: JUMPDEST
000043f7: PUSH1 0x01
000043f9: DUP4
000043fa: PUSH1 0x20
000043fc: SUB
000043fd: PUSH2 0x0100
00004400: EXP
00004401: SUB
00004402: DUP1
00004403: NOT
00004404: DUP3
00004405: MLOAD
00004406: AND
00004407: DUP2
00004408: DUP5
00004409: MLOAD
0000440a: AND
0000440b: DUP1
0000440c: DUP3
0000440d: OR
0000440e: DUP6
0000440f: MSTORE
00004410: POP
00004411: POP
00004412: POP
00004413: POP
00004414: POP
00004415: POP
00004416: SWAP1
00004417: POP
00004418: ADD
00004419: SWAP2
0000441a: POP
0000441b: POP
0000441c: PUSH1 0x00
0000441e: PUSH1 0x40
00004420: MLOAD
00004421: DUP1
00004422: DUP4
00004423: SUB
00004424: DUP2
00004425: DUP6
00004426: DUP8
00004427: GAS
00004428: CALL
00004429: SWAP3
0000442a: POP
0000442b: POP
0000442c: POP
0000442d: RETURNDATASIZE
0000442e: DUP1
0000442f: PUSH1 0x00
00004431: DUP2
00004432: EQ
00004433: PUSH2 0x4458
00004436: JUMPI
00004437: PUSH1 0x40
00004439: MLOAD
0000443a: SWAP2
0000443b: POP
0000443c: PUSH1 0x1f
0000443e: NOT
0000443f: PUSH1 0x3f
00004441: RETURNDATASIZE
00004442: ADD
00004443: AND
00004444: DUP3
00004445: ADD
00004446: PUSH1 0x40
00004448: MSTORE
00004449: RETURNDATASIZE
0000444a: DUP3
0000444b: MSTORE
0000444c: RETURNDATASIZE
0000444d: PUSH1 0x00
0000444f: PUSH1 0x20
00004451: DUP5
00004452: ADD
00004453: RETURNDATACOPY
00004454: PUSH2 0x445d
00004457: JUMP
00004458: JUMPDEST
00004459: PUSH1 0x60
0000445b: SWAP2
0000445c: POP
0000445d: JUMPDEST
0000445e: POP
0000445f: SWAP2
00004460: POP
00004461: SWAP2
00004462: POP
00004463: PUSH2 0x446d
00004466: DUP3
00004467: DUP3
00004468: DUP7
00004469: PUSH2 0x448c
0000446c: JUMP
0000446d: JUMPDEST
0000446e: SWAP3
0000446f: POP
00004470: POP
00004471: POP
00004472: SWAP5
00004473: SWAP4
00004474: POP
00004475: POP
00004476: POP
00004477: POP
00004478: JUMP
00004479: JUMPDEST
0000447a: PUSH1 0x00
0000447c: DUP1
0000447d: DUP3
0000447e: EXTCODESIZE
0000447f: SWAP1
00004480: POP
00004481: PUSH1 0x00
00004483: DUP2
00004484: GT
00004485: SWAP2
00004486: POP
00004487: POP
00004488: SWAP2
00004489: SWAP1
0000448a: POP
0000448b: JUMP
0000448c: JUMPDEST
0000448d: PUSH1 0x60
0000448f: DUP4
00004490: ISZERO
00004491: PUSH2 0x449c
00004494: JUMPI
00004495: DUP3
00004496: SWAP1
00004497: POP
00004498: PUSH2 0x4551
0000449b: JUMP
0000449c: JUMPDEST
0000449d: PUSH1 0x00
0000449f: DUP4
000044a0: MLOAD
000044a1: GT
000044a2: ISZERO
000044a3: PUSH2 0x44af
000044a6: JUMPI
000044a7: DUP3
000044a8: MLOAD
000044a9: DUP1
000044aa: DUP5
000044ab: PUSH1 0x20
000044ad: ADD
000044ae: REVERT
000044af: JUMPDEST
000044b0: DUP2
000044b1: PUSH1 0x40
000044b3: MLOAD
000044b4: PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000
000044d5: DUP2
000044d6: MSTORE
000044d7: PUSH1 0x04
000044d9: ADD
000044da: DUP1
000044db: DUP1
000044dc: PUSH1 0x20
000044de: ADD
000044df: DUP3
000044e0: DUP2
000044e1: SUB
000044e2: DUP3
000044e3: MSTORE
000044e4: DUP4
000044e5: DUP2
000044e6: DUP2
000044e7: MLOAD
000044e8: DUP2
000044e9: MSTORE
000044ea: PUSH1 0x20
000044ec: ADD
000044ed: SWAP2
000044ee: POP
000044ef: DUP1
000044f0: MLOAD
000044f1: SWAP1
000044f2: PUSH1 0x20
000044f4: ADD
000044f5: SWAP1
000044f6: DUP1
000044f7: DUP4
000044f8: DUP4
000044f9: PUSH1 0x00
000044fb: JUMPDEST
000044fc: DUP4
000044fd: DUP2
000044fe: LT
000044ff: ISZERO
00004500: PUSH2 0x4516
00004503: JUMPI
00004504: DUP1
00004505: DUP3
00004506: ADD
00004507: MLOAD
00004508: DUP2
00004509: DUP5
0000450a: ADD
0000450b: MSTORE
0000450c: PUSH1 0x20
0000450e: DUP2
0000450f: ADD
00004510: SWAP1
00004511: POP
00004512: PUSH2 0x44fb
00004515: JUMP
00004516: JUMPDEST
00004517: POP
00004518: POP
00004519: POP
0000451a: POP
0000451b: SWAP1
0000451c: POP
0000451d: SWAP1
0000451e: DUP2
0000451f: ADD
00004520: SWAP1
00004521: PUSH1 0x1f
00004523: AND
00004524: DUP1
00004525: ISZERO
00004526: PUSH2 0x4543
00004529: JUMPI
0000452a: DUP1
0000452b: DUP3
0000452c: SUB
0000452d: DUP1
0000452e: MLOAD
0000452f: PUSH1 0x01
00004531: DUP4
00004532: PUSH1 0x20
00004534: SUB
00004535: PUSH2 0x0100
00004538: EXP
00004539: SUB
0000453a: NOT
0000453b: AND
0000453c: DUP2
0000453d: MSTORE
0000453e: PUSH1 0x20
00004540: ADD
00004541: SWAP2
00004542: POP
00004543: JUMPDEST
00004544: POP
00004545: SWAP3
00004546: POP
00004547: POP
00004548: POP
00004549: PUSH1 0x40
0000454b: MLOAD
0000454c: DUP1
0000454d: SWAP2
0000454e: SUB
0000454f: SWAP1
00004550: REVERT
00004551: JUMPDEST
00004552: SWAP4
00004553: SWAP3
00004554: POP
00004555: POP
00004556: POP
00004557: JUMP
00004558: JUMPDEST
00004559: DUP3
0000455a: DUP1
0000455b: SLOAD
0000455c: DUP3
0000455d: DUP3
0000455e: SSTORE
0000455f: SWAP1
00004560: PUSH1 0x00
00004562: MSTORE
00004563: PUSH1 0x20
00004565: PUSH1 0x00
00004567: KECCAK256
00004568: SWAP1
00004569: DUP2
0000456a: ADD
0000456b: SWAP3
0000456c: DUP3
0000456d: ISZERO
0000456e: PUSH2 0x4594
00004571: JUMPI
00004572: SWAP2
00004573: PUSH1 0x20
00004575: MUL
00004576: DUP3
00004577: ADD
00004578: JUMPDEST
00004579: DUP3
0000457a: DUP2
0000457b: GT
0000457c: ISZERO
0000457d: PUSH2 0x4593
00004580: JUMPI
00004581: DUP3
00004582: MLOAD
00004583: DUP3
00004584: SSTORE
00004585: SWAP2
00004586: PUSH1 0x20
00004588: ADD
00004589: SWAP2
0000458a: SWAP1
0000458b: PUSH1 0x01
0000458d: ADD
0000458e: SWAP1
0000458f: PUSH2 0x4578
00004592: JUMP
00004593: JUMPDEST
00004594: JUMPDEST
00004595: POP
00004596: SWAP1
00004597: POP
00004598: PUSH2 0x45a1
0000459b: SWAP2
0000459c: SWAP1
0000459d: PUSH2 0x45a5
000045a0: JUMP
000045a1: JUMPDEST
000045a2: POP
000045a3: SWAP1
000045a4: JUMP
000045a5: JUMPDEST
000045a6: JUMPDEST
000045a7: DUP1
000045a8: DUP3
000045a9: GT
000045aa: ISZERO
000045ab: PUSH2 0x45be
000045ae: JUMPI
000045af: PUSH1 0x00
000045b1: DUP2
000045b2: PUSH1 0x00
000045b4: SWAP1
000045b5: SSTORE
000045b6: POP
000045b7: PUSH1 0x01
000045b9: ADD
000045ba: PUSH2 0x45a6
000045bd: JUMP
000045be: JUMPDEST
000045bf: POP
000045c0: SWAP1
000045c1: JUMP
000045c2: INVALID
000045c3: TIMESTAMP
000045c4: PUSH2 0x7365
000045c7: GASPRICE
000045c8: KECCAK256
000045c9: MSTORE8
000045ca: SLOAD
000045cb: COINBASE
000045cc: UNKNOWN(0x4B)
000045cd: GASLIMIT
000045ce: PUSH0
000045cf: SLOAD
000045d0: BLOBHASH
000045d1: GASLIMIT
000045d2: MSTORE
000045d3: MSTORE8
000045d4: PUSH0
000045d5: COINBASE
000045d6: UNKNOWN(0x4E)
000045d7: DIFFICULTY
000045d8: PUSH0
000045d9: UNKNOWN(0x4D)
000045da: COINBASE
000045db: PC
000045dc: PUSH0
000045dd: COINBASE
000045de: UNKNOWN(0x4C)
000045df: UNKNOWN(0x4C)
000045e0: UNKNOWN(0x4F)
000045e1: NUMBER
000045e2: COINBASE
000045e3: SLOAD
000045e4: BLOBHASH
000045e5: UNKNOWN(0x4F)
000045e6: UNKNOWN(0x4E)
000045e7: MSTORE8
000045e8: PUSH0
000045e9: UNKNOWN(0x4E)
000045ea: UNKNOWN(0x4F)
000045eb: SLOAD
000045ec: PUSH0
000045ed: MSTORE8
000045ee: COINBASE
000045ef: UNKNOWN(0x4D)
000045f0: GASLIMIT
000045f1: PUSH0
000045f2: UNKNOWN(0x4C)
000045f3: GASLIMIT
000045f4: UNKNOWN(0x4E)
000045f5: SELFBALANCE
000045f6: SLOAD
000045f7: BASEFEE
000045f8: COINBASE
000045f9: PUSH5 0x6472657373
000045ff: GASPRICE
00004600: KECCAK256
00004601: PUSH10 0x6e73756666696369656e
0000460c: PUSH21 0x2062616c616e636520666f722063616c6c53616665
00004622: UNKNOWN(0x4D)
00004623: PUSH2 0x7468
00004626: GASPRICE
00004627: KECCAK256
00004628: PUSH14 0x756c7469706c69636174696f6e20
00004637: PUSH16 0x766572666c6f77536166654552433230
00004648: GASPRICE
00004649: KECCAK256
0000464a: GASLIMIT
0000464b: MSTORE
0000464c: NUMBER
0000464d: ORIGIN
0000464e: ADDRESS
0000464f: KECCAK256
00004650: PUSH16 0x7065726174696f6e20646964206e6f74
00004661: KECCAK256
00004662: PUSH20 0x756363656564a264697066735822122065d8d109
00004677: LOG3
00004678: UNKNOWN(0xDC)
00004679: UNKNOWN(0xA8)
0000467a: UNKNOWN(0x2C)
0000467b: UNKNOWN(0xCC)
0000467c: MSTORE8
0000467d: BALANCE
0000467e: PUSH27 0xff7339a3a66d03853354fb01e9caac89d0fb13f664736f6c634300
0000469a: SMOD
0000469b: STOP
0000469c: STOP
0000469d: CALLER

Findings

validated = confirmed for call sinks; sink observed for others
Severity Category Tool Title Confidence Validated Confirmed Details
high auth detector Authorization based on tx.origin 70 no
view
validation_json
{
    "reason": "missing sink mapping",
    "status": "no_sink"
}
witness_json
{
    "notes": "heuristic witness; entrypoints are best-effort selectors with zeroed calldata",
    "constraints": [],
    "entrypoints": [
        {
            "calldata": "0xf4b94a5d",
            "selector": "0xf4b94a5d",
            "calldata_variants": [
                "0xf4b94a5d",
                "0xf4b94a5d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf56b3166",
            "selector": "0xf56b3166",
            "calldata_variants": [
                "0xf56b3166",
                "0xf56b31660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6c73294",
            "selector": "0xf6c73294",
            "calldata_variants": [
                "0xf6c73294",
                "0xf6c732940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc0c546a",
            "selector": "0xfc0c546a",
            "calldata_variants": [
                "0xfc0c546a",
                "0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfd1c7e0b",
            "selector": "0xfd1c7e0b",
            "calldata_variants": [
                "0xfd1c7e0b",
                "0xfd1c7e0b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe9e0f72f",
            "selector": "0xe9e0f72f",
            "calldata_variants": [
                "0xe9e0f72f",
                "0xe9e0f72f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeae69905",
            "selector": "0xeae69905",
            "calldata_variants": [
                "0xeae69905",
                "0xeae699050000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec15444d",
            "selector": "0xec15444d",
            "calldata_variants": [
                "0xec15444d",
                "0xec15444d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "guards_detected": [
        {
            "pc": 10826,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11122,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 12093,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13231,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 14542,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 17997,
            "type": "tx_origin_used"
        }
    ]
}
medium other detector Untrusted CALL target/value reachable 45 no no
view
trace_id: 0xa44a74e5ec99520da168c4163cfe860056bb3d7ac81c728abc6d31cc1c26ebc5
call_targets: 0xefe16f7bf9b7eabd8fcd4274baaf0a91d30ad087
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xa44a74e5ec99520da168c4163cfe860056bb3d7ac81c728abc6d31cc1c26ebc5",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xefe16f7bf9b7eabd8fcd4274baaf0a91d30ad087"
    ],
    "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": "0xf4b94a5d",
            "selector": "0xf4b94a5d",
            "calldata_variants": [
                "0xf4b94a5d",
                "0xf4b94a5d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf56b3166",
            "selector": "0xf56b3166",
            "calldata_variants": [
                "0xf56b3166",
                "0xf56b31660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6c73294",
            "selector": "0xf6c73294",
            "calldata_variants": [
                "0xf6c73294",
                "0xf6c732940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc0c546a",
            "selector": "0xfc0c546a",
            "calldata_variants": [
                "0xfc0c546a",
                "0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfd1c7e0b",
            "selector": "0xfd1c7e0b",
            "calldata_variants": [
                "0xfd1c7e0b",
                "0xfd1c7e0b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe9e0f72f",
            "selector": "0xe9e0f72f",
            "calldata_variants": [
                "0xe9e0f72f",
                "0xe9e0f72f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeae69905",
            "selector": "0xeae69905",
            "calldata_variants": [
                "0xeae69905",
                "0xeae699050000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec15444d",
            "selector": "0xec15444d",
            "calldata_variants": [
                "0xec15444d",
                "0xec15444d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 6206,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7117,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 9814,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "call_count": 6,
    "guards_detected": [
        {
            "pc": 10826,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11122,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 12093,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13231,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 14542,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 17997,
            "type": "tx_origin_used"
        }
    ],
    "untrusted_call_count": 6
}
medium other detector ETH value transfer possible 40 no no
view
trace_id: 0xa44a74e5ec99520da168c4163cfe860056bb3d7ac81c728abc6d31cc1c26ebc5
call_targets: 0xefe16f7bf9b7eabd8fcd4274baaf0a91d30ad087
target_varies: no
classification: constant_target
validation_json
{
    "sink": "CALL",
    "errors": 0,
    "status": "sink_reached",
    "attempts": 1,
    "trace_id": "0xa44a74e5ec99520da168c4163cfe860056bb3d7ac81c728abc6d31cc1c26ebc5",
    "confirmed": false,
    "trace_mode": "callTracer",
    "call_targets": [
        "0xefe16f7bf9b7eabd8fcd4274baaf0a91d30ad087"
    ],
    "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": "0xf4b94a5d",
            "selector": "0xf4b94a5d",
            "calldata_variants": [
                "0xf4b94a5d",
                "0xf4b94a5d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf56b3166",
            "selector": "0xf56b3166",
            "calldata_variants": [
                "0xf56b3166",
                "0xf56b31660000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xf6c73294",
            "selector": "0xf6c73294",
            "calldata_variants": [
                "0xf6c73294",
                "0xf6c732940000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfc0c546a",
            "selector": "0xfc0c546a",
            "calldata_variants": [
                "0xfc0c546a",
                "0xfc0c546a0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xfd1c7e0b",
            "selector": "0xfd1c7e0b",
            "calldata_variants": [
                "0xfd1c7e0b",
                "0xfd1c7e0b0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xe9e0f72f",
            "selector": "0xe9e0f72f",
            "calldata_variants": [
                "0xe9e0f72f",
                "0xe9e0f72f0000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xeae69905",
            "selector": "0xeae69905",
            "calldata_variants": [
                "0xeae69905",
                "0xeae699050000000000000000000000000000000000000000000000000000000000000000"
            ]
        },
        {
            "calldata": "0xec15444d",
            "selector": "0xec15444d",
            "calldata_variants": [
                "0xec15444d",
                "0xec15444d0000000000000000000000000000000000000000000000000000000000000000"
            ]
        }
    ]
}
evidence_json
{
    "examples": [
        {
            "pc": 6206,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 7117,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        },
        {
            "pc": 9814,
            "opcode": "CALL",
            "returndata_checked": null,
            "value_expression_category": "computed",
            "target_expression_category": "computed"
        }
    ],
    "eth_value_calls": 6,
    "guards_detected": [
        {
            "pc": 10826,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 11122,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 12093,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 13231,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 14542,
            "type": "msg_sender_eq_const",
            "value": "0xffffffffffffffffffffffffffffffffffffffff"
        },
        {
            "pc": 17997,
            "type": "tx_origin_used"
        }
    ]
}
info other cast Heavy EXTCODE*/BALANCE usage 55 no
view
evidence_json
{
    "notes": "frequent external code or balance checks; may indicate introspection or validation logic",
    "ext_balance_count": 11
}
info other cast Heavy CALL-family usage 55 no
view
evidence_json
{
    "notes": "large number of CALL/CALLCODE/STATICCALL opcodes; review external call patterns",
    "call_family_count": 13
}