019ba9bc-ec96-7188-951c-3581e543fed0
Open this run to answer one question: is this real attacker-relevant behavior with real impact, or just normal contract plumbing?
| ID | Type | Status | Attempts | Heartbeat |
|---|---|---|---|---|
| 37825 | artifact.fetch | complete | 1 / 3 | 3 months ago |
| 37826 | proxy.resolve | complete | 1 / 3 | 3 months ago |
| 37827 | tool.cast_disasm | complete | 1 / 3 | 3 months ago |
| 37828 | analysis.bundle | complete | 1 / 3 | 3 months ago |
| 37829 | capability.graph | complete | 1 / 3 | 3 months ago |
| 37830 | detector.run | complete | 1 / 3 | 3 months ago |
| 37831 | validation.fork | complete | 1 / 3 | 3 months ago |
| 37931 | report.consolidate | complete | 1 / 6 | 3 months ago |
{
"status": "not_proxy"
}
No slither job recorded yet.
{"no_findings":false,"summary":"Two issues: external token/ownership transfers are assumed to succeed without validation, which can desync fee accounting or allow ETH-for-token trades to complete without actual token transfers if a non‑reverting or misconfigured external contract/token is used.","findings":[{"severity":"medium","category":"other","title":"Ownership transfer calls assume success; misconfigured or non‑reverting PoolOwners can break trade invariants","exploit_scenario":"If `poolOwners` is an EOA or a contract that returns success without actually transferring ownership (or fails silently), a seller can create a sell order without escrowed ownership and a buyer can fill it, paying ETH while receiving no LP tokens; similarly, in buy orders the seller can receive ETH while `sendOwnershipFrom` does not transfer tokens. Because no success signal is checked, the trade completes in OwnersExchange regardless.","recommendation":"Require a trusted PoolOwners implementation and validate transfer success (e.g., have `sendOwnership`/`sendOwnershipFrom` return a boolean and `require` it, or verify ownership balances before/after). Consider checking `extcodesize` for a contract address on deployment.","evidence":"External calls to `poolOwners.sendOwnership` / `sendOwnershipFrom` are made without any success validation.","locations":["contracts/Contract.sol:338","contracts/Contract.sol:426","contracts/Contract.sol:455","contracts/Contract.sol:490"]},{"severity":"low","category":"other","title":"Unchecked ERC20 `transfer` return values can desync fee accounting","exploit_scenario":"If `feeToken` is a non‑standard ERC20 that returns `false` instead of reverting on failure, `withdrawFeeToken` and fee settlement paths will still decrement `feeBalances`/`totalFees` even though the transfer did not occur. This can under‑collateralize user fee balances and allow `withdrawDistributedToPoolOwners` to sweep tokens that should remain reserved.","recommendation":"Use `require(feeToken.transfer(...))` or a SafeERC20 wrapper to ensure transfers succeed, and revert if they fail.","evidence":"Multiple `feeToken.transfer(...)` calls are executed without checking the return value.","locations":["contracts/Contract.sol:287","contracts/Contract.sol:461","contracts/Contract.sol:496","contracts/Contract.sol:508"]}]}
OpenAI Codex v0.77.0 (research preview)
--------
workdir: /tmp/codex-ff0dbuys
model: gpt-5.2-codex
provider: openai
approval: never
sandbox: read-only
reasoning effort: high
reasoning summaries: auto
session id: 019baa09-4e84-7521-8ecf-0e3e1150ea9c
--------
user
You are a security auditor. Audit this Solidity codebase for exploitable vulnerabilities.
Focus on: reentrancy, access control, upgradeability/proxy issues, signature validation, oracle manipulation,
accounting/invariant breaks, external call patterns, unchecked return values, and dangerous delegatecall.
Scope rules:
- You MUST fully read `AUDIT_BUNDLE.txt` before concluding. It contains the complete contents of all first-party Solidity sources in this workspace.
- Treat `lib/` and `@openzeppelin/` as third-party dependencies; skip them unless there is a concrete misuse angle in first-party code.
- If there are only dependency files and no first-party sources, set no_findings=true and explain in summary.
Output MUST be valid JSON matching the provided schema.
- If you find nothing meaningful: set no_findings=true and findings=[].
- Otherwise: set no_findings=false and include findings with severity/category/title and file/line locations when possible.
Output constraints (IMPORTANT):
- severity MUST be exactly one of: info, low, medium, high, critical (lowercase).
- category MUST be exactly one of: access_control, reentrancy, math, oracle, upgradeability, auth, other.
Keep summary short and concrete.
mcp startup: no servers
thinking
**Preparing to read AUDIT_BUNDLE.txt**
exec
/bin/bash -lc ls in /tmp/codex-ff0dbuys succeeded in 6ms:
AUDIT_BUNDLE.txt
codex-output-schema.json
contracts
exec
/bin/bash -lc 'cat AUDIT_BUNDLE.txt' in /tmp/codex-ff0dbuys succeeded in 6ms:
This file concatenates the full contents of first-party Solidity sources for auditing.
Do not treat dependency code under lib/ or @openzeppelin/ as first-party.
================================================================================
FILE: contracts/Contract.sol
================================================================================
// File: contracts/interface/PoolOwnersInterface.sol
pragma solidity ^0.4.23;
contract PoolOwnersInterface {
bool public distributionActive;
function sendOwnership(address _receiver, uint256 _amount) public;
function sendOwnershipFrom(address _owner, address _receiver, uint256 _amount) public;
function getOwnerTokens(address _owner) public view returns (uint);
function getOwnerPercentage(address _owner) public view returns (uint);
}
thinking
**Analyzing contract for vulnerabilities**
I’m auditing a single contract file with a focus on potential security issues like reentrancy and unchecked external calls. There is a lot to unpack—especially around interactions with feeToken (an ERC677 token), order fee accounting involving totalFees and feeBalances, and external calls to poolOwners that may allow reentrancy. I’m checking how state changes and external calls sequence to see if double-spending, stuck funds, or inconsistent accounting could occur. There are subtle points about unchecked transfer return values, fee locking logic with an unused lockedFees variable, and orderBook indexing that I want to understand thoroughly to identify any exploitable risks or bugs. Let’s explore these areas carefully!
thinking
**Continuing deep vulnerability assessment**
I’m further scrutinizing unchecked token transfer return values that could lead to accounting mismatches and excess token withdrawals to poolOwners. The sequence of external calls and state changes around sending ETH and transferring ownership tokens may allow inconsistent states if failures don’t revert properly. I’m examining reentrancy potential from ERC677 token callbacks, order indexing intricacies, fee accounting with unused lockedFees, and possible denial-of-service risks from transfer gas limits. There’s also concern about cases where poolOwners might be an externally owned account instead of a contract, which could allow orders to register without actual token transfers, causing serious inconsistencies. This audit is quite involved but these detailed checks are essential to understand the contract’s robustness!
thinking
**Preparing detailed audit findings and JSON report**
I’m organizing the identified risks into clear audit findings, focusing on unchecked token transfer return values and unverified external ownership transfers that could lead to accounting inconsistencies or lost assets if nonstandard tokens or misconfigured poolOwners contracts are used. I’m also planning to gather precise line numbers from the code using search commands to cite evidence in the JSON report. This structured approach will make the findings actionable and help clarify severity and locations for the user’s benefit.
exec
/bin/bash -lc 'rg -n "withdrawFeeToken|fillSellOrder|fillBuyOrder|withdrawDistributedToPoolOwners|sendOwnershipFrom|sendOwnership" AUDIT_BUNDLE.txt' in /tmp/codex-ff0dbuys succeeded in 35ms:
15: function sendOwnership(address _receiver, uint256 _amount) public;
16: function sendOwnershipFrom(address _owner, address _receiver, uint256 _amount) public;
285: function withdrawFeeToken(uint256 _value) public {
344: poolOwners.sendOwnershipFrom(msg.sender, this, _amount);
432: poolOwners.sendOwnership(msg.sender, amount);
442: function fillSellOrder(uint _key) public payable {
461: poolOwners.sendOwnership(msg.sender, amount);
478: function fillBuyOrder(uint _key) public {
496: poolOwners.sendOwnershipFrom(msg.sender, addressRegistry[(order << 2) >> 224], amount);
511: function withdrawDistributedToPoolOwners() public {
thinking
**Choosing line numbers source**
exec
/bin/bash -lc 'rg -n "withdrawFeeToken|fillSellOrder|fillBuyOrder|withdrawDistributedToPoolOwners|sendOwnershipFrom|sendOwnership" contracts/Contract.sol' in /tmp/codex-ff0dbuys succeeded in 10ms:
9: function sendOwnership(address _receiver, uint256 _amount) public;
10: function sendOwnershipFrom(address _owner, address _receiver, uint256 _amount) public;
279: function withdrawFeeToken(uint256 _value) public {
338: poolOwners.sendOwnershipFrom(msg.sender, this, _amount);
426: poolOwners.sendOwnership(msg.sender, amount);
436: function fillSellOrder(uint _key) public payable {
455: poolOwners.sendOwnership(msg.sender, amount);
472: function fillBuyOrder(uint _key) public {
490: poolOwners.sendOwnershipFrom(msg.sender, addressRegistry[(order << 2) >> 224], amount);
505: function withdrawDistributedToPoolOwners() public {
thinking
**Locating transfer function lines**
exec
/bin/bash -lc "rg -n \"feeToken\\.transfer\" contracts/Contract.sol" in /tmp/codex-ff0dbuys succeeded in 6ms:
287: feeToken.transfer(msg.sender, _value);
461: feeToken.transfer(poolOwners, totalFee);
496: feeToken.transfer(poolOwners, totalFee);
508: feeToken.transfer(poolOwners, balance);
thinking
**Formulating findings on external call risks**
codex
{"no_findings":false,"summary":"Two issues: external token/ownership transfers are assumed to succeed without validation, which can desync fee accounting or allow ETH-for-token trades to complete without actual token transfers if a non‑reverting or misconfigured external contract/token is used.","findings":[{"severity":"medium","category":"other","title":"Ownership transfer calls assume success; misconfigured or non‑reverting PoolOwners can break trade invariants","exploit_scenario":"If `poolOwners` is an EOA or a contract that returns success without actually transferring ownership (or fails silently), a seller can create a sell order without escrowed ownership and a buyer can fill it, paying ETH while receiving no LP tokens; similarly, in buy orders the seller can receive ETH while `sendOwnershipFrom` does not transfer tokens. Because no success signal is checked, the trade completes in OwnersExchange regardless.","recommendation":"Require a trusted PoolOwners implementation and validate transfer success (e.g., have `sendOwnership`/`sendOwnershipFrom` return a boolean and `require` it, or verify ownership balances before/after). Consider checking `extcodesize` for a contract address on deployment.","evidence":"External calls to `poolOwners.sendOwnership` / `sendOwnershipFrom` are made without any success validation.","locations":["contracts/Contract.sol:338","contracts/Contract.sol:426","contracts/Contract.sol:455","contracts/Contract.sol:490"]},{"severity":"low","category":"other","title":"Unchecked ERC20 `transfer` return values can desync fee accounting","exploit_scenario":"If `feeToken` is a non‑standard ERC20 that returns `false` instead of reverting on failure, `withdrawFeeToken` and fee settlement paths will still decrement `feeBalances`/`totalFees` even though the transfer did not occur. This can under‑collateralize user fee balances and allow `withdrawDistributedToPoolOwners` to sweep tokens that should remain reserved.","recommendation":"Use `require(feeToken.transfer(...))` or a SafeERC20 wrapper to ensure transfers succeed, and revert if they fail.","evidence":"Multiple `feeToken.transfer(...)` calls are executed without checking the return value.","locations":["contracts/Contract.sol:287","contracts/Contract.sol:461","contracts/Contract.sol:496","contracts/Contract.sol:508"]}]}
tokens used
27,882
{
"codex": {
"ran_at": "2026-01-10T22:35:07.389514+00:00",
"returncode": 0
},
"project": {
"mode": "source",
"file_count": 1,
"import_count": 0,
"first_party_contracts_count": 1
},
"summary": "Two issues: external token/ownership transfers are assumed to succeed without validation, which can desync fee accounting or allow ETH-for-token trades to complete without actual token transfers if a non\u2011reverting or misconfigured external contract/token is used.",
"raw_final": {
"summary": "Two issues: external token/ownership transfers are assumed to succeed without validation, which can desync fee accounting or allow ETH-for-token trades to complete without actual token transfers if a non\u2011reverting or misconfigured external contract/token is used.",
"findings": [
{
"title": "Ownership transfer calls assume success; misconfigured or non\u2011reverting PoolOwners can break trade invariants",
"category": "other",
"evidence": "External calls to `poolOwners.sendOwnership` / `sendOwnershipFrom` are made without any success validation.",
"severity": "medium",
"locations": [
"contracts/Contract.sol:338",
"contracts/Contract.sol:426",
"contracts/Contract.sol:455",
"contracts/Contract.sol:490"
],
"recommendation": "Require a trusted PoolOwners implementation and validate transfer success (e.g., have `sendOwnership`/`sendOwnershipFrom` return a boolean and `require` it, or verify ownership balances before/after). Consider checking `extcodesize` for a contract address on deployment.",
"exploit_scenario": "If `poolOwners` is an EOA or a contract that returns success without actually transferring ownership (or fails silently), a seller can create a sell order without escrowed ownership and a buyer can fill it, paying ETH while receiving no LP tokens; similarly, in buy orders the seller can receive ETH while `sendOwnershipFrom` does not transfer tokens. Because no success signal is checked, the trade completes in OwnersExchange regardless."
},
{
"title": "Unchecked ERC20 `transfer` return values can desync fee accounting",
"category": "other",
"evidence": "Multiple `feeToken.transfer(...)` calls are executed without checking the return value.",
"severity": "low",
"locations": [
"contracts/Contract.sol:287",
"contracts/Contract.sol:461",
"contracts/Contract.sol:496",
"contracts/Contract.sol:508"
],
"recommendation": "Use `require(feeToken.transfer(...))` or a SafeERC20 wrapper to ensure transfers succeed, and revert if they fail.",
"exploit_scenario": "If `feeToken` is a non\u2011standard ERC20 that returns `false` instead of reverting on failure, `withdrawFeeToken` and fee settlement paths will still decrement `feeBalances`/`totalFees` even though the transfer did not occur. This can under\u2011collateralize user fee balances and allow `withdrawDistributedToPoolOwners` to sweep tokens that should remain reserved."
}
],
"no_findings": false
},
"no_findings": false,
"schema_version": 1
}
00000000: PUSH1 0x80 00000002: PUSH1 0x40 00000004: MSTORE 00000005: PUSH1 0x04 00000007: CALLDATASIZE 00000008: LT 00000009: PUSH2 0x0150 0000000c: JUMPI 0000000d: PUSH4 0xffffffff 00000012: PUSH1 0xe0 00000014: PUSH1 0x02 00000016: EXP 00000017: PUSH1 0x00 00000019: CALLDATALOAD 0000001a: DIV 0000001b: AND 0000001c: PUSH4 0x0559c114 00000021: DUP2 00000022: EQ 00000023: PUSH2 0x0155 00000026: JUMPI 00000027: DUP1 00000028: PUSH4 0x05e0141d 0000002d: EQ 0000002e: PUSH2 0x016f 00000031: JUMPI 00000032: DUP1 00000033: PUSH4 0x13114a9d 00000038: EQ 00000039: PUSH2 0x0270 0000003c: JUMPI 0000003d: DUP1 0000003e: PUSH4 0x169c4733 00000043: EQ 00000044: PUSH2 0x0297 00000047: JUMPI 00000048: DUP1 00000049: PUSH4 0x1a3352c1 0000004e: EQ 0000004f: PUSH2 0x02b2 00000052: JUMPI 00000053: DUP1 00000054: PUSH4 0x1c76e2b2 00000059: EQ 0000005a: PUSH2 0x02c7 0000005d: JUMPI 0000005e: DUP1 0000005f: PUSH4 0x2453ffa8 00000064: EQ 00000065: PUSH2 0x02df 00000068: JUMPI 00000069: DUP1 0000006a: PUSH4 0x3acde419 0000006f: EQ 00000070: PUSH2 0x02f4 00000073: JUMPI 00000074: DUP1 00000075: PUSH4 0x3d48f3af 0000007a: EQ 0000007b: PUSH2 0x030f 0000007e: JUMPI 0000007f: DUP1 00000080: PUSH4 0x410ac68c 00000085: EQ 00000086: PUSH2 0x032a 00000089: JUMPI 0000008a: DUP1 0000008b: PUSH4 0x416c334d 00000090: EQ 00000091: PUSH2 0x033f 00000094: JUMPI 00000095: DUP1 00000096: PUSH4 0x647846a5 0000009b: EQ 0000009c: PUSH2 0x0354 0000009f: JUMPI 000000a0: DUP1 000000a1: PUSH4 0x69fe0e2d 000000a6: EQ 000000a7: PUSH2 0x0385 000000aa: JUMPI 000000ab: DUP1 000000ac: PUSH4 0x8cbcca07 000000b1: EQ 000000b2: PUSH2 0x039d 000000b5: JUMPI 000000b6: DUP1 000000b7: PUSH4 0x8da5cb5b 000000bc: EQ 000000bd: PUSH2 0x03b5 000000c0: JUMPI 000000c1: DUP1 000000c2: PUSH4 0x9049681c 000000c7: EQ 000000c8: PUSH2 0x03ca 000000cb: JUMPI 000000cc: DUP1 000000cd: PUSH4 0x935c1fb1 000000d2: EQ 000000d3: PUSH2 0x03d8 000000d6: JUMPI 000000d7: DUP1 000000d8: PUSH4 0xa4c0ed36 000000dd: EQ 000000de: PUSH2 0x03f9 000000e1: JUMPI 000000e2: DUP1 000000e3: PUSH4 0xaa072d0c 000000e8: EQ 000000e9: PUSH2 0x0462 000000ec: JUMPI 000000ed: DUP1 000000ee: PUSH4 0xc375fcfa 000000f3: EQ 000000f4: PUSH2 0x047a 000000f7: JUMPI 000000f8: DUP1 000000f9: PUSH4 0xc3aea22e 000000fe: EQ 000000ff: PUSH2 0x048f 00000102: JUMPI 00000103: DUP1 00000104: PUSH4 0xd05bb517 00000109: EQ 0000010a: PUSH2 0x049a 0000010d: JUMPI 0000010e: DUP1 0000010f: PUSH4 0xd09ef241 00000114: EQ 00000115: PUSH2 0x04b2 00000118: JUMPI 00000119: DUP1 0000011a: PUSH4 0xddca3f43 0000011f: EQ 00000120: PUSH2 0x050a 00000123: JUMPI 00000124: DUP1 00000125: PUSH4 0xdef8ecf4 0000012a: EQ 0000012b: PUSH2 0x051f 0000012e: JUMPI 0000012f: DUP1 00000130: PUSH4 0xe96716ee 00000135: EQ 00000136: PUSH2 0x0537 00000139: JUMPI 0000013a: DUP1 0000013b: PUSH4 0xf2fde38b 00000140: EQ 00000141: PUSH2 0x054f 00000144: JUMPI 00000145: DUP1 00000146: PUSH4 0xf8b42f78 0000014b: EQ 0000014c: PUSH2 0x0570 0000014f: JUMPI 00000150: JUMPDEST 00000151: PUSH1 0x00 00000153: DUP1 00000154: REVERT 00000155: JUMPDEST 00000156: CALLVALUE 00000157: DUP1 00000158: ISZERO 00000159: PUSH2 0x0161 0000015c: JUMPI 0000015d: PUSH1 0x00 0000015f: DUP1 00000160: REVERT 00000161: JUMPDEST 00000162: POP 00000163: PUSH2 0x016d 00000166: PUSH1 0x04 00000168: CALLDATALOAD 00000169: PUSH2 0x05c1 0000016c: JUMP 0000016d: JUMPDEST 0000016e: STOP 0000016f: JUMPDEST 00000170: CALLVALUE 00000171: DUP1 00000172: ISZERO 00000173: PUSH2 0x017b 00000176: JUMPI 00000177: PUSH1 0x00 00000179: DUP1 0000017a: REVERT 0000017b: JUMPDEST 0000017c: POP 0000017d: PUSH2 0x0187 00000180: PUSH1 0x04 00000182: CALLDATALOAD 00000183: PUSH2 0x0878 00000186: JUMP 00000187: JUMPDEST 00000188: PUSH1 0x40 0000018a: MLOAD 0000018b: DUP1 0000018c: DUP7 0000018d: PUSH2 0x0140 00000190: DUP1 00000191: DUP4 00000192: DUP4 00000193: PUSH1 0x00 00000195: JUMPDEST 00000196: DUP4 00000197: DUP2 00000198: LT 00000199: ISZERO 0000019a: PUSH2 0x01ad 0000019d: JUMPI 0000019e: DUP2 0000019f: DUP2 000001a0: ADD 000001a1: MLOAD 000001a2: DUP4 000001a3: DUP3 000001a4: ADD 000001a5: MSTORE 000001a6: PUSH1 0x20 000001a8: ADD 000001a9: PUSH2 0x0195 000001ac: JUMP 000001ad: JUMPDEST 000001ae: POP 000001af: POP 000001b0: POP 000001b1: POP 000001b2: SWAP1 000001b3: POP 000001b4: ADD 000001b5: DUP6 000001b6: PUSH1 0x0a 000001b8: PUSH1 0x20 000001ba: MUL 000001bb: DUP1 000001bc: DUP4 000001bd: DUP4 000001be: PUSH1 0x00 000001c0: JUMPDEST 000001c1: DUP4 000001c2: DUP2 000001c3: LT 000001c4: ISZERO 000001c5: PUSH2 0x01d8 000001c8: JUMPI 000001c9: DUP2 000001ca: DUP2 000001cb: ADD 000001cc: MLOAD 000001cd: DUP4 000001ce: DUP3 000001cf: ADD 000001d0: MSTORE 000001d1: PUSH1 0x20 000001d3: ADD 000001d4: PUSH2 0x01c0 000001d7: JUMP 000001d8: JUMPDEST 000001d9: POP 000001da: POP 000001db: POP 000001dc: POP 000001dd: SWAP1 000001de: POP 000001df: ADD 000001e0: DUP5 000001e1: PUSH1 0x0a 000001e3: PUSH1 0x20 000001e5: MUL 000001e6: DUP1 000001e7: DUP4 000001e8: DUP4 000001e9: PUSH1 0x00 000001eb: JUMPDEST 000001ec: DUP4 000001ed: DUP2 000001ee: LT 000001ef: ISZERO 000001f0: PUSH2 0x0203 000001f3: JUMPI 000001f4: DUP2 000001f5: DUP2 000001f6: ADD 000001f7: MLOAD 000001f8: DUP4 000001f9: DUP3 000001fa: ADD 000001fb: MSTORE 000001fc: PUSH1 0x20 000001fe: ADD 000001ff: PUSH2 0x01eb 00000202: JUMP 00000203: JUMPDEST 00000204: POP 00000205: POP 00000206: POP 00000207: POP 00000208: SWAP1 00000209: POP 0000020a: ADD 0000020b: DUP4 0000020c: PUSH1 0x0a 0000020e: PUSH1 0x20 00000210: MUL 00000211: DUP1 00000212: DUP4 00000213: DUP4 00000214: PUSH1 0x00 00000216: JUMPDEST 00000217: DUP4 00000218: DUP2 00000219: LT 0000021a: ISZERO 0000021b: PUSH2 0x022e 0000021e: JUMPI 0000021f: DUP2 00000220: DUP2 00000221: ADD 00000222: MLOAD 00000223: DUP4 00000224: DUP3 00000225: ADD 00000226: MSTORE 00000227: PUSH1 0x20 00000229: ADD 0000022a: PUSH2 0x0216 0000022d: JUMP 0000022e: JUMPDEST 0000022f: POP 00000230: POP 00000231: POP 00000232: POP 00000233: SWAP1 00000234: POP 00000235: ADD 00000236: DUP3 00000237: PUSH1 0x0a 00000239: PUSH1 0x20 0000023b: MUL 0000023c: DUP1 0000023d: DUP4 0000023e: DUP4 0000023f: PUSH1 0x00 00000241: JUMPDEST 00000242: DUP4 00000243: DUP2 00000244: LT 00000245: ISZERO 00000246: PUSH2 0x0259 00000249: JUMPI 0000024a: DUP2 0000024b: DUP2 0000024c: ADD 0000024d: MLOAD 0000024e: DUP4 0000024f: DUP3 00000250: ADD 00000251: MSTORE 00000252: PUSH1 0x20 00000254: ADD 00000255: PUSH2 0x0241 00000258: JUMP 00000259: JUMPDEST 0000025a: POP 0000025b: POP 0000025c: POP 0000025d: POP 0000025e: SWAP1 0000025f: POP 00000260: ADD 00000261: SWAP6 00000262: POP 00000263: POP 00000264: POP 00000265: POP 00000266: POP 00000267: POP 00000268: PUSH1 0x40 0000026a: MLOAD 0000026b: DUP1 0000026c: SWAP2 0000026d: SUB 0000026e: SWAP1 0000026f: RETURN 00000270: JUMPDEST 00000271: CALLVALUE 00000272: DUP1 00000273: ISZERO 00000274: PUSH2 0x027c 00000277: JUMPI 00000278: PUSH1 0x00 0000027a: DUP1 0000027b: REVERT 0000027c: JUMPDEST 0000027d: POP 0000027e: PUSH2 0x0285 00000281: PUSH2 0x09db 00000284: JUMP 00000285: JUMPDEST 00000286: PUSH1 0x40 00000288: DUP1 00000289: MLOAD 0000028a: SWAP2 0000028b: DUP3 0000028c: MSTORE 0000028d: MLOAD 0000028e: SWAP1 0000028f: DUP2 00000290: SWAP1 00000291: SUB 00000292: PUSH1 0x20 00000294: ADD 00000295: SWAP1 00000296: RETURN 00000297: JUMPDEST 00000298: CALLVALUE 00000299: DUP1 0000029a: ISZERO 0000029b: PUSH2 0x02a3 0000029e: JUMPI 0000029f: PUSH1 0x00 000002a1: DUP1 000002a2: REVERT 000002a3: JUMPDEST 000002a4: POP 000002a5: PUSH2 0x0285 000002a8: PUSH1 0x04 000002aa: CALLDATALOAD 000002ab: PUSH1 0x24 000002ad: CALLDATALOAD 000002ae: PUSH2 0x09e1 000002b1: JUMP 000002b2: JUMPDEST 000002b3: CALLVALUE 000002b4: DUP1 000002b5: ISZERO 000002b6: PUSH2 0x02be 000002b9: JUMPI 000002ba: PUSH1 0x00 000002bc: DUP1 000002bd: REVERT 000002be: JUMPDEST 000002bf: POP 000002c0: PUSH2 0x0285 000002c3: PUSH2 0x0a33 000002c6: JUMP 000002c7: JUMPDEST 000002c8: CALLVALUE 000002c9: DUP1 000002ca: ISZERO 000002cb: PUSH2 0x02d3 000002ce: JUMPI 000002cf: PUSH1 0x00 000002d1: DUP1 000002d2: REVERT 000002d3: JUMPDEST 000002d4: POP 000002d5: PUSH2 0x0285 000002d8: PUSH1 0x04 000002da: CALLDATALOAD 000002db: PUSH2 0x0a45 000002de: JUMP 000002df: JUMPDEST 000002e0: CALLVALUE 000002e1: DUP1 000002e2: ISZERO 000002e3: PUSH2 0x02eb 000002e6: JUMPI 000002e7: PUSH1 0x00 000002e9: DUP1 000002ea: REVERT 000002eb: JUMPDEST 000002ec: POP 000002ed: PUSH2 0x0285 000002f0: PUSH2 0x0a79 000002f3: JUMP 000002f4: JUMPDEST 000002f5: CALLVALUE 000002f6: DUP1 000002f7: ISZERO 000002f8: PUSH2 0x0300 000002fb: JUMPI 000002fc: PUSH1 0x00 000002fe: DUP1 000002ff: REVERT 00000300: JUMPDEST 00000301: POP 00000302: PUSH2 0x016d 00000305: PUSH1 0x04 00000307: CALLDATALOAD 00000308: PUSH1 0x24 0000030a: CALLDATALOAD 0000030b: PUSH2 0x0a7f 0000030e: JUMP 0000030f: JUMPDEST 00000310: CALLVALUE 00000311: DUP1 00000312: ISZERO 00000313: PUSH2 0x031b 00000316: JUMPI 00000317: PUSH1 0x00 00000319: DUP1 0000031a: REVERT 0000031b: JUMPDEST 0000031c: POP 0000031d: PUSH2 0x0285 00000320: PUSH1 0x04 00000322: CALLDATALOAD 00000323: PUSH1 0x24 00000325: CALLDATALOAD 00000326: PUSH2 0x0df1 00000329: JUMP 0000032a: JUMPDEST 0000032b: CALLVALUE 0000032c: DUP1 0000032d: ISZERO 0000032e: PUSH2 0x0336 00000331: JUMPI 00000332: PUSH1 0x00 00000334: DUP1 00000335: REVERT 00000336: JUMPDEST 00000337: POP 00000338: PUSH2 0x0285 0000033b: PUSH2 0x0e0f 0000033e: JUMP 0000033f: JUMPDEST 00000340: CALLVALUE 00000341: DUP1 00000342: ISZERO 00000343: PUSH2 0x034b 00000346: JUMPI 00000347: PUSH1 0x00 00000349: DUP1 0000034a: REVERT 0000034b: JUMPDEST 0000034c: POP 0000034d: PUSH2 0x016d 00000350: PUSH2 0x0e15 00000353: JUMP 00000354: JUMPDEST 00000355: CALLVALUE 00000356: DUP1 00000357: ISZERO 00000358: PUSH2 0x0360 0000035b: JUMPI 0000035c: PUSH1 0x00 0000035e: DUP1 0000035f: REVERT 00000360: JUMPDEST 00000361: POP 00000362: PUSH2 0x0369 00000365: PUSH2 0x0fde 00000368: JUMP 00000369: JUMPDEST 0000036a: PUSH1 0x40 0000036c: DUP1 0000036d: MLOAD 0000036e: PUSH1 0x01 00000370: PUSH1 0xa0 00000372: PUSH1 0x02 00000374: EXP 00000375: SUB 00000376: SWAP1 00000377: SWAP3 00000378: AND 00000379: DUP3 0000037a: MSTORE 0000037b: MLOAD 0000037c: SWAP1 0000037d: DUP2 0000037e: SWAP1 0000037f: SUB 00000380: PUSH1 0x20 00000382: ADD 00000383: SWAP1 00000384: RETURN 00000385: JUMPDEST 00000386: CALLVALUE 00000387: DUP1 00000388: ISZERO 00000389: PUSH2 0x0391 0000038c: JUMPI 0000038d: PUSH1 0x00 0000038f: DUP1 00000390: REVERT 00000391: JUMPDEST 00000392: POP 00000393: PUSH2 0x016d 00000396: PUSH1 0x04 00000398: CALLDATALOAD 00000399: PUSH2 0x0fed 0000039c: JUMP 0000039d: JUMPDEST 0000039e: CALLVALUE 0000039f: DUP1 000003a0: ISZERO 000003a1: PUSH2 0x03a9 000003a4: JUMPI 000003a5: PUSH1 0x00 000003a7: DUP1 000003a8: REVERT 000003a9: JUMPDEST 000003aa: POP 000003ab: PUSH2 0x016d 000003ae: PUSH1 0x04 000003b0: CALLDATALOAD 000003b1: PUSH2 0x10b4 000003b4: JUMP 000003b5: JUMPDEST 000003b6: CALLVALUE 000003b7: DUP1 000003b8: ISZERO 000003b9: PUSH2 0x03c1 000003bc: JUMPI 000003bd: PUSH1 0x00 000003bf: DUP1 000003c0: REVERT 000003c1: JUMPDEST 000003c2: POP 000003c3: PUSH2 0x0369 000003c6: PUSH2 0x1517 000003c9: JUMP 000003ca: JUMPDEST 000003cb: PUSH2 0x016d 000003ce: PUSH1 0x04 000003d0: CALLDATALOAD 000003d1: PUSH1 0x24 000003d3: CALLDATALOAD 000003d4: PUSH2 0x1526 000003d7: JUMP 000003d8: JUMPDEST 000003d9: CALLVALUE 000003da: DUP1 000003db: ISZERO 000003dc: PUSH2 0x03e4 000003df: JUMPI 000003e0: PUSH1 0x00 000003e2: DUP1 000003e3: REVERT 000003e4: JUMPDEST 000003e5: POP 000003e6: PUSH2 0x0285 000003e9: PUSH1 0x01 000003eb: PUSH1 0xa0 000003ed: PUSH1 0x02 000003ef: EXP 000003f0: SUB 000003f1: PUSH1 0x04 000003f3: CALLDATALOAD 000003f4: AND 000003f5: PUSH2 0x190c 000003f8: JUMP 000003f9: JUMPDEST 000003fa: CALLVALUE 000003fb: DUP1 000003fc: ISZERO 000003fd: PUSH2 0x0405 00000400: JUMPI 00000401: PUSH1 0x00 00000403: DUP1 00000404: REVERT 00000405: JUMPDEST 00000406: POP 00000407: PUSH1 0x40 00000409: DUP1 0000040a: MLOAD 0000040b: PUSH1 0x20 0000040d: PUSH1 0x04 0000040f: PUSH1 0x44 00000411: CALLDATALOAD 00000412: DUP2 00000413: DUP2 00000414: ADD 00000415: CALLDATALOAD 00000416: PUSH1 0x1f 00000418: DUP2 00000419: ADD 0000041a: DUP5 0000041b: SWAP1 0000041c: DIV 0000041d: DUP5 0000041e: MUL 0000041f: DUP6 00000420: ADD 00000421: DUP5 00000422: ADD 00000423: SWAP1 00000424: SWAP6 00000425: MSTORE 00000426: DUP5 00000427: DUP5 00000428: MSTORE 00000429: PUSH2 0x016d 0000042c: SWAP5 0000042d: DUP3 0000042e: CALLDATALOAD 0000042f: PUSH1 0x01 00000431: PUSH1 0xa0 00000433: PUSH1 0x02 00000435: EXP 00000436: SUB 00000437: AND 00000438: SWAP5 00000439: PUSH1 0x24 0000043b: DUP1 0000043c: CALLDATALOAD 0000043d: SWAP6 0000043e: CALLDATASIZE 0000043f: SWAP6 00000440: SWAP5 00000441: PUSH1 0x64 00000443: SWAP5 00000444: SWAP3 00000445: ADD 00000446: SWAP2 00000447: SWAP1 00000448: DUP2 00000449: SWAP1 0000044a: DUP5 0000044b: ADD 0000044c: DUP4 0000044d: DUP3 0000044e: DUP1 0000044f: DUP3 00000450: DUP5 00000451: CALLDATACOPY 00000452: POP 00000453: SWAP5 00000454: SWAP8 00000455: POP 00000456: PUSH2 0x191e 00000459: SWAP7 0000045a: POP 0000045b: POP 0000045c: POP 0000045d: POP 0000045e: POP 0000045f: POP 00000460: POP 00000461: JUMP 00000462: JUMPDEST 00000463: CALLVALUE 00000464: DUP1 00000465: ISZERO 00000466: PUSH2 0x046e 00000469: JUMPI 0000046a: PUSH1 0x00 0000046c: DUP1 0000046d: REVERT 0000046e: JUMPDEST 0000046f: POP 00000470: PUSH2 0x0285 00000473: PUSH1 0x04 00000475: CALLDATALOAD 00000476: PUSH2 0x19d9 00000479: JUMP 0000047a: JUMPDEST 0000047b: CALLVALUE 0000047c: DUP1 0000047d: ISZERO 0000047e: PUSH2 0x0486 00000481: JUMPI 00000482: PUSH1 0x00 00000484: DUP1 00000485: REVERT 00000486: JUMPDEST 00000487: POP 00000488: PUSH2 0x0369 0000048b: PUSH2 0x19eb 0000048e: JUMP 0000048f: JUMPDEST 00000490: PUSH2 0x016d 00000493: PUSH1 0x04 00000495: CALLDATALOAD 00000496: PUSH2 0x19fa 00000499: JUMP 0000049a: JUMPDEST 0000049b: CALLVALUE 0000049c: DUP1 0000049d: ISZERO 0000049e: PUSH2 0x04a6 000004a1: JUMPI 000004a2: PUSH1 0x00 000004a4: DUP1 000004a5: REVERT 000004a6: JUMPDEST 000004a7: POP 000004a8: PUSH2 0x016d 000004ab: PUSH1 0x04 000004ad: CALLDATALOAD 000004ae: PUSH2 0x1d27 000004b1: JUMP 000004b2: JUMPDEST 000004b3: CALLVALUE 000004b4: DUP1 000004b5: ISZERO 000004b6: PUSH2 0x04be 000004b9: JUMPI 000004ba: PUSH1 0x00 000004bc: DUP1 000004bd: REVERT 000004be: JUMPDEST 000004bf: POP 000004c0: PUSH2 0x04ca 000004c3: PUSH1 0x04 000004c5: CALLDATALOAD 000004c6: PUSH2 0x1ec7 000004c9: JUMP 000004ca: JUMPDEST 000004cb: PUSH1 0x40 000004cd: MLOAD 000004ce: DUP1 000004cf: DUP6 000004d0: PUSH1 0x02 000004d2: DUP2 000004d3: GT 000004d4: ISZERO 000004d5: PUSH2 0x04da 000004d8: JUMPI 000004d9: INVALID 000004da: JUMPDEST 000004db: PUSH1 0xff 000004dd: AND 000004de: DUP2 000004df: MSTORE 000004e0: PUSH1 0x01 000004e2: PUSH1 0xa0 000004e4: PUSH1 0x02 000004e6: EXP 000004e7: SUB 000004e8: SWAP1 000004e9: SWAP5 000004ea: AND 000004eb: PUSH1 0x20 000004ed: DUP6 000004ee: ADD 000004ef: MSTORE 000004f0: POP 000004f1: PUSH1 0x40 000004f3: DUP1 000004f4: DUP5 000004f5: ADD 000004f6: SWAP3 000004f7: SWAP1 000004f8: SWAP3 000004f9: MSTORE 000004fa: PUSH1 0x60 000004fc: DUP4 000004fd: ADD 000004fe: MSTORE 000004ff: MLOAD 00000500: SWAP1 00000501: DUP2 00000502: SWAP1 00000503: SUB 00000504: PUSH1 0x80 00000506: ADD 00000507: SWAP2 00000508: POP 00000509: RETURN 0000050a: JUMPDEST 0000050b: CALLVALUE 0000050c: DUP1 0000050d: ISZERO 0000050e: PUSH2 0x0516 00000511: JUMPI 00000512: PUSH1 0x00 00000514: DUP1 00000515: REVERT 00000516: JUMPDEST 00000517: POP 00000518: PUSH2 0x0285 0000051b: PUSH2 0x1f43 0000051e: JUMP 0000051f: JUMPDEST 00000520: CALLVALUE 00000521: DUP1 00000522: ISZERO 00000523: PUSH2 0x052b 00000526: JUMPI 00000527: PUSH1 0x00 00000529: DUP1 0000052a: REVERT 0000052b: JUMPDEST 0000052c: POP 0000052d: PUSH2 0x016d 00000530: PUSH1 0x04 00000532: CALLDATALOAD 00000533: PUSH2 0x1f49 00000536: JUMP 00000537: JUMPDEST 00000538: CALLVALUE 00000539: DUP1 0000053a: ISZERO 0000053b: PUSH2 0x0543 0000053e: JUMPI 0000053f: PUSH1 0x00 00000541: DUP1 00000542: REVERT 00000543: JUMPDEST 00000544: POP 00000545: PUSH2 0x0369 00000548: PUSH1 0x04 0000054a: CALLDATALOAD 0000054b: PUSH2 0x21c2 0000054e: JUMP 0000054f: JUMPDEST 00000550: CALLVALUE 00000551: DUP1 00000552: ISZERO 00000553: PUSH2 0x055b 00000556: JUMPI 00000557: PUSH1 0x00 00000559: DUP1 0000055a: REVERT 0000055b: JUMPDEST 0000055c: POP 0000055d: PUSH2 0x016d 00000560: PUSH1 0x01 00000562: PUSH1 0xa0 00000564: PUSH1 0x02 00000566: EXP 00000567: SUB 00000568: PUSH1 0x04 0000056a: CALLDATALOAD 0000056b: AND 0000056c: PUSH2 0x21ea 0000056f: JUMP 00000570: JUMPDEST 00000571: CALLVALUE 00000572: DUP1 00000573: ISZERO 00000574: PUSH2 0x057c 00000577: JUMPI 00000578: PUSH1 0x00 0000057a: DUP1 0000057b: REVERT 0000057c: JUMPDEST 0000057d: POP 0000057e: PUSH2 0x0588 00000581: PUSH1 0x04 00000583: CALLDATALOAD 00000584: PUSH2 0x22c9 00000587: JUMP 00000588: JUMPDEST 00000589: PUSH1 0x40 0000058b: MLOAD 0000058c: DUP1 0000058d: DUP3 0000058e: PUSH2 0x0140 00000591: DUP1 00000592: DUP4 00000593: DUP4 00000594: PUSH1 0x00 00000596: JUMPDEST 00000597: DUP4 00000598: DUP2 00000599: LT 0000059a: ISZERO 0000059b: PUSH2 0x05ae 0000059e: JUMPI 0000059f: DUP2 000005a0: DUP2 000005a1: ADD 000005a2: MLOAD 000005a3: DUP4 000005a4: DUP3 000005a5: ADD 000005a6: MSTORE 000005a7: PUSH1 0x20 000005a9: ADD 000005aa: PUSH2 0x0596 000005ad: JUMP 000005ae: JUMPDEST 000005af: POP 000005b0: POP 000005b1: POP 000005b2: POP 000005b3: SWAP1 000005b4: POP 000005b5: ADD 000005b6: SWAP2 000005b7: POP 000005b8: POP 000005b9: PUSH1 0x40 000005bb: MLOAD 000005bc: DUP1 000005bd: SWAP2 000005be: SUB 000005bf: SWAP1 000005c0: RETURN 000005c1: JUMPDEST 000005c2: PUSH1 0x00 000005c4: DUP1 000005c5: DUP1 000005c6: DUP1 000005c7: DUP1 000005c8: DUP1 000005c9: PUSH2 0x05d9 000005cc: PUSH1 0x08 000005ce: DUP9 000005cf: PUSH4 0xffffffff 000005d4: PUSH2 0x233b 000005d7: AND 000005d8: JUMP 000005d9: JUMPDEST 000005da: SWAP6 000005db: POP 000005dc: PUSH1 0xfe 000005de: PUSH1 0x02 000005e0: EXP 000005e1: DUP7 000005e2: DIV 000005e3: PUSH1 0x02 000005e5: DUP2 000005e6: GT 000005e7: ISZERO 000005e8: PUSH2 0x05ed 000005eb: JUMPI 000005ec: INVALID 000005ed: JUMPDEST 000005ee: SWAP5 000005ef: POP 000005f0: PUSH1 0x02 000005f2: DUP6 000005f3: PUSH1 0x02 000005f5: DUP2 000005f6: GT 000005f7: ISZERO 000005f8: PUSH2 0x05fd 000005fb: JUMPI 000005fc: INVALID 000005fd: JUMPDEST 000005fe: EQ 000005ff: PUSH2 0x0652 00000602: JUMPI 00000603: PUSH1 0x40 00000605: DUP1 00000606: MLOAD 00000607: PUSH1 0xe5 00000609: PUSH1 0x02 0000060b: EXP 0000060c: PUSH3 0x461bcd 00000610: MUL 00000611: DUP2 00000612: MSTORE 00000613: PUSH1 0x20 00000615: PUSH1 0x04 00000617: DUP3 00000618: ADD 00000619: MSTORE 0000061a: PUSH1 0x18 0000061c: PUSH1 0x24 0000061e: DUP3 0000061f: ADD 00000620: MSTORE 00000621: PUSH32 0x54686973206973206e6f7420612073656c6c206f726465720000000000000000 00000642: PUSH1 0x44 00000644: DUP3 00000645: ADD 00000646: MSTORE 00000647: SWAP1 00000648: MLOAD 00000649: SWAP1 0000064a: DUP2 0000064b: SWAP1 0000064c: SUB 0000064d: PUSH1 0x64 0000064f: ADD 00000650: SWAP1 00000651: REVERT 00000652: JUMPDEST 00000653: CALLER 00000654: PUSH1 0x00 00000656: SWAP1 00000657: DUP2 00000658: MSTORE 00000659: PUSH1 0x07 0000065b: PUSH1 0x20 0000065d: MSTORE 0000065e: PUSH1 0x40 00000660: SWAP1 00000661: KECCAK256 00000662: SLOAD 00000663: SWAP4 00000664: POP 00000665: PUSH1 0xe0 00000667: PUSH1 0x02 00000669: EXP 0000066a: PUSH1 0x04 0000066c: DUP8 0000066d: MUL 0000066e: DIV 0000066f: DUP5 00000670: EQ 00000671: PUSH2 0x06e9 00000674: JUMPI 00000675: PUSH1 0x40 00000677: DUP1 00000678: MLOAD 00000679: PUSH1 0xe5 0000067b: PUSH1 0x02 0000067d: EXP 0000067e: PUSH3 0x461bcd 00000682: MUL 00000683: DUP2 00000684: MSTORE 00000685: PUSH1 0x20 00000687: PUSH1 0x04 00000689: DUP3 0000068a: ADD 0000068b: MSTORE 0000068c: PUSH1 0x24 0000068e: DUP1 0000068f: DUP3 00000690: ADD 00000691: MSTORE 00000692: PUSH32 0x596f7520617265206e6f74207468652073656e646572206f662074686973206f 000006b3: PUSH1 0x44 000006b5: DUP3 000006b6: ADD 000006b7: MSTORE 000006b8: PUSH32 0x7264657200000000000000000000000000000000000000000000000000000000 000006d9: PUSH1 0x64 000006db: DUP3 000006dc: ADD 000006dd: MSTORE 000006de: SWAP1 000006df: MLOAD 000006e0: SWAP1 000006e1: DUP2 000006e2: SWAP1 000006e3: SUB 000006e4: PUSH1 0x84 000006e6: ADD 000006e7: SWAP1 000006e8: REVERT 000006e9: JUMPDEST 000006ea: PUSH1 0x91 000006ec: PUSH1 0x02 000006ee: EXP 000006ef: PUSH5 0x0400000000 000006f5: DUP8 000006f6: MUL 000006f7: DUP2 000006f8: SWAP1 000006f9: DIV 000006fa: SWAP4 000006fb: POP 000006fc: DUP1 000006fd: DUP8 000006fe: MUL 000006ff: DIV 00000700: SWAP2 00000701: POP 00000702: PUSH2 0x0712 00000705: PUSH1 0x08 00000707: DUP9 00000708: PUSH4 0xffffffff 0000070d: PUSH2 0x2351 00000710: AND 00000711: JUMP 00000712: JUMPDEST 00000713: ISZERO 00000714: ISZERO 00000715: PUSH2 0x0756 00000718: JUMPI 00000719: PUSH1 0x40 0000071b: DUP1 0000071c: MLOAD 0000071d: PUSH1 0xe5 0000071f: PUSH1 0x02 00000721: EXP 00000722: PUSH3 0x461bcd 00000726: MUL 00000727: DUP2 00000728: MSTORE 00000729: PUSH1 0x20 0000072b: PUSH1 0x04 0000072d: DUP3 0000072e: ADD 0000072f: MSTORE 00000730: PUSH1 0x11 00000732: PUSH1 0x24 00000734: DUP3 00000735: ADD 00000736: MSTORE 00000737: PUSH1 0x00 00000739: DUP1 0000073a: MLOAD 0000073b: PUSH1 0x20 0000073d: PUSH2 0x26cb 00000740: DUP4 00000741: CODECOPY 00000742: DUP2 00000743: MLOAD 00000744: SWAP2 00000745: MSTORE 00000746: PUSH1 0x44 00000748: DUP3 00000749: ADD 0000074a: MSTORE 0000074b: SWAP1 0000074c: MLOAD 0000074d: SWAP1 0000074e: DUP2 0000074f: SWAP1 00000750: SUB 00000751: PUSH1 0x64 00000753: ADD 00000754: SWAP1 00000755: REVERT 00000756: JUMPDEST 00000757: PUSH2 0x0760 0000075a: DUP4 0000075b: DUP4 0000075c: PUSH2 0x09e1 0000075f: JUMP 00000760: JUMPDEST 00000761: SWAP1 00000762: POP 00000763: PUSH1 0x00 00000765: DUP2 00000766: GT 00000767: ISZERO 00000768: PUSH2 0x079a 0000076b: JUMPI 0000076c: PUSH1 0x00 0000076e: DUP5 0000076f: DUP2 00000770: MSTORE 00000771: PUSH1 0x05 00000773: PUSH1 0x20 00000775: MSTORE 00000776: PUSH1 0x40 00000778: SWAP1 00000779: KECCAK256 0000077a: SLOAD 0000077b: PUSH2 0x078a 0000077e: SWAP1 0000077f: DUP3 00000780: PUSH4 0xffffffff 00000785: PUSH2 0x2432 00000788: AND 00000789: JUMP 0000078a: JUMPDEST 0000078b: PUSH1 0x00 0000078d: DUP6 0000078e: DUP2 0000078f: MSTORE 00000790: PUSH1 0x05 00000792: PUSH1 0x20 00000794: MSTORE 00000795: PUSH1 0x40 00000797: SWAP1 00000798: KECCAK256 00000799: SSTORE 0000079a: JUMPDEST 0000079b: PUSH1 0x0a 0000079d: SLOAD 0000079e: PUSH1 0x40 000007a0: DUP1 000007a1: MLOAD 000007a2: PUSH32 0xe2d0d51900000000000000000000000000000000000000000000000000000000 000007c3: DUP2 000007c4: MSTORE 000007c5: CALLER 000007c6: PUSH1 0x04 000007c8: DUP3 000007c9: ADD 000007ca: MSTORE 000007cb: PUSH1 0x24 000007cd: DUP2 000007ce: ADD 000007cf: DUP6 000007d0: SWAP1 000007d1: MSTORE 000007d2: SWAP1 000007d3: MLOAD 000007d4: PUSH1 0x01 000007d6: PUSH1 0xa0 000007d8: PUSH1 0x02 000007da: EXP 000007db: SUB 000007dc: SWAP1 000007dd: SWAP3 000007de: AND 000007df: SWAP2 000007e0: PUSH4 0xe2d0d519 000007e5: SWAP2 000007e6: PUSH1 0x44 000007e8: DUP1 000007e9: DUP3 000007ea: ADD 000007eb: SWAP3 000007ec: PUSH1 0x00 000007ee: SWAP3 000007ef: SWAP1 000007f0: SWAP2 000007f1: SWAP1 000007f2: DUP3 000007f3: SWAP1 000007f4: SUB 000007f5: ADD 000007f6: DUP2 000007f7: DUP4 000007f8: DUP8 000007f9: DUP1 000007fa: EXTCODESIZE 000007fb: ISZERO 000007fc: DUP1 000007fd: ISZERO 000007fe: PUSH2 0x0806 00000801: JUMPI 00000802: PUSH1 0x00 00000804: DUP1 00000805: REVERT 00000806: JUMPDEST 00000807: POP 00000808: GAS 00000809: CALL 0000080a: ISZERO 0000080b: DUP1 0000080c: ISZERO 0000080d: PUSH2 0x081a 00000810: JUMPI 00000811: RETURNDATASIZE 00000812: PUSH1 0x00 00000814: DUP1 00000815: RETURNDATACOPY 00000816: RETURNDATASIZE 00000817: PUSH1 0x00 00000819: REVERT 0000081a: JUMPDEST 0000081b: POP 0000081c: POP 0000081d: POP 0000081e: POP 0000081f: CALLER 00000820: PUSH1 0x01 00000822: PUSH1 0xa0 00000824: PUSH1 0x02 00000826: EXP 00000827: SUB 00000828: AND 00000829: DUP6 0000082a: PUSH1 0x02 0000082c: DUP2 0000082d: GT 0000082e: ISZERO 0000082f: PUSH2 0x0834 00000832: JUMPI 00000833: INVALID 00000834: JUMPDEST 00000835: PUSH1 0x40 00000837: DUP1 00000838: MLOAD 00000839: DUP7 0000083a: DUP2 0000083b: MSTORE 0000083c: PUSH1 0x20 0000083e: DUP2 0000083f: ADD 00000840: DUP7 00000841: SWAP1 00000842: MSTORE 00000843: DUP2 00000844: MLOAD 00000845: PUSH32 0xe2f99b27ce844edd7e242a1056afe8f0a4f5c28c45b300a13fec9aff87d82bff 00000866: SWAP3 00000867: SWAP2 00000868: DUP2 00000869: SWAP1 0000086a: SUB 0000086b: SWAP1 0000086c: SWAP2 0000086d: ADD 0000086e: SWAP1 0000086f: LOG3 00000870: POP 00000871: POP 00000872: POP 00000873: POP 00000874: POP 00000875: POP 00000876: POP 00000877: JUMP 00000878: JUMPDEST 00000879: PUSH2 0x0880 0000087c: PUSH2 0x264d 0000087f: JUMP 00000880: JUMPDEST 00000881: PUSH2 0x0888 00000884: PUSH2 0x264d 00000887: JUMP 00000888: JUMPDEST 00000889: PUSH2 0x0890 0000088c: PUSH2 0x264d 0000088f: JUMP 00000890: JUMPDEST 00000891: PUSH2 0x0898 00000894: PUSH2 0x264d 00000897: JUMP 00000898: JUMPDEST 00000899: PUSH2 0x08a0 0000089c: PUSH2 0x264d 0000089f: JUMP 000008a0: JUMPDEST 000008a1: PUSH1 0x00 000008a3: DUP1 000008a4: DUP1 000008a5: JUMPDEST 000008a6: PUSH1 0x0a 000008a8: DUP4 000008a9: LT 000008aa: ISZERO 000008ab: PUSH2 0x09cf 000008ae: JUMPI 000008af: DUP3 000008b0: DUP10 000008b1: ADD 000008b2: PUSH2 0x08bb 000008b5: PUSH1 0x08 000008b7: PUSH2 0x2441 000008ba: JUMP 000008bb: JUMPDEST 000008bc: EQ 000008bd: ISZERO 000008be: PUSH2 0x08c6 000008c1: JUMPI 000008c2: PUSH2 0x09cf 000008c5: JUMP 000008c6: JUMPDEST 000008c7: PUSH2 0x08d9 000008ca: PUSH1 0x08 000008cc: DUP11 000008cd: DUP6 000008ce: ADD 000008cf: PUSH4 0xffffffff 000008d4: PUSH2 0x2448 000008d7: AND 000008d8: JUMP 000008d9: JUMPDEST 000008da: SWAP2 000008db: POP 000008dc: DUP2 000008dd: DUP9 000008de: DUP5 000008df: PUSH1 0x0a 000008e1: DUP2 000008e2: LT 000008e3: PUSH2 0x08e8 000008e6: JUMPI 000008e7: INVALID 000008e8: JUMPDEST 000008e9: PUSH1 0x20 000008eb: MUL 000008ec: ADD 000008ed: MSTORE 000008ee: PUSH2 0x08fe 000008f1: PUSH1 0x08 000008f3: DUP4 000008f4: PUSH4 0xffffffff 000008f9: PUSH2 0x233b 000008fc: AND 000008fd: JUMP 000008fe: JUMPDEST 000008ff: PUSH1 0x06 00000901: DUP1 00000902: SLOAD 00000903: SWAP2 00000904: SWAP3 00000905: POP 00000906: SWAP1 00000907: PUSH1 0xe0 00000909: PUSH1 0x02 0000090b: EXP 0000090c: PUSH1 0x04 0000090e: DUP5 0000090f: MUL 00000910: DIV 00000911: SWAP1 00000912: DUP2 00000913: LT 00000914: PUSH2 0x0919 00000917: JUMPI 00000918: INVALID 00000919: JUMPDEST 0000091a: PUSH1 0x00 0000091c: SWAP2 0000091d: DUP3 0000091e: MSTORE 0000091f: PUSH1 0x20 00000921: SWAP1 00000922: SWAP2 00000923: KECCAK256 00000924: ADD 00000925: SLOAD 00000926: PUSH1 0x01 00000928: PUSH1 0xa0 0000092a: PUSH1 0x02 0000092c: EXP 0000092d: SUB 0000092e: AND 0000092f: DUP8 00000930: DUP5 00000931: PUSH1 0x0a 00000933: DUP2 00000934: LT 00000935: PUSH2 0x093a 00000938: JUMPI 00000939: INVALID 0000093a: JUMPDEST 0000093b: PUSH1 0x01 0000093d: PUSH1 0xa0 0000093f: PUSH1 0x02 00000941: EXP 00000942: SUB 00000943: SWAP1 00000944: SWAP3 00000945: AND 00000946: PUSH1 0x20 00000948: SWAP3 00000949: SWAP1 0000094a: SWAP3 0000094b: MUL 0000094c: ADD 0000094d: MSTORE 0000094e: PUSH1 0xfe 00000950: PUSH1 0x02 00000952: EXP 00000953: DUP2 00000954: DIV 00000955: PUSH1 0x02 00000957: DUP2 00000958: GT 00000959: ISZERO 0000095a: PUSH2 0x095f 0000095d: JUMPI 0000095e: INVALID 0000095f: JUMPDEST 00000960: DUP7 00000961: DUP5 00000962: PUSH1 0x0a 00000964: DUP2 00000965: LT 00000966: PUSH2 0x096b 00000969: JUMPI 0000096a: INVALID 0000096b: JUMPDEST 0000096c: PUSH1 0x20 0000096e: MUL 0000096f: ADD 00000970: SWAP1 00000971: PUSH1 0x02 00000973: DUP2 00000974: GT 00000975: ISZERO 00000976: PUSH2 0x097b 00000979: JUMPI 0000097a: INVALID 0000097b: JUMPDEST 0000097c: SWAP1 0000097d: DUP2 0000097e: PUSH1 0x02 00000980: DUP2 00000981: GT 00000982: ISZERO 00000983: PUSH2 0x0988 00000986: JUMPI 00000987: INVALID 00000988: JUMPDEST 00000989: SWAP1 0000098a: MSTORE 0000098b: POP 0000098c: PUSH1 0x91 0000098e: PUSH1 0x02 00000990: EXP 00000991: PUSH5 0x0400000000 00000997: DUP3 00000998: MUL 00000999: DIV 0000099a: DUP6 0000099b: DUP5 0000099c: PUSH1 0x0a 0000099e: DUP2 0000099f: LT 000009a0: PUSH2 0x09a5 000009a3: JUMPI 000009a4: INVALID 000009a5: JUMPDEST 000009a6: PUSH1 0x20 000009a8: MUL 000009a9: ADD 000009aa: MSTORE 000009ab: PUSH1 0x91 000009ad: PUSH1 0x02 000009af: EXP 000009b0: DUP1 000009b1: DUP3 000009b2: MUL 000009b3: DIV 000009b4: DUP5 000009b5: DUP5 000009b6: PUSH1 0x0a 000009b8: DUP2 000009b9: LT 000009ba: PUSH2 0x09bf 000009bd: JUMPI 000009be: INVALID 000009bf: JUMPDEST 000009c0: PUSH1 0x20 000009c2: MUL 000009c3: ADD 000009c4: MSTORE 000009c5: PUSH1 0x01 000009c7: SWAP1 000009c8: SWAP3 000009c9: ADD 000009ca: SWAP2 000009cb: PUSH2 0x08a5 000009ce: JUMP 000009cf: JUMPDEST 000009d0: POP 000009d1: POP 000009d2: POP 000009d3: SWAP2 000009d4: SWAP4 000009d5: SWAP6 000009d6: SWAP1 000009d7: SWAP3 000009d8: SWAP5 000009d9: POP 000009da: JUMP 000009db: JUMPDEST 000009dc: PUSH1 0x04 000009de: SLOAD 000009df: DUP2 000009e0: JUMP 000009e1: JUMPDEST 000009e2: PUSH1 0x00 000009e4: PUSH2 0x0a2c 000009e7: PUSH8 0x0de0b6b3a7640000 000009f0: PUSH2 0x0a14 000009f3: PUSH1 0x02 000009f5: SLOAD 000009f6: PUSH2 0x0a20 000009f9: PUSH8 0x0de0b6b3a7640000 00000a02: PUSH2 0x0a14 00000a05: DUP9 00000a06: DUP11 00000a07: PUSH2 0x246e 00000a0a: SWAP1 00000a0b: SWAP2 00000a0c: SWAP1 00000a0d: PUSH4 0xffffffff 00000a12: AND 00000a13: JUMP 00000a14: JUMPDEST 00000a15: SWAP1 00000a16: PUSH4 0xffffffff 00000a1b: PUSH2 0x2492 00000a1e: AND 00000a1f: JUMP 00000a20: JUMPDEST 00000a21: SWAP1 00000a22: PUSH4 0xffffffff 00000a27: PUSH2 0x246e 00000a2a: AND 00000a2b: JUMP 00000a2c: JUMPDEST 00000a2d: SWAP4 00000a2e: SWAP3 00000a2f: POP 00000a30: POP 00000a31: POP 00000a32: JUMP 00000a33: JUMPDEST 00000a34: PUSH1 0x00 00000a36: PUSH2 0x0a3f 00000a39: PUSH1 0x08 00000a3b: PUSH2 0x2441 00000a3e: JUMP 00000a3f: JUMPDEST 00000a40: SWAP1 00000a41: POP 00000a42: JUMPDEST 00000a43: SWAP1 00000a44: JUMP 00000a45: JUMPDEST 00000a46: PUSH1 0x00 00000a48: PUSH2 0x0a51 00000a4b: PUSH1 0x08 00000a4d: PUSH2 0x2441 00000a50: JUMP 00000a51: JUMPDEST 00000a52: DUP3 00000a53: LT 00000a54: ISZERO 00000a55: PUSH2 0x0a70 00000a58: JUMPI 00000a59: PUSH2 0x0a69 00000a5c: PUSH1 0x08 00000a5e: DUP4 00000a5f: PUSH4 0xffffffff 00000a64: PUSH2 0x2448 00000a67: AND 00000a68: JUMP 00000a69: JUMPDEST 00000a6a: SWAP1 00000a6b: POP 00000a6c: PUSH2 0x0a74 00000a6f: JUMP 00000a70: JUMPDEST 00000a71: POP 00000a72: PUSH1 0x00 00000a74: JUMPDEST 00000a75: SWAP2 00000a76: SWAP1 00000a77: POP 00000a78: JUMP 00000a79: JUMPDEST 00000a7a: PUSH1 0x01 00000a7c: SLOAD 00000a7d: DUP2 00000a7e: JUMP 00000a7f: JUMPDEST 00000a80: PUSH1 0x00 00000a82: DUP1 00000a83: PUSH2 0x0a8b 00000a86: DUP5 00000a87: PUSH2 0x24a9 00000a8a: JUMP 00000a8b: JUMPDEST 00000a8c: DUP1 00000a8d: ISZERO 00000a8e: PUSH2 0x0a9b 00000a91: JUMPI 00000a92: POP 00000a93: PUSH2 0x0a9b 00000a96: DUP4 00000a97: PUSH2 0x24a9 00000a9a: JUMP 00000a9b: JUMPDEST 00000a9c: ISZERO 00000a9d: ISZERO 00000a9e: PUSH2 0x0af1 00000aa1: JUMPI 00000aa2: PUSH1 0x40 00000aa4: DUP1 00000aa5: MLOAD 00000aa6: PUSH1 0xe5 00000aa8: PUSH1 0x02 00000aaa: EXP 00000aab: PUSH3 0x461bcd 00000aaf: MUL 00000ab0: DUP2 00000ab1: MSTORE 00000ab2: PUSH1 0x20 00000ab4: PUSH1 0x04 00000ab6: DUP3 00000ab7: ADD 00000ab8: DUP2 00000ab9: SWAP1 00000aba: MSTORE 00000abb: PUSH1 0x24 00000abd: DUP3 00000abe: ADD 00000abf: MSTORE 00000ac0: PUSH32 0x5072696365206f7220616d6f756e742065786365656473203131312062697473 00000ae1: PUSH1 0x44 00000ae3: DUP3 00000ae4: ADD 00000ae5: MSTORE 00000ae6: SWAP1 00000ae7: MLOAD 00000ae8: SWAP1 00000ae9: DUP2 00000aea: SWAP1 00000aeb: SUB 00000aec: PUSH1 0x64 00000aee: ADD 00000aef: SWAP1 00000af0: REVERT 00000af1: JUMPDEST 00000af2: PUSH1 0x00 00000af4: DUP5 00000af5: GT 00000af6: PUSH2 0x0b49 00000af9: JUMPI 00000afa: PUSH1 0x40 00000afc: DUP1 00000afd: MLOAD 00000afe: PUSH1 0xe5 00000b00: PUSH1 0x02 00000b02: EXP 00000b03: PUSH3 0x461bcd 00000b07: MUL 00000b08: DUP2 00000b09: MSTORE 00000b0a: PUSH1 0x20 00000b0c: PUSH1 0x04 00000b0e: DUP3 00000b0f: ADD 00000b10: DUP2 00000b11: SWAP1 00000b12: MSTORE 00000b13: PUSH1 0x24 00000b15: DUP3 00000b16: ADD 00000b17: MSTORE 00000b18: PUSH32 0x5072696365206e6565647320746f2062652067726561746572207468616e2030 00000b39: PUSH1 0x44 00000b3b: DUP3 00000b3c: ADD 00000b3d: MSTORE 00000b3e: SWAP1 00000b3f: MLOAD 00000b40: SWAP1 00000b41: DUP2 00000b42: SWAP1 00000b43: SUB 00000b44: PUSH1 0x64 00000b46: ADD 00000b47: SWAP1 00000b48: REVERT 00000b49: JUMPDEST 00000b4a: PUSH1 0x00 00000b4c: DUP4 00000b4d: GT 00000b4e: PUSH2 0x0bc7 00000b51: JUMPI 00000b52: PUSH1 0x40 00000b54: DUP1 00000b55: MLOAD 00000b56: PUSH1 0xe5 00000b58: PUSH1 0x02 00000b5a: EXP 00000b5b: PUSH3 0x461bcd 00000b5f: MUL 00000b60: DUP2 00000b61: MSTORE 00000b62: PUSH1 0x20 00000b64: PUSH1 0x04 00000b66: DUP3 00000b67: ADD 00000b68: MSTORE 00000b69: PUSH1 0x21 00000b6b: PUSH1 0x24 00000b6d: DUP3 00000b6e: ADD 00000b6f: MSTORE 00000b70: PUSH32 0x416d6f756e74206e6565647320746f2062652067726561746572207468616e20 00000b91: PUSH1 0x44 00000b93: DUP3 00000b94: ADD 00000b95: MSTORE 00000b96: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 00000bb7: PUSH1 0x64 00000bb9: DUP3 00000bba: ADD 00000bbb: MSTORE 00000bbc: SWAP1 00000bbd: MLOAD 00000bbe: SWAP1 00000bbf: DUP2 00000bc0: SWAP1 00000bc1: SUB 00000bc2: PUSH1 0x84 00000bc4: ADD 00000bc5: SWAP1 00000bc6: REVERT 00000bc7: JUMPDEST 00000bc8: PUSH2 0x0bd1 00000bcb: DUP5 00000bcc: DUP5 00000bcd: PUSH2 0x09e1 00000bd0: JUMP 00000bd1: JUMPDEST 00000bd2: SWAP2 00000bd3: POP 00000bd4: PUSH2 0x0bdc 00000bd7: CALLER 00000bd8: PUSH2 0x24bc 00000bdb: JUMP 00000bdc: JUMPDEST 00000bdd: SWAP1 00000bde: POP 00000bdf: PUSH1 0x00 00000be1: DUP3 00000be2: GT 00000be3: ISZERO 00000be4: PUSH2 0x0c90 00000be7: JUMPI 00000be8: PUSH1 0x00 00000bea: DUP2 00000beb: DUP2 00000bec: MSTORE 00000bed: PUSH1 0x05 00000bef: PUSH1 0x20 00000bf1: MSTORE 00000bf2: PUSH1 0x40 00000bf4: SWAP1 00000bf5: KECCAK256 00000bf6: SLOAD 00000bf7: DUP3 00000bf8: GT 00000bf9: ISZERO 00000bfa: PUSH2 0x0c61 00000bfd: JUMPI 00000bfe: PUSH1 0x40 00000c00: DUP1 00000c01: MLOAD 00000c02: PUSH1 0xe5 00000c04: PUSH1 0x02 00000c06: EXP 00000c07: PUSH3 0x461bcd 00000c0b: MUL 00000c0c: DUP2 00000c0d: MSTORE 00000c0e: PUSH1 0x20 00000c10: PUSH1 0x04 00000c12: DUP3 00000c13: ADD 00000c14: MSTORE 00000c15: PUSH1 0x29 00000c17: PUSH1 0x24 00000c19: DUP3 00000c1a: ADD 00000c1b: MSTORE 00000c1c: PUSH1 0x00 00000c1e: DUP1 00000c1f: MLOAD 00000c20: PUSH1 0x20 00000c22: PUSH2 0x26ab 00000c25: DUP4 00000c26: CODECOPY 00000c27: DUP2 00000c28: MLOAD 00000c29: SWAP2 00000c2a: MSTORE 00000c2b: PUSH1 0x44 00000c2d: DUP3 00000c2e: ADD 00000c2f: MSTORE 00000c30: PUSH32 0x20666f7220666565730000000000000000000000000000000000000000000000 00000c51: PUSH1 0x64 00000c53: DUP3 00000c54: ADD 00000c55: MSTORE 00000c56: SWAP1 00000c57: MLOAD 00000c58: SWAP1 00000c59: DUP2 00000c5a: SWAP1 00000c5b: SUB 00000c5c: PUSH1 0x84 00000c5e: ADD 00000c5f: SWAP1 00000c60: REVERT 00000c61: JUMPDEST 00000c62: PUSH1 0x00 00000c64: DUP2 00000c65: DUP2 00000c66: MSTORE 00000c67: PUSH1 0x05 00000c69: PUSH1 0x20 00000c6b: MSTORE 00000c6c: PUSH1 0x40 00000c6e: SWAP1 00000c6f: KECCAK256 00000c70: SLOAD 00000c71: PUSH2 0x0c80 00000c74: SWAP1 00000c75: DUP4 00000c76: PUSH4 0xffffffff 00000c7b: PUSH2 0x25cc 00000c7e: AND 00000c7f: JUMP 00000c80: JUMPDEST 00000c81: PUSH1 0x00 00000c83: DUP3 00000c84: DUP2 00000c85: MSTORE 00000c86: PUSH1 0x05 00000c88: PUSH1 0x20 00000c8a: MSTORE 00000c8b: PUSH1 0x40 00000c8d: SWAP1 00000c8e: KECCAK256 00000c8f: SSTORE 00000c90: JUMPDEST 00000c91: PUSH1 0x0a 00000c93: SLOAD 00000c94: PUSH1 0x40 00000c96: DUP1 00000c97: MLOAD 00000c98: PUSH32 0xde995b9000000000000000000000000000000000000000000000000000000000 00000cb9: DUP2 00000cba: MSTORE 00000cbb: CALLER 00000cbc: PUSH1 0x04 00000cbe: DUP3 00000cbf: ADD 00000cc0: MSTORE 00000cc1: ADDRESS 00000cc2: PUSH1 0x24 00000cc4: DUP3 00000cc5: ADD 00000cc6: MSTORE 00000cc7: PUSH1 0x44 00000cc9: DUP2 00000cca: ADD 00000ccb: DUP7 00000ccc: SWAP1 00000ccd: MSTORE 00000cce: SWAP1 00000ccf: MLOAD 00000cd0: PUSH1 0x01 00000cd2: PUSH1 0xa0 00000cd4: PUSH1 0x02 00000cd6: EXP 00000cd7: SUB 00000cd8: SWAP1 00000cd9: SWAP3 00000cda: AND 00000cdb: SWAP2 00000cdc: PUSH4 0xde995b90 00000ce1: SWAP2 00000ce2: PUSH1 0x64 00000ce4: DUP1 00000ce5: DUP3 00000ce6: ADD 00000ce7: SWAP3 00000ce8: PUSH1 0x00 00000cea: SWAP3 00000ceb: SWAP1 00000cec: SWAP2 00000ced: SWAP1 00000cee: DUP3 00000cef: SWAP1 00000cf0: SUB 00000cf1: ADD 00000cf2: DUP2 00000cf3: DUP4 00000cf4: DUP8 00000cf5: DUP1 00000cf6: EXTCODESIZE 00000cf7: ISZERO 00000cf8: DUP1 00000cf9: ISZERO 00000cfa: PUSH2 0x0d02 00000cfd: JUMPI 00000cfe: PUSH1 0x00 00000d00: DUP1 00000d01: REVERT 00000d02: JUMPDEST 00000d03: POP 00000d04: GAS 00000d05: CALL 00000d06: ISZERO 00000d07: DUP1 00000d08: ISZERO 00000d09: PUSH2 0x0d16 00000d0c: JUMPI 00000d0d: RETURNDATASIZE 00000d0e: PUSH1 0x00 00000d10: DUP1 00000d11: RETURNDATACOPY 00000d12: RETURNDATASIZE 00000d13: PUSH1 0x00 00000d15: REVERT 00000d16: JUMPDEST 00000d17: POP 00000d18: POP 00000d19: PUSH1 0x01 00000d1b: SLOAD 00000d1c: PUSH2 0x0d50 00000d1f: SWAP3 00000d20: POP 00000d21: SWAP1 00000d22: POP 00000d23: DUP5 00000d24: PUSH1 0x6f 00000d26: DUP8 00000d27: DUP2 00000d28: DUP7 00000d29: PUSH1 0x20 00000d2b: PUSH1 0x02 00000d2d: JUMPDEST 00000d2e: SWAP1 00000d2f: PUSH1 0x02 00000d31: EXP 00000d32: MUL 00000d33: OR 00000d34: SWAP1 00000d35: PUSH1 0x02 00000d37: EXP 00000d38: MUL 00000d39: OR 00000d3a: SWAP1 00000d3b: PUSH1 0x02 00000d3d: EXP 00000d3e: MUL 00000d3f: OR 00000d40: PUSH1 0x08 00000d42: PUSH2 0x25de 00000d45: SWAP1 00000d46: SWAP3 00000d47: SWAP2 00000d48: SWAP1 00000d49: PUSH4 0xffffffff 00000d4e: AND 00000d4f: JUMP 00000d50: JUMPDEST 00000d51: ISZERO 00000d52: PUSH2 0x0da5 00000d55: JUMPI 00000d56: PUSH1 0x40 00000d58: DUP1 00000d59: MLOAD 00000d5a: PUSH1 0xe5 00000d5c: PUSH1 0x02 00000d5e: EXP 00000d5f: PUSH3 0x461bcd 00000d63: MUL 00000d64: DUP2 00000d65: MSTORE 00000d66: PUSH1 0x20 00000d68: PUSH1 0x04 00000d6a: DUP3 00000d6b: ADD 00000d6c: MSTORE 00000d6d: PUSH1 0x18 00000d6f: PUSH1 0x24 00000d71: DUP3 00000d72: ADD 00000d73: MSTORE 00000d74: PUSH32 0x4d6170207265706c6163656d656e742064657465637465640000000000000000 00000d95: PUSH1 0x44 00000d97: DUP3 00000d98: ADD 00000d99: MSTORE 00000d9a: SWAP1 00000d9b: MLOAD 00000d9c: SWAP1 00000d9d: DUP2 00000d9e: SWAP1 00000d9f: SUB 00000da0: PUSH1 0x64 00000da2: ADD 00000da3: SWAP1 00000da4: REVERT 00000da5: JUMPDEST 00000da6: PUSH1 0x01 00000da8: DUP1 00000da9: SLOAD 00000daa: DUP2 00000dab: ADD 00000dac: SWAP1 00000dad: SSTORE 00000dae: CALLER 00000daf: PUSH1 0x02 00000db1: PUSH1 0x40 00000db3: DUP1 00000db4: MLOAD 00000db5: DUP8 00000db6: DUP2 00000db7: MSTORE 00000db8: PUSH1 0x20 00000dba: DUP2 00000dbb: ADD 00000dbc: DUP8 00000dbd: SWAP1 00000dbe: MSTORE 00000dbf: DUP2 00000dc0: MLOAD 00000dc1: PUSH32 0xbcbf7b263490465b953d70010fc8e536abfdfbcae985c547ef7e2ada714af4ff 00000de2: SWAP3 00000de3: SWAP2 00000de4: DUP2 00000de5: SWAP1 00000de6: SUB 00000de7: SWAP1 00000de8: SWAP2 00000de9: ADD 00000dea: SWAP1 00000deb: LOG3 00000dec: POP 00000ded: POP 00000dee: POP 00000def: POP 00000df0: JUMP 00000df1: JUMPDEST 00000df2: PUSH1 0x00 00000df4: PUSH2 0x0a2c 00000df7: PUSH8 0x0de0b6b3a7640000 00000e00: PUSH2 0x0a14 00000e03: DUP6 00000e04: DUP6 00000e05: PUSH4 0xffffffff 00000e0a: PUSH2 0x246e 00000e0d: AND 00000e0e: JUMP 00000e0f: JUMPDEST 00000e10: PUSH1 0x03 00000e12: SLOAD 00000e13: DUP2 00000e14: JUMP 00000e15: JUMPDEST 00000e16: PUSH1 0x04 00000e18: DUP1 00000e19: SLOAD 00000e1a: PUSH1 0x0b 00000e1c: SLOAD 00000e1d: PUSH1 0x40 00000e1f: DUP1 00000e20: MLOAD 00000e21: PUSH32 0x70a0823100000000000000000000000000000000000000000000000000000000 00000e42: DUP2 00000e43: MSTORE 00000e44: ADDRESS 00000e45: SWAP5 00000e46: DUP2 00000e47: ADD 00000e48: SWAP5 00000e49: SWAP1 00000e4a: SWAP5 00000e4b: MSTORE 00000e4c: MLOAD 00000e4d: PUSH1 0x00 00000e4f: SWAP4 00000e50: PUSH2 0x0ebd 00000e53: SWAP4 00000e54: SWAP3 00000e55: PUSH1 0x01 00000e57: PUSH1 0xa0 00000e59: PUSH1 0x02 00000e5b: EXP 00000e5c: SUB 00000e5d: AND 00000e5e: SWAP2 00000e5f: PUSH4 0x70a08231 00000e64: SWAP2 00000e65: PUSH1 0x24 00000e67: DUP1 00000e68: DUP3 00000e69: ADD 00000e6a: SWAP3 00000e6b: PUSH1 0x20 00000e6d: SWAP3 00000e6e: SWAP1 00000e6f: SWAP2 00000e70: SWAP1 00000e71: DUP3 00000e72: SWAP1 00000e73: SUB 00000e74: ADD 00000e75: DUP2 00000e76: DUP10 00000e77: DUP8 00000e78: DUP1 00000e79: EXTCODESIZE 00000e7a: ISZERO 00000e7b: DUP1 00000e7c: ISZERO 00000e7d: PUSH2 0x0e85 00000e80: JUMPI 00000e81: PUSH1 0x00 00000e83: DUP1 00000e84: REVERT 00000e85: JUMPDEST 00000e86: POP 00000e87: GAS 00000e88: CALL 00000e89: ISZERO 00000e8a: DUP1 00000e8b: ISZERO 00000e8c: PUSH2 0x0e99 00000e8f: JUMPI 00000e90: RETURNDATASIZE 00000e91: PUSH1 0x00 00000e93: DUP1 00000e94: RETURNDATACOPY 00000e95: RETURNDATASIZE 00000e96: PUSH1 0x00 00000e98: REVERT 00000e99: JUMPDEST 00000e9a: POP 00000e9b: POP 00000e9c: POP 00000e9d: POP 00000e9e: PUSH1 0x40 00000ea0: MLOAD 00000ea1: RETURNDATASIZE 00000ea2: PUSH1 0x20 00000ea4: DUP2 00000ea5: LT 00000ea6: ISZERO 00000ea7: PUSH2 0x0eaf 00000eaa: JUMPI 00000eab: PUSH1 0x00 00000ead: DUP1 00000eae: REVERT 00000eaf: JUMPDEST 00000eb0: POP 00000eb1: MLOAD 00000eb2: SWAP1 00000eb3: PUSH4 0xffffffff 00000eb8: PUSH2 0x25cc 00000ebb: AND 00000ebc: JUMP 00000ebd: JUMPDEST 00000ebe: SWAP1 00000ebf: POP 00000ec0: PUSH1 0x00 00000ec2: DUP2 00000ec3: GT 00000ec4: PUSH2 0x0f3d 00000ec7: JUMPI 00000ec8: PUSH1 0x40 00000eca: DUP1 00000ecb: MLOAD 00000ecc: PUSH1 0xe5 00000ece: PUSH1 0x02 00000ed0: EXP 00000ed1: PUSH3 0x461bcd 00000ed5: MUL 00000ed6: DUP2 00000ed7: MSTORE 00000ed8: PUSH1 0x20 00000eda: PUSH1 0x04 00000edc: DUP3 00000edd: ADD 00000ede: MSTORE 00000edf: PUSH1 0x39 00000ee1: PUSH1 0x24 00000ee3: DUP3 00000ee4: ADD 00000ee5: MSTORE 00000ee6: PUSH32 0x5468657265206973206e6f2064697374726962757465642066656520746f6b65 00000f07: PUSH1 0x44 00000f09: DUP3 00000f0a: ADD 00000f0b: MSTORE 00000f0c: PUSH32 0x6e2062616c616e636520696e2074686520636f6e747261637400000000000000 00000f2d: PUSH1 0x64 00000f2f: DUP3 00000f30: ADD 00000f31: MSTORE 00000f32: SWAP1 00000f33: MLOAD 00000f34: SWAP1 00000f35: DUP2 00000f36: SWAP1 00000f37: SUB 00000f38: PUSH1 0x84 00000f3a: ADD 00000f3b: SWAP1 00000f3c: REVERT 00000f3d: JUMPDEST 00000f3e: PUSH1 0x0b 00000f40: SLOAD 00000f41: PUSH1 0x0a 00000f43: SLOAD 00000f44: PUSH1 0x40 00000f46: DUP1 00000f47: MLOAD 00000f48: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00000f69: DUP2 00000f6a: MSTORE 00000f6b: PUSH1 0x01 00000f6d: PUSH1 0xa0 00000f6f: PUSH1 0x02 00000f71: EXP 00000f72: SUB 00000f73: SWAP3 00000f74: DUP4 00000f75: AND 00000f76: PUSH1 0x04 00000f78: DUP3 00000f79: ADD 00000f7a: MSTORE 00000f7b: PUSH1 0x24 00000f7d: DUP2 00000f7e: ADD 00000f7f: DUP6 00000f80: SWAP1 00000f81: MSTORE 00000f82: SWAP1 00000f83: MLOAD 00000f84: SWAP2 00000f85: SWAP1 00000f86: SWAP3 00000f87: AND 00000f88: SWAP2 00000f89: PUSH4 0xa9059cbb 00000f8e: SWAP2 00000f8f: PUSH1 0x44 00000f91: DUP1 00000f92: DUP4 00000f93: ADD 00000f94: SWAP3 00000f95: PUSH1 0x20 00000f97: SWAP3 00000f98: SWAP2 00000f99: SWAP1 00000f9a: DUP3 00000f9b: SWAP1 00000f9c: SUB 00000f9d: ADD 00000f9e: DUP2 00000f9f: PUSH1 0x00 00000fa1: DUP8 00000fa2: DUP1 00000fa3: EXTCODESIZE 00000fa4: ISZERO 00000fa5: DUP1 00000fa6: ISZERO 00000fa7: PUSH2 0x0faf 00000faa: JUMPI 00000fab: PUSH1 0x00 00000fad: DUP1 00000fae: REVERT 00000faf: JUMPDEST 00000fb0: POP 00000fb1: GAS 00000fb2: CALL 00000fb3: ISZERO 00000fb4: DUP1 00000fb5: ISZERO 00000fb6: PUSH2 0x0fc3 00000fb9: JUMPI 00000fba: RETURNDATASIZE 00000fbb: PUSH1 0x00 00000fbd: DUP1 00000fbe: RETURNDATACOPY 00000fbf: RETURNDATASIZE 00000fc0: PUSH1 0x00 00000fc2: REVERT 00000fc3: JUMPDEST 00000fc4: POP 00000fc5: POP 00000fc6: POP 00000fc7: POP 00000fc8: PUSH1 0x40 00000fca: MLOAD 00000fcb: RETURNDATASIZE 00000fcc: PUSH1 0x20 00000fce: DUP2 00000fcf: LT 00000fd0: ISZERO 00000fd1: PUSH2 0x0fd9 00000fd4: JUMPI 00000fd5: PUSH1 0x00 00000fd7: DUP1 00000fd8: REVERT 00000fd9: JUMPDEST 00000fda: POP 00000fdb: POP 00000fdc: POP 00000fdd: JUMP 00000fde: JUMPDEST 00000fdf: PUSH1 0x0b 00000fe1: SLOAD 00000fe2: PUSH1 0x01 00000fe4: PUSH1 0xa0 00000fe6: PUSH1 0x02 00000fe8: EXP 00000fe9: SUB 00000fea: AND 00000feb: DUP2 00000fec: JUMP 00000fed: JUMPDEST 00000fee: PUSH1 0x00 00000ff0: SLOAD 00000ff1: PUSH1 0x01 00000ff3: PUSH1 0xa0 00000ff5: PUSH1 0x02 00000ff7: EXP 00000ff8: SUB 00000ff9: AND 00000ffa: CALLER 00000ffb: EQ 00000ffc: PUSH2 0x104f 00000fff: JUMPI 00001000: PUSH1 0x40 00001002: DUP1 00001003: MLOAD 00001004: PUSH1 0xe5 00001006: PUSH1 0x02 00001008: EXP 00001009: PUSH3 0x461bcd 0000100d: MUL 0000100e: DUP2 0000100f: MSTORE 00001010: PUSH1 0x20 00001012: PUSH1 0x04 00001014: DUP3 00001015: ADD 00001016: MSTORE 00001017: PUSH1 0x15 00001019: PUSH1 0x24 0000101b: DUP3 0000101c: ADD 0000101d: MSTORE 0000101e: PUSH32 0x53656e646572206e6f7420617574686f72697365640000000000000000000000 0000103f: PUSH1 0x44 00001041: DUP3 00001042: ADD 00001043: MSTORE 00001044: SWAP1 00001045: MLOAD 00001046: SWAP1 00001047: DUP2 00001048: SWAP1 00001049: SUB 0000104a: PUSH1 0x64 0000104c: ADD 0000104d: SWAP1 0000104e: REVERT 0000104f: JUMPDEST 00001050: PUSH8 0x06f05b59d3b20000 00001059: DUP2 0000105a: GT 0000105b: ISZERO 0000105c: PUSH2 0x10af 0000105f: JUMPI 00001060: PUSH1 0x40 00001062: DUP1 00001063: MLOAD 00001064: PUSH1 0xe5 00001066: PUSH1 0x02 00001068: EXP 00001069: PUSH3 0x461bcd 0000106d: MUL 0000106e: DUP2 0000106f: MSTORE 00001070: PUSH1 0x20 00001072: PUSH1 0x04 00001074: DUP3 00001075: ADD 00001076: MSTORE 00001077: PUSH1 0x1b 00001079: PUSH1 0x24 0000107b: DUP3 0000107c: ADD 0000107d: MSTORE 0000107e: PUSH32 0x466565732063616e2774206265206d6f7265207468616e203530250000000000 0000109f: PUSH1 0x44 000010a1: DUP3 000010a2: ADD 000010a3: MSTORE 000010a4: SWAP1 000010a5: MLOAD 000010a6: SWAP1 000010a7: DUP2 000010a8: SWAP1 000010a9: SUB 000010aa: PUSH1 0x64 000010ac: ADD 000010ad: SWAP1 000010ae: REVERT 000010af: JUMPDEST 000010b0: PUSH1 0x02 000010b2: SSTORE 000010b3: JUMP 000010b4: JUMPDEST 000010b5: PUSH1 0x00 000010b7: DUP1 000010b8: DUP1 000010b9: DUP1 000010ba: DUP1 000010bb: DUP1 000010bc: DUP1 000010bd: DUP1 000010be: PUSH2 0x10ce 000010c1: PUSH1 0x08 000010c3: DUP11 000010c4: PUSH4 0xffffffff 000010c9: PUSH2 0x233b 000010cc: AND 000010cd: JUMP 000010ce: JUMPDEST 000010cf: SWAP8 000010d0: POP 000010d1: PUSH1 0xfe 000010d3: PUSH1 0x02 000010d5: EXP 000010d6: DUP9 000010d7: DIV 000010d8: PUSH1 0x02 000010da: DUP2 000010db: GT 000010dc: ISZERO 000010dd: PUSH2 0x10e2 000010e0: JUMPI 000010e1: INVALID 000010e2: JUMPDEST 000010e3: SWAP7 000010e4: POP 000010e5: PUSH1 0x01 000010e7: DUP8 000010e8: PUSH1 0x02 000010ea: DUP2 000010eb: GT 000010ec: ISZERO 000010ed: PUSH2 0x10f2 000010f0: JUMPI 000010f1: INVALID 000010f2: JUMPDEST 000010f3: EQ 000010f4: PUSH2 0x1147 000010f7: JUMPI 000010f8: PUSH1 0x40 000010fa: DUP1 000010fb: MLOAD 000010fc: PUSH1 0xe5 000010fe: PUSH1 0x02 00001100: EXP 00001101: PUSH3 0x461bcd 00001105: MUL 00001106: DUP2 00001107: MSTORE 00001108: PUSH1 0x20 0000110a: PUSH1 0x04 0000110c: DUP3 0000110d: ADD 0000110e: MSTORE 0000110f: PUSH1 0x17 00001111: PUSH1 0x24 00001113: DUP3 00001114: ADD 00001115: MSTORE 00001116: PUSH32 0x54686973206973206e6f74206120627579206f72646572000000000000000000 00001137: PUSH1 0x44 00001139: DUP3 0000113a: ADD 0000113b: MSTORE 0000113c: SWAP1 0000113d: MLOAD 0000113e: SWAP1 0000113f: DUP2 00001140: SWAP1 00001141: SUB 00001142: PUSH1 0x64 00001144: ADD 00001145: SWAP1 00001146: REVERT 00001147: JUMPDEST 00001148: PUSH2 0x1150 0000114b: CALLER 0000114c: PUSH2 0x24bc 0000114f: JUMP 00001150: JUMPDEST 00001151: SWAP6 00001152: POP 00001153: PUSH1 0xe0 00001155: PUSH1 0x02 00001157: EXP 00001158: PUSH1 0x04 0000115a: DUP10 0000115b: MUL 0000115c: DIV 0000115d: DUP7 0000115e: EQ 0000115f: ISZERO 00001160: PUSH2 0x11b3 00001163: JUMPI 00001164: PUSH1 0x40 00001166: DUP1 00001167: MLOAD 00001168: PUSH1 0xe5 0000116a: PUSH1 0x02 0000116c: EXP 0000116d: PUSH3 0x461bcd 00001171: MUL 00001172: DUP2 00001173: MSTORE 00001174: PUSH1 0x20 00001176: PUSH1 0x04 00001178: DUP3 00001179: ADD 0000117a: MSTORE 0000117b: PUSH1 0x1e 0000117d: PUSH1 0x24 0000117f: DUP3 00001180: ADD 00001181: MSTORE 00001182: PUSH32 0x596f752063616e6e6f742066696c6c20796f7572206f776e206f726465720000 000011a3: PUSH1 0x44 000011a5: DUP3 000011a6: ADD 000011a7: MSTORE 000011a8: SWAP1 000011a9: MLOAD 000011aa: SWAP1 000011ab: DUP2 000011ac: SWAP1 000011ad: SUB 000011ae: PUSH1 0x64 000011b0: ADD 000011b1: SWAP1 000011b2: REVERT 000011b3: JUMPDEST 000011b4: PUSH1 0x91 000011b6: PUSH1 0x02 000011b8: EXP 000011b9: PUSH5 0x0400000000 000011bf: DUP10 000011c0: MUL 000011c1: DUP2 000011c2: SWAP1 000011c3: DIV 000011c4: SWAP6 000011c5: POP 000011c6: DUP1 000011c7: DUP10 000011c8: MUL 000011c9: DIV 000011ca: SWAP4 000011cb: POP 000011cc: PUSH2 0x11d5 000011cf: DUP6 000011d0: DUP6 000011d1: PUSH2 0x09e1 000011d4: JUMP 000011d5: JUMPDEST 000011d6: PUSH1 0x00 000011d8: DUP8 000011d9: DUP2 000011da: MSTORE 000011db: PUSH1 0x05 000011dd: PUSH1 0x20 000011df: MSTORE 000011e0: PUSH1 0x40 000011e2: SWAP1 000011e3: KECCAK256 000011e4: SLOAD 000011e5: SWAP1 000011e6: SWAP4 000011e7: POP 000011e8: DUP4 000011e9: GT 000011ea: ISZERO 000011eb: PUSH2 0x1252 000011ee: JUMPI 000011ef: PUSH1 0x40 000011f1: DUP1 000011f2: MLOAD 000011f3: PUSH1 0xe5 000011f5: PUSH1 0x02 000011f7: EXP 000011f8: PUSH3 0x461bcd 000011fc: MUL 000011fd: DUP2 000011fe: MSTORE 000011ff: PUSH1 0x20 00001201: PUSH1 0x04 00001203: DUP3 00001204: ADD 00001205: MSTORE 00001206: PUSH1 0x38 00001208: PUSH1 0x24 0000120a: DUP3 0000120b: ADD 0000120c: MSTORE 0000120d: PUSH1 0x00 0000120f: DUP1 00001210: MLOAD 00001211: PUSH1 0x20 00001213: PUSH2 0x26ab 00001216: DUP4 00001217: CODECOPY 00001218: DUP2 00001219: MLOAD 0000121a: SWAP2 0000121b: MSTORE 0000121c: PUSH1 0x44 0000121e: DUP3 0000121f: ADD 00001220: MSTORE 00001221: PUSH32 0x206665657320746f2066696c6c2074686973206f726465720000000000000000 00001242: PUSH1 0x64 00001244: DUP3 00001245: ADD 00001246: MSTORE 00001247: SWAP1 00001248: MLOAD 00001249: SWAP1 0000124a: DUP2 0000124b: SWAP1 0000124c: SUB 0000124d: PUSH1 0x84 0000124f: ADD 00001250: SWAP1 00001251: REVERT 00001252: JUMPDEST 00001253: PUSH2 0x126e 00001256: PUSH8 0x0de0b6b3a7640000 0000125f: PUSH2 0x0a14 00001262: DUP8 00001263: DUP8 00001264: PUSH4 0xffffffff 00001269: PUSH2 0x246e 0000126c: AND 0000126d: JUMP 0000126e: JUMPDEST 0000126f: SWAP2 00001270: POP 00001271: PUSH2 0x1281 00001274: PUSH1 0x08 00001276: DUP11 00001277: PUSH4 0xffffffff 0000127c: PUSH2 0x2351 0000127f: AND 00001280: JUMP 00001281: JUMPDEST 00001282: ISZERO 00001283: ISZERO 00001284: PUSH2 0x12c5 00001287: JUMPI 00001288: PUSH1 0x40 0000128a: DUP1 0000128b: MLOAD 0000128c: PUSH1 0xe5 0000128e: PUSH1 0x02 00001290: EXP 00001291: PUSH3 0x461bcd 00001295: MUL 00001296: DUP2 00001297: MSTORE 00001298: PUSH1 0x20 0000129a: PUSH1 0x04 0000129c: DUP3 0000129d: ADD 0000129e: MSTORE 0000129f: PUSH1 0x11 000012a1: PUSH1 0x24 000012a3: DUP3 000012a4: ADD 000012a5: MSTORE 000012a6: PUSH1 0x00 000012a8: DUP1 000012a9: MLOAD 000012aa: PUSH1 0x20 000012ac: PUSH2 0x26cb 000012af: DUP4 000012b0: CODECOPY 000012b1: DUP2 000012b2: MLOAD 000012b3: SWAP2 000012b4: MSTORE 000012b5: PUSH1 0x44 000012b7: DUP3 000012b8: ADD 000012b9: MSTORE 000012ba: SWAP1 000012bb: MLOAD 000012bc: SWAP1 000012bd: DUP2 000012be: SWAP1 000012bf: SUB 000012c0: PUSH1 0x64 000012c2: ADD 000012c3: SWAP1 000012c4: REVERT 000012c5: JUMPDEST 000012c6: PUSH1 0x40 000012c8: MLOAD 000012c9: CALLER 000012ca: SWAP1 000012cb: DUP4 000012cc: ISZERO 000012cd: PUSH2 0x08fc 000012d0: MUL 000012d1: SWAP1 000012d2: DUP5 000012d3: SWAP1 000012d4: PUSH1 0x00 000012d6: DUP2 000012d7: DUP2 000012d8: DUP2 000012d9: DUP6 000012da: DUP9 000012db: DUP9 000012dc: CALL 000012dd: SWAP4 000012de: POP 000012df: POP 000012e0: POP 000012e1: POP 000012e2: ISZERO 000012e3: DUP1 000012e4: ISZERO 000012e5: PUSH2 0x12f2 000012e8: JUMPI 000012e9: RETURNDATASIZE 000012ea: PUSH1 0x00 000012ec: DUP1 000012ed: RETURNDATACOPY 000012ee: RETURNDATASIZE 000012ef: PUSH1 0x00 000012f1: REVERT 000012f2: JUMPDEST 000012f3: POP 000012f4: PUSH1 0x0a 000012f6: SLOAD 000012f7: PUSH1 0x06 000012f9: DUP1 000012fa: SLOAD 000012fb: PUSH1 0x01 000012fd: PUSH1 0xa0 000012ff: PUSH1 0x02 00001301: EXP 00001302: SUB 00001303: SWAP1 00001304: SWAP3 00001305: AND 00001306: SWAP2 00001307: PUSH4 0xde995b90 0000130c: SWAP2 0000130d: CALLER 0000130e: SWAP2 0000130f: PUSH1 0xe0 00001311: PUSH1 0x02 00001313: EXP 00001314: PUSH1 0x04 00001316: DUP15 00001317: MUL 00001318: DIV 00001319: SWAP1 0000131a: DUP2 0000131b: LT 0000131c: PUSH2 0x1321 0000131f: JUMPI 00001320: INVALID 00001321: JUMPDEST 00001322: PUSH1 0x00 00001324: SWAP2 00001325: DUP3 00001326: MSTORE 00001327: PUSH1 0x20 00001329: DUP3 0000132a: KECCAK256 0000132b: ADD 0000132c: SLOAD 0000132d: PUSH1 0x40 0000132f: DUP1 00001330: MLOAD 00001331: PUSH1 0xe0 00001333: PUSH1 0x02 00001335: EXP 00001336: PUSH4 0xffffffff 0000133b: DUP8 0000133c: AND 0000133d: MUL 0000133e: DUP2 0000133f: MSTORE 00001340: PUSH1 0x01 00001342: PUSH1 0xa0 00001344: PUSH1 0x02 00001346: EXP 00001347: SUB 00001348: SWAP5 00001349: DUP6 0000134a: AND 0000134b: PUSH1 0x04 0000134d: DUP3 0000134e: ADD 0000134f: MSTORE 00001350: SWAP4 00001351: SWAP1 00001352: SWAP2 00001353: AND 00001354: PUSH1 0x24 00001356: DUP5 00001357: ADD 00001358: MSTORE 00001359: PUSH1 0x44 0000135b: DUP4 0000135c: ADD 0000135d: DUP10 0000135e: SWAP1 0000135f: MSTORE 00001360: MLOAD 00001361: PUSH1 0x64 00001363: DUP1 00001364: DUP5 00001365: ADD 00001366: SWAP4 00001367: DUP3 00001368: SWAP1 00001369: SUB 0000136a: ADD 0000136b: DUP2 0000136c: DUP4 0000136d: DUP8 0000136e: DUP1 0000136f: EXTCODESIZE 00001370: ISZERO 00001371: DUP1 00001372: ISZERO 00001373: PUSH2 0x137b 00001376: JUMPI 00001377: PUSH1 0x00 00001379: DUP1 0000137a: REVERT 0000137b: JUMPDEST 0000137c: POP 0000137d: GAS 0000137e: CALL 0000137f: ISZERO 00001380: DUP1 00001381: ISZERO 00001382: PUSH2 0x138f 00001385: JUMPI 00001386: RETURNDATASIZE 00001387: PUSH1 0x00 00001389: DUP1 0000138a: RETURNDATACOPY 0000138b: RETURNDATASIZE 0000138c: PUSH1 0x00 0000138e: REVERT 0000138f: JUMPDEST 00001390: POP 00001391: POP 00001392: POP 00001393: POP 00001394: PUSH1 0x00 00001396: DUP4 00001397: GT 00001398: ISZERO 00001399: PUSH2 0x1494 0000139c: JUMPI 0000139d: PUSH1 0x00 0000139f: DUP7 000013a0: DUP2 000013a1: MSTORE 000013a2: PUSH1 0x05 000013a4: PUSH1 0x20 000013a6: MSTORE 000013a7: PUSH1 0x40 000013a9: SWAP1 000013aa: KECCAK256 000013ab: SLOAD 000013ac: PUSH2 0x13bb 000013af: SWAP1 000013b0: DUP5 000013b1: PUSH4 0xffffffff 000013b6: PUSH2 0x25cc 000013b9: AND 000013ba: JUMP 000013bb: JUMPDEST 000013bc: PUSH1 0x00 000013be: DUP8 000013bf: DUP2 000013c0: MSTORE 000013c1: PUSH1 0x05 000013c3: PUSH1 0x20 000013c5: MSTORE 000013c6: PUSH1 0x40 000013c8: SWAP1 000013c9: KECCAK256 000013ca: SSTORE 000013cb: PUSH2 0x13db 000013ce: DUP4 000013cf: PUSH1 0x02 000013d1: PUSH4 0xffffffff 000013d6: PUSH2 0x246e 000013d9: AND 000013da: JUMP 000013db: JUMPDEST 000013dc: PUSH1 0x04 000013de: SLOAD 000013df: SWAP1 000013e0: SWAP2 000013e1: POP 000013e2: PUSH2 0x13f1 000013e5: SWAP1 000013e6: DUP3 000013e7: PUSH4 0xffffffff 000013ec: PUSH2 0x25cc 000013ef: AND 000013f0: JUMP 000013f1: JUMPDEST 000013f2: PUSH1 0x04 000013f4: SWAP1 000013f5: DUP2 000013f6: SSTORE 000013f7: PUSH1 0x0b 000013f9: SLOAD 000013fa: PUSH1 0x0a 000013fc: SLOAD 000013fd: PUSH1 0x40 000013ff: DUP1 00001400: MLOAD 00001401: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00001422: DUP2 00001423: MSTORE 00001424: PUSH1 0x01 00001426: PUSH1 0xa0 00001428: PUSH1 0x02 0000142a: EXP 0000142b: SUB 0000142c: SWAP3 0000142d: DUP4 0000142e: AND 0000142f: SWAP5 00001430: DUP2 00001431: ADD 00001432: SWAP5 00001433: SWAP1 00001434: SWAP5 00001435: MSTORE 00001436: PUSH1 0x24 00001438: DUP5 00001439: ADD 0000143a: DUP6 0000143b: SWAP1 0000143c: MSTORE 0000143d: MLOAD 0000143e: SWAP2 0000143f: AND 00001440: SWAP2 00001441: PUSH4 0xa9059cbb 00001446: SWAP2 00001447: PUSH1 0x44 00001449: DUP1 0000144a: DUP4 0000144b: ADD 0000144c: SWAP3 0000144d: PUSH1 0x20 0000144f: SWAP3 00001450: SWAP2 00001451: SWAP1 00001452: DUP3 00001453: SWAP1 00001454: SUB 00001455: ADD 00001456: DUP2 00001457: PUSH1 0x00 00001459: DUP8 0000145a: DUP1 0000145b: EXTCODESIZE 0000145c: ISZERO 0000145d: DUP1 0000145e: ISZERO 0000145f: PUSH2 0x1467 00001462: JUMPI 00001463: PUSH1 0x00 00001465: DUP1 00001466: REVERT 00001467: JUMPDEST 00001468: POP 00001469: GAS 0000146a: CALL 0000146b: ISZERO 0000146c: DUP1 0000146d: ISZERO 0000146e: PUSH2 0x147b 00001471: JUMPI 00001472: RETURNDATASIZE 00001473: PUSH1 0x00 00001475: DUP1 00001476: RETURNDATACOPY 00001477: RETURNDATASIZE 00001478: PUSH1 0x00 0000147a: REVERT 0000147b: JUMPDEST 0000147c: POP 0000147d: POP 0000147e: POP 0000147f: POP 00001480: PUSH1 0x40 00001482: MLOAD 00001483: RETURNDATASIZE 00001484: PUSH1 0x20 00001486: DUP2 00001487: LT 00001488: ISZERO 00001489: PUSH2 0x1491 0000148c: JUMPI 0000148d: PUSH1 0x00 0000148f: DUP1 00001490: REVERT 00001491: JUMPDEST 00001492: POP 00001493: POP 00001494: JUMPDEST 00001495: PUSH1 0x06 00001497: DUP1 00001498: SLOAD 00001499: PUSH1 0xe0 0000149b: PUSH1 0x02 0000149d: EXP 0000149e: PUSH1 0x04 000014a0: DUP12 000014a1: MUL 000014a2: DIV 000014a3: SWAP1 000014a4: DUP2 000014a5: LT 000014a6: PUSH2 0x14ab 000014a9: JUMPI 000014aa: INVALID 000014ab: JUMPDEST 000014ac: PUSH1 0x00 000014ae: SWAP2 000014af: DUP3 000014b0: MSTORE 000014b1: PUSH1 0x20 000014b3: SWAP1 000014b4: SWAP2 000014b5: KECCAK256 000014b6: ADD 000014b7: SLOAD 000014b8: PUSH1 0x01 000014ba: PUSH1 0xa0 000014bc: PUSH1 0x02 000014be: EXP 000014bf: SUB 000014c0: AND 000014c1: DUP8 000014c2: PUSH1 0x02 000014c4: DUP2 000014c5: GT 000014c6: ISZERO 000014c7: PUSH2 0x14cc 000014ca: JUMPI 000014cb: INVALID 000014cc: JUMPDEST 000014cd: PUSH1 0x40 000014cf: DUP1 000014d0: MLOAD 000014d1: CALLER 000014d2: DUP2 000014d3: MSTORE 000014d4: PUSH1 0x20 000014d6: DUP2 000014d7: ADD 000014d8: DUP10 000014d9: SWAP1 000014da: MSTORE 000014db: DUP1 000014dc: DUP3 000014dd: ADD 000014de: DUP9 000014df: SWAP1 000014e0: MSTORE 000014e1: SWAP1 000014e2: MLOAD 000014e3: PUSH32 0x37561a23711d8277a49bc8fdac68dafcf982b917f213a7691984a6dcea1edcd2 00001504: SWAP2 00001505: DUP2 00001506: SWAP1 00001507: SUB 00001508: PUSH1 0x60 0000150a: ADD 0000150b: SWAP1 0000150c: LOG3 0000150d: POP 0000150e: POP 0000150f: POP 00001510: POP 00001511: POP 00001512: POP 00001513: POP 00001514: POP 00001515: POP 00001516: JUMP 00001517: JUMPDEST 00001518: PUSH1 0x00 0000151a: SLOAD 0000151b: PUSH1 0x01 0000151d: PUSH1 0xa0 0000151f: PUSH1 0x02 00001521: EXP 00001522: SUB 00001523: AND 00001524: DUP2 00001525: JUMP 00001526: JUMPDEST 00001527: PUSH1 0x00 00001529: DUP1 0000152a: PUSH1 0x00 0000152c: PUSH2 0x1534 0000152f: DUP6 00001530: PUSH2 0x24a9 00001533: JUMP 00001534: JUMPDEST 00001535: DUP1 00001536: ISZERO 00001537: PUSH2 0x1544 0000153a: JUMPI 0000153b: POP 0000153c: PUSH2 0x1544 0000153f: DUP5 00001540: PUSH2 0x24a9 00001543: JUMP 00001544: JUMPDEST 00001545: ISZERO 00001546: ISZERO 00001547: PUSH2 0x159a 0000154a: JUMPI 0000154b: PUSH1 0x40 0000154d: DUP1 0000154e: MLOAD 0000154f: PUSH1 0xe5 00001551: PUSH1 0x02 00001553: EXP 00001554: PUSH3 0x461bcd 00001558: MUL 00001559: DUP2 0000155a: MSTORE 0000155b: PUSH1 0x20 0000155d: PUSH1 0x04 0000155f: DUP3 00001560: ADD 00001561: DUP2 00001562: SWAP1 00001563: MSTORE 00001564: PUSH1 0x24 00001566: DUP3 00001567: ADD 00001568: MSTORE 00001569: PUSH32 0x5072696365206f7220616d6f756e742065786365656473203131312062697473 0000158a: PUSH1 0x44 0000158c: DUP3 0000158d: ADD 0000158e: MSTORE 0000158f: SWAP1 00001590: MLOAD 00001591: SWAP1 00001592: DUP2 00001593: SWAP1 00001594: SUB 00001595: PUSH1 0x64 00001597: ADD 00001598: SWAP1 00001599: REVERT 0000159a: JUMPDEST 0000159b: PUSH1 0x00 0000159d: DUP6 0000159e: GT 0000159f: PUSH2 0x15f2 000015a2: JUMPI 000015a3: PUSH1 0x40 000015a5: DUP1 000015a6: MLOAD 000015a7: PUSH1 0xe5 000015a9: PUSH1 0x02 000015ab: EXP 000015ac: PUSH3 0x461bcd 000015b0: MUL 000015b1: DUP2 000015b2: MSTORE 000015b3: PUSH1 0x20 000015b5: PUSH1 0x04 000015b7: DUP3 000015b8: ADD 000015b9: DUP2 000015ba: SWAP1 000015bb: MSTORE 000015bc: PUSH1 0x24 000015be: DUP3 000015bf: ADD 000015c0: MSTORE 000015c1: PUSH32 0x5072696365206e6565647320746f2062652067726561746572207468616e2030 000015e2: PUSH1 0x44 000015e4: DUP3 000015e5: ADD 000015e6: MSTORE 000015e7: SWAP1 000015e8: MLOAD 000015e9: SWAP1 000015ea: DUP2 000015eb: SWAP1 000015ec: SUB 000015ed: PUSH1 0x64 000015ef: ADD 000015f0: SWAP1 000015f1: REVERT 000015f2: JUMPDEST 000015f3: PUSH1 0x00 000015f5: DUP5 000015f6: GT 000015f7: PUSH2 0x1670 000015fa: JUMPI 000015fb: PUSH1 0x40 000015fd: DUP1 000015fe: MLOAD 000015ff: PUSH1 0xe5 00001601: PUSH1 0x02 00001603: EXP 00001604: PUSH3 0x461bcd 00001608: MUL 00001609: DUP2 0000160a: MSTORE 0000160b: PUSH1 0x20 0000160d: PUSH1 0x04 0000160f: DUP3 00001610: ADD 00001611: MSTORE 00001612: PUSH1 0x21 00001614: PUSH1 0x24 00001616: DUP3 00001617: ADD 00001618: MSTORE 00001619: PUSH32 0x416d6f756e74206e6565647320746f2062652067726561746572207468616e20 0000163a: PUSH1 0x44 0000163c: DUP3 0000163d: ADD 0000163e: MSTORE 0000163f: PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 00001660: PUSH1 0x64 00001662: DUP3 00001663: ADD 00001664: MSTORE 00001665: SWAP1 00001666: MLOAD 00001667: SWAP1 00001668: DUP2 00001669: SWAP1 0000166a: SUB 0000166b: PUSH1 0x84 0000166d: ADD 0000166e: SWAP1 0000166f: REVERT 00001670: JUMPDEST 00001671: PUSH2 0x167a 00001674: DUP6 00001675: DUP6 00001676: PUSH2 0x09e1 00001679: JUMP 0000167a: JUMPDEST 0000167b: SWAP3 0000167c: POP 0000167d: PUSH2 0x1685 00001680: CALLER 00001681: PUSH2 0x24bc 00001684: JUMP 00001685: JUMPDEST 00001686: SWAP2 00001687: POP 00001688: PUSH1 0x00 0000168a: DUP4 0000168b: GT 0000168c: ISZERO 0000168d: PUSH2 0x1739 00001690: JUMPI 00001691: PUSH1 0x00 00001693: DUP3 00001694: DUP2 00001695: MSTORE 00001696: PUSH1 0x05 00001698: PUSH1 0x20 0000169a: MSTORE 0000169b: PUSH1 0x40 0000169d: SWAP1 0000169e: KECCAK256 0000169f: SLOAD 000016a0: DUP4 000016a1: GT 000016a2: ISZERO 000016a3: PUSH2 0x170a 000016a6: JUMPI 000016a7: PUSH1 0x40 000016a9: DUP1 000016aa: MLOAD 000016ab: PUSH1 0xe5 000016ad: PUSH1 0x02 000016af: EXP 000016b0: PUSH3 0x461bcd 000016b4: MUL 000016b5: DUP2 000016b6: MSTORE 000016b7: PUSH1 0x20 000016b9: PUSH1 0x04 000016bb: DUP3 000016bc: ADD 000016bd: MSTORE 000016be: PUSH1 0x29 000016c0: PUSH1 0x24 000016c2: DUP3 000016c3: ADD 000016c4: MSTORE 000016c5: PUSH1 0x00 000016c7: DUP1 000016c8: MLOAD 000016c9: PUSH1 0x20 000016cb: PUSH2 0x26ab 000016ce: DUP4 000016cf: CODECOPY 000016d0: DUP2 000016d1: MLOAD 000016d2: SWAP2 000016d3: MSTORE 000016d4: PUSH1 0x44 000016d6: DUP3 000016d7: ADD 000016d8: MSTORE 000016d9: PUSH32 0x20666f7220666565730000000000000000000000000000000000000000000000 000016fa: PUSH1 0x64 000016fc: DUP3 000016fd: ADD 000016fe: MSTORE 000016ff: SWAP1 00001700: MLOAD 00001701: SWAP1 00001702: DUP2 00001703: SWAP1 00001704: SUB 00001705: PUSH1 0x84 00001707: ADD 00001708: SWAP1 00001709: REVERT 0000170a: JUMPDEST 0000170b: PUSH1 0x00 0000170d: DUP3 0000170e: DUP2 0000170f: MSTORE 00001710: PUSH1 0x05 00001712: PUSH1 0x20 00001714: MSTORE 00001715: PUSH1 0x40 00001717: SWAP1 00001718: KECCAK256 00001719: SLOAD 0000171a: PUSH2 0x1729 0000171d: SWAP1 0000171e: DUP5 0000171f: PUSH4 0xffffffff 00001724: PUSH2 0x25cc 00001727: AND 00001728: JUMP 00001729: JUMPDEST 0000172a: PUSH1 0x00 0000172c: DUP4 0000172d: DUP2 0000172e: MSTORE 0000172f: PUSH1 0x05 00001731: PUSH1 0x20 00001733: MSTORE 00001734: PUSH1 0x40 00001736: SWAP1 00001737: KECCAK256 00001738: SSTORE 00001739: JUMPDEST 0000173a: PUSH2 0x1755 0000173d: PUSH8 0x0de0b6b3a7640000 00001746: PUSH2 0x0a14 00001749: DUP8 0000174a: DUP8 0000174b: PUSH4 0xffffffff 00001750: PUSH2 0x246e 00001753: AND 00001754: JUMP 00001755: JUMPDEST 00001756: SWAP1 00001757: POP 00001758: PUSH2 0x176f 0000175b: DUP2 0000175c: PUSH8 0x0de0b6b3a7640000 00001765: PUSH4 0xffffffff 0000176a: PUSH2 0x246e 0000176d: AND 0000176e: JUMP 0000176f: JUMPDEST 00001770: PUSH2 0x177f 00001773: DUP7 00001774: DUP7 00001775: PUSH4 0xffffffff 0000177a: PUSH2 0x246e 0000177d: AND 0000177e: JUMP 0000177f: JUMPDEST 00001780: EQ 00001781: PUSH2 0x17fa 00001784: JUMPI 00001785: PUSH1 0x40 00001787: DUP1 00001788: MLOAD 00001789: PUSH1 0xe5 0000178b: PUSH1 0x02 0000178d: EXP 0000178e: PUSH3 0x461bcd 00001792: MUL 00001793: DUP2 00001794: MSTORE 00001795: PUSH1 0x20 00001797: PUSH1 0x04 00001799: DUP3 0000179a: ADD 0000179b: MSTORE 0000179c: PUSH1 0x2f 0000179e: PUSH1 0x24 000017a0: DUP3 000017a1: ADD 000017a2: MSTORE 000017a3: PUSH32 0x54686520707269636520616e6420616d6f756e74206f662074686973206f7264 000017c4: PUSH1 0x44 000017c6: DUP3 000017c7: ADD 000017c8: MSTORE 000017c9: PUSH32 0x657220697320746f6f20736d616c6c0000000000000000000000000000000000 000017ea: PUSH1 0x64 000017ec: DUP3 000017ed: ADD 000017ee: MSTORE 000017ef: SWAP1 000017f0: MLOAD 000017f1: SWAP1 000017f2: DUP2 000017f3: SWAP1 000017f4: SUB 000017f5: PUSH1 0x84 000017f7: ADD 000017f8: SWAP1 000017f9: REVERT 000017fa: JUMPDEST 000017fb: CALLVALUE 000017fc: DUP2 000017fd: EQ 000017fe: PUSH2 0x1851 00001801: JUMPI 00001802: PUSH1 0x40 00001804: DUP1 00001805: MLOAD 00001806: PUSH1 0xe5 00001808: PUSH1 0x02 0000180a: EXP 0000180b: PUSH3 0x461bcd 0000180f: MUL 00001810: DUP2 00001811: MSTORE 00001812: PUSH1 0x20 00001814: PUSH1 0x04 00001816: DUP3 00001817: ADD 00001818: DUP2 00001819: SWAP1 0000181a: MSTORE 0000181b: PUSH1 0x24 0000181d: DUP3 0000181e: ADD 0000181f: MSTORE 00001820: PUSH32 0x4554482073656e74206e6565647320746f20657175616c2074686520636f7374 00001841: PUSH1 0x44 00001843: DUP3 00001844: ADD 00001845: MSTORE 00001846: SWAP1 00001847: MLOAD 00001848: SWAP1 00001849: DUP2 0000184a: SWAP1 0000184b: SUB 0000184c: PUSH1 0x64 0000184e: ADD 0000184f: SWAP1 00001850: REVERT 00001851: JUMPDEST 00001852: PUSH2 0x186d 00001855: PUSH1 0x01 00001857: SLOAD 00001858: DUP6 00001859: PUSH1 0x6f 0000185b: DUP9 0000185c: PUSH1 0x6f 0000185e: DUP8 0000185f: PUSH1 0x20 00001861: PUSH1 0x01 00001863: PUSH1 0x02 00001865: DUP2 00001866: GT 00001867: ISZERO 00001868: PUSH2 0x0d2d 0000186b: JUMPI 0000186c: INVALID 0000186d: JUMPDEST 0000186e: ISZERO 0000186f: PUSH2 0x18c2 00001872: JUMPI 00001873: PUSH1 0x40 00001875: DUP1 00001876: MLOAD 00001877: PUSH1 0xe5 00001879: PUSH1 0x02 0000187b: EXP 0000187c: PUSH3 0x461bcd 00001880: MUL 00001881: DUP2 00001882: MSTORE 00001883: PUSH1 0x20 00001885: PUSH1 0x04 00001887: DUP3 00001888: ADD 00001889: MSTORE 0000188a: PUSH1 0x18 0000188c: PUSH1 0x24 0000188e: DUP3 0000188f: ADD 00001890: MSTORE 00001891: PUSH32 0x4d6170207265706c6163656d656e742064657465637465640000000000000000 000018b2: PUSH1 0x44 000018b4: DUP3 000018b5: ADD 000018b6: MSTORE 000018b7: SWAP1 000018b8: MLOAD 000018b9: SWAP1 000018ba: DUP2 000018bb: SWAP1 000018bc: SUB 000018bd: PUSH1 0x64 000018bf: ADD 000018c0: SWAP1 000018c1: REVERT 000018c2: JUMPDEST 000018c3: PUSH1 0x01 000018c5: DUP1 000018c6: SLOAD 000018c7: DUP2 000018c8: ADD 000018c9: DUP2 000018ca: SSTORE 000018cb: PUSH1 0x40 000018cd: DUP1 000018ce: MLOAD 000018cf: DUP8 000018d0: DUP2 000018d1: MSTORE 000018d2: PUSH1 0x20 000018d4: DUP2 000018d5: ADD 000018d6: DUP8 000018d7: SWAP1 000018d8: MSTORE 000018d9: DUP2 000018da: MLOAD 000018db: CALLER 000018dc: SWAP4 000018dd: SWAP3 000018de: PUSH32 0xbcbf7b263490465b953d70010fc8e536abfdfbcae985c547ef7e2ada714af4ff 000018ff: SWAP3 00001900: DUP3 00001901: SWAP1 00001902: SUB 00001903: ADD 00001904: SWAP1 00001905: LOG3 00001906: POP 00001907: POP 00001908: POP 00001909: POP 0000190a: POP 0000190b: JUMP 0000190c: JUMPDEST 0000190d: PUSH1 0x07 0000190f: PUSH1 0x20 00001911: MSTORE 00001912: PUSH1 0x00 00001914: SWAP1 00001915: DUP2 00001916: MSTORE 00001917: PUSH1 0x40 00001919: SWAP1 0000191a: KECCAK256 0000191b: SLOAD 0000191c: DUP2 0000191d: JUMP 0000191e: JUMPDEST 0000191f: PUSH1 0x0b 00001921: SLOAD 00001922: PUSH1 0x00 00001924: SWAP1 00001925: PUSH1 0x01 00001927: PUSH1 0xa0 00001929: PUSH1 0x02 0000192b: EXP 0000192c: SUB 0000192d: AND 0000192e: CALLER 0000192f: EQ 00001930: PUSH2 0x1983 00001933: JUMPI 00001934: PUSH1 0x40 00001936: DUP1 00001937: MLOAD 00001938: PUSH1 0xe5 0000193a: PUSH1 0x02 0000193c: EXP 0000193d: PUSH3 0x461bcd 00001941: MUL 00001942: DUP2 00001943: MSTORE 00001944: PUSH1 0x20 00001946: PUSH1 0x04 00001948: DUP3 00001949: ADD 0000194a: DUP2 0000194b: SWAP1 0000194c: MSTORE 0000194d: PUSH1 0x24 0000194f: DUP3 00001950: ADD 00001951: MSTORE 00001952: PUSH32 0x53656e646572206e6565647320746f206265207468652066656520746f6b656e 00001973: PUSH1 0x44 00001975: DUP3 00001976: ADD 00001977: MSTORE 00001978: SWAP1 00001979: MLOAD 0000197a: SWAP1 0000197b: DUP2 0000197c: SWAP1 0000197d: SUB 0000197e: PUSH1 0x64 00001980: ADD 00001981: SWAP1 00001982: REVERT 00001983: JUMPDEST 00001984: PUSH2 0x198c 00001987: DUP5 00001988: PUSH2 0x24bc 0000198b: JUMP 0000198c: JUMPDEST 0000198d: PUSH1 0x00 0000198f: DUP2 00001990: DUP2 00001991: MSTORE 00001992: PUSH1 0x05 00001994: PUSH1 0x20 00001996: MSTORE 00001997: PUSH1 0x40 00001999: SWAP1 0000199a: KECCAK256 0000199b: SLOAD 0000199c: SWAP1 0000199d: SWAP2 0000199e: POP 0000199f: PUSH2 0x19ae 000019a2: SWAP1 000019a3: DUP5 000019a4: PUSH4 0xffffffff 000019a9: PUSH2 0x2432 000019ac: AND 000019ad: JUMP 000019ae: JUMPDEST 000019af: PUSH1 0x00 000019b1: DUP3 000019b2: DUP2 000019b3: MSTORE 000019b4: PUSH1 0x05 000019b6: PUSH1 0x20 000019b8: MSTORE 000019b9: PUSH1 0x40 000019bb: SWAP1 000019bc: KECCAK256 000019bd: SSTORE 000019be: PUSH1 0x04 000019c0: SLOAD 000019c1: PUSH2 0x19d0 000019c4: SWAP1 000019c5: DUP5 000019c6: PUSH4 0xffffffff 000019cb: PUSH2 0x2432 000019ce: AND 000019cf: JUMP 000019d0: JUMPDEST 000019d1: PUSH1 0x04 000019d3: SSTORE 000019d4: POP 000019d5: POP 000019d6: POP 000019d7: POP 000019d8: JUMP 000019d9: JUMPDEST 000019da: PUSH1 0x05 000019dc: PUSH1 0x20 000019de: MSTORE 000019df: PUSH1 0x00 000019e1: SWAP1 000019e2: DUP2 000019e3: MSTORE 000019e4: PUSH1 0x40 000019e6: SWAP1 000019e7: KECCAK256 000019e8: SLOAD 000019e9: DUP2 000019ea: JUMP 000019eb: JUMPDEST 000019ec: PUSH1 0x0a 000019ee: SLOAD 000019ef: PUSH1 0x01 000019f1: PUSH1 0xa0 000019f3: PUSH1 0x02 000019f5: EXP 000019f6: SUB 000019f7: AND 000019f8: DUP2 000019f9: JUMP 000019fa: JUMPDEST 000019fb: PUSH1 0x00 000019fd: DUP1 000019fe: DUP1 000019ff: DUP1 00001a00: DUP1 00001a01: DUP1 00001a02: DUP1 00001a03: DUP1 00001a04: PUSH2 0x1a14 00001a07: PUSH1 0x08 00001a09: DUP11 00001a0a: PUSH4 0xffffffff 00001a0f: PUSH2 0x233b 00001a12: AND 00001a13: JUMP 00001a14: JUMPDEST 00001a15: SWAP8 00001a16: POP 00001a17: PUSH1 0xfe 00001a19: PUSH1 0x02 00001a1b: EXP 00001a1c: DUP9 00001a1d: DIV 00001a1e: PUSH1 0x02 00001a20: DUP2 00001a21: GT 00001a22: ISZERO 00001a23: PUSH2 0x1a28 00001a26: JUMPI 00001a27: INVALID 00001a28: JUMPDEST 00001a29: SWAP7 00001a2a: POP 00001a2b: PUSH1 0x02 00001a2d: DUP8 00001a2e: PUSH1 0x02 00001a30: DUP2 00001a31: GT 00001a32: ISZERO 00001a33: PUSH2 0x1a38 00001a36: JUMPI 00001a37: INVALID 00001a38: JUMPDEST 00001a39: EQ 00001a3a: PUSH2 0x1a8d 00001a3d: JUMPI 00001a3e: PUSH1 0x40 00001a40: DUP1 00001a41: MLOAD 00001a42: PUSH1 0xe5 00001a44: PUSH1 0x02 00001a46: EXP 00001a47: PUSH3 0x461bcd 00001a4b: MUL 00001a4c: DUP2 00001a4d: MSTORE 00001a4e: PUSH1 0x20 00001a50: PUSH1 0x04 00001a52: DUP3 00001a53: ADD 00001a54: MSTORE 00001a55: PUSH1 0x18 00001a57: PUSH1 0x24 00001a59: DUP3 00001a5a: ADD 00001a5b: MSTORE 00001a5c: PUSH32 0x54686973206973206e6f7420612073656c6c206f726465720000000000000000 00001a7d: PUSH1 0x44 00001a7f: DUP3 00001a80: ADD 00001a81: MSTORE 00001a82: SWAP1 00001a83: MLOAD 00001a84: SWAP1 00001a85: DUP2 00001a86: SWAP1 00001a87: SUB 00001a88: PUSH1 0x64 00001a8a: ADD 00001a8b: SWAP1 00001a8c: REVERT 00001a8d: JUMPDEST 00001a8e: PUSH2 0x1a96 00001a91: CALLER 00001a92: PUSH2 0x24bc 00001a95: JUMP 00001a96: JUMPDEST 00001a97: SWAP6 00001a98: POP 00001a99: PUSH1 0xe0 00001a9b: PUSH1 0x02 00001a9d: EXP 00001a9e: PUSH1 0x04 00001aa0: DUP10 00001aa1: MUL 00001aa2: DIV 00001aa3: DUP7 00001aa4: EQ 00001aa5: ISZERO 00001aa6: PUSH2 0x1af9 00001aa9: JUMPI 00001aaa: PUSH1 0x40 00001aac: DUP1 00001aad: MLOAD 00001aae: PUSH1 0xe5 00001ab0: PUSH1 0x02 00001ab2: EXP 00001ab3: PUSH3 0x461bcd 00001ab7: MUL 00001ab8: DUP2 00001ab9: MSTORE 00001aba: PUSH1 0x20 00001abc: PUSH1 0x04 00001abe: DUP3 00001abf: ADD 00001ac0: MSTORE 00001ac1: PUSH1 0x1e 00001ac3: PUSH1 0x24 00001ac5: DUP3 00001ac6: ADD 00001ac7: MSTORE 00001ac8: PUSH32 0x596f752063616e6e6f742066696c6c20796f7572206f776e206f726465720000 00001ae9: PUSH1 0x44 00001aeb: DUP3 00001aec: ADD 00001aed: MSTORE 00001aee: SWAP1 00001aef: MLOAD 00001af0: SWAP1 00001af1: DUP2 00001af2: SWAP1 00001af3: SUB 00001af4: PUSH1 0x64 00001af6: ADD 00001af7: SWAP1 00001af8: REVERT 00001af9: JUMPDEST 00001afa: PUSH1 0x91 00001afc: PUSH1 0x02 00001afe: EXP 00001aff: PUSH5 0x0400000000 00001b05: DUP10 00001b06: MUL 00001b07: DUP2 00001b08: SWAP1 00001b09: DIV 00001b0a: SWAP6 00001b0b: POP 00001b0c: DUP1 00001b0d: DUP10 00001b0e: MUL 00001b0f: DIV 00001b10: SWAP4 00001b11: POP 00001b12: PUSH2 0x1b1b 00001b15: DUP6 00001b16: DUP6 00001b17: PUSH2 0x09e1 00001b1a: JUMP 00001b1b: JUMPDEST 00001b1c: PUSH1 0x00 00001b1e: DUP8 00001b1f: DUP2 00001b20: MSTORE 00001b21: PUSH1 0x05 00001b23: PUSH1 0x20 00001b25: MSTORE 00001b26: PUSH1 0x40 00001b28: SWAP1 00001b29: KECCAK256 00001b2a: SLOAD 00001b2b: SWAP1 00001b2c: SWAP4 00001b2d: POP 00001b2e: DUP4 00001b2f: GT 00001b30: ISZERO 00001b31: PUSH2 0x1b98 00001b34: JUMPI 00001b35: PUSH1 0x40 00001b37: DUP1 00001b38: MLOAD 00001b39: PUSH1 0xe5 00001b3b: PUSH1 0x02 00001b3d: EXP 00001b3e: PUSH3 0x461bcd 00001b42: MUL 00001b43: DUP2 00001b44: MSTORE 00001b45: PUSH1 0x20 00001b47: PUSH1 0x04 00001b49: DUP3 00001b4a: ADD 00001b4b: MSTORE 00001b4c: PUSH1 0x38 00001b4e: PUSH1 0x24 00001b50: DUP3 00001b51: ADD 00001b52: MSTORE 00001b53: PUSH1 0x00 00001b55: DUP1 00001b56: MLOAD 00001b57: PUSH1 0x20 00001b59: PUSH2 0x26ab 00001b5c: DUP4 00001b5d: CODECOPY 00001b5e: DUP2 00001b5f: MLOAD 00001b60: SWAP2 00001b61: MSTORE 00001b62: PUSH1 0x44 00001b64: DUP3 00001b65: ADD 00001b66: MSTORE 00001b67: PUSH32 0x206665657320746f2066696c6c2074686973206f726465720000000000000000 00001b88: PUSH1 0x64 00001b8a: DUP3 00001b8b: ADD 00001b8c: MSTORE 00001b8d: SWAP1 00001b8e: MLOAD 00001b8f: SWAP1 00001b90: DUP2 00001b91: SWAP1 00001b92: SUB 00001b93: PUSH1 0x84 00001b95: ADD 00001b96: SWAP1 00001b97: REVERT 00001b98: JUMPDEST 00001b99: PUSH2 0x1bb4 00001b9c: PUSH8 0x0de0b6b3a7640000 00001ba5: PUSH2 0x0a14 00001ba8: DUP8 00001ba9: DUP8 00001baa: PUSH4 0xffffffff 00001baf: PUSH2 0x246e 00001bb2: AND 00001bb3: JUMP 00001bb4: JUMPDEST 00001bb5: SWAP2 00001bb6: POP 00001bb7: CALLVALUE 00001bb8: DUP3 00001bb9: EQ 00001bba: PUSH2 0x1c0d 00001bbd: JUMPI 00001bbe: PUSH1 0x40 00001bc0: DUP1 00001bc1: MLOAD 00001bc2: PUSH1 0xe5 00001bc4: PUSH1 0x02 00001bc6: EXP 00001bc7: PUSH3 0x461bcd 00001bcb: MUL 00001bcc: DUP2 00001bcd: MSTORE 00001bce: PUSH1 0x20 00001bd0: PUSH1 0x04 00001bd2: DUP3 00001bd3: ADD 00001bd4: DUP2 00001bd5: SWAP1 00001bd6: MSTORE 00001bd7: PUSH1 0x24 00001bd9: DUP3 00001bda: ADD 00001bdb: MSTORE 00001bdc: PUSH32 0x4554482073656e74206e6565647320746f20657175616c2074686520636f7374 00001bfd: PUSH1 0x44 00001bff: DUP3 00001c00: ADD 00001c01: MSTORE 00001c02: SWAP1 00001c03: MLOAD 00001c04: SWAP1 00001c05: DUP2 00001c06: SWAP1 00001c07: SUB 00001c08: PUSH1 0x64 00001c0a: ADD 00001c0b: SWAP1 00001c0c: REVERT 00001c0d: JUMPDEST 00001c0e: PUSH2 0x1c1e 00001c11: PUSH1 0x08 00001c13: DUP11 00001c14: PUSH4 0xffffffff 00001c19: PUSH2 0x2351 00001c1c: AND 00001c1d: JUMP 00001c1e: JUMPDEST 00001c1f: ISZERO 00001c20: ISZERO 00001c21: PUSH2 0x1c62 00001c24: JUMPI 00001c25: PUSH1 0x40 00001c27: DUP1 00001c28: MLOAD 00001c29: PUSH1 0xe5 00001c2b: PUSH1 0x02 00001c2d: EXP 00001c2e: PUSH3 0x461bcd 00001c32: MUL 00001c33: DUP2 00001c34: MSTORE 00001c35: PUSH1 0x20 00001c37: PUSH1 0x04 00001c39: DUP3 00001c3a: ADD 00001c3b: MSTORE 00001c3c: PUSH1 0x11 00001c3e: PUSH1 0x24 00001c40: DUP3 00001c41: ADD 00001c42: MSTORE 00001c43: PUSH1 0x00 00001c45: DUP1 00001c46: MLOAD 00001c47: PUSH1 0x20 00001c49: PUSH2 0x26cb 00001c4c: DUP4 00001c4d: CODECOPY 00001c4e: DUP2 00001c4f: MLOAD 00001c50: SWAP2 00001c51: MSTORE 00001c52: PUSH1 0x44 00001c54: DUP3 00001c55: ADD 00001c56: MSTORE 00001c57: SWAP1 00001c58: MLOAD 00001c59: SWAP1 00001c5a: DUP2 00001c5b: SWAP1 00001c5c: SUB 00001c5d: PUSH1 0x64 00001c5f: ADD 00001c60: SWAP1 00001c61: REVERT 00001c62: JUMPDEST 00001c63: PUSH1 0x06 00001c65: DUP1 00001c66: SLOAD 00001c67: PUSH1 0xe0 00001c69: PUSH1 0x02 00001c6b: EXP 00001c6c: PUSH1 0x04 00001c6e: DUP12 00001c6f: MUL 00001c70: DIV 00001c71: SWAP1 00001c72: DUP2 00001c73: LT 00001c74: PUSH2 0x1c79 00001c77: JUMPI 00001c78: INVALID 00001c79: JUMPDEST 00001c7a: PUSH1 0x00 00001c7c: SWAP2 00001c7d: DUP3 00001c7e: MSTORE 00001c7f: PUSH1 0x20 00001c81: DUP3 00001c82: KECCAK256 00001c83: ADD 00001c84: SLOAD 00001c85: PUSH1 0x40 00001c87: MLOAD 00001c88: PUSH1 0x01 00001c8a: PUSH1 0xa0 00001c8c: PUSH1 0x02 00001c8e: EXP 00001c8f: SUB 00001c90: SWAP1 00001c91: SWAP2 00001c92: AND 00001c93: SWAP2 00001c94: CALLVALUE 00001c95: DUP1 00001c96: ISZERO 00001c97: PUSH2 0x08fc 00001c9a: MUL 00001c9b: SWAP3 00001c9c: SWAP1 00001c9d: SWAP2 00001c9e: DUP2 00001c9f: DUP2 00001ca0: DUP2 00001ca1: DUP6 00001ca2: DUP9 00001ca3: DUP9 00001ca4: CALL 00001ca5: SWAP4 00001ca6: POP 00001ca7: POP 00001ca8: POP 00001ca9: POP 00001caa: ISZERO 00001cab: DUP1 00001cac: ISZERO 00001cad: PUSH2 0x1cba 00001cb0: JUMPI 00001cb1: RETURNDATASIZE 00001cb2: PUSH1 0x00 00001cb4: DUP1 00001cb5: RETURNDATACOPY 00001cb6: RETURNDATASIZE 00001cb7: PUSH1 0x00 00001cb9: REVERT 00001cba: JUMPDEST 00001cbb: POP 00001cbc: PUSH1 0x0a 00001cbe: SLOAD 00001cbf: PUSH1 0x40 00001cc1: DUP1 00001cc2: MLOAD 00001cc3: PUSH32 0xe2d0d51900000000000000000000000000000000000000000000000000000000 00001ce4: DUP2 00001ce5: MSTORE 00001ce6: CALLER 00001ce7: PUSH1 0x04 00001ce9: DUP3 00001cea: ADD 00001ceb: MSTORE 00001cec: PUSH1 0x24 00001cee: DUP2 00001cef: ADD 00001cf0: DUP8 00001cf1: SWAP1 00001cf2: MSTORE 00001cf3: SWAP1 00001cf4: MLOAD 00001cf5: PUSH1 0x01 00001cf7: PUSH1 0xa0 00001cf9: PUSH1 0x02 00001cfb: EXP 00001cfc: SUB 00001cfd: SWAP1 00001cfe: SWAP3 00001cff: AND 00001d00: SWAP2 00001d01: PUSH4 0xe2d0d519 00001d06: SWAP2 00001d07: PUSH1 0x44 00001d09: DUP1 00001d0a: DUP3 00001d0b: ADD 00001d0c: SWAP3 00001d0d: PUSH1 0x00 00001d0f: SWAP3 00001d10: SWAP1 00001d11: SWAP2 00001d12: SWAP1 00001d13: DUP3 00001d14: SWAP1 00001d15: SUB 00001d16: ADD 00001d17: DUP2 00001d18: DUP4 00001d19: DUP8 00001d1a: DUP1 00001d1b: EXTCODESIZE 00001d1c: ISZERO 00001d1d: DUP1 00001d1e: ISZERO 00001d1f: PUSH2 0x137b 00001d22: JUMPI 00001d23: PUSH1 0x00 00001d25: DUP1 00001d26: REVERT 00001d27: JUMPDEST 00001d28: PUSH1 0x00 00001d2a: PUSH2 0x1d32 00001d2d: CALLER 00001d2e: PUSH2 0x24bc 00001d31: JUMP 00001d32: JUMPDEST 00001d33: PUSH1 0x00 00001d35: DUP2 00001d36: DUP2 00001d37: MSTORE 00001d38: PUSH1 0x05 00001d3a: PUSH1 0x20 00001d3c: MSTORE 00001d3d: PUSH1 0x40 00001d3f: SWAP1 00001d40: KECCAK256 00001d41: SLOAD 00001d42: SWAP1 00001d43: SWAP2 00001d44: POP 00001d45: DUP3 00001d46: GT 00001d47: ISZERO 00001d48: PUSH2 0x1dc1 00001d4b: JUMPI 00001d4c: PUSH1 0x40 00001d4e: DUP1 00001d4f: MLOAD 00001d50: PUSH1 0xe5 00001d52: PUSH1 0x02 00001d54: EXP 00001d55: PUSH3 0x461bcd 00001d59: MUL 00001d5a: DUP2 00001d5b: MSTORE 00001d5c: PUSH1 0x20 00001d5e: PUSH1 0x04 00001d60: DUP3 00001d61: ADD 00001d62: MSTORE 00001d63: PUSH1 0x29 00001d65: PUSH1 0x24 00001d67: DUP3 00001d68: ADD 00001d69: MSTORE 00001d6a: PUSH32 0x596f75277265207769746864726177696e67206d6f7265207468616e20796f75 00001d8b: PUSH1 0x44 00001d8d: DUP3 00001d8e: ADD 00001d8f: MSTORE 00001d90: PUSH32 0x722062616c616e63650000000000000000000000000000000000000000000000 00001db1: PUSH1 0x64 00001db3: DUP3 00001db4: ADD 00001db5: MSTORE 00001db6: SWAP1 00001db7: MLOAD 00001db8: SWAP1 00001db9: DUP2 00001dba: SWAP1 00001dbb: SUB 00001dbc: PUSH1 0x84 00001dbe: ADD 00001dbf: SWAP1 00001dc0: REVERT 00001dc1: JUMPDEST 00001dc2: PUSH1 0x00 00001dc4: DUP2 00001dc5: DUP2 00001dc6: MSTORE 00001dc7: PUSH1 0x05 00001dc9: PUSH1 0x20 00001dcb: MSTORE 00001dcc: PUSH1 0x40 00001dce: SWAP1 00001dcf: KECCAK256 00001dd0: SLOAD 00001dd1: PUSH2 0x1de0 00001dd4: SWAP1 00001dd5: DUP4 00001dd6: PUSH4 0xffffffff 00001ddb: PUSH2 0x25cc 00001dde: AND 00001ddf: JUMP 00001de0: JUMPDEST 00001de1: PUSH1 0x00 00001de3: DUP3 00001de4: DUP2 00001de5: MSTORE 00001de6: PUSH1 0x05 00001de8: PUSH1 0x20 00001dea: MSTORE 00001deb: PUSH1 0x40 00001ded: SWAP1 00001dee: KECCAK256 00001def: SSTORE 00001df0: PUSH1 0x04 00001df2: SLOAD 00001df3: PUSH2 0x1e02 00001df6: SWAP1 00001df7: DUP4 00001df8: PUSH4 0xffffffff 00001dfd: PUSH2 0x25cc 00001e00: AND 00001e01: JUMP 00001e02: JUMPDEST 00001e03: PUSH1 0x04 00001e05: SSTORE 00001e06: PUSH1 0x00 00001e08: DUP2 00001e09: DUP2 00001e0a: MSTORE 00001e0b: PUSH1 0x05 00001e0d: PUSH1 0x20 00001e0f: MSTORE 00001e10: PUSH1 0x40 00001e12: SWAP1 00001e13: KECCAK256 00001e14: SLOAD 00001e15: ISZERO 00001e16: ISZERO 00001e17: PUSH2 0x1e2a 00001e1a: JUMPI 00001e1b: PUSH1 0x00 00001e1d: DUP2 00001e1e: DUP2 00001e1f: MSTORE 00001e20: PUSH1 0x05 00001e22: PUSH1 0x20 00001e24: MSTORE 00001e25: PUSH1 0x40 00001e27: DUP2 00001e28: KECCAK256 00001e29: SSTORE 00001e2a: JUMPDEST 00001e2b: PUSH1 0x0b 00001e2d: SLOAD 00001e2e: PUSH1 0x40 00001e30: DUP1 00001e31: MLOAD 00001e32: PUSH32 0xa9059cbb00000000000000000000000000000000000000000000000000000000 00001e53: DUP2 00001e54: MSTORE 00001e55: CALLER 00001e56: PUSH1 0x04 00001e58: DUP3 00001e59: ADD 00001e5a: MSTORE 00001e5b: PUSH1 0x24 00001e5d: DUP2 00001e5e: ADD 00001e5f: DUP6 00001e60: SWAP1 00001e61: MSTORE 00001e62: SWAP1 00001e63: MLOAD 00001e64: PUSH1 0x01 00001e66: PUSH1 0xa0 00001e68: PUSH1 0x02 00001e6a: EXP 00001e6b: SUB 00001e6c: SWAP1 00001e6d: SWAP3 00001e6e: AND 00001e6f: SWAP2 00001e70: PUSH4 0xa9059cbb 00001e75: SWAP2 00001e76: PUSH1 0x44 00001e78: DUP1 00001e79: DUP3 00001e7a: ADD 00001e7b: SWAP3 00001e7c: PUSH1 0x20 00001e7e: SWAP3 00001e7f: SWAP1 00001e80: SWAP2 00001e81: SWAP1 00001e82: DUP3 00001e83: SWAP1 00001e84: SUB 00001e85: ADD 00001e86: DUP2 00001e87: PUSH1 0x00 00001e89: DUP8 00001e8a: DUP1 00001e8b: EXTCODESIZE 00001e8c: ISZERO 00001e8d: DUP1 00001e8e: ISZERO 00001e8f: PUSH2 0x1e97 00001e92: JUMPI 00001e93: PUSH1 0x00 00001e95: DUP1 00001e96: REVERT 00001e97: JUMPDEST 00001e98: POP 00001e99: GAS 00001e9a: CALL 00001e9b: ISZERO 00001e9c: DUP1 00001e9d: ISZERO 00001e9e: PUSH2 0x1eab 00001ea1: JUMPI 00001ea2: RETURNDATASIZE 00001ea3: PUSH1 0x00 00001ea5: DUP1 00001ea6: RETURNDATACOPY 00001ea7: RETURNDATASIZE 00001ea8: PUSH1 0x00 00001eaa: REVERT 00001eab: JUMPDEST 00001eac: POP 00001ead: POP 00001eae: POP 00001eaf: POP 00001eb0: PUSH1 0x40 00001eb2: MLOAD 00001eb3: RETURNDATASIZE 00001eb4: PUSH1 0x20 00001eb6: DUP2 00001eb7: LT 00001eb8: ISZERO 00001eb9: PUSH2 0x1ec1 00001ebc: JUMPI 00001ebd: PUSH1 0x00 00001ebf: DUP1 00001ec0: REVERT 00001ec1: JUMPDEST 00001ec2: POP 00001ec3: POP 00001ec4: POP 00001ec5: POP 00001ec6: JUMP 00001ec7: JUMPDEST 00001ec8: PUSH1 0x00 00001eca: DUP1 00001ecb: DUP1 00001ecc: DUP1 00001ecd: DUP1 00001ece: PUSH2 0x1ede 00001ed1: PUSH1 0x08 00001ed3: DUP8 00001ed4: PUSH4 0xffffffff 00001ed9: PUSH2 0x233b 00001edc: AND 00001edd: JUMP 00001ede: JUMPDEST 00001edf: SWAP1 00001ee0: POP 00001ee1: PUSH1 0xfe 00001ee3: PUSH1 0x02 00001ee5: EXP 00001ee6: DUP2 00001ee7: DIV 00001ee8: PUSH1 0x02 00001eea: DUP2 00001eeb: GT 00001eec: ISZERO 00001eed: PUSH2 0x1ef2 00001ef0: JUMPI 00001ef1: INVALID 00001ef2: JUMPDEST 00001ef3: PUSH1 0x06 00001ef5: DUP1 00001ef6: SLOAD 00001ef7: PUSH1 0xe0 00001ef9: PUSH1 0x02 00001efb: EXP 00001efc: PUSH1 0x04 00001efe: DUP6 00001eff: MUL 00001f00: DIV 00001f01: SWAP1 00001f02: DUP2 00001f03: LT 00001f04: PUSH2 0x1f09 00001f07: JUMPI 00001f08: INVALID 00001f09: JUMPDEST 00001f0a: PUSH1 0x00 00001f0c: SWAP2 00001f0d: DUP3 00001f0e: MSTORE 00001f0f: PUSH1 0x20 00001f11: SWAP1 00001f12: SWAP2 00001f13: KECCAK256 00001f14: ADD 00001f15: SLOAD 00001f16: SWAP1 00001f17: SWAP6 00001f18: POP 00001f19: PUSH1 0x01 00001f1b: PUSH1 0xa0 00001f1d: PUSH1 0x02 00001f1f: EXP 00001f20: SUB 00001f21: AND 00001f22: SWAP4 00001f23: POP 00001f24: PUSH1 0x91 00001f26: PUSH1 0x02 00001f28: EXP 00001f29: PUSH5 0x0400000000 00001f2f: DUP3 00001f30: MUL 00001f31: DUP2 00001f32: SWAP1 00001f33: DIV 00001f34: SWAP4 00001f35: POP 00001f36: DUP1 00001f37: DUP3 00001f38: MUL 00001f39: DIV 00001f3a: SWAP2 00001f3b: POP 00001f3c: POP 00001f3d: SWAP2 00001f3e: SWAP4 00001f3f: POP 00001f40: SWAP2 00001f41: SWAP4 00001f42: JUMP 00001f43: JUMPDEST 00001f44: PUSH1 0x02 00001f46: SLOAD 00001f47: DUP2 00001f48: JUMP 00001f49: JUMPDEST 00001f4a: PUSH1 0x00 00001f4c: DUP1 00001f4d: DUP1 00001f4e: DUP1 00001f4f: DUP1 00001f50: DUP1 00001f51: DUP1 00001f52: PUSH2 0x1f62 00001f55: PUSH1 0x08 00001f57: DUP10 00001f58: PUSH4 0xffffffff 00001f5d: PUSH2 0x233b 00001f60: AND 00001f61: JUMP 00001f62: JUMPDEST 00001f63: SWAP7 00001f64: POP 00001f65: PUSH1 0xfe 00001f67: PUSH1 0x02 00001f69: EXP 00001f6a: DUP8 00001f6b: DIV 00001f6c: PUSH1 0x02 00001f6e: DUP2 00001f6f: GT 00001f70: ISZERO 00001f71: PUSH2 0x1f76 00001f74: JUMPI 00001f75: INVALID 00001f76: JUMPDEST 00001f77: SWAP6 00001f78: POP 00001f79: PUSH1 0x01 00001f7b: DUP7 00001f7c: PUSH1 0x02 00001f7e: DUP2 00001f7f: GT 00001f80: ISZERO 00001f81: PUSH2 0x1f86 00001f84: JUMPI 00001f85: INVALID 00001f86: JUMPDEST 00001f87: EQ 00001f88: PUSH2 0x1fdb 00001f8b: JUMPI 00001f8c: PUSH1 0x40 00001f8e: DUP1 00001f8f: MLOAD 00001f90: PUSH1 0xe5 00001f92: PUSH1 0x02 00001f94: EXP 00001f95: PUSH3 0x461bcd 00001f99: MUL 00001f9a: DUP2 00001f9b: MSTORE 00001f9c: PUSH1 0x20 00001f9e: PUSH1 0x04 00001fa0: DUP3 00001fa1: ADD 00001fa2: MSTORE 00001fa3: PUSH1 0x17 00001fa5: PUSH1 0x24 00001fa7: DUP3 00001fa8: ADD 00001fa9: MSTORE 00001faa: PUSH32 0x54686973206973206e6f74206120627579206f72646572000000000000000000 00001fcb: PUSH1 0x44 00001fcd: DUP3 00001fce: ADD 00001fcf: MSTORE 00001fd0: SWAP1 00001fd1: MLOAD 00001fd2: SWAP1 00001fd3: DUP2 00001fd4: SWAP1 00001fd5: SUB 00001fd6: PUSH1 0x64 00001fd8: ADD 00001fd9: SWAP1 00001fda: REVERT 00001fdb: JUMPDEST 00001fdc: CALLER 00001fdd: PUSH1 0x00 00001fdf: SWAP1 00001fe0: DUP2 00001fe1: MSTORE 00001fe2: PUSH1 0x07 00001fe4: PUSH1 0x20 00001fe6: MSTORE 00001fe7: PUSH1 0x40 00001fe9: SWAP1 00001fea: KECCAK256 00001feb: SLOAD 00001fec: SWAP5 00001fed: POP 00001fee: PUSH1 0xe0 00001ff0: PUSH1 0x02 00001ff2: EXP 00001ff3: PUSH1 0x04 00001ff5: DUP9 00001ff6: MUL 00001ff7: DIV 00001ff8: DUP6 00001ff9: EQ 00001ffa: PUSH2 0x2072 00001ffd: JUMPI 00001ffe: PUSH1 0x40 00002000: DUP1 00002001: MLOAD 00002002: PUSH1 0xe5 00002004: PUSH1 0x02 00002006: EXP 00002007: PUSH3 0x461bcd 0000200b: MUL 0000200c: DUP2 0000200d: MSTORE 0000200e: PUSH1 0x20 00002010: PUSH1 0x04 00002012: DUP3 00002013: ADD 00002014: MSTORE 00002015: PUSH1 0x24 00002017: DUP1 00002018: DUP3 00002019: ADD 0000201a: MSTORE 0000201b: PUSH32 0x596f7520617265206e6f74207468652073656e646572206f662074686973206f 0000203c: PUSH1 0x44 0000203e: DUP3 0000203f: ADD 00002040: MSTORE 00002041: PUSH32 0x7264657200000000000000000000000000000000000000000000000000000000 00002062: PUSH1 0x64 00002064: DUP3 00002065: ADD 00002066: MSTORE 00002067: SWAP1 00002068: MLOAD 00002069: SWAP1 0000206a: DUP2 0000206b: SWAP1 0000206c: SUB 0000206d: PUSH1 0x84 0000206f: ADD 00002070: SWAP1 00002071: REVERT 00002072: JUMPDEST 00002073: PUSH1 0x91 00002075: PUSH1 0x02 00002077: EXP 00002078: PUSH5 0x0400000000 0000207e: DUP9 0000207f: MUL 00002080: DUP2 00002081: SWAP1 00002082: DIV 00002083: SWAP5 00002084: POP 00002085: DUP1 00002086: DUP9 00002087: MUL 00002088: DIV 00002089: SWAP3 0000208a: POP 0000208b: PUSH2 0x209b 0000208e: PUSH1 0x08 00002090: DUP10 00002091: PUSH4 0xffffffff 00002096: PUSH2 0x2351 00002099: AND 0000209a: JUMP 0000209b: JUMPDEST 0000209c: ISZERO 0000209d: ISZERO 0000209e: PUSH2 0x20df 000020a1: JUMPI 000020a2: PUSH1 0x40 000020a4: DUP1 000020a5: MLOAD 000020a6: PUSH1 0xe5 000020a8: PUSH1 0x02 000020aa: EXP 000020ab: PUSH3 0x461bcd 000020af: MUL 000020b0: DUP2 000020b1: MSTORE 000020b2: PUSH1 0x20 000020b4: PUSH1 0x04 000020b6: DUP3 000020b7: ADD 000020b8: MSTORE 000020b9: PUSH1 0x11 000020bb: PUSH1 0x24 000020bd: DUP3 000020be: ADD 000020bf: MSTORE 000020c0: PUSH1 0x00 000020c2: DUP1 000020c3: MLOAD 000020c4: PUSH1 0x20 000020c6: PUSH2 0x26cb 000020c9: DUP4 000020ca: CODECOPY 000020cb: DUP2 000020cc: MLOAD 000020cd: SWAP2 000020ce: MSTORE 000020cf: PUSH1 0x44 000020d1: DUP3 000020d2: ADD 000020d3: MSTORE 000020d4: SWAP1 000020d5: MLOAD 000020d6: SWAP1 000020d7: DUP2 000020d8: SWAP1 000020d9: SUB 000020da: PUSH1 0x64 000020dc: ADD 000020dd: SWAP1 000020de: REVERT 000020df: JUMPDEST 000020e0: PUSH2 0x20e9 000020e3: DUP5 000020e4: DUP5 000020e5: PUSH2 0x09e1 000020e8: JUMP 000020e9: JUMPDEST 000020ea: SWAP2 000020eb: POP 000020ec: PUSH1 0x00 000020ee: DUP3 000020ef: GT 000020f0: ISZERO 000020f1: PUSH2 0x2123 000020f4: JUMPI 000020f5: PUSH1 0x00 000020f7: DUP6 000020f8: DUP2 000020f9: MSTORE 000020fa: PUSH1 0x05 000020fc: PUSH1 0x20 000020fe: MSTORE 000020ff: PUSH1 0x40 00002101: SWAP1 00002102: KECCAK256 00002103: SLOAD 00002104: PUSH2 0x2113 00002107: SWAP1 00002108: DUP4 00002109: PUSH4 0xffffffff 0000210e: PUSH2 0x2432 00002111: AND 00002112: JUMP 00002113: JUMPDEST 00002114: PUSH1 0x00 00002116: DUP7 00002117: DUP2 00002118: MSTORE 00002119: PUSH1 0x05 0000211b: PUSH1 0x20 0000211d: MSTORE 0000211e: PUSH1 0x40 00002120: SWAP1 00002121: KECCAK256 00002122: SSTORE 00002123: JUMPDEST 00002124: PUSH2 0x213f 00002127: PUSH8 0x0de0b6b3a7640000 00002130: PUSH2 0x0a14 00002133: DUP7 00002134: DUP7 00002135: PUSH4 0xffffffff 0000213a: PUSH2 0x246e 0000213d: AND 0000213e: JUMP 0000213f: JUMPDEST 00002140: PUSH1 0x40 00002142: MLOAD 00002143: SWAP1 00002144: SWAP2 00002145: POP 00002146: CALLER 00002147: SWAP1 00002148: DUP3 00002149: ISZERO 0000214a: PUSH2 0x08fc 0000214d: MUL 0000214e: SWAP1 0000214f: DUP4 00002150: SWAP1 00002151: PUSH1 0x00 00002153: DUP2 00002154: DUP2 00002155: DUP2 00002156: DUP6 00002157: DUP9 00002158: DUP9 00002159: CALL 0000215a: SWAP4 0000215b: POP 0000215c: POP 0000215d: POP 0000215e: POP 0000215f: ISZERO 00002160: DUP1 00002161: ISZERO 00002162: PUSH2 0x216f 00002165: JUMPI 00002166: RETURNDATASIZE 00002167: PUSH1 0x00 00002169: DUP1 0000216a: RETURNDATACOPY 0000216b: RETURNDATASIZE 0000216c: PUSH1 0x00 0000216e: REVERT 0000216f: JUMPDEST 00002170: POP 00002171: CALLER 00002172: DUP7 00002173: PUSH1 0x02 00002175: DUP2 00002176: GT 00002177: ISZERO 00002178: PUSH2 0x217d 0000217b: JUMPI 0000217c: INVALID 0000217d: JUMPDEST 0000217e: PUSH1 0x40 00002180: DUP1 00002181: MLOAD 00002182: DUP8 00002183: DUP2 00002184: MSTORE 00002185: PUSH1 0x20 00002187: DUP2 00002188: ADD 00002189: DUP8 0000218a: SWAP1 0000218b: MSTORE 0000218c: DUP2 0000218d: MLOAD 0000218e: PUSH32 0xe2f99b27ce844edd7e242a1056afe8f0a4f5c28c45b300a13fec9aff87d82bff 000021af: SWAP3 000021b0: SWAP2 000021b1: DUP2 000021b2: SWAP1 000021b3: SUB 000021b4: SWAP1 000021b5: SWAP2 000021b6: ADD 000021b7: SWAP1 000021b8: LOG3 000021b9: POP 000021ba: POP 000021bb: POP 000021bc: POP 000021bd: POP 000021be: POP 000021bf: POP 000021c0: POP 000021c1: JUMP 000021c2: JUMPDEST 000021c3: PUSH1 0x06 000021c5: DUP1 000021c6: SLOAD 000021c7: DUP3 000021c8: SWAP1 000021c9: DUP2 000021ca: LT 000021cb: PUSH2 0x21d0 000021ce: JUMPI 000021cf: INVALID 000021d0: JUMPDEST 000021d1: PUSH1 0x00 000021d3: SWAP2 000021d4: DUP3 000021d5: MSTORE 000021d6: PUSH1 0x20 000021d8: SWAP1 000021d9: SWAP2 000021da: KECCAK256 000021db: ADD 000021dc: SLOAD 000021dd: PUSH1 0x01 000021df: PUSH1 0xa0 000021e1: PUSH1 0x02 000021e3: EXP 000021e4: SUB 000021e5: AND 000021e6: SWAP1 000021e7: POP 000021e8: DUP2 000021e9: JUMP 000021ea: JUMPDEST 000021eb: PUSH1 0x00 000021ed: SLOAD 000021ee: PUSH1 0x01 000021f0: PUSH1 0xa0 000021f2: PUSH1 0x02 000021f4: EXP 000021f5: SUB 000021f6: AND 000021f7: CALLER 000021f8: EQ 000021f9: PUSH2 0x224c 000021fc: JUMPI 000021fd: PUSH1 0x40 000021ff: DUP1 00002200: MLOAD 00002201: PUSH1 0xe5 00002203: PUSH1 0x02 00002205: EXP 00002206: PUSH3 0x461bcd 0000220a: MUL 0000220b: DUP2 0000220c: MSTORE 0000220d: PUSH1 0x20 0000220f: PUSH1 0x04 00002211: DUP3 00002212: ADD 00002213: MSTORE 00002214: PUSH1 0x15 00002216: PUSH1 0x24 00002218: DUP3 00002219: ADD 0000221a: MSTORE 0000221b: PUSH32 0x53656e646572206e6f7420617574686f72697365640000000000000000000000 0000223c: PUSH1 0x44 0000223e: DUP3 0000223f: ADD 00002240: MSTORE 00002241: SWAP1 00002242: MLOAD 00002243: SWAP1 00002244: DUP2 00002245: SWAP1 00002246: SUB 00002247: PUSH1 0x64 00002249: ADD 0000224a: SWAP1 0000224b: REVERT 0000224c: JUMPDEST 0000224d: PUSH1 0x01 0000224f: PUSH1 0xa0 00002251: PUSH1 0x02 00002253: EXP 00002254: SUB 00002255: DUP2 00002256: AND 00002257: ISZERO 00002258: ISZERO 00002259: PUSH2 0x2261 0000225c: JUMPI 0000225d: PUSH1 0x00 0000225f: DUP1 00002260: REVERT 00002261: JUMPDEST 00002262: PUSH1 0x00 00002264: DUP1 00002265: SLOAD 00002266: PUSH1 0x40 00002268: MLOAD 00002269: PUSH1 0x01 0000226b: PUSH1 0xa0 0000226d: PUSH1 0x02 0000226f: EXP 00002270: SUB 00002271: DUP1 00002272: DUP6 00002273: AND 00002274: SWAP4 00002275: SWAP3 00002276: AND 00002277: SWAP2 00002278: PUSH32 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0 00002299: SWAP2 0000229a: LOG3 0000229b: PUSH1 0x00 0000229d: DUP1 0000229e: SLOAD 0000229f: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000022b4: NOT 000022b5: AND 000022b6: PUSH1 0x01 000022b8: PUSH1 0xa0 000022ba: PUSH1 0x02 000022bc: EXP 000022bd: SUB 000022be: SWAP3 000022bf: SWAP1 000022c0: SWAP3 000022c1: AND 000022c2: SWAP2 000022c3: SWAP1 000022c4: SWAP2 000022c5: OR 000022c6: SWAP1 000022c7: SSTORE 000022c8: JUMP 000022c9: JUMPDEST 000022ca: PUSH2 0x22d1 000022cd: PUSH2 0x264d 000022d0: JUMP 000022d1: JUMPDEST 000022d2: PUSH1 0x00 000022d4: JUMPDEST 000022d5: PUSH1 0x0a 000022d7: DUP2 000022d8: LT 000022d9: ISZERO 000022da: PUSH2 0x2335 000022dd: JUMPI 000022de: PUSH2 0x22e7 000022e1: PUSH1 0x08 000022e3: PUSH2 0x2441 000022e6: JUMP 000022e7: JUMPDEST 000022e8: DUP4 000022e9: DUP3 000022ea: ADD 000022eb: LT 000022ec: ISZERO 000022ed: PUSH2 0x2319 000022f0: JUMPI 000022f1: PUSH2 0x2303 000022f4: PUSH1 0x08 000022f6: DUP5 000022f7: DUP4 000022f8: ADD 000022f9: PUSH4 0xffffffff 000022fe: PUSH2 0x2448 00002301: AND 00002302: JUMP 00002303: JUMPDEST 00002304: DUP3 00002305: DUP3 00002306: PUSH1 0x0a 00002308: DUP2 00002309: LT 0000230a: PUSH2 0x230f 0000230d: JUMPI 0000230e: INVALID 0000230f: JUMPDEST 00002310: PUSH1 0x20 00002312: MUL 00002313: ADD 00002314: MSTORE 00002315: PUSH2 0x232d 00002318: JUMP 00002319: JUMPDEST 0000231a: PUSH1 0x00 0000231c: DUP3 0000231d: DUP3 0000231e: PUSH1 0x0a 00002320: DUP2 00002321: LT 00002322: PUSH2 0x2327 00002325: JUMPI 00002326: INVALID 00002327: JUMPDEST 00002328: PUSH1 0x20 0000232a: MUL 0000232b: ADD 0000232c: MSTORE 0000232d: JUMPDEST 0000232e: PUSH1 0x01 00002330: ADD 00002331: PUSH2 0x22d4 00002334: JUMP 00002335: JUMPDEST 00002336: POP 00002337: SWAP2 00002338: SWAP1 00002339: POP 0000233a: JUMP 0000233b: JUMPDEST 0000233c: PUSH1 0x00 0000233e: SWAP1 0000233f: DUP2 00002340: MSTORE 00002341: PUSH1 0x20 00002343: SWAP2 00002344: SWAP1 00002345: SWAP2 00002346: MSTORE 00002347: PUSH1 0x40 00002349: SWAP1 0000234a: KECCAK256 0000234b: PUSH1 0x01 0000234d: ADD 0000234e: SLOAD 0000234f: SWAP1 00002350: JUMP 00002351: JUMPDEST 00002352: PUSH1 0x00 00002354: DUP2 00002355: DUP2 00002356: MSTORE 00002357: PUSH1 0x20 00002359: DUP4 0000235a: SWAP1 0000235b: MSTORE 0000235c: PUSH1 0x40 0000235e: DUP2 0000235f: KECCAK256 00002360: DUP1 00002361: SLOAD 00002362: ISZERO 00002363: ISZERO 00002364: PUSH2 0x2370 00002367: JUMPI 00002368: PUSH1 0x00 0000236a: SWAP2 0000236b: POP 0000236c: PUSH2 0x242b 0000236f: JUMP 00002370: JUMPDEST 00002371: PUSH1 0x01 00002373: DUP5 00002374: ADD 00002375: SLOAD 00002376: DUP2 00002377: SLOAD 00002378: LT 00002379: ISZERO 0000237a: PUSH2 0x23f8 0000237d: JUMPI 0000237e: DUP1 0000237f: SLOAD 00002380: PUSH1 0x01 00002382: DUP6 00002383: ADD 00002384: DUP1 00002385: SLOAD 00002386: DUP7 00002387: SWAP2 00002388: PUSH1 0x00 0000238a: SWAP2 0000238b: PUSH1 0x00 0000238d: NOT 0000238e: DUP2 0000238f: ADD 00002390: SWAP1 00002391: DUP2 00002392: LT 00002393: PUSH2 0x2398 00002396: JUMPI 00002397: INVALID 00002398: JUMPDEST 00002399: PUSH1 0x00 0000239b: SWAP2 0000239c: DUP3 0000239d: MSTORE 0000239e: PUSH1 0x20 000023a0: DUP1 000023a1: DUP4 000023a2: KECCAK256 000023a3: SWAP1 000023a4: SWAP2 000023a5: ADD 000023a6: SLOAD 000023a7: DUP4 000023a8: MSTORE 000023a9: DUP3 000023aa: ADD 000023ab: SWAP3 000023ac: SWAP1 000023ad: SWAP3 000023ae: MSTORE 000023af: PUSH1 0x40 000023b1: ADD 000023b2: SWAP1 000023b3: KECCAK256 000023b4: SSTORE 000023b5: PUSH1 0x01 000023b7: DUP5 000023b8: ADD 000023b9: DUP1 000023ba: SLOAD 000023bb: PUSH1 0x00 000023bd: NOT 000023be: DUP2 000023bf: ADD 000023c0: SWAP1 000023c1: DUP2 000023c2: LT 000023c3: PUSH2 0x23c8 000023c6: JUMPI 000023c7: INVALID 000023c8: JUMPDEST 000023c9: SWAP1 000023ca: PUSH1 0x00 000023cc: MSTORE 000023cd: PUSH1 0x20 000023cf: PUSH1 0x00 000023d1: KECCAK256 000023d2: ADD 000023d3: SLOAD 000023d4: DUP5 000023d5: PUSH1 0x01 000023d7: ADD 000023d8: PUSH1 0x01 000023da: DUP4 000023db: PUSH1 0x00 000023dd: ADD 000023de: SLOAD 000023df: SUB 000023e0: DUP2 000023e1: SLOAD 000023e2: DUP2 000023e3: LT 000023e4: ISZERO 000023e5: ISZERO 000023e6: PUSH2 0x23eb 000023e9: JUMPI 000023ea: INVALID 000023eb: JUMPDEST 000023ec: PUSH1 0x00 000023ee: SWAP2 000023ef: DUP3 000023f0: MSTORE 000023f1: PUSH1 0x20 000023f3: SWAP1 000023f4: SWAP2 000023f5: KECCAK256 000023f6: ADD 000023f7: SSTORE 000023f8: JUMPDEST 000023f9: PUSH1 0x01 000023fb: DUP5 000023fc: ADD 000023fd: DUP1 000023fe: SLOAD 000023ff: PUSH1 0x00 00002401: NOT 00002402: ADD 00002403: SWAP1 00002404: PUSH2 0x240d 00002407: SWAP1 00002408: DUP3 00002409: PUSH2 0x266d 0000240c: JUMP 0000240d: JUMPDEST 0000240e: POP 0000240f: PUSH1 0x00 00002411: DUP4 00002412: DUP2 00002413: MSTORE 00002414: PUSH1 0x20 00002416: DUP6 00002417: SWAP1 00002418: MSTORE 00002419: PUSH1 0x40 0000241b: DUP2 0000241c: KECCAK256 0000241d: DUP2 0000241e: DUP2 0000241f: SSTORE 00002420: PUSH1 0x01 00002422: SWAP1 00002423: DUP2 00002424: ADD 00002425: SWAP2 00002426: SWAP1 00002427: SWAP2 00002428: SSTORE 00002429: SWAP2 0000242a: POP 0000242b: JUMPDEST 0000242c: POP 0000242d: SWAP3 0000242e: SWAP2 0000242f: POP 00002430: POP 00002431: JUMP 00002432: JUMPDEST 00002433: PUSH1 0x00 00002435: DUP3 00002436: DUP3 00002437: ADD 00002438: DUP4 00002439: DUP2 0000243a: LT 0000243b: ISZERO 0000243c: PUSH2 0x0a2c 0000243f: JUMPI 00002440: INVALID 00002441: JUMPDEST 00002442: PUSH1 0x01 00002444: ADD 00002445: SLOAD 00002446: SWAP1 00002447: JUMP 00002448: JUMPDEST 00002449: PUSH1 0x00 0000244b: DUP3 0000244c: PUSH1 0x01 0000244e: ADD 0000244f: DUP3 00002450: DUP2 00002451: SLOAD 00002452: DUP2 00002453: LT 00002454: ISZERO 00002455: ISZERO 00002456: PUSH2 0x245b 00002459: JUMPI 0000245a: INVALID 0000245b: JUMPDEST 0000245c: SWAP1 0000245d: PUSH1 0x00 0000245f: MSTORE 00002460: PUSH1 0x20 00002462: PUSH1 0x00 00002464: KECCAK256 00002465: ADD 00002466: SLOAD 00002467: SWAP1 00002468: POP 00002469: SWAP3 0000246a: SWAP2 0000246b: POP 0000246c: POP 0000246d: JUMP 0000246e: JUMPDEST 0000246f: PUSH1 0x00 00002471: DUP3 00002472: DUP3 00002473: MUL 00002474: DUP4 00002475: ISZERO 00002476: DUP1 00002477: PUSH2 0x248a 0000247a: JUMPI 0000247b: POP 0000247c: DUP3 0000247d: DUP5 0000247e: DUP3 0000247f: DUP2 00002480: ISZERO 00002481: ISZERO 00002482: PUSH2 0x2487 00002485: JUMPI 00002486: INVALID 00002487: JUMPDEST 00002488: DIV 00002489: EQ 0000248a: JUMPDEST 0000248b: ISZERO 0000248c: ISZERO 0000248d: PUSH2 0x0a2c 00002490: JUMPI 00002491: INVALID 00002492: JUMPDEST 00002493: PUSH1 0x00 00002495: DUP1 00002496: DUP3 00002497: DUP5 00002498: DUP2 00002499: ISZERO 0000249a: ISZERO 0000249b: PUSH2 0x24a0 0000249e: JUMPI 0000249f: INVALID 000024a0: JUMPDEST 000024a1: DIV 000024a2: SWAP5 000024a3: SWAP4 000024a4: POP 000024a5: POP 000024a6: POP 000024a7: POP 000024a8: JUMP 000024a9: JUMPDEST 000024aa: PUSH14 0x8000000000000000000000000000 000024b9: GT 000024ba: SWAP1 000024bb: JUMP 000024bc: JUMPDEST 000024bd: PUSH1 0x01 000024bf: PUSH1 0xa0 000024c1: PUSH1 0x02 000024c3: EXP 000024c4: SUB 000024c5: DUP2 000024c6: AND 000024c7: PUSH1 0x00 000024c9: SWAP1 000024ca: DUP2 000024cb: MSTORE 000024cc: PUSH1 0x07 000024ce: PUSH1 0x20 000024d0: MSTORE 000024d1: PUSH1 0x40 000024d3: DUP2 000024d4: KECCAK256 000024d5: SLOAD 000024d6: ISZERO 000024d7: PUSH2 0x24f9 000024da: JUMPI 000024db: POP 000024dc: PUSH1 0x01 000024de: PUSH1 0xa0 000024e0: PUSH1 0x02 000024e2: EXP 000024e3: SUB 000024e4: DUP2 000024e5: AND 000024e6: PUSH1 0x00 000024e8: SWAP1 000024e9: DUP2 000024ea: MSTORE 000024eb: PUSH1 0x07 000024ed: PUSH1 0x20 000024ef: MSTORE 000024f0: PUSH1 0x40 000024f2: SWAP1 000024f3: KECCAK256 000024f4: SLOAD 000024f5: PUSH2 0x0a74 000024f8: JUMP 000024f9: JUMPDEST 000024fa: PUSH1 0x06 000024fc: SLOAD 000024fd: PUSH5 0x0100000000 00002503: GT 00002504: PUSH2 0x2557 00002507: JUMPI 00002508: PUSH1 0x40 0000250a: DUP1 0000250b: MLOAD 0000250c: PUSH1 0xe5 0000250e: PUSH1 0x02 00002510: EXP 00002511: PUSH3 0x461bcd 00002515: MUL 00002516: DUP2 00002517: MSTORE 00002518: PUSH1 0x20 0000251a: PUSH1 0x04 0000251c: DUP3 0000251d: ADD 0000251e: DUP2 0000251f: SWAP1 00002520: MSTORE 00002521: PUSH1 0x24 00002523: DUP3 00002524: ADD 00002525: MSTORE 00002526: PUSH32 0x526567697374657265642061646472657373657320686974206d6178696d756d 00002547: PUSH1 0x44 00002549: DUP3 0000254a: ADD 0000254b: MSTORE 0000254c: SWAP1 0000254d: MLOAD 0000254e: SWAP1 0000254f: DUP2 00002550: SWAP1 00002551: SUB 00002552: PUSH1 0x64 00002554: ADD 00002555: SWAP1 00002556: REVERT 00002557: JUMPDEST 00002558: POP 00002559: PUSH1 0x06 0000255b: DUP1 0000255c: SLOAD 0000255d: PUSH1 0x01 0000255f: PUSH1 0xa0 00002561: PUSH1 0x02 00002563: EXP 00002564: SUB 00002565: DUP4 00002566: AND 00002567: PUSH1 0x00 00002569: DUP2 0000256a: DUP2 0000256b: MSTORE 0000256c: PUSH1 0x07 0000256e: PUSH1 0x20 00002570: MSTORE 00002571: PUSH1 0x40 00002573: DUP2 00002574: KECCAK256 00002575: DUP4 00002576: SWAP1 00002577: SSTORE 00002578: PUSH1 0x01 0000257a: DUP4 0000257b: ADD 0000257c: DUP5 0000257d: SSTORE 0000257e: DUP4 0000257f: SWAP1 00002580: MSTORE 00002581: PUSH32 0xf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f 000025a2: SWAP1 000025a3: SWAP2 000025a4: ADD 000025a5: DUP1 000025a6: SLOAD 000025a7: PUSH20 0xffffffffffffffffffffffffffffffffffffffff 000025bc: NOT 000025bd: AND 000025be: SWAP1 000025bf: SWAP2 000025c0: OR 000025c1: SWAP1 000025c2: SSTORE 000025c3: SLOAD 000025c4: PUSH1 0x00 000025c6: NOT 000025c7: ADD 000025c8: PUSH2 0x0a74 000025cb: JUMP 000025cc: JUMPDEST 000025cd: PUSH1 0x00 000025cf: DUP3 000025d0: DUP3 000025d1: GT 000025d2: ISZERO 000025d3: PUSH2 0x25d8 000025d6: JUMPI 000025d7: INVALID 000025d8: JUMPDEST 000025d9: POP 000025da: SWAP1 000025db: SUB 000025dc: SWAP1 000025dd: JUMP 000025de: JUMPDEST 000025df: PUSH1 0x00 000025e1: DUP3 000025e2: DUP2 000025e3: MSTORE 000025e4: PUSH1 0x20 000025e6: DUP5 000025e7: SWAP1 000025e8: MSTORE 000025e9: PUSH1 0x40 000025eb: DUP2 000025ec: KECCAK256 000025ed: PUSH1 0x01 000025ef: DUP2 000025f0: ADD 000025f1: DUP4 000025f2: SWAP1 000025f3: SSTORE 000025f4: DUP1 000025f5: SLOAD 000025f6: DUP3 000025f7: LT 000025f8: ISZERO 000025f9: PUSH2 0x2605 000025fc: JUMPI 000025fd: PUSH1 0x01 000025ff: SWAP2 00002600: POP 00002601: PUSH2 0x2645 00002604: JUMP 00002605: JUMPDEST 00002606: DUP5 00002607: PUSH1 0x01 00002609: ADD 0000260a: DUP1 0000260b: SLOAD 0000260c: PUSH1 0x01 0000260e: ADD 0000260f: SWAP1 00002610: DUP2 00002611: PUSH2 0x261a 00002614: SWAP2 00002615: SWAP1 00002616: PUSH2 0x266d 00002619: JUMP 0000261a: JUMPDEST 0000261b: DUP1 0000261c: DUP3 0000261d: SSTORE 0000261e: PUSH1 0x01 00002620: DUP7 00002621: ADD 00002622: DUP1 00002623: SLOAD 00002624: DUP7 00002625: SWAP3 00002626: PUSH1 0x00 00002628: NOT 00002629: ADD 0000262a: SWAP1 0000262b: DUP2 0000262c: LT 0000262d: PUSH2 0x2632 00002630: JUMPI 00002631: INVALID 00002632: JUMPDEST 00002633: SWAP1 00002634: PUSH1 0x00 00002636: MSTORE 00002637: PUSH1 0x20 00002639: PUSH1 0x00 0000263b: KECCAK256 0000263c: ADD 0000263d: DUP2 0000263e: SWAP1 0000263f: SSTORE 00002640: POP 00002641: PUSH1 0x00 00002643: SWAP2 00002644: POP 00002645: JUMPDEST 00002646: POP 00002647: SWAP4 00002648: SWAP3 00002649: POP 0000264a: POP 0000264b: POP 0000264c: JUMP 0000264d: JUMPDEST 0000264e: PUSH2 0x0140 00002651: PUSH1 0x40 00002653: MLOAD 00002654: SWAP1 00002655: DUP2 00002656: ADD 00002657: PUSH1 0x40 00002659: MSTORE 0000265a: DUP1 0000265b: PUSH1 0x0a 0000265d: SWAP1 0000265e: PUSH1 0x20 00002660: DUP3 00002661: MUL 00002662: DUP1 00002663: CODESIZE 00002664: DUP4 00002665: CODECOPY 00002666: POP 00002667: SWAP2 00002668: SWAP3 00002669: SWAP2 0000266a: POP 0000266b: POP 0000266c: JUMP 0000266d: JUMPDEST 0000266e: DUP2 0000266f: SLOAD 00002670: DUP2 00002671: DUP4 00002672: SSTORE 00002673: DUP2 00002674: DUP2 00002675: GT 00002676: ISZERO 00002677: PUSH2 0x0fd9 0000267a: JUMPI 0000267b: PUSH1 0x00 0000267d: DUP4 0000267e: DUP2 0000267f: MSTORE 00002680: PUSH1 0x20 00002682: SWAP1 00002683: KECCAK256 00002684: PUSH2 0x0fd9 00002687: SWAP2 00002688: DUP2 00002689: ADD 0000268a: SWAP1 0000268b: DUP4 0000268c: ADD 0000268d: PUSH2 0x0a42 00002690: SWAP2 00002691: SWAP1 00002692: JUMPDEST 00002693: DUP1 00002694: DUP3 00002695: GT 00002696: ISZERO 00002697: PUSH2 0x26a6 0000269a: JUMPI 0000269b: PUSH1 0x00 0000269d: DUP2 0000269e: SSTORE 0000269f: PUSH1 0x01 000026a1: ADD 000026a2: PUSH2 0x2692 000026a5: JUMP 000026a6: JUMPDEST 000026a7: POP 000026a8: SWAP1 000026a9: JUMP 000026aa: STOP 000026ab: MSIZE 000026ac: PUSH16 0x7520646f206e6f74206861766520656e 000026bd: PUSH16 0x756768206465706f73697465644d6170 000026ce: KECCAK256 000026cf: PUSH19 0x656d6f7665206661696c656400000000000000 000026e3: STOP 000026e4: STOP 000026e5: STOP 000026e6: STOP 000026e7: STOP 000026e8: STOP 000026e9: STOP 000026ea: STOP 000026eb: LOG1 000026ec: PUSH6 0x627a7a723058 000026f3: KECCAK256 000026f4: PUSH16 0x21fef149cfd5eb425253dd093f85f424 00002705: SDIV 00002706: UNKNOWN(0xF8) 00002707: PUSH23
| Severity | Category | Tool | Title | Confidence | Validated | Confirmed | Details |
|---|---|---|---|---|---|---|---|
| high | other | detector | Untrusted CALL target/value reachable | 60 | no | no |
viewtrace_id: 0xc912a7d4cea4a367e70c99ee59e7eca010bed543a0bfa77a141df7aade65db9d
call_targets:
0xa9375923ddb69cd32955f536a351007415c02696
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xc912a7d4cea4a367e70c99ee59e7eca010bed543a0bfa77a141df7aade65db9d",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xa9375923ddb69cd32955f536a351007415c02696"
],
"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": "0x0559c114",
"selector": "0x0559c114",
"calldata_variants": [
"0x0559c114",
"0x0559c1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x05e0141d",
"selector": "0x05e0141d",
"calldata_variants": [
"0x05e0141d",
"0x05e0141d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x13114a9d",
"selector": "0x13114a9d",
"calldata_variants": [
"0x13114a9d",
"0x13114a9d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x169c4733",
"selector": "0x169c4733",
"calldata_variants": [
"0x169c4733",
"0x169c47330000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1a3352c1",
"selector": "0x1a3352c1",
"calldata_variants": [
"0x1a3352c1",
"0x1a3352c10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1c76e2b2",
"selector": "0x1c76e2b2",
"calldata_variants": [
"0x1c76e2b2",
"0x1c76e2b20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2453ffa8",
"selector": "0x2453ffa8",
"calldata_variants": [
"0x2453ffa8",
"0x2453ffa80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3acde419",
"selector": "0x3acde419",
"calldata_variants": [
"0x3acde419",
"0x3acde4190000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2057,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3333,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3720,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"call_count": 10,
"guards_detected": [],
"untrusted_call_count": 10
}
|
| high | other | detector | ETH value transfer possible | 55 | no | no |
viewtrace_id: 0xc912a7d4cea4a367e70c99ee59e7eca010bed543a0bfa77a141df7aade65db9d
call_targets:
0xa9375923ddb69cd32955f536a351007415c02696
target_varies:
no
classification:
constant_target
validation_json{
"sink": "CALL",
"errors": 0,
"status": "sink_reached",
"attempts": 1,
"trace_id": "0xc912a7d4cea4a367e70c99ee59e7eca010bed543a0bfa77a141df7aade65db9d",
"confirmed": false,
"trace_mode": "callTracer",
"call_targets": [
"0xa9375923ddb69cd32955f536a351007415c02696"
],
"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": "0x0559c114",
"selector": "0x0559c114",
"calldata_variants": [
"0x0559c114",
"0x0559c1140000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x05e0141d",
"selector": "0x05e0141d",
"calldata_variants": [
"0x05e0141d",
"0x05e0141d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x13114a9d",
"selector": "0x13114a9d",
"calldata_variants": [
"0x13114a9d",
"0x13114a9d0000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x169c4733",
"selector": "0x169c4733",
"calldata_variants": [
"0x169c4733",
"0x169c47330000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1a3352c1",
"selector": "0x1a3352c1",
"calldata_variants": [
"0x1a3352c1",
"0x1a3352c10000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x1c76e2b2",
"selector": "0x1c76e2b2",
"calldata_variants": [
"0x1c76e2b2",
"0x1c76e2b20000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x2453ffa8",
"selector": "0x2453ffa8",
"calldata_variants": [
"0x2453ffa8",
"0x2453ffa80000000000000000000000000000000000000000000000000000000000000000"
]
},
{
"calldata": "0x3acde419",
"selector": "0x3acde419",
"calldata_variants": [
"0x3acde419",
"0x3acde4190000000000000000000000000000000000000000000000000000000000000000"
]
}
]
}
evidence_json{
"examples": [
{
"pc": 2057,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3333,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
},
{
"pc": 3720,
"opcode": "CALL",
"returndata_checked": null,
"value_expression_category": "computed",
"target_expression_category": "computed"
}
],
"eth_value_calls": 10,
"guards_detected": []
}
|
| medium | other | codex | Ownership transfer calls assume success; misconfigured or non‑reverting PoolOwners can break trade invariants | 75 | no | — |
viewevidence_json{
"evidence": "External calls to `poolOwners.sendOwnership` / `sendOwnershipFrom` are made without any success validation.",
"locations": [
"contracts/Contract.sol:338",
"contracts/Contract.sol:426",
"contracts/Contract.sol:455",
"contracts/Contract.sol:490"
],
"recommendation": "Require a trusted PoolOwners implementation and validate transfer success (e.g., have `sendOwnership`/`sendOwnershipFrom` return a boolean and `require` it, or verify ownership balances before/after). Consider checking `extcodesize` for a contract address on deployment.",
"exploit_scenario": "If `poolOwners` is an EOA or a contract that returns success without actually transferring ownership (or fails silently), a seller can create a sell order without escrowed ownership and a buyer can fill it, paying ETH while receiving no LP tokens; similarly, in buy orders the seller can receive ETH while `sendOwnershipFrom` does not transfer tokens. Because no success signal is checked, the trade completes in OwnersExchange regardless."
}
|
| low | other | codex | Unchecked ERC20 `transfer` return values can desync fee accounting | 65 | no | — |
viewevidence_json{
"evidence": "Multiple `feeToken.transfer(...)` calls are executed without checking the return value.",
"locations": [
"contracts/Contract.sol:287",
"contracts/Contract.sol:461",
"contracts/Contract.sol:496",
"contracts/Contract.sol:508"
],
"recommendation": "Use `require(feeToken.transfer(...))` or a SafeERC20 wrapper to ensure transfers succeed, and revert if they fail.",
"exploit_scenario": "If `feeToken` is a non\u2011standard ERC20 that returns `false` instead of reverting on failure, `withdrawFeeToken` and fee settlement paths will still decrement `feeBalances`/`totalFees` even though the transfer did not occur. This can under\u2011collateralize user fee balances and allow `withdrawDistributedToPoolOwners` to sweep tokens that should remain reserved."
}
|
| info | other | cast | Heavy EXTCODE*/BALANCE usage | 55 | no | — |
viewevidence_json{
"notes": "frequent external code or balance checks; may indicate introspection or validation logic",
"ext_balance_count": 8
}
|